var un=Object.defineProperty;var hn=(i,e,r)=>e in i?un(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var ii=(i,e,r)=>(hn(i,typeof e!="symbol"?e+"":e,r),r);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function r(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function s(o){if(o.ep)return;o.ep=!0;const a=r(o);fetch(o.href,a)}})();const index$2="",common="",popup$1="",SnackbarSfc="",elevation="",loading$2="",button$1="",icon$1="",snackbar="",coreSfc="",cell="",CellSfc="",ripple="",formDetails="",hoverOverlay="",_switch="",SwitchSfc="",style="";function makeMap(i,e){const r=Object.create(null),s=i.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}function normalizeStyle(i){if(isArray$9(i)){const e={};for(let r=0;r{if(r){const s=r.split(propertyDelimiterRE);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function normalizeClass(i){let e="";if(isString$2(i))e=i;else if(isArray$9(i))for(let r=0;risString$2(i)?i:i==null?"":isArray$9(i)||isObject$5(i)&&(i.toString===objectToString$3||!isFunction$6(i.toString))?JSON.stringify(i,replacer,2):String(i),replacer=(i,e)=>e&&e.__v_isRef?replacer(i,e.value):isMap$3(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((r,[s,o])=>(r[`${s} =>`]=o,r),{})}:isSet$3(e)?{[`Set(${e.size})`]:[...e.values()]}:isObject$5(e)&&!isArray$9(e)&&!isPlainObject$3(e)?String(e):e,EMPTY_OBJ={},EMPTY_ARR=[],NOOP=()=>{},NO=()=>!1,onRE=/^on[^a-z]/,isOn=i=>onRE.test(i),isModelListener=i=>i.startsWith("onUpdate:"),extend$3=Object.assign,remove$7=(i,e)=>{const r=i.indexOf(e);r>-1&&i.splice(r,1)},hasOwnProperty$f=Object.prototype.hasOwnProperty,hasOwn$2=(i,e)=>hasOwnProperty$f.call(i,e),isArray$9=Array.isArray,isMap$3=i=>toTypeString(i)==="[object Map]",isSet$3=i=>toTypeString(i)==="[object Set]",isFunction$6=i=>typeof i=="function",isString$2=i=>typeof i=="string",isSymbol$1=i=>typeof i=="symbol",isObject$5=i=>i!==null&&typeof i=="object",isPromise$1=i=>isObject$5(i)&&isFunction$6(i.then)&&isFunction$6(i.catch),objectToString$3=Object.prototype.toString,toTypeString=i=>objectToString$3.call(i),toRawType=i=>toTypeString(i).slice(8,-1),isPlainObject$3=i=>toTypeString(i)==="[object Object]",isIntegerKey=i=>isString$2(i)&&i!=="NaN"&&i[0]!=="-"&&""+parseInt(i,10)===i,isReservedProp=makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cacheStringFunction=i=>{const e=Object.create(null);return r=>e[r]||(e[r]=i(r))},camelizeRE$1=/-(\w)/g,camelize$2=cacheStringFunction(i=>i.replace(camelizeRE$1,(e,r)=>r?r.toUpperCase():"")),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction(i=>i.replace(hyphenateRE,"-$1").toLowerCase()),capitalize=cacheStringFunction(i=>i.charAt(0).toUpperCase()+i.slice(1)),toHandlerKey=cacheStringFunction(i=>i?`on${capitalize(i)}`:""),hasChanged=(i,e)=>!Object.is(i,e),invokeArrayFns=(i,e)=>{for(let r=0;r{Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value:r})},looseToNumber=i=>{const e=parseFloat(i);return isNaN(e)?i:e},toNumber$1=i=>{const e=isString$2(i)?Number(i):NaN;return isNaN(e)?i:e};let _globalThis;const getGlobalThis=()=>_globalThis||(_globalThis=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let activeEffectScope;class EffectScope{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=activeEffectScope,!e&&activeEffectScope&&(this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const r=activeEffectScope;try{return activeEffectScope=this,e()}finally{activeEffectScope=r}}}on(){activeEffectScope=this}off(){activeEffectScope=this.parent}stop(e){if(this._active){let r,s;for(r=0,s=this.effects.length;r{const e=new Set(i);return e.w=0,e.n=0,e},wasTracked=i=>(i.w&trackOpBit)>0,newTracked=i=>(i.n&trackOpBit)>0,initDepMarkers=({deps:i})=>{if(i.length)for(let e=0;e{const{deps:e}=i;if(e.length){let r=0;for(let s=0;s{(g==="length"||g>=u)&&c.push(d)})}else switch(r!==void 0&&c.push(l.get(r)),e){case"add":isArray$9(i)?isIntegerKey(r)&&c.push(l.get("length")):(c.push(l.get(ITERATE_KEY)),isMap$3(i)&&c.push(l.get(MAP_KEY_ITERATE_KEY)));break;case"delete":isArray$9(i)||(c.push(l.get(ITERATE_KEY)),isMap$3(i)&&c.push(l.get(MAP_KEY_ITERATE_KEY)));break;case"set":isMap$3(i)&&c.push(l.get(ITERATE_KEY));break}if(c.length===1)c[0]&&triggerEffects(c[0]);else{const u=[];for(const d of c)d&&u.push(...d);triggerEffects(createDep(u))}}function triggerEffects(i,e){const r=isArray$9(i)?i:[...i];for(const s of r)s.computed&&triggerEffect(s);for(const s of r)s.computed||triggerEffect(s)}function triggerEffect(i,e){(i!==activeEffect||i.allowRecurse)&&(i.scheduler?i.scheduler():i.run())}function getDepFromReactive(i,e){var r;return(r=targetMap.get(i))===null||r===void 0?void 0:r.get(e)}const isNonTrackableKeys=makeMap("__proto__,__v_isRef,__isVue"),builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).filter(i=>i!=="arguments"&&i!=="caller").map(i=>Symbol[i]).filter(isSymbol$1)),get$1=createGetter(),shallowGet=createGetter(!1,!0),readonlyGet=createGetter(!0),arrayInstrumentations=createArrayInstrumentations();function createArrayInstrumentations(){const i={};return["includes","indexOf","lastIndexOf"].forEach(e=>{i[e]=function(...r){const s=toRaw(this);for(let a=0,l=this.length;a{i[e]=function(...r){pauseTracking();const s=toRaw(this)[e].apply(this,r);return resetTracking(),s}}),i}function hasOwnProperty$e(i){const e=toRaw(this);return track(e,"has",i),e.hasOwnProperty(i)}function createGetter(i=!1,e=!1){return function(s,o,a){if(o==="__v_isReactive")return!i;if(o==="__v_isReadonly")return i;if(o==="__v_isShallow")return e;if(o==="__v_raw"&&a===(i?e?shallowReadonlyMap:readonlyMap:e?shallowReactiveMap:reactiveMap).get(s))return s;const l=isArray$9(s);if(!i){if(l&&hasOwn$2(arrayInstrumentations,o))return Reflect.get(arrayInstrumentations,o,a);if(o==="hasOwnProperty")return hasOwnProperty$e}const c=Reflect.get(s,o,a);return(isSymbol$1(o)?builtInSymbols.has(o):isNonTrackableKeys(o))||(i||track(s,"get",o),e)?c:isRef(c)?l&&isIntegerKey(o)?c:c.value:isObject$5(c)?i?readonly(c):reactive(c):c}}const set$1=createSetter(),shallowSet=createSetter(!0);function createSetter(i=!1){return function(r,s,o,a){let l=r[s];if(isReadonly(l)&&isRef(l)&&!isRef(o))return!1;if(!i&&(!isShallow(o)&&!isReadonly(o)&&(l=toRaw(l),o=toRaw(o)),!isArray$9(r)&&isRef(l)&&!isRef(o)))return l.value=o,!0;const c=isArray$9(r)&&isIntegerKey(s)?Number(s)i,getProto$1=i=>Reflect.getPrototypeOf(i);function get$2(i,e,r=!1,s=!1){i=i.__v_raw;const o=toRaw(i),a=toRaw(e);r||(e!==a&&track(o,"get",e),track(o,"get",a));const{has:l}=getProto$1(o),c=s?toShallow:r?toReadonly:toReactive;if(l.call(o,e))return c(i.get(e));if(l.call(o,a))return c(i.get(a));i!==o&&i.get(e)}function has$4(i,e=!1){const r=this.__v_raw,s=toRaw(r),o=toRaw(i);return e||(i!==o&&track(s,"has",i),track(s,"has",o)),i===o?r.has(i):r.has(i)||r.has(o)}function size(i,e=!1){return i=i.__v_raw,!e&&track(toRaw(i),"iterate",ITERATE_KEY),Reflect.get(i,"size",i)}function add(i){i=toRaw(i);const e=toRaw(this);return getProto$1(e).has.call(e,i)||(e.add(i),trigger(e,"add",i,i)),this}function set(i,e){e=toRaw(e);const r=toRaw(this),{has:s,get:o}=getProto$1(r);let a=s.call(r,i);a||(i=toRaw(i),a=s.call(r,i));const l=o.call(r,i);return r.set(i,e),a?hasChanged(e,l)&&trigger(r,"set",i,e):trigger(r,"add",i,e),this}function deleteEntry(i){const e=toRaw(this),{has:r,get:s}=getProto$1(e);let o=r.call(e,i);o||(i=toRaw(i),o=r.call(e,i)),s&&s.call(e,i);const a=e.delete(i);return o&&trigger(e,"delete",i,void 0),a}function clear(){const i=toRaw(this),e=i.size!==0,r=i.clear();return e&&trigger(i,"clear",void 0,void 0),r}function createForEach(i,e){return function(s,o){const a=this,l=a.__v_raw,c=toRaw(l),u=e?toShallow:i?toReadonly:toReactive;return!i&&track(c,"iterate",ITERATE_KEY),l.forEach((d,g)=>s.call(o,u(d),u(g),a))}}function createIterableMethod(i,e,r){return function(...s){const o=this.__v_raw,a=toRaw(o),l=isMap$3(a),c=i==="entries"||i===Symbol.iterator&&l,u=i==="keys"&&l,d=o[i](...s),g=r?toShallow:e?toReadonly:toReactive;return!e&&track(a,"iterate",u?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:m,done:y}=d.next();return y?{value:m,done:y}:{value:c?[g(m[0]),g(m[1])]:g(m),done:y}},[Symbol.iterator](){return this}}}}function createReadonlyMethod(i){return function(...e){return i==="delete"?!1:this}}function createInstrumentations(){const i={get(a){return get$2(this,a)},get size(){return size(this)},has:has$4,add,set,delete:deleteEntry,clear,forEach:createForEach(!1,!1)},e={get(a){return get$2(this,a,!1,!0)},get size(){return size(this)},has:has$4,add,set,delete:deleteEntry,clear,forEach:createForEach(!1,!0)},r={get(a){return get$2(this,a,!0)},get size(){return size(this,!0)},has(a){return has$4.call(this,a,!0)},add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear"),forEach:createForEach(!0,!1)},s={get(a){return get$2(this,a,!0,!0)},get size(){return size(this,!0)},has(a){return has$4.call(this,a,!0)},add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear"),forEach:createForEach(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(a=>{i[a]=createIterableMethod(a,!1,!1),r[a]=createIterableMethod(a,!0,!1),e[a]=createIterableMethod(a,!1,!0),s[a]=createIterableMethod(a,!0,!0)}),[i,r,e,s]}const[mutableInstrumentations,readonlyInstrumentations,shallowInstrumentations,shallowReadonlyInstrumentations]=createInstrumentations();function createInstrumentationGetter(i,e){const r=e?i?shallowReadonlyInstrumentations:shallowInstrumentations:i?readonlyInstrumentations:mutableInstrumentations;return(s,o,a)=>o==="__v_isReactive"?!i:o==="__v_isReadonly"?i:o==="__v_raw"?s:Reflect.get(hasOwn$2(r,o)&&o in s?r:s,o,a)}const mutableCollectionHandlers={get:createInstrumentationGetter(!1,!1)},shallowCollectionHandlers={get:createInstrumentationGetter(!1,!0)},readonlyCollectionHandlers={get:createInstrumentationGetter(!0,!1)},reactiveMap=new WeakMap,shallowReactiveMap=new WeakMap,readonlyMap=new WeakMap,shallowReadonlyMap=new WeakMap;function targetTypeMap(i){switch(i){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function getTargetType(i){return i.__v_skip||!Object.isExtensible(i)?0:targetTypeMap(toRawType(i))}function reactive(i){return isReadonly(i)?i:createReactiveObject(i,!1,mutableHandlers,mutableCollectionHandlers,reactiveMap)}function shallowReactive(i){return createReactiveObject(i,!1,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap)}function readonly(i){return createReactiveObject(i,!0,readonlyHandlers,readonlyCollectionHandlers,readonlyMap)}function createReactiveObject(i,e,r,s,o){if(!isObject$5(i)||i.__v_raw&&!(e&&i.__v_isReactive))return i;const a=o.get(i);if(a)return a;const l=getTargetType(i);if(l===0)return i;const c=new Proxy(i,l===2?s:r);return o.set(i,c),c}function isReactive(i){return isReadonly(i)?isReactive(i.__v_raw):!!(i&&i.__v_isReactive)}function isReadonly(i){return!!(i&&i.__v_isReadonly)}function isShallow(i){return!!(i&&i.__v_isShallow)}function isProxy(i){return isReactive(i)||isReadonly(i)}function toRaw(i){const e=i&&i.__v_raw;return e?toRaw(e):i}function markRaw(i){return def(i,"__v_skip",!0),i}const toReactive=i=>isObject$5(i)?reactive(i):i,toReadonly=i=>isObject$5(i)?readonly(i):i;function trackRefValue(i){shouldTrack&&activeEffect&&(i=toRaw(i),trackEffects(i.dep||(i.dep=createDep())))}function triggerRefValue(i,e){i=toRaw(i);const r=i.dep;r&&triggerEffects(r)}function isRef(i){return!!(i&&i.__v_isRef===!0)}function ref(i){return createRef(i,!1)}function shallowRef(i){return createRef(i,!0)}function createRef(i,e){return isRef(i)?i:new RefImpl(i,e)}class RefImpl{constructor(e,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?e:toRaw(e),this._value=r?e:toReactive(e)}get value(){return trackRefValue(this),this._value}set value(e){const r=this.__v_isShallow||isShallow(e)||isReadonly(e);e=r?e:toRaw(e),hasChanged(e,this._rawValue)&&(this._rawValue=e,this._value=r?e:toReactive(e),triggerRefValue(this))}}function unref(i){return isRef(i)?i.value:i}const shallowUnwrapHandlers={get:(i,e,r)=>unref(Reflect.get(i,e,r)),set:(i,e,r,s)=>{const o=i[e];return isRef(o)&&!isRef(r)?(o.value=r,!0):Reflect.set(i,e,r,s)}};function proxyRefs(i){return isReactive(i)?i:new Proxy(i,shallowUnwrapHandlers)}function toRefs(i){const e=isArray$9(i)?new Array(i.length):{};for(const r in i)e[r]=toRef(i,r);return e}class ObjectRefImpl{constructor(e,r,s){this._object=e,this._key=r,this._defaultValue=s,this.__v_isRef=!0}get value(){const e=this._object[this._key];return e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return getDepFromReactive(toRaw(this._object),this._key)}}function toRef(i,e,r){const s=i[e];return isRef(s)?s:new ObjectRefImpl(i,e,r)}var _a$1;class ComputedRefImpl{constructor(e,r,s,o){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this[_a$1]=!1,this._dirty=!0,this.effect=new ReactiveEffect(e,()=>{this._dirty||(this._dirty=!0,triggerRefValue(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const e=toRaw(this);return trackRefValue(e),(e._dirty||!e._cacheable)&&(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}_a$1="__v_isReadonly";function computed$1(i,e,r=!1){let s,o;const a=isFunction$6(i);return a?(s=i,o=NOOP):(s=i.get,o=i.set),new ComputedRefImpl(s,o,a||!o,r)}function warn(i,...e){}function callWithErrorHandling(i,e,r,s){let o;try{o=s?i(...s):i()}catch(a){handleError(a,e,r)}return o}function callWithAsyncErrorHandling(i,e,r,s){if(isFunction$6(i)){const a=callWithErrorHandling(i,e,r,s);return a&&isPromise$1(a)&&a.catch(l=>{handleError(l,e,r)}),a}const o=[];for(let a=0;a>>1;getId(queue$1[s])flushIndex&&queue$1.splice(e,1)}function queuePostFlushCb(i){isArray$9(i)?pendingPostFlushCbs.push(...i):(!activePostFlushCbs||!activePostFlushCbs.includes(i,i.allowRecurse?postFlushIndex+1:postFlushIndex))&&pendingPostFlushCbs.push(i),queueFlush()}function flushPreFlushCbs(i,e=isFlushing?flushIndex+1:0){for(;egetId(r)-getId(s)),postFlushIndex=0;postFlushIndexi.id==null?1/0:i.id,comparator=(i,e)=>{const r=getId(i)-getId(e);if(r===0){if(i.pre&&!e.pre)return-1;if(e.pre&&!i.pre)return 1}return r};function flushJobs(i){isFlushPending=!1,isFlushing=!0,queue$1.sort(comparator);const e=NOOP;try{for(flushIndex=0;flushIndexisString$2(b)?b.trim():b)),m&&(o=r.map(looseToNumber))}let c,u=s[c=toHandlerKey(e)]||s[c=toHandlerKey(camelize$2(e))];!u&&a&&(u=s[c=toHandlerKey(hyphenate(e))]),u&&callWithAsyncErrorHandling(u,i,6,o);const d=s[c+"Once"];if(d){if(!i.emitted)i.emitted={};else if(i.emitted[c])return;i.emitted[c]=!0,callWithAsyncErrorHandling(d,i,6,o)}}function normalizeEmitsOptions(i,e,r=!1){const s=e.emitsCache,o=s.get(i);if(o!==void 0)return o;const a=i.emits;let l={},c=!1;if(!isFunction$6(i)){const u=d=>{const g=normalizeEmitsOptions(d,e,!0);g&&(c=!0,extend$3(l,g))};!r&&e.mixins.length&&e.mixins.forEach(u),i.extends&&u(i.extends),i.mixins&&i.mixins.forEach(u)}return!a&&!c?(isObject$5(i)&&s.set(i,null),null):(isArray$9(a)?a.forEach(u=>l[u]=null):extend$3(l,a),isObject$5(i)&&s.set(i,l),l)}function isEmitListener(i,e){return!i||!isOn(e)?!1:(e=e.slice(2).replace(/Once$/,""),hasOwn$2(i,e[0].toLowerCase()+e.slice(1))||hasOwn$2(i,hyphenate(e))||hasOwn$2(i,e))}let currentRenderingInstance=null,currentScopeId=null;function setCurrentRenderingInstance(i){const e=currentRenderingInstance;return currentRenderingInstance=i,currentScopeId=i&&i.type.__scopeId||null,e}function pushScopeId(i){currentScopeId=i}function popScopeId(){currentScopeId=null}function withCtx(i,e=currentRenderingInstance,r){if(!e||i._n)return i;const s=(...o)=>{s._d&&setBlockTracking(-1);const a=setCurrentRenderingInstance(e);let l;try{l=i(...o)}finally{setCurrentRenderingInstance(a),s._d&&setBlockTracking(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function markAttrsAccessed(){}function renderComponentRoot(i){const{type:e,vnode:r,proxy:s,withProxy:o,props:a,propsOptions:[l],slots:c,attrs:u,emit:d,render:g,renderCache:m,data:y,setupState:b,ctx:A,inheritAttrs:S}=i;let E,x;const P=setCurrentRenderingInstance(i);try{if(r.shapeFlag&4){const T=o||s;E=normalizeVNode(g.call(T,T,m,a,b,y,A)),x=u}else{const T=e;E=normalizeVNode(T.length>1?T(a,{attrs:u,slots:c,emit:d}):T(a,null)),x=e.props?u:getFunctionalFallthrough(u)}}catch(T){blockStack.length=0,handleError(T,i,1),E=createVNode(Comment)}let C=E;if(x&&S!==!1){const T=Object.keys(x),{shapeFlag:k}=C;T.length&&k&7&&(l&&T.some(isModelListener)&&(x=filterModelListeners(x,l)),C=cloneVNode(C,x))}return r.dirs&&(C=cloneVNode(C),C.dirs=C.dirs?C.dirs.concat(r.dirs):r.dirs),r.transition&&(C.transition=r.transition),E=C,setCurrentRenderingInstance(P),E}const getFunctionalFallthrough=i=>{let e;for(const r in i)(r==="class"||r==="style"||isOn(r))&&((e||(e={}))[r]=i[r]);return e},filterModelListeners=(i,e)=>{const r={};for(const s in i)(!isModelListener(s)||!(s.slice(9)in e))&&(r[s]=i[s]);return r};function shouldUpdateComponent(i,e,r){const{props:s,children:o,component:a}=i,{props:l,children:c,patchFlag:u}=e,d=a.emitsOptions;if(e.dirs||e.transition)return!0;if(r&&u>=0){if(u&1024)return!0;if(u&16)return s?hasPropsChanged(s,l,d):!!l;if(u&8){const g=e.dynamicProps;for(let m=0;mi.__isSuspense;function queueEffectWithSuspense(i,e){e&&e.pendingBranch?isArray$9(i)?e.effects.push(...i):e.effects.push(i):queuePostFlushCb(i)}function provide(i,e){if(currentInstance){let r=currentInstance.provides;const s=currentInstance.parent&¤tInstance.parent.provides;s===r&&(r=currentInstance.provides=Object.create(s)),r[i]=e}}function inject(i,e,r=!1){const s=currentInstance||currentRenderingInstance;if(s){const o=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(o&&i in o)return o[i];if(arguments.length>1)return r&&isFunction$6(e)?e.call(s.proxy):e}}function watchEffect(i,e){return doWatch(i,null,e)}const INITIAL_WATCHER_VALUE={};function watch(i,e,r){return doWatch(i,e,r)}function doWatch(i,e,{immediate:r,deep:s,flush:o,onTrack:a,onTrigger:l}=EMPTY_OBJ){const c=getCurrentScope()===(currentInstance==null?void 0:currentInstance.scope)?currentInstance:null;let u,d=!1,g=!1;if(isRef(i)?(u=()=>i.value,d=isShallow(i)):isReactive(i)?(u=()=>i,s=!0):isArray$9(i)?(g=!0,d=i.some(C=>isReactive(C)||isShallow(C)),u=()=>i.map(C=>{if(isRef(C))return C.value;if(isReactive(C))return traverse(C);if(isFunction$6(C))return callWithErrorHandling(C,c,2)})):isFunction$6(i)?e?u=()=>callWithErrorHandling(i,c,2):u=()=>{if(!(c&&c.isUnmounted))return m&&m(),callWithAsyncErrorHandling(i,c,3,[y])}:u=NOOP,e&&s){const C=u;u=()=>traverse(C())}let m,y=C=>{m=x.onStop=()=>{callWithErrorHandling(C,c,4)}},b;if(isInSSRComponentSetup)if(y=NOOP,e?r&&callWithAsyncErrorHandling(e,c,3,[u(),g?[]:void 0,y]):u(),o==="sync"){const C=useSSRContext();b=C.__watcherHandles||(C.__watcherHandles=[])}else return NOOP;let A=g?new Array(i.length).fill(INITIAL_WATCHER_VALUE):INITIAL_WATCHER_VALUE;const S=()=>{if(x.active)if(e){const C=x.run();(s||d||(g?C.some((T,k)=>hasChanged(T,A[k])):hasChanged(C,A)))&&(m&&m(),callWithAsyncErrorHandling(e,c,3,[C,A===INITIAL_WATCHER_VALUE?void 0:g&&A[0]===INITIAL_WATCHER_VALUE?[]:A,y]),A=C)}else x.run()};S.allowRecurse=!!e;let E;o==="sync"?E=S:o==="post"?E=()=>queuePostRenderEffect(S,c&&c.suspense):(S.pre=!0,c&&(S.id=c.uid),E=()=>queueJob(S));const x=new ReactiveEffect(u,E);e?r?S():A=x.run():o==="post"?queuePostRenderEffect(x.run.bind(x),c&&c.suspense):x.run();const P=()=>{x.stop(),c&&c.scope&&remove$7(c.scope.effects,x)};return b&&b.push(P),P}function instanceWatch(i,e,r){const s=this.proxy,o=isString$2(i)?i.includes(".")?createPathGetter(s,i):()=>s[i]:i.bind(s,s);let a;isFunction$6(e)?a=e:(a=e.handler,r=e);const l=currentInstance;setCurrentInstance(this);const c=doWatch(o,a.bind(s),r);return l?setCurrentInstance(l):unsetCurrentInstance(),c}function createPathGetter(i,e){const r=e.split(".");return()=>{let s=i;for(let o=0;o{traverse(r,e)});else if(isPlainObject$3(i))for(const r in i)traverse(i[r],e);return i}function useTransitionState(){const i={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return onMounted(()=>{i.isMounted=!0}),onBeforeUnmount(()=>{i.isUnmounting=!0}),i}const TransitionHookValidator=[Function,Array],BaseTransitionImpl={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:TransitionHookValidator,onEnter:TransitionHookValidator,onAfterEnter:TransitionHookValidator,onEnterCancelled:TransitionHookValidator,onBeforeLeave:TransitionHookValidator,onLeave:TransitionHookValidator,onAfterLeave:TransitionHookValidator,onLeaveCancelled:TransitionHookValidator,onBeforeAppear:TransitionHookValidator,onAppear:TransitionHookValidator,onAfterAppear:TransitionHookValidator,onAppearCancelled:TransitionHookValidator},setup(i,{slots:e}){const r=getCurrentInstance(),s=useTransitionState();let o;return()=>{const a=e.default&&getTransitionRawChildren(e.default(),!0);if(!a||!a.length)return;let l=a[0];if(a.length>1){for(const S of a)if(S.type!==Comment){l=S;break}}const c=toRaw(i),{mode:u}=c;if(s.isLeaving)return emptyPlaceholder(l);const d=getKeepAliveChild(l);if(!d)return emptyPlaceholder(l);const g=resolveTransitionHooks(d,c,s,r);setTransitionHooks(d,g);const m=r.subTree,y=m&&getKeepAliveChild(m);let b=!1;const{getTransitionKey:A}=d.type;if(A){const S=A();o===void 0?o=S:S!==o&&(o=S,b=!0)}if(y&&y.type!==Comment&&(!isSameVNodeType(d,y)||b)){const S=resolveTransitionHooks(y,c,s,r);if(setTransitionHooks(y,S),u==="out-in")return s.isLeaving=!0,S.afterLeave=()=>{s.isLeaving=!1,r.update.active!==!1&&r.update()},emptyPlaceholder(l);u==="in-out"&&d.type!==Comment&&(S.delayLeave=(E,x,P)=>{const C=getLeavingNodesForType(s,y);C[String(y.key)]=y,E._leaveCb=()=>{x(),E._leaveCb=void 0,delete g.delayedLeave},g.delayedLeave=P})}return l}}},BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(i,e){const{leavingVNodes:r}=i;let s=r.get(e.type);return s||(s=Object.create(null),r.set(e.type,s)),s}function resolveTransitionHooks(i,e,r,s){const{appear:o,mode:a,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:d,onEnterCancelled:g,onBeforeLeave:m,onLeave:y,onAfterLeave:b,onLeaveCancelled:A,onBeforeAppear:S,onAppear:E,onAfterAppear:x,onAppearCancelled:P}=e,C=String(i.key),T=getLeavingNodesForType(r,i),k=(R,B)=>{R&&callWithAsyncErrorHandling(R,s,9,B)},I=(R,B)=>{const _=B[1];k(R,B),isArray$9(R)?R.every(V=>V.length<=1)&&_():R.length<=1&&_()},M={mode:a,persisted:l,beforeEnter(R){let B=c;if(!r.isMounted)if(o)B=S||c;else return;R._leaveCb&&R._leaveCb(!0);const _=T[C];_&&isSameVNodeType(i,_)&&_.el._leaveCb&&_.el._leaveCb(),k(B,[R])},enter(R){let B=u,_=d,V=g;if(!r.isMounted)if(o)B=E||u,_=x||d,V=P||g;else return;let D=!1;const F=R._enterCb=N=>{D||(D=!0,N?k(V,[R]):k(_,[R]),M.delayedLeave&&M.delayedLeave(),R._enterCb=void 0)};B?I(B,[R,F]):F()},leave(R,B){const _=String(i.key);if(R._enterCb&&R._enterCb(!0),r.isUnmounting)return B();k(m,[R]);let V=!1;const D=R._leaveCb=F=>{V||(V=!0,B(),F?k(A,[R]):k(b,[R]),R._leaveCb=void 0,T[_]===i&&delete T[_])};T[_]=i,y?I(y,[R,D]):D()},clone(R){return resolveTransitionHooks(R,e,r,s)}};return M}function emptyPlaceholder(i){if(isKeepAlive(i))return i=cloneVNode(i),i.children=null,i}function getKeepAliveChild(i){return isKeepAlive(i)?i.children?i.children[0]:void 0:i}function setTransitionHooks(i,e){i.shapeFlag&6&&i.component?setTransitionHooks(i.component.subTree,e):i.shapeFlag&128?(i.ssContent.transition=e.clone(i.ssContent),i.ssFallback.transition=e.clone(i.ssFallback)):i.transition=e}function getTransitionRawChildren(i,e=!1,r){let s=[],o=0;for(let a=0;a1)for(let a=0;a!!i.type.__asyncLoader,isKeepAlive=i=>i.type.__isKeepAlive;function onActivated(i,e){registerKeepAliveHook(i,"a",e)}function onDeactivated(i,e){registerKeepAliveHook(i,"da",e)}function registerKeepAliveHook(i,e,r=currentInstance){const s=i.__wdc||(i.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return i()});if(injectHook(e,s,r),r){let o=r.parent;for(;o&&o.parent;)isKeepAlive(o.parent.vnode)&&injectToKeepAliveRoot(s,e,r,o),o=o.parent}}function injectToKeepAliveRoot(i,e,r,s){const o=injectHook(e,i,s,!0);onUnmounted(()=>{remove$7(s[e],o)},r)}function injectHook(i,e,r=currentInstance,s=!1){if(r){const o=r[i]||(r[i]=[]),a=e.__weh||(e.__weh=(...l)=>{if(r.isUnmounted)return;pauseTracking(),setCurrentInstance(r);const c=callWithAsyncErrorHandling(e,r,i,l);return unsetCurrentInstance(),resetTracking(),c});return s?o.unshift(a):o.push(a),a}}const createHook=i=>(e,r=currentInstance)=>(!isInSSRComponentSetup||i==="sp")&&injectHook(i,(...s)=>e(...s),r),onBeforeMount=createHook("bm"),onMounted=createHook("m"),onBeforeUpdate=createHook("bu"),onUpdated=createHook("u"),onBeforeUnmount=createHook("bum"),onUnmounted=createHook("um"),onServerPrefetch=createHook("sp"),onRenderTriggered=createHook("rtg"),onRenderTracked=createHook("rtc");function onErrorCaptured(i,e=currentInstance){injectHook("ec",i,e)}function withDirectives(i,e){const r=currentRenderingInstance;if(r===null)return i;const s=getExposeProxy(r)||r.proxy,o=i.dirs||(i.dirs=[]);for(let a=0;ae(l,c,void 0,a&&a[c]));else{const l=Object.keys(i);o=new Array(l.length);for(let c=0,u=l.length;cisVNode(e)?!(e.type===Comment||e.type===Fragment&&!ensureValidVNode(e.children)):!0)?i:null}const getPublicInstance=i=>i?isStatefulComponent(i)?getExposeProxy(i)||i.proxy:getPublicInstance(i.parent):null,publicPropertiesMap=extend$3(Object.create(null),{$:i=>i,$el:i=>i.vnode.el,$data:i=>i.data,$props:i=>i.props,$attrs:i=>i.attrs,$slots:i=>i.slots,$refs:i=>i.refs,$parent:i=>getPublicInstance(i.parent),$root:i=>getPublicInstance(i.root),$emit:i=>i.emit,$options:i=>resolveMergedOptions(i),$forceUpdate:i=>i.f||(i.f=()=>queueJob(i.update)),$nextTick:i=>i.n||(i.n=nextTick.bind(i.proxy)),$watch:i=>instanceWatch.bind(i)}),hasSetupBinding=(i,e)=>i!==EMPTY_OBJ&&!i.__isScriptSetup&&hasOwn$2(i,e),PublicInstanceProxyHandlers={get({_:i},e){const{ctx:r,setupState:s,data:o,props:a,accessCache:l,type:c,appContext:u}=i;let d;if(e[0]!=="$"){const b=l[e];if(b!==void 0)switch(b){case 1:return s[e];case 2:return o[e];case 4:return r[e];case 3:return a[e]}else{if(hasSetupBinding(s,e))return l[e]=1,s[e];if(o!==EMPTY_OBJ&&hasOwn$2(o,e))return l[e]=2,o[e];if((d=i.propsOptions[0])&&hasOwn$2(d,e))return l[e]=3,a[e];if(r!==EMPTY_OBJ&&hasOwn$2(r,e))return l[e]=4,r[e];shouldCacheAccess&&(l[e]=0)}}const g=publicPropertiesMap[e];let m,y;if(g)return e==="$attrs"&&track(i,"get",e),g(i);if((m=c.__cssModules)&&(m=m[e]))return m;if(r!==EMPTY_OBJ&&hasOwn$2(r,e))return l[e]=4,r[e];if(y=u.config.globalProperties,hasOwn$2(y,e))return y[e]},set({_:i},e,r){const{data:s,setupState:o,ctx:a}=i;return hasSetupBinding(o,e)?(o[e]=r,!0):s!==EMPTY_OBJ&&hasOwn$2(s,e)?(s[e]=r,!0):hasOwn$2(i.props,e)||e[0]==="$"&&e.slice(1)in i?!1:(a[e]=r,!0)},has({_:{data:i,setupState:e,accessCache:r,ctx:s,appContext:o,propsOptions:a}},l){let c;return!!r[l]||i!==EMPTY_OBJ&&hasOwn$2(i,l)||hasSetupBinding(e,l)||(c=a[0])&&hasOwn$2(c,l)||hasOwn$2(s,l)||hasOwn$2(publicPropertiesMap,l)||hasOwn$2(o.config.globalProperties,l)},defineProperty(i,e,r){return r.get!=null?i._.accessCache[e]=0:hasOwn$2(r,"value")&&this.set(i,e,r.value,null),Reflect.defineProperty(i,e,r)}};let shouldCacheAccess=!0;function applyOptions(i){const e=resolveMergedOptions(i),r=i.proxy,s=i.ctx;shouldCacheAccess=!1,e.beforeCreate&&callHook$1(e.beforeCreate,i,"bc");const{data:o,computed:a,methods:l,watch:c,provide:u,inject:d,created:g,beforeMount:m,mounted:y,beforeUpdate:b,updated:A,activated:S,deactivated:E,beforeDestroy:x,beforeUnmount:P,destroyed:C,unmounted:T,render:k,renderTracked:I,renderTriggered:M,errorCaptured:R,serverPrefetch:B,expose:_,inheritAttrs:V,components:D,directives:F,filters:N}=e;if(d&&resolveInjections(d,s,null,i.appContext.config.unwrapInjectedRef),l)for(const q in l){const O=l[q];isFunction$6(O)&&(s[q]=O.bind(r))}if(o){const q=o.call(r,r);isObject$5(q)&&(i.data=reactive(q))}if(shouldCacheAccess=!0,a)for(const q in a){const O=a[q],U=isFunction$6(O)?O.bind(r,r):isFunction$6(O.get)?O.get.bind(r,r):NOOP,$=!isFunction$6(O)&&isFunction$6(O.set)?O.set.bind(r):NOOP,Y=computed({get:U,set:$});Object.defineProperty(s,q,{enumerable:!0,configurable:!0,get:()=>Y.value,set:Q=>Y.value=Q})}if(c)for(const q in c)createWatcher(c[q],s,r,q);if(u){const q=isFunction$6(u)?u.call(r):u;Reflect.ownKeys(q).forEach(O=>{provide(O,q[O])})}g&&callHook$1(g,i,"c");function G(q,O){isArray$9(O)?O.forEach(U=>q(U.bind(r))):O&&q(O.bind(r))}if(G(onBeforeMount,m),G(onMounted,y),G(onBeforeUpdate,b),G(onUpdated,A),G(onActivated,S),G(onDeactivated,E),G(onErrorCaptured,R),G(onRenderTracked,I),G(onRenderTriggered,M),G(onBeforeUnmount,P),G(onUnmounted,T),G(onServerPrefetch,B),isArray$9(_))if(_.length){const q=i.exposed||(i.exposed={});_.forEach(O=>{Object.defineProperty(q,O,{get:()=>r[O],set:U=>r[O]=U})})}else i.exposed||(i.exposed={});k&&i.render===NOOP&&(i.render=k),V!=null&&(i.inheritAttrs=V),D&&(i.components=D),F&&(i.directives=F)}function resolveInjections(i,e,r=NOOP,s=!1){isArray$9(i)&&(i=normalizeInject(i));for(const o in i){const a=i[o];let l;isObject$5(a)?"default"in a?l=inject(a.from||o,a.default,!0):l=inject(a.from||o):l=inject(a),isRef(l)&&s?Object.defineProperty(e,o,{enumerable:!0,configurable:!0,get:()=>l.value,set:c=>l.value=c}):e[o]=l}}function callHook$1(i,e,r){callWithAsyncErrorHandling(isArray$9(i)?i.map(s=>s.bind(e.proxy)):i.bind(e.proxy),e,r)}function createWatcher(i,e,r,s){const o=s.includes(".")?createPathGetter(r,s):()=>r[s];if(isString$2(i)){const a=e[i];isFunction$6(a)&&watch(o,a)}else if(isFunction$6(i))watch(o,i.bind(r));else if(isObject$5(i))if(isArray$9(i))i.forEach(a=>createWatcher(a,e,r,s));else{const a=isFunction$6(i.handler)?i.handler.bind(r):e[i.handler];isFunction$6(a)&&watch(o,a,i)}}function resolveMergedOptions(i){const e=i.type,{mixins:r,extends:s}=e,{mixins:o,optionsCache:a,config:{optionMergeStrategies:l}}=i.appContext,c=a.get(e);let u;return c?u=c:!o.length&&!r&&!s?u=e:(u={},o.length&&o.forEach(d=>mergeOptions$1(u,d,l,!0)),mergeOptions$1(u,e,l)),isObject$5(e)&&a.set(e,u),u}function mergeOptions$1(i,e,r,s=!1){const{mixins:o,extends:a}=e;a&&mergeOptions$1(i,a,r,!0),o&&o.forEach(l=>mergeOptions$1(i,l,r,!0));for(const l in e)if(!(s&&l==="expose")){const c=internalOptionMergeStrats[l]||r&&r[l];i[l]=c?c(i[l],e[l]):e[l]}return i}const internalOptionMergeStrats={data:mergeDataFn,props:mergeObjectOptions,emits:mergeObjectOptions,methods:mergeObjectOptions,computed:mergeObjectOptions,beforeCreate:mergeAsArray,created:mergeAsArray,beforeMount:mergeAsArray,mounted:mergeAsArray,beforeUpdate:mergeAsArray,updated:mergeAsArray,beforeDestroy:mergeAsArray,beforeUnmount:mergeAsArray,destroyed:mergeAsArray,unmounted:mergeAsArray,activated:mergeAsArray,deactivated:mergeAsArray,errorCaptured:mergeAsArray,serverPrefetch:mergeAsArray,components:mergeObjectOptions,directives:mergeObjectOptions,watch:mergeWatchOptions,provide:mergeDataFn,inject:mergeInject};function mergeDataFn(i,e){return e?i?function(){return extend$3(isFunction$6(i)?i.call(this,this):i,isFunction$6(e)?e.call(this,this):e)}:e:i}function mergeInject(i,e){return mergeObjectOptions(normalizeInject(i),normalizeInject(e))}function normalizeInject(i){if(isArray$9(i)){const e={};for(let r=0;r0)&&!(l&16)){if(l&8){const g=i.vnode.dynamicProps;for(let m=0;m{u=!0;const[y,b]=normalizePropsOptions(m,e,!0);extend$3(l,y),b&&c.push(...b)};!r&&e.mixins.length&&e.mixins.forEach(g),i.extends&&g(i.extends),i.mixins&&i.mixins.forEach(g)}if(!a&&!u)return isObject$5(i)&&s.set(i,EMPTY_ARR),EMPTY_ARR;if(isArray$9(a))for(let g=0;g-1,b[1]=S<0||A-1||hasOwn$2(b,"default"))&&c.push(m)}}}const d=[l,c];return isObject$5(i)&&s.set(i,d),d}function validatePropName(i){return i[0]!=="$"}function getType(i){const e=i&&i.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:i===null?"null":""}function isSameType(i,e){return getType(i)===getType(e)}function getTypeIndex(i,e){return isArray$9(e)?e.findIndex(r=>isSameType(r,i)):isFunction$6(e)&&isSameType(e,i)?0:-1}const isInternalKey=i=>i[0]==="_"||i==="$stable",normalizeSlotValue=i=>isArray$9(i)?i.map(normalizeVNode):[normalizeVNode(i)],normalizeSlot$1=(i,e,r)=>{if(e._n)return e;const s=withCtx((...o)=>normalizeSlotValue(e(...o)),r);return s._c=!1,s},normalizeObjectSlots=(i,e,r)=>{const s=i._ctx;for(const o in i){if(isInternalKey(o))continue;const a=i[o];if(isFunction$6(a))e[o]=normalizeSlot$1(o,a,s);else if(a!=null){const l=normalizeSlotValue(a);e[o]=()=>l}}},normalizeVNodeSlots=(i,e)=>{const r=normalizeSlotValue(e);i.slots.default=()=>r},initSlots=(i,e)=>{if(i.vnode.shapeFlag&32){const r=e._;r?(i.slots=toRaw(e),def(e,"_",r)):normalizeObjectSlots(e,i.slots={})}else i.slots={},e&&normalizeVNodeSlots(i,e);def(i.slots,InternalObjectKey,1)},updateSlots=(i,e,r)=>{const{vnode:s,slots:o}=i;let a=!0,l=EMPTY_OBJ;if(s.shapeFlag&32){const c=e._;c?r&&c===1?a=!1:(extend$3(o,e),!r&&c===1&&delete o._):(a=!e.$stable,normalizeObjectSlots(e,o)),l=e}else e&&(normalizeVNodeSlots(i,e),l={default:1});if(a)for(const c in o)!isInternalKey(c)&&!(c in l)&&delete o[c]};function createAppContext(){return{app:null,config:{isNativeTag:NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let uid$1=0;function createAppAPI(i,e){return function(s,o=null){isFunction$6(s)||(s=Object.assign({},s)),o!=null&&!isObject$5(o)&&(o=null);const a=createAppContext(),l=new Set;let c=!1;const u=a.app={_uid:uid$1++,_component:s,_props:o,_container:null,_context:a,_instance:null,version,get config(){return a.config},set config(d){},use(d,...g){return l.has(d)||(d&&isFunction$6(d.install)?(l.add(d),d.install(u,...g)):isFunction$6(d)&&(l.add(d),d(u,...g))),u},mixin(d){return a.mixins.includes(d)||a.mixins.push(d),u},component(d,g){return g?(a.components[d]=g,u):a.components[d]},directive(d,g){return g?(a.directives[d]=g,u):a.directives[d]},mount(d,g,m){if(!c){const y=createVNode(s,o);return y.appContext=a,g&&e?e(y,d):i(y,d,m),c=!0,u._container=d,d.__vue_app__=u,getExposeProxy(y.component)||y.component.proxy}},unmount(){c&&(i(null,u._container),delete u._container.__vue_app__)},provide(d,g){return a.provides[d]=g,u}};return u}}function setRef(i,e,r,s,o=!1){if(isArray$9(i)){i.forEach((y,b)=>setRef(y,e&&(isArray$9(e)?e[b]:e),r,s,o));return}if(isAsyncWrapper(s)&&!o)return;const a=s.shapeFlag&4?getExposeProxy(s.component)||s.component.proxy:s.el,l=o?null:a,{i:c,r:u}=i,d=e&&e.r,g=c.refs===EMPTY_OBJ?c.refs={}:c.refs,m=c.setupState;if(d!=null&&d!==u&&(isString$2(d)?(g[d]=null,hasOwn$2(m,d)&&(m[d]=null)):isRef(d)&&(d.value=null)),isFunction$6(u))callWithErrorHandling(u,c,12,[l,g]);else{const y=isString$2(u),b=isRef(u);if(y||b){const A=()=>{if(i.f){const S=y?hasOwn$2(m,u)?m[u]:g[u]:u.value;o?isArray$9(S)&&remove$7(S,a):isArray$9(S)?S.includes(a)||S.push(a):y?(g[u]=[a],hasOwn$2(m,u)&&(m[u]=g[u])):(u.value=[a],i.k&&(g[i.k]=u.value))}else y?(g[u]=l,hasOwn$2(m,u)&&(m[u]=l)):b&&(u.value=l,i.k&&(g[i.k]=l))};l?(A.id=-1,queuePostRenderEffect(A,r)):A()}}}const queuePostRenderEffect=queueEffectWithSuspense;function createRenderer(i){return baseCreateRenderer(i)}function baseCreateRenderer(i,e){const r=getGlobalThis();r.__VUE__=!0;const{insert:s,remove:o,patchProp:a,createElement:l,createText:c,createComment:u,setText:d,setElementText:g,parentNode:m,nextSibling:y,setScopeId:b=NOOP,insertStaticContent:A}=i,S=(te,ae,H,ve=null,pe=null,ee=null,ne=!1,me=null,Be=!!ae.dynamicChildren)=>{if(te===ae)return;te&&!isSameVNodeType(te,ae)&&(ve=ce(te),Q(te,pe,ee,!0),te=null),ae.patchFlag===-2&&(Be=!1,ae.dynamicChildren=null);const{type:oe,ref:be,shapeFlag:Ie}=ae;switch(oe){case Text:E(te,ae,H,ve);break;case Comment:x(te,ae,H,ve);break;case Static:te==null&&P(ae,H,ve,ne);break;case Fragment:D(te,ae,H,ve,pe,ee,ne,me,Be);break;default:Ie&1?k(te,ae,H,ve,pe,ee,ne,me,Be):Ie&6?F(te,ae,H,ve,pe,ee,ne,me,Be):(Ie&64||Ie&128)&&oe.process(te,ae,H,ve,pe,ee,ne,me,Be,Ee)}be!=null&&pe&&setRef(be,te&&te.ref,ee,ae||te,!ae)},E=(te,ae,H,ve)=>{if(te==null)s(ae.el=c(ae.children),H,ve);else{const pe=ae.el=te.el;ae.children!==te.children&&d(pe,ae.children)}},x=(te,ae,H,ve)=>{te==null?s(ae.el=u(ae.children||""),H,ve):ae.el=te.el},P=(te,ae,H,ve)=>{[te.el,te.anchor]=A(te.children,ae,H,ve,te.el,te.anchor)},C=({el:te,anchor:ae},H,ve)=>{let pe;for(;te&&te!==ae;)pe=y(te),s(te,H,ve),te=pe;s(ae,H,ve)},T=({el:te,anchor:ae})=>{let H;for(;te&&te!==ae;)H=y(te),o(te),te=H;o(ae)},k=(te,ae,H,ve,pe,ee,ne,me,Be)=>{ne=ne||ae.type==="svg",te==null?I(ae,H,ve,pe,ee,ne,me,Be):B(te,ae,pe,ee,ne,me,Be)},I=(te,ae,H,ve,pe,ee,ne,me)=>{let Be,oe;const{type:be,props:Ie,shapeFlag:Re,transition:Pe,dirs:he}=te;if(Be=te.el=l(te.type,ee,Ie&&Ie.is,Ie),Re&8?g(Be,te.children):Re&16&&R(te.children,Be,null,ve,pe,ee&&be!=="foreignObject",ne,me),he&&invokeDirectiveHook(te,null,ve,"created"),M(Be,te,te.scopeId,ne,ve),Ie){for(const ye in Ie)ye!=="value"&&!isReservedProp(ye)&&a(Be,ye,null,Ie[ye],ee,te.children,ve,pe,J);"value"in Ie&&a(Be,"value",null,Ie.value),(oe=Ie.onVnodeBeforeMount)&&invokeVNodeHook(oe,ve,te)}he&&invokeDirectiveHook(te,null,ve,"beforeMount");const Ce=(!pe||pe&&!pe.pendingBranch)&&Pe&&!Pe.persisted;Ce&&Pe.beforeEnter(Be),s(Be,ae,H),((oe=Ie&&Ie.onVnodeMounted)||Ce||he)&&queuePostRenderEffect(()=>{oe&&invokeVNodeHook(oe,ve,te),Ce&&Pe.enter(Be),he&&invokeDirectiveHook(te,null,ve,"mounted")},pe)},M=(te,ae,H,ve,pe)=>{if(H&&b(te,H),ve)for(let ee=0;ee{for(let oe=Be;oe{const me=ae.el=te.el;let{patchFlag:Be,dynamicChildren:oe,dirs:be}=ae;Be|=te.patchFlag&16;const Ie=te.props||EMPTY_OBJ,Re=ae.props||EMPTY_OBJ;let Pe;H&&toggleRecurse(H,!1),(Pe=Re.onVnodeBeforeUpdate)&&invokeVNodeHook(Pe,H,ae,te),be&&invokeDirectiveHook(ae,te,H,"beforeUpdate"),H&&toggleRecurse(H,!0);const he=pe&&ae.type!=="foreignObject";if(oe?_(te.dynamicChildren,oe,me,H,ve,he,ee):ne||O(te,ae,me,null,H,ve,he,ee,!1),Be>0){if(Be&16)V(me,ae,Ie,Re,H,ve,pe);else if(Be&2&&Ie.class!==Re.class&&a(me,"class",null,Re.class,pe),Be&4&&a(me,"style",Ie.style,Re.style,pe),Be&8){const Ce=ae.dynamicProps;for(let ye=0;ye{Pe&&invokeVNodeHook(Pe,H,ae,te),be&&invokeDirectiveHook(ae,te,H,"updated")},ve)},_=(te,ae,H,ve,pe,ee,ne)=>{for(let me=0;me{if(H!==ve){if(H!==EMPTY_OBJ)for(const me in H)!isReservedProp(me)&&!(me in ve)&&a(te,me,H[me],null,ne,ae.children,pe,ee,J);for(const me in ve){if(isReservedProp(me))continue;const Be=ve[me],oe=H[me];Be!==oe&&me!=="value"&&a(te,me,oe,Be,ne,ae.children,pe,ee,J)}"value"in ve&&a(te,"value",H.value,ve.value)}},D=(te,ae,H,ve,pe,ee,ne,me,Be)=>{const oe=ae.el=te?te.el:c(""),be=ae.anchor=te?te.anchor:c("");let{patchFlag:Ie,dynamicChildren:Re,slotScopeIds:Pe}=ae;Pe&&(me=me?me.concat(Pe):Pe),te==null?(s(oe,H,ve),s(be,H,ve),R(ae.children,H,be,pe,ee,ne,me,Be)):Ie>0&&Ie&64&&Re&&te.dynamicChildren?(_(te.dynamicChildren,Re,H,pe,ee,ne,me),(ae.key!=null||pe&&ae===pe.subTree)&&traverseStaticChildren(te,ae,!0)):O(te,ae,H,be,pe,ee,ne,me,Be)},F=(te,ae,H,ve,pe,ee,ne,me,Be)=>{ae.slotScopeIds=me,te==null?ae.shapeFlag&512?pe.ctx.activate(ae,H,ve,ne,Be):N(ae,H,ve,pe,ee,ne,Be):K(te,ae,Be)},N=(te,ae,H,ve,pe,ee,ne)=>{const me=te.component=createComponentInstance(te,ve,pe);if(isKeepAlive(te)&&(me.ctx.renderer=Ee),setupComponent(me),me.asyncDep){if(pe&&pe.registerDep(me,G),!te.el){const Be=me.subTree=createVNode(Comment);x(null,Be,ae,H)}return}G(me,te,ae,H,pe,ee,ne)},K=(te,ae,H)=>{const ve=ae.component=te.component;if(shouldUpdateComponent(te,ae,H))if(ve.asyncDep&&!ve.asyncResolved){q(ve,ae,H);return}else ve.next=ae,invalidateJob(ve.update),ve.update();else ae.el=te.el,ve.vnode=ae},G=(te,ae,H,ve,pe,ee,ne)=>{const me=()=>{if(te.isMounted){let{next:be,bu:Ie,u:Re,parent:Pe,vnode:he}=te,Ce=be,ye;toggleRecurse(te,!1),be?(be.el=he.el,q(te,be,ne)):be=he,Ie&&invokeArrayFns(Ie),(ye=be.props&&be.props.onVnodeBeforeUpdate)&&invokeVNodeHook(ye,Pe,be,he),toggleRecurse(te,!0);const Fe=renderComponentRoot(te),Ue=te.subTree;te.subTree=Fe,S(Ue,Fe,m(Ue.el),ce(Ue),te,pe,ee),be.el=Fe.el,Ce===null&&updateHOCHostEl(te,Fe.el),Re&&queuePostRenderEffect(Re,pe),(ye=be.props&&be.props.onVnodeUpdated)&&queuePostRenderEffect(()=>invokeVNodeHook(ye,Pe,be,he),pe)}else{let be;const{el:Ie,props:Re}=ae,{bm:Pe,m:he,parent:Ce}=te,ye=isAsyncWrapper(ae);if(toggleRecurse(te,!1),Pe&&invokeArrayFns(Pe),!ye&&(be=Re&&Re.onVnodeBeforeMount)&&invokeVNodeHook(be,Ce,ae),toggleRecurse(te,!0),Ie&&De){const Fe=()=>{te.subTree=renderComponentRoot(te),De(Ie,te.subTree,te,pe,null)};ye?ae.type.__asyncLoader().then(()=>!te.isUnmounted&&Fe()):Fe()}else{const Fe=te.subTree=renderComponentRoot(te);S(null,Fe,H,ve,te,pe,ee),ae.el=Fe.el}if(he&&queuePostRenderEffect(he,pe),!ye&&(be=Re&&Re.onVnodeMounted)){const Fe=ae;queuePostRenderEffect(()=>invokeVNodeHook(be,Ce,Fe),pe)}(ae.shapeFlag&256||Ce&&isAsyncWrapper(Ce.vnode)&&Ce.vnode.shapeFlag&256)&&te.a&&queuePostRenderEffect(te.a,pe),te.isMounted=!0,ae=H=ve=null}},Be=te.effect=new ReactiveEffect(me,()=>queueJob(oe),te.scope),oe=te.update=()=>Be.run();oe.id=te.uid,toggleRecurse(te,!0),oe()},q=(te,ae,H)=>{ae.component=te;const ve=te.vnode.props;te.vnode=ae,te.next=null,updateProps(te,ae.props,ve,H),updateSlots(te,ae.children,H),pauseTracking(),flushPreFlushCbs(),resetTracking()},O=(te,ae,H,ve,pe,ee,ne,me,Be=!1)=>{const oe=te&&te.children,be=te?te.shapeFlag:0,Ie=ae.children,{patchFlag:Re,shapeFlag:Pe}=ae;if(Re>0){if(Re&128){$(oe,Ie,H,ve,pe,ee,ne,me,Be);return}else if(Re&256){U(oe,Ie,H,ve,pe,ee,ne,me,Be);return}}Pe&8?(be&16&&J(oe,pe,ee),Ie!==oe&&g(H,Ie)):be&16?Pe&16?$(oe,Ie,H,ve,pe,ee,ne,me,Be):J(oe,pe,ee,!0):(be&8&&g(H,""),Pe&16&&R(Ie,H,ve,pe,ee,ne,me,Be))},U=(te,ae,H,ve,pe,ee,ne,me,Be)=>{te=te||EMPTY_ARR,ae=ae||EMPTY_ARR;const oe=te.length,be=ae.length,Ie=Math.min(oe,be);let Re;for(Re=0;Rebe?J(te,pe,ee,!0,!1,Ie):R(ae,H,ve,pe,ee,ne,me,Be,Ie)},$=(te,ae,H,ve,pe,ee,ne,me,Be)=>{let oe=0;const be=ae.length;let Ie=te.length-1,Re=be-1;for(;oe<=Ie&&oe<=Re;){const Pe=te[oe],he=ae[oe]=Be?cloneIfMounted(ae[oe]):normalizeVNode(ae[oe]);if(isSameVNodeType(Pe,he))S(Pe,he,H,null,pe,ee,ne,me,Be);else break;oe++}for(;oe<=Ie&&oe<=Re;){const Pe=te[Ie],he=ae[Re]=Be?cloneIfMounted(ae[Re]):normalizeVNode(ae[Re]);if(isSameVNodeType(Pe,he))S(Pe,he,H,null,pe,ee,ne,me,Be);else break;Ie--,Re--}if(oe>Ie){if(oe<=Re){const Pe=Re+1,he=PeRe)for(;oe<=Ie;)Q(te[oe],pe,ee,!0),oe++;else{const Pe=oe,he=oe,Ce=new Map;for(oe=he;oe<=Re;oe++){const Ze=ae[oe]=Be?cloneIfMounted(ae[oe]):normalizeVNode(ae[oe]);Ze.key!=null&&Ce.set(Ze.key,oe)}let ye,Fe=0;const Ue=Re-he+1;let Ye=!1,Ge=0;const Ke=new Array(Ue);for(oe=0;oe=Ue){Q(Ze,pe,ee,!0);continue}let st;if(Ze.key!=null)st=Ce.get(Ze.key);else for(ye=he;ye<=Re;ye++)if(Ke[ye-he]===0&&isSameVNodeType(Ze,ae[ye])){st=ye;break}st===void 0?Q(Ze,pe,ee,!0):(Ke[st-he]=oe+1,st>=Ge?Ge=st:Ye=!0,S(Ze,ae[st],H,null,pe,ee,ne,me,Be),Fe++)}const et=Ye?getSequence(Ke):EMPTY_ARR;for(ye=et.length-1,oe=Ue-1;oe>=0;oe--){const Ze=he+oe,st=ae[Ze],vt=Ze+1{const{el:ee,type:ne,transition:me,children:Be,shapeFlag:oe}=te;if(oe&6){Y(te.component.subTree,ae,H,ve);return}if(oe&128){te.suspense.move(ae,H,ve);return}if(oe&64){ne.move(te,ae,H,Ee);return}if(ne===Fragment){s(ee,ae,H);for(let Ie=0;Ieme.enter(ee),pe);else{const{leave:Ie,delayLeave:Re,afterLeave:Pe}=me,he=()=>s(ee,ae,H),Ce=()=>{Ie(ee,()=>{he(),Pe&&Pe()})};Re?Re(ee,he,Ce):Ce()}else s(ee,ae,H)},Q=(te,ae,H,ve=!1,pe=!1)=>{const{type:ee,props:ne,ref:me,children:Be,dynamicChildren:oe,shapeFlag:be,patchFlag:Ie,dirs:Re}=te;if(me!=null&&setRef(me,null,H,te,!0),be&256){ae.ctx.deactivate(te);return}const Pe=be&1&&Re,he=!isAsyncWrapper(te);let Ce;if(he&&(Ce=ne&&ne.onVnodeBeforeUnmount)&&invokeVNodeHook(Ce,ae,te),be&6)W(te.component,H,ve);else{if(be&128){te.suspense.unmount(H,ve);return}Pe&&invokeDirectiveHook(te,null,ae,"beforeUnmount"),be&64?te.type.remove(te,ae,H,pe,Ee,ve):oe&&(ee!==Fragment||Ie>0&&Ie&64)?J(oe,ae,H,!1,!0):(ee===Fragment&&Ie&384||!pe&&be&16)&&J(Be,ae,H),ve&&xe(te)}(he&&(Ce=ne&&ne.onVnodeUnmounted)||Pe)&&queuePostRenderEffect(()=>{Ce&&invokeVNodeHook(Ce,ae,te),Pe&&invokeDirectiveHook(te,null,ae,"unmounted")},H)},xe=te=>{const{type:ae,el:H,anchor:ve,transition:pe}=te;if(ae===Fragment){ue(H,ve);return}if(ae===Static){T(te);return}const ee=()=>{o(H),pe&&!pe.persisted&&pe.afterLeave&&pe.afterLeave()};if(te.shapeFlag&1&&pe&&!pe.persisted){const{leave:ne,delayLeave:me}=pe,Be=()=>ne(H,ee);me?me(te.el,ee,Be):Be()}else ee()},ue=(te,ae)=>{let H;for(;te!==ae;)H=y(te),o(te),te=H;o(ae)},W=(te,ae,H)=>{const{bum:ve,scope:pe,update:ee,subTree:ne,um:me}=te;ve&&invokeArrayFns(ve),pe.stop(),ee&&(ee.active=!1,Q(ne,te,ae,H)),me&&queuePostRenderEffect(me,ae),queuePostRenderEffect(()=>{te.isUnmounted=!0},ae),ae&&ae.pendingBranch&&!ae.isUnmounted&&te.asyncDep&&!te.asyncResolved&&te.suspenseId===ae.pendingId&&(ae.deps--,ae.deps===0&&ae.resolve())},J=(te,ae,H,ve=!1,pe=!1,ee=0)=>{for(let ne=ee;nete.shapeFlag&6?ce(te.component.subTree):te.shapeFlag&128?te.suspense.next():y(te.anchor||te.el),ge=(te,ae,H)=>{te==null?ae._vnode&&Q(ae._vnode,null,null,!0):S(ae._vnode||null,te,ae,null,null,null,H),flushPreFlushCbs(),flushPostFlushCbs(),ae._vnode=te},Ee={p:S,um:Q,m:Y,r:xe,mt:N,mc:R,pc:O,pbc:_,n:ce,o:i};let Te,De;return e&&([Te,De]=e(Ee)),{render:ge,hydrate:Te,createApp:createAppAPI(ge,Te)}}function toggleRecurse({effect:i,update:e},r){i.allowRecurse=e.allowRecurse=r}function traverseStaticChildren(i,e,r=!1){const s=i.children,o=e.children;if(isArray$9(s)&&isArray$9(o))for(let a=0;a>1,i[r[c]]0&&(e[s]=r[a-1]),r[a]=s)}}for(a=r.length,l=r[a-1];a-- >0;)r[a]=l,l=e[l];return r}const isTeleport=i=>i.__isTeleport,isTeleportDisabled=i=>i&&(i.disabled||i.disabled===""),isTargetSVG=i=>typeof SVGElement<"u"&&i instanceof SVGElement,resolveTarget=(i,e)=>{const r=i&&i.to;return isString$2(r)?e?e(r):null:r},TeleportImpl={__isTeleport:!0,process(i,e,r,s,o,a,l,c,u,d){const{mc:g,pc:m,pbc:y,o:{insert:b,querySelector:A,createText:S,createComment:E}}=d,x=isTeleportDisabled(e.props);let{shapeFlag:P,children:C,dynamicChildren:T}=e;if(i==null){const k=e.el=S(""),I=e.anchor=S("");b(k,r,s),b(I,r,s);const M=e.target=resolveTarget(e.props,A),R=e.targetAnchor=S("");M&&(b(R,M),l=l||isTargetSVG(M));const B=(_,V)=>{P&16&&g(C,_,V,o,a,l,c,u)};x?B(r,I):M&&B(M,R)}else{e.el=i.el;const k=e.anchor=i.anchor,I=e.target=i.target,M=e.targetAnchor=i.targetAnchor,R=isTeleportDisabled(i.props),B=R?r:I,_=R?k:M;if(l=l||isTargetSVG(I),T?(y(i.dynamicChildren,T,B,o,a,l,c),traverseStaticChildren(i,e,!0)):u||m(i,e,B,_,o,a,l,c,!1),x)R||moveTeleport(e,r,k,d,1);else if((e.props&&e.props.to)!==(i.props&&i.props.to)){const V=e.target=resolveTarget(e.props,A);V&&moveTeleport(e,V,null,d,0)}else R&&moveTeleport(e,I,M,d,1)}updateCssVars(e)},remove(i,e,r,s,{um:o,o:{remove:a}},l){const{shapeFlag:c,children:u,anchor:d,targetAnchor:g,target:m,props:y}=i;if(m&&a(g),(l||!isTeleportDisabled(y))&&(a(d),c&16))for(let b=0;b0?currentBlock||EMPTY_ARR:null,closeBlock(),isBlockTreeEnabled>0&¤tBlock&¤tBlock.push(i),i}function createElementBlock(i,e,r,s,o,a){return setupBlock(createBaseVNode(i,e,r,s,o,a,!0))}function createBlock(i,e,r,s,o){return setupBlock(createVNode(i,e,r,s,o,!0))}function isVNode(i){return i?i.__v_isVNode===!0:!1}function isSameVNodeType(i,e){return i.type===e.type&&i.key===e.key}const InternalObjectKey="__vInternal",normalizeKey=({key:i})=>i!=null?i:null,normalizeRef=({ref:i,ref_key:e,ref_for:r})=>i!=null?isString$2(i)||isRef(i)||isFunction$6(i)?{i:currentRenderingInstance,r:i,k:e,f:!!r}:i:null;function createBaseVNode(i,e=null,r=null,s=0,o=null,a=i===Fragment?0:1,l=!1,c=!1){const u={__v_isVNode:!0,__v_skip:!0,type:i,props:e,key:e&&normalizeKey(e),ref:e&&normalizeRef(e),scopeId:currentScopeId,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:currentRenderingInstance};return c?(normalizeChildren(u,r),a&128&&i.normalize(u)):r&&(u.shapeFlag|=isString$2(r)?8:16),isBlockTreeEnabled>0&&!l&¤tBlock&&(u.patchFlag>0||a&6)&&u.patchFlag!==32&¤tBlock.push(u),u}const createVNode=_createVNode;function _createVNode(i,e=null,r=null,s=0,o=null,a=!1){if((!i||i===NULL_DYNAMIC_COMPONENT)&&(i=Comment),isVNode(i)){const c=cloneVNode(i,e,!0);return r&&normalizeChildren(c,r),isBlockTreeEnabled>0&&!a&¤tBlock&&(c.shapeFlag&6?currentBlock[currentBlock.indexOf(i)]=c:currentBlock.push(c)),c.patchFlag|=-2,c}if(isClassComponent(i)&&(i=i.__vccOpts),e){e=guardReactiveProps(e);let{class:c,style:u}=e;c&&!isString$2(c)&&(e.class=normalizeClass(c)),isObject$5(u)&&(isProxy(u)&&!isArray$9(u)&&(u=extend$3({},u)),e.style=normalizeStyle(u))}const l=isString$2(i)?1:isSuspense(i)?128:isTeleport(i)?64:isObject$5(i)?4:isFunction$6(i)?2:0;return createBaseVNode(i,e,r,s,o,l,a,!0)}function guardReactiveProps(i){return i?isProxy(i)||InternalObjectKey in i?extend$3({},i):i:null}function cloneVNode(i,e,r=!1){const{props:s,ref:o,patchFlag:a,children:l}=i,c=e?mergeProps(s||{},e):s;return{__v_isVNode:!0,__v_skip:!0,type:i.type,props:c,key:c&&normalizeKey(c),ref:e&&e.ref?r&&o?isArray$9(o)?o.concat(normalizeRef(e)):[o,normalizeRef(e)]:normalizeRef(e):o,scopeId:i.scopeId,slotScopeIds:i.slotScopeIds,children:l,target:i.target,targetAnchor:i.targetAnchor,staticCount:i.staticCount,shapeFlag:i.shapeFlag,patchFlag:e&&i.type!==Fragment?a===-1?16:a|16:a,dynamicProps:i.dynamicProps,dynamicChildren:i.dynamicChildren,appContext:i.appContext,dirs:i.dirs,transition:i.transition,component:i.component,suspense:i.suspense,ssContent:i.ssContent&&cloneVNode(i.ssContent),ssFallback:i.ssFallback&&cloneVNode(i.ssFallback),el:i.el,anchor:i.anchor,ctx:i.ctx,ce:i.ce}}function createTextVNode(i=" ",e=0){return createVNode(Text,null,i,e)}function createCommentVNode(i="",e=!1){return e?(openBlock(),createBlock(Comment,null,i)):createVNode(Comment,null,i)}function normalizeVNode(i){return i==null||typeof i=="boolean"?createVNode(Comment):isArray$9(i)?createVNode(Fragment,null,i.slice()):typeof i=="object"?cloneIfMounted(i):createVNode(Text,null,String(i))}function cloneIfMounted(i){return i.el===null&&i.patchFlag!==-1||i.memo?i:cloneVNode(i)}function normalizeChildren(i,e){let r=0;const{shapeFlag:s}=i;if(e==null)e=null;else if(isArray$9(e))r=16;else if(typeof e=="object")if(s&65){const o=e.default;o&&(o._c&&(o._d=!1),normalizeChildren(i,o()),o._c&&(o._d=!0));return}else{r=32;const o=e._;!o&&!(InternalObjectKey in e)?e._ctx=currentRenderingInstance:o===3&¤tRenderingInstance&&(currentRenderingInstance.slots._===1?e._=1:(e._=2,i.patchFlag|=1024))}else isFunction$6(e)?(e={default:e,_ctx:currentRenderingInstance},r=32):(e=String(e),s&64?(r=16,e=[createTextVNode(e)]):r=8);i.children=e,i.shapeFlag|=r}function mergeProps(...i){const e={};for(let r=0;rcurrentInstance||currentRenderingInstance,setCurrentInstance=i=>{currentInstance=i,i.scope.on()},unsetCurrentInstance=()=>{currentInstance&¤tInstance.scope.off(),currentInstance=null};function isStatefulComponent(i){return i.vnode.shapeFlag&4}let isInSSRComponentSetup=!1;function setupComponent(i,e=!1){isInSSRComponentSetup=e;const{props:r,children:s}=i.vnode,o=isStatefulComponent(i);initProps(i,r,o,e),initSlots(i,s);const a=o?setupStatefulComponent(i,e):void 0;return isInSSRComponentSetup=!1,a}function setupStatefulComponent(i,e){const r=i.type;i.accessCache=Object.create(null),i.proxy=markRaw(new Proxy(i.ctx,PublicInstanceProxyHandlers));const{setup:s}=r;if(s){const o=i.setupContext=s.length>1?createSetupContext(i):null;setCurrentInstance(i),pauseTracking();const a=callWithErrorHandling(s,i,0,[i.props,o]);if(resetTracking(),unsetCurrentInstance(),isPromise$1(a)){if(a.then(unsetCurrentInstance,unsetCurrentInstance),e)return a.then(l=>{handleSetupResult(i,l,e)}).catch(l=>{handleError(l,i,0)});i.asyncDep=a}else handleSetupResult(i,a,e)}else finishComponentSetup(i,e)}function handleSetupResult(i,e,r){isFunction$6(e)?i.type.__ssrInlineRender?i.ssrRender=e:i.render=e:isObject$5(e)&&(i.setupState=proxyRefs(e)),finishComponentSetup(i,r)}let compile$1;function finishComponentSetup(i,e,r){const s=i.type;if(!i.render){if(!e&&compile$1&&!s.render){const o=s.template||resolveMergedOptions(i).template;if(o){const{isCustomElement:a,compilerOptions:l}=i.appContext.config,{delimiters:c,compilerOptions:u}=s,d=extend$3(extend$3({isCustomElement:a,delimiters:c},l),u);s.render=compile$1(o,d)}}i.render=s.render||NOOP}setCurrentInstance(i),pauseTracking(),applyOptions(i),resetTracking(),unsetCurrentInstance()}function createAttrsProxy(i){return new Proxy(i.attrs,{get(e,r){return track(i,"get","$attrs"),e[r]}})}function createSetupContext(i){const e=s=>{i.exposed=s||{}};let r;return{get attrs(){return r||(r=createAttrsProxy(i))},slots:i.slots,emit:i.emit,expose:e}}function getExposeProxy(i){if(i.exposed)return i.exposeProxy||(i.exposeProxy=new Proxy(proxyRefs(markRaw(i.exposed)),{get(e,r){if(r in e)return e[r];if(r in publicPropertiesMap)return publicPropertiesMap[r](i)},has(e,r){return r in e||r in publicPropertiesMap}}))}function getComponentName(i,e=!0){return isFunction$6(i)?i.displayName||i.name:i.name||e&&i.__name}function isClassComponent(i){return isFunction$6(i)&&"__vccOpts"in i}const computed=(i,e)=>computed$1(i,e,isInSSRComponentSetup);function h$1(i,e,r){const s=arguments.length;return s===2?isObject$5(e)&&!isArray$9(e)?isVNode(e)?createVNode(i,null,[e]):createVNode(i,e):createVNode(i,null,e):(s>3?r=Array.prototype.slice.call(arguments,2):s===3&&isVNode(r)&&(r=[r]),createVNode(i,e,r))}const ssrContextKey=Symbol(""),useSSRContext=()=>inject(ssrContextKey),version="3.2.47",svgNS="http://www.w3.org/2000/svg",doc$2=typeof document<"u"?document:null,templateContainer=doc$2&&doc$2.createElement("template"),nodeOps={insert:(i,e,r)=>{e.insertBefore(i,r||null)},remove:i=>{const e=i.parentNode;e&&e.removeChild(i)},createElement:(i,e,r,s)=>{const o=e?doc$2.createElementNS(svgNS,i):doc$2.createElement(i,r?{is:r}:void 0);return i==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:i=>doc$2.createTextNode(i),createComment:i=>doc$2.createComment(i),setText:(i,e)=>{i.nodeValue=e},setElementText:(i,e)=>{i.textContent=e},parentNode:i=>i.parentNode,nextSibling:i=>i.nextSibling,querySelector:i=>doc$2.querySelector(i),setScopeId(i,e){i.setAttribute(e,"")},insertStaticContent(i,e,r,s,o,a){const l=r?r.previousSibling:e.lastChild;if(o&&(o===a||o.nextSibling))for(;e.insertBefore(o.cloneNode(!0),r),!(o===a||!(o=o.nextSibling)););else{templateContainer.innerHTML=s?`${i}`:i;const c=templateContainer.content;if(s){const u=c.firstChild;for(;u.firstChild;)c.appendChild(u.firstChild);c.removeChild(u)}e.insertBefore(c,r)}return[l?l.nextSibling:e.firstChild,r?r.previousSibling:e.lastChild]}};function patchClass(i,e,r){const s=i._vtc;s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?i.removeAttribute("class"):r?i.setAttribute("class",e):i.className=e}function patchStyle(i,e,r){const s=i.style,o=isString$2(r);if(r&&!o){if(e&&!isString$2(e))for(const a in e)r[a]==null&&setStyle(s,a,"");for(const a in r)setStyle(s,a,r[a])}else{const a=s.display;o?e!==r&&(s.cssText=r):e&&i.removeAttribute("style"),"_vod"in i&&(s.display=a)}}const importantRE=/\s*!important$/;function setStyle(i,e,r){if(isArray$9(r))r.forEach(s=>setStyle(i,e,s));else if(r==null&&(r=""),e.startsWith("--"))i.setProperty(e,r);else{const s=autoPrefix(i,e);importantRE.test(r)?i.setProperty(hyphenate(s),r.replace(importantRE,""),"important"):i[s]=r}}const prefixes=["Webkit","Moz","ms"],prefixCache={};function autoPrefix(i,e){const r=prefixCache[e];if(r)return r;let s=camelize$2(e);if(s!=="filter"&&s in i)return prefixCache[e]=s;s=capitalize(s);for(let o=0;ocachedNow||(p.then(()=>cachedNow=0),cachedNow=Date.now());function createInvoker(i,e){const r=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=r.attached)return;callWithAsyncErrorHandling(patchStopImmediatePropagation(s,r.value),e,5,[s])};return r.value=i,r.attached=getNow(),r}function patchStopImmediatePropagation(i,e){if(isArray$9(e)){const r=i.stopImmediatePropagation;return i.stopImmediatePropagation=()=>{r.call(i),i._stopped=!0},e.map(s=>o=>!o._stopped&&s&&s(o))}else return e}const nativeOnRE=/^on[a-z]/,patchProp=(i,e,r,s,o=!1,a,l,c,u)=>{e==="class"?patchClass(i,s,o):e==="style"?patchStyle(i,r,s):isOn(e)?isModelListener(e)||patchEvent(i,e,r,s,l):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):shouldSetAsProp(i,e,s,o))?patchDOMProp(i,e,s,a,l,c,u):(e==="true-value"?i._trueValue=s:e==="false-value"&&(i._falseValue=s),patchAttr(i,e,s,o))};function shouldSetAsProp(i,e,r,s){return s?!!(e==="innerHTML"||e==="textContent"||e in i&&nativeOnRE.test(e)&&isFunction$6(r)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&i.tagName==="INPUT"||e==="type"&&i.tagName==="TEXTAREA"||nativeOnRE.test(e)&&isString$2(r)?!1:e in i}const TRANSITION="transition",ANIMATION="animation",Transition=(i,{slots:e})=>h$1(BaseTransition,resolveTransitionProps(i),e);Transition.displayName="Transition";const DOMTransitionPropsValidators={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},TransitionPropsValidators=Transition.props=extend$3({},BaseTransition.props,DOMTransitionPropsValidators),callHook=(i,e=[])=>{isArray$9(i)?i.forEach(r=>r(...e)):i&&i(...e)},hasExplicitCallback=i=>i?isArray$9(i)?i.some(e=>e.length>1):i.length>1:!1;function resolveTransitionProps(i){const e={};for(const D in i)D in DOMTransitionPropsValidators||(e[D]=i[D]);if(i.css===!1)return e;const{name:r="v",type:s,duration:o,enterFromClass:a=`${r}-enter-from`,enterActiveClass:l=`${r}-enter-active`,enterToClass:c=`${r}-enter-to`,appearFromClass:u=a,appearActiveClass:d=l,appearToClass:g=c,leaveFromClass:m=`${r}-leave-from`,leaveActiveClass:y=`${r}-leave-active`,leaveToClass:b=`${r}-leave-to`}=i,A=normalizeDuration(o),S=A&&A[0],E=A&&A[1],{onBeforeEnter:x,onEnter:P,onEnterCancelled:C,onLeave:T,onLeaveCancelled:k,onBeforeAppear:I=x,onAppear:M=P,onAppearCancelled:R=C}=e,B=(D,F,N)=>{removeTransitionClass(D,F?g:c),removeTransitionClass(D,F?d:l),N&&N()},_=(D,F)=>{D._isLeaving=!1,removeTransitionClass(D,m),removeTransitionClass(D,b),removeTransitionClass(D,y),F&&F()},V=D=>(F,N)=>{const K=D?M:P,G=()=>B(F,D,N);callHook(K,[F,G]),nextFrame(()=>{removeTransitionClass(F,D?u:a),addTransitionClass(F,D?g:c),hasExplicitCallback(K)||whenTransitionEnds(F,s,S,G)})};return extend$3(e,{onBeforeEnter(D){callHook(x,[D]),addTransitionClass(D,a),addTransitionClass(D,l)},onBeforeAppear(D){callHook(I,[D]),addTransitionClass(D,u),addTransitionClass(D,d)},onEnter:V(!1),onAppear:V(!0),onLeave(D,F){D._isLeaving=!0;const N=()=>_(D,F);addTransitionClass(D,m),forceReflow(),addTransitionClass(D,y),nextFrame(()=>{D._isLeaving&&(removeTransitionClass(D,m),addTransitionClass(D,b),hasExplicitCallback(T)||whenTransitionEnds(D,s,E,N))}),callHook(T,[D,N])},onEnterCancelled(D){B(D,!1),callHook(C,[D])},onAppearCancelled(D){B(D,!0),callHook(R,[D])},onLeaveCancelled(D){_(D),callHook(k,[D])}})}function normalizeDuration(i){if(i==null)return null;if(isObject$5(i))return[NumberOf(i.enter),NumberOf(i.leave)];{const e=NumberOf(i);return[e,e]}}function NumberOf(i){return toNumber$1(i)}function addTransitionClass(i,e){e.split(/\s+/).forEach(r=>r&&i.classList.add(r)),(i._vtc||(i._vtc=new Set)).add(e)}function removeTransitionClass(i,e){e.split(/\s+/).forEach(s=>s&&i.classList.remove(s));const{_vtc:r}=i;r&&(r.delete(e),r.size||(i._vtc=void 0))}function nextFrame(i){requestAnimationFrame(()=>{requestAnimationFrame(i)})}let endId=0;function whenTransitionEnds(i,e,r,s){const o=i._endId=++endId,a=()=>{o===i._endId&&s()};if(r)return setTimeout(a,r);const{type:l,timeout:c,propCount:u}=getTransitionInfo(i,e);if(!l)return s();const d=l+"end";let g=0;const m=()=>{i.removeEventListener(d,y),a()},y=b=>{b.target===i&&++g>=u&&m()};setTimeout(()=>{g(r[A]||"").split(", "),o=s(`${TRANSITION}Delay`),a=s(`${TRANSITION}Duration`),l=getTimeout(o,a),c=s(`${ANIMATION}Delay`),u=s(`${ANIMATION}Duration`),d=getTimeout(c,u);let g=null,m=0,y=0;e===TRANSITION?l>0&&(g=TRANSITION,m=l,y=a.length):e===ANIMATION?d>0&&(g=ANIMATION,m=d,y=u.length):(m=Math.max(l,d),g=m>0?l>d?TRANSITION:ANIMATION:null,y=g?g===TRANSITION?a.length:u.length:0);const b=g===TRANSITION&&/\b(transform|all)(,|$)/.test(s(`${TRANSITION}Property`).toString());return{type:g,timeout:m,propCount:y,hasTransform:b}}function getTimeout(i,e){for(;i.lengthtoMs(r)+toMs(i[s])))}function toMs(i){return Number(i.slice(0,-1).replace(",","."))*1e3}function forceReflow(){return document.body.offsetHeight}const positionMap=new WeakMap,newPositionMap=new WeakMap,TransitionGroupImpl={name:"TransitionGroup",props:extend$3({},TransitionPropsValidators,{tag:String,moveClass:String}),setup(i,{slots:e}){const r=getCurrentInstance(),s=useTransitionState();let o,a;return onUpdated(()=>{if(!o.length)return;const l=i.moveClass||`${i.name||"v"}-move`;if(!hasCSSTransform(o[0].el,r.vnode.el,l))return;o.forEach(callPendingCbs),o.forEach(recordPosition);const c=o.filter(applyTranslation);forceReflow(),c.forEach(u=>{const d=u.el,g=d.style;addTransitionClass(d,l),g.transform=g.webkitTransform=g.transitionDuration="";const m=d._moveCb=y=>{y&&y.target!==d||(!y||/transform$/.test(y.propertyName))&&(d.removeEventListener("transitionend",m),d._moveCb=null,removeTransitionClass(d,l))};d.addEventListener("transitionend",m)})}),()=>{const l=toRaw(i),c=resolveTransitionProps(l);let u=l.tag||Fragment;o=a,a=e.default?getTransitionRawChildren(e.default()):[];for(let d=0;ddelete i.mode;TransitionGroupImpl.props;const TransitionGroup=TransitionGroupImpl;function callPendingCbs(i){const e=i.el;e._moveCb&&e._moveCb(),e._enterCb&&e._enterCb()}function recordPosition(i){newPositionMap.set(i,i.el.getBoundingClientRect())}function applyTranslation(i){const e=positionMap.get(i),r=newPositionMap.get(i),s=e.left-r.left,o=e.top-r.top;if(s||o){const a=i.el.style;return a.transform=a.webkitTransform=`translate(${s}px,${o}px)`,a.transitionDuration="0s",i}}function hasCSSTransform(i,e,r){const s=i.cloneNode();i._vtc&&i._vtc.forEach(l=>{l.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),r.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const o=e.nodeType===1?e:e.parentNode;o.appendChild(s);const{hasTransform:a}=getTransitionInfo(s);return o.removeChild(s),a}const keyNames={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},withKeys=(i,e)=>r=>{if(!("key"in r))return;const s=hyphenate(r.key);if(e.some(o=>o===s||keyNames[o]===s))return i(r)},vShow={beforeMount(i,{value:e},{transition:r}){i._vod=i.style.display==="none"?"":i.style.display,r&&e?r.beforeEnter(i):setDisplay(i,e)},mounted(i,{value:e},{transition:r}){r&&e&&r.enter(i)},updated(i,{value:e,oldValue:r},{transition:s}){!e!=!r&&(s?e?(s.beforeEnter(i),setDisplay(i,!0),s.enter(i)):s.leave(i,()=>{setDisplay(i,!1)}):setDisplay(i,e))},beforeUnmount(i,{value:e}){setDisplay(i,e)}};function setDisplay(i,e){i.style.display=e?i._vod:"none"}const rendererOptions=extend$3({patchProp},nodeOps);let renderer;function ensureRenderer(){return renderer||(renderer=createRenderer(rendererOptions))}const createApp=(...i)=>{const e=ensureRenderer().createApp(...i),{mount:r}=e;return e.mount=s=>{const o=normalizeContainer(s);if(!o)return;const a=e._component;!isFunction$6(a)&&!a.render&&!a.template&&(a.template=o.innerHTML),o.innerHTML="";const l=r(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),l},e};function normalizeContainer(i){return isString$2(i)?document.querySelector(i):i}/*! * vue-router v4.1.6 * (c) 2022 Eduardo San Martin Morote * @license MIT */const isBrowser=typeof window<"u";function isESModule(i){return i.__esModule||i[Symbol.toStringTag]==="Module"}const assign$2=Object.assign;function applyToParams(i,e){const r={};for(const s in e){const o=e[s];r[s]=isArray$8(o)?o.map(i):i(o)}return r}const noop$2=()=>{},isArray$8=Array.isArray,TRAILING_SLASH_RE=/\/$/,removeTrailingSlash=i=>i.replace(TRAILING_SLASH_RE,"");function parseURL(i,e,r="/"){let s,o={},a="",l="";const c=e.indexOf("#");let u=e.indexOf("?");return c=0&&(u=-1),u>-1&&(s=e.slice(0,u),a=e.slice(u+1,c>-1?c:e.length),o=i(a)),c>-1&&(s=s||e.slice(0,c),l=e.slice(c,e.length)),s=resolveRelativePath(s!=null?s:e,r),{fullPath:s+(a&&"?")+a+l,path:s,query:o,hash:l}}function stringifyURL(i,e){const r=e.query?i(e.query):"";return e.path+(r&&"?")+r+(e.hash||"")}function stripBase(i,e){return!e||!i.toLowerCase().startsWith(e.toLowerCase())?i:i.slice(e.length)||"/"}function isSameRouteLocation(i,e,r){const s=e.matched.length-1,o=r.matched.length-1;return s>-1&&s===o&&isSameRouteRecord(e.matched[s],r.matched[o])&&isSameRouteLocationParams(e.params,r.params)&&i(e.query)===i(r.query)&&e.hash===r.hash}function isSameRouteRecord(i,e){return(i.aliasOf||i)===(e.aliasOf||e)}function isSameRouteLocationParams(i,e){if(Object.keys(i).length!==Object.keys(e).length)return!1;for(const r in i)if(!isSameRouteLocationParamsValue(i[r],e[r]))return!1;return!0}function isSameRouteLocationParamsValue(i,e){return isArray$8(i)?isEquivalentArray(i,e):isArray$8(e)?isEquivalentArray(e,i):i===e}function isEquivalentArray(i,e){return isArray$8(e)?i.length===e.length&&i.every((r,s)=>r===e[s]):i.length===1&&i[0]===e}function resolveRelativePath(i,e){if(i.startsWith("/"))return i;if(!i)return e;const r=e.split("/"),s=i.split("/");let o=r.length-1,a,l;for(a=0;a1&&o--;else break;return r.slice(0,o).join("/")+"/"+s.slice(a-(a===s.length?1:0)).join("/")}var NavigationType;(function(i){i.pop="pop",i.push="push"})(NavigationType||(NavigationType={}));var NavigationDirection;(function(i){i.back="back",i.forward="forward",i.unknown=""})(NavigationDirection||(NavigationDirection={}));function normalizeBase(i){if(!i)if(isBrowser){const e=document.querySelector("base");i=e&&e.getAttribute("href")||"/",i=i.replace(/^\w+:\/\/[^\/]+/,"")}else i="/";return i[0]!=="/"&&i[0]!=="#"&&(i="/"+i),removeTrailingSlash(i)}const BEFORE_HASH_RE=/^[^#]+#/;function createHref(i,e){return i.replace(BEFORE_HASH_RE,"#")+e}function getElementPosition(i,e){const r=document.documentElement.getBoundingClientRect(),s=i.getBoundingClientRect();return{behavior:e.behavior,left:s.left-r.left-(e.left||0),top:s.top-r.top-(e.top||0)}}const computeScrollPosition=()=>({left:window.pageXOffset,top:window.pageYOffset});function scrollToPosition(i){let e;if("el"in i){const r=i.el,s=typeof r=="string"&&r.startsWith("#"),o=typeof r=="string"?s?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!o)return;e=getElementPosition(o,i)}else e=i;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function getScrollKey(i,e){return(history.state?history.state.position-e:-1)+i}const scrollPositions=new Map;function saveScrollPosition(i,e){scrollPositions.set(i,e)}function getSavedScrollPosition(i){const e=scrollPositions.get(i);return scrollPositions.delete(i),e}let createBaseLocation=()=>location.protocol+"//"+location.host;function createCurrentLocation(i,e){const{pathname:r,search:s,hash:o}=e,a=i.indexOf("#");if(a>-1){let c=o.includes(i.slice(a))?i.slice(a).length:1,u=o.slice(c);return u[0]!=="/"&&(u="/"+u),stripBase(u,"")}return stripBase(r,i)+s+o}function useHistoryListeners(i,e,r,s){let o=[],a=[],l=null;const c=({state:y})=>{const b=createCurrentLocation(i,location),A=r.value,S=e.value;let E=0;if(y){if(r.value=b,e.value=y,l&&l===A){l=null;return}E=S?y.position-S.position:0}else s(b);o.forEach(x=>{x(r.value,A,{delta:E,type:NavigationType.pop,direction:E?E>0?NavigationDirection.forward:NavigationDirection.back:NavigationDirection.unknown})})};function u(){l=r.value}function d(y){o.push(y);const b=()=>{const A=o.indexOf(y);A>-1&&o.splice(A,1)};return a.push(b),b}function g(){const{history:y}=window;y.state&&y.replaceState(assign$2({},y.state,{scroll:computeScrollPosition()}),"")}function m(){for(const y of a)y();a=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",g)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",g),{pauseListeners:u,listen:d,destroy:m}}function buildState(i,e,r,s=!1,o=!1){return{back:i,current:e,forward:r,replaced:s,position:window.history.length,scroll:o?computeScrollPosition():null}}function useHistoryStateNavigation(i){const{history:e,location:r}=window,s={value:createCurrentLocation(i,r)},o={value:e.state};o.value||a(s.value,{back:null,current:s.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function a(u,d,g){const m=i.indexOf("#"),y=m>-1?(r.host&&document.querySelector("base")?i:i.slice(m))+u:createBaseLocation()+i+u;try{e[g?"replaceState":"pushState"](d,"",y),o.value=d}catch(b){console.error(b),r[g?"replace":"assign"](y)}}function l(u,d){const g=assign$2({},e.state,buildState(o.value.back,u,o.value.forward,!0),d,{position:o.value.position});a(u,g,!0),s.value=u}function c(u,d){const g=assign$2({},o.value,e.state,{forward:u,scroll:computeScrollPosition()});a(g.current,g,!0);const m=assign$2({},buildState(s.value,u,null),{position:g.position+1},d);a(u,m,!1),s.value=u}return{location:s,state:o,push:c,replace:l}}function createWebHistory(i){i=normalizeBase(i);const e=useHistoryStateNavigation(i),r=useHistoryListeners(i,e.state,e.location,e.replace);function s(a,l=!0){l||r.pauseListeners(),history.go(a)}const o=assign$2({location:"",base:i,go:s,createHref:createHref.bind(null,i)},e,r);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>e.state.value}),o}function createWebHashHistory(i){return i=location.host?i||location.pathname+location.search:"",i.includes("#")||(i+="#"),createWebHistory(i)}function isRouteLocation(i){return typeof i=="string"||i&&typeof i=="object"}function isRouteName(i){return typeof i=="string"||typeof i=="symbol"}const START_LOCATION_NORMALIZED={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},NavigationFailureSymbol=Symbol("");var NavigationFailureType;(function(i){i[i.aborted=4]="aborted",i[i.cancelled=8]="cancelled",i[i.duplicated=16]="duplicated"})(NavigationFailureType||(NavigationFailureType={}));function createRouterError(i,e){return assign$2(new Error,{type:i,[NavigationFailureSymbol]:!0},e)}function isNavigationFailure(i,e){return i instanceof Error&&NavigationFailureSymbol in i&&(e==null||!!(i.type&e))}const BASE_PARAM_PATTERN="[^/]+?",BASE_PATH_PARSER_OPTIONS={sensitive:!1,strict:!1,start:!0,end:!0},REGEX_CHARS_RE=/[.+*?^${}()[\]/\\]/g;function tokensToParser(i,e){const r=assign$2({},BASE_PATH_PARSER_OPTIONS,e),s=[];let o=r.start?"^":"";const a=[];for(const d of i){const g=d.length?[]:[90];r.strict&&!d.length&&(o+="/");for(let m=0;me.length?e.length===1&&e[0]===40+40?1:-1:0}function comparePathParserScore(i,e){let r=0;const s=i.score,o=e.score;for(;r0&&e[e.length-1]<0}const ROOT_TOKEN={type:0,value:""},VALID_PARAM_RE=/[a-zA-Z0-9_]/;function tokenizePath(i){if(!i)return[[]];if(i==="/")return[[ROOT_TOKEN]];if(!i.startsWith("/"))throw new Error(`Invalid path "${i}"`);function e(b){throw new Error(`ERR (${r})/"${d}": ${b}`)}let r=0,s=r;const o=[];let a;function l(){a&&o.push(a),a=[]}let c=0,u,d="",g="";function m(){d&&(r===0?a.push({type:0,value:d}):r===1||r===2||r===3?(a.length>1&&(u==="*"||u==="+")&&e(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:d,regexp:g,repeatable:u==="*"||u==="+",optional:u==="*"||u==="?"})):e("Invalid state to consume buffer"),d="")}function y(){d+=u}for(;c{l(P)}:noop$2}function l(g){if(isRouteName(g)){const m=s.get(g);m&&(s.delete(g),r.splice(r.indexOf(m),1),m.children.forEach(l),m.alias.forEach(l))}else{const m=r.indexOf(g);m>-1&&(r.splice(m,1),g.record.name&&s.delete(g.record.name),g.children.forEach(l),g.alias.forEach(l))}}function c(){return r}function u(g){let m=0;for(;m=0&&(g.record.path!==r[m].record.path||!isRecordChildOf(g,r[m]));)m++;r.splice(m,0,g),g.record.name&&!isAliasRecord(g)&&s.set(g.record.name,g)}function d(g,m){let y,b={},A,S;if("name"in g&&g.name){if(y=s.get(g.name),!y)throw createRouterError(1,{location:g});S=y.record.name,b=assign$2(paramsFromLocation(m.params,y.keys.filter(P=>!P.optional).map(P=>P.name)),g.params&¶msFromLocation(g.params,y.keys.map(P=>P.name))),A=y.stringify(b)}else if("path"in g)A=g.path,y=r.find(P=>P.re.test(A)),y&&(b=y.parse(A),S=y.record.name);else{if(y=m.name?s.get(m.name):r.find(P=>P.re.test(m.path)),!y)throw createRouterError(1,{location:g,currentLocation:m});S=y.record.name,b=assign$2({},m.params,g.params),A=y.stringify(b)}const E=[];let x=y;for(;x;)E.unshift(x.record),x=x.parent;return{name:S,path:A,params:b,matched:E,meta:mergeMetaFields(E)}}return i.forEach(g=>a(g)),{addRoute:a,resolve:d,removeRoute:l,getRoutes:c,getRecordMatcher:o}}function paramsFromLocation(i,e){const r={};for(const s of e)s in i&&(r[s]=i[s]);return r}function normalizeRouteRecord(i){return{path:i.path,redirect:i.redirect,name:i.name,meta:i.meta||{},aliasOf:void 0,beforeEnter:i.beforeEnter,props:normalizeRecordProps(i),children:i.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in i?i.components||null:i.component&&{default:i.component}}}function normalizeRecordProps(i){const e={},r=i.props||!1;if("component"in i)e.default=r;else for(const s in i.components)e[s]=typeof r=="boolean"?r:r[s];return e}function isAliasRecord(i){for(;i;){if(i.record.aliasOf)return!0;i=i.parent}return!1}function mergeMetaFields(i){return i.reduce((e,r)=>assign$2(e,r.meta),{})}function mergeOptions(i,e){const r={};for(const s in i)r[s]=s in e?e[s]:i[s];return r}function isRecordChildOf(i,e){return e.children.some(r=>r===i||isRecordChildOf(i,r))}const HASH_RE=/#/g,AMPERSAND_RE=/&/g,SLASH_RE=/\//g,EQUAL_RE=/=/g,IM_RE=/\?/g,PLUS_RE=/\+/g,ENC_BRACKET_OPEN_RE=/%5B/g,ENC_BRACKET_CLOSE_RE=/%5D/g,ENC_CARET_RE=/%5E/g,ENC_BACKTICK_RE=/%60/g,ENC_CURLY_OPEN_RE=/%7B/g,ENC_PIPE_RE=/%7C/g,ENC_CURLY_CLOSE_RE=/%7D/g,ENC_SPACE_RE=/%20/g;function commonEncode(i){return encodeURI(""+i).replace(ENC_PIPE_RE,"|").replace(ENC_BRACKET_OPEN_RE,"[").replace(ENC_BRACKET_CLOSE_RE,"]")}function encodeHash(i){return commonEncode(i).replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryValue(i){return commonEncode(i).replace(PLUS_RE,"%2B").replace(ENC_SPACE_RE,"+").replace(HASH_RE,"%23").replace(AMPERSAND_RE,"%26").replace(ENC_BACKTICK_RE,"`").replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryKey(i){return encodeQueryValue(i).replace(EQUAL_RE,"%3D")}function encodePath(i){return commonEncode(i).replace(HASH_RE,"%23").replace(IM_RE,"%3F")}function encodeParam(i){return i==null?"":encodePath(i).replace(SLASH_RE,"%2F")}function decode$5(i){try{return decodeURIComponent(""+i)}catch(e){}return""+i}function parseQuery(i){const e={};if(i===""||i==="?")return e;const s=(i[0]==="?"?i.slice(1):i).split("&");for(let o=0;oa&&encodeQueryValue(a)):[s&&encodeQueryValue(s)]).forEach(a=>{a!==void 0&&(e+=(e.length?"&":"")+r,a!=null&&(e+="="+a))})}return e}function normalizeQuery(i){const e={};for(const r in i){const s=i[r];s!==void 0&&(e[r]=isArray$8(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return e}const matchedRouteKey=Symbol(""),viewDepthKey=Symbol(""),routerKey=Symbol(""),routeLocationKey=Symbol(""),routerViewLocationKey=Symbol("");function useCallbacks(){let i=[];function e(s){return i.push(s),()=>{const o=i.indexOf(s);o>-1&&i.splice(o,1)}}function r(){i=[]}return{add:e,list:()=>i,reset:r}}function guardToPromiseFn(i,e,r,s,o){const a=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((l,c)=>{const u=m=>{m===!1?c(createRouterError(4,{from:r,to:e})):m instanceof Error?c(m):isRouteLocation(m)?c(createRouterError(2,{from:e,to:m})):(a&&s.enterCallbacks[o]===a&&typeof m=="function"&&a.push(m),l())},d=i.call(s&&s.instances[o],e,r,u);let g=Promise.resolve(d);i.length<3&&(g=g.then(u)),g.catch(m=>c(m))})}function extractComponentsGuards(i,e,r,s){const o=[];for(const a of i)for(const l in a.components){let c=a.components[l];if(!(e!=="beforeRouteEnter"&&!a.instances[l]))if(isRouteComponent(c)){const d=(c.__vccOpts||c)[e];d&&o.push(guardToPromiseFn(d,r,s,a,l))}else{let u=c();o.push(()=>u.then(d=>{if(!d)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${a.path}"`));const g=isESModule(d)?d.default:d;a.components[l]=g;const y=(g.__vccOpts||g)[e];return y&&guardToPromiseFn(y,r,s,a,l)()}))}}return o}function isRouteComponent(i){return typeof i=="object"||"displayName"in i||"props"in i||"__vccOpts"in i}function useLink(i){const e=inject(routerKey),r=inject(routeLocationKey),s=computed(()=>e.resolve(unref(i.to))),o=computed(()=>{const{matched:u}=s.value,{length:d}=u,g=u[d-1],m=r.matched;if(!g||!m.length)return-1;const y=m.findIndex(isSameRouteRecord.bind(null,g));if(y>-1)return y;const b=getOriginalPath(u[d-2]);return d>1&&getOriginalPath(g)===b&&m[m.length-1].path!==b?m.findIndex(isSameRouteRecord.bind(null,u[d-2])):y}),a=computed(()=>o.value>-1&&includesParams(r.params,s.value.params)),l=computed(()=>o.value>-1&&o.value===r.matched.length-1&&isSameRouteLocationParams(r.params,s.value.params));function c(u={}){return guardEvent(u)?e[unref(i.replace)?"replace":"push"](unref(i.to)).catch(noop$2):Promise.resolve()}return{route:s,href:computed(()=>s.value.href),isActive:a,isExactActive:l,navigate:c}}const RouterLinkImpl=defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink,setup(i,{slots:e}){const r=reactive(useLink(i)),{options:s}=inject(routerKey),o=computed(()=>({[getLinkClass(i.activeClass,s.linkActiveClass,"router-link-active")]:r.isActive,[getLinkClass(i.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const a=e.default&&e.default(r);return i.custom?a:h$1("a",{"aria-current":r.isExactActive?i.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},a)}}}),RouterLink=RouterLinkImpl;function guardEvent(i){if(!(i.metaKey||i.altKey||i.ctrlKey||i.shiftKey)&&!i.defaultPrevented&&!(i.button!==void 0&&i.button!==0)){if(i.currentTarget&&i.currentTarget.getAttribute){const e=i.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return i.preventDefault&&i.preventDefault(),!0}}function includesParams(i,e){for(const r in e){const s=e[r],o=i[r];if(typeof s=="string"){if(s!==o)return!1}else if(!isArray$8(o)||o.length!==s.length||s.some((a,l)=>a!==o[l]))return!1}return!0}function getOriginalPath(i){return i?i.aliasOf?i.aliasOf.path:i.path:""}const getLinkClass=(i,e,r)=>i!=null?i:e!=null?e:r,RouterViewImpl=defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(i,{attrs:e,slots:r}){const s=inject(routerViewLocationKey),o=computed(()=>i.route||s.value),a=inject(viewDepthKey,0),l=computed(()=>{let d=unref(a);const{matched:g}=o.value;let m;for(;(m=g[d])&&!m.components;)d++;return d}),c=computed(()=>o.value.matched[l.value]);provide(viewDepthKey,computed(()=>l.value+1)),provide(matchedRouteKey,c),provide(routerViewLocationKey,o);const u=ref();return watch(()=>[u.value,c.value,i.name],([d,g,m],[y,b,A])=>{g&&(g.instances[m]=d,b&&b!==g&&d&&d===y&&(g.leaveGuards.size||(g.leaveGuards=b.leaveGuards),g.updateGuards.size||(g.updateGuards=b.updateGuards))),d&&g&&(!b||!isSameRouteRecord(g,b)||!y)&&(g.enterCallbacks[m]||[]).forEach(S=>S(d))},{flush:"post"}),()=>{const d=o.value,g=i.name,m=c.value,y=m&&m.components[g];if(!y)return normalizeSlot(r.default,{Component:y,route:d});const b=m.props[g],A=b?b===!0?d.params:typeof b=="function"?b(d):b:null,E=h$1(y,assign$2({},A,e,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(m.instances[g]=null)},ref:u}));return normalizeSlot(r.default,{Component:E,route:d})||E}}});function normalizeSlot(i,e){if(!i)return null;const r=i(e);return r.length===1?r[0]:r}const RouterView=RouterViewImpl;function createRouter(i){const e=createRouterMatcher(i.routes,i),r=i.parseQuery||parseQuery,s=i.stringifyQuery||stringifyQuery,o=i.history,a=useCallbacks(),l=useCallbacks(),c=useCallbacks(),u=shallowRef(START_LOCATION_NORMALIZED);let d=START_LOCATION_NORMALIZED;isBrowser&&i.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const g=applyToParams.bind(null,W=>""+W),m=applyToParams.bind(null,encodeParam),y=applyToParams.bind(null,decode$5);function b(W,J){let ce,ge;return isRouteName(W)?(ce=e.getRecordMatcher(W),ge=J):ge=W,e.addRoute(ge,ce)}function A(W){const J=e.getRecordMatcher(W);J&&e.removeRoute(J)}function S(){return e.getRoutes().map(W=>W.record)}function E(W){return!!e.getRecordMatcher(W)}function x(W,J){if(J=assign$2({},J||u.value),typeof W=="string"){const te=parseURL(r,W,J.path),ae=e.resolve({path:te.path},J),H=o.createHref(te.fullPath);return assign$2(te,ae,{params:y(ae.params),hash:decode$5(te.hash),redirectedFrom:void 0,href:H})}let ce;if("path"in W)ce=assign$2({},W,{path:parseURL(r,W.path,J.path).path});else{const te=assign$2({},W.params);for(const ae in te)te[ae]==null&&delete te[ae];ce=assign$2({},W,{params:m(W.params)}),J.params=m(J.params)}const ge=e.resolve(ce,J),Ee=W.hash||"";ge.params=g(y(ge.params));const Te=stringifyURL(s,assign$2({},W,{hash:encodeHash(Ee),path:ge.path})),De=o.createHref(Te);return assign$2({fullPath:Te,hash:Ee,query:s===stringifyQuery?normalizeQuery(W.query):W.query||{}},ge,{redirectedFrom:void 0,href:De})}function P(W){return typeof W=="string"?parseURL(r,W,u.value.path):assign$2({},W)}function C(W,J){if(d!==W)return createRouterError(8,{from:J,to:W})}function T(W){return M(W)}function k(W){return T(assign$2(P(W),{replace:!0}))}function I(W){const J=W.matched[W.matched.length-1];if(J&&J.redirect){const{redirect:ce}=J;let ge=typeof ce=="function"?ce(W):ce;return typeof ge=="string"&&(ge=ge.includes("?")||ge.includes("#")?ge=P(ge):{path:ge},ge.params={}),assign$2({query:W.query,hash:W.hash,params:"path"in ge?{}:W.params},ge)}}function M(W,J){const ce=d=x(W),ge=u.value,Ee=W.state,Te=W.force,De=W.replace===!0,te=I(ce);if(te)return M(assign$2(P(te),{state:typeof te=="object"?assign$2({},Ee,te.state):Ee,force:Te,replace:De}),J||ce);const ae=ce;ae.redirectedFrom=J;let H;return!Te&&isSameRouteLocation(s,ge,ce)&&(H=createRouterError(16,{to:ae,from:ge}),$(ge,ge,!0,!1)),(H?Promise.resolve(H):B(ae,ge)).catch(ve=>isNavigationFailure(ve)?isNavigationFailure(ve,2)?ve:U(ve):q(ve,ae,ge)).then(ve=>{if(ve){if(isNavigationFailure(ve,2))return M(assign$2({replace:De},P(ve.to),{state:typeof ve.to=="object"?assign$2({},Ee,ve.to.state):Ee,force:Te}),J||ae)}else ve=V(ae,ge,!0,De,Ee);return _(ae,ge,ve),ve})}function R(W,J){const ce=C(W,J);return ce?Promise.reject(ce):Promise.resolve()}function B(W,J){let ce;const[ge,Ee,Te]=extractChangingRecords(W,J);ce=extractComponentsGuards(ge.reverse(),"beforeRouteLeave",W,J);for(const te of ge)te.leaveGuards.forEach(ae=>{ce.push(guardToPromiseFn(ae,W,J))});const De=R.bind(null,W,J);return ce.push(De),runGuardQueue(ce).then(()=>{ce=[];for(const te of a.list())ce.push(guardToPromiseFn(te,W,J));return ce.push(De),runGuardQueue(ce)}).then(()=>{ce=extractComponentsGuards(Ee,"beforeRouteUpdate",W,J);for(const te of Ee)te.updateGuards.forEach(ae=>{ce.push(guardToPromiseFn(ae,W,J))});return ce.push(De),runGuardQueue(ce)}).then(()=>{ce=[];for(const te of W.matched)if(te.beforeEnter&&!J.matched.includes(te))if(isArray$8(te.beforeEnter))for(const ae of te.beforeEnter)ce.push(guardToPromiseFn(ae,W,J));else ce.push(guardToPromiseFn(te.beforeEnter,W,J));return ce.push(De),runGuardQueue(ce)}).then(()=>(W.matched.forEach(te=>te.enterCallbacks={}),ce=extractComponentsGuards(Te,"beforeRouteEnter",W,J),ce.push(De),runGuardQueue(ce))).then(()=>{ce=[];for(const te of l.list())ce.push(guardToPromiseFn(te,W,J));return ce.push(De),runGuardQueue(ce)}).catch(te=>isNavigationFailure(te,8)?te:Promise.reject(te))}function _(W,J,ce){for(const ge of c.list())ge(W,J,ce)}function V(W,J,ce,ge,Ee){const Te=C(W,J);if(Te)return Te;const De=J===START_LOCATION_NORMALIZED,te=isBrowser?history.state:{};ce&&(ge||De?o.replace(W.fullPath,assign$2({scroll:De&&te&&te.scroll},Ee)):o.push(W.fullPath,Ee)),u.value=W,$(W,J,ce,De),U()}let D;function F(){D||(D=o.listen((W,J,ce)=>{if(!ue.listening)return;const ge=x(W),Ee=I(ge);if(Ee){M(assign$2(Ee,{replace:!0}),ge).catch(noop$2);return}d=ge;const Te=u.value;isBrowser&&saveScrollPosition(getScrollKey(Te.fullPath,ce.delta),computeScrollPosition()),B(ge,Te).catch(De=>isNavigationFailure(De,12)?De:isNavigationFailure(De,2)?(M(De.to,ge).then(te=>{isNavigationFailure(te,20)&&!ce.delta&&ce.type===NavigationType.pop&&o.go(-1,!1)}).catch(noop$2),Promise.reject()):(ce.delta&&o.go(-ce.delta,!1),q(De,ge,Te))).then(De=>{De=De||V(ge,Te,!1),De&&(ce.delta&&!isNavigationFailure(De,8)?o.go(-ce.delta,!1):ce.type===NavigationType.pop&&isNavigationFailure(De,20)&&o.go(-1,!1)),_(ge,Te,De)}).catch(noop$2)}))}let N=useCallbacks(),K=useCallbacks(),G;function q(W,J,ce){U(W);const ge=K.list();return ge.length?ge.forEach(Ee=>Ee(W,J,ce)):console.error(W),Promise.reject(W)}function O(){return G&&u.value!==START_LOCATION_NORMALIZED?Promise.resolve():new Promise((W,J)=>{N.add([W,J])})}function U(W){return G||(G=!W,F(),N.list().forEach(([J,ce])=>W?ce(W):J()),N.reset()),W}function $(W,J,ce,ge){const{scrollBehavior:Ee}=i;if(!isBrowser||!Ee)return Promise.resolve();const Te=!ce&&getSavedScrollPosition(getScrollKey(W.fullPath,0))||(ge||!ce)&&history.state&&history.state.scroll||null;return nextTick().then(()=>Ee(W,J,Te)).then(De=>De&&scrollToPosition(De)).catch(De=>q(De,W,J))}const Y=W=>o.go(W);let Q;const xe=new Set,ue={currentRoute:u,listening:!0,addRoute:b,removeRoute:A,hasRoute:E,getRoutes:S,resolve:x,options:i,push:T,replace:k,go:Y,back:()=>Y(-1),forward:()=>Y(1),beforeEach:a.add,beforeResolve:l.add,afterEach:c.add,onError:K.add,isReady:O,install(W){const J=this;W.component("RouterLink",RouterLink),W.component("RouterView",RouterView),W.config.globalProperties.$router=J,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>unref(u)}),isBrowser&&!Q&&u.value===START_LOCATION_NORMALIZED&&(Q=!0,T(o.location).catch(Ee=>{}));const ce={};for(const Ee in START_LOCATION_NORMALIZED)ce[Ee]=computed(()=>u.value[Ee]);W.provide(routerKey,J),W.provide(routeLocationKey,reactive(ce)),W.provide(routerViewLocationKey,u);const ge=W.unmount;xe.add(W),W.unmount=function(){xe.delete(W),xe.size<1&&(d=START_LOCATION_NORMALIZED,D&&D(),D=null,u.value=START_LOCATION_NORMALIZED,Q=!1,G=!1),ge()}}};return ue}function runGuardQueue(i){return i.reduce((e,r)=>e.then(()=>r()),Promise.resolve())}function extractChangingRecords(i,e){const r=[],s=[],o=[],a=Math.max(e.matched.length,i.matched.length);for(let l=0;lisSameRouteRecord(d,c))?s.push(c):r.push(c));const u=i.matched[l];u&&(e.matched.find(d=>isSameRouteRecord(d,u))||o.push(u))}return[r,s,o]}function useRouter(){return inject(routerKey)}function useRoute$1(){return inject(routeLocationKey)}const isDef$1=i=>i!=null,isFunction$5=i=>typeof i=="function",isObject$4=i=>i!==null&&typeof i=="object",isPromise=i=>isObject$4(i)&&isFunction$5(i.then)&&isFunction$5(i.catch),isNumeric=i=>typeof i=="number"||/^\d+(\.\d+)?$/.test(i),isIOS$2=()=>inBrowser$2?/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()):!1;function noop$1(){}const extend$2=Object.assign,inBrowser$2=typeof window<"u";function get(i,e){const r=e.split(".");let s=i;return r.forEach(o=>{var a;s=isObject$4(s)&&(a=s[o])!=null?a:""}),s}function pick$1(i,e,r){return e.reduce((s,o)=>((!r||i[o]!==void 0)&&(s[o]=i[o]),s),{})}const isSameValue=(i,e)=>JSON.stringify(i)===JSON.stringify(e),toArray=i=>Array.isArray(i)?i:[i],unknownProp=null,numericProp=[Number,String],truthProp={type:Boolean,default:!0},makeRequiredProp=i=>({type:i,required:!0}),makeArrayProp=()=>({type:Array,default:()=>[]}),makeNumberProp=i=>({type:Number,default:i}),makeNumericProp=i=>({type:numericProp,default:i}),makeStringProp=i=>({type:String,default:i});var inBrowser$1=typeof window<"u";function raf(i){return inBrowser$1?requestAnimationFrame(i):-1}function cancelRaf(i){inBrowser$1&&cancelAnimationFrame(i)}function doubleRaf(i){raf(()=>raf(i))}var isWindow=i=>i===window,makeDOMRect=(i,e)=>({top:0,left:0,right:i,bottom:e,width:i,height:e}),useRect=i=>{const e=unref(i);if(isWindow(e)){const r=e.innerWidth,s=e.innerHeight;return makeDOMRect(r,s)}return e!=null&&e.getBoundingClientRect?e.getBoundingClientRect():makeDOMRect(0,0)};function useParent$1(i){const e=inject(i,null);if(e){const r=getCurrentInstance(),{link:s,unlink:o,internalChildren:a}=e;s(r),onUnmounted(()=>o(r));const l=computed(()=>a.indexOf(r));return{parent:e,index:l}}return{parent:null,index:ref(-1)}}function flattenVNodes(i){const e=[],r=s=>{Array.isArray(s)&&s.forEach(o=>{var a;isVNode(o)&&(e.push(o),(a=o.component)!=null&&a.subTree&&(e.push(o.component.subTree),r(o.component.subTree.children)),o.children&&r(o.children))})};return r(i),e}var findVNodeIndex=(i,e)=>{const r=i.indexOf(e);return r===-1?i.findIndex(s=>e.key!==void 0&&e.key!==null&&s.type===e.type&&s.key===e.key):r};function sortChildren(i,e,r){const s=flattenVNodes(i.subTree.children);r.sort((a,l)=>findVNodeIndex(s,a.vnode)-findVNodeIndex(s,l.vnode));const o=r.map(a=>a.proxy);e.sort((a,l)=>{const c=o.indexOf(a),u=o.indexOf(l);return c-u})}function useChildren$1(i){const e=reactive([]),r=reactive([]),s=getCurrentInstance();return{children:e,linkChildren:a=>{provide(i,Object.assign({link:u=>{u.proxy&&(r.push(u),e.push(u.proxy),sortChildren(s,e,r))},unlink:u=>{const d=r.indexOf(u);e.splice(d,1),r.splice(d,1)},children:e,internalChildren:r},a))}}}function onMountedOrActivated(i){let e;onMounted(()=>{i(),nextTick(()=>{e=!0})}),onActivated(()=>{e&&i()})}function useEventListener$1(i,e,r={}){if(!inBrowser$1)return;const{target:s=window,passive:o=!1,capture:a=!1}=r;let l=!1,c;const u=m=>{if(l)return;const y=unref(m);y&&!c&&(y.addEventListener(i,e,{capture:a,passive:o}),c=!0)},d=m=>{if(l)return;const y=unref(m);y&&c&&(y.removeEventListener(i,e,a),c=!1)};onUnmounted(()=>d(s)),onDeactivated(()=>d(s)),onMountedOrActivated(()=>u(s));let g;return isRef(s)&&(g=watch(s,(m,y)=>{d(y),u(m)})),()=>{g==null||g(),d(s),l=!0}}function useClickAway(i,e,r={}){if(!inBrowser$1)return;const{eventName:s="click"}=r;useEventListener$1(s,a=>{(Array.isArray(i)?i:[i]).every(u=>{const d=unref(u);return d&&!d.contains(a.target)})&&e(a)},{target:document})}var width,height;function useWindowSize(){if(!width&&(width=ref(0),height=ref(0),inBrowser$1)){const i=()=>{width.value=window.innerWidth,height.value=window.innerHeight};i(),window.addEventListener("resize",i,{passive:!0}),window.addEventListener("orientationchange",i,{passive:!0})}return{width,height}}var overflowScrollReg=/scroll|auto|overlay/i,defaultRoot=inBrowser$1?window:void 0;function isElement$2(i){return i.tagName!=="HTML"&&i.tagName!=="BODY"&&i.nodeType===1}function getScrollParent$1(i,e=defaultRoot){let r=i;for(;r&&r!==e&&isElement$2(r);){const{overflowY:s}=window.getComputedStyle(r);if(overflowScrollReg.test(s))return r;r=r.parentNode}return e}function useScrollParent(i,e=defaultRoot){const r=ref();return onMounted(()=>{i.value&&(r.value=getScrollParent$1(i.value,e))}),r}var visibility;function usePageVisibility(){if(!visibility&&(visibility=ref("visible"),inBrowser$1)){const i=()=>{visibility.value=document.hidden?"hidden":"visible"};i(),window.addEventListener("visibilitychange",i)}return visibility}var CUSTOM_FIELD_INJECTION_KEY=Symbol("van-field");function useCustomFieldValue(i){const e=inject(CUSTOM_FIELD_INJECTION_KEY,null);e&&!e.customValue.value&&(e.customValue.value=i,watch(i,()=>{e.resetValidation(),e.validateWithTrigger("onChange")}))}function getScrollTop(i){const e="scrollTop"in i?i.scrollTop:i.pageYOffset;return Math.max(e,0)}function setScrollTop(i,e){"scrollTop"in i?i.scrollTop=e:i.scrollTo(i.scrollX,e)}function getRootScrollTop(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}function setRootScrollTop(i){setScrollTop(window,i),setScrollTop(document.body,i)}function getElementTop(i,e){if(i===window)return 0;const r=e?getScrollTop(e):getRootScrollTop();return useRect(i).top+r}const isIOS$1=isIOS$2();function resetScroll(){isIOS$1&&setRootScrollTop(getRootScrollTop())}const stopPropagation=i=>i.stopPropagation();function preventDefault(i,e){(typeof i.cancelable!="boolean"||i.cancelable)&&i.preventDefault(),e&&stopPropagation(i)}function isHidden(i){const e=unref(i);if(!e)return!1;const r=window.getComputedStyle(e),s=r.display==="none",o=e.offsetParent===null&&r.position!=="fixed";return s||o}const{width:windowWidth,height:windowHeight}=useWindowSize();function addUnit(i){if(isDef$1(i))return isNumeric(i)?`${i}px`:String(i)}function getSizeStyle(i){if(isDef$1(i)){if(Array.isArray(i))return{width:addUnit(i[0]),height:addUnit(i[1])};const e=addUnit(i);return{width:e,height:e}}}function getZIndexStyle(i){const e={};return i!==void 0&&(e.zIndex=+i),e}let rootFontSize;function getRootFontSize(){if(!rootFontSize){const i=document.documentElement,e=i.style.fontSize||window.getComputedStyle(i).fontSize;rootFontSize=parseFloat(e)}return rootFontSize}function convertRem(i){return i=i.replace(/rem/g,""),+i*getRootFontSize()}function convertVw(i){return i=i.replace(/vw/g,""),+i*windowWidth.value/100}function convertVh(i){return i=i.replace(/vh/g,""),+i*windowHeight.value/100}function unitToPx(i){if(typeof i=="number")return i;if(inBrowser$2){if(i.includes("rem"))return convertRem(i);if(i.includes("vw"))return convertVw(i);if(i.includes("vh"))return convertVh(i)}return parseFloat(i)}const camelizeRE=/-(\w)/g,camelize$1=i=>i.replace(camelizeRE,(e,r)=>r.toUpperCase()),kebabCase=i=>i.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),clamp=(i,e,r)=>Math.min(Math.max(i,e),r);function trimExtraChar(i,e,r){const s=i.indexOf(e);return s===-1?i:e==="-"&&s!==0?i.slice(0,s):i.slice(0,s+1)+i.slice(s).replace(r,"")}function formatNumber(i,e=!0,r=!0){e?i=trimExtraChar(i,".",/\./g):i=i.split(".")[0],r?i=trimExtraChar(i,"-",/-/g):i=i.replace(/-/,"");const s=e?/[^-0-9.]/g:/[^-0-9]/g;return i.replace(s,"")}function addNumber(i,e){return Math.round((i+e)*1e10)/1e10}const{hasOwnProperty:hasOwnProperty$d}=Object.prototype;function assignKey(i,e,r){const s=e[r];isDef$1(s)&&(!hasOwnProperty$d.call(i,r)||!isObject$4(s)?i[r]=s:i[r]=deepAssign(Object(i[r]),s))}function deepAssign(i,e){return Object.keys(e).forEach(r=>{assignKey(i,e,r)}),i}var stdin_default$L={name:"姓名",tel:"电话",save:"保存",confirm:"确认",cancel:"取消",delete:"删除",loading:"加载中...",noCoupon:"暂无优惠券",nameEmpty:"请填写姓名",addContact:"添加联系人",telInvalid:"请填写正确的电话",vanCalendar:{end:"结束",start:"开始",title:"日期选择",weekdays:["日","一","二","三","四","五","六"],monthTitle:(i,e)=>`${i}年${e}月`,rangePrompt:i=>`最多选择 ${i} 天`},vanCascader:{select:"请选择"},vanPagination:{prev:"上一页",next:"下一页"},vanPullRefresh:{pulling:"下拉即可刷新...",loosing:"释放即可刷新..."},vanSubmitBar:{label:"合计:"},vanCoupon:{unlimited:"无门槛",discount:i=>`${i}折`,condition:i=>`满${i}元可用`},vanCouponCell:{title:"优惠券",count:i=>`${i}张可用`},vanCouponList:{exchange:"兑换",close:"不使用",enable:"可用",disabled:"不可用",placeholder:"输入优惠码"},vanAddressEdit:{area:"地区",areaEmpty:"请选择地区",addressEmpty:"请填写详细地址",addressDetail:"详细地址",defaultAddress:"设为默认收货地址"},vanAddressList:{add:"新增地址"}};const lang=ref("zh-CN"),messages=reactive({"zh-CN":stdin_default$L}),Locale={messages(){return messages[lang.value]},use(i,e){lang.value=i,this.add({[i]:e})},add(i={}){deepAssign(messages,i)}};var stdin_default$K=Locale;function createTranslate(i){const e=camelize$1(i)+".";return(r,...s)=>{const o=stdin_default$K.messages(),a=get(o,e+r)||get(o,r);return isFunction$5(a)?a(...s):a}}function genBem(i,e){return e?typeof e=="string"?` ${i}--${e}`:Array.isArray(e)?e.reduce((r,s)=>r+genBem(i,s),""):Object.keys(e).reduce((r,s)=>r+(e[s]?genBem(i,s):""),""):""}function createBEM(i){return(e,r)=>(e&&typeof e!="string"&&(r=e,e=""),e=e?`${i}__${e}`:i,`${e}${genBem(e,r)}`)}function createNamespace$1(i){const e=`van-${i}`;return[e,createBEM(e),createTranslate(e)]}const BORDER="van-hairline",BORDER_TOP=`${BORDER}--top`,BORDER_LEFT=`${BORDER}--left`,BORDER_BOTTOM=`${BORDER}--bottom`,BORDER_SURROUND=`${BORDER}--surround`,BORDER_TOP_BOTTOM=`${BORDER}--top-bottom`,BORDER_UNSET_TOP_BOTTOM=`${BORDER}-unset--top-bottom`,HAPTICS_FEEDBACK="van-haptics-feedback",FORM_KEY=Symbol("van-form"),LONG_PRESS_START_TIME=500;function callInterceptor(i,{args:e=[],done:r,canceled:s}){if(i){const o=i.apply(null,e);isPromise(o)?o.then(a=>{a?r():s&&s()}).catch(noop$1):o?r():s&&s()}else r()}function withInstall(i){return i.install=e=>{const{name:r}=i;r&&(e.component(r,i),e.component(camelize$1(`-${r}`),i))},i}const POPUP_TOGGLE_KEY=Symbol();function onPopupReopen(i){const e=inject(POPUP_TOGGLE_KEY,null);e&&watch(e,r=>{r&&i()})}const useHeight=(i,e)=>{const r=ref(),s=()=>{r.value=useRect(i).height};return onMounted(()=>{if(nextTick(s),e)for(let o=1;o<=3;o++)setTimeout(s,100*o)}),onPopupReopen(()=>nextTick(s)),watch([windowWidth,windowHeight],s),r};function usePlaceholder(i,e){const r=useHeight(i,!0);return s=>createVNode("div",{class:e("placeholder"),style:{height:r.value?`${r.value}px`:void 0}},[s()])}const[name$J,bem$G]=createNamespace$1("action-bar"),ACTION_BAR_KEY=Symbol(name$J),actionBarProps={placeholder:Boolean,safeAreaInsetBottom:truthProp};var stdin_default$J=defineComponent({name:name$J,props:actionBarProps,setup(i,{slots:e}){const r=ref(),s=usePlaceholder(r,bem$G),{linkChildren:o}=useChildren$1(ACTION_BAR_KEY);o();const a=()=>{var l;return createVNode("div",{ref:r,class:[bem$G(),{"van-safe-area-bottom":i.safeAreaInsetBottom}]},[(l=e.default)==null?void 0:l.call(e)])};return()=>i.placeholder?s(a):a()}});const ActionBar=withInstall(stdin_default$J);function useExpose(i){const e=getCurrentInstance();e&&extend$2(e.proxy,i)}const routeProps={to:[String,Object],url:String,replace:Boolean};function route({to:i,url:e,replace:r,$router:s}){i&&s?s[r?"replace":"push"](i):e&&(r?location.replace(e):location.href=e)}function useRoute(){const i=getCurrentInstance().proxy;return()=>route(i)}const[name$I,bem$F]=createNamespace$1("badge"),badgeProps={dot:Boolean,max:numericProp,tag:makeStringProp("div"),color:String,offset:Array,content:numericProp,showZero:truthProp,position:makeStringProp("top-right")};var stdin_default$I=defineComponent({name:name$I,props:badgeProps,setup(i,{slots:e}){const r=()=>{if(e.content)return!0;const{content:c,showZero:u}=i;return isDef$1(c)&&c!==""&&(u||c!==0&&c!=="0")},s=()=>{const{dot:c,max:u,content:d}=i;if(!c&&r())return e.content?e.content():isDef$1(u)&&isNumeric(d)&&+d>+u?`${u}+`:d},o=c=>c.startsWith("-")?c.replace("-",""):`-${c}`,a=computed(()=>{const c={background:i.color};if(i.offset){const[u,d]=i.offset,{position:g}=i,[m,y]=g.split("-");e.default?(typeof d=="number"?c[m]=addUnit(m==="top"?d:-d):c[m]=m==="top"?addUnit(d):o(d),typeof u=="number"?c[y]=addUnit(y==="left"?u:-u):c[y]=y==="left"?addUnit(u):o(u)):(c.marginTop=addUnit(d),c.marginLeft=addUnit(u))}return c}),l=()=>{if(r()||i.dot)return createVNode("div",{class:bem$F([i.position,{dot:i.dot,fixed:!!e.default}]),style:a.value},[s()])};return()=>{if(e.default){const{tag:c}=i;return createVNode(c,{class:bem$F("wrapper")},{default:()=>[e.default(),l()]})}return l()}}});const Badge=withInstall(stdin_default$I);let globalZIndex=2e3;const useGlobalZIndex=()=>++globalZIndex,setGlobalZIndex=i=>{globalZIndex=i},[name$H,bem$E]=createNamespace$1("config-provider"),CONFIG_PROVIDER_KEY=Symbol(name$H),configProviderProps={tag:makeStringProp("div"),theme:makeStringProp("light"),zIndex:Number,themeVars:Object,themeVarsDark:Object,themeVarsLight:Object,iconPrefix:String};function mapThemeVarsToCSSVars(i){const e={};return Object.keys(i).forEach(r=>{e[`--van-${kebabCase(r)}`]=i[r]}),e}defineComponent({name:name$H,props:configProviderProps,setup(i,{slots:e}){const r=computed(()=>mapThemeVarsToCSSVars(extend$2({},i.themeVars,i.theme==="dark"?i.themeVarsDark:i.themeVarsLight)));if(inBrowser$2){const s=()=>{document.documentElement.classList.add(`van-theme-${i.theme}`)},o=(a=i.theme)=>{document.documentElement.classList.remove(`van-theme-${a}`)};watch(()=>i.theme,(a,l)=>{l&&o(l),s()},{immediate:!0}),onActivated(s),onDeactivated(o),onBeforeUnmount(o)}return provide(CONFIG_PROVIDER_KEY,i),watchEffect(()=>{i.zIndex!==void 0&&setGlobalZIndex(i.zIndex)}),()=>createVNode(i.tag,{class:bem$E(),style:r.value},{default:()=>{var s;return[(s=e.default)==null?void 0:s.call(e)]}})}});const[name$G,bem$D]=createNamespace$1("icon"),isImage=i=>i==null?void 0:i.includes("/"),iconProps={dot:Boolean,tag:makeStringProp("i"),name:String,size:numericProp,badge:numericProp,color:String,badgeProps:Object,classPrefix:String};var stdin_default$H=defineComponent({name:name$G,props:iconProps,setup(i,{slots:e}){const r=inject(CONFIG_PROVIDER_KEY,null),s=computed(()=>i.classPrefix||(r==null?void 0:r.iconPrefix)||bem$D());return()=>{const{tag:o,dot:a,name:l,size:c,badge:u,color:d}=i,g=isImage(l);return createVNode(Badge,mergeProps({dot:a,tag:o,class:[s.value,g?"":`${s.value}-${l}`],style:{color:d,fontSize:addUnit(c)},content:u},i.badgeProps),{default:()=>{var m;return[(m=e.default)==null?void 0:m.call(e),g&&createVNode("img",{class:bem$D("image"),src:l},null)]}})}}});const Icon$1=withInstall(stdin_default$H),[name$F,bem$C]=createNamespace$1("loading"),SpinIcon=Array(12).fill(null).map((i,e)=>createVNode("i",{class:bem$C("line",String(e+1))},null)),CircularIcon=createVNode("svg",{class:bem$C("circular"),viewBox:"25 25 50 50"},[createVNode("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),loadingProps={size:numericProp,type:makeStringProp("circular"),color:String,vertical:Boolean,textSize:numericProp,textColor:String};var stdin_default$G=defineComponent({name:name$F,props:loadingProps,setup(i,{slots:e}){const r=computed(()=>extend$2({color:i.color},getSizeStyle(i.size))),s=()=>{const a=i.type==="spinner"?SpinIcon:CircularIcon;return createVNode("span",{class:bem$C("spinner",i.type),style:r.value},[e.icon?e.icon():a])},o=()=>{var a;if(e.default)return createVNode("span",{class:bem$C("text"),style:{fontSize:addUnit(i.textSize),color:(a=i.textColor)!=null?a:i.color}},[e.default()])};return()=>{const{type:a,vertical:l}=i;return createVNode("div",{class:bem$C([a,{vertical:l}]),"aria-live":"polite","aria-busy":!0},[s(),o()])}}});const Loading$2=withInstall(stdin_default$G),[name$E,bem$B]=createNamespace$1("button"),buttonProps=extend$2({},routeProps,{tag:makeStringProp("button"),text:String,icon:String,type:makeStringProp("default"),size:makeStringProp("normal"),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:makeStringProp("button"),loadingSize:numericProp,loadingText:String,loadingType:String,iconPosition:makeStringProp("left")});var stdin_default$F=defineComponent({name:name$E,props:buttonProps,emits:["click"],setup(i,{emit:e,slots:r}){const s=useRoute(),o=()=>r.loading?r.loading():createVNode(Loading$2,{size:i.loadingSize,type:i.loadingType,class:bem$B("loading")},null),a=()=>{if(i.loading)return o();if(r.icon)return createVNode("div",{class:bem$B("icon")},[r.icon()]);if(i.icon)return createVNode(Icon$1,{name:i.icon,class:bem$B("icon"),classPrefix:i.iconPrefix},null)},l=()=>{let d;if(i.loading?d=i.loadingText:d=r.default?r.default():i.text,d)return createVNode("span",{class:bem$B("text")},[d])},c=()=>{const{color:d,plain:g}=i;if(d){const m={color:g?d:"white"};return g||(m.background=d),d.includes("gradient")?m.border=0:m.borderColor=d,m}},u=d=>{i.loading?preventDefault(d):i.disabled||(e("click",d),s())};return()=>{const{tag:d,type:g,size:m,block:y,round:b,plain:A,square:S,loading:E,disabled:x,hairline:P,nativeType:C,iconPosition:T}=i,k=[bem$B([g,m,{plain:A,block:y,round:b,square:S,loading:E,disabled:x,hairline:P}]),{[BORDER_SURROUND]:P}];return createVNode(d,{type:C,class:k,style:c(),disabled:x,onClick:u},{default:()=>[createVNode("div",{class:bem$B("content")},[T==="left"&&a(),l(),T==="right"&&a()])]})}}});const Button$1=withInstall(stdin_default$F),[name$D,bem$A]=createNamespace$1("action-bar-button"),actionBarButtonProps=extend$2({},routeProps,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean});var stdin_default$E=defineComponent({name:name$D,props:actionBarButtonProps,setup(i,{slots:e}){const r=useRoute(),{parent:s,index:o}=useParent$1(ACTION_BAR_KEY),a=computed(()=>{if(s){const c=s.children[o.value-1];return!(c&&"isButton"in c)}}),l=computed(()=>{if(s){const c=s.children[o.value+1];return!(c&&"isButton"in c)}});return useExpose({isButton:!0}),()=>{const{type:c,icon:u,text:d,color:g,loading:m,disabled:y}=i;return createVNode(Button$1,{class:bem$A([c,{last:l.value,first:a.value}]),size:"large",type:c,icon:u,color:g,loading:m,disabled:y,onClick:r},{default:()=>[e.default?e.default():d]})}}});const ActionBarButton=withInstall(stdin_default$E),popupSharedProps={show:Boolean,zIndex:numericProp,overlay:truthProp,duration:numericProp,teleport:[String,Object],lockScroll:truthProp,lazyRender:truthProp,beforeClose:Function,overlayStyle:Object,overlayClass:unknownProp,transitionAppear:Boolean,closeOnClickOverlay:truthProp},popupSharedPropKeys=Object.keys(popupSharedProps);function getDirection(i,e){return i>e?"horizontal":e>i?"vertical":""}function useTouch(){const i=ref(0),e=ref(0),r=ref(0),s=ref(0),o=ref(0),a=ref(0),l=ref(""),c=()=>l.value==="vertical",u=()=>l.value==="horizontal",d=()=>{r.value=0,s.value=0,o.value=0,a.value=0,l.value=""};return{move:y=>{const b=y.touches[0];r.value=(b.clientX<0?0:b.clientX)-i.value,s.value=b.clientY-e.value,o.value=Math.abs(r.value),a.value=Math.abs(s.value);const A=10;(!l.value||o.value{d(),i.value=y.touches[0].clientX,e.value=y.touches[0].clientY},reset:d,startX:i,startY:e,deltaX:r,deltaY:s,offsetX:o,offsetY:a,direction:l,isVertical:c,isHorizontal:u}}let totalLockCount=0;const BODY_LOCK_CLASS="van-overflow-hidden";function useLockScroll(i,e){const r=useTouch(),s="01",o="10",a=g=>{r.move(g);const m=r.deltaY.value>0?o:s,y=getScrollParent$1(g.target,i.value),{scrollHeight:b,offsetHeight:A,scrollTop:S}=y;let E="11";S===0?E=A>=b?"00":"01":S+A>=b&&(E="10"),E!=="11"&&r.isVertical()&&!(parseInt(E,2)&parseInt(m,2))&&preventDefault(g,!0)},l=()=>{document.addEventListener("touchstart",r.start),document.addEventListener("touchmove",a,{passive:!1}),totalLockCount||document.body.classList.add(BODY_LOCK_CLASS),totalLockCount++},c=()=>{totalLockCount&&(document.removeEventListener("touchstart",r.start),document.removeEventListener("touchmove",a),totalLockCount--,totalLockCount||document.body.classList.remove(BODY_LOCK_CLASS))},u=()=>e()&&l(),d=()=>e()&&c();onMountedOrActivated(u),onDeactivated(d),onBeforeUnmount(d),watch(e,g=>{g?l():c()})}function useLazyRender(i){const e=ref(!1);return watch(i,r=>{r&&(e.value=r)},{immediate:!0}),r=>()=>e.value?r():null}const[name$C,bem$z]=createNamespace$1("overlay"),overlayProps={show:Boolean,zIndex:numericProp,duration:numericProp,className:unknownProp,lockScroll:truthProp,lazyRender:truthProp,customStyle:Object};var stdin_default$D=defineComponent({name:name$C,props:overlayProps,setup(i,{slots:e}){const r=ref(),s=useLazyRender(()=>i.show||!i.lazyRender),o=l=>{i.lockScroll&&preventDefault(l,!0)},a=s(()=>{var l;const c=extend$2(getZIndexStyle(i.zIndex),i.customStyle);return isDef$1(i.duration)&&(c.animationDuration=`${i.duration}s`),withDirectives(createVNode("div",{ref:r,style:c,class:[bem$z(),i.className]},[(l=e.default)==null?void 0:l.call(e)]),[[vShow,i.show]])});return useEventListener$1("touchmove",o,{target:r}),()=>createVNode(Transition,{name:"van-fade",appear:!0},{default:a})}});const Overlay=withInstall(stdin_default$D),popupProps$2=extend$2({},popupSharedProps,{round:Boolean,position:makeStringProp("center"),closeIcon:makeStringProp("cross"),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:makeStringProp("top-right"),safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[name$B,bem$y]=createNamespace$1("popup");var stdin_default$C=defineComponent({name:name$B,inheritAttrs:!1,props:popupProps$2,emits:["open","close","opened","closed","keydown","update:show","clickOverlay","clickCloseIcon"],setup(i,{emit:e,attrs:r,slots:s}){let o,a;const l=ref(),c=ref(),u=useLazyRender(()=>i.show||!i.lazyRender),d=computed(()=>{const k={zIndex:l.value};if(isDef$1(i.duration)){const I=i.position==="center"?"animationDuration":"transitionDuration";k[I]=`${i.duration}s`}return k}),g=()=>{o||(o=!0,l.value=i.zIndex!==void 0?+i.zIndex:useGlobalZIndex(),e("open"))},m=()=>{o&&callInterceptor(i.beforeClose,{done(){o=!1,e("close"),e("update:show",!1)}})},y=k=>{e("clickOverlay",k),i.closeOnClickOverlay&&m()},b=()=>{if(i.overlay)return createVNode(Overlay,{show:i.show,class:i.overlayClass,zIndex:l.value,duration:i.duration,customStyle:i.overlayStyle,role:i.closeOnClickOverlay?"button":void 0,tabindex:i.closeOnClickOverlay?0:void 0,onClick:y},{default:s["overlay-content"]})},A=k=>{e("clickCloseIcon",k),m()},S=()=>{if(i.closeable)return createVNode(Icon$1,{role:"button",tabindex:0,name:i.closeIcon,class:[bem$y("close-icon",i.closeIconPosition),HAPTICS_FEEDBACK],classPrefix:i.iconPrefix,onClick:A},null)},E=()=>e("opened"),x=()=>e("closed"),P=k=>e("keydown",k),C=u(()=>{var k;const{round:I,position:M,safeAreaInsetTop:R,safeAreaInsetBottom:B}=i;return withDirectives(createVNode("div",mergeProps({ref:c,style:d.value,role:"dialog",tabindex:0,class:[bem$y({round:I,[M]:M}),{"van-safe-area-top":R,"van-safe-area-bottom":B}],onKeydown:P},r),[(k=s.default)==null?void 0:k.call(s),S()]),[[vShow,i.show]])}),T=()=>{const{position:k,transition:I,transitionAppear:M}=i,R=k==="center"?"van-fade":`van-popup-slide-${k}`;return createVNode(Transition,{name:I||R,appear:M,onAfterEnter:E,onAfterLeave:x},{default:C})};return watch(()=>i.show,k=>{k&&!o&&(g(),r.tabindex===0&&nextTick(()=>{var I;(I=c.value)==null||I.focus()})),!k&&o&&(o=!1,e("close"))}),useExpose({popupRef:c}),useLockScroll(c,()=>i.show&&i.lockScroll),useEventListener$1("popstate",()=>{i.closeOnPopstate&&(m(),a=!1)}),onMounted(()=>{i.show&&g()}),onActivated(()=>{a&&(e("update:show",!0),a=!1)}),onDeactivated(()=>{i.show&&i.teleport&&(m(),a=!0)}),provide(POPUP_TOGGLE_KEY,()=>i.show),()=>i.teleport?createVNode(Teleport,{to:i.teleport},{default:()=>[b(),T()]}):createVNode(Fragment,null,[b(),T()])}});const Popup=withInstall(stdin_default$C),[name$A,bem$x,t$3]=createNamespace$1("picker"),getFirstEnabledOption=i=>i.find(e=>!e.disabled)||i[0];function getColumnsType(i,e){const r=i[0];if(r){if(Array.isArray(r))return"multiple";if(e.children in r)return"cascade"}return"default"}function findIndexOfEnabledOption(i,e){e=clamp(e,0,i.length);for(let r=e;r=0;r--)if(!i[r].disabled)return r;return 0}const isOptionExist=(i,e,r)=>e!==void 0&&!!i.find(s=>s[r.value]===e);function findOptionByValue(i,e,r){const s=i.findIndex(a=>a[r.value]===e),o=findIndexOfEnabledOption(i,s);return i[o]}function formatCascadeColumns(i,e,r){const s=[];let o={[e.children]:i},a=0;for(;o&&o[e.children];){const l=o[e.children],c=r.value[a];if(o=isDef$1(c)?findOptionByValue(l,c,e):void 0,!o&&l.length){const u=getFirstEnabledOption(l)[e.value];o=findOptionByValue(l,u,e)}a++,s.push(l)}return s}function getElementTranslateY(i){const{transform:e}=window.getComputedStyle(i),r=e.slice(7,e.length-1).split(", ")[5];return Number(r)}function assignDefaultFields(i){return extend$2({text:"text",value:"value",children:"children"},i)}const DEFAULT_DURATION=200,MOMENTUM_TIME=300,MOMENTUM_DISTANCE=15,[name$z,bem$w]=createNamespace$1("picker-column"),PICKER_KEY=Symbol(name$z);var stdin_default$B=defineComponent({name:name$z,props:{value:numericProp,fields:makeRequiredProp(Object),options:makeArrayProp(),readonly:Boolean,allowHtml:Boolean,optionHeight:makeRequiredProp(Number),swipeDuration:makeRequiredProp(numericProp),visibleOptionNum:makeRequiredProp(numericProp)},emits:["change","clickOption"],setup(i,{emit:e,slots:r}){let s,o,a,l,c;const u=ref(),d=ref(),g=ref(0),m=ref(0),y=useTouch(),b=()=>i.options.length,A=()=>i.optionHeight*(+i.visibleOptionNum-1)/2,S=B=>{const _=findIndexOfEnabledOption(i.options,B),V=-_*i.optionHeight,D=()=>{const F=i.options[_][i.fields.value];F!==i.value&&e("change",F)};s&&V!==g.value?c=D:D(),g.value=V},E=()=>i.readonly||!i.options.length,x=B=>{s||E()||(c=null,m.value=DEFAULT_DURATION,S(B),e("clickOption",i.options[B]))},P=B=>clamp(Math.round(-B/i.optionHeight),0,b()-1),C=(B,_)=>{const V=Math.abs(B/_);B=g.value+V/.003*(B<0?-1:1);const D=P(B);m.value=+i.swipeDuration,S(D)},T=()=>{s=!1,m.value=0,c&&(c(),c=null)},k=B=>{if(!E()){if(y.start(B),s){const _=getElementTranslateY(d.value);g.value=Math.min(0,_-A())}m.value=0,o=g.value,a=Date.now(),l=o,c=null}},I=B=>{if(E())return;y.move(B),y.isVertical()&&(s=!0,preventDefault(B,!0)),g.value=clamp(o+y.deltaY.value,-(b()*i.optionHeight),i.optionHeight);const _=Date.now();_-a>MOMENTUM_TIME&&(a=_,l=g.value)},M=()=>{if(E())return;const B=g.value-l,_=Date.now()-a;if(_MOMENTUM_DISTANCE){C(B,_);return}const D=P(g.value);m.value=DEFAULT_DURATION,S(D),setTimeout(()=>{s=!1},0)},R=()=>{const B={height:`${i.optionHeight}px`};return i.options.map((_,V)=>{const D=_[i.fields.text],{disabled:F}=_,N=_[i.fields.value],K={role:"button",style:B,tabindex:F?-1:0,class:[bem$w("item",{disabled:F,selected:N===i.value}),_.className],onClick:()=>x(V)},G={class:"van-ellipsis",[i.allowHtml?"innerHTML":"textContent"]:D};return createVNode("li",K,[r.option?r.option(_,V):createVNode("div",G,null)])})};return useParent$1(PICKER_KEY),useExpose({stopMomentum:T}),watchEffect(()=>{const B=i.options.findIndex(D=>D[i.fields.value]===i.value),V=-findIndexOfEnabledOption(i.options,B)*i.optionHeight;g.value=V}),useEventListener$1("touchmove",I,{target:u}),()=>createVNode("div",{ref:u,class:bem$w(),onTouchstartPassive:k,onTouchend:M,onTouchcancel:M},[createVNode("ul",{ref:d,style:{transform:`translate3d(0, ${g.value+A()}px, 0)`,transitionDuration:`${m.value}ms`,transitionProperty:m.value?"all":"none"},class:bem$w("wrapper"),onTransitionend:T},[R()])])}});const[name$y]=createNamespace$1("picker-toolbar"),pickerToolbarProps={title:String,cancelButtonText:String,confirmButtonText:String},pickerToolbarSlots=["cancel","confirm","title","toolbar"],pickerToolbarPropKeys=Object.keys(pickerToolbarProps);var stdin_default$A=defineComponent({name:name$y,props:pickerToolbarProps,emits:["confirm","cancel"],setup(i,{emit:e,slots:r}){const s=()=>{if(r.title)return r.title();if(i.title)return createVNode("div",{class:[bem$x("title"),"van-ellipsis"]},[i.title])},o=()=>e("cancel"),a=()=>e("confirm"),l=()=>{const u=i.cancelButtonText||t$3("cancel");return createVNode("button",{type:"button",class:[bem$x("cancel"),HAPTICS_FEEDBACK],onClick:o},[r.cancel?r.cancel():u])},c=()=>{const u=i.confirmButtonText||t$3("confirm");return createVNode("button",{type:"button",class:[bem$x("confirm"),HAPTICS_FEEDBACK],onClick:a},[r.confirm?r.confirm():u])};return()=>createVNode("div",{class:bem$x("toolbar")},[r.toolbar?r.toolbar():[l(),s(),c()]])}});function scrollLeftTo(i,e,r){let s=0;const o=i.scrollLeft,a=r===0?1:Math.round(r*1e3/16);function l(){i.scrollLeft+=(e-o)/a,++se||!a&&oe?raf(u):s&&raf(s)}u()}let current=0;function useId(){const i=getCurrentInstance(),{name:e="unknown"}=(i==null?void 0:i.type)||{};return`${e}-${++current}`}function useRefs(){const i=ref([]),e=[];return onBeforeUpdate(()=>{i.value=[]}),[i,s=>(e[s]||(e[s]=o=>{i.value[s]=o}),e[s])]}function useVisibilityChange(i,e){if(!inBrowser$2||!window.IntersectionObserver)return;const r=new IntersectionObserver(a=>{e(a[0].intersectionRatio>0)},{root:document.body}),s=()=>{i.value&&r.observe(i.value)},o=()=>{i.value&&r.unobserve(i.value)};onDeactivated(o),onBeforeUnmount(o),onMountedOrActivated(s)}const[name$x,bem$v]=createNamespace$1("sticky"),stickyProps={zIndex:numericProp,position:makeStringProp("top"),container:Object,offsetTop:makeNumericProp(0),offsetBottom:makeNumericProp(0)};var stdin_default$z=defineComponent({name:name$x,props:stickyProps,emits:["scroll","change"],setup(i,{emit:e,slots:r}){const s=ref(),o=useScrollParent(s),a=reactive({fixed:!1,width:0,height:0,transform:0}),l=computed(()=>unitToPx(i.position==="top"?i.offsetTop:i.offsetBottom)),c=computed(()=>{const{fixed:m,height:y,width:b}=a;if(m)return{width:`${b}px`,height:`${y}px`}}),u=computed(()=>{if(!a.fixed)return;const m=extend$2(getZIndexStyle(i.zIndex),{width:`${a.width}px`,height:`${a.height}px`,[i.position]:`${l.value}px`});return a.transform&&(m.transform=`translate3d(0, ${a.transform}px, 0)`),m}),d=m=>e("scroll",{scrollTop:m,isFixed:a.fixed}),g=()=>{if(!s.value||isHidden(s))return;const{container:m,position:y}=i,b=useRect(s),A=getScrollTop(window);if(a.width=b.width,a.height=b.height,y==="top")if(m){const S=useRect(m),E=S.bottom-l.value-a.height;a.fixed=l.value>b.top&&S.bottom>0,a.transform=E<0?E:0}else a.fixed=l.value>b.top;else{const{clientHeight:S}=document.documentElement;if(m){const E=useRect(m),x=S-E.top-l.value-a.height;a.fixed=S-l.valueE.top,a.transform=x<0?-x:0}else a.fixed=S-l.valuea.fixed,m=>e("change",m)),useEventListener$1("scroll",g,{target:o,passive:!0}),useVisibilityChange(s,g),()=>{var m;return createVNode("div",{ref:s,style:c.value},[createVNode("div",{class:bem$v({fixed:a.fixed}),style:u.value},[(m=r.default)==null?void 0:m.call(r)])])}}});const Sticky=withInstall(stdin_default$z),[name$w,bem$u]=createNamespace$1("tab");var stdin_default$y=defineComponent({name:name$w,props:{id:String,dot:Boolean,type:String,color:String,title:String,badge:numericProp,shrink:Boolean,isActive:Boolean,disabled:Boolean,controls:String,scrollable:Boolean,activeColor:String,inactiveColor:String,showZeroBadge:truthProp},setup(i,{slots:e}){const r=computed(()=>{const o={},{type:a,color:l,disabled:c,isActive:u,activeColor:d,inactiveColor:g}=i;l&&a==="card"&&(o.borderColor=l,c||(u?o.backgroundColor=l:o.color=l));const y=u?d:g;return y&&(o.color=y),o}),s=()=>{const o=createVNode("span",{class:bem$u("text",{ellipsis:!i.scrollable})},[e.title?e.title():i.title]);return i.dot||isDef$1(i.badge)&&i.badge!==""?createVNode(Badge,{dot:i.dot,content:i.badge,showZero:i.showZeroBadge},{default:()=>[o]}):o};return()=>createVNode("div",{id:i.id,role:"tab",class:[bem$u([i.type,{grow:i.scrollable&&!i.shrink,shrink:i.shrink,active:i.isActive,disabled:i.disabled}])],style:r.value,tabindex:i.disabled?void 0:i.isActive?0:-1,"aria-selected":i.isActive,"aria-disabled":i.disabled||void 0,"aria-controls":i.controls},[s()])}});const[name$v,bem$t]=createNamespace$1("swipe"),swipeProps={loop:truthProp,width:numericProp,height:numericProp,vertical:Boolean,autoplay:makeNumericProp(0),duration:makeNumericProp(500),touchable:truthProp,lazyRender:Boolean,initialSwipe:makeNumericProp(0),indicatorColor:String,showIndicators:truthProp,stopPropagation:truthProp},SWIPE_KEY=Symbol(name$v);var stdin_default$x=defineComponent({name:name$v,props:swipeProps,emits:["change","dragStart","dragEnd"],setup(i,{emit:e,slots:r}){const s=ref(),o=ref(),a=reactive({rect:null,width:0,height:0,offset:0,active:0,swiping:!1});let l=!1;const c=useTouch(),{children:u,linkChildren:d}=useChildren$1(SWIPE_KEY),g=computed(()=>u.length),m=computed(()=>a[i.vertical?"height":"width"]),y=computed(()=>i.vertical?c.deltaY.value:c.deltaX.value),b=computed(()=>a.rect?(i.vertical?a.rect.height:a.rect.width)-m.value*g.value:0),A=computed(()=>m.value?Math.ceil(Math.abs(b.value)/m.value):g.value),S=computed(()=>g.value*m.value),E=computed(()=>(a.active+g.value)%g.value),x=computed(()=>{const Y=i.vertical?"vertical":"horizontal";return c.direction.value===Y}),P=computed(()=>{const Y={transitionDuration:`${a.swiping?0:i.duration}ms`,transform:`translate${i.vertical?"Y":"X"}(${a.offset}px)`};if(m.value){const Q=i.vertical?"height":"width",xe=i.vertical?"width":"height";Y[Q]=`${S.value}px`,Y[xe]=i[xe]?`${i[xe]}px`:""}return Y}),C=Y=>{const{active:Q}=a;return Y?i.loop?clamp(Q+Y,-1,g.value):clamp(Q+Y,0,A.value):Q},T=(Y,Q=0)=>{let xe=Y*m.value;i.loop||(xe=Math.min(xe,-b.value));let ue=Q-xe;return i.loop||(ue=clamp(ue,b.value,0)),ue},k=({pace:Y=0,offset:Q=0,emitChange:xe})=>{if(g.value<=1)return;const{active:ue}=a,W=C(Y),J=T(W,Q);if(i.loop){if(u[0]&&J!==b.value){const ce=J0;u[g.value-1].setOffset(ce?-S.value:0)}}a.active=W,a.offset=J,xe&&W!==ue&&e("change",E.value)},I=()=>{a.swiping=!0,a.active<=-1?k({pace:g.value}):a.active>=g.value&&k({pace:-g.value})},M=()=>{I(),c.reset(),doubleRaf(()=>{a.swiping=!1,k({pace:-1,emitChange:!0})})},R=()=>{I(),c.reset(),doubleRaf(()=>{a.swiping=!1,k({pace:1,emitChange:!0})})};let B;const _=()=>clearTimeout(B),V=()=>{_(),+i.autoplay>0&&g.value>1&&(B=setTimeout(()=>{R(),V()},+i.autoplay))},D=(Y=+i.initialSwipe)=>{if(!s.value)return;const Q=()=>{var xe,ue;if(!isHidden(s)){const W={width:s.value.offsetWidth,height:s.value.offsetHeight};a.rect=W,a.width=+((xe=i.width)!=null?xe:W.width),a.height=+((ue=i.height)!=null?ue:W.height)}g.value&&(Y=Math.min(g.value-1,Y),Y===-1&&(Y=g.value-1)),a.active=Y,a.swiping=!0,a.offset=T(Y),u.forEach(W=>{W.setOffset(0)}),V()};isHidden(s)?nextTick().then(Q):Q()},F=()=>D(a.active);let N;const K=Y=>{!i.touchable||Y.touches.length>1||(c.start(Y),l=!1,N=Date.now(),_(),I())},G=Y=>{i.touchable&&a.swiping&&(c.move(Y),x.value&&(!i.loop&&(a.active===0&&y.value>0||a.active===g.value-1&&y.value<0)||(preventDefault(Y,i.stopPropagation),k({offset:y.value}),l||(e("dragStart",{index:E.value}),l=!0))))},q=()=>{if(!i.touchable||!a.swiping)return;const Y=Date.now()-N,Q=y.value/Y;if((Math.abs(Q)>.25||Math.abs(y.value)>m.value/2)&&x.value){const ue=i.vertical?c.offsetY.value:c.offsetX.value;let W=0;i.loop?W=ue>0?y.value>0?-1:1:0:W=-Math[y.value>0?"ceil":"floor"](y.value/m.value),k({pace:W,emitChange:!0})}else y.value&&k({pace:0});l=!1,a.swiping=!1,e("dragEnd",{index:E.value}),V()},O=(Y,Q={})=>{I(),c.reset(),doubleRaf(()=>{let xe;i.loop&&Y===g.value?xe=a.active===0?0:Y:xe=Y%g.value,Q.immediate?doubleRaf(()=>{a.swiping=!1}):a.swiping=!1,k({pace:xe-a.active,emitChange:!0})})},U=(Y,Q)=>{const xe=Q===E.value,ue=xe?{backgroundColor:i.indicatorColor}:void 0;return createVNode("i",{style:ue,class:bem$t("indicator",{active:xe})},null)},$=()=>{if(r.indicator)return r.indicator({active:E.value,total:g.value});if(i.showIndicators&&g.value>1)return createVNode("div",{class:bem$t("indicators",{vertical:i.vertical})},[Array(g.value).fill("").map(U)])};return useExpose({prev:M,next:R,state:a,resize:F,swipeTo:O}),d({size:m,props:i,count:g,activeIndicator:E}),watch(()=>i.initialSwipe,Y=>D(+Y)),watch(g,()=>D(a.active)),watch(()=>i.autoplay,V),watch([windowWidth,windowHeight],F),watch(usePageVisibility(),Y=>{Y==="visible"?V():_()}),onMounted(D),onActivated(()=>D(a.active)),onPopupReopen(()=>D(a.active)),onDeactivated(_),onBeforeUnmount(_),useEventListener$1("touchmove",G,{target:o}),()=>{var Y;return createVNode("div",{ref:s,class:bem$t()},[createVNode("div",{ref:o,style:P.value,class:bem$t("track",{vertical:i.vertical}),onTouchstartPassive:K,onTouchend:q,onTouchcancel:q},[(Y=r.default)==null?void 0:Y.call(r)]),$()])}}});const Swipe=withInstall(stdin_default$x),[name$u,bem$s]=createNamespace$1("tabs");var stdin_default$w=defineComponent({name:name$u,props:{count:makeRequiredProp(Number),inited:Boolean,animated:Boolean,duration:makeRequiredProp(numericProp),swipeable:Boolean,lazyRender:Boolean,currentIndex:makeRequiredProp(Number)},emits:["change"],setup(i,{emit:e,slots:r}){const s=ref(),o=c=>e("change",c),a=()=>{var c;const u=(c=r.default)==null?void 0:c.call(r);return i.animated||i.swipeable?createVNode(Swipe,{ref:s,loop:!1,class:bem$s("track"),duration:+i.duration*1e3,touchable:i.swipeable,lazyRender:i.lazyRender,showIndicators:!1,onChange:o},{default:()=>[u]}):u},l=c=>{const u=s.value;u&&u.state.active!==c&&u.swipeTo(c,{immediate:!i.inited})};return watch(()=>i.currentIndex,l),onMounted(()=>{l(i.currentIndex)}),useExpose({swipeRef:s}),()=>createVNode("div",{class:bem$s("content",{animated:i.animated||i.swipeable})},[a()])}});const[name$t,bem$r]=createNamespace$1("tabs"),tabsProps={type:makeStringProp("line"),color:String,border:Boolean,sticky:Boolean,shrink:Boolean,active:makeNumericProp(0),duration:makeNumericProp(.3),animated:Boolean,ellipsis:truthProp,swipeable:Boolean,scrollspy:Boolean,offsetTop:makeNumericProp(0),background:String,lazyRender:truthProp,lineWidth:numericProp,lineHeight:numericProp,beforeChange:Function,swipeThreshold:makeNumericProp(5),titleActiveColor:String,titleInactiveColor:String},TABS_KEY=Symbol(name$t);var stdin_default$v=defineComponent({name:name$t,props:tabsProps,emits:["change","scroll","rendered","clickTab","update:active"],setup(i,{emit:e,slots:r}){let s,o,a;const l=ref(),c=ref(),u=ref(),d=ref(),g=useId(),m=useScrollParent(l),[y,b]=useRefs(),{children:A,linkChildren:S}=useChildren$1(TABS_KEY),E=reactive({inited:!1,position:"",lineStyle:{},currentIndex:-1}),x=computed(()=>A.length>+i.swipeThreshold||!i.ellipsis||i.shrink),P=computed(()=>({borderColor:i.color,background:i.background})),C=(ue,W)=>{var J;return(J=ue.name)!=null?J:W},T=computed(()=>{const ue=A[E.currentIndex];if(ue)return C(ue,E.currentIndex)}),k=computed(()=>unitToPx(i.offsetTop)),I=computed(()=>i.sticky?k.value+s:0),M=ue=>{const W=c.value,J=y.value;if(!x.value||!W||!J||!J[E.currentIndex])return;const ce=J[E.currentIndex].$el,ge=ce.offsetLeft-(W.offsetWidth-ce.offsetWidth)/2;scrollLeftTo(W,ge,ue?0:+i.duration)},R=()=>{const ue=E.inited;nextTick(()=>{const W=y.value;if(!W||!W[E.currentIndex]||i.type!=="line"||isHidden(l.value))return;const J=W[E.currentIndex].$el,{lineWidth:ce,lineHeight:ge}=i,Ee=J.offsetLeft+J.offsetWidth/2,Te={width:addUnit(ce),backgroundColor:i.color,transform:`translateX(${Ee}px) translateX(-50%)`};if(ue&&(Te.transitionDuration=`${i.duration}s`),isDef$1(ge)){const De=addUnit(ge);Te.height=De,Te.borderRadius=De}E.lineStyle=Te})},B=ue=>{const W=ue=0&&ue{const J=B(ue);if(!isDef$1(J))return;const ce=A[J],ge=C(ce,J),Ee=E.currentIndex!==null;E.currentIndex!==J&&(E.currentIndex=J,W||M(),R()),ge!==i.active&&(e("update:active",ge),Ee&&e("change",ge,ce.title)),a&&!i.scrollspy&&setRootScrollTop(Math.ceil(getElementTop(l.value)-k.value))},V=(ue,W)=>{const J=A.find((ge,Ee)=>C(ge,Ee)===ue),ce=J?A.indexOf(J):0;_(ce,W)},D=(ue=!1)=>{if(i.scrollspy){const W=A[E.currentIndex].$el;if(W&&m.value){const J=getElementTop(W,m.value)-I.value;o=!0,scrollTopTo(m.value,J,ue?0:+i.duration,()=>{o=!1})}}},F=(ue,W,J)=>{const{title:ce,disabled:ge}=A[W],Ee=C(A[W],W);ge||(callInterceptor(i.beforeChange,{args:[Ee],done:()=>{_(W),D()}}),route(ue)),e("clickTab",{name:Ee,title:ce,event:J,disabled:ge})},N=ue=>{a=ue.isFixed,e("scroll",ue)},K=ue=>{nextTick(()=>{V(ue),D(!0)})},G=()=>{for(let ue=0;ueI.value)return ue===0?0:ue-1}return A.length-1},q=()=>{if(i.scrollspy&&!o){const ue=G();_(ue)}},O=()=>A.map((ue,W)=>createVNode(stdin_default$y,mergeProps({key:ue.id,id:`${g}-${W}`,ref:b(W),type:i.type,color:i.color,style:ue.titleStyle,class:ue.titleClass,shrink:i.shrink,isActive:W===E.currentIndex,controls:ue.id,scrollable:x.value,activeColor:i.titleActiveColor,inactiveColor:i.titleInactiveColor,onClick:J=>F(ue,W,J)},pick$1(ue,["dot","badge","title","disabled","showZeroBadge"])),{title:ue.$slots.title})),U=()=>{if(i.type==="line"&&A.length)return createVNode("div",{class:bem$r("line"),style:E.lineStyle},null)},$=()=>{var ue,W,J;const{type:ce,border:ge,sticky:Ee}=i,Te=[createVNode("div",{ref:Ee?void 0:u,class:[bem$r("wrap"),{[BORDER_TOP_BOTTOM]:ce==="line"&&ge}]},[createVNode("div",{ref:c,role:"tablist",class:bem$r("nav",[ce,{shrink:i.shrink,complete:x.value}]),style:P.value,"aria-orientation":"horizontal"},[(ue=r["nav-left"])==null?void 0:ue.call(r),O(),U(),(W=r["nav-right"])==null?void 0:W.call(r)])]),(J=r["nav-bottom"])==null?void 0:J.call(r)];return Ee?createVNode("div",{ref:u},[Te]):Te};watch([()=>i.color,windowWidth],R),watch(()=>i.active,ue=>{ue!==T.value&&V(ue)}),watch(()=>A.length,()=>{E.inited&&(V(i.active),R(),nextTick(()=>{M(!0)}))});const Y=()=>{V(i.active,!0),nextTick(()=>{E.inited=!0,u.value&&(s=useRect(u.value).height),M(!0)})},Q=(ue,W)=>e("rendered",ue,W);return useExpose({resize:()=>{R(),nextTick(()=>{var ue,W;return(W=(ue=d.value)==null?void 0:ue.swipeRef.value)==null?void 0:W.resize()})},scrollTo:K}),onActivated(R),onPopupReopen(R),onMountedOrActivated(Y),useVisibilityChange(l,R),useEventListener$1("scroll",q,{target:m,passive:!0}),S({id:g,props:i,setLine:R,onRendered:Q,currentName:T,scrollIntoView:M}),()=>createVNode("div",{ref:l,class:bem$r([i.type])},[i.sticky?createVNode(Sticky,{container:l.value,offsetTop:k.value,onScroll:N},{default:()=>[$()]}):$(),createVNode(stdin_default$w,{ref:d,count:A.length,inited:E.inited,animated:i.animated,duration:i.duration,swipeable:i.swipeable,lazyRender:i.lazyRender,currentIndex:E.currentIndex,onChange:_},{default:()=>{var ue;return[(ue=r.default)==null?void 0:ue.call(r)]}})])}});const TAB_STATUS_KEY=Symbol(),useTabStatus=()=>inject(TAB_STATUS_KEY,null),[name$s,bem$q]=createNamespace$1("swipe-item");var stdin_default$u=defineComponent({name:name$s,setup(i,{slots:e}){let r;const s=reactive({offset:0,inited:!1,mounted:!1}),{parent:o,index:a}=useParent$1(SWIPE_KEY);if(!o)return;const l=computed(()=>{const d={},{vertical:g}=o.props;return o.size.value&&(d[g?"height":"width"]=`${o.size.value}px`),s.offset&&(d.transform=`translate${g?"Y":"X"}(${s.offset}px)`),d}),c=computed(()=>{const{loop:d,lazyRender:g}=o.props;if(!g||r)return!0;if(!s.mounted)return!1;const m=o.activeIndicator.value,y=o.count.value-1,b=m===0&&d?y:m-1,A=m===y&&d?0:m+1;return r=a.value===m||a.value===b||a.value===A,r}),u=d=>{s.offset=d};return onMounted(()=>{nextTick(()=>{s.mounted=!0})}),useExpose({setOffset:u}),()=>{var d;return createVNode("div",{class:bem$q(),style:l.value},[c.value?(d=e.default)==null?void 0:d.call(e):null])}}});const SwipeItem=withInstall(stdin_default$u),[name$r,bem$p]=createNamespace$1("tab"),tabProps=extend$2({},routeProps,{dot:Boolean,name:numericProp,badge:numericProp,title:String,disabled:Boolean,titleClass:unknownProp,titleStyle:[String,Object],showZeroBadge:truthProp});var stdin_default$t=defineComponent({name:name$r,props:tabProps,setup(i,{slots:e}){const r=useId(),s=ref(!1),{parent:o,index:a}=useParent$1(TABS_KEY);if(!o)return;const l=()=>{var g;return(g=i.name)!=null?g:a.value},c=()=>{s.value=!0,o.props.lazyRender&&nextTick(()=>{o.onRendered(l(),i.title)})},u=computed(()=>{const g=l()===o.currentName.value;return g&&!s.value&&c(),g}),d=ref(!u.value);return watch(u,g=>{g?d.value=!1:doubleRaf(()=>{d.value=!0})}),watch(()=>i.title,()=>{o.setLine(),o.scrollIntoView()}),provide(TAB_STATUS_KEY,u),()=>{var g;const m=`${o.id}-${a.value}`,{animated:y,swipeable:b,scrollspy:A,lazyRender:S}=o.props;if(!e.default&&!y)return;const E=A||u.value;if(y||b)return createVNode(SwipeItem,{id:r,role:"tabpanel",class:bem$p("panel-wrapper",{inactive:d.value}),tabindex:u.value?0:-1,"aria-hidden":!u.value,"aria-labelledby":m},{default:()=>{var C;return[createVNode("div",{class:bem$p("panel")},[(C=e.default)==null?void 0:C.call(e)])]}});const P=s.value||A||!S?(g=e.default)==null?void 0:g.call(e):null;return useExpose({id:r}),withDirectives(createVNode("div",{id:r,role:"tabpanel",class:bem$p("panel"),tabindex:E?0:-1,"aria-labelledby":m},[P]),[[vShow,E]])}}});const Tab=withInstall(stdin_default$t),Tabs=withInstall(stdin_default$v),[name$q,bem$o]=createNamespace$1("picker-group"),PICKER_GROUP_KEY=Symbol(name$q),pickerGroupProps=extend$2({tabs:makeArrayProp(),nextStepText:String},pickerToolbarProps);defineComponent({name:name$q,props:pickerGroupProps,emits:["confirm","cancel"],setup(i,{emit:e,slots:r}){const s=ref(0),{children:o,linkChildren:a}=useChildren$1(PICKER_GROUP_KEY);a();const l=()=>s.value{l()?s.value++:e("confirm",o.map(d=>d.confirm()))},u=()=>e("cancel");return()=>{var d;const g=(d=r.default)==null?void 0:d.call(r),m=l()?i.nextStepText:i.confirmButtonText;return createVNode("div",{class:bem$o()},[createVNode(stdin_default$A,{title:i.title,cancelButtonText:i.cancelButtonText,confirmButtonText:m,onConfirm:c,onCancel:u},pick$1(r,pickerToolbarSlots)),createVNode(Tabs,{active:s.value,"onUpdate:active":y=>s.value=y,class:bem$o("tabs"),shrink:!0,animated:!0,lazyRender:!1},{default:()=>[i.tabs.map((y,b)=>createVNode(Tab,{title:y,titleClass:bem$o("tab-title")},{default:()=>[g==null?void 0:g[b]]}))]})])}}});const pickerSharedProps=extend$2({loading:Boolean,readonly:Boolean,allowHtml:Boolean,optionHeight:makeNumericProp(44),showToolbar:truthProp,swipeDuration:makeNumericProp(1e3),visibleOptionNum:makeNumericProp(6)},pickerToolbarProps),pickerProps=extend$2({},pickerSharedProps,{columns:makeArrayProp(),modelValue:makeArrayProp(),toolbarPosition:makeStringProp("top"),columnsFieldNames:Object});var stdin_default$s=defineComponent({name:name$A,props:pickerProps,emits:["confirm","cancel","change","clickOption","update:modelValue"],setup(i,{emit:e,slots:r}){const s=ref(),o=ref(i.modelValue.slice(0)),{parent:a}=useParent$1(PICKER_GROUP_KEY),{children:l,linkChildren:c}=useChildren$1(PICKER_KEY);c();const u=computed(()=>assignDefaultFields(i.columnsFieldNames)),d=computed(()=>unitToPx(i.optionHeight)),g=computed(()=>getColumnsType(i.columns,u.value)),m=computed(()=>{const{columns:V}=i;switch(g.value){case"multiple":return V;case"cascade":return formatCascadeColumns(V,u.value,o);default:return[V]}}),y=computed(()=>m.value.some(V=>V.length)),b=computed(()=>m.value.map((V,D)=>findOptionByValue(V,o.value[D],u.value))),A=computed(()=>m.value.map((V,D)=>V.findIndex(F=>F[u.value.value]===o.value[D]))),S=(V,D)=>{if(o.value[V]!==D){const F=o.value.slice(0);F[V]=D,o.value=F}},E=()=>({selectedValues:o.value.slice(0),selectedOptions:b.value,selectedIndexes:A.value}),x=(V,D)=>{S(D,V),g.value==="cascade"&&o.value.forEach((F,N)=>{const K=m.value[N];isOptionExist(K,F,u.value)||S(N,K.length?K[0][u.value.value]:void 0)}),nextTick(()=>{e("change",extend$2({columnIndex:D},E()))})},P=(V,D)=>e("clickOption",extend$2({columnIndex:D,currentOption:V},E())),C=()=>{l.forEach(D=>D.stopMomentum());const V=E();return nextTick(()=>{e("confirm",V)}),V},T=()=>e("cancel",E()),k=()=>m.value.map((V,D)=>createVNode(stdin_default$B,{value:o.value[D],fields:u.value,options:V,readonly:i.readonly,allowHtml:i.allowHtml,optionHeight:d.value,swipeDuration:i.swipeDuration,visibleOptionNum:i.visibleOptionNum,onChange:F=>x(F,D),onClickOption:F=>P(F,D)},{option:r.option})),I=V=>{if(y.value){const D={height:`${d.value}px`},F={backgroundSize:`100% ${(V-d.value)/2}px`};return[createVNode("div",{class:bem$x("mask"),style:F},null),createVNode("div",{class:[BORDER_UNSET_TOP_BOTTOM,bem$x("frame")],style:D},null)]}},M=()=>{const V=d.value*+i.visibleOptionNum,D={height:`${V}px`};return createVNode("div",{ref:s,class:bem$x("columns"),style:D},[k(),I(V)])},R=()=>{if(i.showToolbar&&!a)return createVNode(stdin_default$A,mergeProps(pick$1(i,pickerToolbarPropKeys),{onConfirm:C,onCancel:T}),pick$1(r,pickerToolbarSlots))};watch(m,V=>{V.forEach((D,F)=>{D.length&&!isOptionExist(D,o.value[F],u.value)&&S(F,getFirstEnabledOption(D)[u.value.value])})},{immediate:!0});let B;return watch(()=>i.modelValue,V=>{!isSameValue(V,o.value)&&!isSameValue(V,B)&&(o.value=V.slice(0),B=V.slice(0))},{deep:!0}),watch(o,V=>{isSameValue(V,i.modelValue)||(B=V.slice(0),e("update:modelValue",B))},{immediate:!0}),useEventListener$1("touchmove",preventDefault,{target:s}),useExpose({confirm:C,getSelectedOptions:()=>b.value}),()=>{var V,D;return createVNode("div",{class:bem$x()},[i.toolbarPosition==="top"?R():null,i.loading?createVNode(Loading$2,{class:bem$x("loading")},null):null,(V=r["columns-top"])==null?void 0:V.call(r),M(),(D=r["columns-bottom"])==null?void 0:D.call(r),i.toolbarPosition==="bottom"?R():null])}}});const Picker=withInstall(stdin_default$s),[name$p,bem$n]=createNamespace$1("cell"),cellSharedProps={tag:makeStringProp("div"),icon:String,size:String,title:numericProp,value:numericProp,label:numericProp,center:Boolean,isLink:Boolean,border:truthProp,required:Boolean,iconPrefix:String,valueClass:unknownProp,labelClass:unknownProp,titleClass:unknownProp,titleStyle:null,arrowDirection:String,clickable:{type:Boolean,default:null}},cellProps=extend$2({},cellSharedProps,routeProps);var stdin_default$r=defineComponent({name:name$p,props:cellProps,setup(i,{slots:e}){const r=useRoute(),s=()=>{if(e.label||isDef$1(i.label))return createVNode("div",{class:[bem$n("label"),i.labelClass]},[e.label?e.label():i.label])},o=()=>{var u;if(e.title||isDef$1(i.title)){const d=(u=e.title)==null?void 0:u.call(e);return Array.isArray(d)&&d.length===0?void 0:createVNode("div",{class:[bem$n("title"),i.titleClass],style:i.titleStyle},[d||createVNode("span",null,[i.title]),s()])}},a=()=>{const u=e.value||e.default;if(u||isDef$1(i.value))return createVNode("div",{class:[bem$n("value"),i.valueClass]},[u?u():createVNode("span",null,[i.value])])},l=()=>{if(e.icon)return e.icon();if(i.icon)return createVNode(Icon$1,{name:i.icon,class:bem$n("left-icon"),classPrefix:i.iconPrefix},null)},c=()=>{if(e["right-icon"])return e["right-icon"]();if(i.isLink){const u=i.arrowDirection&&i.arrowDirection!=="right"?`arrow-${i.arrowDirection}`:"arrow";return createVNode(Icon$1,{name:u,class:bem$n("right-icon")},null)}};return()=>{var u;const{tag:d,size:g,center:m,border:y,isLink:b,required:A}=i,S=(u=i.clickable)!=null?u:b,E={center:m,required:A,clickable:S,borderless:!y};return g&&(E[g]=!!g),createVNode(d,{class:bem$n(E),role:S?"button":void 0,tabindex:S?0:void 0,onClick:r},{default:()=>{var x;return[l(),o(),a(),c(),(x=e.extra)==null?void 0:x.call(e)]}})}}});const Cell=withInstall(stdin_default$r);function isEmptyValue(i){return Array.isArray(i)?!i.length:i===0?!1:!i}function runSyncRule(i,e){if(isEmptyValue(i)){if(e.required)return!1;if(e.validateEmpty===!1)return!0}return!(e.pattern&&!e.pattern.test(String(i)))}function runRuleValidator(i,e){return new Promise(r=>{const s=e.validator(i,e);if(isPromise(s)){s.then(r);return}r(s)})}function getRuleMessage(i,e){const{message:r}=e;return isFunction$5(r)?r(i,e):r||""}function startComposing({target:i}){i.composing=!0}function endComposing({target:i}){i.composing&&(i.composing=!1,i.dispatchEvent(new Event("input")))}function resizeTextarea(i,e){const r=getRootScrollTop();i.style.height="auto";let s=i.scrollHeight;if(isObject$4(e)){const{maxHeight:o,minHeight:a}=e;o!==void 0&&(s=Math.min(s,o)),a!==void 0&&(s=Math.max(s,a))}s&&(i.style.height=`${s}px`,setRootScrollTop(r))}function mapInputType(i){return i==="number"?{type:"text",inputmode:"decimal"}:i==="digit"?{type:"tel",inputmode:"numeric"}:{type:i}}function getStringLength(i){return[...i].length}function cutString(i,e){return[...i].slice(0,e).join("")}const[name$o,bem$m]=createNamespace$1("field"),fieldSharedProps={id:String,name:String,leftIcon:String,rightIcon:String,autofocus:Boolean,clearable:Boolean,maxlength:numericProp,formatter:Function,clearIcon:makeStringProp("clear"),modelValue:makeNumericProp(""),inputAlign:String,placeholder:String,autocomplete:String,errorMessage:String,enterkeyhint:String,clearTrigger:makeStringProp("focus"),formatTrigger:makeStringProp("onChange"),error:{type:Boolean,default:null},disabled:{type:Boolean,default:null},readonly:{type:Boolean,default:null}},fieldProps=extend$2({},cellSharedProps,fieldSharedProps,{rows:numericProp,type:makeStringProp("text"),rules:Array,autosize:[Boolean,Object],labelWidth:numericProp,labelClass:unknownProp,labelAlign:String,showWordLimit:Boolean,errorMessageAlign:String,colon:{type:Boolean,default:null}});var stdin_default$q=defineComponent({name:name$o,props:fieldProps,emits:["blur","focus","clear","keypress","clickInput","endValidate","startValidate","clickLeftIcon","clickRightIcon","update:modelValue"],setup(i,{emit:e,slots:r}){const s=useId(),o=reactive({status:"unvalidated",focused:!1,validateMessage:""}),a=ref(),l=ref(),c=ref(),{parent:u}=useParent$1(FORM_KEY),d=()=>{var J;return String((J=i.modelValue)!=null?J:"")},g=J=>{if(isDef$1(i[J]))return i[J];if(u&&isDef$1(u.props[J]))return u.props[J]},m=computed(()=>{const J=g("readonly");if(i.clearable&&!J){const ce=d()!=="",ge=i.clearTrigger==="always"||i.clearTrigger==="focus"&&o.focused;return ce&&ge}return!1}),y=computed(()=>c.value&&r.input?c.value():i.modelValue),b=J=>J.reduce((ce,ge)=>ce.then(()=>{if(o.status==="failed")return;let{value:Ee}=y;if(ge.formatter&&(Ee=ge.formatter(Ee,ge)),!runSyncRule(Ee,ge)){o.status="failed",o.validateMessage=getRuleMessage(Ee,ge);return}if(ge.validator)return isEmptyValue(Ee)&&ge.validateEmpty===!1?void 0:runRuleValidator(Ee,ge).then(Te=>{Te&&typeof Te=="string"?(o.status="failed",o.validateMessage=Te):Te===!1&&(o.status="failed",o.validateMessage=getRuleMessage(Ee,ge))})}),Promise.resolve()),A=()=>{o.status="unvalidated",o.validateMessage=""},S=()=>e("endValidate",{status:o.status,message:o.validateMessage}),E=(J=i.rules)=>new Promise(ce=>{A(),J?(e("startValidate"),b(J).then(()=>{o.status==="failed"?(ce({name:i.name,message:o.validateMessage}),S()):(o.status="passed",ce(),S())})):ce()}),x=J=>{if(u&&i.rules){const{validateTrigger:ce}=u.props,ge=toArray(ce).includes(J),Ee=i.rules.filter(Te=>Te.trigger?toArray(Te.trigger).includes(J):ge);Ee.length&&E(Ee)}},P=J=>{var ce;const{maxlength:ge}=i;if(isDef$1(ge)&&getStringLength(J)>+ge){const Ee=d();if(Ee&&getStringLength(Ee)===+ge)return Ee;const Te=(ce=a.value)==null?void 0:ce.selectionEnd;if(o.focused&&Te){const De=[...J],te=De.length-+ge;return De.splice(Te-te,te),De.join("")}return cutString(J,+ge)}return J},C=(J,ce="onChange")=>{const ge=J;J=P(J);const Ee=getStringLength(ge)-getStringLength(J);if(i.type==="number"||i.type==="digit"){const De=i.type==="number";J=formatNumber(J,De,De)}let Te=0;if(i.formatter&&ce===i.formatTrigger){const{formatter:De,maxlength:te}=i;if(J=De(J),isDef$1(te)&&getStringLength(J)>+te&&(J=cutString(J,+te)),a.value&&o.focused){const{selectionEnd:ae}=a.value,H=cutString(ge,ae);Te=getStringLength(De(H))-getStringLength(H)}}if(a.value&&a.value.value!==J)if(o.focused){let{selectionStart:De,selectionEnd:te}=a.value;if(a.value.value=J,isDef$1(De)&&isDef$1(te)){const ae=getStringLength(J);Ee?(De-=Ee,te-=Ee):Te&&(De+=Te,te+=Te),a.value.setSelectionRange(Math.min(De,ae),Math.min(te,ae))}}else a.value.value=J;J!==i.modelValue&&e("update:modelValue",J)},T=J=>{J.target.composing||C(J.target.value)},k=()=>{var J;return(J=a.value)==null?void 0:J.blur()},I=()=>{var J;return(J=a.value)==null?void 0:J.focus()},M=()=>{const J=a.value;i.type==="textarea"&&i.autosize&&J&&resizeTextarea(J,i.autosize)},R=J=>{o.focused=!0,e("focus",J),nextTick(M),g("readonly")&&k()},B=J=>{o.focused=!1,C(d(),"onBlur"),e("blur",J),!g("readonly")&&(x("onBlur"),nextTick(M),resetScroll())},_=J=>e("clickInput",J),V=J=>e("clickLeftIcon",J),D=J=>e("clickRightIcon",J),F=J=>{preventDefault(J),e("update:modelValue",""),e("clear",J)},N=computed(()=>{if(typeof i.error=="boolean")return i.error;if(u&&u.props.showError&&o.status==="failed")return!0}),K=computed(()=>{const J=g("labelWidth"),ce=g("labelAlign");if(J&&ce!=="top")return{width:addUnit(J)}}),G=J=>{J.keyCode===13&&(!(u&&u.props.submitOnEnter)&&i.type!=="textarea"&&preventDefault(J),i.type==="search"&&k()),e("keypress",J)},q=()=>i.id||`${s}-input`,O=()=>o.status,U=()=>{const J=bem$m("control",[g("inputAlign"),{error:N.value,custom:!!r.input,"min-height":i.type==="textarea"&&!i.autosize}]);if(r.input)return createVNode("div",{class:J,onClick:_},[r.input()]);const ce={id:q(),ref:a,name:i.name,rows:i.rows!==void 0?+i.rows:void 0,class:J,disabled:g("disabled"),readonly:g("readonly"),autofocus:i.autofocus,placeholder:i.placeholder,autocomplete:i.autocomplete,enterkeyhint:i.enterkeyhint,"aria-labelledby":i.label?`${s}-label`:void 0,onBlur:B,onFocus:R,onInput:T,onClick:_,onChange:endComposing,onKeypress:G,onCompositionend:endComposing,onCompositionstart:startComposing};return i.type==="textarea"?createVNode("textarea",ce,null):createVNode("input",mergeProps(mapInputType(i.type),ce),null)},$=()=>{const J=r["left-icon"];if(i.leftIcon||J)return createVNode("div",{class:bem$m("left-icon"),onClick:V},[J?J():createVNode(Icon$1,{name:i.leftIcon,classPrefix:i.iconPrefix},null)])},Y=()=>{const J=r["right-icon"];if(i.rightIcon||J)return createVNode("div",{class:bem$m("right-icon"),onClick:D},[J?J():createVNode(Icon$1,{name:i.rightIcon,classPrefix:i.iconPrefix},null)])},Q=()=>{if(i.showWordLimit&&i.maxlength){const J=getStringLength(d());return createVNode("div",{class:bem$m("word-limit")},[createVNode("span",{class:bem$m("word-num")},[J]),createTextVNode("/"),i.maxlength])}},xe=()=>{if(u&&u.props.showErrorMessage===!1)return;const J=i.errorMessage||o.validateMessage;if(J){const ce=r["error-message"],ge=g("errorMessageAlign");return createVNode("div",{class:bem$m("error-message",ge)},[ce?ce({message:J}):J])}},ue=()=>{const J=g("labelWidth"),ce=g("labelAlign"),ge=g("colon")?":":"";if(r.label)return[r.label(),ge];if(i.label)return createVNode("label",{id:`${s}-label`,for:q(),style:ce==="top"&&J?{width:addUnit(J)}:void 0},[i.label+ge])},W=()=>[createVNode("div",{class:bem$m("body")},[U(),m.value&&createVNode(Icon$1,{ref:l,name:i.clearIcon,class:bem$m("clear")},null),Y(),r.button&&createVNode("div",{class:bem$m("button")},[r.button()])]),Q(),xe()];return useExpose({blur:k,focus:I,validate:E,formValue:y,resetValidation:A,getValidationStatus:O}),provide(CUSTOM_FIELD_INJECTION_KEY,{customValue:c,resetValidation:A,validateWithTrigger:x}),watch(()=>i.modelValue,()=>{C(d()),A(),x("onChange"),nextTick(M)}),onMounted(()=>{C(d(),i.formatTrigger),nextTick(M)}),useEventListener$1("touchstart",F,{target:computed(()=>{var J;return(J=l.value)==null?void 0:J.$el})}),()=>{const J=g("disabled"),ce=g("labelAlign"),ge=$(),Ee=()=>{const Te=ue();return ce==="top"?[ge,Te].filter(Boolean):Te||[]};return createVNode(Cell,{size:i.size,class:bem$m({error:N.value,disabled:J,[`label-${ce}`]:ce}),center:i.center,border:i.border,isLink:i.isLink,clickable:i.clickable,titleStyle:K.value,valueClass:bem$m("value"),titleClass:[bem$m("label",[ce,{required:i.required}]),i.labelClass],arrowDirection:i.arrowDirection},{icon:ge&&ce!=="top"?()=>ge:null,title:Ee,value:W,extra:r.extra})}}});const Field=withInstall(stdin_default$q);let lockCount=0;function lockClick(i){i?(lockCount||document.body.classList.add("van-toast--unclickable"),lockCount++):lockCount&&(lockCount--,lockCount||document.body.classList.remove("van-toast--unclickable"))}const[name$n,bem$l]=createNamespace$1("toast"),popupInheritProps=["show","overlay","teleport","transition","overlayClass","overlayStyle","closeOnClickOverlay"],toastProps={icon:String,show:Boolean,type:makeStringProp("text"),overlay:Boolean,message:numericProp,iconSize:numericProp,duration:makeNumberProp(2e3),position:makeStringProp("middle"),teleport:[String,Object],wordBreak:String,className:unknownProp,iconPrefix:String,transition:makeStringProp("van-fade"),loadingType:String,forbidClick:Boolean,overlayClass:unknownProp,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean};var stdin_default$p=defineComponent({name:name$n,props:toastProps,emits:["update:show"],setup(i,{emit:e,slots:r}){let s,o=!1;const a=()=>{const m=i.show&&i.forbidClick;o!==m&&(o=m,lockClick(o))},l=m=>e("update:show",m),c=()=>{i.closeOnClick&&l(!1)},u=()=>clearTimeout(s),d=()=>{const{icon:m,type:y,iconSize:b,iconPrefix:A,loadingType:S}=i;if(m||y==="success"||y==="fail")return createVNode(Icon$1,{name:m||y,size:b,class:bem$l("icon"),classPrefix:A},null);if(y==="loading")return createVNode(Loading$2,{class:bem$l("loading"),size:b,type:S},null)},g=()=>{const{type:m,message:y}=i;if(r.message)return createVNode("div",{class:bem$l("text")},[r.message()]);if(isDef$1(y)&&y!=="")return m==="html"?createVNode("div",{key:0,class:bem$l("text"),innerHTML:String(y)},null):createVNode("div",{class:bem$l("text")},[y])};return watch(()=>[i.show,i.forbidClick],a),watch(()=>[i.show,i.type,i.message,i.duration],()=>{u(),i.show&&i.duration>0&&(s=setTimeout(()=>{l(!1)},i.duration))}),onMounted(a),onUnmounted(a),()=>createVNode(Popup,mergeProps({class:[bem$l([i.position,i.wordBreak==="normal"?"break-normal":i.wordBreak,{[i.type]:!i.icon}]),i.className],lockScroll:!1,onClick:c,onClosed:u,"onUpdate:show":l},pick$1(i,popupInheritProps)),{default:()=>[d(),g()]})}});function usePopupState(){const i=reactive({show:!1}),e=o=>{i.show=o},r=o=>{extend$2(i,o,{transitionAppear:!0}),e(!0)},s=()=>e(!1);return useExpose({open:r,close:s,toggle:e}),{open:r,close:s,state:i,toggle:e}}function mountComponent(i){const e=createApp(i),r=document.createElement("div");return document.body.appendChild(r),{instance:e.mount(r),unmount(){e.unmount(),document.body.removeChild(r)}}}const defaultOptions$1={icon:"",type:"text",message:"",className:"",overlay:!1,onClose:void 0,onOpened:void 0,duration:2e3,teleport:"body",iconSize:void 0,iconPrefix:void 0,position:"middle",transition:"van-fade",forbidClick:!1,loadingType:void 0,overlayClass:"",overlayStyle:void 0,closeOnClick:!1,closeOnClickOverlay:!1};let queue=[],allowMultiple=!1,currentOptions$1=extend$2({},defaultOptions$1);const defaultOptionsMap=new Map;function parseOptions(i){return isObject$4(i)?i:{message:i}}function createInstance(){const{instance:i,unmount:e}=mountComponent({setup(){const r=ref(""),{open:s,state:o,close:a,toggle:l}=usePopupState(),c=()=>{},u=()=>createVNode(stdin_default$p,mergeProps(o,{onClosed:c,"onUpdate:show":l}),null);return watch(r,d=>{o.message=d}),getCurrentInstance().render=u,{open:s,close:a,message:r}}});return i}function getInstance(){if(!queue.length||allowMultiple){const i=createInstance();queue.push(i)}return queue[queue.length-1]}function showToast(i={}){if(!inBrowser$2)return{};const e=getInstance(),r=parseOptions(i);return e.open(extend$2({},currentOptions$1,defaultOptionsMap.get(r.type||currentOptions$1.type),r)),e}const createMethod=i=>e=>showToast(extend$2({type:i},parseOptions(e))),showLoadingToast=createMethod("loading"),closeToast=i=>{queue.length&&(i?(queue.forEach(e=>{e.close()}),queue=[]):queue[0].close())};withInstall(stdin_default$p);const[name$m,bem$k]=createNamespace$1("switch"),switchProps={size:numericProp,loading:Boolean,disabled:Boolean,modelValue:unknownProp,activeColor:String,inactiveColor:String,activeValue:{type:unknownProp,default:!0},inactiveValue:{type:unknownProp,default:!1}};var stdin_default$o=defineComponent({name:name$m,props:switchProps,emits:["change","update:modelValue"],setup(i,{emit:e,slots:r}){const s=()=>i.modelValue===i.activeValue,o=()=>{if(!i.disabled&&!i.loading){const l=s()?i.inactiveValue:i.activeValue;e("update:modelValue",l),e("change",l)}},a=()=>{if(i.loading){const l=s()?i.activeColor:i.inactiveColor;return createVNode(Loading$2,{class:bem$k("loading"),color:l},null)}if(r.node)return r.node()};return useCustomFieldValue(()=>i.modelValue),()=>{var l;const{size:c,loading:u,disabled:d,activeColor:g,inactiveColor:m}=i,y=s(),b={fontSize:addUnit(c),backgroundColor:y?g:m};return createVNode("div",{role:"switch",class:bem$k({on:y,loading:u,disabled:d}),style:b,tabindex:d?void 0:0,"aria-checked":y,onClick:o},[createVNode("div",{class:bem$k("node")},[a()]),(l=r.background)==null?void 0:l.call(r)])}}});const Switch$1=withInstall(stdin_default$o),[name$l,bem$j]=createNamespace$1("image"),imageProps={src:String,alt:String,fit:String,position:String,round:Boolean,block:Boolean,width:numericProp,height:numericProp,radius:numericProp,lazyLoad:Boolean,iconSize:numericProp,showError:truthProp,errorIcon:makeStringProp("photo-fail"),iconPrefix:String,showLoading:truthProp,loadingIcon:makeStringProp("photo")};var stdin_default$n=defineComponent({name:name$l,props:imageProps,emits:["load","error"],setup(i,{emit:e,slots:r}){const s=ref(!1),o=ref(!0),a=ref(),{$Lazyload:l}=getCurrentInstance().proxy,c=computed(()=>{const E={width:addUnit(i.width),height:addUnit(i.height)};return isDef$1(i.radius)&&(E.overflow="hidden",E.borderRadius=addUnit(i.radius)),E});watch(()=>i.src,()=>{s.value=!1,o.value=!0});const u=E=>{o.value&&(o.value=!1,e("load",E))},d=()=>{const E=new Event("load");Object.defineProperty(E,"target",{value:a.value,enumerable:!0}),u(E)},g=E=>{s.value=!0,o.value=!1,e("error",E)},m=(E,x,P)=>P?P():createVNode(Icon$1,{name:E,size:i.iconSize,class:x,classPrefix:i.iconPrefix},null),y=()=>{if(o.value&&i.showLoading)return createVNode("div",{class:bem$j("loading")},[m(i.loadingIcon,bem$j("loading-icon"),r.loading)]);if(s.value&&i.showError)return createVNode("div",{class:bem$j("error")},[m(i.errorIcon,bem$j("error-icon"),r.error)])},b=()=>{if(s.value||!i.src)return;const E={alt:i.alt,class:bem$j("img"),style:{objectFit:i.fit,objectPosition:i.position}};return i.lazyLoad?withDirectives(createVNode("img",mergeProps({ref:a},E),null),[[resolveDirective("lazy"),i.src]]):createVNode("img",mergeProps({ref:a,src:i.src,onLoad:u,onError:g},E),null)},A=({el:E})=>{const x=()=>{E===a.value&&o.value&&d()};a.value?x():nextTick(x)},S=({el:E})=>{E===a.value&&!s.value&&g()};return l&&inBrowser$2&&(l.$on("loaded",A),l.$on("error",S),onBeforeUnmount(()=>{l.$off("loaded",A),l.$off("error",S)})),onMounted(()=>{nextTick(()=>{var E;(E=a.value)!=null&&E.complete&&d()})}),()=>{var E;return createVNode("div",{class:bem$j({round:i.round,block:i.block}),style:c.value},[b(),y(),(E=r.default)==null?void 0:E.call(r)])}}});const Image$1=withInstall(stdin_default$n),[name$k,bem$i]=createNamespace$1("circle");let uid=0;const format$1=i=>Math.min(Math.max(+i,0),100);function getPath(i,e){const r=i?1:0;return`M ${e/2} ${e/2} m 0, -500 a 500, 500 0 1, ${r} 0, 1000 a 500, 500 0 1, ${r} 0, -1000`}const circleProps={text:String,size:numericProp,fill:makeStringProp("none"),rate:makeNumericProp(100),speed:makeNumericProp(0),color:[String,Object],clockwise:truthProp,layerColor:String,currentRate:makeNumberProp(0),strokeWidth:makeNumericProp(40),strokeLinecap:String,startPosition:makeStringProp("top")};var stdin_default$m=defineComponent({name:name$k,props:circleProps,emits:["update:currentRate"],setup(i,{emit:e,slots:r}){const s=`van-circle-${uid++}`,o=computed(()=>+i.strokeWidth+1e3),a=computed(()=>getPath(i.clockwise,o.value)),l=computed(()=>{const y={top:0,right:90,bottom:180,left:270}[i.startPosition];if(y)return{transform:`rotate(${y}deg)`}});watch(()=>i.rate,m=>{let y;const b=Date.now(),A=i.currentRate,S=format$1(m),E=Math.abs((A-S)*1e3/+i.speed),x=()=>{const P=Date.now(),T=Math.min((P-b)/E,1)*(S-A)+A;e("update:currentRate",format$1(parseFloat(T.toFixed(1)))),(S>A?TS)&&(y=raf(x))};i.speed?(y&&cancelRaf(y),y=raf(x)):e("update:currentRate",S)},{immediate:!0});const c=()=>{const{strokeWidth:y,currentRate:b,strokeLinecap:A}=i,S=3140*b/100,E=isObject$4(i.color)?`url(#${s})`:i.color,x={stroke:E,strokeWidth:`${+y+1}px`,strokeLinecap:A,strokeDasharray:`${S}px 3140px`};return createVNode("path",{d:a.value,style:x,class:bem$i("hover"),stroke:E},null)},u=()=>{const m={fill:i.fill,stroke:i.layerColor,strokeWidth:`${i.strokeWidth}px`};return createVNode("path",{class:bem$i("layer"),style:m,d:a.value},null)},d=()=>{const{color:m}=i;if(!isObject$4(m))return;const y=Object.keys(m).sort((b,A)=>parseFloat(b)-parseFloat(A)).map((b,A)=>createVNode("stop",{key:A,offset:b,"stop-color":m[b]},null));return createVNode("defs",null,[createVNode("linearGradient",{id:s,x1:"100%",y1:"0%",x2:"0%",y2:"0%"},[y])])},g=()=>{if(r.default)return r.default();if(i.text)return createVNode("div",{class:bem$i("text")},[i.text])};return()=>createVNode("div",{class:bem$i(),style:getSizeStyle(i.size)},[createVNode("svg",{viewBox:`0 0 ${o.value} ${o.value}`,style:l.value},[d(),u(),c()]),g()])}});const Circle=withInstall(stdin_default$m),[name$j,bem$h]=createNamespace$1("empty"),emptyProps={image:makeStringProp("default"),imageSize:[Number,String,Array],description:String};var stdin_default$l=defineComponent({name:name$j,props:emptyProps,setup(i,{slots:e}){const r=()=>{const x=e.description?e.description():i.description;if(x)return createVNode("p",{class:bem$h("description")},[x])},s=()=>{if(e.default)return createVNode("div",{class:bem$h("bottom")},[e.default()])},o=useId(),a=x=>`${o}-${x}`,l=x=>`url(#${a(x)})`,c=(x,P,C)=>createVNode("stop",{"stop-color":x,offset:`${P}%`,"stop-opacity":C},null),u=(x,P)=>[c(x,0),c(P,100)],d=x=>[createVNode("defs",null,[createVNode("radialGradient",{id:a(x),cx:"50%",cy:"54%",fx:"50%",fy:"54%",r:"297%",gradientTransform:"matrix(-.16 0 0 -.33 .58 .72)"},[c("#EBEDF0",0),c("#F2F3F5",100,.3)])]),createVNode("ellipse",{fill:l(x),opacity:".8",cx:"80",cy:"140",rx:"46",ry:"8"},null)],g=()=>[createVNode("defs",null,[createVNode("linearGradient",{id:a("a"),x1:"64%",y1:"100%",x2:"64%"},[c("#FFF",0,.5),c("#F2F3F5",100)])]),createVNode("g",{opacity:".8"},[createVNode("path",{d:"M36 131V53H16v20H2v58h34z",fill:l("a")},null),createVNode("path",{d:"M123 15h22v14h9v77h-31V15z",fill:l("a")},null)])],m=()=>[createVNode("defs",null,[createVNode("linearGradient",{id:a("b"),x1:"64%",y1:"97%",x2:"64%",y2:"0%"},[c("#F2F3F5",0,.3),c("#F2F3F5",100)])]),createVNode("g",{opacity:".8"},[createVNode("path",{d:"M87 6c3 0 7 3 8 6a8 8 0 1 1-1 16H80a7 7 0 0 1-8-6c0-4 3-7 6-7 0-5 4-9 9-9Z",fill:l("b")},null),createVNode("path",{d:"M19 23c2 0 3 1 4 3 2 0 4 2 4 4a4 4 0 0 1-4 3v1h-7v-1l-1 1c-2 0-3-2-3-4 0-1 1-3 3-3 0-2 2-4 4-4Z",fill:l("b")},null)])],y=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{id:a(1),x1:"64%",y1:"100%",x2:"64%"},[c("#FFF",0,.5),c("#F2F3F5",100)]),createVNode("linearGradient",{id:a(2),x1:"50%",x2:"50%",y2:"84%"},[c("#EBEDF0",0),c("#DCDEE0",100,0)]),createVNode("linearGradient",{id:a(3),x1:"100%",x2:"100%",y2:"100%"},[u("#EAEDF0","#DCDEE0")]),createVNode("radialGradient",{id:a(4),cx:"50%",cy:"0%",fx:"50%",fy:"0%",r:"100%",gradientTransform:"matrix(0 1 -.54 0 .5 -.5)"},[c("#EBEDF0",0),c("#FFF",100,0)])]),createVNode("g",{fill:"none"},[g(),createVNode("path",{fill:l(4),d:"M0 139h160v21H0z"},null),createVNode("path",{d:"M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",fill:l(2)},null),createVNode("g",{opacity:".6","stroke-linecap":"round","stroke-width":"7"},[createVNode("path",{d:"M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",stroke:l(3)},null),createVNode("path",{d:"M53 36a34 34 0 0 0 0 48",stroke:l(3)},null),createVNode("path",{d:"M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",stroke:l(3)},null),createVNode("path",{d:"M106 84a34 34 0 0 0 0-48",stroke:l(3)},null)]),createVNode("g",{transform:"translate(31 105)"},[createVNode("rect",{fill:"#EBEDF0",width:"98",height:"34",rx:"2"},null),createVNode("rect",{fill:"#FFF",x:"9",y:"8",width:"80",height:"18",rx:"1.1"},null),createVNode("rect",{fill:"#EBEDF0",x:"15",y:"12",width:"18",height:"6",rx:"1.1"},null)])])]),b=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:a(5)},[u("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"95%",y1:"48%",x2:"5.5%",y2:"51%",id:a(6)},[u("#EAEDF1","#DCDEE0")]),createVNode("linearGradient",{y1:"45%",x2:"100%",y2:"54%",id:a(7)},[u("#EAEDF1","#DCDEE0")])]),g(),m(),createVNode("g",{transform:"translate(36 50)",fill:"none"},[createVNode("g",{transform:"translate(8)"},[createVNode("rect",{fill:"#EBEDF0",opacity:".6",x:"38",y:"13",width:"36",height:"53",rx:"2"},null),createVNode("rect",{fill:l(5),width:"64",height:"66",rx:"2"},null),createVNode("rect",{fill:"#FFF",x:"6",y:"6",width:"52",height:"55",rx:"1"},null),createVNode("g",{transform:"translate(15 17)",fill:l(6)},[createVNode("rect",{width:"34",height:"6",rx:"1"},null),createVNode("path",{d:"M0 14h34v6H0z"},null),createVNode("rect",{y:"28",width:"34",height:"6",rx:"1"},null)])]),createVNode("rect",{fill:l(7),y:"61",width:"88",height:"28",rx:"1"},null),createVNode("rect",{fill:"#F7F8FA",x:"29",y:"72",width:"30",height:"6",rx:"1"},null)])]),A=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:a(8)},[u("#EAEDF1","#DCDEE0")])]),g(),m(),d("c"),createVNode("path",{d:"m59 60 21 21 21-21h3l9 9v3L92 93l21 21v3l-9 9h-3l-21-21-21 21h-3l-9-9v-3l21-21-21-21v-3l9-9h3Z",fill:l(8)},null)]),S=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",y1:"100%",x2:"50%",id:a(9)},[u("#EEE","#D8D8D8")]),createVNode("linearGradient",{x1:"100%",y1:"50%",y2:"50%",id:a(10)},[u("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:a(11)},[u("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:a(12)},[u("#FFF","#F7F8FA")])]),g(),m(),d("d"),createVNode("g",{transform:"rotate(-45 113 -4)",fill:"none"},[createVNode("rect",{fill:l(9),x:"24",y:"52.8",width:"5.8",height:"19",rx:"1"},null),createVNode("rect",{fill:l(10),x:"22.1",y:"67.3",width:"9.9",height:"28",rx:"1"},null),createVNode("circle",{stroke:l(11),"stroke-width":"8",cx:"27",cy:"27",r:"27"},null),createVNode("circle",{fill:l(12),cx:"27",cy:"27",r:"16"},null),createVNode("path",{d:"M37 7c-8 0-15 5-16 12",stroke:l(11),"stroke-width":"3",opacity:".5","stroke-linecap":"round",transform:"rotate(45 29 13)"},null)])]),E=()=>{var x;if(e.image)return e.image();const P={error:A,search:S,network:y,default:b};return((x=P[i.image])==null?void 0:x.call(P))||createVNode("img",{src:i.image},null)};return()=>createVNode("div",{class:bem$h()},[createVNode("div",{class:bem$h("image"),style:getSizeStyle(i.imageSize)},[E()]),r(),s()])}});const Empty=withInstall(stdin_default$l),[name$i,bem$g,t$2]=createNamespace$1("dialog"),dialogProps=extend$2({},popupSharedProps,{title:String,theme:String,width:numericProp,message:[String,Function],callback:Function,allowHtml:Boolean,className:unknownProp,transition:makeStringProp("van-dialog-bounce"),messageAlign:String,closeOnPopstate:truthProp,showCancelButton:Boolean,cancelButtonText:String,cancelButtonColor:String,cancelButtonDisabled:Boolean,confirmButtonText:String,confirmButtonColor:String,confirmButtonDisabled:Boolean,showConfirmButton:truthProp,closeOnClickOverlay:Boolean}),popupInheritKeys=[...popupSharedPropKeys,"transition","closeOnPopstate"];var stdin_default$k=defineComponent({name:name$i,props:dialogProps,emits:["confirm","cancel","keydown","update:show"],setup(i,{emit:e,slots:r}){const s=ref(),o=reactive({confirm:!1,cancel:!1}),a=x=>e("update:show",x),l=x=>{var P;a(!1),(P=i.callback)==null||P.call(i,x)},c=x=>()=>{i.show&&(e(x),i.beforeClose?(o[x]=!0,callInterceptor(i.beforeClose,{args:[x],done(){l(x),o[x]=!1},canceled(){o[x]=!1}})):l(x))},u=c("cancel"),d=c("confirm"),g=withKeys(x=>{var P,C;if(x.target!==((C=(P=s.value)==null?void 0:P.popupRef)==null?void 0:C.value))return;({Enter:i.showConfirmButton?d:noop$1,Escape:i.showCancelButton?u:noop$1})[x.key](),e("keydown",x)},["enter","esc"]),m=()=>{const x=r.title?r.title():i.title;if(x)return createVNode("div",{class:bem$g("header",{isolated:!i.message&&!r.default})},[x])},y=x=>{const{message:P,allowHtml:C,messageAlign:T}=i,k=bem$g("message",{"has-title":x,[T]:T}),I=isFunction$5(P)?P():P;return C&&typeof I=="string"?createVNode("div",{class:k,innerHTML:I},null):createVNode("div",{class:k},[I])},b=()=>{if(r.default)return createVNode("div",{class:bem$g("content")},[r.default()]);const{title:x,message:P,allowHtml:C}=i;if(P){const T=!!(x||r.title);return createVNode("div",{key:C?1:0,class:bem$g("content",{isolated:!T})},[y(T)])}},A=()=>createVNode("div",{class:[BORDER_TOP,bem$g("footer")]},[i.showCancelButton&&createVNode(Button$1,{size:"large",text:i.cancelButtonText||t$2("cancel"),class:bem$g("cancel"),style:{color:i.cancelButtonColor},loading:o.cancel,disabled:i.cancelButtonDisabled,onClick:u},null),i.showConfirmButton&&createVNode(Button$1,{size:"large",text:i.confirmButtonText||t$2("confirm"),class:[bem$g("confirm"),{[BORDER_LEFT]:i.showCancelButton}],style:{color:i.confirmButtonColor},loading:o.confirm,disabled:i.confirmButtonDisabled,onClick:d},null)]),S=()=>createVNode(ActionBar,{class:bem$g("footer")},{default:()=>[i.showCancelButton&&createVNode(ActionBarButton,{type:"warning",text:i.cancelButtonText||t$2("cancel"),class:bem$g("cancel"),color:i.cancelButtonColor,loading:o.cancel,disabled:i.cancelButtonDisabled,onClick:u},null),i.showConfirmButton&&createVNode(ActionBarButton,{type:"danger",text:i.confirmButtonText||t$2("confirm"),class:bem$g("confirm"),color:i.confirmButtonColor,loading:o.confirm,disabled:i.confirmButtonDisabled,onClick:d},null)]}),E=()=>r.footer?r.footer():i.theme==="round-button"?S():A();return()=>{const{width:x,title:P,theme:C,message:T,className:k}=i;return createVNode(Popup,mergeProps({ref:s,role:"dialog",class:[bem$g([C]),k],style:{width:addUnit(x)},tabindex:0,"aria-labelledby":P||T,onKeydown:g,"onUpdate:show":a},pick$1(i,popupInheritKeys)),{default:()=>[m(),b(),E()]})}}});let instance$2;const DEFAULT_OPTIONS$1={title:"",width:"",theme:null,message:"",overlay:!0,callback:null,teleport:"body",className:"",allowHtml:!1,lockScroll:!0,transition:void 0,beforeClose:null,overlayClass:"",overlayStyle:void 0,messageAlign:"",cancelButtonText:"",cancelButtonColor:null,cancelButtonDisabled:!1,confirmButtonText:"",confirmButtonColor:null,confirmButtonDisabled:!1,showConfirmButton:!0,showCancelButton:!1,closeOnPopstate:!0,closeOnClickOverlay:!1};let currentOptions=extend$2({},DEFAULT_OPTIONS$1);function initInstance$1(){({instance:instance$2}=mountComponent({setup(){const{state:e,toggle:r}=usePopupState();return()=>createVNode(stdin_default$k,mergeProps(e,{"onUpdate:show":r}),null)}}))}function showDialog(i){return inBrowser$2?new Promise((e,r)=>{instance$2||initInstance$1(),instance$2.open(extend$2({},currentOptions,i,{callback:s=>{(s==="confirm"?e:r)(s)}}))}):Promise.resolve()}const showConfirmDialog=i=>showDialog(extend$2({showCancelButton:!0},i));withInstall(stdin_default$k);const[name$h,bem$f]=createNamespace$1("dropdown-menu"),dropdownMenuProps={overlay:truthProp,zIndex:numericProp,duration:makeNumericProp(.2),direction:makeStringProp("down"),activeColor:String,closeOnClickOutside:truthProp,closeOnClickOverlay:truthProp},DROPDOWN_KEY=Symbol(name$h);var stdin_default$j=defineComponent({name:name$h,props:dropdownMenuProps,setup(i,{slots:e}){const r=useId(),s=ref(),o=ref(),a=ref(0),{children:l,linkChildren:c}=useChildren$1(DROPDOWN_KEY),u=useScrollParent(s),d=computed(()=>l.some(E=>E.state.showWrapper)),g=computed(()=>{if(d.value&&isDef$1(i.zIndex))return{zIndex:+i.zIndex+1}}),m=()=>{i.closeOnClickOutside&&l.forEach(E=>{E.toggle(!1)})},y=()=>{if(o.value){const E=useRect(o);i.direction==="down"?a.value=E.bottom:a.value=windowHeight.value-E.top}},b=()=>{d.value&&y()},A=E=>{l.forEach((x,P)=>{P===E?x.toggle():x.state.showPopup&&x.toggle(!1,{immediate:!0})})},S=(E,x)=>{const{showPopup:P}=E.state,{disabled:C,titleClass:T}=E;return createVNode("div",{id:`${r}-${x}`,role:"button",tabindex:C?void 0:0,class:[bem$f("item",{disabled:C}),{[HAPTICS_FEEDBACK]:!C}],onClick:()=>{C||A(x)}},[createVNode("span",{class:[bem$f("title",{down:P===(i.direction==="down"),active:P}),T],style:{color:P?i.activeColor:""}},[createVNode("div",{class:"van-ellipsis"},[E.renderTitle()])])])};return c({id:r,props:i,offset:a,updateOffset:y}),useClickAway(s,m),useEventListener$1("scroll",b,{target:u,passive:!0}),()=>{var E;return createVNode("div",{ref:s,class:bem$f()},[createVNode("div",{ref:o,style:g.value,class:bem$f("bar",{opened:d.value})},[l.map(S)]),(E=e.default)==null?void 0:E.call(e)])}}});const[name$g,bem$e]=createNamespace$1("dropdown-item"),dropdownItemProps={title:String,options:makeArrayProp(),disabled:Boolean,teleport:[String,Object],lazyRender:truthProp,modelValue:unknownProp,titleClass:unknownProp};var stdin_default$i=defineComponent({name:name$g,inheritAttrs:!1,props:dropdownItemProps,emits:["open","opened","close","closed","change","update:modelValue"],setup(i,{emit:e,slots:r,attrs:s}){const o=reactive({showPopup:!1,transition:!0,showWrapper:!1}),{parent:a,index:l}=useParent$1(DROPDOWN_KEY);if(!a)return;const c=x=>()=>e(x),u=c("open"),d=c("close"),g=c("opened"),m=()=>{o.showWrapper=!1,e("closed")},y=x=>{i.teleport&&x.stopPropagation()},b=(x=!o.showPopup,P={})=>{x!==o.showPopup&&(o.showPopup=x,o.transition=!P.immediate,x&&(a.updateOffset(),o.showWrapper=!0))},A=()=>{if(r.title)return r.title();if(i.title)return i.title;const x=i.options.find(P=>P.value===i.modelValue);return x?x.text:""},S=x=>{const{activeColor:P}=a.props,C=x.value===i.modelValue,T=()=>{o.showPopup=!1,x.value!==i.modelValue&&(e("update:modelValue",x.value),e("change",x.value))},k=()=>{if(C)return createVNode(Icon$1,{class:bem$e("icon"),color:P,name:"success"},null)};return createVNode(Cell,{role:"menuitem",key:x.value,icon:x.icon,title:x.text,class:bem$e("option",{active:C}),style:{color:C?P:""},tabindex:C?0:-1,clickable:!0,onClick:T},{value:k})},E=()=>{const{offset:x}=a,{zIndex:P,overlay:C,duration:T,direction:k,closeOnClickOverlay:I}=a.props,M=getZIndexStyle(P);return k==="down"?M.top=`${x.value}px`:M.bottom=`${x.value}px`,withDirectives(createVNode("div",mergeProps({style:M,class:bem$e([k]),onClick:y},s),[createVNode(Popup,{show:o.showPopup,"onUpdate:show":R=>o.showPopup=R,role:"menu",class:bem$e("content"),overlay:C,position:k==="down"?"top":"bottom",duration:o.transition?T:0,lazyRender:i.lazyRender,overlayStyle:{position:"absolute"},"aria-labelledby":`${a.id}-${l.value}`,closeOnClickOverlay:I,onOpen:u,onClose:d,onOpened:g,onClosed:m},{default:()=>{var R;return[i.options.map(S),(R=r.default)==null?void 0:R.call(r)]}})]),[[vShow,o.showWrapper]])};return useExpose({state:o,toggle:b,renderTitle:A}),()=>i.teleport?createVNode(Teleport,{to:i.teleport},{default:()=>[E()]}):E()}});const DropdownItem=withInstall(stdin_default$i),DropdownMenu=withInstall(stdin_default$j),getDistance=i=>Math.sqrt((i[0].clientX-i[1].clientX)**2+(i[0].clientY-i[1].clientY)**2),bem$d=createNamespace$1("image-preview")[1];var stdin_default$h=defineComponent({props:{src:String,show:Boolean,active:Number,minZoom:makeRequiredProp(numericProp),maxZoom:makeRequiredProp(numericProp),rootWidth:makeRequiredProp(Number),rootHeight:makeRequiredProp(Number),disableZoom:Boolean},emits:["scale","close","longPress"],setup(i,{emit:e,slots:r}){const s=reactive({scale:1,moveX:0,moveY:0,moving:!1,zooming:!1,imageRatio:0,displayWidth:0,displayHeight:0}),o=useTouch(),a=ref(),l=computed(()=>{const{rootWidth:_,rootHeight:V}=i,D=V/_;return s.imageRatio>D}),c=computed(()=>{const{scale:_,moveX:V,moveY:D,moving:F,zooming:N}=s,K={transitionDuration:N||F?"0s":".3s"};if(_!==1){const G=V/_,q=D/_;K.transform=`scale(${_}, ${_}) translate(${G}px, ${q}px)`}return K}),u=computed(()=>{if(s.imageRatio){const{rootWidth:_,rootHeight:V}=i,D=l.value?V/s.imageRatio:_;return Math.max(0,(s.scale*D-_)/2)}return 0}),d=computed(()=>{if(s.imageRatio){const{rootWidth:_,rootHeight:V}=i,D=l.value?V:_*s.imageRatio;return Math.max(0,(s.scale*D-V)/2)}return 0}),g=_=>{_=clamp(_,+i.minZoom,+i.maxZoom+1),_!==s.scale&&(s.scale=_,e("scale",{scale:_,index:i.active}))},m=()=>{g(1),s.moveX=0,s.moveY=0},y=()=>{const _=s.scale>1?1:2;g(_),s.moveX=0,s.moveY=0};let b,A,S,E,x,P,C,T=!1;const k=_=>{const{touches:V}=_;if(b=V.length,b===2&&i.disableZoom)return;const{offsetX:D}=o;o.start(_),A=s.moveX,S=s.moveY,C=Date.now(),T=!1,s.moving=b===1&&s.scale!==1,s.zooming=b===2&&!D.value,s.zooming&&(E=s.scale,x=getDistance(_.touches))},I=_=>{const{touches:V}=_;if(o.move(_),s.moving){const{deltaX:D,deltaY:F}=o,N=D.value+A,K=F.value+S;if((N>u.value||N<-u.value)&&!T&&o.isHorizontal()){s.moving=!1;return}T=!0,preventDefault(_,!0),s.moveX=clamp(N,-u.value,u.value),s.moveY=clamp(K,-d.value,d.value)}if(s.zooming&&(preventDefault(_,!0),V.length===2)){const D=getDistance(V),F=E*D/x;g(F)}},M=()=>{if(b>1)return;const{offsetX:_,offsetY:V}=o,D=Date.now()-C,F=250,N=5;_.value{e("close"),P=null},F):D>LONG_PRESS_START_TIME&&e("longPress"))},R=_=>{let V=!1;if((s.moving||s.zooming)&&(V=!0,s.moving&&A===s.moveX&&S===s.moveY&&(V=!1),!_.touches.length)){s.zooming&&(s.moveX=clamp(s.moveX,-u.value,u.value),s.moveY=clamp(s.moveY,-d.value,d.value),s.zooming=!1),s.moving=!1,A=0,S=0,E=1,s.scale<1&&m();const D=+i.maxZoom;s.scale>D&&(s.scale=D)}preventDefault(_,V),M(),o.reset()},B=_=>{const{naturalWidth:V,naturalHeight:D}=_.target;s.imageRatio=D/V};return watch(()=>i.active,m),watch(()=>i.show,_=>{_||m()}),useEventListener$1("touchmove",I,{target:computed(()=>{var _;return(_=a.value)==null?void 0:_.$el})}),()=>{const _={loading:()=>createVNode(Loading$2,{type:"spinner"},null)};return createVNode(SwipeItem,{ref:a,class:bem$d("swipe-item"),onTouchstartPassive:k,onTouchend:R,onTouchcancel:R},{default:()=>[r.image?createVNode("div",{class:bem$d("image-wrap")},[r.image({src:i.src})]):createVNode(Image$1,{src:i.src,fit:"contain",class:bem$d("image",{vertical:l.value}),style:c.value,onLoad:B},_)]})}}});const[name$f,bem$c]=createNamespace$1("image-preview"),popupProps$1=["show","teleport","transition","overlayStyle","closeOnPopstate"],imagePreviewProps={show:Boolean,loop:truthProp,images:makeArrayProp(),minZoom:makeNumericProp(1/3),maxZoom:makeNumericProp(3),overlay:truthProp,closeable:Boolean,showIndex:truthProp,className:unknownProp,closeIcon:makeStringProp("clear"),transition:String,beforeClose:Function,overlayClass:unknownProp,overlayStyle:Object,swipeDuration:makeNumericProp(300),startPosition:makeNumericProp(0),showIndicators:Boolean,closeOnPopstate:truthProp,closeIconPosition:makeStringProp("top-right"),teleport:[String,Object]};var stdin_default$g=defineComponent({name:name$f,props:imagePreviewProps,emits:["scale","close","closed","change","longPress","update:show"],setup(i,{emit:e,slots:r}){const s=ref(),o=reactive({active:0,rootWidth:0,rootHeight:0,disableZoom:!1}),a=()=>{if(s.value){const P=useRect(s.value.$el);o.rootWidth=P.width,o.rootHeight=P.height,s.value.resize()}},l=P=>e("scale",P),c=P=>e("update:show",P),u=()=>{callInterceptor(i.beforeClose,{args:[o.active],done:()=>c(!1)})},d=P=>{P!==o.active&&(o.active=P,e("change",P))},g=()=>{if(i.showIndex)return createVNode("div",{class:bem$c("index")},[r.index?r.index({index:o.active}):`${o.active+1} / ${i.images.length}`])},m=()=>{if(r.cover)return createVNode("div",{class:bem$c("cover")},[r.cover()])},y=()=>{o.disableZoom=!0},b=()=>{o.disableZoom=!1},A=()=>createVNode(Swipe,{ref:s,lazyRender:!0,loop:i.loop,class:bem$c("swipe"),duration:i.swipeDuration,initialSwipe:i.startPosition,showIndicators:i.showIndicators,indicatorColor:"white",onChange:d,onDragEnd:b,onDragStart:y},{default:()=>[i.images.map((P,C)=>createVNode(stdin_default$h,{src:P,show:i.show,active:o.active,maxZoom:i.maxZoom,minZoom:i.minZoom,rootWidth:o.rootWidth,rootHeight:o.rootHeight,disableZoom:o.disableZoom,onScale:l,onClose:u,onLongPress:()=>e("longPress",{index:C})},{image:r.image}))]}),S=()=>{if(i.closeable)return createVNode(Icon$1,{role:"button",name:i.closeIcon,class:[bem$c("close-icon",i.closeIconPosition),HAPTICS_FEEDBACK],onClick:u},null)},E=()=>e("closed"),x=(P,C)=>{var T;return(T=s.value)==null?void 0:T.swipeTo(P,C)};return useExpose({swipeTo:x}),onMounted(a),watch([windowWidth,windowHeight],a),watch(()=>i.startPosition,P=>d(+P)),watch(()=>i.show,P=>{const{images:C,startPosition:T}=i;P?(d(+T),nextTick(()=>{a(),x(+T,{immediate:!0})})):e("close",{index:o.active,url:C[o.active]})}),()=>createVNode(Popup,mergeProps({class:[bem$c(),i.className],overlayClass:[bem$c("overlay"),i.overlayClass],onClosed:E,"onUpdate:show":c},pick$1(i,popupProps$1)),{default:()=>[S(),A(),g(),m()]})}});let instance$1;const defaultConfig={loop:!0,images:[],maxZoom:3,minZoom:1/3,onScale:void 0,onClose:void 0,onChange:void 0,teleport:"body",className:"",showIndex:!0,closeable:!1,closeIcon:"clear",transition:void 0,beforeClose:void 0,overlayStyle:void 0,overlayClass:void 0,startPosition:0,swipeDuration:300,showIndicators:!1,closeOnPopstate:!0,closeIconPosition:"top-right"};function initInstance(){({instance:instance$1}=mountComponent({setup(){const{state:i,toggle:e}=usePopupState(),r=()=>{i.images=[]};return()=>createVNode(stdin_default$g,mergeProps(i,{onClosed:r,"onUpdate:show":e}),null)}}))}const showImagePreview=(i,e=0)=>{if(inBrowser$2)return instance$1||initInstance(),i=Array.isArray(i)?{images:i,startPosition:e}:i,instance$1.open(extend$2({},defaultConfig,i)),instance$1};withInstall(stdin_default$g);const[name$e,bem$b,t$1]=createNamespace$1("list"),listProps={error:Boolean,offset:makeNumericProp(300),loading:Boolean,disabled:Boolean,finished:Boolean,errorText:String,direction:makeStringProp("down"),loadingText:String,finishedText:String,immediateCheck:truthProp};var stdin_default$f=defineComponent({name:name$e,props:listProps,emits:["load","update:error","update:loading"],setup(i,{emit:e,slots:r}){const s=ref(i.loading),o=ref(),a=ref(),l=useTabStatus(),c=useScrollParent(o),u=()=>{nextTick(()=>{if(s.value||i.finished||i.disabled||i.error||(l==null?void 0:l.value)===!1)return;const{direction:b}=i,A=+i.offset,S=useRect(c);if(!S.height||isHidden(o))return;let E=!1;const x=useRect(a);b==="up"?E=S.top-x.top<=A:E=x.bottom-S.bottom<=A,E&&(s.value=!0,e("update:loading",!0),e("load"))})},d=()=>{if(i.finished){const b=r.finished?r.finished():i.finishedText;if(b)return createVNode("div",{class:bem$b("finished-text")},[b])}},g=()=>{e("update:error",!1),u()},m=()=>{if(i.error){const b=r.error?r.error():i.errorText;if(b)return createVNode("div",{role:"button",class:bem$b("error-text"),tabindex:0,onClick:g},[b])}},y=()=>{if(s.value&&!i.finished&&!i.disabled)return createVNode("div",{class:bem$b("loading")},[r.loading?r.loading():createVNode(Loading$2,{class:bem$b("loading-icon")},{default:()=>[i.loadingText||t$1("loading")]})])};return watch(()=>[i.loading,i.finished,i.error],u),l&&watch(l,b=>{b&&u()}),onUpdated(()=>{s.value=i.loading}),onMounted(()=>{i.immediateCheck&&u()}),useExpose({check:u}),useEventListener$1("scroll",u,{target:c,passive:!0}),()=>{var b;const A=(b=r.default)==null?void 0:b.call(r),S=createVNode("div",{ref:a,class:bem$b("placeholder")},null);return createVNode("div",{ref:o,role:"feed",class:bem$b(),"aria-busy":s.value},[i.direction==="down"?A:S,y(),d(),m(),i.direction==="up"?A:S])}}});const List$1=withInstall(stdin_default$f),[name$d,bem$a]=createNamespace$1("nav-bar"),navBarProps={title:String,fixed:Boolean,zIndex:numericProp,border:truthProp,leftText:String,rightText:String,leftArrow:Boolean,placeholder:Boolean,safeAreaInsetTop:Boolean,clickable:truthProp};var stdin_default$e=defineComponent({name:name$d,props:navBarProps,emits:["clickLeft","clickRight"],setup(i,{emit:e,slots:r}){const s=ref(),o=usePlaceholder(s,bem$a),a=g=>e("clickLeft",g),l=g=>e("clickRight",g),c=()=>r.left?r.left():[i.leftArrow&&createVNode(Icon$1,{class:bem$a("arrow"),name:"arrow-left"},null),i.leftText&&createVNode("span",{class:bem$a("text")},[i.leftText])],u=()=>r.right?r.right():createVNode("span",{class:bem$a("text")},[i.rightText]),d=()=>{const{title:g,fixed:m,border:y,zIndex:b}=i,A=getZIndexStyle(b),S=i.leftArrow||i.leftText||r.left,E=i.rightText||r.right;return createVNode("div",{ref:s,style:A,class:[bem$a({fixed:m}),{[BORDER_BOTTOM]:y,"van-safe-area-top":i.safeAreaInsetTop}]},[createVNode("div",{class:bem$a("content")},[S&&createVNode("div",{class:[bem$a("left"),i.clickable?HAPTICS_FEEDBACK:""],onClick:a},[c()]),createVNode("div",{class:[bem$a("title"),"van-ellipsis"]},[r.title?r.title():g]),E&&createVNode("div",{class:[bem$a("right"),i.clickable?HAPTICS_FEEDBACK:""],onClick:l},[u()])])])};return()=>i.fixed&&i.placeholder?o(d):d()}});const NavBar=withInstall(stdin_default$e),[name$c,bem$9]=createNamespace$1("notice-bar"),noticeBarProps={text:String,mode:String,color:String,delay:makeNumericProp(1),speed:makeNumericProp(60),leftIcon:String,wrapable:Boolean,background:String,scrollable:{type:Boolean,default:null}};var stdin_default$d=defineComponent({name:name$c,props:noticeBarProps,emits:["close","replay"],setup(i,{emit:e,slots:r}){let s=0,o=0,a;const l=ref(),c=ref(),u=reactive({show:!0,offset:0,duration:0}),d=()=>{if(r["left-icon"])return r["left-icon"]();if(i.leftIcon)return createVNode(Icon$1,{class:bem$9("left-icon"),name:i.leftIcon},null)},g=()=>{if(i.mode==="closeable")return"cross";if(i.mode==="link")return"arrow"},m=E=>{i.mode==="closeable"&&(u.show=!1,e("close",E))},y=()=>{if(r["right-icon"])return r["right-icon"]();const E=g();if(E)return createVNode(Icon$1,{name:E,class:bem$9("right-icon"),onClick:m},null)},b=()=>{u.offset=s,u.duration=0,raf(()=>{doubleRaf(()=>{u.offset=-o,u.duration=(o+s)/+i.speed,e("replay")})})},A=()=>{const E=i.scrollable===!1&&!i.wrapable,x={transform:u.offset?`translateX(${u.offset}px)`:"",transitionDuration:`${u.duration}s`};return createVNode("div",{ref:l,role:"marquee",class:bem$9("wrap")},[createVNode("div",{ref:c,style:x,class:[bem$9("content"),{"van-ellipsis":E}],onTransitionend:b},[r.default?r.default():i.text])])},S=()=>{const{delay:E,speed:x,scrollable:P}=i,C=isDef$1(E)?+E*1e3:0;s=0,o=0,u.offset=0,u.duration=0,clearTimeout(a),a=setTimeout(()=>{if(!l.value||!c.value||P===!1)return;const T=useRect(l).width,k=useRect(c).width;(P||k>T)&&doubleRaf(()=>{s=T,o=k,u.offset=-o,u.duration=o/+x})},C)};return onPopupReopen(S),onMountedOrActivated(S),useEventListener$1("pageshow",S),useExpose({reset:S}),watch(()=>[i.text,i.scrollable],S),()=>{const{color:E,wrapable:x,background:P}=i;return withDirectives(createVNode("div",{role:"alert",class:bem$9({wrapable:x}),style:{color:E,background:P}},[d(),A(),y()]),[[vShow,u.show]])}}});const NoticeBar=withInstall(stdin_default$d);function getWindow(i){if(i==null)return window;if(i.toString()!=="[object Window]"){var e=i.ownerDocument;return e&&e.defaultView||window}return i}function isElement$1(i){var e=getWindow(i).Element;return i instanceof e||i instanceof Element}function isHTMLElement(i){var e=getWindow(i).HTMLElement;return i instanceof e||i instanceof HTMLElement}function isShadowRoot(i){if(typeof ShadowRoot>"u")return!1;var e=getWindow(i).ShadowRoot;return i instanceof e||i instanceof ShadowRoot}var round=Math.round;function getUAString(){var i=navigator.userAgentData;return i!=null&&i.brands?i.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(i,e,r){e===void 0&&(e=!1),r===void 0&&(r=!1);var s=i.getBoundingClientRect(),o=1,a=1;e&&isHTMLElement(i)&&(o=i.offsetWidth>0&&round(s.width)/i.offsetWidth||1,a=i.offsetHeight>0&&round(s.height)/i.offsetHeight||1);var l=isElement$1(i)?getWindow(i):window,c=l.visualViewport,u=!isLayoutViewport()&&r,d=(s.left+(u&&c?c.offsetLeft:0))/o,g=(s.top+(u&&c?c.offsetTop:0))/a,m=s.width/o,y=s.height/a;return{width:m,height:y,top:g,right:d+m,bottom:g+y,left:d,x:d,y:g}}function getWindowScroll(i){var e=getWindow(i),r=e.pageXOffset,s=e.pageYOffset;return{scrollLeft:r,scrollTop:s}}function getHTMLElementScroll(i){return{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}}function getNodeScroll(i){return i===getWindow(i)||!isHTMLElement(i)?getWindowScroll(i):getHTMLElementScroll(i)}function getNodeName(i){return i?(i.nodeName||"").toLowerCase():null}function getDocumentElement(i){return((isElement$1(i)?i.ownerDocument:i.document)||window.document).documentElement}function getWindowScrollBarX(i){return getBoundingClientRect(getDocumentElement(i)).left+getWindowScroll(i).scrollLeft}function getComputedStyle(i){return getWindow(i).getComputedStyle(i)}function isScrollParent(i){var e=getComputedStyle(i),r=e.overflow,s=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+s)}function isElementScaled(i){var e=i.getBoundingClientRect(),r=round(e.width)/i.offsetWidth||1,s=round(e.height)/i.offsetHeight||1;return r!==1||s!==1}function getCompositeRect(i,e,r){r===void 0&&(r=!1);var s=isHTMLElement(e),o=isHTMLElement(e)&&isElementScaled(e),a=getDocumentElement(e),l=getBoundingClientRect(i,o,r),c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(s||!s&&!r)&&((getNodeName(e)!=="body"||isScrollParent(a))&&(c=getNodeScroll(e)),isHTMLElement(e)?(u=getBoundingClientRect(e,!0),u.x+=e.clientLeft,u.y+=e.clientTop):a&&(u.x=getWindowScrollBarX(a))),{x:l.left+c.scrollLeft-u.x,y:l.top+c.scrollTop-u.y,width:l.width,height:l.height}}function getLayoutRect(i){var e=getBoundingClientRect(i),r=i.offsetWidth,s=i.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-s)<=1&&(s=e.height),{x:i.offsetLeft,y:i.offsetTop,width:r,height:s}}function getParentNode(i){return getNodeName(i)==="html"?i:i.assignedSlot||i.parentNode||(isShadowRoot(i)?i.host:null)||getDocumentElement(i)}function getScrollParent(i){return["html","body","#document"].indexOf(getNodeName(i))>=0?i.ownerDocument.body:isHTMLElement(i)&&isScrollParent(i)?i:getScrollParent(getParentNode(i))}function listScrollParents(i,e){var r;e===void 0&&(e=[]);var s=getScrollParent(i),o=s===((r=i.ownerDocument)==null?void 0:r.body),a=getWindow(s),l=o?[a].concat(a.visualViewport||[],isScrollParent(s)?s:[]):s,c=e.concat(l);return o?c:c.concat(listScrollParents(getParentNode(l)))}function isTableElement(i){return["table","td","th"].indexOf(getNodeName(i))>=0}function getTrueOffsetParent(i){return!isHTMLElement(i)||getComputedStyle(i).position==="fixed"?null:i.offsetParent}function getContainingBlock(i){var e=/firefox/i.test(getUAString()),r=/Trident/i.test(getUAString());if(r&&isHTMLElement(i)){var s=getComputedStyle(i);if(s.position==="fixed")return null}var o=getParentNode(i);for(isShadowRoot(o)&&(o=o.host);isHTMLElement(o)&&["html","body"].indexOf(getNodeName(o))<0;){var a=getComputedStyle(o);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||e&&a.willChange==="filter"||e&&a.filter&&a.filter!=="none")return o;o=o.parentNode}return null}function getOffsetParent(i){for(var e=getWindow(i),r=getTrueOffsetParent(i);r&&isTableElement(r)&&getComputedStyle(r).position==="static";)r=getTrueOffsetParent(r);return r&&(getNodeName(r)==="html"||getNodeName(r)==="body"&&getComputedStyle(r).position==="static")?e:r||getContainingBlock(i)||e}var top$2="top",bottom$1="bottom",right$3="right",left$1="left",auto="auto",basePlacements=[top$2,bottom$1,right$3,left$1],start="start",end="end",placements=[].concat(basePlacements,[auto]).reduce(function(i,e){return i.concat([e,e+"-"+start,e+"-"+end])},[]),beforeRead="beforeRead",read$6="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write$6="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read$6,afterRead,beforeMain,main,afterMain,beforeWrite,write$6,afterWrite];function order(i){var e=new Map,r=new Set,s=[];i.forEach(function(a){e.set(a.name,a)});function o(a){r.add(a.name);var l=[].concat(a.requires||[],a.requiresIfExists||[]);l.forEach(function(c){if(!r.has(c)){var u=e.get(c);u&&o(u)}}),s.push(a)}return i.forEach(function(a){r.has(a.name)||o(a)}),s}function orderModifiers(i){var e=order(i);return modifierPhases.reduce(function(r,s){return r.concat(e.filter(function(o){return o.phase===s}))},[])}function debounce$1(i){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(i())})})),e}}function format(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),s=1;s=0?"x":"y"}function computeOffsets(i){var e=i.reference,r=i.element,s=i.placement,o=s?getBasePlacement(s):null,a=s?getVariation(s):null,l=e.x+e.width/2-r.width/2,c=e.y+e.height/2-r.height/2,u;switch(o){case top$2:u={x:l,y:e.y-r.height};break;case bottom$1:u={x:l,y:e.y+e.height};break;case right$3:u={x:e.x+e.width,y:c};break;case left$1:u={x:e.x-r.width,y:c};break;default:u={x:e.x,y:e.y}}var d=o?getMainAxisFromPlacement(o):null;if(d!=null){var g=d==="y"?"height":"width";switch(a){case start:u[d]=u[d]-(e[g]/2-r[g]/2);break;case end:u[d]=u[d]+(e[g]/2-r[g]/2);break}}return u}var INVALID_ELEMENT_ERROR="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",INFINITE_LOOP_ERROR="Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var i=arguments.length,e=new Array(i),r=0;r100){console.error(INFINITE_LOOP_ERROR);break}if(g.reset===!0){g.reset=!1,k=-1;continue}var I=g.orderedModifiers[k],M=I.fn,R=I.options,B=R===void 0?{}:R,_=I.name;typeof M=="function"&&(g=M({state:g,options:B,name:_,instance:b})||g)}}},update:debounce$1(function(){return new Promise(function(E){b.forceUpdate(),E(g)})}),destroy:function(){S(),y=!0}};if(!areValidElements(c,u))return console.error(INVALID_ELEMENT_ERROR),b;b.setOptions(d).then(function(E){!y&&d.onFirstUpdate&&d.onFirstUpdate(E)});function A(){g.orderedModifiers.forEach(function(E){var x=E.name,P=E.options,C=P===void 0?{}:P,T=E.effect;if(typeof T=="function"){var k=T({state:g,name:x,instance:b,options:C}),I=function(){};m.push(k||I)}})}function S(){m.forEach(function(E){return E()}),m=[]}return b}}var passive={passive:!0};function effect(i){var e=i.state,r=i.instance,s=i.options,o=s.scroll,a=o===void 0?!0:o,l=s.resize,c=l===void 0?!0:l,u=getWindow(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return a&&d.forEach(function(g){g.addEventListener("scroll",r.update,passive)}),c&&u.addEventListener("resize",r.update,passive),function(){a&&d.forEach(function(g){g.removeEventListener("scroll",r.update,passive)}),c&&u.removeEventListener("resize",r.update,passive)}}var eventListeners_default={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect,data:{}};function popperOffsets(i){var e=i.state,r=i.name;e.modifiersData[r]=computeOffsets({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var popperOffsets_default={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}},unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(i){var e=i.x,r=i.y,s=window,o=s.devicePixelRatio||1;return{x:round(e*o)/o||0,y:round(r*o)/o||0}}function mapToStyles(i){var e,r=i.popper,s=i.popperRect,o=i.placement,a=i.variation,l=i.offsets,c=i.position,u=i.gpuAcceleration,d=i.adaptive,g=i.roundOffsets,m=i.isFixed,y=l.x,b=y===void 0?0:y,A=l.y,S=A===void 0?0:A,E=typeof g=="function"?g({x:b,y:S}):{x:b,y:S};b=E.x,S=E.y;var x=l.hasOwnProperty("x"),P=l.hasOwnProperty("y"),C=left$1,T=top$2,k=window;if(d){var I=getOffsetParent(r),M="clientHeight",R="clientWidth";if(I===getWindow(r)&&(I=getDocumentElement(r),getComputedStyle(I).position!=="static"&&c==="absolute"&&(M="scrollHeight",R="scrollWidth")),I=I,o===top$2||(o===left$1||o===right$3)&&a===end){T=bottom$1;var B=m&&I===k&&k.visualViewport?k.visualViewport.height:I[M];S-=B-s.height,S*=u?1:-1}if(o===left$1||(o===top$2||o===bottom$1)&&a===end){C=right$3;var _=m&&I===k&&k.visualViewport?k.visualViewport.width:I[R];b-=_-s.width,b*=u?1:-1}}var V=Object.assign({position:c},d&&unsetSides),D=g===!0?roundOffsetsByDPR({x:b,y:S}):{x:b,y:S};if(b=D.x,S=D.y,u){var F;return Object.assign({},V,(F={},F[T]=P?"0":"",F[C]=x?"0":"",F.transform=(k.devicePixelRatio||1)<=1?"translate("+b+"px, "+S+"px)":"translate3d("+b+"px, "+S+"px, 0)",F))}return Object.assign({},V,(e={},e[T]=P?S+"px":"",e[C]=x?b+"px":"",e.transform="",e))}function computeStyles(i){var e=i.state,r=i.options,s=r.gpuAcceleration,o=s===void 0?!0:s,a=r.adaptive,l=a===void 0?!0:a,c=r.roundOffsets,u=c===void 0?!0:c;{var d=getComputedStyle(e.elements.popper).transitionProperty||"";l&&["transform","top","right","bottom","left"].some(function(m){return d.indexOf(m)>=0})&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',` `,'Disable the "computeStyles" modifier\'s `adaptive` option to allow',"for smooth transitions, or remove these properties from the CSS","transition declaration on the popper element if only transitioning","opacity or background-color for example.",` `,"We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "))}var g={placement:getBasePlacement(e.placement),variation:getVariation(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,mapToStyles(Object.assign({},g,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:l,roundOffsets:u})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,mapToStyles(Object.assign({},g,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var computeStyles_default={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}};function applyStyles(i){var e=i.state;Object.keys(e.elements).forEach(function(r){var s=e.styles[r]||{},o=e.attributes[r]||{},a=e.elements[r];!isHTMLElement(a)||!getNodeName(a)||(Object.assign(a.style,s),Object.keys(o).forEach(function(l){var c=o[l];c===!1?a.removeAttribute(l):a.setAttribute(l,c===!0?"":c)}))})}function effect2(i){var e=i.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(s){var o=e.elements[s],a=e.attributes[s]||{},l=Object.keys(e.styles.hasOwnProperty(s)?e.styles[s]:r[s]),c=l.reduce(function(u,d){return u[d]="",u},{});!isHTMLElement(o)||!getNodeName(o)||(Object.assign(o.style,c),Object.keys(a).forEach(function(u){o.removeAttribute(u)}))})}}var applyStyles_default={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect2,requires:["computeStyles"]},defaultModifiers=[eventListeners_default,popperOffsets_default,computeStyles_default,applyStyles_default],createPopper=popperGenerator({defaultModifiers});function distanceAndSkiddingToXY(i,e,r){var s=getBasePlacement(i),o=[left$1,top$2].indexOf(s)>=0?-1:1,a=typeof r=="function"?r(Object.assign({},e,{placement:i})):r,l=a[0],c=a[1];return l=l||0,c=(c||0)*o,[left$1,right$3].indexOf(s)>=0?{x:c,y:l}:{x:l,y:c}}function offset(i){var e=i.state,r=i.options,s=i.name,o=r.offset,a=o===void 0?[0,0]:o,l=placements.reduce(function(g,m){return g[m]=distanceAndSkiddingToXY(m,e.rects,a),g},{}),c=l[e.placement],u=c.x,d=c.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=u,e.modifiersData.popperOffsets.y+=d),e.modifiersData[s]=l}var offset_default={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};const useSyncPropRef=(i,e)=>{const r=ref(i());return watch(i,s=>{s!==r.value&&(r.value=s)}),watch(r,s=>{s!==i()&&e(s)}),r},[name$b,bem$8]=createNamespace$1("popover"),popupProps=["overlay","duration","teleport","overlayStyle","overlayClass","closeOnClickOverlay"],popoverProps={show:Boolean,theme:makeStringProp("light"),overlay:Boolean,actions:makeArrayProp(),trigger:makeStringProp("click"),duration:numericProp,showArrow:truthProp,placement:makeStringProp("bottom"),iconPrefix:String,overlayClass:unknownProp,overlayStyle:Object,closeOnClickAction:truthProp,closeOnClickOverlay:truthProp,closeOnClickOutside:truthProp,offset:{type:Array,default:()=>[0,8]},teleport:{type:[String,Object],default:"body"}};var stdin_default$c=defineComponent({name:name$b,props:popoverProps,emits:["select","touchstart","update:show"],setup(i,{emit:e,slots:r,attrs:s}){let o;const a=ref(),l=ref(),c=ref(),u=useSyncPropRef(()=>i.show,P=>e("update:show",P)),d=()=>({placement:i.placement,modifiers:[{name:"computeStyles",options:{adaptive:!1,gpuAcceleration:!1}},extend$2({},offset_default,{options:{offset:i.offset}})]}),g=()=>l.value&&c.value?createPopper(l.value,c.value.popupRef.value,d()):null,m=()=>{nextTick(()=>{u.value&&(o?o.setOptions(d()):(o=g(),inBrowser$2&&(window.addEventListener("animationend",m),window.addEventListener("transitionend",m))))})},y=P=>{u.value=P},b=()=>{i.trigger==="click"&&(u.value=!u.value)},A=(P,C)=>{P.disabled||(e("select",P,C),i.closeOnClickAction&&(u.value=!1))},S=()=>{u.value&&i.closeOnClickOutside&&(!i.overlay||i.closeOnClickOverlay)&&(u.value=!1)},E=(P,C)=>r.action?r.action({action:P,index:C}):[P.icon&&createVNode(Icon$1,{name:P.icon,classPrefix:i.iconPrefix,class:bem$8("action-icon")},null),createVNode("div",{class:[bem$8("action-text"),BORDER_BOTTOM]},[P.text])],x=(P,C)=>{const{icon:T,color:k,disabled:I,className:M}=P;return createVNode("div",{role:"menuitem",class:[bem$8("action",{disabled:I,"with-icon":T}),M],style:{color:k},tabindex:I?void 0:0,"aria-disabled":I||void 0,onClick:()=>A(P,C)},[E(P,C)])};return onMounted(()=>{m(),watchEffect(()=>{var P;a.value=(P=c.value)==null?void 0:P.popupRef.value})}),onBeforeUnmount(()=>{o&&(inBrowser$2&&(window.removeEventListener("animationend",m),window.removeEventListener("transitionend",m)),o.destroy(),o=null)}),watch(()=>[u.value,i.offset,i.placement],m),useClickAway([l,a],S,{eventName:"touchstart"}),()=>{var P;return createVNode(Fragment,null,[createVNode("span",{ref:l,class:bem$8("wrapper"),onClick:b},[(P=r.reference)==null?void 0:P.call(r)]),createVNode(Popup,mergeProps({ref:c,show:u.value,class:bem$8([i.theme]),position:"",transition:"van-popover-zoom",lockScroll:!1,"onUpdate:show":y},s,pick$1(i,popupProps)),{default:()=>[i.showArrow&&createVNode("div",{class:bem$8("arrow")},null),createVNode("div",{role:"menu",class:bem$8("content")},[r.default?r.default():i.actions.map(x)])]})])}}});const Popover=withInstall(stdin_default$c),[name$a,bem$7]=createNamespace$1("progress"),progressProps={color:String,inactive:Boolean,pivotText:String,textColor:String,showPivot:truthProp,pivotColor:String,trackColor:String,strokeWidth:numericProp,percentage:{type:numericProp,default:0,validator:i=>+i>=0&&+i<=100}};var stdin_default$b=defineComponent({name:name$a,props:progressProps,setup(i){const e=computed(()=>i.inactive?void 0:i.color),r=()=>{const{textColor:s,pivotText:o,pivotColor:a,percentage:l}=i,c=o!=null?o:`${l}%`;if(i.showPivot&&c){const u={color:s,left:`${+l}%`,transform:`translate(-${+l}%,-50%)`,background:a||e.value};return createVNode("span",{style:u,class:bem$7("pivot",{inactive:i.inactive})},[c])}};return()=>{const{trackColor:s,percentage:o,strokeWidth:a}=i,l={background:s,height:addUnit(a)},c={width:`${o}%`,background:e.value};return createVNode("div",{class:bem$7(),style:l},[createVNode("span",{class:bem$7("portion",{inactive:i.inactive}),style:c},null),r()])}}});const Progress=withInstall(stdin_default$b),[name$9,bem$6]=createNamespace$1("skeleton-title"),skeletonTitleProps={round:Boolean,titleWidth:numericProp};var stdin_default$a=defineComponent({name:name$9,props:skeletonTitleProps,setup(i){return()=>createVNode("h3",{class:bem$6([{round:i.round}]),style:{width:addUnit(i.titleWidth)}},null)}});const SkeletonTitle=withInstall(stdin_default$a);var stdin_default$9=SkeletonTitle;const[name$8,bem$5]=createNamespace$1("skeleton-avatar"),skeletonAvatarProps={avatarSize:numericProp,avatarShape:makeStringProp("round")};var stdin_default$8=defineComponent({name:name$8,props:skeletonAvatarProps,setup(i){return()=>createVNode("div",{class:bem$5([i.avatarShape]),style:getSizeStyle(i.avatarSize)},null)}});const SkeletonAvatar=withInstall(stdin_default$8);var stdin_default$7=SkeletonAvatar;const DEFAULT_ROW_WIDTH="100%",skeletonParagraphProps={round:Boolean,rowWidth:{type:numericProp,default:DEFAULT_ROW_WIDTH}},[name$7,bem$4]=createNamespace$1("skeleton-paragraph");var stdin_default$6=defineComponent({name:name$7,props:skeletonParagraphProps,setup(i){return()=>createVNode("div",{class:bem$4([{round:i.round}]),style:{width:i.rowWidth}},null)}});const SkeletonParagraph=withInstall(stdin_default$6);var stdin_default$5=SkeletonParagraph;const[name$6,bem$3]=createNamespace$1("skeleton"),DEFAULT_LAST_ROW_WIDTH="60%",skeletonProps={row:makeNumericProp(0),round:Boolean,title:Boolean,titleWidth:numericProp,avatar:Boolean,avatarSize:numericProp,avatarShape:makeStringProp("round"),loading:truthProp,animate:truthProp,rowWidth:{type:[Number,String,Array],default:DEFAULT_ROW_WIDTH}};var stdin_default$4=defineComponent({name:name$6,inheritAttrs:!1,props:skeletonProps,setup(i,{slots:e,attrs:r}){const s=()=>{if(i.avatar)return createVNode(stdin_default$7,{avatarShape:i.avatarShape,avatarSize:i.avatarSize},null)},o=()=>{if(i.title)return createVNode(stdin_default$9,{round:i.round,titleWidth:i.titleWidth},null)},a=u=>{const{rowWidth:d}=i;return d===DEFAULT_ROW_WIDTH&&u===+i.row-1?DEFAULT_LAST_ROW_WIDTH:Array.isArray(d)?d[u]:d},l=()=>Array(+i.row).fill("").map((u,d)=>createVNode(stdin_default$5,{key:d,round:i.round,rowWidth:addUnit(a(d))},null)),c=()=>e.template?e.template():createVNode(Fragment,null,[s(),createVNode("div",{class:bem$3("content")},[o(),l()])]);return()=>{var u;return i.loading?createVNode("div",mergeProps({class:bem$3({animate:i.animate,round:i.round})},r),[c()]):(u=e.default)==null?void 0:u.call(e)}}});const Skeleton=withInstall(stdin_default$4),[name$5,bem$2]=createNamespace$1("slider"),sliderProps={min:makeNumericProp(0),max:makeNumericProp(100),step:makeNumericProp(1),range:Boolean,reverse:Boolean,disabled:Boolean,readonly:Boolean,vertical:Boolean,barHeight:numericProp,buttonSize:numericProp,activeColor:String,inactiveColor:String,modelValue:{type:[Number,Array],default:0}};var stdin_default$3=defineComponent({name:name$5,props:sliderProps,emits:["change","dragEnd","dragStart","update:modelValue"],setup(i,{emit:e,slots:r}){let s,o,a;const l=ref(),c=[ref(),ref()],u=ref(),d=useTouch(),g=computed(()=>Number(i.max)-Number(i.min)),m=computed(()=>{const _=i.vertical?"width":"height";return{background:i.inactiveColor,[_]:addUnit(i.barHeight)}}),y=_=>i.range&&Array.isArray(_),b=()=>{const{modelValue:_,min:V}=i;return y(_)?`${(_[1]-_[0])*100/g.value}%`:`${(_-Number(V))*100/g.value}%`},A=()=>{const{modelValue:_,min:V}=i;return y(_)?`${(_[0]-Number(V))*100/g.value}%`:"0%"},S=computed(()=>{const V={[i.vertical?"height":"width"]:b(),background:i.activeColor};u.value&&(V.transition="none");const D=()=>i.vertical?i.reverse?"bottom":"top":i.reverse?"right":"left";return V[D()]=A(),V}),E=_=>{const V=+i.min,D=+i.max,F=+i.step;_=clamp(_,V,D);const N=Math.round((_-V)/F)*F;return addNumber(V,N)},x=_=>{var V,D;const F=(V=_[0])!=null?V:Number(i.min),N=(D=_[1])!=null?D:Number(i.max);return F>N?[N,F]:[F,N]},P=(_,V)=>{y(_)?_=x(_).map(E):_=E(_),isSameValue(_,i.modelValue)||e("update:modelValue",_),V&&!isSameValue(_,a)&&e("change",_)},C=_=>{if(_.stopPropagation(),i.disabled||i.readonly)return;const{min:V,reverse:D,vertical:F,modelValue:N}=i,K=useRect(l),G=()=>F?D?K.bottom-_.clientY:_.clientY-K.top:D?K.right-_.clientX:_.clientX-K.left,q=F?K.height:K.width,O=Number(V)+G()/q*g.value;if(y(N)){const[U,$]=N,Y=(U+$)/2;O<=Y?P([O,$],!0):P([U,O],!0)}else P(O,!0)},T=_=>{i.disabled||i.readonly||(d.start(_),o=i.modelValue,y(o)?a=o.map(E):a=E(o),u.value="start")},k=_=>{if(i.disabled||i.readonly)return;u.value==="start"&&e("dragStart",_),preventDefault(_,!0),d.move(_),u.value="dragging";const V=useRect(l),D=i.vertical?d.deltaY.value:d.deltaX.value,F=i.vertical?V.height:V.width;let N=D/F*g.value;if(i.reverse&&(N=-N),y(a)){const K=i.reverse?1-s:s;o[K]=a[K]+N}else o=a+N;P(o)},I=_=>{i.disabled||i.readonly||(u.value==="dragging"&&(P(o,!0),e("dragEnd",_)),u.value="")},M=_=>typeof _=="number"?bem$2("button-wrapper",["left","right"][_]):bem$2("button-wrapper",i.reverse?"left":"right"),R=(_,V)=>{if(typeof V=="number"){const D=r[V===0?"left-button":"right-button"];if(D)return D({value:_})}return r.button?r.button({value:_}):createVNode("div",{class:bem$2("button"),style:getSizeStyle(i.buttonSize)},null)},B=_=>{const V=typeof _=="number"?i.modelValue[_]:i.modelValue;return createVNode("div",{ref:c[_!=null?_:0],role:"slider",class:M(_),tabindex:i.disabled?void 0:0,"aria-valuemin":i.min,"aria-valuenow":V,"aria-valuemax":i.max,"aria-disabled":i.disabled||void 0,"aria-readonly":i.readonly||void 0,"aria-orientation":i.vertical?"vertical":"horizontal",onTouchstartPassive:D=>{typeof _=="number"&&(s=_),T(D)},onTouchend:I,onTouchcancel:I,onClick:stopPropagation},[R(V,_)])};return P(i.modelValue),useCustomFieldValue(()=>i.modelValue),c.forEach(_=>{useEventListener$1("touchmove",k,{target:_})}),()=>createVNode("div",{ref:l,style:m.value,class:bem$2({vertical:i.vertical,disabled:i.disabled}),onClick:C},[createVNode("div",{class:bem$2("bar"),style:S.value},[i.range?[B(0),B(1)]:B()])])}});const Slider=withInstall(stdin_default$3),[name$4,bem$1]=createNamespace$1("space"),spaceProps={align:String,direction:{type:String,default:"horizontal"},size:{type:[Number,String,Array],default:8},wrap:Boolean,fill:Boolean};function filterEmpty(i=[]){const e=[];return i.forEach(r=>{Array.isArray(r)?e.push(...r):r.type===Fragment?e.push(...filterEmpty(r.children)):e.push(r)}),e.filter(r=>{var s;return!(r&&(r.type===Comment||r.type===Fragment&&((s=r.children)==null?void 0:s.length)===0||r.type===Text&&r.children.trim()===""))})}var stdin_default$2=defineComponent({name:name$4,props:spaceProps,setup(i,{slots:e}){const r=computed(()=>{var a;return(a=i.align)!=null?a:i.direction==="horizontal"?"center":""}),s=a=>typeof a=="number"?a+"px":a,o=a=>{const l={},c=`${s(Array.isArray(i.size)?i.size[0]:i.size)}`,u=`${s(Array.isArray(i.size)?i.size[1]:i.size)}`;return a?i.wrap?{marginBottom:u}:{}:(i.direction==="horizontal"&&(l.marginRight=c),(i.direction==="vertical"||i.wrap)&&(l.marginBottom=u),l)};return()=>{var a;const l=filterEmpty((a=e.default)==null?void 0:a.call(e));return createVNode("div",{class:[bem$1({[i.direction]:i.direction,[`align-${r.value}`]:r.value,wrap:i.wrap,fill:i.fill})]},[l.map((c,u)=>createVNode("div",{key:`item-${u}`,class:`${name$4}-item`,style:o(u===l.length-1)},[c]))])}}});const Space=withInstall(stdin_default$2),[name$3,bem,t]=createNamespace$1("uploader");function readFileContent(i,e){return new Promise(r=>{if(e==="file"){r();return}const s=new FileReader;s.onload=o=>{r(o.target.result)},e==="dataUrl"?s.readAsDataURL(i):e==="text"&&s.readAsText(i)})}function isOversize(i,e){return toArray(i).some(r=>r.file?isFunction$5(e)?e(r.file):r.file.size>+e:!1)}function filterFiles(i,e){const r=[],s=[];return i.forEach(o=>{isOversize(o,e)?s.push(o):r.push(o)}),{valid:r,invalid:s}}const IMAGE_REGEXP=/\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg|avif)/i,isImageUrl=i=>IMAGE_REGEXP.test(i);function isImageFile(i){return i.isImage?!0:i.file&&i.file.type?i.file.type.indexOf("image")===0:i.url?isImageUrl(i.url):typeof i.content=="string"?i.content.indexOf("data:image")===0:!1}var stdin_default$1=defineComponent({props:{name:numericProp,item:makeRequiredProp(Object),index:Number,imageFit:String,lazyLoad:Boolean,deletable:Boolean,previewSize:[Number,String,Array],beforeDelete:Function},emits:["delete","preview"],setup(i,{emit:e,slots:r}){const s=()=>{const{status:d,message:g}=i.item;if(d==="uploading"||d==="failed"){const m=d==="failed"?createVNode(Icon$1,{name:"close",class:bem("mask-icon")},null):createVNode(Loading$2,{class:bem("loading")},null),y=isDef$1(g)&&g!=="";return createVNode("div",{class:bem("mask")},[m,y&&createVNode("div",{class:bem("mask-message")},[g])])}},o=d=>{const{name:g,item:m,index:y,beforeDelete:b}=i;d.stopPropagation(),callInterceptor(b,{args:[m,{name:g,index:y}],done:()=>e("delete")})},a=()=>e("preview"),l=()=>{if(i.deletable&&i.item.status!=="uploading"){const d=r["preview-delete"];return createVNode("div",{role:"button",class:bem("preview-delete",{shadow:!d}),tabindex:0,"aria-label":t("delete"),onClick:o},[d?d():createVNode(Icon$1,{name:"cross",class:bem("preview-delete-icon")},null)])}},c=()=>{if(r["preview-cover"]){const{index:d,item:g}=i;return createVNode("div",{class:bem("preview-cover")},[r["preview-cover"](extend$2({index:d},g))])}},u=()=>{const{item:d,lazyLoad:g,imageFit:m,previewSize:y}=i;return isImageFile(d)?createVNode(Image$1,{fit:m,src:d.content||d.url,class:bem("preview-image"),width:Array.isArray(y)?y[0]:y,height:Array.isArray(y)?y[1]:y,lazyLoad:g,onClick:a},{default:c}):createVNode("div",{class:bem("file"),style:getSizeStyle(i.previewSize)},[createVNode(Icon$1,{class:bem("file-icon"),name:"description"},null),createVNode("div",{class:[bem("file-name"),"van-ellipsis"]},[d.file?d.file.name:d.url]),c()])};return()=>createVNode("div",{class:bem("preview")},[u(),s(),l()])}});const uploaderProps={name:makeNumericProp(""),accept:makeStringProp("image/*"),capture:String,multiple:Boolean,disabled:Boolean,readonly:Boolean,lazyLoad:Boolean,maxCount:makeNumericProp(1/0),imageFit:makeStringProp("cover"),resultType:makeStringProp("dataUrl"),uploadIcon:makeStringProp("photograph"),uploadText:String,deletable:truthProp,afterRead:Function,showUpload:truthProp,modelValue:makeArrayProp(),beforeRead:Function,beforeDelete:Function,previewSize:[Number,String,Array],previewImage:truthProp,previewOptions:Object,previewFullImage:truthProp,maxSize:{type:[Number,String,Function],default:1/0}};var stdin_default=defineComponent({name:name$3,props:uploaderProps,emits:["delete","oversize","clickUpload","closePreview","clickPreview","update:modelValue"],setup(i,{emit:e,slots:r}){const s=ref(),o=[],a=(T=i.modelValue.length)=>({name:i.name,index:T}),l=()=>{s.value&&(s.value.value="")},c=T=>{if(l(),isOversize(T,i.maxSize))if(Array.isArray(T)){const k=filterFiles(T,i.maxSize);if(T=k.valid,e("oversize",k.invalid,a()),!T.length)return}else{e("oversize",T,a());return}T=reactive(T),e("update:modelValue",[...i.modelValue,...toArray(T)]),i.afterRead&&i.afterRead(T,a())},u=T=>{const{maxCount:k,modelValue:I,resultType:M}=i;if(Array.isArray(T)){const R=+k-I.length;T.length>R&&(T=T.slice(0,R)),Promise.all(T.map(B=>readFileContent(B,M))).then(B=>{const _=T.map((V,D)=>{const F={file:V,status:"",message:""};return B[D]&&(F.content=B[D]),F});c(_)})}else readFileContent(T,M).then(R=>{const B={file:T,status:"",message:""};R&&(B.content=R),c(B)})},d=T=>{const{files:k}=T.target;if(i.disabled||!k||!k.length)return;const I=k.length===1?k[0]:[].slice.call(k);if(i.beforeRead){const M=i.beforeRead(I,a());if(!M){l();return}if(isPromise(M)){M.then(R=>{u(R||I)}).catch(l);return}}u(I)};let g;const m=()=>e("closePreview"),y=T=>{if(i.previewFullImage){const k=i.modelValue.filter(isImageFile),I=k.map(M=>(M.file&&!M.url&&M.status!=="failed"&&(M.url=URL.createObjectURL(M.file),o.push(M.url)),M.url)).filter(Boolean);g=showImagePreview(extend$2({images:I,startPosition:k.indexOf(T),onClose:m},i.previewOptions))}},b=()=>{g&&g.close()},A=(T,k)=>{const I=i.modelValue.slice(0);I.splice(k,1),e("update:modelValue",I),e("delete",T,a(k))},S=(T,k)=>{const I=["imageFit","deletable","previewSize","beforeDelete"],M=extend$2(pick$1(i,I),pick$1(T,I,!0));return createVNode(stdin_default$1,mergeProps({item:T,index:k,onClick:()=>e("clickPreview",T,a(k)),onDelete:()=>A(T,k),onPreview:()=>y(T)},pick$1(i,["name","lazyLoad"]),M),pick$1(r,["preview-cover","preview-delete"]))},E=()=>{if(i.previewImage)return i.modelValue.map(S)},x=T=>e("clickUpload",T),P=()=>{if(i.modelValue.length>=+i.maxCount)return;const T=i.readonly?null:createVNode("input",{ref:s,type:"file",class:bem("input"),accept:i.accept,capture:i.capture,multiple:i.multiple,disabled:i.disabled,onChange:d},null);return r.default?createVNode("div",{class:bem("input-wrapper"),onClick:x},[r.default(),T]):withDirectives(createVNode("div",{class:bem("upload",{readonly:i.readonly}),style:getSizeStyle(i.previewSize),onClick:x},[createVNode(Icon$1,{name:i.uploadIcon,class:bem("upload-icon")},null),i.uploadText&&createVNode("span",{class:bem("upload-text")},[i.uploadText]),T]),[[vShow,i.showUpload]])},C=()=>{s.value&&!i.disabled&&s.value.click()};return onBeforeUnmount(()=>{o.forEach(T=>URL.revokeObjectURL(T))}),useExpose({chooseFile:C,closeImagePreview:b}),useCustomFieldValue(()=>i.modelValue),()=>createVNode("div",{class:bem()},[createVNode("div",{class:bem("wrapper",{disabled:i.disabled})},[E(),P()])])}});const Uploader=withInstall(stdin_default),storeData=reactive({status:"init",user:{},platformType:"STUDENT",platformApi:"/api-student",proxy:"",isApp:!1}),setStoreData=i=>{Object.assign(storeData,i)},setUserInfo=i=>{storeData.status="login",storeData.user=i||{}};var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function getAugmentedNamespace(i){if(i.__esModule)return i;var e=i.default;if(typeof e=="function"){var r=function s(){if(this instanceof s){var o=[null];o.push.apply(o,arguments);var a=Function.bind.apply(e,o);return new a}return e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(i).forEach(function(s){var o=Object.getOwnPropertyDescriptor(i,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:function(){return i[s]}})}),r}var assign$1=make_assign(),create$1=make_create(),trim$1=make_trim(),Global$5=typeof window<"u"?window:commonjsGlobal,util$i={assign:assign$1,create:create$1,trim:trim$1,bind:bind$3,slice:slice$3,each:each$8,map,pluck:pluck$1,isList:isList$1,isFunction:isFunction$4,isObject:isObject$3,Global:Global$5};function make_assign(){return Object.assign?Object.assign:function(e,r,s,o){for(var a=1;a"u"?null:console;if(i){var e=i.warn?i.warn:i.log;e.apply(i,arguments)}}function createStore(i,e,r){r||(r=""),i&&!isList(i)&&(i=[i]),e&&!isList(e)&&(e=[e]);var s=r?"__storejs_"+r+"_":"",o=r?new RegExp("^"+s):null,a=/^[a-zA-Z0-9_\-]*$/;if(!a.test(r))throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes");var l={_namespacePrefix:s,_namespaceRegexp:o,_testStorage:function(u){try{var d="__storejs__test__";u.write(d,d);var g=u.read(d)===d;return u.remove(d),g}catch(m){return!1}},_assignPluginFnProp:function(u,d){var g=this[d];this[d]=function(){var y=slice$2(arguments,0),b=this;function A(){if(g)return each$7(arguments,function(E,x){y[x]=E}),g.apply(b,y)}var S=[A].concat(y);return u.apply(b,S)}},_serialize:function(u){return JSON.stringify(u)},_deserialize:function(u,d){if(!u)return d;var g="";try{g=JSON.parse(u)}catch(m){g=u}return g!==void 0?g:d},_addStorage:function(u){this.enabled||this._testStorage(u)&&(this.storage=u,this.enabled=!0)},_addPlugin:function(u){var d=this;if(isList(u)){each$7(u,function(y){d._addPlugin(y)});return}var g=pluck(this.plugins,function(y){return u===y});if(!g){if(this.plugins.push(u),!isFunction$3(u))throw new Error("Plugins must be function values that return objects");var m=u.call(this);if(!isObject$2(m))throw new Error("Plugins must return an object of function properties");each$7(m,function(y,b){if(!isFunction$3(y))throw new Error("Bad plugin property: "+b+" from plugin "+u.name+". Plugins should only return functions.");d._assignPluginFnProp(y,b)})}},addStorage:function(u){_warn("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(u)}},c=create(l,storeAPI,{plugins:[]});return c.raw={},each$7(c,function(u,d){isFunction$3(u)&&(c.raw[d]=bind$2(c,u))}),each$7(i,function(u){c._addStorage(u)}),each$7(e,function(u){c._addPlugin(u)}),c}var util$g=util$i,Global$4=util$g.Global,localStorage_1={name:"localStorage",read:read$5,write:write$5,each:each$6,remove:remove$6,clearAll:clearAll$5};function localStorage$1(){return Global$4.localStorage}function read$5(i){return localStorage$1().getItem(i)}function write$5(i,e){return localStorage$1().setItem(i,e)}function each$6(i){for(var e=localStorage$1().length-1;e>=0;e--){var r=localStorage$1().key(e);i(read$5(r),r)}}function remove$6(i){return localStorage$1().removeItem(i)}function clearAll$5(){return localStorage$1().clear()}var util$f=util$i,Global$3=util$f.Global,oldFFGlobalStorage={name:"oldFF-globalStorage",read:read$4,write:write$4,each:each$5,remove:remove$5,clearAll:clearAll$4},globalStorage=Global$3.globalStorage;function read$4(i){return globalStorage[i]}function write$4(i,e){globalStorage[i]=e}function each$5(i){for(var e=globalStorage.length-1;e>=0;e--){var r=globalStorage.key(e);i(globalStorage[r],r)}}function remove$5(i){return globalStorage.removeItem(i)}function clearAll$4(){each$5(function(i,e){delete globalStorage[i]})}var util$e=util$i,Global$2=util$e.Global,oldIEUserDataStorage={name:"oldIE-userDataStorage",write:write$3,read:read$3,each:each$4,remove:remove$4,clearAll:clearAll$3},storageName="storejs",doc$1=Global$2.document,_withStorageEl=_makeIEStorageElFunction(),disable$1=(Global$2.navigator?Global$2.navigator.userAgent:"").match(/ (MSIE 8|MSIE 9|MSIE 10)\./);function write$3(i,e){if(!disable$1){var r=fixKey(i);_withStorageEl(function(s){s.setAttribute(r,e),s.save(storageName)})}}function read$3(i){if(!disable$1){var e=fixKey(i),r=null;return _withStorageEl(function(s){r=s.getAttribute(e)}),r}}function each$4(i){_withStorageEl(function(e){for(var r=e.XMLDocument.documentElement.attributes,s=r.length-1;s>=0;s--){var o=r[s];i(e.getAttribute(o.name),o.name)}})}function remove$4(i){var e=fixKey(i);_withStorageEl(function(r){r.removeAttribute(e),r.save(storageName)})}function clearAll$3(){_withStorageEl(function(i){var e=i.XMLDocument.documentElement.attributes;i.load(storageName);for(var r=e.length-1;r>=0;r--)i.removeAttribute(e[r].name);i.save(storageName)})}var forbiddenCharsRegex=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function fixKey(i){return i.replace(/^\d/,"___$&").replace(forbiddenCharsRegex,"___")}function _makeIEStorageElFunction(){if(!doc$1||!doc$1.documentElement||!doc$1.documentElement.addBehavior)return null;var i="script",e,r,s;try{r=new ActiveXObject("htmlfile"),r.open(),r.write("<"+i+">document.w=window'),r.close(),e=r.w.frames[0].document,s=e.createElement("div")}catch(o){s=doc$1.createElement("div"),e=doc$1.body}return function(o){var a=[].slice.call(arguments,0);a.unshift(s),e.appendChild(s),s.addBehavior("#default#userData"),s.load(storageName),o.apply(this,a),e.removeChild(s)}}var util$d=util$i,Global$1=util$d.Global,trim=util$d.trim,cookieStorage={name:"cookieStorage",read:read$2,write:write$2,each:each$3,remove:remove$3,clearAll:clearAll$2},doc=Global$1.document;function read$2(i){if(!i||!_has(i))return null;var e="(?:^|.*;\\s*)"+escape(i).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(doc.cookie.replace(new RegExp(e),"$1"))}function each$3(i){for(var e=doc.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(trim(e[r])){var s=e[r].split("="),o=unescape(s[0]),a=unescape(s[1]);i(a,o)}}function write$2(i,e){i&&(doc.cookie=escape(i)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/")}function remove$3(i){!i||!_has(i)||(doc.cookie=escape(i)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function clearAll$2(){each$3(function(i,e){remove$3(e)})}function _has(i){return new RegExp("(?:^|;\\s*)"+escape(i).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(doc.cookie)}var util$c=util$i,Global=util$c.Global,sessionStorage_1={name:"sessionStorage",read:read$1,write:write$1,each:each$2,remove:remove$2,clearAll:clearAll$1};function sessionStorage$1(){return Global.sessionStorage}function read$1(i){return sessionStorage$1().getItem(i)}function write$1(i,e){return sessionStorage$1().setItem(i,e)}function each$2(i){for(var e=sessionStorage$1().length-1;e>=0;e--){var r=sessionStorage$1().key(e);i(read$1(r),r)}}function remove$2(i){return sessionStorage$1().removeItem(i)}function clearAll$1(){return sessionStorage$1().clear()}var memoryStorage_1={name:"memoryStorage",read,write,each:each$1,remove:remove$1,clearAll},memoryStorage={};function read(i){return memoryStorage[i]}function write(i,e){memoryStorage[i]=e}function each$1(i){for(var e in memoryStorage)memoryStorage.hasOwnProperty(e)&&i(memoryStorage[e],e)}function remove$1(i){delete memoryStorage[i]}function clearAll(i){memoryStorage={}}var all=[localStorage_1,oldFFGlobalStorage,oldIEUserDataStorage,cookieStorage,sessionStorage_1,memoryStorage_1],json2$1={},hasRequiredJson2;function requireJson2(){return hasRequiredJson2||(hasRequiredJson2=1,typeof JSON!="object"&&(JSON={}),function(){var rx_one=/^[\],:{}\s]*$/,rx_two=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rx_three=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rx_four=/(?:^|:|,)(?:\s*\[)+/g,rx_escapable=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,rx_dangerous=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;function f(i){return i<10?"0"+i:i}function this_value(){return this.valueOf()}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},Boolean.prototype.toJSON=this_value,Number.prototype.toJSON=this_value,String.prototype.toJSON=this_value);var gap,indent,meta,rep;function quote(i){return rx_escapable.lastIndex=0,rx_escapable.test(i)?'"'+i.replace(rx_escapable,function(e){var r=meta[e];return typeof r=="string"?r:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+i+'"'}function str(i,e){var r,s,o,a,l=gap,c,u=e[i];switch(u&&typeof u=="object"&&typeof u.toJSON=="function"&&(u=u.toJSON(i)),typeof rep=="function"&&(u=rep.call(e,i,u)),typeof u){case"string":return quote(u);case"number":return isFinite(u)?String(u):"null";case"boolean":case"null":return String(u);case"object":if(!u)return"null";if(gap+=indent,c=[],Object.prototype.toString.apply(u)==="[object Array]"){for(a=u.length,r=0;ri==null,strictUriEncode=i=>encodeURIComponent(i).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),encodeFragmentIdentifier=Symbol("encodeFragmentIdentifier");function encoderForArrayFormat(i){switch(i.arrayFormat){case"index":return e=>(r,s)=>{const o=r.length;return s===void 0||i.skipNull&&s===null||i.skipEmptyString&&s===""?r:s===null?[...r,[encode$1(e,i),"[",o,"]"].join("")]:[...r,[encode$1(e,i),"[",encode$1(o,i),"]=",encode$1(s,i)].join("")]};case"bracket":return e=>(r,s)=>s===void 0||i.skipNull&&s===null||i.skipEmptyString&&s===""?r:s===null?[...r,[encode$1(e,i),"[]"].join("")]:[...r,[encode$1(e,i),"[]=",encode$1(s,i)].join("")];case"colon-list-separator":return e=>(r,s)=>s===void 0||i.skipNull&&s===null||i.skipEmptyString&&s===""?r:s===null?[...r,[encode$1(e,i),":list="].join("")]:[...r,[encode$1(e,i),":list=",encode$1(s,i)].join("")];case"comma":case"separator":case"bracket-separator":{const e=i.arrayFormat==="bracket-separator"?"[]=":"=";return r=>(s,o)=>o===void 0||i.skipNull&&o===null||i.skipEmptyString&&o===""?s:(o=o===null?"":o,s.length===0?[[encode$1(r,i),e,encode$1(o,i)].join("")]:[[s,encode$1(o,i)].join(i.arrayFormatSeparator)])}default:return e=>(r,s)=>s===void 0||i.skipNull&&s===null||i.skipEmptyString&&s===""?r:s===null?[...r,encode$1(e,i)]:[...r,[encode$1(e,i),"=",encode$1(s,i)].join("")]}}function parserForArrayFormat(i){let e;switch(i.arrayFormat){case"index":return(r,s,o)=>{if(e=/\[(\d*)]$/.exec(r),r=r.replace(/\[\d*]$/,""),!e){o[r]=s;return}o[r]===void 0&&(o[r]={}),o[r][e[1]]=s};case"bracket":return(r,s,o)=>{if(e=/(\[])$/.exec(r),r=r.replace(/\[]$/,""),!e){o[r]=s;return}if(o[r]===void 0){o[r]=[s];return}o[r]=[...o[r],s]};case"colon-list-separator":return(r,s,o)=>{if(e=/(:list)$/.exec(r),r=r.replace(/:list$/,""),!e){o[r]=s;return}if(o[r]===void 0){o[r]=[s];return}o[r]=[...o[r],s]};case"comma":case"separator":return(r,s,o)=>{const a=typeof s=="string"&&s.includes(i.arrayFormatSeparator),l=typeof s=="string"&&!a&&decode$3(s,i).includes(i.arrayFormatSeparator);s=l?decode$3(s,i):s;const c=a||l?s.split(i.arrayFormatSeparator).map(u=>decode$3(u,i)):s===null?s:decode$3(s,i);o[r]=c};case"bracket-separator":return(r,s,o)=>{const a=/(\[])$/.test(r);if(r=r.replace(/\[]$/,""),!a){o[r]=s&&decode$3(s,i);return}const l=s===null?[]:s.split(i.arrayFormatSeparator).map(c=>decode$3(c,i));if(o[r]===void 0){o[r]=l;return}o[r]=[...o[r],...l]};default:return(r,s,o)=>{if(o[r]===void 0){o[r]=s;return}o[r]=[...[o[r]].flat(),s]}}}function validateArrayFormatSeparator(i){if(typeof i!="string"||i.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function encode$1(i,e){return e.encode?e.strict?strictUriEncode(i):encodeURIComponent(i):i}function decode$3(i,e){return e.decode?decodeUriComponent(i):i}function keysSorter(i){return Array.isArray(i)?i.sort():typeof i=="object"?keysSorter(Object.keys(i)).sort((e,r)=>Number(e)-Number(r)).map(e=>i[e]):i}function removeHash(i){const e=i.indexOf("#");return e!==-1&&(i=i.slice(0,e)),i}function getHash(i){let e="";const r=i.indexOf("#");return r!==-1&&(e=i.slice(r)),e}function parseValue(i,e){return e.parseNumbers&&!Number.isNaN(Number(i))&&typeof i=="string"&&i.trim()!==""?i=Number(i):e.parseBooleans&&i!==null&&(i.toLowerCase()==="true"||i.toLowerCase()==="false")&&(i=i.toLowerCase()==="true"),i}function extract(i){i=removeHash(i);const e=i.indexOf("?");return e===-1?"":i.slice(e+1)}function parse$5(i,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e},validateArrayFormatSeparator(e.arrayFormatSeparator);const r=parserForArrayFormat(e),s=Object.create(null);if(typeof i!="string"||(i=i.trim().replace(/^[?#&]/,""),!i))return s;for(const o of i.split("&")){if(o==="")continue;const a=e.decode?o.replace(/\+/g," "):o;let[l,c]=splitOnFirst(a,"=");l===void 0&&(l=a),c=c===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?c:decode$3(c,e),r(decode$3(l,e),c,s)}for(const[o,a]of Object.entries(s))if(typeof a=="object"&&a!==null)for(const[l,c]of Object.entries(a))a[l]=parseValue(c,e);else s[o]=parseValue(a,e);return e.sort===!1?s:(e.sort===!0?Object.keys(s).sort():Object.keys(s).sort(e.sort)).reduce((o,a)=>{const l=s[a];return l&&typeof l=="object"&&!Array.isArray(l)?o[a]=keysSorter(l):o[a]=l,o},Object.create(null))}function stringify$2(i,e){if(!i)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},validateArrayFormatSeparator(e.arrayFormatSeparator);const r=l=>e.skipNull&&isNullOrUndefined(i[l])||e.skipEmptyString&&i[l]==="",s=encoderForArrayFormat(e),o={};for(const[l,c]of Object.entries(i))r(l)||(o[l]=c);const a=Object.keys(o);return e.sort!==!1&&a.sort(e.sort),a.map(l=>{const c=i[l];return c===void 0?"":c===null?encode$1(l,e):Array.isArray(c)?c.length===0&&e.arrayFormat==="bracket-separator"?encode$1(l,e)+"[]":c.reduce(s(l),[]).join("&"):encode$1(l,e)+"="+encode$1(c,e)}).filter(l=>l.length>0).join("&")}function parseUrl(i,e){var o,a;e={decode:!0,...e};let[r,s]=splitOnFirst(i,"#");return r===void 0&&(r=i),{url:(a=(o=r==null?void 0:r.split("?"))==null?void 0:o[0])!=null?a:"",query:parse$5(extract(i),e),...e&&e.parseFragmentIdentifier&&s?{fragmentIdentifier:decode$3(s,e)}:{}}}function stringifyUrl(i,e){e={encode:!0,strict:!0,[encodeFragmentIdentifier]:!0,...e};const r=removeHash(i.url).split("?")[0]||"",s=extract(i.url),o={...parse$5(s,{sort:!1}),...i.query};let a=stringify$2(o,e);a&&(a=`?${a}`);let l=getHash(i.url);if(i.fragmentIdentifier){const c=new URL(r);c.hash=i.fragmentIdentifier,l=e[encodeFragmentIdentifier]?c.hash:`#${i.fragmentIdentifier}`}return`${r}${a}${l}`}function pick(i,e,r){r={parseFragmentIdentifier:!0,[encodeFragmentIdentifier]:!1,...r};const{url:s,query:o,fragmentIdentifier:a}=parseUrl(i,r);return stringifyUrl({url:s,query:includeKeys(o,e),fragmentIdentifier:a},r)}function exclude(i,e,r){const s=Array.isArray(e)?o=>!e.includes(o):(o,a)=>!e(o,a);return pick(i,s,r)}const queryString=Object.freeze(Object.defineProperty({__proto__:null,exclude,extract,parse:parse$5,parseUrl,pick,stringify:stringify$2,stringifyUrl},Symbol.toStringTag,{value:"Module"})),getQuery=()=>{let i={};try{i={...queryString.parse(location.search),...queryString.parse(location.hash.split("?")[1])}}catch(e){}return{...i}},browser=()=>{const i=navigator.userAgent;return{trident:i.indexOf("Trident")>-1,presto:i.indexOf("Presto")>-1,webKit:i.indexOf("AppleWebKit")>-1,gecko:i.indexOf("Gecko")>-1&&i.indexOf("KHTML")==-1,mobile:!!i.match(/AppleWebKit.*Mobile.*/),ios:!!i.match(/Mac OS X/)||/(iPhone|iPad|iPod|iOS)/i.test(i),android:i.indexOf("Android")>-1||i.indexOf("Adr")>-1,iPhone:i.indexOf("ORCHESTRAAPPI")>-1,isApp:i.includes("DAYAAPPA")||i.includes("DAYAAPPI")||i.includes("COLEXIUAPPA")||i.includes("COLEXIUAPPI")||i.includes("ORCHESTRAAPPI")||i.includes("ORCHESTRAAPPA"),isTeacher:i.indexOf("ORCHESTRATEACHER")>-1||i.includes("COLEXIUTEACHER"),isStudent:i.indexOf("ORCHESTRASTUDENT")>-1||i.includes("COLEXIUSTUDENT"),isSchool:i.indexOf("ORCHESTRASCHOOL")>-1,iPad:i.indexOf("iPad")>-1,webApp:i.indexOf("Safari")==-1,weixin:i.indexOf("MicroMessenger")>-1,alipay:i.indexOf("AlipayClient")>-1,huawei:!!i.match(/huawei/i)||!!i.match(/honor/i),xiaomi:!!i.match(/mi\s/i)||!!i.match(/redmi/i)||!!i.match(/mix/i)}},getRandomKey=()=>""+Date.now()+Math.floor(Math.random()*1e6),AuthorizationKey="AUTHORIZATION",setToken=i=>{sessionStorage.setItem(AuthorizationKey,i)},getToken=()=>sessionStorage.getItem(AuthorizationKey)||"",setGlobalData=(i,e)=>{if(!i||!e)return;const r=window.GYM||{};r[i]=e,window.GYM=r},BEHAVIORIDKEY="BEHAVIORID",setBehaviorId=i=>{localStorage.setItem(BEHAVIORIDKEY,i)},getBehaviorId=()=>localStorage.getItem(BEHAVIORIDKEY),campIdKey="CAMPID",setCampId=i=>{sessionStorage.setItem(campIdKey,i)},getCampId=()=>sessionStorage.getItem(campIdKey)||"",getSecondRPM=(i,e)=>{if(isNaN(i))return"00:00";let r=Math.floor(i/60/60%24),s=Math.floor(i/60%60),o=Math.floor(i%60);return e==="cn"?`${r>0?r.toString().padStart(2,"0")+"时":""}${s.toString().padStart(2,"0")}分${o.toString().padStart(2,"0")}秒`:`${r>0?r.toString().padStart(2,"0")+":":""}${s.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`},SPEEDKEY="speeds",setStorageSpeed=(i,e)=>{const r=store_legacy.get(SPEEDKEY)||{};r[i]=e,store_legacy.set(SPEEDKEY,r)},getStorageSpeed=i=>(store_legacy.get(SPEEDKEY)||{})[i]||0,matchProductApiUrl=()=>{const i=getQuery(),e={cbs:{dev:"https://dev.resource.colexiu.com",test:"https://test.resource.colexiu.com",online:"https://mec.colexiu.com"},gym:{dev:"https://dev.dayaedu.com",test:"https://test.dayaedu.com",online:"https://online.dayaedu.com"},colexiu:{dev:"https://dev.colexiu.com/",test:"https://test.colexiu.com",online:"https://online.colexiu.com"},orchestra:{dev:"https://dev.lexiaoya.cn",test:"https://test.lexiaoya.cn",online:"https://online.lexiaoya.cn"},instrument:{dev:"https://dev.kt.colexiu.com",test:"https://test.kt.colexiu.com",test2:"https://test.lexiaoya.cn",online:"https://kt.colexiu.com"}};let r=location.origin.includes("//dev")?"dev":location.origin.includes("//test")?"test":location.origin.includes("//online")||location.origin.includes("//kt")||location.origin.includes("//mec")?"online":"dev";if(i.isCbs)return e.cbs[r]+"/cbs-app";{const s=location.pathname.includes("gym")?"gym":location.pathname.includes("colexiu")?"colexiu":location.pathname.includes("orchestra")?"orchestra":"instrument";return s==="instrument"&&r==="test"&&(r=location.origin.includes("//test.kt")?"test":"test2"),e[s][r]+"/edu-app"}},debounce=(i,e=0)=>{let r;return function(...s){clearTimeout(r),r=setTimeout(()=>i.apply(this,s),e)}},originalPostMessage=window.postMessage;window.postMessage=i=>{originalPostMessage(i,"*")};const loop=()=>{},calls={};var Gi,Ui,Hi,zi,qi,Ki;const instance=window.DAYA||((Ui=(Gi=window.webkit)==null?void 0:Gi.messageHandlers)==null?void 0:Ui.DAYA)||window.COLEXIU||((zi=(Hi=window.webkit)==null?void 0:Hi.messageHandlers)==null?void 0:zi.COLEXIU)||window.ORCHESTRA||((Ki=(qi=window.webkit)==null?void 0:qi.messageHandlers)==null?void 0:Ki.ORCHESTRA);instance&&window.addEventListener("message",i=>{var e,r;try{const s=i.data?typeof i.data=="object"?i.data:JSON.parse(i.data):{},o=((e=s.content)==null?void 0:e.uuid)||s.uuid;try{s.content&&(s.content=JSON.parse(s.content))}catch(c){}if(!o){const c=Object.keys(calls).filter(u=>u.indexOf(s.api)===0);for(const u of c){const d=calls[u]||loop;typeof d=="function"&&d(s),Array.isArray(d)&&d.forEach(g=>{typeof g=="function"&&g(s)})}return}const a=((r=s.content)==null?void 0:r.uuid)||s.uuid||s.api+s.uuid,l=calls[a]||loop;typeof l=="function"&&l(s)}catch(s){console.error("通信消息解析错误",s)}});const postMessage$1=(i,e)=>{if(instance){const r=getRandomKey();calls[r]=e||loop,i.content=i.content?{...i.content,uuid:r}:{uuid:r},instance.postMessage(JSON.stringify(i)),console.log("h5_请求_api:",i)}},listenerMessage=(i,e)=>{const r=i;calls[r]||(calls[r]=[]),calls[r].push(e||loop)},removeListenerMessage=(i,e)=>{const r=i;if(Array.isArray(calls[r])){const s=calls[r].indexOf(e);calls[r].splice(s,1)}},promisefiyPostMessage=i=>new Promise(e=>{postMessage$1(i,r=>e(r))}),api_getToken=()=>storeData.isApp?promisefiyPostMessage({api:"getToken"}):Promise.resolve({}),getEarphone=()=>storeData.isApp?promisefiyPostMessage({api:"isWiredHeadsetOn"}):Promise.resolve({}),isSpecialShapedScreen=()=>storeData.isApp?promisefiyPostMessage({api:"isSpecialShapedScreen"}):Promise.resolve({}),sendResult=i=>{listenerMessage("sendResult",i)},removeResult=i=>{removeListenerMessage("sendResult",i)},endSoundCheck=()=>{postMessage$1({api:"endSoundCheck"})},startEvaluating=i=>storeData.isApp?promisefiyPostMessage({api:"startEvaluating",content:i}):Promise.resolve({}),endEvaluating=i=>storeData.isApp?promisefiyPostMessage({api:"endEvaluating",content:i}):Promise.resolve({}),cancelEvaluating=()=>{postMessage$1({api:"cancelEvaluating"})},api_startRecordingCb=(i,e)=>{postMessage$1({api:"startRecording",content:i},e)},api_proxyServiceMessage=i=>storeData.isApp?promisefiyPostMessage({api:"proxyServiceMessage",content:i}):Promise.resolve({}),api_recordStartTime=i=>{listenerMessage("recordStartTime",i)},api_remove_recordStartTime=i=>{removeListenerMessage("recordStartTime",i)},api_videoUpdate=i=>{postMessage$1({api:"videoUpdate"},i)},api_shareAchievements=i=>storeData.isApp?promisefiyPostMessage({api:"shareAchievements",content:i}):Promise.resolve({}),api_openWebView=i=>storeData.isApp?promisefiyPostMessage({api:"openWebView",content:i}):Promise.resolve({}),api_openCamera=()=>storeData.isApp?promisefiyPostMessage({api:"openCamera"}):Promise.resolve({}),api_closeCamera=()=>storeData.isApp?promisefiyPostMessage({api:"closeCamera"}):Promise.resolve({}),api_setStatusBarVisibility=()=>{postMessage$1({api:"setStatusBarVisibility",content:{isVisibility:0}})},api_cloudToggleFollow=i=>storeData.isApp?promisefiyPostMessage({api:"cloudToggleFollow",content:{state:i}}):Promise.resolve({}),api_cloudFollowTime=(i,e=!0)=>{e?listenerMessage("cloudFollowTime",i):removeListenerMessage("cloudFollowTime",i)},api_goback=()=>{postMessage$1({api:"goBack"})},api_back=()=>{postMessage$1({api:"back"})},api_cloudLoading=(i=!1)=>{postMessage$1({api:"cloudLoading",content:{show:i,type:"fullscreen"}})},api_cloudDestroy=()=>{postMessage$1({api:"cloudDestroy"})},api_setEventTracking=()=>{postMessage$1({api:"setEventTracking",content:{type:"klx_xiaokuAI"}})},api_savePicture=i=>storeData.isApp?promisefiyPostMessage({api:"savePicture",content:i}):Promise.resolve({}),api_setCache=i=>{postMessage$1({api:"setCache",content:i})},api_suspendPlay=i=>{listenerMessage("suspendPlay",i)},api_startCapture=()=>{postMessage$1({api:"startCapture"})},api_endCapture=()=>{postMessage$1({api:"endCapture"})},api_getDeviceDelay=()=>storeData.isApp?promisefiyPostMessage({api:"getDeviceDelay"}):Promise.resolve({}),api_createMusicPlayer=i=>storeData.isApp?promisefiyPostMessage({api:"createMusicPlayer",content:i}):Promise.resolve({}),api_keepScreenLongLight=()=>{postMessage$1({api:"keepScreenLongLight",content:{isOpenLight:!0}})},api_setRequestedOrientation=i=>{postMessage$1({api:"setRequestedOrientation",content:{orientation:i}})},api_playProgress=i=>{listenerMessage("playProgress",i)},api_openAdjustRecording=i=>{postMessage$1({api:"openAdjustRecording",content:i})},hideComplexButton=(i,e)=>{e?listenerMessage("hideComplexButton",i):removeListenerMessage("hideComplexButton",i)},api_checkSocketStatus=()=>promisefiyPostMessage({api:"checkSocketStatus"}),addAccompanyError=i=>{listenerMessage("accompanyError",i)},removeAccompanyError=i=>{removeListenerMessage("accompanyError",i)},addSocketStatus=i=>{listenerMessage("socketConnectSuccessReport",i)},removeSocketStatus=i=>{removeListenerMessage("socketConnectSuccessReport",i)},api_disconnectSocket=()=>promisefiyPostMessage({api:"disconnectSocket"}),api_cloudDetail=(i,e)=>{postMessage$1({api:"cloudDetail",content:i},e)},api_cloudGetMediaStatus=()=>promisefiyPostMessage({api:"cloudGetMediaStatus"}),api_cloudPlay=i=>{promisefiyPostMessage({api:"cloudPlay",content:i})},api_cloudSuspend=i=>{promisefiyPostMessage({api:"cloudSuspend",content:i})},api_cloudSetCurrentTime=i=>{promisefiyPostMessage({api:"cloudSetCurrentTime",content:i})},api_cloudChangeSpeed=i=>{promisefiyPostMessage({api:"cloudChangeSpeed",content:i})},api_cloudVolume=i=>{promisefiyPostMessage({api:"cloudVolume",content:i})},api_cloudTimeUpdae=i=>{listenerMessage("cloudTimeUpdae",i)},api_remove_cloudTimeUpdae=i=>{removeListenerMessage("cloudTimeUpdae",i)},api_cloudplayed=i=>{listenerMessage("cloudplayed",i)},api_remove_cloudplayed=i=>{removeListenerMessage("cloudplayed",i)},api_midiMicDelay=i=>{postMessage$1({api:"proxyServiceMessage",content:i})},api_startDelayCheck=i=>{promisefiyPostMessage({api:"startDelayCheck",content:i})},api_closeDelayCheck=i=>{promisefiyPostMessage({api:"closeDelayCheck",content:i})},api_cancelDelayCheck=i=>{listenerMessage("cancelDelayCheck",i)},api_finishDelayCheck=i=>{listenerMessage("finishDelayCheck",i)},simple_musicPage=i=>{postMessage$1({api:"api_musicPage",content:i})},api_retryEvaluating=i=>{listenerMessage("retryEvaluating",i)},TheError=defineComponent({name:"The-error",setup(i,e){return()=>createVNode("div",null,[createVNode(NavBar,{leftArrow:!0,onClickLeft:()=>{api_back()}},null),createVNode(Empty,{image:"error",description:"网络开小差,请稍后重试"},{default:()=>[createVNode(Button$1,{type:"primary",size:"small",onClick:()=>history.go(0)},{default:()=>[createTextVNode("重新加载")]})]})])}});var shams=function i(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),s=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(s)!=="[object Symbol]")return!1;var o=42;e[r]=o;for(r in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var l=Object.getOwnPropertyDescriptor(e,r);if(l.value!==o||l.enumerable!==!0)return!1}return!0},origSymbol=typeof Symbol<"u"&&Symbol,hasSymbolSham=shams,hasSymbols$1=function i(){return typeof origSymbol!="function"||typeof Symbol!="function"||typeof origSymbol("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:hasSymbolSham()},ERROR_MESSAGE="Function.prototype.bind called on incompatible ",slice$1=Array.prototype.slice,toStr$1=Object.prototype.toString,funcType="[object Function]",implementation$1=function i(e){var r=this;if(typeof r!="function"||toStr$1.call(r)!==funcType)throw new TypeError(ERROR_MESSAGE+r);for(var s=slice$1.call(arguments,1),o,a=function(){if(this instanceof o){var g=r.apply(this,s.concat(slice$1.call(arguments)));return Object(g)===g?g:this}else return r.apply(e,s.concat(slice$1.call(arguments)))},l=Math.max(0,r.length-s.length),c=[],u=0;u"u"?undefined$1:getProto(Uint8Array),INTRINSICS={"%AggregateError%":typeof AggregateError>"u"?undefined$1:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?undefined$1:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols?getProto([][Symbol.iterator]()):undefined$1,"%AsyncFromSyncIteratorPrototype%":undefined$1,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":typeof Atomics>"u"?undefined$1:Atomics,"%BigInt%":typeof BigInt>"u"?undefined$1:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?undefined$1:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?undefined$1:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?undefined$1:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?undefined$1:Float32Array,"%Float64Array%":typeof Float64Array>"u"?undefined$1:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?undefined$1:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":typeof Int8Array>"u"?undefined$1:Int8Array,"%Int16Array%":typeof Int16Array>"u"?undefined$1:Int16Array,"%Int32Array%":typeof Int32Array>"u"?undefined$1:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols?getProto(getProto([][Symbol.iterator]())):undefined$1,"%JSON%":typeof JSON=="object"?JSON:undefined$1,"%Map%":typeof Map>"u"?undefined$1:Map,"%MapIteratorPrototype%":typeof Map>"u"||!hasSymbols?undefined$1:getProto(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?undefined$1:Promise,"%Proxy%":typeof Proxy>"u"?undefined$1:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?undefined$1:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?undefined$1:Set,"%SetIteratorPrototype%":typeof Set>"u"||!hasSymbols?undefined$1:getProto(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?undefined$1:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols?getProto(""[Symbol.iterator]()):undefined$1,"%Symbol%":hasSymbols?Symbol:undefined$1,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError$1,"%Uint8Array%":typeof Uint8Array>"u"?undefined$1:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?undefined$1:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?undefined$1:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?undefined$1:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?undefined$1:WeakMap,"%WeakRef%":typeof WeakRef>"u"?undefined$1:WeakRef,"%WeakSet%":typeof WeakSet>"u"?undefined$1:WeakSet};try{null.error}catch(i){var errorProto=getProto(getProto(i));INTRINSICS["%Error.prototype%"]=errorProto}var doEval=function i(e){var r;if(e==="%AsyncFunction%")r=getEvalledConstructor("async function () {}");else if(e==="%GeneratorFunction%")r=getEvalledConstructor("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=getEvalledConstructor("async function* () {}");else if(e==="%AsyncGenerator%"){var s=i("%AsyncGeneratorFunction%");s&&(r=s.prototype)}else if(e==="%AsyncIteratorPrototype%"){var o=i("%AsyncGenerator%");o&&(r=getProto(o.prototype))}return INTRINSICS[e]=r,r},LEGACY_ALIASES={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bind=functionBind,hasOwn$1=src$1,$concat$1=bind.call(Function.call,Array.prototype.concat),$spliceApply=bind.call(Function.apply,Array.prototype.splice),$replace$1=bind.call(Function.call,String.prototype.replace),$strSlice=bind.call(Function.call,String.prototype.slice),$exec=bind.call(Function.call,RegExp.prototype.exec),rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=function i(e){var r=$strSlice(e,0,1),s=$strSlice(e,-1);if(r==="%"&&s!=="%")throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if(s==="%"&&r!=="%")throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var o=[];return $replace$1(e,rePropName,function(a,l,c,u){o[o.length]=c?$replace$1(u,reEscapeChar,"$1"):l||a}),o},getBaseIntrinsic=function i(e,r){var s=e,o;if(hasOwn$1(LEGACY_ALIASES,s)&&(o=LEGACY_ALIASES[s],s="%"+o[0]+"%"),hasOwn$1(INTRINSICS,s)){var a=INTRINSICS[s];if(a===needsEval&&(a=doEval(s)),typeof a>"u"&&!r)throw new $TypeError$1("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:o,name:s,value:a}}throw new $SyntaxError("intrinsic "+e+" does not exist!")},getIntrinsic=function i(e,r){if(typeof e!="string"||e.length===0)throw new $TypeError$1("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new $TypeError$1('"allowMissing" argument must be a boolean');if($exec(/^%?[^%]*%?$/,e)===null)throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var s=stringToPath(e),o=s.length>0?s[0]:"",a=getBaseIntrinsic("%"+o+"%",r),l=a.name,c=a.value,u=!1,d=a.alias;d&&(o=d[0],$spliceApply(s,$concat$1([0,1],d)));for(var g=1,m=!0;g=s.length){var S=$gOPD(c,y);m=!!S,m&&"get"in S&&!("originalValue"in S.get)?c=S.get:c=c[y]}else m=hasOwn$1(c,y),c=c[y];m&&!u&&(INTRINSICS[l]=c)}}return c},callBindExports={},callBind$1={get exports(){return callBindExports},set exports(i){callBindExports=i}};(function(i){var e=functionBind,r=getIntrinsic,s=r("%Function.prototype.apply%"),o=r("%Function.prototype.call%"),a=r("%Reflect.apply%",!0)||e.call(o,s),l=r("%Object.getOwnPropertyDescriptor%",!0),c=r("%Object.defineProperty%",!0),u=r("%Math.max%");if(c)try{c({},"a",{value:1})}catch(g){c=null}i.exports=function(m){var y=a(e,o,arguments);if(l&&c){var b=l(y,"length");b.configurable&&c(y,"length",{value:1+u(0,m.length-(arguments.length-1))})}return y};var d=function(){return a(e,s,arguments)};c?c(i.exports,"apply",{value:d}):i.exports.apply=d})(callBind$1);var GetIntrinsic$1=getIntrinsic,callBind=callBindExports,$indexOf=callBind(GetIntrinsic$1("String.prototype.indexOf")),callBound$1=function i(e,r){var s=GetIntrinsic$1(e,!!r);return typeof s=="function"&&$indexOf(e,".prototype.")>-1?callBind(s):s};const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$0$1=getAugmentedNamespace(__viteBrowserExternal$1);var hasMap=typeof Map=="function"&&Map.prototype,mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,mapSize=hasMap&&mapSizeDescriptor&&typeof mapSizeDescriptor.get=="function"?mapSizeDescriptor.get:null,mapForEach=hasMap&&Map.prototype.forEach,hasSet=typeof Set=="function"&&Set.prototype,setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,setSize=hasSet&&setSizeDescriptor&&typeof setSizeDescriptor.get=="function"?setSizeDescriptor.get:null,setForEach=hasSet&&Set.prototype.forEach,hasWeakMap=typeof WeakMap=="function"&&WeakMap.prototype,weakMapHas=hasWeakMap?WeakMap.prototype.has:null,hasWeakSet=typeof WeakSet=="function"&&WeakSet.prototype,weakSetHas=hasWeakSet?WeakSet.prototype.has:null,hasWeakRef=typeof WeakRef=="function"&&WeakRef.prototype,weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null,booleanValueOf=Boolean.prototype.valueOf,objectToString$2=Object.prototype.toString,functionToString=Function.prototype.toString,$match=String.prototype.match,$slice=String.prototype.slice,$replace=String.prototype.replace,$toUpperCase=String.prototype.toUpperCase,$toLowerCase=String.prototype.toLowerCase,$test=RegExp.prototype.test,$concat=Array.prototype.concat,$join=Array.prototype.join,$arrSlice=Array.prototype.slice,$floor=Math.floor,bigIntValueOf=typeof BigInt=="function"?BigInt.prototype.valueOf:null,gOPS=Object.getOwnPropertySymbols,symToString=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,hasShammedSymbols=typeof Symbol=="function"&&typeof Symbol.iterator=="object",toStringTag=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===hasShammedSymbols||"symbol")?Symbol.toStringTag:null,isEnumerable=Object.prototype.propertyIsEnumerable,gPO=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(i){return i.__proto__}:null);function addNumericSeparator(i,e){if(i===1/0||i===-1/0||i!==i||i&&i>-1e3&&i<1e3||$test.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof i=="number"){var s=i<0?-$floor(-i):$floor(i);if(s!==i){var o=String(s),a=$slice.call(e,o.length+1);return $replace.call(o,r,"$&_")+"."+$replace.call($replace.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return $replace.call(e,r,"$&_")}var utilInspect=require$$0$1,inspectCustom=utilInspect.custom,inspectSymbol=isSymbol(inspectCustom)?inspectCustom:null,objectInspect=function i(e,r,s,o){var a=r||{};if(has$3(a,"quoteStyle")&&a.quoteStyle!=="single"&&a.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has$3(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=has$3(a,"customInspect")?a.customInspect:!0;if(typeof l!="boolean"&&l!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has$3(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has$3(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var c=a.numericSeparator;if(typeof e>"u")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return inspectString(e,a);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var u=String(e);return c?addNumericSeparator(e,u):u}if(typeof e=="bigint"){var d=String(e)+"n";return c?addNumericSeparator(e,d):d}var g=typeof a.depth>"u"?5:a.depth;if(typeof s>"u"&&(s=0),s>=g&&g>0&&typeof e=="object")return isArray$7(e)?"[Array]":"[Object]";var m=getIndent(a,s);if(typeof o>"u")o=[];else if(indexOf$2(o,e)>=0)return"[Circular]";function y(F,N,K){if(N&&(o=$arrSlice.call(o),o.push(N)),K){var G={depth:a.depth};return has$3(a,"quoteStyle")&&(G.quoteStyle=a.quoteStyle),i(F,G,s+1,o)}return i(F,a,s+1,o)}if(typeof e=="function"&&!isRegExp$1(e)){var b=nameOf(e),A=arrObjKeys(e,y);return"[Function"+(b?": "+b:" (anonymous)")+"]"+(A.length>0?" { "+$join.call(A,", ")+" }":"")}if(isSymbol(e)){var S=hasShammedSymbols?$replace.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):symToString.call(e);return typeof e=="object"&&!hasShammedSymbols?markBoxed(S):S}if(isElement(e)){for(var E="<"+$toLowerCase.call(String(e.nodeName)),x=e.attributes||[],P=0;P",E}if(isArray$7(e)){if(e.length===0)return"[]";var C=arrObjKeys(e,y);return m&&!singleLineValues(C)?"["+indentedJoin(C,m)+"]":"[ "+$join.call(C,", ")+" ]"}if(isError(e)){var T=arrObjKeys(e,y);return!("cause"in Error.prototype)&&"cause"in e&&!isEnumerable.call(e,"cause")?"{ ["+String(e)+"] "+$join.call($concat.call("[cause]: "+y(e.cause),T),", ")+" }":T.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+$join.call(T,", ")+" }"}if(typeof e=="object"&&l){if(inspectSymbol&&typeof e[inspectSymbol]=="function"&&utilInspect)return utilInspect(e,{depth:g-s});if(l!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(isMap$2(e)){var k=[];return mapForEach&&mapForEach.call(e,function(F,N){k.push(y(N,e,!0)+" => "+y(F,e))}),collectionOf("Map",mapSize.call(e),k,m)}if(isSet$2(e)){var I=[];return setForEach&&setForEach.call(e,function(F){I.push(y(F,e))}),collectionOf("Set",setSize.call(e),I,m)}if(isWeakMap(e))return weakCollectionOf("WeakMap");if(isWeakSet(e))return weakCollectionOf("WeakSet");if(isWeakRef(e))return weakCollectionOf("WeakRef");if(isNumber$1(e))return markBoxed(y(Number(e)));if(isBigInt(e))return markBoxed(y(bigIntValueOf.call(e)));if(isBoolean$1(e))return markBoxed(booleanValueOf.call(e));if(isString$1(e))return markBoxed(y(String(e)));if(!isDate$1(e)&&!isRegExp$1(e)){var M=arrObjKeys(e,y),R=gPO?gPO(e)===Object.prototype:e instanceof Object||e.constructor===Object,B=e instanceof Object?"":"null prototype",_=!R&&toStringTag&&Object(e)===e&&toStringTag in e?$slice.call(toStr(e),8,-1):B?"Object":"",V=R||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",D=V+(_||B?"["+$join.call($concat.call([],_||[],B||[]),": ")+"] ":"");return M.length===0?D+"{}":m?D+"{"+indentedJoin(M,m)+"}":D+"{ "+$join.call(M,", ")+" }"}return String(e)};function wrapQuotes(i,e,r){var s=(r.quoteStyle||e)==="double"?'"':"'";return s+i+s}function quote(i){return $replace.call(String(i),/"/g,""")}function isArray$7(i){return toStr(i)==="[object Array]"&&(!toStringTag||!(typeof i=="object"&&toStringTag in i))}function isDate$1(i){return toStr(i)==="[object Date]"&&(!toStringTag||!(typeof i=="object"&&toStringTag in i))}function isRegExp$1(i){return toStr(i)==="[object RegExp]"&&(!toStringTag||!(typeof i=="object"&&toStringTag in i))}function isError(i){return toStr(i)==="[object Error]"&&(!toStringTag||!(typeof i=="object"&&toStringTag in i))}function isString$1(i){return toStr(i)==="[object String]"&&(!toStringTag||!(typeof i=="object"&&toStringTag in i))}function isNumber$1(i){return toStr(i)==="[object Number]"&&(!toStringTag||!(typeof i=="object"&&toStringTag in i))}function isBoolean$1(i){return toStr(i)==="[object Boolean]"&&(!toStringTag||!(typeof i=="object"&&toStringTag in i))}function isSymbol(i){if(hasShammedSymbols)return i&&typeof i=="object"&&i instanceof Symbol;if(typeof i=="symbol")return!0;if(!i||typeof i!="object"||!symToString)return!1;try{return symToString.call(i),!0}catch(e){}return!1}function isBigInt(i){if(!i||typeof i!="object"||!bigIntValueOf)return!1;try{return bigIntValueOf.call(i),!0}catch(e){}return!1}var hasOwn=Object.prototype.hasOwnProperty||function(i){return i in this};function has$3(i,e){return hasOwn.call(i,e)}function toStr(i){return objectToString$2.call(i)}function nameOf(i){if(i.name)return i.name;var e=$match.call(functionToString.call(i),/^function\s*([\w$]+)/);return e?e[1]:null}function indexOf$2(i,e){if(i.indexOf)return i.indexOf(e);for(var r=0,s=i.length;re.maxStringLength){var r=i.length-e.maxStringLength,s="... "+r+" more character"+(r>1?"s":"");return inspectString($slice.call(i,0,e.maxStringLength),e)+s}var o=$replace.call($replace.call(i,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte);return wrapQuotes(o,"single",e)}function lowbyte(i){var e=i.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+$toUpperCase.call(e.toString(16))}function markBoxed(i){return"Object("+i+")"}function weakCollectionOf(i){return i+" { ? }"}function collectionOf(i,e,r,s){var o=s?indentedJoin(r,s):$join.call(r,", ");return i+" ("+e+") {"+o+"}"}function singleLineValues(i){for(var e=0;e=0)return!1;return!0}function getIndent(i,e){var r;if(i.indent===" ")r=" ";else if(typeof i.indent=="number"&&i.indent>0)r=$join.call(Array(i.indent+1)," ");else return null;return{base:r,prev:$join.call(Array(e+1),r)}}function indentedJoin(i,e){if(i.length===0)return"";var r=` `+e.prev+e.base;return r+$join.call(i,","+r)+` `+e.prev}function arrObjKeys(i,e){var r=isArray$7(i),s=[];if(r){s.length=i.length;for(var o=0;o1;){var r=e.pop(),s=r.obj[r.prop];if(isArray$6(s)){for(var o=[],a=0;a=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||a===formats$2.RFC1738&&(d===40||d===41)){c+=l.charAt(u);continue}if(d<128){c=c+hexTable[d];continue}if(d<2048){c=c+(hexTable[192|d>>6]+hexTable[128|d&63]);continue}if(d<55296||d>=57344){c=c+(hexTable[224|d>>12]+hexTable[128|d>>6&63]+hexTable[128|d&63]);continue}u+=1,d=65536+((d&1023)<<10|l.charCodeAt(u)&1023),c+=hexTable[240|d>>18]+hexTable[128|d>>12&63]+hexTable[128|d>>6&63]+hexTable[128|d&63]}return c},compact=function i(e){for(var r=[{obj:{o:e},prop:"o"}],s=[],o=0;o"u"&&(C=0)}if(typeof u=="function"?x=u(r,x):x instanceof Date?x=m(x):s==="comma"&&isArray$5(x)&&(x=utils$2.maybeMap(x,function(G){return G instanceof Date?m(G):G})),x===null){if(a)return c&&!A?c(r,defaults$1.encoder,S,"key",y):r;x=""}if(isNonNullishPrimitive(x)||utils$2.isBuffer(x)){if(c){var I=A?r:c(r,defaults$1.encoder,S,"key",y);return[b(I)+"="+b(c(x,defaults$1.encoder,S,"value",y))]}return[b(r)+"="+b(String(x))]}var M=[];if(typeof x>"u")return M;var R;if(s==="comma"&&isArray$5(x))A&&c&&(x=utils$2.maybeMap(x,c)),R=[{value:x.length>0?x.join(",")||null:void 0}];else if(isArray$5(u))R=u;else{var B=Object.keys(x);R=d?B.sort(d):B}for(var _=o&&isArray$5(x)&&x.length===1?r+"[]":r,V=0;V"u"?defaults$1.allowDots:!!e.allowDots,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:defaults$1.charsetSentinel,delimiter:typeof e.delimiter>"u"?defaults$1.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:defaults$1.encode,encoder:typeof e.encoder=="function"?e.encoder:defaults$1.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:defaults$1.encodeValuesOnly,filter:a,format:s,formatter:o,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:defaults$1.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:defaults$1.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:defaults$1.strictNullHandling}},stringify_1=function(i,e){var r=i,s=normalizeStringifyOptions(e),o,a;typeof s.filter=="function"?(a=s.filter,r=a("",r)):isArray$5(s.filter)&&(a=s.filter,o=a);var l=[];if(typeof r!="object"||r===null)return"";var c;e&&e.arrayFormat in arrayPrefixGenerators?c=e.arrayFormat:e&&"indices"in e?c=e.indices?"indices":"repeat":c="indices";var u=arrayPrefixGenerators[c];if(e&&"commaRoundTrip"in e&&typeof e.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var d=u==="comma"&&e&&e.commaRoundTrip;o||(o=Object.keys(r)),s.sort&&o.sort(s.sort);for(var g=getSideChannel(),m=0;m0?A+b:""},utils$1=utils$3,has=Object.prototype.hasOwnProperty,isArray$4=Array.isArray,defaults={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:utils$1.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(i){return i.replace(/&#(\d+);/g,function(e,r){return String.fromCharCode(parseInt(r,10))})},parseArrayValue=function(i,e){return i&&typeof i=="string"&&e.comma&&i.indexOf(",")>-1?i.split(","):i},isoSentinel="utf8=%26%2310003%3B",charsetSentinel="utf8=%E2%9C%93",parseValues=function i(e,r){var s={},o=r.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=r.parameterLimit===1/0?void 0:r.parameterLimit,l=o.split(r.delimiter,a),c=-1,u,d=r.charset;if(r.charsetSentinel)for(u=0;u-1&&(A=isArray$4(A)?[A]:A),has.call(s,b)?s[b]=utils$1.combine(s[b],A):s[b]=A}return s},parseObject=function(i,e,r,s){for(var o=s?e:parseArrayValue(e,r),a=i.length-1;a>=0;--a){var l,c=i[a];if(c==="[]"&&r.parseArrays)l=[].concat(o);else{l=r.plainObjects?Object.create(null):{};var u=c.charAt(0)==="["&&c.charAt(c.length-1)==="]"?c.slice(1,-1):c,d=parseInt(u,10);!r.parseArrays&&u===""?l={0:o}:!isNaN(d)&&c!==u&&String(d)===u&&d>=0&&r.parseArrays&&d<=r.arrayLimit?(l=[],l[d]=o):u!=="__proto__"&&(l[u]=o)}o=l}return o},parseKeys=function i(e,r,s,o){if(e){var a=s.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,l=/(\[[^[\]]*])/,c=/(\[[^[\]]*])/g,u=s.depth>0&&l.exec(a),d=u?a.slice(0,u.index):a,g=[];if(d){if(!s.plainObjects&&has.call(Object.prototype,d)&&!s.allowPrototypes)return;g.push(d)}for(var m=0;s.depth>0&&(u=c.exec(a))!==null&&m"u"?defaults.charset:e.charset;return{allowDots:typeof e.allowDots>"u"?defaults.allowDots:!!e.allowDots,allowPrototypes:typeof e.allowPrototypes=="boolean"?e.allowPrototypes:defaults.allowPrototypes,allowSparse:typeof e.allowSparse=="boolean"?e.allowSparse:defaults.allowSparse,arrayLimit:typeof e.arrayLimit=="number"?e.arrayLimit:defaults.arrayLimit,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:defaults.charsetSentinel,comma:typeof e.comma=="boolean"?e.comma:defaults.comma,decoder:typeof e.decoder=="function"?e.decoder:defaults.decoder,delimiter:typeof e.delimiter=="string"||utils$1.isRegExp(e.delimiter)?e.delimiter:defaults.delimiter,depth:typeof e.depth=="number"||e.depth===!1?+e.depth:defaults.depth,ignoreQueryPrefix:e.ignoreQueryPrefix===!0,interpretNumericEntities:typeof e.interpretNumericEntities=="boolean"?e.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:typeof e.parameterLimit=="number"?e.parameterLimit:defaults.parameterLimit,parseArrays:e.parseArrays!==!1,plainObjects:typeof e.plainObjects=="boolean"?e.plainObjects:defaults.plainObjects,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:defaults.strictNullHandling}},parse$4=function(i,e){var r=normalizeParseOptions(e);if(i===""||i===null||typeof i>"u")return r.plainObjects?Object.create(null):{};for(var s=typeof i=="string"?parseValues(i,r):i,o=r.plainObjects?Object.create(null):{},a=Object.keys(s),l=0;l-1};function normalizeName(i){if(typeof i!="string"&&(i=String(i)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(i)||i==="")throw new TypeError('Invalid character in header field name: "'+i+'"');return i.toLowerCase()}function normalizeValue(i){return typeof i!="string"&&(i=String(i)),i}function iteratorFor(i){var e={next:function(){var r=i.shift();return{done:r===void 0,value:r}}};return support.iterable&&(e[Symbol.iterator]=function(){return e}),e}function Headers(i){this.map={},i instanceof Headers?i.forEach(function(e,r){this.append(r,e)},this):Array.isArray(i)?i.forEach(function(e){this.append(e[0],e[1])},this):i&&Object.getOwnPropertyNames(i).forEach(function(e){this.append(e,i[e])},this)}Headers.prototype.append=function(i,e){i=normalizeName(i),e=normalizeValue(e);var r=this.map[i];this.map[i]=r?r+", "+e:e};Headers.prototype.delete=function(i){delete this.map[normalizeName(i)]};Headers.prototype.get=function(i){return i=normalizeName(i),this.has(i)?this.map[i]:null};Headers.prototype.has=function(i){return this.map.hasOwnProperty(normalizeName(i))};Headers.prototype.set=function(i,e){this.map[normalizeName(i)]=normalizeValue(e)};Headers.prototype.forEach=function(i,e){for(var r in this.map)this.map.hasOwnProperty(r)&&i.call(e,this.map[r],r,this)};Headers.prototype.keys=function(){var i=[];return this.forEach(function(e,r){i.push(r)}),iteratorFor(i)};Headers.prototype.values=function(){var i=[];return this.forEach(function(e){i.push(e)}),iteratorFor(i)};Headers.prototype.entries=function(){var i=[];return this.forEach(function(e,r){i.push([r,e])}),iteratorFor(i)};support.iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);function consumed(i){if(i.bodyUsed)return Promise.reject(new TypeError("Already read"));i.bodyUsed=!0}function fileReaderReady(i){return new Promise(function(e,r){i.onload=function(){e(i.result)},i.onerror=function(){r(i.error)}})}function readBlobAsArrayBuffer(i){var e=new FileReader,r=fileReaderReady(e);return e.readAsArrayBuffer(i),r}function readBlobAsText(i){var e=new FileReader,r=fileReaderReady(e);return e.readAsText(i),r}function readArrayBufferAsText(i){for(var e=new Uint8Array(i),r=new Array(e.length),s=0;s-1?e:i}function Request(i,e){if(!(this instanceof Request))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');e=e||{};var r=e.body;if(i instanceof Request){if(i.bodyUsed)throw new TypeError("Already read");this.url=i.url,this.credentials=i.credentials,e.headers||(this.headers=new Headers(i.headers)),this.method=i.method,this.mode=i.mode,this.signal=i.signal,!r&&i._bodyInit!=null&&(r=i._bodyInit,i.bodyUsed=!0)}else this.url=String(i);if(this.credentials=e.credentials||this.credentials||"same-origin",(e.headers||!this.headers)&&(this.headers=new Headers(e.headers)),this.method=normalizeMethod(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),(this.method==="GET"||this.method==="HEAD")&&(e.cache==="no-store"||e.cache==="no-cache")){var s=/([?&])_=[^&]*/;if(s.test(this.url))this.url=this.url.replace(s,"$1_="+new Date().getTime());else{var o=/\?/;this.url+=(o.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})};function decode$1(i){var e=new FormData;return i.trim().split("&").forEach(function(r){if(r){var s=r.split("="),o=s.shift().replace(/\+/g," "),a=s.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(a))}}),e}function parseHeaders(i){var e=new Headers,r=i.replace(/\r?\n[\t ]+/g," ");return r.split("\r").map(function(s){return s.indexOf(` `)===0?s.substr(1,s.length):s}).forEach(function(s){var o=s.split(":"),a=o.shift().trim();if(a){var l=o.join(":").trim();e.append(a,l)}}),e}Body.call(Request.prototype);function Response(i,e){if(!(this instanceof Response))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');e||(e={}),this.type="default",this.status=e.status===void 0?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText=e.statusText===void 0?"":""+e.statusText,this.headers=new Headers(e.headers),this.url=e.url||"",this._initBody(i)}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})};Response.error=function(){var i=new Response(null,{status:0,statusText:""});return i.type="error",i};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(i,e){if(redirectStatuses.indexOf(e)===-1)throw new RangeError("Invalid status code");return new Response(null,{status:e,headers:{location:i}})};var DOMException=global$1.DOMException;try{new DOMException}catch(i){DOMException=function(e,r){this.message=e,this.name=r;var s=Error(e);this.stack=s.stack},DOMException.prototype=Object.create(Error.prototype),DOMException.prototype.constructor=DOMException}function fetch$2(i,e){return new Promise(function(r,s){var o=new Request(i,e);if(o.signal&&o.signal.aborted)return s(new DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function l(){a.abort()}a.onload=function(){var u={status:a.status,statusText:a.statusText,headers:parseHeaders(a.getAllResponseHeaders()||"")};u.url="responseURL"in a?a.responseURL:u.headers.get("X-Request-URL");var d="response"in a?a.response:a.responseText;setTimeout(function(){r(new Response(d,u))},0)},a.onerror=function(){setTimeout(function(){s(new TypeError("Network request failed"))},0)},a.ontimeout=function(){setTimeout(function(){s(new TypeError("Network request failed"))},0)},a.onabort=function(){setTimeout(function(){s(new DOMException("Aborted","AbortError"))},0)};function c(u){try{return u===""&&global$1.location.href?global$1.location.href:u}catch(d){return u}}a.open(o.method,c(o.url),!0),o.credentials==="include"?a.withCredentials=!0:o.credentials==="omit"&&(a.withCredentials=!1),"responseType"in a&&(support.blob?a.responseType="blob":support.arrayBuffer&&o.headers.get("Content-Type")&&o.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(a.responseType="arraybuffer")),e&&typeof e.headers=="object"&&!(e.headers instanceof Headers)?Object.getOwnPropertyNames(e.headers).forEach(function(u){a.setRequestHeader(u,normalizeValue(e.headers[u]))}):o.headers.forEach(function(u,d){a.setRequestHeader(d,u)}),o.signal&&(o.signal.addEventListener("abort",l),a.onreadystatechange=function(){a.readyState===4&&o.signal.removeEventListener("abort",l)}),a.send(typeof o._bodyInit>"u"?null:o._bodyInit)})}fetch$2.polyfill=!0;global$1.fetch||(global$1.fetch=fetch$2,global$1.Headers=Headers,global$1.Request=Request,global$1.Response=Response);self.fetch.bind(self);function ownKeys(i,e){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(i);e&&(s=s.filter(function(o){return Object.getOwnPropertyDescriptor(i,o).enumerable})),r.push.apply(r,s)}return r}function _objectSpread2(i){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(i){return!1}}function _construct(i,e,r){return _isNativeReflectConstruct()?_construct=Reflect.construct:_construct=function(o,a,l){var c=[null];c.push.apply(c,a);var u=Function.bind.apply(o,c),d=new u;return l&&_setPrototypeOf(d,l.prototype),d},_construct.apply(null,arguments)}function _isNativeFunction(i){return Function.toString.call(i).indexOf("[native code]")!==-1}function _wrapNativeSuper(i){var e=typeof Map=="function"?new Map:void 0;return _wrapNativeSuper=function(s){if(s===null||!_isNativeFunction(s))return s;if(typeof s!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(s))return e.get(s);e.set(s,o)}function o(){return _construct(s,arguments,_getPrototypeOf(this).constructor)}return o.prototype=Object.create(s.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(o,s)},_wrapNativeSuper(i)}function _assertThisInitialized(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}function _possibleConstructorReturn(i,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(i)}function _createSuper(i){var e=_isNativeReflectConstruct();return function(){var s=_getPrototypeOf(i),o;if(e){var a=_getPrototypeOf(this).constructor;o=Reflect.construct(s,arguments,a)}else o=s.apply(this,arguments);return _possibleConstructorReturn(this,o)}}function _toConsumableArray(i){return _arrayWithoutHoles(i)||_iterableToArray(i)||_unsupportedIterableToArray(i)||_nonIterableSpread()}function _arrayWithoutHoles(i){if(Array.isArray(i))return _arrayLikeToArray(i)}function _iterableToArray(i){if(typeof Symbol<"u"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function _unsupportedIterableToArray(i,e){if(i){if(typeof i=="string")return _arrayLikeToArray(i,e);var r=Object.prototype.toString.call(i).slice(8,-1);if(r==="Object"&&i.constructor&&(r=i.constructor.name),r==="Map"||r==="Set")return Array.from(i);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(i,e)}}function _arrayLikeToArray(i,e){(e==null||e>i.length)&&(e=i.length);for(var r=0,s=new Array(e);r1&&arguments[1]!==void 0?arguments[1]:{global:!1,core:!1,defaultInstance:!1},o=!1,a=!1,l=!1;if(typeof s=="number"?(process&&process.env,o=!0,a=!1):_typeof(s)==="object"&&s&&(a=s.global||!1,o=s.core||!1,l=s.defaultInstance||!1),a){i.globalMiddlewares.splice(i.globalMiddlewares.length-i.defaultGlobalMiddlewaresLength,0,r);return}if(o){i.coreMiddlewares.splice(i.coreMiddlewares.length-i.defaultCoreMiddlewaresLength,0,r);return}if(l){this.defaultMiddlewares.push(r);return}this.middlewares.push(r)}},{key:"execute",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,s=compose([].concat(_toConsumableArray(this.middlewares),_toConsumableArray(this.defaultMiddlewares),_toConsumableArray(i.globalMiddlewares),_toConsumableArray(i.coreMiddlewares)));return s(r)}}]),i}();Onion.globalMiddlewares=[];Onion.defaultGlobalMiddlewaresLength=0;Onion.coreMiddlewares=[];Onion.defaultCoreMiddlewaresLength=0;var MapCache$1=function(){function i(e){_classCallCheck(this,i),this.cache=new Map,this.timer={},this.extendOptions(e)}return _createClass(i,[{key:"extendOptions",value:function(r){this.maxCache=r.maxCache||0}},{key:"get",value:function(r){return this.cache.get(JSON.stringify(r))}},{key:"set",value:function(r,s){var o=this,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:6e4;if(this.maxCache>0&&this.cache.size>=this.maxCache){var l=_toConsumableArray(this.cache.keys())[0];this.cache.delete(l),this.timer[l]&&clearTimeout(this.timer[l])}var c=JSON.stringify(r);this.cache.set(c,s),a>0&&(this.timer[c]=setTimeout(function(){o.cache.delete(c),delete o.timer[c]},a))}},{key:"delete",value:function(r){var s=JSON.stringify(r);return delete this.timer[s],this.cache.delete(s)}},{key:"clear",value:function(){return this.timer={},this.cache.clear()}}]),i}(),RequestError=function(i){_inherits(r,i);var e=_createSuper(r);function r(s,o){var a,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"RequestError";return _classCallCheck(this,r),a=e.call(this,s),a.name="RequestError",a.request=o,a.type=l,a}return r}(_wrapNativeSuper(Error)),ResponseError=function(i){_inherits(r,i);var e=_createSuper(r);function r(s,o,a,l){var c,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"ResponseError";return _classCallCheck(this,r),c=e.call(this,o||s.statusText),c.name="ResponseError",c.data=a,c.response=s,c.request=l,c.type=u,c}return r}(_wrapNativeSuper(Error));function readerGBK(i){return new Promise(function(e,r){var s=new FileReader;s.onload=function(){e(s.result)},s.onerror=r,s.readAsText(i,"GBK")})}function safeJsonParse(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;try{return JSON.parse(i)}catch(o){if(e)throw new ResponseError(r,"JSON.parse fail",i,s,"ParseError")}return i}function timeout2Throw(i,e,r){return new Promise(function(s,o){setTimeout(function(){o(new RequestError(e||"timeout of ".concat(i,"ms exceeded"),r,"Timeout"))},i)})}function cancel2Throw(i){return new Promise(function(e,r){i.cancelToken&&i.cancelToken.promise.then(function(s){r(s)})})}var toString$2=Object.prototype.toString;function getEnv(){var i;return typeof process<"u"&&toString$2.call(process)==="[object process]"&&(i="NODE"),typeof XMLHttpRequest<"u"&&(i="BROWSER"),i}function isArray$3(i){return _typeof(i)==="object"&&Object.prototype.toString.call(i)==="[object Array]"}function isURLSearchParams(i){return typeof URLSearchParams<"u"&&i instanceof URLSearchParams}function isDate(i){return _typeof(i)==="object"&&Object.prototype.toString.call(i)==="[object Date]"}function isObject$1(i){return i!==null&&_typeof(i)==="object"}function forEach2ObjArr(i,e){if(i)if(_typeof(i)!=="object"&&(i=[i]),isArray$3(i))for(var r=0;r1&&arguments[1]!==void 0?arguments[1]:{},s=r.prefix,o=r.suffix;return s&&(e="".concat(s).concat(e)),o&&(e="".concat(e).concat(o)),{url:e,options:r}},warnedCoreType=!1;function __defaultValidateCache(i,e){var r=e.method,s=r===void 0?"get":r;return s.toLowerCase()==="get"}function fetchMiddleware(i,e){if(!i)return e();var r=i.req;r=r===void 0?{}:r;var s=r.options,o=s===void 0?{}:s,a=r.url,l=a===void 0?"":a,c=i.cache,u=i.responseInterceptors,d=o.timeout,g=d===void 0?0:d,m=o.timeoutMessage,y=o.__umiRequestCoreType__,b=y===void 0?"normal":y,A=o.useCache,S=A===void 0?!1:A,E=o.method,x=E===void 0?"get":E,P=o.params,C=o.ttl,T=o.validateCache,k=T===void 0?__defaultValidateCache:T;if(b!=="normal")return process&&process.env,e();var I=fetch;if(!I)throw new Error("Global fetch not exist!");var M=getEnv()==="BROWSER",R=k(l,o)&&S&&M;if(R){var B=c.get({url:l,params:P,method:x});if(B)return B=B.clone(),B.useCache=!0,i.res=B,e()}var _;return g>0?_=Promise.race([cancel2Throw(o),I(l,o),timeout2Throw(g,m,i.req)]):_=Promise.race([cancel2Throw(o),I(l,o)]),u.forEach(function(V){_=_.then(function(D){var F=typeof D.clone=="function"?D.clone():D;return V(F,o)})}),_.then(function(V){if(R&&V.status===200){var D=V.clone();D.useCache=!0,c.set({url:l,params:P,method:x},D,C)}return i.res=V,e()})}function parseResponseMiddleware(i,e){var r;return e().then(function(){if(i){var s=i.res,o=s===void 0?{}:s,a=i.req,l=a===void 0?{}:a,c=l||{},u=c.options;u=u===void 0?{}:u;var d=u.responseType,g=d===void 0?"json":d,m=u.charset,y=m===void 0?"utf8":m;u.getResponse;var b=u.throwErrIfParseFail,A=b===void 0?!1:b,S=u.parseResponse,E=S===void 0?!0:S;if(E&&!(!o||!o.clone)){if(r=getEnv()==="BROWSER"?o.clone():o,r.useCache=o.useCache||!1,y==="gbk")try{return o.blob().then(readerGBK).then(function(x){return safeJsonParse(x,!1,r,l)})}catch(x){throw new ResponseError(r,x.message,null,l,"ParseError")}else if(g==="json")return o.text().then(function(x){return safeJsonParse(x,A,r,l)});try{return o[g]()}catch(x){throw new ResponseError(r,"responseType not support",null,l,"ParseError")}}}}).then(function(s){if(i){i.res;var o=i.req,a=o===void 0?{}:o,l=a||{},c=l.options;c=c===void 0?{}:c;var u=c.getResponse,d=u===void 0?!1:u;if(r){if(r.status>=200&&r.status<300){if(d){i.res={data:s,response:r};return}i.res=s;return}throw new ResponseError(r,"http error",s,a,"HttpError")}}}).catch(function(s){if(s instanceof RequestError||s instanceof ResponseError)throw s;var o=i.req,a=i.res;throw s.request=s.request||o,s.response=s.response||a,s.type=s.type||s.name,s.data=s.data||void 0,s})}function simplePostMiddleware(i,e){if(!i)return e();var r=i.req;r=r===void 0?{}:r;var s=r.options,o=s===void 0?{}:s,a=o.method,l=a===void 0?"get":a;if(["post","put","patch","delete"].indexOf(l.toLowerCase())===-1)return e();var c=o.requestType,u=c===void 0?"json":c,d=o.data;if(d){var g=Object.prototype.toString.call(d);g==="[object Object]"||g==="[object Array]"?u==="json"?(o.headers=_objectSpread2({Accept:"application/json","Content-Type":"application/json;charset=UTF-8"},o.headers),o.body=JSON.stringify(d)):u==="form"&&(o.headers=_objectSpread2({Accept:"application/json","Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},o.headers),o.body=reqStringify(d)):(o.headers=_objectSpread2({Accept:"application/json"},o.headers),o.body=d)}return i.req.options=o,e()}function paramsSerialize(i,e){var r,s;if(i)if(e)r=e(i);else if(isURLSearchParams(i))r=i.toString();else if(isArray$3(i))s=[],forEach2ObjArr(i,function(a){a===null||typeof a>"u"?s.push(a):s.push(isObject$1(a)?JSON.stringify(a):a)}),r=reqStringify(s);else{s={},forEach2ObjArr(i,function(a,l){var c=a;a===null||typeof a>"u"?s[l]=a:isDate(a)?c=a.toISOString():isArray$3(a)?c=a:isObject$1(a)&&(c=JSON.stringify(a)),s[l]=c});var o=reqStringify(s);r=o}return r}function simpleGetMiddleware(i,e){if(!i)return e();var r=i.req;r=r===void 0?{}:r;var s=r.options,o=s===void 0?{}:s,a=o.paramsSerializer,l=o.params,c=i.req;c=c===void 0?{}:c;var u=c.url,d=u===void 0?"":u;o.method=o.method?o.method.toUpperCase():"GET",o.credentials=o.credentials||"same-origin";var g=paramsSerialize(l,a);if(i.req.originUrl=d,g){var m=d.indexOf("?")!==-1?"&":"?";i.req.url="".concat(d).concat(m).concat(g)}return i.req.options=o,e()}var globalMiddlewares=[simplePostMiddleware,simpleGetMiddleware,parseResponseMiddleware],coreMiddlewares=[fetchMiddleware];Onion.globalMiddlewares=globalMiddlewares;Onion.defaultGlobalMiddlewaresLength=globalMiddlewares.length;Onion.coreMiddlewares=coreMiddlewares;Onion.defaultCoreMiddlewaresLength=coreMiddlewares.length;var Core=function(){function i(e){_classCallCheck(this,i),this.onion=new Onion([]),this.fetchIndex=0,this.mapCache=new MapCache$1(e),this.initOptions=e,this.instanceRequestInterceptors=[],this.instanceResponseInterceptors=[]}return _createClass(i,[{key:"use",value:function(r){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!1,core:!1};return this.onion.use(r,s),this}},{key:"extendOptions",value:function(r){this.initOptions=mergeRequestOptions(this.initOptions,r),this.mapCache.extendOptions(r)}},{key:"dealRequestInterceptors",value:function(r){var s=function(l,c){return l.then(function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return r.req.url=u.url||r.req.url,r.req.options=u.options||r.req.options,c(r.req.url,r.req.options)})},o=[].concat(_toConsumableArray(i.requestInterceptors),_toConsumableArray(this.instanceRequestInterceptors));return o.reduce(s,Promise.resolve()).then(function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return r.req.url=a.url||r.req.url,r.req.options=a.options||r.req.options,Promise.resolve()})}},{key:"request",value:function(r,s){var o=this,a=this.onion,l={req:{url:r,options:_objectSpread2(_objectSpread2({},s),{},{url:r})},res:null,cache:this.mapCache,responseInterceptors:[].concat(_toConsumableArray(i.responseInterceptors),_toConsumableArray(this.instanceResponseInterceptors))};if(typeof r!="string")throw new Error("url MUST be a string");return new Promise(function(c,u){o.dealRequestInterceptors(l).then(function(){return a.execute(l)}).then(function(){c(l.res)}).catch(function(d){var g=l.req.options.errorHandler;if(g)try{var m=g(d);c(m)}catch(y){u(y)}else u(d)})})}}],[{key:"requestUse",value:function(r){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!0};if(typeof r!="function")throw new TypeError("Interceptor must be function!");s.global?i.requestInterceptors.push(r):this.instanceRequestInterceptors.push(r)}},{key:"responseUse",value:function(r){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!0};if(typeof r!="function")throw new TypeError("Interceptor must be function!");s.global?i.responseInterceptors.push(r):this.instanceResponseInterceptors.push(r)}}]),i}();Core.requestInterceptors=[addfix];Core.responseInterceptors=[];function Cancel(i){this.message=i}Cancel.prototype.toString=function i(){return this.message?"Cancel: ".concat(this.message):"Cancel"};Cancel.prototype.__CANCEL__=!0;function CancelToken(i){if(typeof i!="function")throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(o){e=o});var r=this;i(function(o){r.reason||(r.reason=new Cancel(o),e(r.reason))})}CancelToken.prototype.throwIfRequested=function i(){if(this.reason)throw this.reason};CancelToken.source=function i(){var e,r=new CancelToken(function(o){e=o});return{token:r,cancel:e}};function isCancel(i){return!!(i&&i.__CANCEL__)}var request$1=function i(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=new Core(e),s=function(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u=mergeRequestOptions(r.initOptions,c);return r.request(l,u)};s.use=r.use.bind(r),s.fetchIndex=r.fetchIndex,s.interceptors={request:{use:Core.requestUse.bind(r)},response:{use:Core.responseUse.bind(r)}};var o=["get","post","delete","put","patch","head","options","rpc"];return o.forEach(function(a){s[a]=function(l,c){return s(l,_objectSpread2(_objectSpread2({},c),{},{method:a}))}}),s.Cancel=Cancel,s.CancelToken=CancelToken,s.isCancel=isCancel,s.extendOptions=r.extendOptions.bind(r),s.middlewares={instance:r.onion.middlewares,defaultInstance:r.onion.defaultMiddlewares,global:Onion.globalMiddlewares,core:Onion.coreMiddlewares},s},extend$1=function i(e){return request$1(e)};request$1({parseResponse:!1});var request$1$1=request$1({}),lodash_isemptyExports={},lodash_isempty={get exports(){return lodash_isemptyExports},set exports(i){lodash_isemptyExports=i}};(function(i,e){var r=9007199254740991,s="[object Arguments]",o="[object Function]",a="[object GeneratorFunction]",l="[object Map]",c="[object Object]",u="[object Promise]",d="[object Set]",g="[object WeakMap]",m="[object DataView]",y=/[\\^$.*+?()[\]{}|]/g,b=/^\[object .+?Constructor\]$/,A=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,S=typeof self=="object"&&self&&self.Object===Object&&self,E=A||S||Function("return this")(),x=e&&!e.nodeType&&e,P=x&&!0&&i&&!i.nodeType&&i,C=P&&P.exports===x;function T(ye,Fe){return ye==null?void 0:ye[Fe]}function k(ye){var Fe=!1;if(ye!=null&&typeof ye.toString!="function")try{Fe=!!(ye+"")}catch(Ue){}return Fe}function I(ye,Fe){return function(Ue){return ye(Fe(Ue))}}var M=Function.prototype,R=Object.prototype,B=E["__core-js_shared__"],_=function(){var ye=/[^.]+$/.exec(B&&B.keys&&B.keys.IE_PROTO||"");return ye?"Symbol(src)_1."+ye:""}(),V=M.toString,D=R.hasOwnProperty,F=R.toString,N=RegExp("^"+V.call(D).replace(y,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),K=C?E.Buffer:void 0,G=R.propertyIsEnumerable,q=K?K.isBuffer:void 0,O=I(Object.keys,Object),U=te(E,"DataView"),$=te(E,"Map"),Y=te(E,"Promise"),Q=te(E,"Set"),xe=te(E,"WeakMap"),ue=!G.call({valueOf:1},"valueOf"),W=pe(U),J=pe($),ce=pe(Y),ge=pe(Q),Ee=pe(xe);function Te(ye){return F.call(ye)}function De(ye){if(!Pe(ye)||H(ye))return!1;var Fe=Ie(ye)||k(ye)?N:b;return Fe.test(pe(ye))}function te(ye,Fe){var Ue=T(ye,Fe);return De(Ue)?Ue:void 0}var ae=Te;(U&&ae(new U(new ArrayBuffer(1)))!=m||$&&ae(new $)!=l||Y&&ae(Y.resolve())!=u||Q&&ae(new Q)!=d||xe&&ae(new xe)!=g)&&(ae=function(ye){var Fe=F.call(ye),Ue=Fe==c?ye.constructor:void 0,Ye=Ue?pe(Ue):void 0;if(Ye)switch(Ye){case W:return m;case J:return l;case ce:return u;case ge:return d;case Ee:return g}return Fe});function H(ye){return!!_&&_ in ye}function ve(ye){var Fe=ye&&ye.constructor,Ue=typeof Fe=="function"&&Fe.prototype||R;return ye===Ue}function pe(ye){if(ye!=null){try{return V.call(ye)}catch(Fe){}try{return ye+""}catch(Fe){}}return""}function ee(ye){return Be(ye)&&D.call(ye,"callee")&&(!G.call(ye,"callee")||F.call(ye)==s)}var ne=Array.isArray;function me(ye){return ye!=null&&Re(ye.length)&&!Ie(ye)}function Be(ye){return he(ye)&&me(ye)}var oe=q||Ce;function be(ye){if(me(ye)&&(ne(ye)||typeof ye=="string"||typeof ye.splice=="function"||oe(ye)||ee(ye)))return!ye.length;var Fe=ae(ye);if(Fe==l||Fe==d)return!ye.size;if(ue||ve(ye))return!O(ye).length;for(var Ue in ye)if(D.call(ye,Ue))return!1;return!0}function Ie(ye){var Fe=Pe(ye)?F.call(ye):"";return Fe==o||Fe==a}function Re(ye){return typeof ye=="number"&&ye>-1&&ye%1==0&&ye<=r}function Pe(ye){var Fe=typeof ye;return!!ye&&(Fe=="object"||Fe=="function")}function he(ye){return!!ye&&typeof ye=="object"}function Ce(){return!1}i.exports=be})(lodash_isempty,lodash_isemptyExports);var objectTag$4="[object Object]";function isHostObject(i){var e=!1;if(i!=null&&typeof i.toString!="function")try{e=!!(i+"")}catch(r){}return e}function overArg$1(i,e){return function(r){return i(e(r))}}var funcProto$2=Function.prototype,objectProto$f=Object.prototype,funcToString$2=funcProto$2.toString,hasOwnProperty$c=objectProto$f.hasOwnProperty,objectCtorString=funcToString$2.call(Object),objectToString$1=objectProto$f.toString,getPrototype$2=overArg$1(Object.getPrototypeOf,Object);function isObjectLike$1(i){return!!i&&typeof i=="object"}function isPlainObject$2(i){if(!isObjectLike$1(i)||objectToString$1.call(i)!=objectTag$4||isHostObject(i))return!1;var e=getPrototype$2(i);if(e===null)return!0;var r=hasOwnProperty$c.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&funcToString$2.call(r)==objectCtorString}var lodash_isplainobject=isPlainObject$2,lodash_transformExports={},lodash_transform={get exports(){return lodash_transformExports},set exports(i){lodash_transformExports=i}};(function(i,e){var r=200,s="Expected a function",o="__lodash_hash_undefined__",a=1,l=2,c=1/0,u=9007199254740991,d="[object Arguments]",g="[object Array]",m="[object Boolean]",y="[object Date]",b="[object Error]",A="[object Function]",S="[object GeneratorFunction]",E="[object Map]",x="[object Number]",P="[object Object]",C="[object Promise]",T="[object RegExp]",k="[object Set]",I="[object String]",M="[object Symbol]",R="[object WeakMap]",B="[object ArrayBuffer]",_="[object DataView]",V="[object Float32Array]",D="[object Float64Array]",F="[object Int8Array]",N="[object Int16Array]",K="[object Int32Array]",G="[object Uint8Array]",q="[object Uint8ClampedArray]",O="[object Uint16Array]",U="[object Uint32Array]",$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Y=/^\w*$/,Q=/^\./,xe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ue=/[\\^$.*+?()[\]{}|]/g,W=/\\(\\)?/g,J=/^\[object .+?Constructor\]$/,ce=/^(?:0|[1-9]\d*)$/,ge={};ge[V]=ge[D]=ge[F]=ge[N]=ge[K]=ge[G]=ge[q]=ge[O]=ge[U]=!0,ge[d]=ge[g]=ge[B]=ge[m]=ge[_]=ge[y]=ge[b]=ge[A]=ge[E]=ge[x]=ge[P]=ge[T]=ge[k]=ge[I]=ge[R]=!1;var Ee=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,Te=typeof self=="object"&&self&&self.Object===Object&&self,De=Ee||Te||Function("return this")(),te=e&&!e.nodeType&&e,ae=te&&!0&&i&&!i.nodeType&&i,H=ae&&ae.exports===te,ve=H&&Ee.process,pe=function(){try{return ve&&ve.binding("util")}catch(se){}}(),ee=pe&&pe.isTypedArray;function ne(se,Ne){for(var ze=-1,Je=se?se.length:0;++ze-1}function ft(se,Ne){var ze=this.__data__,Je=Kt(ze,se);return Je<0?ze.push([se,Ne]):ze[Je][1]=Ne,this}Me.prototype.clear=Le,Me.prototype.delete=He,Me.prototype.get=at,Me.prototype.has=rt,Me.prototype.set=ft;function je(se){var Ne=-1,ze=se?se.length:0;for(this.clear();++NeMt))return!1;var zt=ct.get(se);if(zt&&ct.get(Ne))return zt==Ne;var Wt=-1,Qt=!0,qt=yt&a?new _t:void 0;for(ct.set(se,Ne),ct.set(Ne,se);++Wt-1&&se%1==0&&se-1&&se%1==0&&se<=u}function mi(se){var Ne=typeof se;return!!se&&(Ne=="object"||Ne=="function")}function bi(se){return!!se&&typeof se=="object"}function Mi(se){return typeof se=="symbol"||bi(se)&&Ze.call(se)==M}var Oi=ee?be(ee):Ae;function rn(se){return se==null?"":Gt(se)}function sn(se,Ne,ze){var Je=se==null?void 0:hi(se,Ne);return Je===void 0?ze:Je}function on(se,Ne){return se!=null&&Ji(se,Ne,Xt)}function Ai(se){return Fi(se)?Ft(se):Ve(se)}function an(se,Ne,ze){var Je=si(se)||Oi(se);if(Ne=_e(Ne),ze==null)if(Je||mi(se)){var yt=se.constructor;Je?ze=si(se)?new yt:[]:ze=Ti(yt)?ni(dt(se)):{}}else ze={};return(Je?ne:Yt)(se,function(ct,Pt,Mt){return Ne(ze,ct,Pt,Mt)}),ze}function ln(se){return se}function cn(se){return yi(se)?Be(vi(se)):xt(se)}i.exports=an})(lodash_transform,lodash_transformExports);const isEmpty$1=lodash_isemptyExports,isPlainObject$1=lodash_isplainobject,transform=lodash_transformExports;var src=function i(e,{cleanKeys:r=[],cleanValues:s=[],emptyArrays:o=!0,emptyObjects:a=!0,emptyStrings:l=!0,NaNValues:c=!1,nullValues:u=!0,undefinedValues:d=!0}={}){return transform(e,(g,m,y)=>{if(!r.includes(y)&&((Array.isArray(m)||isPlainObject$1(m))&&(m=i(m,{NaNValues:c,cleanKeys:r,cleanValues:s,emptyArrays:o,emptyObjects:a,emptyStrings:l,nullValues:u,undefinedValues:d})),!s.includes(m)&&!(a&&isPlainObject$1(m)&&isEmpty$1(m))&&!(o&&Array.isArray(m)&&!m.length)&&!(l&&m==="")&&!(c&&Number.isNaN(m))&&!(u&&m===null)&&!(d&&m===void 0))){if(Array.isArray(g))return g.push(m);g[y]=m}})};const whiteUrl=()=>({"/sysMusicScoreCategories/queryTree":"/eduMusicScore/queryTree","/sysMusicScoreAccompaniment/queryPage":queryString.parse(location.search).platform?"/sysMusicScoreAccompaniment/queryPage":"/eduMusicScore/queryPage","/sysMusicScoreAccompaniment/queryPageLimit":"/eduMusicScore/queryPageLimit","/sysMusicScoreAccompaniment/querySubjectIds":"/eduMusicScore/querySubjectIds"});whiteUrl();browser();getQuery();const request=extend$1({requestType:"form",timeout:1e4});request.interceptors.request.use((i,e)=>{const r=e.isContentCenter?"/cbs-app":storeData.platformApi;storeData.proxy+r,i=matchProductApiUrl()+i;const s=getToken(),o={};return s&&!e.isContentCenter&&!e.noToken&&(o.Authorization=s),{url:i,options:{...e,params:src(e.params),data:src(e.data),headers:{...e.headers,...o}}}},{global:!1});request.interceptors.response.use(async(i,e)=>{if(i.status>299||i.status<200){const s=i.statusText+", 状态码"+i.status;showToast(s)}const r=await i.clone().json();if(r.code===5e3)return r;if(r.code!==200&&r.errCode!==0){const s=r.msg||r.message||"处理失败,请重试";throw r.code===403||r.code,new Error(s)}return r},{global:!1});var dayjs_minExports={},dayjs_min={get exports(){return dayjs_minExports},set exports(i){dayjs_minExports=i}};(function(i,e){(function(r,s){i.exports=s()})(commonjsGlobal,function(){var r=1e3,s=6e4,o=36e5,a="millisecond",l="second",c="minute",u="hour",d="day",g="week",m="month",y="quarter",b="year",A="date",S="Invalid Date",E=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,P={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(F){var N=["th","st","nd","rd"],K=F%100;return"["+F+(N[(K-20)%10]||N[K]||N[0])+"]"}},C=function(F,N,K){var G=String(F);return!G||G.length>=N?F:""+Array(N+1-G.length).join(K)+F},T={s:C,z:function(F){var N=-F.utcOffset(),K=Math.abs(N),G=Math.floor(K/60),q=K%60;return(N<=0?"+":"-")+C(G,2,"0")+":"+C(q,2,"0")},m:function F(N,K){if(N.date()1)return F(U[0])}else{var $=N.name;I[$]=N,q=$}return!G&&q&&(k=q),q||!G&&k},B=function(F,N){if(M(F))return F.clone();var K=typeof N=="object"?N:{};return K.date=F,K.args=arguments,new V(K)},_=T;_.l=R,_.i=M,_.w=function(F,N){return B(F,{locale:N.$L,utc:N.$u,x:N.$x,$offset:N.$offset})};var V=function(){function F(K){this.$L=R(K.locale,null,!0),this.parse(K)}var N=F.prototype;return N.parse=function(K){this.$d=function(G){var q=G.date,O=G.utc;if(q===null)return new Date(NaN);if(_.u(q))return new Date;if(q instanceof Date)return new Date(q);if(typeof q=="string"&&!/Z$/i.test(q)){var U=q.match(E);if(U){var $=U[2]-1||0,Y=(U[7]||"0").substring(0,3);return O?new Date(Date.UTC(U[1],$,U[3]||1,U[4]||0,U[5]||0,U[6]||0,Y)):new Date(U[1],$,U[3]||1,U[4]||0,U[5]||0,U[6]||0,Y)}}return new Date(q)}(K),this.$x=K.x||{},this.init()},N.init=function(){var K=this.$d;this.$y=K.getFullYear(),this.$M=K.getMonth(),this.$D=K.getDate(),this.$W=K.getDay(),this.$H=K.getHours(),this.$m=K.getMinutes(),this.$s=K.getSeconds(),this.$ms=K.getMilliseconds()},N.$utils=function(){return _},N.isValid=function(){return this.$d.toString()!==S},N.isSame=function(K,G){var q=B(K);return this.startOf(G)<=q&&q<=this.endOf(G)},N.isAfter=function(K,G){return B(K)=0&&m<=1){if(y._volume=m,y._muted)return y;y.usingWebAudio&&y.masterGain.gain.setValueAtTime(m,r.ctx.currentTime);for(var b=0;b=0;y--)m._howls[y].unload();return m.usingWebAudio&&m.ctx&&typeof m.ctx.close<"u"&&(m.ctx.close(),m.ctx=null,g()),m},codecs:function(m){return(this||r)._codecs[m.replace(/^x-/,"")]},_setup:function(){var m=this||r;if(m.state=m.ctx&&m.ctx.state||"suspended",m._autoSuspend(),!m.usingWebAudio)if(typeof Audio<"u")try{var y=new Audio;typeof y.oncanplaythrough>"u"&&(m._canPlayEvent="canplay")}catch(b){m.noAudio=!0}else m.noAudio=!0;try{var y=new Audio;y.muted&&(m.noAudio=!0)}catch(b){}return m.noAudio||m._setupCodecs(),m},_setupCodecs:function(){var m=this||r,y=null;try{y=typeof Audio<"u"?new Audio:null}catch(T){return m}if(!y||typeof y.canPlayType!="function")return m;var b=y.canPlayType("audio/mpeg;").replace(/^no$/,""),A=m._navigator?m._navigator.userAgent:"",S=A.match(/OPR\/([0-6].)/g),E=S&&parseInt(S[0].split("/")[1],10)<33,x=A.indexOf("Safari")!==-1&&A.indexOf("Chrome")===-1,P=A.match(/Version\/(.*?) /),C=x&&P&&parseInt(P[1],10)<15;return m._codecs={mp3:!!(!E&&(b||y.canPlayType("audio/mp3;").replace(/^no$/,""))),mpeg:!!b,opus:!!y.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!y.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!y.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(y.canPlayType('audio/wav; codecs="1"')||y.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!y.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!y.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(y.canPlayType("audio/x-m4a;")||y.canPlayType("audio/m4a;")||y.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(y.canPlayType("audio/x-m4b;")||y.canPlayType("audio/m4b;")||y.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(y.canPlayType("audio/x-mp4;")||y.canPlayType("audio/mp4;")||y.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!(!C&&y.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!C&&y.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!y.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(y.canPlayType("audio/x-flac;")||y.canPlayType("audio/flac;")).replace(/^no$/,"")},m},_unlockAudio:function(){var m=this||r;if(!(m._audioUnlocked||!m.ctx)){m._audioUnlocked=!1,m.autoUnlock=!1,!m._mobileUnloaded&&m.ctx.sampleRate!==44100&&(m._mobileUnloaded=!0,m.unload()),m._scratchBuffer=m.ctx.createBuffer(1,1,22050);var y=function(b){for(;m._html5AudioPool.length"u"?C.noteOn(0):C.start(0),typeof m.ctx.resume=="function"&&m.ctx.resume(),C.onended=function(){C.disconnect(0),m._audioUnlocked=!0,document.removeEventListener("touchstart",y,!0),document.removeEventListener("touchend",y,!0),document.removeEventListener("click",y,!0),document.removeEventListener("keydown",y,!0);for(var T=0;T"u"||!r.usingWebAudio)){for(var y=0;y"u"||!r.usingWebAudio))return m.state==="running"&&m.ctx.state!=="interrupted"&&m._suspendTimer?(clearTimeout(m._suspendTimer),m._suspendTimer=null):m.state==="suspended"||m.state==="running"&&m.ctx.state==="interrupted"?(m.ctx.resume().then(function(){m.state="running";for(var y=0;y"u"&&(m="__default",!b._playLock)){for(var S=0,E=0;E0?x._seek:b._sprite[m][0]/1e3),T=Math.max(0,(b._sprite[m][0]+b._sprite[m][1])/1e3-C),k=T*1e3/Math.abs(x._rate),I=b._sprite[m][0]/1e3,M=(b._sprite[m][0]+b._sprite[m][1])/1e3;x._sprite=m,x._ended=!1;var R=function(){x._paused=!1,x._seek=C,x._start=I,x._stop=M,x._loop=!!(x._loop||b._sprite[m][2])};if(C>=M){b._ended(x);return}var B=x._node;if(b._webAudio){var _=function(){b._playLock=!1,R(),b._refreshBuffer(x);var N=x._muted||b._muted?0:x._volume;B.gain.setValueAtTime(N,r.ctx.currentTime),x._playStart=r.ctx.currentTime,typeof B.bufferSource.start>"u"?x._loop?B.bufferSource.noteGrainOn(0,C,86400):B.bufferSource.noteGrainOn(0,C,T):x._loop?B.bufferSource.start(0,C,86400):B.bufferSource.start(0,C,T),k!==1/0&&(b._endTimers[x._id]=setTimeout(b._ended.bind(b,x),k)),y||setTimeout(function(){b._emit("play",x._id),b._loadQueue()},0)};r.state==="running"&&r.ctx.state!=="interrupted"?_():(b._playLock=!0,b.once("resume",_),b._clearTimer(x._id))}else{var V=function(){B.currentTime=C,B.muted=x._muted||b._muted||r._muted||B.muted,B.volume=x._volume*r.volume(),B.playbackRate=x._rate;try{var N=B.play();if(N&&typeof Promise<"u"&&(N instanceof Promise||typeof N.then=="function")?(b._playLock=!0,R(),N.then(function(){b._playLock=!1,B._unlocked=!0,y?b._loadQueue():b._emit("play",x._id)}).catch(function(){b._playLock=!1,b._emit("playerror",x._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),x._ended=!0,x._paused=!0})):y||(b._playLock=!1,R(),b._emit("play",x._id)),B.playbackRate=x._rate,B.paused){b._emit("playerror",x._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");return}m!=="__default"||x._loop?b._endTimers[x._id]=setTimeout(b._ended.bind(b,x),k):(b._endTimers[x._id]=function(){b._ended(x),B.removeEventListener("ended",b._endTimers[x._id],!1)},B.addEventListener("ended",b._endTimers[x._id],!1))}catch(K){b._emit("playerror",x._id,K)}};B.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(B.src=b._src,B.load());var D=window&&window.ejecta||!B.readyState&&r._navigator.isCocoonJS;if(B.readyState>=3||D)V();else{b._playLock=!0,b._state="loading";var F=function(){b._state="loaded",V(),B.removeEventListener(r._canPlayEvent,F,!1)};B.addEventListener(r._canPlayEvent,F,!1),b._clearTimer(x._id)}}return x._id},pause:function(m){var y=this;if(y._state!=="loaded"||y._playLock)return y._queue.push({event:"pause",action:function(){y.pause(m)}}),y;for(var b=y._getSoundIds(m),A=0;A"u"?S._node.bufferSource.noteOff(0):S._node.bufferSource.stop(0),y._cleanBuffer(S._node)}else(!isNaN(S._node.duration)||S._node.duration===1/0)&&S._node.pause();arguments[1]||y._emit("pause",S?S._id:null)}return y},stop:function(m,y){var b=this;if(b._state!=="loaded"||b._playLock)return b._queue.push({event:"stop",action:function(){b.stop(m)}}),b;for(var A=b._getSoundIds(m),S=0;S"u"?E._node.bufferSource.noteOff(0):E._node.bufferSource.stop(0),b._cleanBuffer(E._node)):(!isNaN(E._node.duration)||E._node.duration===1/0)&&(E._node.currentTime=E._start||0,E._node.pause(),E._node.duration===1/0&&b._clearSound(E._node))),y||b._emit("stop",E._id))}return b},mute:function(m,y){var b=this;if(b._state!=="loaded"||b._playLock)return b._queue.push({event:"mute",action:function(){b.mute(m,y)}}),b;if(typeof y>"u")if(typeof m=="boolean")b._muted=m;else return b._muted;for(var A=b._getSoundIds(y),S=0;S"u"){var S=m._getSoundIds(),E=S.indexOf(y[0]);E>=0?A=parseInt(y[0],10):b=parseFloat(y[0])}else y.length>=2&&(b=parseFloat(y[0]),A=parseInt(y[1],10));var x;if(typeof b<"u"&&b>=0&&b<=1){if(m._state!=="loaded"||m._playLock)return m._queue.push({event:"volume",action:function(){m.volume.apply(m,y)}}),m;typeof A>"u"&&(m._volume=b),A=m._getSoundIds(A);for(var P=0;P"u")}}return S},_startFadeInterval:function(m,y,b,A,S,E){var x=this,P=y,C=b-y,T=Math.abs(C/.01),k=Math.max(4,T>0?A/T:A),I=Date.now();m._fadeTo=b,m._interval=setInterval(function(){var M=(Date.now()-I)/A;I=Date.now(),P+=C*M,P=Math.round(P*100)/100,C<0?P=Math.max(b,P):P=Math.min(b,P),x._webAudio?m._volume=P:x.volume(P,m._id,!0),E&&(x._volume=P),(by&&P>=b)&&(clearInterval(m._interval),m._interval=null,m._fadeTo=null,x.volume(b,m._id),x._emit("fade",m._id))},k)},_stopFade:function(m){var y=this,b=y._soundById(m);return b&&b._interval&&(y._webAudio&&b._node.gain.cancelScheduledValues(r.ctx.currentTime),clearInterval(b._interval),b._interval=null,y.volume(b._fadeTo,m),b._fadeTo=null,y._emit("fade",m)),y},loop:function(){var m=this,y=arguments,b,A,S;if(y.length===0)return m._loop;if(y.length===1)if(typeof y[0]=="boolean")b=y[0],m._loop=b;else return S=m._soundById(parseInt(y[0],10)),S?S._loop:!1;else y.length===2&&(b=y[0],A=parseInt(y[1],10));for(var E=m._getSoundIds(A),x=0;x=0?A=parseInt(y[0],10):b=parseFloat(y[0])}else y.length===2&&(b=parseFloat(y[0]),A=parseInt(y[1],10));var x;if(typeof b=="number"){if(m._state!=="loaded"||m._playLock)return m._queue.push({event:"rate",action:function(){m.rate.apply(m,y)}}),m;typeof A>"u"&&(m._rate=b),A=m._getSoundIds(A);for(var P=0;P=0?A=parseInt(y[0],10):m._sounds.length&&(A=m._sounds[0]._id,b=parseFloat(y[0]))}else y.length===2&&(b=parseFloat(y[0]),A=parseInt(y[1],10));if(typeof A>"u")return 0;if(typeof b=="number"&&(m._state!=="loaded"||m._playLock))return m._queue.push({event:"seek",action:function(){m.seek.apply(m,y)}}),m;var x=m._soundById(A);if(x)if(typeof b=="number"&&b>=0){var P=m.playing(A);P&&m.pause(A,!0),x._seek=b,x._ended=!1,m._clearTimer(A),!m._webAudio&&x._node&&!isNaN(x._node.duration)&&(x._node.currentTime=b);var C=function(){P&&m.play(A,!0),m._emit("seek",A)};if(P&&!m._webAudio){var T=function(){m._playLock?setTimeout(T,0):C()};setTimeout(T,0)}else C()}else if(m._webAudio){var k=m.playing(A)?r.ctx.currentTime-x._playStart:0,I=x._rateSeek?x._rateSeek-x._seek:0;return x._seek+(I+k*Math.abs(x._rate))}else return x._node.currentTime;return m},playing:function(m){var y=this;if(typeof m=="number"){var b=y._soundById(m);return b?!b._paused:!1}for(var A=0;A=0&&r._howls.splice(A,1);var S=!0;for(b=0;b=0){S=!1;break}return a&&S&&delete a[m._src],r.noAudio=!1,m._state="unloaded",m._sounds=[],m=null,null},on:function(m,y,b,A){var S=this,E=S["_on"+m];return typeof y=="function"&&E.push(A?{id:b,fn:y,once:A}:{id:b,fn:y}),S},off:function(m,y,b){var A=this,S=A["_on"+m],E=0;if(typeof y=="number"&&(b=y,y=null),y||b)for(E=0;E=0;E--)(!S[E].id||S[E].id===y||m==="load")&&(setTimeout(function(x){x.call(this,y,b)}.bind(A,S[E].fn),0),S[E].once&&A.off(m,S[E].fn,S[E].id));return A._loadQueue(m),A},_loadQueue:function(m){var y=this;if(y._queue.length>0){var b=y._queue[0];b.event===m&&(y._queue.shift(),y._loadQueue()),m||b.action()}return y},_ended:function(m){var y=this,b=m._sprite;if(!y._webAudio&&m._node&&!m._node.paused&&!m._node.ended&&m._node.currentTime=0;A--){if(b<=y)return;m._sounds[A]._ended&&(m._webAudio&&m._sounds[A]._node&&m._sounds[A]._node.disconnect(0),m._sounds.splice(A,1),b--)}}},_getSoundIds:function(m){var y=this;if(typeof m>"u"){for(var b=[],A=0;A=0;if(r._scratchBuffer&&m.bufferSource&&(m.bufferSource.onended=null,m.bufferSource.disconnect(0),b))try{m.bufferSource.buffer=r._scratchBuffer}catch(A){}return m.bufferSource=null,y},_clearSound:function(m){var y=/MSIE |Trident\//.test(r._navigator&&r._navigator.userAgent);y||(m.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var o=function(m){this._parent=m,this.init()};o.prototype={init:function(){var m=this,y=m._parent;return m._muted=y._muted,m._loop=y._loop,m._volume=y._volume,m._rate=y._rate,m._seek=0,m._paused=!0,m._ended=!0,m._sprite="__default",m._id=++r._counter,y._sounds.push(m),m.create(),m},create:function(){var m=this,y=m._parent,b=r._muted||m._muted||m._parent._muted?0:m._volume;return y._webAudio?(m._node=typeof r.ctx.createGain>"u"?r.ctx.createGainNode():r.ctx.createGain(),m._node.gain.setValueAtTime(b,r.ctx.currentTime),m._node.paused=!0,m._node.connect(r.masterGain)):r.noAudio||(m._node=r._obtainHtml5Audio(),m._errorFn=m._errorListener.bind(m),m._node.addEventListener("error",m._errorFn,!1),m._loadFn=m._loadListener.bind(m),m._node.addEventListener(r._canPlayEvent,m._loadFn,!1),m._endFn=m._endListener.bind(m),m._node.addEventListener("ended",m._endFn,!1),m._node.src=y._src,m._node.preload=y._preload===!0?"auto":y._preload,m._node.volume=b*r.volume(),m._node.load()),m},reset:function(){var m=this,y=m._parent;return m._muted=y._muted,m._loop=y._loop,m._volume=y._volume,m._rate=y._rate,m._seek=0,m._rateSeek=0,m._paused=!0,m._ended=!0,m._sprite="__default",m._id=++r._counter,m},_errorListener:function(){var m=this;m._parent._emit("loaderror",m._id,m._node.error?m._node.error.code:0),m._node.removeEventListener("error",m._errorFn,!1)},_loadListener:function(){var m=this,y=m._parent;y._duration=Math.ceil(m._node.duration*10)/10,Object.keys(y._sprite).length===0&&(y._sprite={__default:[0,y._duration*1e3]}),y._state!=="loaded"&&(y._state="loaded",y._emit("load"),y._loadQueue()),m._node.removeEventListener(r._canPlayEvent,m._loadFn,!1)},_endListener:function(){var m=this,y=m._parent;y._duration===1/0&&(y._duration=Math.ceil(m._node.duration*10)/10,y._sprite.__default[1]===1/0&&(y._sprite.__default[1]=y._duration*1e3),y._ended(m)),m._node.removeEventListener("ended",m._endFn,!1)}};var a={},l=function(m){var y=m._src;if(a[y]){m._duration=a[y].duration,d(m);return}if(/^data:[^;]+;base64,/.test(y)){for(var b=atob(y.split(",")[1]),A=new Uint8Array(b.length),S=0;S0?(a[y._src]=S,d(y,S)):b()};typeof Promise<"u"&&r.ctx.decodeAudioData.length===1?r.ctx.decodeAudioData(m).then(A).catch(b):r.ctx.decodeAudioData(m,A,b)},d=function(m,y){y&&!m._duration&&(m._duration=y.duration),Object.keys(m._sprite).length===0&&(m._sprite={__default:[0,m._duration*1e3]}),m._state!=="loaded"&&(m._state="loaded",m._emit("load"),m._loadQueue())},g=function(){if(r.usingWebAudio){try{typeof AudioContext<"u"?r.ctx=new AudioContext:typeof webkitAudioContext<"u"?r.ctx=new webkitAudioContext:r.usingWebAudio=!1}catch(S){r.usingWebAudio=!1}r.ctx||(r.usingWebAudio=!1);var m=/iP(hone|od|ad)/.test(r._navigator&&r._navigator.platform),y=r._navigator&&r._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),b=y?parseInt(y[1],10):null;if(m&&b&&b<9){var A=/safari/.test(r._navigator&&r._navigator.userAgent.toLowerCase());r._navigator&&!A&&(r.usingWebAudio=!1)}r.usingWebAudio&&(r.masterGain=typeof r.ctx.createGain>"u"?r.ctx.createGainNode():r.ctx.createGain(),r.masterGain.gain.setValueAtTime(r._muted?0:r._volume,r.ctx.currentTime),r.masterGain.connect(r.ctx.destination)),r._setup()}};i.Howler=r,i.Howl=s,typeof commonjsGlobal<"u"?(commonjsGlobal.HowlerGlobal=e,commonjsGlobal.Howler=r,commonjsGlobal.Howl=s,commonjsGlobal.Sound=o):typeof window<"u"&&(window.HowlerGlobal=e,window.Howler=r,window.Howl=s,window.Sound=o)})();/*! * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported. * * howler.js v2.2.3 * howlerjs.com * * (c) 2013-2020, James Simpson of GoldFire Studios * goldfirestudios.com * * MIT License */(function(){HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(r){var s=this;if(!s.ctx||!s.ctx.listener)return s;for(var o=s._howls.length-1;o>=0;o--)s._howls[o].stereo(r);return s},HowlerGlobal.prototype.pos=function(r,s,o){var a=this;if(!a.ctx||!a.ctx.listener)return a;if(s=typeof s!="number"?a._pos[1]:s,o=typeof o!="number"?a._pos[2]:o,typeof r=="number")a._pos=[r,s,o],typeof a.ctx.listener.positionX<"u"?(a.ctx.listener.positionX.setTargetAtTime(a._pos[0],Howler.ctx.currentTime,.1),a.ctx.listener.positionY.setTargetAtTime(a._pos[1],Howler.ctx.currentTime,.1),a.ctx.listener.positionZ.setTargetAtTime(a._pos[2],Howler.ctx.currentTime,.1)):a.ctx.listener.setPosition(a._pos[0],a._pos[1],a._pos[2]);else return a._pos;return a},HowlerGlobal.prototype.orientation=function(r,s,o,a,l,c){var u=this;if(!u.ctx||!u.ctx.listener)return u;var d=u._orientation;if(s=typeof s!="number"?d[1]:s,o=typeof o!="number"?d[2]:o,a=typeof a!="number"?d[3]:a,l=typeof l!="number"?d[4]:l,c=typeof c!="number"?d[5]:c,typeof r=="number")u._orientation=[r,s,o,a,l,c],typeof u.ctx.listener.forwardX<"u"?(u.ctx.listener.forwardX.setTargetAtTime(r,Howler.ctx.currentTime,.1),u.ctx.listener.forwardY.setTargetAtTime(s,Howler.ctx.currentTime,.1),u.ctx.listener.forwardZ.setTargetAtTime(o,Howler.ctx.currentTime,.1),u.ctx.listener.upX.setTargetAtTime(a,Howler.ctx.currentTime,.1),u.ctx.listener.upY.setTargetAtTime(l,Howler.ctx.currentTime,.1),u.ctx.listener.upZ.setTargetAtTime(c,Howler.ctx.currentTime,.1)):u.ctx.listener.setOrientation(r,s,o,a,l,c);else return d;return u},Howl.prototype.init=function(r){return function(s){var o=this;return o._orientation=s.orientation||[1,0,0],o._stereo=s.stereo||null,o._pos=s.pos||null,o._pannerAttr={coneInnerAngle:typeof s.coneInnerAngle<"u"?s.coneInnerAngle:360,coneOuterAngle:typeof s.coneOuterAngle<"u"?s.coneOuterAngle:360,coneOuterGain:typeof s.coneOuterGain<"u"?s.coneOuterGain:0,distanceModel:typeof s.distanceModel<"u"?s.distanceModel:"inverse",maxDistance:typeof s.maxDistance<"u"?s.maxDistance:1e4,panningModel:typeof s.panningModel<"u"?s.panningModel:"HRTF",refDistance:typeof s.refDistance<"u"?s.refDistance:1,rolloffFactor:typeof s.rolloffFactor<"u"?s.rolloffFactor:1},o._onstereo=s.onstereo?[{fn:s.onstereo}]:[],o._onpos=s.onpos?[{fn:s.onpos}]:[],o._onorientation=s.onorientation?[{fn:s.onorientation}]:[],r.call(this,s)}}(Howl.prototype.init),Howl.prototype.stereo=function(r,s){var o=this;if(!o._webAudio)return o;if(o._state!=="loaded")return o._queue.push({event:"stereo",action:function(){o.stereo(r,s)}}),o;var a=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof s>"u")if(typeof r=="number")o._stereo=r,o._pos=[r,0,0];else return o._stereo;for(var l=o._getSoundIds(s),c=0;c"u")if(typeof r=="number")l._pos=[r,s,o];else return l._pos;for(var c=l._getSoundIds(a),u=0;u"u")if(typeof r=="number")l._orientation=[r,s,o];else return l._orientation;for(var c=l._getSoundIds(a),u=0;u"u"&&(o.pannerAttr||(o.pannerAttr={coneInnerAngle:o.coneInnerAngle,coneOuterAngle:o.coneOuterAngle,coneOuterGain:o.coneOuterGain,distanceModel:o.distanceModel,maxDistance:o.maxDistance,refDistance:o.refDistance,rolloffFactor:o.rolloffFactor,panningModel:o.panningModel}),r._pannerAttr={coneInnerAngle:typeof o.pannerAttr.coneInnerAngle<"u"?o.pannerAttr.coneInnerAngle:r._coneInnerAngle,coneOuterAngle:typeof o.pannerAttr.coneOuterAngle<"u"?o.pannerAttr.coneOuterAngle:r._coneOuterAngle,coneOuterGain:typeof o.pannerAttr.coneOuterGain<"u"?o.pannerAttr.coneOuterGain:r._coneOuterGain,distanceModel:typeof o.pannerAttr.distanceModel<"u"?o.pannerAttr.distanceModel:r._distanceModel,maxDistance:typeof o.pannerAttr.maxDistance<"u"?o.pannerAttr.maxDistance:r._maxDistance,refDistance:typeof o.pannerAttr.refDistance<"u"?o.pannerAttr.refDistance:r._refDistance,rolloffFactor:typeof o.pannerAttr.rolloffFactor<"u"?o.pannerAttr.rolloffFactor:r._rolloffFactor,panningModel:typeof o.pannerAttr.panningModel<"u"?o.pannerAttr.panningModel:r._panningModel});else return l=r._soundById(parseInt(s[0],10)),l?l._pannerAttr:r._pannerAttr;else s.length===2&&(o=s[0],a=parseInt(s[1],10));for(var c=r._getSoundIds(a),u=0;u{var r,s;if(!midiData.playing)return;const i=state$1.times[midiData.index];if(!i)return;midiData.index++;const e=i.endtime-i.time;(s=(r=midiData.iframeRef)==null?void 0:r.contentWindow)==null||s.playNote(i.realKey,e),timer=setTimeout(()=>{playNote()},e/midiData.rate*1e3)},hanldeInitMidiData=i=>{midiData.iframeRef=i},hanldeSetMidiPlaybackRate=i=>{midiData.rate=i},setMidiCurrentTime=i=>{clearTimeout(timer),midiData.index=i,playNote()},scoreMode="_scoreMode_6lpfe_1",tipBox="_tipBox_6lpfe_5",tipContent$1="_tipContent_6lpfe_15",tipBtn="_tipBtn_6lpfe_18",hiddenPop="_hiddenPop_6lpfe_28",styles$v={scoreMode,tipBox,tipContent:tipContent$1,tipBtn,hiddenPop};var context={locks:{},zIndex:2e3,enableRipple:!0};reactive(context);const Context=reactive(context),isString=i=>typeof i=="string",isBoolean=i=>typeof i=="boolean",isNumber=i=>typeof i=="number",isPlainObject=i=>Object.prototype.toString.call(i)==="[object Object]",isFunction$2=i=>typeof i=="function",isArray$2=i=>Array.isArray(i),isURL=i=>i?/^(http)|(\.*\/)/.test(i):!1,toNumber=i=>i==null?0:isString(i)?(i=parseFloat(i),i=Number.isNaN(i)?0:i,i):isBoolean(i)?Number(i):i,removeItem=(i,e)=>{if(i.length){const r=i.indexOf(e);if(r>-1)return i.splice(r,1)}},inBrowser=()=>typeof window<"u",camelize=i=>i.replace(/-(\w)/g,(e,r)=>r.toUpperCase());function getViewportSize(){var{innerWidth:i,innerHeight:e}=window;return i>e?{vMin:e,vMax:i}:{vMin:i,vMax:e}}var isRem=i=>isString(i)&&i.endsWith("rem"),isPx=i=>isString(i)&&i.endsWith("px")||isNumber(i),isPercent=i=>isString(i)&&i.endsWith("%"),isVw=i=>isString(i)&&i.endsWith("vw"),isVh=i=>isString(i)&&i.endsWith("vh"),isVMin=i=>isString(i)&&i.endsWith("vmin"),isVMax=i=>isString(i)&&i.endsWith("vmax"),isCalc=i=>isString(i)&&i.startsWith("calc("),isVar=i=>isString(i)&&i.startsWith("var("),toPxNum=i=>{if(isNumber(i))return i;if(isPx(i))return+i.replace("px","");if(isVw(i))return+i.replace("vw","")*window.innerWidth/100;if(isVh(i))return+i.replace("vh","")*window.innerHeight/100;if(isRem(i)){var e=+i.replace("rem",""),r=window.getComputedStyle(document.documentElement).fontSize;return e*parseFloat(r)}return isVMin(i)?getViewportSize().vMin:isVMax(i)?getViewportSize().vMax:isString(i)?toNumber(i):0},toSizeUnit=i=>{if(i!=null)return isPercent(i)||isVw(i)||isVh(i)||isRem(i)||isCalc(i)||isVar(i)||isVMin(i)||isVMax(i)?i:toPxNum(i)+"px"},multiplySizeUnit=function(i,e){if(e===void 0&&(e=1),i!=null){var r=toSizeUnit(i),s=r.match(/(vh|%|rem|px|vw)$/)[0];return""+parseFloat(r)*e+s}};function supportTouch(){var i=typeof window<"u";return i&&"ontouchstart"in window}function useMounted(i){let e=!1;onMounted(()=>{i(),nextTick(()=>{e=!0})}),onActivated(()=>{e&&i()})}function useEventListener(i,e,r,s={}){if(!inBrowser())return;const{passive:o=!1,capture:a=!1}=s;let l=!1,c=!1;const u=y=>{if(l||c)return;const b=unref(y);b&&(b.addEventListener(e,r,{passive:o,capture:a}),l=!0)},d=y=>{if(!l||c)return;const b=unref(y);b&&(b.removeEventListener(e,r,{capture:a}),l=!1)};let g;isRef(i)&&(g=watch(()=>i.value,(y,b)=>{d(b),u(y)}));const m=()=>{g==null||g(),d(i),c=!0};return useMounted(()=>{u(i)}),onBeforeUnmount(()=>{d(i)}),onDeactivated(()=>{d(i)}),m}var __rest=globalThis&&globalThis.__rest||function(i,e){var r={};for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&e.indexOf(s)<0&&(r[s]=i[s]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,s=Object.getOwnPropertySymbols(i);or.indexOf(l)),parentProvider:a,bindParent:d=>{onMounted(()=>{nextTick().then(()=>{s(l,d)})}),onBeforeUnmount(()=>{nextTick().then(()=>{o(l,d)})})}}}function flatVNodes(i){const e=[],r=s=>{if(s!=null&&s.component){r(s==null?void 0:s.component.subTree);return}Array.isArray(s==null?void 0:s.children)&&s.children.forEach(o=>{isVNode(o)&&(e.push(o),r(o))})};return r(i),e}function useChildren(i){const e=getCurrentInstance(),r=reactive([]),s=[],o=computed(()=>r.length),a=()=>{const d=flatVNodes(e.subTree);r.sort((g,m)=>d.indexOf(g.vnode)-d.indexOf(m.vnode))},l=(d,g)=>{r.push(d),s.push(g),a()},c=(d,g)=>{removeItem(r,d),removeItem(s,g)};return{length:o,childProviders:s,bindChildren:d=>{provide(i,Object.assign({childInstances:r,collect:l,clear:c},d))}}}function asyncGeneratorStep$1(i,e,r,s,o,a,l){try{var c=i[a](l),u=c.value}catch(d){r(d);return}c.done?e(u):Promise.resolve(u).then(s,o)}function _asyncToGenerator$1(i){return function(){var e=this,r=arguments;return new Promise(function(s,o){var a=i.apply(e,r);function l(u){asyncGeneratorStep$1(a,s,o,l,c,"next",u)}function c(u){asyncGeneratorStep$1(a,s,o,l,c,"throw",u)}l(void 0)})}}function _extends$5(){return _extends$5=Object.assign?Object.assign.bind():function(i){for(var e=1;e(r[s]=i[s],r),{}):i[e]}function mount(i){var e=createApp(i),r=document.createElement("div");return document.body.appendChild(r),{instance:e.mount(r),unmount(){e.unmount(),document.body.removeChild(r)}}}function mountInstance(i,e,r){e===void 0&&(e={}),r===void 0&&(r={});var s={setup(){return()=>h$1(i,_extends$5({},e,r))}},{unmount:o}=mount(s);return{unmountInstance:o}}function useValidation(){var i=ref(""),e=function(){var o=_asyncToGenerator$1(function*(a,l,c){if(!isArray$2(a)||!a.length)return!0;var u=yield Promise.all(a.map(d=>d(l,c)));return!u.some(d=>d!==!0?(i.value=String(d),!0):!1)});return function(l,c,u){return o.apply(this,arguments)}}(),r=()=>{i.value=""},s=function(){var o=_asyncToGenerator$1(function*(a,l,c,u,d){a.includes(l)&&(yield e(c,u,d))&&(i.value="")});return function(l,c,u,d,g){return o.apply(this,arguments)}}();return{errorMessage:i,validate:e,resetValidation:r,validateWithTrigger:s}}function useRouteListener(i){inBrowser()&&(useEventListener(window,"hashchange",i),useEventListener(window,"popstate",i))}function useTeleport(){var i=ref(!1);return onActivated(()=>{i.value=!1}),onDeactivated(()=>{i.value=!0}),{disabled:i}}function createNamespace(i){var e="var",r=e+"-"+i,s=a=>a?a[0]==="$"?a.replace("$",e):a.startsWith("--")?""+r+a:r+"__"+a:r,o=function(){for(var a=arguments.length,l=new Array(a),c=0;c{if(isArray$2(u)){var[d,g,m=null]=u;return d?g:m}return u})};return{n:s,classes:o}}function call(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),s=1;so(...r));if(i)return i(...r)}function defineListenerProp(i){return{type:[Function,Array],default:i}}function formatElevation(i,e){return i===!1?null:(i===!0&&e&&(i=e),"var-elevation--"+i)}function _extends$4(){return _extends$4=Object.assign?Object.assign.bind():function(i){for(var e=1;e{e.tasker=null;var{x:s,y:o,centerX:a,centerY:l,size:c}=computeRippleStyles(this,i),u=document.createElement("div");u.classList.add(n$9()),u.style.opacity="0",u.style.transform="translate("+s+"px, "+o+"px) scale3d(.3, .3, .3)",u.style.width=c+"px",u.style.height=c+"px",e.color&&(u.style.backgroundColor=e.color),u.dataset.createdAt=String(performance.now()),setStyles(this),this.appendChild(u),window.setTimeout(()=>{u.style.transform="translate("+a+"px, "+l+"px) scale3d(1, 1, 1)",u.style.opacity=".25"},20)};e.tasker=window.setTimeout(r,30)}}function removeRipple(){var i=this._ripple,e=()=>{var r=this.querySelectorAll("."+n$9());if(r.length){var s=r[r.length-1],o=ANIMATION_DURATION-performance.now()+Number(s.dataset.createdAt);window.setTimeout(()=>{s.style.opacity="0",window.setTimeout(()=>{var a;return(a=s.parentNode)==null?void 0:a.removeChild(s)},ANIMATION_DURATION)},o)}};i.tasker?window.setTimeout(e,30):e()}function forbidRippleTask(){if(!(!supportTouch()||!Context.enableRipple)){var i=this._ripple;i.tasker&&window.clearTimeout(i.tasker),i.tasker=null}}function mounted$1(i,e){var r;i._ripple=_extends$4({tasker:null},(r=e.value)!=null?r:{},{removeRipple:removeRipple.bind(i)}),i.addEventListener("touchstart",createRipple,{passive:!0}),i.addEventListener("touchmove",forbidRippleTask,{passive:!0}),i.addEventListener("dragstart",removeRipple,{passive:!0}),document.addEventListener("touchend",i._ripple.removeRipple,{passive:!0}),document.addEventListener("touchcancel",i._ripple.removeRipple,{passive:!0})}function unmounted$1(i){i.removeEventListener("touchstart",createRipple),i.removeEventListener("touchmove",forbidRippleTask),i.removeEventListener("dragstart",removeRipple),document.removeEventListener("touchend",i._ripple.removeRipple),document.removeEventListener("touchcancel",i._ripple.removeRipple)}function updated$1(i,e){var r,s,o,a,l={color:(r=e.value)==null?void 0:r.color,disabled:(s=e.value)==null?void 0:s.disabled},c=l.color!==((o=i._ripple)==null?void 0:o.color)||l.disabled!==((a=i._ripple)==null?void 0:a.disabled);if(c){var u,d;i._ripple=_extends$4({tasker:l.disabled?null:(u=i._ripple)==null?void 0:u.tasker,removeRipple:(d=i._ripple)==null?void 0:d.removeRipple},l)}}var Ripple={mounted:mounted$1,unmounted:unmounted$1,updated:updated$1,install(i){i.directive("ripple",this)}};const Ripple$1=Ripple;function resolveLock(){var i=Object.keys(Context.locks).length;i<=0?document.body.classList.remove("var--lock"):document.body.classList.add("var--lock")}function addLock(i){Context.locks[i]=1,resolveLock()}function releaseLock(i){delete Context.locks[i],resolveLock()}function useLock(i,e){var{uid:r}=getCurrentInstance();e&&watch(e,s=>{s===!1?releaseLock(r):s===!0&&i()===!0&&addLock(r)}),watch(i,s=>{e&&e()===!1||(s===!0?addLock(r):releaseLock(r))}),onBeforeMount(()=>{e&&e()===!1||i()===!0&&addLock(r)}),onUnmounted(()=>{e&&e()===!1||i()===!0&&releaseLock(r)}),onActivated(()=>{e&&e()===!1||i()===!0&&addLock(r)}),onDeactivated(()=>{e&&e()===!1||i()===!0&&releaseLock(r)})}function useZIndex(i,e){var r=ref(Context.zIndex);return watch(i,s=>{s&&(Context.zIndex+=e,r.value=Context.zIndex)},{immediate:!0}),{zIndex:r}}var props$8={name:{type:String},size:{type:[Number,String]},color:{type:String},namespace:{type:String,default:"var-icon"},transition:{type:[Number,String],default:0},animationClass:{type:String},onClick:defineListenerProp()};function asyncGeneratorStep(i,e,r,s,o,a,l){try{var c=i[a](l),u=c.value}catch(d){r(d);return}c.done?e(u):Promise.resolve(u).then(s,o)}function _asyncToGenerator(i){return function(){var e=this,r=arguments;return new Promise(function(s,o){var a=i.apply(e,r);function l(u){asyncGeneratorStep(a,s,o,l,c,"next",u)}function c(u){asyncGeneratorStep(a,s,o,l,c,"throw",u)}l(void 0)})}}var{n:n$8,classes:classes$6}=createNamespace("icon");function __render__$8(i,e){return openBlock(),createBlock(resolveDynamicComponent(i.isURL(i.name)?"img":"i"),{class:normalizeClass(i.classes(i.n(),[i.namespace!==i.n(),i.namespace],i.namespace+"--set",[i.isURL(i.name),i.n("image"),i.namespace+"-"+i.nextName],[i.animateInProgress,i.animationClass==null?i.n("--shrinking"):i.animationClass])),style:normalizeStyle({color:i.color,"transition-duration":i.toNumber(i.transition)+"ms",width:i.isURL(i.name)?i.toSizeUnit(i.size):null,height:i.isURL(i.name)?i.toSizeUnit(i.size):null,fontSize:i.toSizeUnit(i.size)}),src:i.isURL(i.name)?i.nextName:null,onClick:i.onClick},null,8,["class","style","src","onClick"])}var __sfc__$8=defineComponent({name:"VarIcon",props:props$8,setup(i){var e=ref(""),r=ref(!1),s=function(){var o=_asyncToGenerator(function*(a,l){var{transition:c}=i;if(l==null||toNumber(c)===0){e.value=a;return}r.value=!0,yield nextTick(),setTimeout(()=>{l!=null&&(e.value=a),r.value=!1},toNumber(c))});return function(l,c){return o.apply(this,arguments)}}();return watch(()=>i.name,s,{immediate:!0}),{n:n$8,classes:classes$6,nextName:e,animateInProgress:r,isURL,toNumber,toSizeUnit}}});__sfc__$8.render=__render__$8;const Icon=__sfc__$8;Icon.install=function(i){i.component(Icon.name,Icon)};function typeValidator$3(i){return["circle","wave","cube","rect","disappear"].includes(i)}function sizeValidator$2(i){return["normal","mini","small","large"].includes(i)}var props$7={type:{type:String,default:"circle",validator:typeValidator$3},radius:{type:[String,Number]},size:{type:String,default:"normal",validator:sizeValidator$2},color:{type:String},description:{type:String},loading:{type:Boolean,default:!1}},{n:n$7,classes:classes$5}=createNamespace("loading"),_withScopeId=i=>(pushScopeId(""),i=i(),popScopeId(),i),_hoisted_1$3=_withScopeId(()=>createBaseVNode("svg",{viewBox:"25 25 50 50"},[createBaseVNode("circle",{cx:"50",cy:"50",r:"20",fill:"none"})],-1)),_hoisted_2$1=[_hoisted_1$3];function __render__$7(i,e){return openBlock(),createElementBlock("div",{class:normalizeClass(i.n())},[i.$slots.default?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(i.classes(i.n("content"),[i.loading,i.n("content--active")]))},[renderSlot(i.$slots,"default"),i.loading?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(i.n("content-mask"))},null,2)):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),i.isShow?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(i.classes(i.n("$--box"),i.n("body"),[i.$slots.default,i.n("inside")]))},[i.type==="circle"?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(i.n("circle"))},[createBaseVNode("span",{class:normalizeClass(i.classes(i.n("circle-block"),i.n("circle-block--"+i.size))),style:normalizeStyle({width:i.multiplySizeUnit(i.radius,2),height:i.multiplySizeUnit(i.radius,2),color:i.color})},_hoisted_2$1,6)],2)):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(i.loadingTypeDict,(r,s)=>(openBlock(),createElementBlock(Fragment,{key:s},[i.type===s?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(i.classes(i.n(s),i.n(s+"--"+i.size)))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(r,o=>(openBlock(),createElementBlock("div",{key:o+s,style:normalizeStyle({backgroundColor:i.color}),class:normalizeClass(i.classes(i.n(s+"-item"),i.n(s+"-item--"+i.size)))},null,6))),128))],2)):createCommentVNode("v-if",!0)],64))),128)),i.$slots.description||i.description?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(i.classes(i.n("description"),i.n("description--"+i.size))),style:normalizeStyle({color:i.color})},[renderSlot(i.$slots,"description",{},()=>[createTextVNode(toDisplayString(i.description),1)])],6)):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],2)}var __sfc__$7=defineComponent({name:"VarLoading",props:props$7,setup(i,e){var{slots:r}=e,s={wave:5,cube:4,rect:8,disappear:3},o=computed(()=>call(r.default)?i.loading:!0);return{n:n$7,classes:classes$5,multiplySizeUnit,loadingTypeDict:s,isShow:o}}});__sfc__$7.render=__render__$7;const Loading$1=__sfc__$7;Loading$1.install=function(i){i.component(Loading$1.name,Loading$1)};var props$6={hovering:{type:Boolean,default:!0}},{n:n$6,classes:classes$4}=createNamespace("hover-overlay");function __render__$6(i,e){return openBlock(),createElementBlock("div",{class:normalizeClass(i.classes(i.n(),[i.hovering,i.n("--hovering")]))},null,2)}var __sfc__$6=defineComponent({name:"VarHoverOverlay",props:props$6,setup(){return{n:n$6,classes:classes$4}}});__sfc__$6.render=__render__$6;const HoverOverlay=__sfc__$6;HoverOverlay.install=function(i){i.component(HoverOverlay.name,HoverOverlay)};function useHoverOverlay(){var i=ref(!1),e=r=>{i.value=r};return{hovering:i,handleHovering:e}}function shouldDisabled(i){if(!i)return!1;var e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);return!!(i==="desktop"&&e||i==="mobile"&&!e)}function getStyle(i){var e=i.getAttribute("style");return e?e.split(";").filter(Boolean).reduce((r,s)=>{var[o,a]=s.split(":").map(l=>l.trim());return r[camelize(o)]=a,r},{}):{}}function updateRawStyle(i){var{value:e}=i._hover,r=getStyle(i);Object.keys(e).forEach(s=>{var o=camelize(s),a=e[o];a!=null&&r[o]&&(i._hover.rawStyle[o]=r[o])})}function updateStyle(i,e){Object.keys(e).forEach(r=>{var s=e[r];s!=null&&(i.style[r]=s)})}function clearStyle(i){Object.keys(i._hover.value).forEach(e=>{var r=i._hover.value[e];r!=null&&(i.style[e]="")})}function restoreStyle(i){clearStyle(i),updateStyle(i,i._hover.rawStyle)}function createHover(){var{value:i}=this._hover;if(this._hover.hovering=!0,isFunction$2(i)){i(this._hover.hovering);return}updateStyle(this,i)}function removeHover(){if(this._hover.hovering=!1,isFunction$2(this._hover.value)){this._hover.value(this._hover.hovering);return}restoreStyle(this)}function mounted(i,e){var r,s,{arg:o,value:a}=e;shouldDisabled(o)||(i._hover={value:a,hovering:(r=(s=i._hover)==null?void 0:s.hovering)!=null?r:!1,rawStyle:{}},updateRawStyle(i),i.addEventListener("mouseenter",createHover),i.addEventListener("mouseleave",removeHover))}function unmounted(i,e){shouldDisabled(e.arg)||(restoreStyle(i),i.removeEventListener("mouseenter",createHover),i.removeEventListener("mouseleave",removeHover))}function beforeUpdate(i,e){i._hover&&unmounted(i,e)}function shouldUpdateStyle(i,e){return!isFunction$2(e.value)&&i._hover.hovering}function updated(i,e){mounted(i,e),shouldUpdateStyle(i,e)&&updateStyle(i,e.value)}var Hover={mounted,unmounted,beforeUpdate,updated,install(i){i.directive("hover",this)}};const Hover$1=Hover;function _extends$3(){return _extends$3=Object.assign?Object.assign.bind():function(i){for(var e=1;e{if(!r)return{elevation:formatElevation(i.elevation,2),type:i.type!=null?i.type:"default",size:i.size!=null?i.size:"normal",color:i.color,text:i.text,textColor:i.textColor,outline:i.outline};var{type:d,size:g,color:m,textColor:y,mode:b}=r;return{elevation:"",type:i.type!=null?i.type:d.value,size:i.size!=null?i.size:g.value,color:i.color!=null?i.color:m.value,textColor:i.textColor!=null?i.textColor:y.value,text:b.value!=="normal",outline:b.value==="outline"}}),l=d=>{i.autoLoading&&(e.value=!0,d=isArray$2(d)?d:[d],Promise.all(d).then(()=>{e.value=!1}).catch(()=>{e.value=!1}))},c=d=>{var{loading:g,disabled:m,onClick:y}=i;!y||g||m||e.value||l(call(y,d))},u=d=>{var{loading:g,disabled:m,onTouchstart:y}=i;!y||g||m||e.value||l(call(y,d))};return{n:n$5,classes:classes$3,pending:e,states:a,hovering:s,handleHovering:o,handleClick:c,handleTouchstart:u}}});__sfc__$5.render=__render__$5;const Button=__sfc__$5;Button.install=function(i){i.component(Button.name,Button)};function typeValidator$1(i){return["default","primary","info","success","warning","danger"].includes(i)}function sizeValidator(i){return["normal","mini","small","large"].includes(i)}function modeValidator(i){return["normal","text","outline"].includes(i)}var props$4={type:{type:String,default:"default",validator:typeValidator$1},size:{type:String,default:"normal",validator:sizeValidator},color:{type:String},textColor:{type:String},mode:{type:String,default:"normal",validator:modeValidator},elevation:{type:[Boolean,Number,String],default:!0},vertical:{type:Boolean,default:!1}},{n:n$4,classes:classes$2}=createNamespace("button-group");function __render__$4(i,e){return openBlock(),createElementBlock("div",{class:normalizeClass(i.classes(i.n(),i.n("$--box"),[i.mode,""+i.n("--mode-"+i.mode)],[i.vertical,i.n("--vertical"),i.n("--horizontal")],[i.mode==="normal",i.formatElevation(i.elevation,2)]))},[renderSlot(i.$slots,"default")],2)}var __sfc__$4=defineComponent({name:"VarButtonGroup",props:props$4,setup(i){var{bindButtons:e}=useButtons(),r={elevation:computed(()=>i.elevation),type:computed(()=>i.type),size:computed(()=>i.size),color:computed(()=>i.color),textColor:computed(()=>i.textColor),mode:computed(()=>i.mode)};return e(r),{n:n$4,classes:classes$2,formatElevation}}});__sfc__$4.render=__render__$4;const ButtonGroup=__sfc__$4;ButtonGroup.install=function(i){i.component(ButtonGroup.name,ButtonGroup)};var props$3={errorMessage:{type:String,default:""},extraMessage:{type:String,default:""}},{n:n$3}=createNamespace("form-details"),_hoisted_1$1={key:0},_hoisted_2={key:0};function __render__$3(i,e){return openBlock(),createBlock(Transition,{name:i.n()},{default:withCtx(()=>[i.errorMessage||i.extraMessage?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(i.n())},[createBaseVNode("div",{class:normalizeClass(i.n("error-message"))},[createVNode(Transition,{name:i.n("message")},{default:withCtx(()=>[i.errorMessage?(openBlock(),createElementBlock("div",_hoisted_1$1,toDisplayString(i.errorMessage),1)):createCommentVNode("v-if",!0)]),_:1},8,["name"])],2),createBaseVNode("div",{class:normalizeClass(i.n("extra-message"))},[createVNode(Transition,{name:i.n("message")},{default:withCtx(()=>[i.extraMessage?(openBlock(),createElementBlock("div",_hoisted_2,toDisplayString(i.extraMessage),1)):createCommentVNode("v-if",!0)]),_:1},8,["name"])],2)],2)):createCommentVNode("v-if",!0)]),_:1},8,["name"])}var __sfc__$3=defineComponent({name:"VarFormDetails",props:props$3,setup:()=>({n:n$3})});__sfc__$3.render=__render__$3;const FormDetails=__sfc__$3;FormDetails.install=function(i){i.component(FormDetails.name,FormDetails)};function _extends$2(){return _extends$2=Object.assign?Object.assign.bind():function(i){for(var e=1;e{r(_extends$2({},a,{instance:s}))}:null;return{index:e,form:i,bindForm:o}}function _extends$1(){return _extends$1=Object.assign?Object.assign.bind():function(i){for(var e=1;e[createTextVNode(toDisplayString(i.content),1)])],2),createBaseVNode("div",{class:normalizeClass(i.n("action"))},[i.iconName?(openBlock(),createBlock(r,{key:0,name:i.iconName},null,8,["name"])):createCommentVNode("v-if",!0),i.type==="loading"?(openBlock(),createBlock(s,{key:1,type:i.loadingType,size:i.loadingSize,color:i.loadingColor,radius:i.loadingRadius},null,8,["type","size","color","radius"])):createCommentVNode("v-if",!0),renderSlot(i.$slots,"action")],2)],6)],6)),[[vShow,i.show]])}var __sfc__$2=defineComponent({name:"VarSnackbarCore",components:{VarLoading:Loading$1,VarIcon:Icon},props:props$2,setup(i){var e=ref(null),{zIndex:r}=useZIndex(()=>i.show,1);useLock(()=>i.show,()=>i.lockScroll);var s=computed(()=>i.type==="loading"||i.forbidClick),o=computed(()=>i.type?ICON_TYPE_DICT[i.type]:""),a=()=>{e.value=setTimeout(()=>{i.type!=="loading"&&call(i["onUpdate:show"],!1)},i.duration)};return watch(()=>i.show,l=>{l?(call(i.onOpen),a()):l===!1&&(clearTimeout(e.value),call(i.onClose))}),watch(()=>i._update,()=>{clearTimeout(e.value),a()}),useMounted(()=>{i.show&&(call(i.onOpen),a())}),{SNACKBAR_TYPE,n:n$2,classes:classes$1,zIndex:r,iconName:o,isForbidClick:s}}});__sfc__$2.render=__render__$2;const VarSnackbarCore=__sfc__$2;var{n:n$1}=createNamespace("snackbar");function __render__$1(i,e){var r=resolveComponent("var-snackbar-core");return openBlock(),createBlock(Teleport,{to:i.teleport,disabled:i.disabled},[createVNode(Transition,{name:i.n()+"-fade",onAfterEnter:i.onOpened,onAfterLeave:i.onClosed},{default:withCtx(()=>[createVNode(r,mergeProps(i.$props,{class:i.n("transition")}),{action:withCtx(()=>[renderSlot(i.$slots,"action")]),default:withCtx(()=>[renderSlot(i.$slots,"default",{},()=>[createTextVNode(toDisplayString(i.content),1)])]),_:3},16,["class"])]),_:3},8,["name","onAfterEnter","onAfterLeave"])],8,["to","disabled"])}var __sfc__$1=defineComponent({name:"VarSnackbar",components:{VarSnackbarCore},props:props$2,setup(){var{disabled:i}=useTeleport();return{n:n$1,disabled:i}}});__sfc__$1.render=__render__$1;const VarSnackbar=__sfc__$1;function _extends(){return _extends=Object.assign?Object.assign.bind():function(i){for(var e=1;e{},onOpened:()=>{},onClose:()=>{},onClosed:()=>{}},uniqSnackbarOptions=reactive([]),defaultOptions=defaultOptionsValue,transitionGroupProps={name:"var-snackbar-fade",tag:"div",class:"var-transition-group"},TransitionGroupHost={setup(){return()=>{var i=uniqSnackbarOptions.map(e=>{var{id:r,reactiveSnackOptions:s,_update:o}=e,a=document.querySelector(".var-transition-group");s.forbidClick||s.type==="loading"?a.classList.add("var-pointer-auto"):a.classList.remove("var-pointer-auto"),isAllowMultiple&&(s.position="top");var l=isAllowMultiple?"relative":"absolute",c=_extends({position:l},getTop(s.position));return createVNode(VarSnackbarCore,mergeProps(s,{key:r,style:c,"data-id":r,_update:o,show:s.show,"onUpdate:show":u=>s.show=u}),null)});return createVNode(TransitionGroup,mergeProps(transitionGroupProps,{style:{zIndex:Context.zIndex},onAfterEnter:opened,onAfterLeave:removeUniqOption}),_isSlot$1(i)?i:{default:()=>[i]})}}},Snackbar=function(i){var e=normalizeOptions(i),r=reactive(_extends({},defaultOptions,e));r.show=!0,isMount||(isMount=!0,unmount=mountInstance(TransitionGroupHost).unmountInstance);var{length:s}=uniqSnackbarOptions,o={id:sid++,reactiveSnackOptions:r};if(s===0||isAllowMultiple)addUniqOption(o);else{var a="update-"+sid;updateUniqOption(r,a)}return{clear(){!isAllowMultiple&&uniqSnackbarOptions.length?uniqSnackbarOptions[0].reactiveSnackOptions.show=!1:r.show=!1}}};SNACKBAR_TYPE.forEach(i=>{Snackbar[i]=e=>(isPlainObject(e)?e.type=i:e={content:e,type:i},Snackbar(e))});Snackbar.install=function(i){i.component(VarSnackbar.name,VarSnackbar)};Snackbar.allowMultiple=function(i){i===void 0&&(i=!1),i!==isAllowMultiple&&(uniqSnackbarOptions.forEach(e=>{e.reactiveSnackOptions.show=!1}),isAllowMultiple=i)};Snackbar.clear=function(){uniqSnackbarOptions.forEach(i=>{i.reactiveSnackOptions.show=!1})};Snackbar.setDefaultOptions=function(i){defaultOptions=i};Snackbar.resetDefaultOptions=function(){defaultOptions=defaultOptionsValue};Snackbar.Component=VarSnackbar;function opened(i){var e=i.getAttribute("data-id"),r=uniqSnackbarOptions.find(s=>s.id===toNumber(e));r&&call(r.reactiveSnackOptions.onOpened)}function removeUniqOption(i){i.parentElement&&i.parentElement.classList.remove("var-pointer-auto");var e=i.getAttribute("data-id"),r=uniqSnackbarOptions.find(o=>o.id===toNumber(e));r&&(r.animationEnd=!0,call(r.reactiveSnackOptions.onClosed));var s=uniqSnackbarOptions.every(o=>o.animationEnd);s&&(call(unmount),uniqSnackbarOptions=reactive([]),isMount=!1)}function addUniqOption(i){uniqSnackbarOptions.push(i)}function normalizeOptions(i){return i===void 0&&(i={}),isString(i)?{content:i}:i}function updateUniqOption(i,e){var[r]=uniqSnackbarOptions;r.reactiveSnackOptions=_extends({},r.reactiveSnackOptions,i),r._update=e}function getTop(i){return i===void 0&&(i="top"),i==="bottom"?{[i]:"5%"}:{top:i==="top"?"5%":"45%"}}VarSnackbar.install=function(i){i.component(VarSnackbar.name,VarSnackbar)};const Snackbar$1=Snackbar;var props$1={modelValue:{default:!1},activeValue:{default:!0},inactiveValue:{default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},color:{type:String},loadingColor:{type:String},closeColor:{type:String},size:{type:[String,Number]},rules:{type:Array},ripple:{type:Boolean,default:!0},onClick:defineListenerProp(),onChange:defineListenerProp(),"onUpdate:modelValue":defineListenerProp()},{n,classes}=createNamespace("switch");function __render__(i,e){var r=resolveComponent("var-loading"),s=resolveComponent("var-hover-overlay"),o=resolveComponent("var-form-details"),a=resolveDirective("ripple"),l=resolveDirective("hover");return withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(i.n())},[createBaseVNode("div",{class:normalizeClass(i.classes(i.n("block"),[i.disabled||i.formDisabled,i.n("--disabled")])),onClick:e[0]||(e[0]=function(){return i.switchActive&&i.switchActive(...arguments)}),style:normalizeStyle(i.styleComputed.switch)},[createBaseVNode("div",{style:normalizeStyle(i.styleComputed.track),class:normalizeClass(i.classes(i.n("track"),[i.modelValue===i.activeValue,i.n("track--active")],[i.errorMessage,i.n("track--error")]))},null,6),withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(i.classes(i.n("ripple"),[i.modelValue===i.activeValue,i.n("ripple--active")])),style:normalizeStyle(i.styleComputed.ripple)},[createBaseVNode("div",{style:normalizeStyle(i.styleComputed.handle),class:normalizeClass(i.classes(i.n("handle"),i.n("$-elevation--2"),[i.modelValue===i.activeValue,i.n("handle--active")],[i.errorMessage,i.n("handle--error")]))},[i.loading?(openBlock(),createBlock(r,{key:0,radius:i.radius,color:"currentColor"},null,8,["radius"])):createCommentVNode("v-if",!0)],6),createVNode(s,{hovering:i.hovering},null,8,["hovering"])],6)),[[a,{disabled:!i.ripple||i.disabled||i.loading||i.formDisabled}]])],6),createVNode(o,{"error-message":i.errorMessage},null,8,["error-message"])],2)),[[l,i.hover,"desktop"]])}var __sfc__=defineComponent({name:"VarSwitch",components:{VarLoading:Loading$1,VarFormDetails:FormDetails,VarHoverOverlay:HoverOverlay},directives:{Ripple:Ripple$1,Hover:Hover$1},props:props$1,setup(i){var{bindForm:e,form:r}=useForm(),{errorMessage:s,validateWithTrigger:o,validate:a,resetValidation:l}=useValidation(),{hovering:c,handleHovering:u}=useHoverOverlay(),d=()=>a(i.rules,i.modelValue),g=()=>nextTick(()=>o(["onChange"],"onChange",i.rules,i.modelValue)),m=computed(()=>{var{size:x,modelValue:P,color:C,closeColor:T,loadingColor:k,activeValue:I}=i;return{handle:{width:multiplySizeUnit(x),height:multiplySizeUnit(x),backgroundColor:P===I?C:T,color:k},ripple:{left:P===I?multiplySizeUnit(x,.5):"-"+multiplySizeUnit(x,.5),color:P===I?C:T||"#999",width:multiplySizeUnit(x,2),height:multiplySizeUnit(x,2)},track:{height:multiplySizeUnit(x,.72),width:multiplySizeUnit(x,1.9),borderRadius:multiplySizeUnit(x,2/3),filter:P===I||s!=null&&s.value?void 0:"brightness(.6)",backgroundColor:P===I?C:T},switch:{height:multiplySizeUnit(x,1.2),width:multiplySizeUnit(x,2)}}}),y=computed(()=>{var{size:x="5.333vw"}=i;return multiplySizeUnit(x,.4)}),b=x=>{var{onClick:P,onChange:C,disabled:T,loading:k,readonly:I,modelValue:M,activeValue:R,inactiveValue:B,"onUpdate:modelValue":_}=i;if(call(P,x),!(T||k||I||r!=null&&r.disabled.value||r!=null&&r.readonly.value)){var V=M===R?B:R;call(C,V),call(_,V),g()}},A=x=>{i.disabled||r!=null&&r.disabled.value||u(x)},S=()=>{call(i["onUpdate:modelValue"],i.inactiveValue),l()},E={reset:S,validate:d,resetValidation:l};return call(e,E),{n,classes,switchActive:b,hovering:c,hover:A,radius:y,styleComputed:m,errorMessage:s,formDisabled:r==null?void 0:r.disabled,formReadonly:r==null?void 0:r.readonly}}});__sfc__.render=__render__;const Switch=__sfc__;Switch.install=function(i){i.component(Switch.name,Switch)};const Image1=""+new URL("../png/5-d8bfbf51.png",import.meta.url).href,Image2=""+new URL("../png/4-cfa387c7.png",import.meta.url).href,Image3=""+new URL("../png/3-d02c685a.png",import.meta.url).href,Image4=""+new URL("../png/2-5c4c2ef5.png",import.meta.url).href,Image5=""+new URL("../png/1-a0d5037d.png",import.meta.url).href,clx1=""+new URL("../svg/clx5-b3331931.svg",import.meta.url).href,clx2=""+new URL("../svg/clx4-7a8a1657.svg",import.meta.url).href,clx3=""+new URL("../svg/clx3-82262a8a.svg",import.meta.url).href,clx4=""+new URL("../svg/clx2-99f2ced3.svg",import.meta.url).href,clx5=""+new URL("../svg/clx1-3d063166.svg",import.meta.url).href,good="data:image/png;base64,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",bad="data:image/png;base64,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",perfect="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAACiCAMAAABYpGvsAAAC91BMVEUAAAAbKGEBD10CEVsGEFsEEV0EEF0FEF0JFWAEEF36+v8DEF0EEV0EEF0FEFoEEF339/uyt8/8/P3w8fdjapr8/Pz4+fv9/f7KzN3Z2uba3ObEx9r29vnl5e36+vx2fqdQWI6QlbeEiq/09fjm6O9BS4Tz9Pe+wNWnrMb/////xQD/3AD/0gD/ywD/1wCOo/8zPHn/wABDWv7/4QGJn/8ZH06Sp/8bOvpJYP//5wEwOXM4Uf+Fm/9pgP93jf8dJFT/7QRuhf80Tf4+Vf5ziv9QZ/9jev8oMmddc///42EAvKx7kf8tNW5Wbf8hKVuAlf8lLWIhP/sA3MwAwrIA//3/8xEuF242QH//73gA1sf/qACbq/4qR/z9521RJ54VGkYA0b/+dAE3Gniuuv4AtaZSavz/rgAAyrgA7OABrqBHJZQAo5Tl5uw+SYwA5Nb/tgAbOfF0PtBsOMY7RoUfO+IB9Onl6f8LM2EB+/PR2f9LY/tYLKeskQRASudg1c0qO6JIHqQIKlb/iAHy3QE5T8pAHooiK3Zb49z/2zRDUJUOQXAmDmD/3kwSTH5uMvv/60X+nyv/3B1mevv+6iktTZ28xv5T//0dN9gSJ2AvQZP3yAL/lw5WSsAtP7z+zxRkLOM+QqZaStQjMouwizhgKtgfS47Cnwb21ANSI7iQWqVTX+paJ8p0d5F/k/VBUbtPQLEDfoE8RXnuyAJPYNWFiq7/+MpqXlbGydlwgM1jcu5EQcrL0O7/9ItjdsbyuwYBkY+EVn/UqQeQgAaOXF1mQkhKZMALJC7Hrj9kadtthPINkKUUKkCOcULqrwSSlrZLTRR1ep8FaHeXmtgaKRannb3UpS2trscm/vtgX5YBW1k/0McAQT+hbYstNxZ4aAqAjuNOVX2yfWceyMIIHRzYvQZxgt1TZahrQnPWkUi7ZzgubLIiNbD3q1G9l53SmG4ft7W5sHvaax0p4NfUvlVnXw3jsys9jfFHMGTsrhkkksJAQ1DtzSIsHl+At+R+AAAAKXRSTlMACRYPJx5+Z4hD/VBcczE6+cvDR6WbrOJs0/kj2TeON3W6bnKhnWG3h3o89xwAADfySURBVHja7JrNa9NgHMeNVcQoWlrWKrEVnChVt7Ct9HGsC+uLoxJKeA6CLNlhhO7qLZAeR++bk5wK/gf1MnoQdhC86LUUr+JFFNaB/4G/X16axL64Sdp6yOfgYY49aT77fn95nuxCSEjIP8M9SHuZTzEXLjAXQmZFPJnxw8biDBA6mQ3xO5kBkvMRBghzMn3QxzDSXCTMyAxgoK+GE+MioZLpk4J8jCBx92IkrK1p4uaDNfisCa/qfiOhkqmSsnxoAiUORUFzhLB3HqT+gAvlTBJuzrrxAi3y2UIFKVFac0MSTf5BIh4mZoLMR00febKmGjmxbLJZImsymxlFNMGFW5QJwXAx8xaLtK4avFh2eEaphKZGP32FRlyCnyCqoqi6LAotAWQIaKROlSw72sh9LhIqmQAMM89iYS1TVVel7unJabeFSoB1hQhjjCTuRiKRcJQELySdAQxSiRp87+DgoNn80REAy4ikmfMlqvVh/c/DYUQCF2KOEImomto5MYXsNXuCxaZCJVYzcuXDSs2mUlbZfmvdvRhu44MFCofDERKtEUOXT8HH84Pm3t7e6VfBpEBpXaHEBz3U+hm5fPFimJFAYSwhmkINAwOy3d5/uwVGflhGxColtFgqlF02FVJxjLC3LoetFSxMhIviCKE13ehCQNrt/RcrppGWKUSo1DZFySRvs07JYdQprUuXw9YKEsYWIhNBU6GxTtrtNxsbq0uWERHx68gCBYU4rZW4AUZCIYEKmc8AIgo5OWhut4/fbABo5NtXW0ir0+32gG4na1HGWZ9Bbt8EI+EYCbKxrIP3QxQCD1jHtpDVLTTSQhvd3inMFvt5GHXwPF8gdS0UMgEY5kEyg1SJpH+BW95uH7/YQFZMI50e1JhlA4CvdLI8kqVFW8jVm2FpBQiXtpqHrRHdFvIShaARuP9N14YlZOdbizcpKraQa1dv/g8RYYYz1TPpIWufl1QsY8HWieYI2bB5DBtEk63dV0uPHi0sLGzt7Pw8QiM5jxA7IrMSwjDxuXGkOYabuBUuPWLx8y3NPIhmbKLLlpATj5DVlaUtdLGw8OjR0hIoeYRC3h1l+ZxHyPVrV2cmhImnYyzLZsYC35Ccm+cmmBWs/RHc4c4T0v7PYXWRFnEbgkK2N/pGVh8vLj55soA6Xi0BTRDSOMrnfEJm11nxRDJzRtg76YnVFzM/5jISZ35Jge/RHR2FIlGyas4nBH2sriyaOl7Z7O3sfGg08jnAJ+TGLISk5tjMeUgHv391e2asEVz37DnDdJCSKPOS0PVVFvp4DD5Ax+7uLvqAxtr53jjKohDFEXLl+jUYIlMXwqSjmXMyN4n3NziGxxPDA9gzhNPxoS7TNUnOSUK51bOFuD4WLR82ezhCGkc8VhYpzlRIKj0YD3YQ///PTeCQh4uNvoizv6Rw+0rLKrSgynmhLHRhx9HcRiGODygs8LHrAAHBxvqUA/KkFnWF4FSfqhC4ej9RXTfWD/9E1nXdK+U+ViswOR++i1BtRz4j4z+RXicl2eBF4WvPfBMCR4vt5yADwIDYPrYA+BdG+q93jUYLfMgVIrGukKk+Zg360GSxRgHFD6UEvlYVZc014tRHUOPc70PLey+CKI4RaC2nQsb/naJWI1VD5YVWF3QAJ8ewUd9HGXZhYV9t2WBAPjawsYCnsNjMhPj/CllT65TQ0vKzsiSJooCUkUJhvb62phBCl/V+oUBGwEhgPli/jwIt8tg2AFxFlSqGs+zfjMxZ+aiQdV3NY1k5OrCxXB8QENfHHgTke6Px3mwsWtVmJYRJefPBqnVCK1JelnM8kEXyiGQhblZLdE31tFZAGUEfUb+PdVIyDBlXto7FN92MJMYbYaKmj2VSBh9fe6aN7TZy/PyNpQN8WIXl+GiaEwR3IUCNOK9xH16Z8s6Q8fWVXqHKuqqijWE+REkEqhRvjO+XNYCQpBI+H6xRJxWoG1gTySObVHHu01gjDMPiHDwkNV3lO2Y8nls6tvfBBYI+FsCHPyDvICA8BkSBZ6wBIcy/nDWdPx8xnw9SlA3Xh0dI3hKCRoSntKR7jJghcfiH47GB60CMZVpV0YcoWkKQGl3ztBauOkaITA51I9s5wXjY4VixZTx+vOj4GBqQKhH7n+/hPeDWrbiXlGddLg4kYiNIxAFuzH3h4n7S3nwYJfwMro5h+UCgzotuayUHL8BXYZy1UGwU6YHrwHwoShnqCt+xepVUaFH3jy9mmI8ICqkQXZNNH9tg4+X+axABJhDU4ekrxNqDND5jQPCcZezjf/I3MXce02YZxwE88YgRz3jfGjUenAKVgiuwch8CFlwUWxTTdTCNmm0OodYYxWgxJE1hGGW6qCQQiOAcZlmjHYNJHTKts04ljOHk8EjU6eYx/cff9zn6PG0ZUxPjlx2stLzHh99zvW930UU34CxffuVVF10RPR+IHbdfcdHxc8UyM4uuPIuJPDQNeEgQBCJMxYEOdpkdwO4il59/ITa5/AJZ7JebqvJs1i5rFXkoEphUpYW3e9EpEFkGxEHLiRnfw4Oaqs4scECCJQke6NAViCqQFAfGvCfIueddd911F12M5/1Xacm3ZIc9UnQOWSEqaLWOvy+omuto0eny6867+J/vB1p/i8VAHgUUIVLFo4OczUWWukioQGjBvf1uD3GkgwMSSDzj0DwwS0cXMpFCFWLIz2+6+f9PV76lqsVuhYReHoODCwsTE4PMo0oTWWFZdq0FJtD4N2kpMpbYabRqNpvDJAU55REgWEKRXW0syEkayNOpWVncgxUGkpoa47EGJbJ7j4FdC3FaUvAN/t905ZFHl+4xuOB/qDgQCIVmZkKhwG1t4wsT5Sr5APlP0pVp7OiymwrMiCCZuGUBZaKDnHsTQJSI8tBBfqCrso+Ag3mQBTAo8FDB2uJmEvl4ECAZBZY8bOUfJ6Y3+PdBe2WGh+LwF0/OzRwdc7l6R0d7e11jB4OByg0FOsi/2YUTv8Seb3RQc2XOzjaHSXy5wdmccgQgIldcC5ETgMx+QyKb49FawSOsIT0UyCN0/fZbvyEFqZArWU1d9sg0Heeg8Dxrmh7HMk9f8vV6uuysvcoIN1WDi5Oho66d8UhSIk9y4ujYrAZCr0tJ01Oy/C402ZGqND1OKx5r0Z5VZbGYujJysnm4yHgg+CfdHi1BlhdBF6JAcma/ofHs0/fQZUHhoTiUB0BS1+CK+gQDMeUbnQ4kzRKVNEdFl3aIQq3EabMgeXl5aqWHP93OVv9aOhzLRrxexWbJtgsPE3n4c0MHP0wFxhZ3eymL25tM+YQ16Eihkb9QRu2CNcYE+9whDs4Y9RIkz+HIaGnii7OWfHI2A0OSZL8aOtja+UkB27LTmOZwmERhXXztKaeeqvp11YVoIAWz394Pks1rVGsV7XEPA0lFN+I3MZHyPCOPraLCoWUFHirqiotcarKJ55n18WhJYWFhPhahDE03N1UYLcblgterDRU6V1gyMboAB7IYCPaCg2vU8ZS6OUh5Du9lHZmZmc4iWugyyzgy09LoQCyZGS1RHBkOG95m6XRmpmVW0NkuknGmpeXjNcTkTLHHtWTTskyXoaAIESIdm+bGWlcSSAG/Wx1PtsaJGrlalYgOciq+3mFsAUjOxMc/3c9Mnr5HehBBTIXQAaPRQr+OiBWbjMjQw9krjBaHKlNDnsXiyLZa8cXYmLIzbcZ8Gkc7aNHBFI5BRRSB+PYs/BGugQy+FRqjHybiII2wx91313mTE3iFAIWzqLCHwFOST976KKXJQGc8v6JA2qlkixSVFObnQcxmXJFhLWde0sR3R6g3ayVAuAiNvUpsFpMUuVaKxILYLU67tbyAtjq8S5JsXqoD4SB0xBj7fjGRIpJxnOBGU3mALR201mq1W8X5xEd0qpx0ZE48h8fKP1QymGaUiO5xe2iUebRzDyXiSQCIoBAfEkKF7h7PsxhLWrThgqUkw1AVo0EeIFEoedR4FeWYi/TsqZwZJQ8CkQMu2mS2JSxysVi4WQIkLoeuhRjKsUu+oV3fRonog14JEo/p+jBKZHkTQ6Yo0pY8OtVdygMnNIbEUFRRIipAiQgUwYNfsRwiG0K9rPdoFxrtbrfX63W72+vcANGi2ygPCv0MG/O6pActj2EQG1sbCkOkpCT6k+HJmfksAlnV+ckeAqGwsiyxaK2Wuq1QgbAZUFy5zZaTwnbNPPDMm7u/JRDWbK1BtPKAB7szaw3NDr+YMBikh46SIksAf1fZjNlxdEe9pailS+Ngz9DqRH6eEeHBQaQGwzi+R9XizGg8Qh5I+xY+wqIkUN72FcSKaBgy5ny+VB5nsGHOXa4khIU5SkNKkIWWobmjfeQBkP51Zk0k22YplyKXCBEd5Po4cYHLVmBgIgUTA88MffETQKQILO4RHgKE3XYyjPY78nzSL8GBDyTHYjR0raABofBQIlJDU8HDMSTyLyTWwyRB/AEX6oM3WNSRJyUxDwlCp6WAJcZC18DFrDSIxNltlhzNA2Mm/iE14CFMYBHp8VLgIHlIEIyBsWUmUmSxABw5D91IFMjVfO04rspoqagiEbymwDf8LbVZqakQEREVAg+ApLIVrQkDRGASc2KVTgFGF+xKBaJxaa+IrbMoFvH3Mu3VYOVR0gAIPNq3wEMViABRkRp6zEIk02jrIg8zTSpgoSA0DD0lMbklNJaezj0kiCwRjH+tcspOY1+I6MPeUyCCWPONK4q4COV7qhCAqNnI5s0oEgESz0H2GGRSYiOrJKWq0GnOQFSDhphMKXp0E6WiUygO5aFAFoMfgoN3Ie4kvT5iQZTBxIT6PJwKCw1QzdaUHDDEpMPnWxKjgqWkomT4xZnRhAgQJiJrxKFAzpbrvmpieMrZ117Ba6TFYbGsKAIHQDY/fU98qiLBzAMzeWaCxxnI8CBikgtIO/z+HQuzS53ncEuGX6ZZ/+KGysrcyjvuaPMvDBqWMDHoSZF/SA/D7IJ/kV5p0gtk0oW54JYkKhEvykN5SJDsCIqJPeNtt+dOTk7mFreN+yYiO+4KW14FRp10JnWIPUOb7srNzX3qqcrc2zYNDQ/4SnQPiOA3unPyUCDrfR0dExQyiQI5ByIaCNqss8+BCJ8EpWEKZAbIp3RndXxYBB4qBMP++d7rzxYjC9BYvH1yLjQTnAkFittmYznUp7Ntd8zNTe0bGXlw9YMjW/dNVz60I6a+dhQvmdkM/tW3AnOhYDA0uWFBgfiDO1EarDZiOGJB9myopO9xcIwWvMZorWsm9yFfxLA2NsObaIVsemrf1pGRtavXjoxsnZoOVN4yNMAs9DwTCG5L0EBWvX9rZeUdyDgrER3kdCmigZxy9unXXCqfYHXYaOZJ7yT8lFbjU5MkyRoAfIspipaf3vtjuwv5yLTQFpg56trWh2ybHwv+sQON2BLtmMFfHJgaqW9uvlOmuXHtvucXqUz07si/t6fHFZtPWEv3UCjY29ramtXa2nt0cdAkpyCueD4b3MI9QIFLnhpIh1lkYrEyFByb39ZHz/F60ymt22inx9GycItoE9/QU4HprTWN2HGZ5uaNtWu3Tj31+pCjQpE4XgqM9SXQtpVIq0vkbTRaESDR17wFyBnXXKFWbjAQLzd9gtX4RKzBQ2QzPIa++Fo3+Wnv9u09Ccin/snQ2DwdnMy20eCiibc28oNn9q3AVFnjnVFprt1612xE++R/v93tTUiWkd/6M3i0hVytdJgez6qVWa2uLwTIwsxOgNAyiZd3HmjDKVIkWQPZUzwX7N2WTPG2s5d4OunUtc4fvcvHMURUDz5cGZhqwH7HprF2ZGpAahQ6HK/PjfHdDYOoHOa9iA5CJYI1La0TIZBzTj/jWlkj6EucxhR7yjebn36EXxZJxZ287LaGV/7Yvn3v3m+RvcQhQd6fOzqfEJlk1/ZBQ0z8genV6lA+52GfV++DII8E8bILyFEghrbQKGa/d79Ll5rpfM9/LLr0o9SbY2bensg9+NkACE+yBMluo+WuZM7Bp/FInYdOWO/24WgKxLeJOO48fpp/RWUUIgPPhlxybwGiiQDEDBEdRNwWokBkiZx5zY1xYZEOo73F+gO9R0e8A2HN/fw+rGfGx3p6ICGyt7ePF0Svqg5VJdsXojgG3wqMbFQcL4QDlOay73jrI0Dcbu6hegKAGAyLM70rKXXvUu5eRZfT5mdNyJeuJAq9SuNQFYJiEyC+4tBYXzIL/ATIu/Th6ezs7FnsCGsgIBmonC5rluceH5EalF8LRZ5Bdy6TzkVAQij0x8rDZnMsyDnRnchJKBGIXCxBCgBC497NdBwAwTXbXeTh2+FK7N452ksqSM8oHfnxM78XZxgTN/F7Q2DkTs1DD8qkFiIiDIRE1ERCgAxOjqXjEO+GB4HQCT/MZul/jCaxSA9UB3FJDwmS7bsr5ErkHm5wSBF8QxLxcBFOweMrni6TJ19F6CAAkR7B0QQVCQIRhIFQCiNBzo4ZZ3GR0665VFzZTDGmNdk/obcRxicABB06PIarCEQlmUXffqenFLXvFmeh7w2TlsEN07V3qoAhiqRaiCgQvh3ZPacnfGbaEGzls192AlfigvOfn6ILCcZrg6t0nAF8DdFAqHPOnZnHd0S8woORvItvWNfp8RxZ7FAalIHi6UYdYyNPs5aNAuTJwNE+sTEdRL3JhkAg4lQg4mbPk/U2S4mcdgHvSez0BgN7Cl1AXEMgj8Bj9xB5lBtiQGiM4pUcXtJAYJLORd6uCntUPRSovlMvkFiR5sZjVTwm0WRJEbRAOL0H2kLzWK6jEH7nSn5b5WGqPv9B6YECyaInhBurLVuSkUSAdBQHR/EMHnd7e7ub2OkwPEQCYg9EIubgdzCPsEWjyEYtHMT50txBL/OQIumiwSILNJ8EsoeKNBZEdiKqRKTIWddcxlY5LQBBm5WYdA8b8MIjx0AgOOikMIi7tI7OPiehQ1Ip5Y+9P1sl4w+sBYQSgQGlmX5zETriar94NoF4NRBqgVhvsDswRse4ioUdqqeTQI4QyKILHqpAVonuPPmXQwf6D3zTLUCGQuShRBBOmOAtZa0gRA77tbXCTdM18FAaD4s0avmVLl8NvD7nkh4IQNg+rgIIzw/rMNmJAlG9ut5ohWvkXDyNbg/tyviEz/5EfWDZCiCILJF2URCdtG3dA4+x05F+WN6UNDH5oM6B41NpZiSf02Nf0c0huM3Qv1+0WAoExeAKbovwoA15qAQI5KFR5ZHAQLjHofXrkP5fEgEyHOjVmlteQIl4If7hgYiHiagJ+HCgVnBIi2qWh/HBQ4+Pv+Z84qmZ970MxOsWIulsX+U7bBCAUJYBgYcuciafkDhtLS1W0/dPax4+gwBRJN46efZpW/hcj4c3Wh+J2zjbpjY26yAbcXQ8qH8mspEe/JGv3IzvJ49IkHTynYcHDw7Tg20nJPcRyJfziaJ0k9FiSZBv1hMIMzmURCCVB4UaE2EdE3kkxXd3o0jQL3Uykbelx8BTI/AAh8BAamurRTgKgVB3jqKGR12dEEnHfkgNCZK9PIjqRk4VIqwXyTFmtNgNKT+QBsZXqA+TBFEk7dQbcge6E1jHQEoTEnBKjpSzLEzWUDcY4YHD+urY+PixWqBsBEgjPfor1hYAsgUeok+QIOmqwcJx1mE7BGIikJ3gkHwSpK9/PWUdyzf964ZnRlXHDw/+zsnfDxw4cGgnbcYjQY7IEnlpeiM8wFEtNfChmaBaxh+YDP7p7oRHspsGCbTrYRBo6CDZJwRBkSiRG/G8LltFE/5j64927941xDxoqh0DUso0BIgntkIYySy7ZN22j8qgWZDQ343V9Q0NDT++jAx9RcfU2EwgOOyv2Lr4+KisD1Uh6XCRHlmUTrad5OTuBYNp+zbt2SslyC/gwC9uUjymyptAxDvDqIoo/TtJyFNKIMhHfIFqYLLhTpQHOEQAodHwvDF30N3Z6WUgmGyyyRD2QwehHQIIZTkQJSLGWjehE2nCf+ZgJQHfMwj+x4YwSHxYxE0gokJwejoxjPeUigKRQ87DOZSJydWNEJHZ+HBtQ01NzdDLLOP1JEIdCcqmuh6r4QSiPFQfwjxUJ8m2TT3N7+sHB5cGwbnWMrMziUUru+Sk/VRFyIEkeqgTh0AH0u6rQDZtZZ3dz1TO2umXvUfYpPbjL3ZQ3n77sJhtuvkWBEjioQMi/et8RQSSeSIQtFpShK/8VhmtLXZM5iaGh4d9JnETM4HEI+KovLJESrOQdB6glGLkxXME/9Xs+HQ1miUKOFiB1NSUffAyz5vHGAhvx+p/LaCMjyZGgcBADeihw2qyjkC6t99+e3CbGv1pFfJHrsr6B46qHyaA8AI5JLlGE2k7ACEV90fwcLxYTx4vPPfccz/zJipygAWSWgYy/hrdOEc3Er2xTQdBX4bh95b+dTIEUnQCkJj5COtEmlbQm18yolZsUSHg4CKJEOGtU5aKqE2VZNwDs2EERyMH73TmqxtqylZ/Bw1kEx1WI0DIo/4rs1mCJKluGgzSgkdsG01bLy2idys/BZLsGlPpv5X9OGkgKJDU9TK7u2k7nSzezsNYKRyeoubqOZZqhH6mGmXYsAuVI0CQ1x6gQVxdeD1NgCRoIOvZla0TgcBDidzE54YWm9WeAQbNQ1WIOCpMRGgqEI4gSdDzPQ0rihuw32pGxUDWDlFx8F9rCYQ51dfXN+BSEUCgoSaGsFAaos/CGEs6cD6Ej7LUHB2P0f7uovVgJcK6EOrSfw+DfD2KVzIPr/cIVgs3jSgQlAfbdb1EgKFAXlsfBsEWokCoJ6MMlBBI2glB9Bq5lt+GkmKLFQEIjwTBWD4ssLTIEbr8MFVfSxFHIkE+GKK8PPTym2++uVUH+ZWBJPEokcjiEx5uOtu/4ynyuQokXXoABGPbXUG187xCAKK6mXt7JAhEKmju/VgNnfSf4fEzrw8xOqyVbRc8OEg+PHQQbEKBrBcfBFLyN0HUshZb9sVNFzaTVVyPYxwSRB0UPBAa6Ox//0/8S4joIH/SAutUPQIRmAiQ1ftyb81Fbr11ig5RgVC3J0AS9TEq39R+tsDsrQMH8/imZyf3QGJAlEf8G2Nq5/EsPujdGe5m7jvIXgkOkl+gpfSncM5ra38GBzyw4/U0GmmoV+NeCfIETBUIhdpOCcIGewhASk4MoouoS+xWi21FHk9+eWSFJOkgdMi/UFH278e/uYgO0pedvWdffQMFgymKAKkp2zolM0IgdLgPM5BjCgQkUoRn/72Hutm6IHmUYi6///H3eqUHooHoBUI7vas3PqpEABI/dlDGlZyuQN6mtdspnGz2o4QGlzoQDEbKyqi4v2M59mO9qJCX4SFBSgGCbaSvlCCIAKEsCxIrck5YxCk8bMbCjAzyWLJCkqns17H8wo4yukT6dmQPb22ooTSIkUojDgwiCH7eWCOANrm2nuTWFmkgokRkunfde++uXyDi8bhxrnsef/y3Xo2DNaRZWM9LjyqQ+L2j0TuP9xdHDYQJZBU8Eg44M1/ZV1srPcT+NWCnP9j0KuVNZOi7Y7UM5DUWBoJb9OKjQF6TcVT8bRBENFrygm7cuTzvPJrWZc/QQZJY2QuPeDGK6O9O4n2lfJMiB/Fnj4/UsHPPjoyVCUAoCoS+gkkIKmT1nqIiAsFmYkR67kV27+9OxIneuX/X4wJEBcMscakQr1AgPR+mUiJAIKJW+OFBYW/qaz00kPnkVtodVLYEqRYeAOEmyHc/Ekg+yyu0K7hHr51vIyEM4swsZKlgyf/7FQIRORlReedRJ61tRfQhMSBIL3YiS54MCdLfMT5SVrZ6dVkZnXnZ6tKB1iDwqIcIwo9/9TBA+EaiRBL/ou1ef9oq4ziAR1/qH6D/gaY6A/XSajcvrUzE4SRE0UjQTBrTLipqkyXooRihIoKJhgRKKGsLbBN04DAzNHGgmKkMNWhmFK+gCUZeaLzfXvj9Ppf+Tnuqk4jfVtjiWJ9zPuf3PKfPeU630aKzsLi2trYAjkogtg2XCIhPg4iIWQThvrhnOG699VKCjDnB5Py9KndoEBZIHTKQTouILpOjbhCkB69hQa4lSBARkTOCiIgseigD4Rt3gmCDSisEHkWQxWoFIntDgXw4B5BWpO5eVQqsce78e00gQgmlwdRNGxBbIpITLS1xQ6IsXCA+EREQd4FUE4Tp6REQE2ooDlsgACkARHe035u65gCCTKQhUlYlBQ8I236JHswMiBTJGUEk5oquiHhAjIgbpNqCHH+7IsjkrAZZX2cp2CgF1Ame+mFTl63dfZQgXpExcIDEmmiVlo2FhYVfpaLYBoRNOL3gyrIGGcVCIdt4ZYEIB6J6rMfHsv4kChsg3/Okl9EjSONSmiK2SqY1iYD0AeQZ3RoMZgS5eIEgRZPoVkBk0YP0WgKyEyA+JVIZ5PVXFQhHVDdIblKB1HV0EERCEWMgwTlMXIHoF5KhGtkxFo+TQ0SUyUjukUeWh1m2FuRSA4IhX7Lxqi4QHMCm8fTQHEUQtN2APBnJzLM563xbiMJGezXI/omJtBQJU5WddkIRPAjSA5BRc4OjuTCz9pBfcbR31ahsAYTrgjDvqxY9nFcOsnNnhQq5xIBgseTcuwqEjeBoaUGmc3MzBFnv6FgvBfl2yZv5paX4ZC1AqosgkmWAjLw1QgxBGXkh19LyunkXLiAXlYPsO0QP3qvAN9JsnPJ4/A1vxrCMI+50LdUh36upLIYgFFk5MJEe6FLJZtNX3XzyZBogjAVBF8kABEfnlRcdm/b76ZFK6W4rtBUQWfRwQWWQkgq51IC8yaUas1jMqdrARqDz1iA/TY9MKpDVjo4OnLHoh8rSQEnSJvFZgvj6+kZ9pSTDi/H4I5gNzj3iAsndtNeCYD+Ug7QISLcCUfcqjFoQ1seiW61FJc44zjwBVktAWtmLzXz8WCrPpIZOfvnxxzN137BCANJ1aIdvlEOIOXXg0cl9sexgZqVr6NO1YHCLIGehRLTIuedeeE4lEBEhCD/6jyBcqPFs02fVO3jKyS5LQN4AyBJPsgDyhB7A4aGeMa8GPdIE4Yb1lYH4ADKi7v0eKXq8ictZI1IhPguCFqizZCGJjykQNei6QK59QzRcHN3xgjNDED2V5a4QvFXCul4VLFGO3XvH3d9kdYU4j+KY6MGBZE7mLjED6le/p5JDpz499APqZCsgslILw4gHZKcXRF8DrT7dApC59Ptv+wzIlXCyIJ9Mj0S/qavDEIKsNtKDJEplxuVhSfI3pwu1Rw/5iqUvHgBpwbINvXR9BMnNXc3rXwaE8YAoNT3cfGYqBLnYBfL4cVpoDfH4s7sQmTAVwhKRCqGIOleXdBXCGuQ1thgcjBpEjMixRzERcPgigCBbA5FOywuy1wui+qwTP566Zc+X7z/qs0MIQRCCDC8ICFKHTZG09sNiYmCCSXOobEpX3XUyfbQeIH1mcJQQZNrcj29uEdMpqxDdLgHRJPgzbDvPgjAJpkG0yFf3lWCQY99dp5oKkYwFcZcIOy0EJhqD54ohk/ByCYgPh4Z7wR5BmC2CWJEzgJgN15/ne+i1z1475LMFgm7TztJiCAHIbGsduyxkvVXeeiD7eye0R1o/86lTJ2fyRZCeUo/qxfiI/YgEiGgTPOZyOVshBoQenFhpGclJpt9m2/X9bqMXC8i1r/0iGsrjtpOfLr9YCDkxgKzTQ0rEhCQqjYyA+JhRK6LOwEVkSyBekTKQK3buJYiKG8ROCDG8tKdqVGYk1qamC9F6nveu6hJpxZaIyfwBkOg0TeT34AaMWKMGubEiyCxAaKIj9z4dNxWi26U5CDJpbt6I1mP2dsyHoCvkfCwaJ29DHr25O+7iuAuLx994MRsKLRkQlghBVKelE2vVpaJBnLAW+WKYHjc+Y0HM5J4V+cHvECS8BRB7ZQTDyBlB+GqM3no1yMMDoZGe5sPytKkjufr6b1Ai6wpkNdbK7VAi3MTYR4/19tMj33sApywzfGNYBOnzgGCea7eYSAgiIprDgNQzNczzbDjfSnMdAlorIofevWaf6az+PPnlp4cOX/rGfZlQSHW1q7pEUB+KI2biBhlIOhoky2bwrWe5CF8JIIXClkFkGDm/DAQLrF4hCOMGMR+wxXIwBaI8NMhPD01N5WpqZpc4iKjUxTQJ5+x4zOEk8pQKOeo4CdzeXuMBqdYgLZMA0Sa76+sFZRdBpM9idmgQy8GMqD+k7kHg3L37vfqxRz89dQ1yCrdVPXoMW/QdD/pMDLXQqEtknd0V60M8LAhmUwyI8zZayfPDEhHuIgYXD7YIIiJ4e/ivQBjrb442XR9mv3wyrkAmv6lrja3qEuEWYWswSXQ/JxmR1hkmdi90kG9ragREY1TjiRCkeH8+bssMA0bnWYIIiTkeCCIewaCzPIyMokCYnsOHH2fYbOYrXoB/9Cv8/lKCqP07AwD2tRRZhQhJbIyHgDBjaO4O1XKzm9AOxf6fQc4+A4jFZ2xNSgdm511Pj4+PT01iIfLRpdbYtx063+pDrBEXrLSI7r/MiNn4W/tkpQqhCUEQfRk0Mxiovem6chCZZbQgUc2B+DdepYi9DaGPHDbKhL8wIC+FHQzS/fOtOHjgQZIOXSSWwwXSn7cgz5/w8bzB1IjMaOicjm8NRPLvQQy/veItHGzJ8HMHIdIOkMIADFaLIvv374/FMPsrk4zsoDXIz0ezpSDFEzsLwkQCyUzg2Tv36vsGBASxJAqEHPRQ6Vw+xqDT0ul53JtL9SKB2cwm9m9+hcP3uuIwRSJprACChnO6zIjIVP8l/xUEIh6QmxRIT1+PFCMB8MWtQQ67R9YOHjw4nmtHG5zsUmw/RCzJfkWi+2F+kSnGWDqVDWYEREkQhSCqCxKQ6+65zHRg7grBFwGxHIy/EB9TIqbTkiKRcGM4v5BPJTmI9M7EYhRhkdBkXTj4MBEQZ9FnTq05H6BLhCKIgIS2E4QvBntN71p6LxySnw4+DZFJNdGZHZgHQYeIMBwaJfo3KykB8Z5lEYSpDWmQnbsVjwYREwQt0SBByxH0O/GNrwjyhxW5vcfjoXL4eAog4XBXf+88RVapYQcS9WysXCFhvtnhsM709T1jO08BwdzJtoLsIL0F0dEulkNy4rmnCeIPMkezAxD4tkyEGyuhyEzKBdLjKw1AaoxIKUi9gMh0C6brOx14WBCkM7746jBERvtsiRxmIHFYOOCxjFZshpGJ3n4jgiLBAyCQkCIREJPCYrWIEKVnVNZpEKRmm0FGNUi1gEi0hz1Gf4IHcjCo4mSTE6wR22ut0sOgMJomtpKyIH1ekGGCMFEBqVU8UYCICB4qBBEOxonHN94eZnr6jIfEVDrvV00hmbAqkf5+1Ws1ouEc142FFySsK8RpGTNTZn2WREoEILxmGNlOkB6+hD2BoAEfRoMp7pATxsNvdkhmIO0SWY3RQqJF9venmIwFeabEY4cFIYkC2XXPXg+I+9KhBfHbRDq7u43I6CiWw5VwWJCv6EEQZoIiqpLr1tdxmmUi571SIWE+w52PfK1EsKN0ejQIApDc1q6pSyqB7BUQI+KOVAeDpUHQYPwmThaTVjPc998iRPCQzPemUjdgV3QRRK68CchxgAS1SNiCROujZSAyrBsQf9Bw+COFboiMudS8N7CO/XLbbbexFWFdIsy8KWGJEREQWyJHjjxyutoUiT7bklGEIFwGtB0VIiBIBRCpDubXT54Wj6B6+rs4i4ij7W+zcmBoaCiFOP7MIX3lbbgkAHGCNXgIyE31iqfdM6hbEGpIIigRZPFV23w7xSPlsUwOJO+EVQaUyApJxCSGuEFSADEkzpEjR9Z+VSS+0VF+Fo4FGR7biOf4Hmp7QO4sBaGIza8nfJrD/n7tQesx6doZAxDBps3MV9KYX+k9AJDU0C2pvJ8gO1DsZSDHCMJgpK4EInGB0MPWB+LEKfLL4qtos6c+Dh9bVuVBkaT2CCXQZk3CInbHgtTFegECDlsiU1PPfX2iWkWWrh47vYGXznHeJ7idIH0VQDY2lk8Xd8gDX5PDJuKXdCmQ3t5ejwk+FOgAOBB4pLoIMoyPWlII7hzvJggiICyYfwTxS4lokW6VfcexklE4eNZ+bOw4OIxHPhE2cZRIr2632wMgwJif6T8wRBAbByDj48+tnX6gCOL79fTiBmYuAaLuMdyWMYT/fo+AqBRB4sjGwiKy8NzU+MGDRQ/RsCLcMuz83pWVlRmVFZYGOQDCpDJ+JnPbvgrpLq+Qq81pbfvk+BSC7kJdiY0j+NbZ6ZBDPJgCNPhAXl8es1kmhg1EBsPFJIwIg4az3dL0xx5DmwkSLo4iBYJgL4w/+NwnDBb0sUUa5HqkfRsqxAvCWJBuBC/Y2Yly1SDiUVIjANEiDDbmgH5QwxTIED0Igt3yNyA0wBjy+VzgWYLo+LEPtEinhCAlo7pKRongaeOSsBWSCYdEpGvCgphmu2NBiomENQiD77ZN8CDI1Uj0fwJhLAjjAQGG4pCYTRMSPhGomPro8gsIs8+wCIg9y7rnBQHxE8QtEseDIaCOu0b2lXDwURo9oEucgTOICEgED2cKHl4QirzJG/e3C4SXcO1pr4hUK5B9BKGICyRCDSti9oozMFEiYl2GdIXkHb+AkANP/dDfuvE+xAPiVxmXrXfFAJaROHExLtV4ihWSZN/DEpFkJnSr2W4PB0HEA3EAomOapD0Ishfxb9MYIiDCgSdAeMQhpSDqrEbvhObmUNDEiDBlJEiSHhZEIjDdk/UmoSIIrP2IbL1bpAgYYhNEpPMfCgTdlY2IJIyIt0Quf4wgwoH4nb/psqY/x16sbWh7bzsqhOuyvBVCkdfZAdg+y4BEGF0goYa2QCBUnHS19W9UZEhPsrsSkErpLk6/K5BdCkSja5DyEgGgmuvy8+PZg26SrIBIecA96eD/Yuc2NzfDwZDwF4ObCsRTIdJlRXTYH4DEgkiFTL+5Ex7RhkTyg+0CkbksVwCCQ84N4kRM/PQItCXziUDN9bU1Ou2TR2kiKtzMPKrDfYqaeaoyiLp+i/n2ZoK047RXQKREhMRcYawNBxJtgVB9vXsaJRPvLiuQfViMZcSaAyR010iIHZcMIiKSym+aArEc7Cejk2iPgLQ8MvK5+tSw9kBbumobQXYUQSSv38ZDzikUjhQKBcdxRAMJN7Rt3nBLvq0hev3uehWazKpTYJN8sqtrMmhiTJxCaUZUZs3HJu4OBwZffq+tYddltUG7f52S5Bws/JnNze1SCQba8sm2QHQXRCTtTmE6a0f37my24LSbsSYSDrThimRDKKhEJIlMJg8URlVGPpnpcmT4oIbiUIU5NzeZY0Zyb76JT8NldqK/SjYBZBvGEK5+N9dDvCA2pmyFpBn1cQM+ITXVFohct6sWsSqSIJ6Vg4uNeuNYGPrz8Rj8owuDVS+/g7p7dm+9Gaz9ErtLWEzXcZFQMJDI46BIBJpra81L1dhEo/xPGsW2RBoCbZtVTRkUlT9SQhIy3zwBYaA5wtc2LdYNxspKfmaY/UDQnTXor5qa/nuFCEj1MzKECAgp+JDvioOtHMzfQJCbUzjgIrr/EBYk6pYRGLnjqLa4cdw65jrURxNA9qQSgdqiiJxjKw/8FDX4j1L44cFGpAZxVETVblcCtZUClghanW6qqqpKD3Ivh4TD/OflCKGkuIFag69tOehBDN41i5a0pZuQ7QTxjfrKPHxSIbSQhBvQyvweDXLzLZttgWZ/7S6LIiwiE8RYGiGG7DRoyMapzbspRA+C3ACR3VfXaxD9NAWiykP/0E31KFLdhhvQhIaQVWbZeVPLooYHQa7Kb7aBpFljhOwXfC03YUdA73CQlSnVYcuD9zDvwt+cyDy8bSD4KwkiEZCnBIPfGOzZADdszx4LcvM1Q8k2VdceDHMfS5g/go1CmsPSN8h4ZKex6HEVQW5A3bX7m8ujftD+UIT1YduQ2kwEYOKPsgVejWgkzFZnH35Yg1x1VdMmdjP/MfawN9qpubkhgB9iDeb5Z0ORaO3uZ9VBxKJm8A9Vt/sbAuC47+EtgUj+BmTsxNsVAhCbEMtCpw0cVVe5Qa65fGhzE3u8oXL4Exkck2dMpqnKgrAbOlMS+T1FEBZqJvFPTUh0ZZ+8z4IwVenMIBr992GLMqYjyG8mKm5goI0b9+R9+Jsf3sYKeeG9T16vkD8JYoPiTTCZZBIbVAaC4GL1YHkSKoP4iT3Y/qQkL0mqZPnlYRcIZuuTZ0h+jwsEqxNvzufLXl2SyfzF3vmzOBGEYdy/p67/cnAot40EDJLKIAgSrGzShHhWaQQL2w0I9wGsD2sRwcIPYLMY2MIvYBVShCNler+E7zPzjs9sdpPd0Y0i3LMx8XTmnXfnl+edzShZwTFRIH0LpN8bv33LVr407Y96mhhB8imeHBp9nhg1CURWkU/eZtw7ygcil3U4G6gEyCvVYyvMz+hINBANRWYKXG/paXpJo6OBsBqPj0UaXoGgn3ZBX/Z3f4Ko5JHTyAijI7oElwk7IRAGrFCfQOx3heTPzgWHYJGmgDy0QEiDMotqAUhfgdhUkSuBkAimhEBAhKdJIEpEgYzpkCMDhPgRoBIIpURk7J5EN0BO8g5Rl1Bjd7hBtgDRzEkEQJpaQ0DEAXmHwweiKjikvxHIq4JFSoGMcH60iOWB+AQinciDEQhkQJN680UknkVUBEIcJMLDLwQ8yyqLLGPl8SDYIUUgjkdO+gkXKgOSrvTtCSAVFvFr1tBZhESseuMiEJ0VE2KbQR57KhCBRQikaJGxPvRlq0N4dshwTCJzx6N984+AgMgn+iMHhDvcACLygfRPsxUXkaJFlIgCgdZqlshYH1Mmh+eQAdcQM5SIFpGZokFWqc4WwhWQHDkD0iHHY5O+I6JI6BCvaBUcstUizh/R/t5N+83WFy6GAnn5nkC4glDyGU53c+Vy2zqEZk4X3W68Qq7BFiEQWkSBzFrJkkD6ysMR0dEJZBVnKScrh6S8rkxOZ6kNkC9bYxLBg9w3lCxnkZ6zyPKb+kN4EEjQGpK9ffPy6WtTs+SW8d99fbXC5zyD5JHsMk2OczVrlSFGsiIQekSTLgVCizhuxiKqWSQx5+hTBgQ/+xVrsIzxpnCT9UoPlS69AzdpALLMulG2RP/CpZbSoEMI5IhAChbR4PPE1aurMAjvjhDgkKz3483Lh/YL/8xNn8w9/PXOmLhHELZDDJInwuOjrLvk0ZsLDyj+coRct1qEy3o/bxGIFpHHtGUoL+kId/ngFS0aZBXbFEaOB6RQSMSzyDSWs4/iZY9FlKsIVxA8uXHS5WArELuKLGPnj6t7e/4SEgSk31ciAGKIQPauvhYKmAgR2azBx1zWrNUscVFai1Vti/Q2WMQAUX8oER8IF3mIBlllLoUUkTCwQuG0YdacRZazlnY4XSIKkTgoqUHiO2SVJdN+ORDA1vfSPPvFAwb5bSDD4ds3L57bqmWQWCikYpAIjw8nEw/Ichp3PbWy1YhAoKJFVilrlkiB0CI9nJbjYarWsATI0PGAUK+cEnlXcHi+KWgRmbRZ4uc8X61faLnDCfXSeDCepkqkuEJJTpN55kC3hYdWLLm3JCpWhQpAhuIR+bcB6tmaXsomm/jDAYH5Z7GO783HVKY3T4RAhsMvi/g07aVWx3iySEZubeynxxKXYcUjPdfeMFE8+ifghLmiomQxH5EJczAW6Y+Pl6dJPutWvJgjeG9digRjzRax4psOj0ZlQCTzBXDo9RV5WIOEO2Q4kK3aCgkPaD6FTpOkW6Yknn1Z19xommEqoqRSUW6+qtvnE8AI0y8FmQxMChTHiBfTTZrlR0iSrOTkpn6jluPhCtbvABlwf25906FvPlGdqCYnWQR1NyvaoO5fUxSeQlS/z9ZGrFd5g4QDMTTKdmoECZbCE6ese6aNYr0iDyzpoWtI9U7NZHIGpI7uFvxBg4StIeUbA3YbaCuQZP+g02nH3f9I0aEojnYQd79TwSMUSPEim/tyZUCi1v7BVeigHbdadXJu7UT77Xb7EAnUyeCw3ZGMO+xQpRZUGVbj+jywgIQDidN1h7wq1qxyILEYlDrYrxY67Eyd/Ro6COsAddC2XevE9swOFnkQR+VXOdyJHNsszTmESPxl3RGZeU4/7GgSVP3Z22vyETA6m7NLQ9oDDvK4UJ8HgNy703U6Tbnd73i8KreI/6ktPmAWVnu1hab/Ujdt0g0HFaFchdUrfgv8/a5TtiIQJVK23S88/HplKyaSUN28oly2HM3rCn7hweErx5dUIfymOmXttTW4EYLCHmH+IJBrh17VIhDF4e/KSc0yFllEPg91B7JQKZetxw6EcXXsigR0fM0Yndihspv+VN7ERYU9QnnwPgmHXtXiIgIkchRr1jTK1yuLQ5JQ3bhuzxOHnmz+WY/dSEd3o+hT4VWbupShTU2ZsXli+LITEyGosYfyqEOE37t4Cd9wTSJZyn8zLr/wPZ521/2hOK790nXqRtkzda3JwwpB/QQKrxycul6vS6FZ7sQY9rbBse3zR8V9EkgkqZS/C3ugPIADWUC3oWt1dNsetxv4BSGYvq6NT1i54XNi0/XXCl3XZ4bFPAAHeQTWLBIJE3kAhyShIpfNurVz1RmeCVf2gKrbuaiXrT2EB4iEWwS3xw3n0eEGs8Fx2enSv9BlN379HlSjiYjgDsMjSP638od4hOu5/S8V13UFoy7X0gV7NCSNqE/V8oeu2aVuWOIIBhJOhPXK84eWTNWFi0EzebGZx0Wq7sCePDalT9TmhgwLGuAhj2CLeESiAB4t9Yfy0BXM6WINnUf7JnXRHfhtjfF9IZ0GxLAeivCi5YgchEjswXqlK5jG/Fc6p0eAdpKxNUYDRLCJUG+jTWgUeahDGXrjY4cKzgA/8Pc1++zwzM77RIAETGpIN9CukUeBxib9JSrnQ//2fADf0FHDL7VIpJ6AI++PMzUilFwSESTCpJYUh/I4A0I1WLWABEyqdd1toJ35YxcCEVz9ikmwz1YpxYFydcYDapyHEgGSOjuDum3DDc0zIj/bsYMbgEEYCIIxBaT/ciNreQeQMHx26ICTsbjN+CHS6bwTMgzicD5KBIlkIbRQoTXXeRESiV7pTPdyOR6+V1XYJKnlGaC2cTxqBXpJ9ncIw/E4gFseesziHG9a0iUfUDFv69BsHioAAAAASUVORK5CYII=",great="data:image/png;base64,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",scoreIcon={good,bad,perfect,great},leveByScoreMeasureIcons=[{icon:scoreIcon.bad,text:"bad",color:"#EE4C6A"},{icon:scoreIcon.good,text:"good",color:"#FF958B"},{icon:scoreIcon.great,text:"great",color:"#FF8E5A"},{icon:scoreIcon.perfect,text:"perfect",color:"#516AFF"}],icons$4=[{img:Image1,tips:"你的演奏不太好,再练一练吧~",mome:"敢于尝试",clxImg:clx1,clxtip:"你的演奏不太好,音准和完整性还需加强,再练一练吧~",clxmome:"敢于尝试"},{img:Image2,tips:"你的演奏还不熟练,加紧训练才能有好成绩哦~",mome:"还要加油哦~",clxImg:clx2,clxtip:"你的演奏还不熟练,音准和完整性还需加强,加紧训练才能有好成绩哦~",clxmome:"还要加油哦~"},{img:Image3,tips:"你的演奏还不流畅,科学的练习才能更完美哦~",mome:"突破自我",clxImg:clx3,clxtip:"你的演奏还不流畅,音准和节奏还需加强,科学的练习才能更完美哦~",clxmome:"突破自我"},{img:Image4,tips:"你的演奏还不错,继续加油吧,离完美就差一步啦~",mome:"崭露头角",clxImg:clx4,clxtip:"你的演奏还不错,继续加油吧,加强音准,离完美就差一步啦~",clxmome:"崭露头角"},{img:Image5,tips:"你的演奏完美无缺,继续努力吧~",mome:"你很棒",clxImg:clx5,clxtip:"你的演奏非常不错,音准的把握和节奏稍有瑕疵,完整性把握的很好~",clxmome:"你很棒"}],getLeveByScore=i=>{if(!i&&typeof i!="number")return{};let e=0;return i>20&&i<=40?e=1:i>40&&i<=60?e=2:i>60&&i<=80?e=3:i>80&&(e=4),{...icons$4[e],leve:e}},getLeveByScoreMeasure=i=>{if(!i&&typeof i!="number")return{};let e=0;return i>=40&&i<70?e=1:i>=70&&i<90?e=2:i>=90&&(e=3),e},dots="_dots_1fmhy_1",dot$2="_dot_1fmhy_1",hide="_hide_1fmhy_22",styles$u={dots,dot:dot$2,hide},tickData=reactive({len:0,reduceLen:0,tickEnd:!1,beatLengthInMilliseconds:0,index:0,show:!1}),isUseSystemBeat=computed(()=>state$1.playType==="play"&&!state$1.isOpenMetronome||state$1.playType==="sing"&&!state$1.isSingOpenMetronome),useLen=computed(()=>isUseSystemBeat.value?tickData.reduceLen:tickData.len);let _time;function closeTick(){tickData.show&&(_time&&clearTimeout(_time),tickData.tickEnd=!0,tickData.show=!1)}const handlePlay=(i,e)=>new Promise(r=>{_time=setTimeout(()=>{if(tickData.tickEnd){r(i);return}if(tickData.index++,e&&isUseSystemBeat.value){const s=state$1.setting.beatVolume/100;e.volume=s,e.volume<=0?e.muted=!0:e.muted=!1,e.play()}r(i)},tickData.beatLengthInMilliseconds)}),audioData$2=reactive({tick:null,tock:null}),createAudio=i=>new Promise(e=>{const r=new Audio(i);r.load(),r.onloadedmetadata=()=>{e(r)},r.onerror=()=>{e(null)}}),handleInitTick=i=>{for(tickData.len=i;i>4&&i%2===0;)i=i/2;tickData.reduceLen=i},handleStartTick=async()=>{tickData.show=!0,tickData.tickEnd=!1,tickData.index=0,tickData.beatLengthInMilliseconds=60/state$1.speed*1e3;for(let i=0;i<=useLen.value;i++){if(tickData.tickEnd)return!1;const e=i===0?audioData$2.tick:i===useLen.value?null:audioData$2.tock;await handlePlay(i,e)}return tickData.show=!1,!0},Tick=defineComponent({name:"metronome",setup(){const i={top:"0px",left:"0px"};e();function e(){const r=document.querySelector("#musicAndSelection"),s=r==null?void 0:r.querySelector("#osmdSvgPage1"),o=s==null?void 0:s.querySelector(".staffline"),a=r==null?void 0:r.getBoundingClientRect(),l=s==null?void 0:s.getBoundingClientRect(),c=o==null?void 0:o.getBoundingClientRect();Object.assign(i,{top:((l==null?void 0:l.top)||0)-((a==null?void 0:a.top)||0)-18+"px",left:((c==null?void 0:c.left)||0)-((l==null?void 0:l.left)||0)+"px"})}return onMounted(()=>{Promise.all([createAudio(tickWav),createAudio(tockWav)]).then(([r,s])=>{r&&(audioData$2.tick=r),s&&(audioData$2.tock=s)})}),()=>tickData.show&&createVNode("div",{class:styles$u.dots,style:i},[Array.from({length:useLen.value}).map((r,s)=>createVNode("div",{class:[styles$u.dot,useLen.value-tickData.index<=s&&styles$u.hide]},null))])}}),fraction$3="_fraction_1ul1y_1",close$2="_close_1ul1y_12",bg$1="_bg_1ul1y_19",content$8="_content_1ul1y_22",title$8="_title_1ul1y_22",desc="_desc_1ul1y_29",btn$9="_btn_1ul1y_37",loadColumn="_loadColumn_1ul1y_41",loadIcon="_loadIcon_1ul1y_56",successIcon="_successIcon_1ul1y_60",loadingPop="_loadingPop_1ul1y_70",loadingIcon$1="_loadingIcon_1ul1y_76",loadingTip$1="_loadingTip_1ul1y_79",loadingClose="_loadingClose_1ul1y_84",styles$t={fraction:fraction$3,close:close$2,bg:bg$1,content:content$8,title:title$8,desc,btn:btn$9,loadColumn,loadIcon,successIcon,loadingPop,loadingIcon:loadingIcon$1,loadingTip:loadingTip$1,loadingClose};var lottieExports={},lottie={get exports(){return lottieExports},set exports(i){lottieExports=i}};(function(module,exports){typeof navigator<"u"&&function(i,e){module.exports=e()}(commonjsGlobal,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(e){_useWebWorker=!!e},getWebWorker=function(){return _useWebWorker},setLocationHref=function(e){locationHref=e},getLocationHref=function(){return locationHref};function createTag(i){return document.createElement(i)}function extendPrototype(i,e){var r,s=i.length,o;for(r=0;r1?r[1]=1:r[1]<=0&&(r[1]=0),HSVtoRGB(r[0],r[1],r[2])}function addBrightnessToRGB(i,e){var r=RGBtoHSV(i[0]*255,i[1]*255,i[2]*255);return r[2]+=e,r[2]>1?r[2]=1:r[2]<0&&(r[2]=0),HSVtoRGB(r[0],r[1],r[2])}function addHueToRGB(i,e){var r=RGBtoHSV(i[0]*255,i[1]*255,i[2]*255);return r[0]+=e/360,r[0]>1?r[0]-=1:r[0]<0&&(r[0]+=1),HSVtoRGB(r[0],r[1],r[2])}var rgbToHex=function(){var i=[],e,r;for(e=0;e<256;e+=1)r=e.toString(16),i[e]=r.length===1?"0"+r:r;return function(s,o,a){return s<0&&(s=0),o<0&&(o=0),a<0&&(a=0),"#"+i[s]+i[o]+i[a]}}(),setSubframeEnabled=function(e){subframeEnabled=!!e},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(e){expressionsPlugin=e},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(e){expressionsInterfaces=e},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(e){defaultCurveSegments=e},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(e){idPrefix$1=e};function createNS(i){return document.createElementNS(svgNS,i)}function _typeof$5(i){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(r){return typeof r}:_typeof$5=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_typeof$5(i)}var dataManager=function(){var i=1,e=[],r,s,o={onmessage:function(){},postMessage:function(b){r({data:b})}},a={postMessage:function(b){o.onmessage({data:b})}};function l(y){if(window.Worker&&window.Blob&&getWebWorker()){var b=new Blob(["var _workerSelf = self; self.onmessage = ",y.toString()],{type:"text/javascript"}),A=URL.createObjectURL(b);return new Worker(A)}return r=y,o}function c(){s||(s=l(function(b){function A(){function E(K,G){var q,O,U=K.length,$,Y,Q,xe;for(O=0;O=0;G-=1)if(K[G].ty==="sh")if(K[G].ks.k.i)k(K[G].ks.k);else for(U=K[G].ks.k.length,O=0;Oq[0]?!0:q[0]>K[0]?!1:K[1]>q[1]?!0:q[1]>K[1]?!1:K[2]>q[2]?!0:q[2]>K[2]?!1:null}var M=function(){var K=[4,4,14];function G(O){var U=O.t.d;O.t.d={k:[{s:U,t:0}]}}function q(O){var U,$=O.length;for(U=0;U<$;U+=1)O[U].ty===5&&G(O[U])}return function(O){if(I(K,O.v)&&(q(O.layers),O.assets)){var U,$=O.assets.length;for(U=0;U<$;U+=1)O.assets[U].layers&&q(O.assets[U].layers)}}}(),R=function(){var K=[4,7,99];return function(G){if(G.chars&&!I(K,G.v)){var q,O=G.chars.length;for(q=0;q=0;U-=1)if(O[U].ty==="sh")if(O[U].ks.k.i)O[U].ks.k.c=O[U].closed;else for(Q=O[U].ks.k.length,Y=0;Y500)&&(this._imageLoaded(),clearInterval(C)),P+=1}.bind(this),50)}function a(x){var P=s(x,this.assetsPath,this.path),C=createNS("image");isSafari?this.testImageLoaded(C):C.addEventListener("load",this._imageLoaded,!1),C.addEventListener("error",function(){T.img=i,this._imageLoaded()}.bind(this),!1),C.setAttributeNS("http://www.w3.org/1999/xlink","href",P),this._elementHelper.append?this._elementHelper.append(C):this._elementHelper.appendChild(C);var T={img:C,assetData:x};return T}function l(x){var P=s(x,this.assetsPath,this.path),C=createTag("img");C.crossOrigin="anonymous",C.addEventListener("load",this._imageLoaded,!1),C.addEventListener("error",function(){T.img=i,this._imageLoaded()}.bind(this),!1),C.src=P;var T={img:C,assetData:x};return T}function c(x){var P={assetData:x},C=s(x,this.assetsPath,this.path);return dataManager.loadData(C,function(T){P.img=T,this._footageLoaded()}.bind(this),function(){P.img={},this._footageLoaded()}.bind(this)),P}function u(x,P){this.imagesLoadedCb=P;var C,T=x.length;for(C=0;Cthis.animationData.op&&(this.animationData.op=i.op,this.totalFrames=Math.floor(i.op-this.animationData.ip));var e=this.animationData.layers,r,s=e.length,o=i.layers,a,l=o.length;for(a=0;athis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(i){this.triggerRenderFrameError(i)}},AnimationItem.prototype.play=function(i){i&&this.name!==i||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(i){i&&this.name!==i||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(i){i&&this.name!==i||(this.isPaused===!0?this.play():this.pause())},AnimationItem.prototype.stop=function(i){i&&this.name!==i||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(i){for(var e,r=0;r=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(r=!0,e=this.totalFrames-1):e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):e<0?this.checkSegments(e%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(r=!0,e=0)):this.setCurrentRawFrameValue(e),r&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(i,e){this.playCount=0,i[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=i[0]-i[1],this.timeCompleted=this.totalFrames,this.firstFrame=i[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):i[1]>i[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=i[1]-i[0],this.timeCompleted=this.totalFrames,this.firstFrame=i[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(i,e){var r=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(r=e-i)),this.firstFrame=i,this.totalFrames=e-i,this.timeCompleted=this.totalFrames,r!==-1&&this.goToAndStop(r,!0)},AnimationItem.prototype.playSegments=function(i,e){if(e&&(this.segments.length=0),_typeof$4(i[0])==="object"){var r,s=i.length;for(r=0;r=0;q-=1)e[q].animation.destroy(G)}function R(G,q,O){var U=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),$,Y=U.length;for($=0;$0?T=R:C=R;while(Math.abs(M)>a&&++B=o?E(C,V,T,k):D===0?V:S(C,M,M+u,T,k)}},i}(),pooling=function(){function i(e){return e.concat(createSizedArray(e.length))}return{double:i}}(),poolFactory=function(){return function(i,e,r){var s=0,o=i,a=createSizedArray(o),l={newElement:c,release:u};function c(){var d;return s?(s-=1,d=a[s]):d=e(),d}function u(d){s===o&&(a=pooling.double(a),o*=2),r&&r(d),a[s]=d,s+=1}return l}}(),bezierLengthPool=function(){function i(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,i)}(),segmentsLengthPool=function(){function i(){return{lengths:[],totalLength:0}}function e(r){var s,o=r.lengths.length;for(s=0;s-.001&&P<.001}function r(y,b,A,S,E,x,P,C,T){if(A===0&&x===0&&T===0)return e(y,b,S,E,P,C);var k=i.sqrt(i.pow(S-y,2)+i.pow(E-b,2)+i.pow(x-A,2)),I=i.sqrt(i.pow(P-y,2)+i.pow(C-b,2)+i.pow(T-A,2)),M=i.sqrt(i.pow(P-S,2)+i.pow(C-E,2)+i.pow(T-x,2)),R;return k>I?k>M?R=k-I-M:R=M-I-k:M>I?R=M-I-k:R=I-k-M,R>-1e-4&&R<1e-4}var s=function(){return function(y,b,A,S){var E=getDefaultCurveSegments(),x,P,C,T,k,I=0,M,R=[],B=[],_=bezierLengthPool.newElement();for(C=A.length,x=0;xP?-1:1,k=!0;k;)if(S[x]<=P&&S[x+1]>P?(C=(P-S[x])/(S[x+1]-S[x]),k=!1):x+=T,x<0||x>=E-1){if(x===E-1)return A[x];k=!1}return A[x]+(A[x+1]-A[x])*C}function d(y,b,A,S,E,x){var P=u(E,x),C=1-P,T=i.round((C*C*C*y[0]+(P*C*C+C*P*C+C*C*P)*A[0]+(P*P*C+C*P*P+P*C*P)*S[0]+P*P*P*b[0])*1e3)/1e3,k=i.round((C*C*C*y[1]+(P*C*C+C*P*C+C*C*P)*A[1]+(P*P*C+C*P*P+P*C*P)*S[1]+P*P*P*b[1])*1e3)/1e3;return[T,k]}var g=createTypedArray("float32",8);function m(y,b,A,S,E,x,P){E<0?E=0:E>1&&(E=1);var C=u(E,P);x=x>1?1:x;var T=u(x,P),k,I=y.length,M=1-C,R=1-T,B=M*M*M,_=C*M*M*3,V=C*C*M*3,D=C*C*C,F=M*M*R,N=C*M*R+M*C*R+M*M*T,K=C*C*R+M*C*T+C*M*T,G=C*C*T,q=M*R*R,O=C*R*R+M*T*R+M*R*T,U=C*T*R+M*T*T+C*R*T,$=C*T*T,Y=R*R*R,Q=T*R*R+R*T*R+R*R*T,xe=T*T*R+R*T*T+T*R*T,ue=T*T*T;for(k=0;k=d.t-r){u.h&&(u=d),o=0;break}if(d.t-r>i){o=a;break}a=x||i=x?T.points.length-1:0;for(y=T.points[k].point.length,m=0;m=R&&I=x)s[0]=C[0],s[1]=C[1],s[2]=C[2];else if(i<=P)s[0]=u.s[0],s[1]=u.s[1],s[2]=u.s[2];else{var N=createQuaternion(u.s),K=createQuaternion(C),G=(i-P)/(x-P);quaternionToEuler(s,slerp(N,K,G))}else for(a=0;a=x?b=1:i1e-6?(y=Math.acos(b),A=Math.sin(y),S=Math.sin((1-r)*y)/A,E=Math.sin(r*y)/A):(S=1-r,E=r),s[0]=S*o+E*u,s[1]=S*a+E*d,s[2]=S*l+E*g,s[3]=S*c+E*m,s}function quaternionToEuler(i,e){var r=e[0],s=e[1],o=e[2],a=e[3],l=Math.atan2(2*s*a-2*r*o,1-2*s*s-2*o*o),c=Math.asin(2*r*s+2*o*a),u=Math.atan2(2*r*a-2*s*o,1-2*r*r-2*o*o);i[0]=l/degToRads,i[1]=c/degToRads,i[2]=u/degToRads}function createQuaternion(i){var e=i[0]*degToRads,r=i[1]*degToRads,s=i[2]*degToRads,o=Math.cos(e/2),a=Math.cos(r/2),l=Math.cos(s/2),c=Math.sin(e/2),u=Math.sin(r/2),d=Math.sin(s/2),g=o*a*l-c*u*d,m=c*u*l+o*a*d,y=c*a*l+o*u*d,b=o*u*l-c*a*d;return[m,y,b,g]}function getValueAtCurrentTime(){var i=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,r=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(i===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=r&&i>=r||this._caching.lastFrame=i&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var s=this.interpolateValue(i,this._caching);this.pv=s}return this._caching.lastFrame=i,this.pv}function setVValue(i){var e;if(this.propType==="unidimensional")e=i*this.mult,mathAbs(this.v-e)>1e-5&&(this.v=e,this._mdf=!0);else for(var r=0,s=this.v.length;r1e-5&&(this.v[r]=e,this._mdf=!0),r+=1}function processEffectsSequence(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var i,e=this.effectsSequence.length,r=this.kf?this.pv:this.data.k;for(i=0;i=this._maxLength&&this.doubleArrayLength(),r){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[];break}(!a[s]||a[s]&&!o)&&(a[s]=pointPool.newElement()),a[s][0]=i,a[s][1]=e},ShapePath.prototype.setTripleAt=function(i,e,r,s,o,a,l,c){this.setXYAt(i,e,"v",l,c),this.setXYAt(r,s,"o",l,c),this.setXYAt(o,a,"i",l,c)},ShapePath.prototype.reverse=function(){var i=new ShapePath;i.setPathData(this.c,this._length);var e=this.v,r=this.o,s=this.i,o=0;this.c&&(i.setTripleAt(e[0][0],e[0][1],s[0][0],s[0][1],r[0][0],r[0][1],0,!1),o=1);var a=this._length-1,l=this._length,c;for(c=o;c=N[N.length-1].t-this.offsetTime)k=N[N.length-1].s?N[N.length-1].s[0]:N[N.length-2].e[0],M=!0;else{for(var K=T,G=N.length-1,q=!0,O,U,$;q&&(O=N[K],U=N[K+1],!(U.t-this.offsetTime>x));)K=U.t-this.offsetTime)D=1;else if(xC&&x>C)||(this._caching.lastIndex=T0||O>-1e-6&&O<0?s(O*U)/U:O}function q(){var O=this.props,U=G(O[0]),$=G(O[1]),Y=G(O[4]),Q=G(O[5]),xe=G(O[12]),ue=G(O[13]);return"matrix("+U+","+$+","+Y+","+Q+","+xe+","+ue+")"}return function(){this.reset=o,this.rotate=a,this.rotateX=l,this.rotateY=c,this.rotateZ=u,this.skew=g,this.skewFromAxis=m,this.shear=d,this.scale=y,this.setTransform=b,this.translate=A,this.transform=S,this.multiply=E,this.applyToPoint=k,this.applyToX=I,this.applyToY=M,this.applyToZ=R,this.applyToPointArray=F,this.applyToTriplePoints=D,this.applyToPointStringified=N,this.toCSS=K,this.to2dCSS=q,this.clone=C,this.cloneFromProps=T,this.equals=P,this.inversePoints=V,this.inversePoint=_,this.getInverseMatrix=B,this._t=this.transform,this.isIdentity=x,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(i){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(r){return typeof r}:_typeof$3=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_typeof$3(i)}var lottie={};function setLocation(i){setLocationHref(i)}function searchAnimations(){animationManager.searchAnimations()}function setSubframeRendering(i){setSubframeEnabled(i)}function setPrefix(i){setIdPrefix(i)}function loadAnimation(i){return animationManager.loadAnimation(i)}function setQuality(i){if(typeof i=="string")switch(i){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else!isNaN(i)&&i>1&&setDefaultCurveSegments(i)}function inBrowser(){return typeof navigator<"u"}function installPlugin(i,e){i==="expressions"&&setExpressionsPlugin(e)}function getFactory(i){switch(i){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(i){for(var e=queryString.split("&"),r=0;r=1?a.push({s:i-1,e:e-1}):(a.push({s:i,e:1}),a.push({s:0,e:e-1}));var l=[],c,u=a.length,d;for(c=0;cs+r)){var g,m;d.s*o<=s?g=0:g=(d.s*o-s)/r,d.e*o>=s+r?m=1:m=(d.e*o-s)/r,l.push([g,m])}return l.length||l.push([0,0]),l},TrimModifier.prototype.releasePathsData=function(i){var e,r=i.length;for(e=0;e1?e=1+s:this.s.v<0?e=0+s:e=this.s.v+s,this.e.v>1?r=1+s:this.e.v<0?r=0+s:r=this.e.v+s,e>r){var o=e;e=r,r=o}e=Math.round(e*1e4)*1e-4,r=Math.round(r*1e4)*1e-4,this.sValue=e,this.eValue=r}else e=this.sValue,r=this.eValue;var a,l,c=this.shapes.length,u,d,g,m,y,b=0;if(r===e)for(l=0;l=0;l-=1)if(S=this.shapes[l],S.shape._mdf){for(E=S.localShapeCollection,E.releaseShapes(),this.m===2&&c>1?(T=this.calculateShapeEdges(e,r,S.totalShapeLength,C,b),C+=S.totalShapeLength):T=[[x,P]],d=T.length,u=0;u=1?A.push({s:S.totalShapeLength*(x-1),e:S.totalShapeLength*(P-1)}):(A.push({s:S.totalShapeLength*x,e:S.totalShapeLength}),A.push({s:0,e:S.totalShapeLength*(P-1)}));var k=this.addShapes(S,A[0]);if(A[0].s!==A[0].e){if(A.length>1){var I=S.shape.paths.shapes[S.shape.paths._length-1];if(I.c){var M=k.pop();this.addPaths(k,E),k=this.addShapes(S,A[1],M)}else this.addPaths(k,E),k=this.addShapes(S,A[1])}this.addPaths(k,E)}}S.shape.paths=E}}},TrimModifier.prototype.addPaths=function(i,e){var r,s=i.length;for(r=0;re.e){r.c=!1;break}else e.s<=d&&e.e>=d+g.addedLength?(this.addSegment(o[a].v[c-1],o[a].o[c-1],o[a].i[c],o[a].v[c],r,m,E),E=!1):(b=bez.getNewSegment(o[a].v[c-1],o[a].v[c],o[a].o[c-1],o[a].i[c],(e.s-d)/g.addedLength,(e.e-d)/g.addedLength,y[c-1]),this.addSegmentFromArray(b,r,m,E),E=!1,r.c=!1),d+=g.addedLength,m+=1;if(o[a].c&&y.length){if(g=y[c-1],d<=e.e){var x=y[c-1].addedLength;e.s<=d&&e.e>=d+x?(this.addSegment(o[a].v[c-1],o[a].o[c-1],o[a].i[0],o[a].v[0],r,m,E),E=!1):(b=bez.getNewSegment(o[a].v[c-1],o[a].v[0],o[a].o[c-1],o[a].i[0],(e.s-d)/x,(e.e-d)/x,y[c-1]),this.addSegmentFromArray(b,r,m,E),E=!1,r.c=!1)}else r.c=!1;d+=g.addedLength,m+=1}if(r._length&&(r.setXYAt(r.v[S][0],r.v[S][1],"i",S),r.setXYAt(r.v[r._length-1][0],r.v[r._length-1][1],"o",r._length-1)),d>e.e)break;a=this.p.keyframes[this.p.keyframes.length-1].t?(g=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/d,0),m=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/d,0)):(g=this.p.pv,m=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/d,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){g=[],m=[];var y=this.px,b=this.py;y._caching.lastFrame+y.offsetTime<=y.keyframes[0].t?(g[0]=y.getValueAtTime((y.keyframes[0].t+.01)/d,0),g[1]=b.getValueAtTime((b.keyframes[0].t+.01)/d,0),m[0]=y.getValueAtTime(y.keyframes[0].t/d,0),m[1]=b.getValueAtTime(b.keyframes[0].t/d,0)):y._caching.lastFrame+y.offsetTime>=y.keyframes[y.keyframes.length-1].t?(g[0]=y.getValueAtTime(y.keyframes[y.keyframes.length-1].t/d,0),g[1]=b.getValueAtTime(b.keyframes[b.keyframes.length-1].t/d,0),m[0]=y.getValueAtTime((y.keyframes[y.keyframes.length-1].t-.01)/d,0),m[1]=b.getValueAtTime((b.keyframes[b.keyframes.length-1].t-.01)/d,0)):(g=[y.pv,b.pv],m[0]=y.getValueAtTime((y._caching.lastFrame+y.offsetTime-.01)/d,y.offsetTime),m[1]=b.getValueAtTime((b._caching.lastFrame+b.offsetTime-.01)/d,b.offsetTime))}else m=i,g=m;this.v.rotate(-Math.atan2(g[1]-m[1],g[0]-m[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}}function s(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}function o(){}function a(u){this._addDynamicProperty(u),this.elem.addDynamicProperty(u),this._isDirty=!0}function l(u,d,g){if(this.elem=u,this.frameId=-1,this.propType="transform",this.data=d,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(g||u),d.p&&d.p.s?(this.px=PropertyFactory.getProp(u,d.p.x,0,0,this),this.py=PropertyFactory.getProp(u,d.p.y,0,0,this),d.p.z&&(this.pz=PropertyFactory.getProp(u,d.p.z,0,0,this))):this.p=PropertyFactory.getProp(u,d.p||{k:[0,0,0]},1,0,this),d.rx){if(this.rx=PropertyFactory.getProp(u,d.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(u,d.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(u,d.rz,0,degToRads,this),d.or.k[0].ti){var m,y=d.or.k.length;for(m=0;m0;)r-=1,this._elements.unshift(e[r]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(i){var e,r=i.length;for(e=0;e0?Math.floor(y):Math.ceil(y),S=this.pMatrix.props,E=this.rMatrix.props,x=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var P=0;if(y>0){for(;PA;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),P-=1;b&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-b,!0),P-=b)}s=this.data.m===1?0:this._currentCopies-1,o=this.data.m===1?1:-1,a=this._currentCopies;for(var C,T;a;){if(e=this.elemsData[s].it,r=e[e.length-1].transform.mProps.v.props,T=r.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(s/(this._currentCopies-1)),P!==0){for((s!==0&&o===1||s!==this._currentCopies-1&&o===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(E[0],E[1],E[2],E[3],E[4],E[5],E[6],E[7],E[8],E[9],E[10],E[11],E[12],E[13],E[14],E[15]),this.matrix.transform(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]),this.matrix.transform(S[0],S[1],S[2],S[3],S[4],S[5],S[6],S[7],S[8],S[9],S[10],S[11],S[12],S[13],S[14],S[15]),C=0;C0&&s<1?[e]:[]:[e-s,e+s].filter(function(o){return o>0&&o<1})},PolynomialBezier.prototype.split=function(i){if(i<=0)return[singlePoint(this.points[0]),this];if(i>=1)return[this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],i),r=lerpPoint(this.points[1],this.points[2],i),s=lerpPoint(this.points[2],this.points[3],i),o=lerpPoint(e,r,i),a=lerpPoint(r,s,i),l=lerpPoint(o,a,i);return[new PolynomialBezier(this.points[0],e,o,l,!0),new PolynomialBezier(l,a,s,this.points[3],!0)]};function extrema(i,e){var r=i.points[0][e],s=i.points[i.points.length-1][e];if(r>s){var o=s;s=r,r=o}for(var a=quadRoots(3*i.a[e],2*i.b[e],i.c[e]),l=0;l0&&a[l]<1){var c=i.point(a[l])[e];cs&&(s=c)}return{min:r,max:s}}PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var i=this.bounds();return{left:i.x.min,right:i.x.max,top:i.y.min,bottom:i.y.max,width:i.x.max-i.x.min,height:i.y.max-i.y.min,cx:(i.x.max+i.x.min)/2,cy:(i.y.max+i.y.min)/2}};function intersectData(i,e,r){var s=i.boundingBox();return{cx:s.cx,cy:s.cy,width:s.width,height:s.height,bez:i,t:(e+r)/2,t1:e,t2:r}}function splitData(i){var e=i.bez.split(.5);return[intersectData(e[0],i.t1,i.t),intersectData(e[1],i.t,i.t2)]}function boxIntersect(i,e){return Math.abs(i.cx-e.cx)*2=a||i.width<=s&&i.height<=s&&e.width<=s&&e.height<=s){o.push([i.t,e.t]);return}var l=splitData(i),c=splitData(e);intersectsImpl(l[0],c[0],r+1,s,o,a),intersectsImpl(l[0],c[1],r+1,s,o,a),intersectsImpl(l[1],c[0],r+1,s,o,a),intersectsImpl(l[1],c[1],r+1,s,o,a)}}PolynomialBezier.prototype.intersections=function(i,e,r){e===void 0&&(e=2),r===void 0&&(r=7);var s=[];return intersectsImpl(intersectData(this,0,1),intersectData(i,0,1),0,e,s,r),s},PolynomialBezier.shapeSegment=function(i,e){var r=(e+1)%i.length();return new PolynomialBezier(i.v[e],i.o[e],i.i[r],i.v[r],!0)},PolynomialBezier.shapeSegmentInverted=function(i,e){var r=(e+1)%i.length();return new PolynomialBezier(i.v[r],i.i[r],i.o[e],i.v[e],!0)};function crossProduct(i,e){return[i[1]*e[2]-i[2]*e[1],i[2]*e[0]-i[0]*e[2],i[0]*e[1]-i[1]*e[0]]}function lineIntersection(i,e,r,s){var o=[i[0],i[1],1],a=[e[0],e[1],1],l=[r[0],r[1],1],c=[s[0],s[1],1],u=crossProduct(crossProduct(o,a),crossProduct(l,c));return floatZero(u[2])?null:[u[0]/u[2],u[1]/u[2]]}function polarOffset(i,e,r){return[i[0]+Math.cos(e)*r,i[1]-Math.sin(e)*r]}function pointDistance(i,e){return Math.hypot(i[0]-e[0],i[1]-e[1])}function pointEqual(i,e){return floatEqual(i[0],e[0])&&floatEqual(i[1],e[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(i,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(i,e.s,0,null,this),this.frequency=PropertyFactory.getProp(i,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(i,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function setPoint(i,e,r,s,o,a,l){var c=r-Math.PI/2,u=r+Math.PI/2,d=e[0]+Math.cos(r)*s*o,g=e[1]-Math.sin(r)*s*o;i.setTripleAt(d,g,d+Math.cos(c)*a,g-Math.sin(c)*a,d+Math.cos(u)*l,g-Math.sin(u)*l,i.length())}function getPerpendicularVector(i,e){var r=[e[0]-i[0],e[1]-i[1]],s=-Math.PI*.5,o=[Math.cos(s)*r[0]-Math.sin(s)*r[1],Math.sin(s)*r[0]+Math.cos(s)*r[1]];return o}function getProjectingAngle(i,e){var r=e===0?i.length()-1:e-1,s=(e+1)%i.length(),o=i.v[r],a=i.v[s],l=getPerpendicularVector(o,a);return Math.atan2(0,1)-Math.atan2(l[1],l[0])}function zigZagCorner(i,e,r,s,o,a,l){var c=getProjectingAngle(e,r),u=e.v[r%e._length],d=e.v[r===0?e._length-1:r-1],g=e.v[(r+1)%e._length],m=a===2?Math.sqrt(Math.pow(u[0]-d[0],2)+Math.pow(u[1]-d[1],2)):0,y=a===2?Math.sqrt(Math.pow(u[0]-g[0],2)+Math.pow(u[1]-g[1],2)):0;setPoint(i,e.v[r%e._length],c,l,s,y/((o+1)*2),m/((o+1)*2))}function zigZagSegment(i,e,r,s,o,a){for(var l=0;l1&&e.length>1&&(o=getIntersection(i[0],e[e.length-1]),o)?[[i[0].split(o[0])[0]],[e[e.length-1].split(o[1])[1]]]:[r,s]}function pruneIntersections(i){for(var e,r=1;r1&&(e=pruneSegmentIntersection(i[i.length-1],i[0]),i[i.length-1]=e[0],i[0]=e[1]),i}function offsetSegmentSplit(i,e){var r=i.inflectionPoints(),s,o,a,l;if(r.length===0)return[offsetSegment(i,e)];if(r.length===1||floatEqual(r[1],1))return a=i.split(r[0]),s=a[0],o=a[1],[offsetSegment(s,e),offsetSegment(o,e)];a=i.split(r[0]),s=a[0];var c=(r[1]-r[0])/(1-r[0]);return a=a[1].split(c),l=a[0],o=a[1],[offsetSegment(s,e),offsetSegment(l,e),offsetSegment(o,e)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(i,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(i,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(i,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0},OffsetPathModifier.prototype.processPath=function(i,e,r,s){var o=shapePool.newElement();o.c=i.c;var a=i.length();i.c||(a-=1);var l,c,u,d=[];for(l=0;l=0;l-=1)u=PolynomialBezier.shapeSegmentInverted(i,l),d.push(offsetSegmentSplit(u,e));d=pruneIntersections(d);var g=null,m=null;for(l=0;l0&&(Q=!1),Q){var W=createTag("style");W.setAttribute("f-forigin",O[U].fOrigin),W.setAttribute("f-origin",O[U].origin),W.setAttribute("f-family",O[U].fFamily),W.type="text/css",W.innerText="@font-face {font-family: "+O[U].fFamily+"; font-style: normal; src: url('"+O[U].fPath+"');}",q.appendChild(W)}}else if(O[U].fOrigin==="g"||O[U].origin===1){for(xe=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),ue=0;ue=55296&&O<=56319){var U=G.charCodeAt(1);U>=56320&&U<=57343&&(q=(O-55296)*1024+U-56320+65536)}return q}function I(G,q){var O=G.toString(16)+q.toString(16);return m.indexOf(O)!==-1}function M(G){return G===u}function R(G){return G===c}function B(G){var q=k(G);return q>=d&&q<=g}function _(G){return B(G.substr(0,2))&&B(G.substr(2,2))}function V(G){return r.indexOf(G)!==-1}function D(G,q){var O=k(G.substr(q,2));if(O!==s)return!1;var U=0;for(q+=2;U<5;){if(O=k(G.substr(q,2)),Ol)return!1;U+=1,q+=2}return k(G.substr(q,2))===o}function F(){this.isLoaded=!0}var N=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};N.isModifier=I,N.isZeroWidthJoiner=M,N.isFlagEmoji=_,N.isRegionalCode=B,N.isCombinedCharacter=V,N.isRegionalFlag=D,N.isVariationSelector=R,N.BLACK_FLAG_CODE_POINT=s;var K={addChars:x,addFonts:E,getCharData:P,getFontByName:T,measureText:C,checkLoadedFonts:A,setIsLoaded:F};return N.prototype=K,N}();function SlotManager(i){this.animationData=i}SlotManager.prototype.getProp=function(i){return this.animationData.slots&&this.animationData.slots[i.sid]?Object.assign(i,this.animationData.slots[i.sid].p):i};function slotFactory(i){return new SlotManager(i)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(e){this.renderableComponents.indexOf(e)===-1&&this.renderableComponents.push(e)},removeRenderableComponent:function(e){this.renderableComponents.indexOf(e)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function(e){this.checkLayerLimits(e)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(e){this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var e,r=this.renderableComponents.length;for(e=0;e.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(i){this.audio.rate(i)},AudioElement.prototype.volume=function(i){this._volumeMultiplier=i,this._previousVolume=i*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(i){var e,r=this.layers.length,s;for(this.completeLayers=!0,e=r-1;e>=0;e-=1)this.elements[e]||(s=this.layers[e],s.ip-s.st<=i-this.layers[e].st&&s.op-s.st>i-this.layers[e].st&&this.buildItem(e)),this.completeLayers=this.elements[e]?this.completeLayers:!1;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(i){switch(i.ty){case 2:return this.createImage(i);case 0:return this.createComp(i);case 1:return this.createSolid(i);case 3:return this.createNull(i);case 4:return this.createShape(i);case 5:return this.createText(i);case 6:return this.createAudio(i);case 13:return this.createCamera(i);case 15:return this.createFootage(i);default:return this.createNull(i)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(i){return new AudioElement(i,this.globalData,this)},BaseRenderer.prototype.createFootage=function(i){return new FootageElement(i,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var i,e=this.layers.length;for(i=0;i0&&(this.maskElement.setAttribute("id",y),this.element.maskedElement.setAttribute(P,"url("+getLocationHref()+"#"+y+")"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}MaskElement.prototype.getMaskProperty=function(i){return this.viewData[i].prop},MaskElement.prototype.renderFrame=function(i){var e=this.element.finalTransform.mat,r,s=this.masksProperties.length;for(r=0;r1&&(s+=" C"+e.o[o-1][0]+","+e.o[o-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),r.lastPath!==s){var l="";r.elem&&(e.c&&(l=i.inv?this.solidPath+s:s),r.elem.setAttribute("d",l)),r.lastPath=s}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var i={};i.createFilter=e,i.createAlphaToLuminanceFilter=r;function e(s,o){var a=createNS("filter");return a.setAttribute("id",s),o!==!0&&(a.setAttribute("filterUnits","objectBoundingBox"),a.setAttribute("x","0%"),a.setAttribute("y","0%"),a.setAttribute("width","100%"),a.setAttribute("height","100%")),a}function r(){var s=createNS("feColorMatrix");return s.setAttribute("type","matrix"),s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),s}return i}(),featureSupport=function(){var i={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(i.maskType=!1),/firefox/i.test(navigator.userAgent)&&(i.svgLumaHidden=!1),i}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(i){var e,r="SourceGraphic",s=i.data.ef?i.data.ef.length:0,o=createElementID(),a=filtersFactory.createFilter(o,!0),l=0;this.filters=[];var c;for(e=0;e=0&&(s=this.shapeModifiers[e].processShapes(this._isFirstFrame),!s);e-=1);}},searchProcessedElement:function(e){for(var r=this.processedElements,s=0,o=r.length;s.01)return!1;r+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s)for(var i=0,e=this.data.k.k.length;i0;)x=y.transformers[B].mProps._mdf||x,R-=1,B-=1;if(x)for(R=k-y.styles[C].lvl,B=y.transformers.length-1;R>0;)M.multiply(y.transformers[B].mProps.v),R-=1,B-=1}else M=i;if(I=y.sh.paths,S=I._length,x){for(E="",A=0;A=1?F=.99:F<=-1&&(F=-.99);var N=V*F,K=Math.cos(D+y.a.v)*N+E[0],G=Math.sin(D+y.a.v)*N+E[1];A.setAttribute("fx",K),A.setAttribute("fy",G),S&&!y.g._collapsable&&(y.of.setAttribute("fx",K),y.of.setAttribute("fy",G))}}}function g(m,y,b){var A=y.style,S=y.d;S&&(S._mdf||b)&&S.dashStr&&(A.pElem.setAttribute("stroke-dasharray",S.dashStr),A.pElem.setAttribute("stroke-dashoffset",S.dashoffset[0])),y.c&&(y.c._mdf||b)&&A.pElem.setAttribute("stroke","rgb("+bmFloor(y.c.v[0])+","+bmFloor(y.c.v[1])+","+bmFloor(y.c.v[2])+")"),(y.o._mdf||b)&&A.pElem.setAttribute("stroke-opacity",y.o.v),(y.w._mdf||b)&&(A.pElem.setAttribute("stroke-width",y.w.v),A.msElem&&A.msElem.setAttribute("stroke-width",y.w.v))}return r}();function SVGShapeElement(i,e,r){this.shapes=[],this.shapesData=i.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(i,e,r),this.prevViewData=[]}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var i,e=this.shapes.length,r,s,o=this.stylesList.length,a,l=[],c=!1;for(s=0;s1&&c&&this.setShapesAsAnimated(l)}},SVGShapeElement.prototype.setShapesAsAnimated=function(i){var e,r=i.length;for(e=0;e=0;u-=1){if(E=this.searchProcessedElement(i[u]),E?e[u]=r[E-1]:i[u]._render=l,i[u].ty==="fl"||i[u].ty==="st"||i[u].ty==="gf"||i[u].ty==="gs"||i[u].ty==="no")E?e[u].style.closed=!1:e[u]=this.createStyleElement(i[u],o),i[u]._render&&e[u].style.pElem.parentNode!==s&&s.appendChild(e[u].style.pElem),y.push(e[u].style);else if(i[u].ty==="gr"){if(!E)e[u]=this.createGroupElement(i[u]);else for(m=e[u].it.length,g=0;g1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(i){this.effectsSequence.push(i),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(i){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!i)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,r=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var s,o=this.effectsSequence.length,a=i||this.data.d.k[this.keysIndex].s;for(s=0;se);)r+=1;return this.keysIndex!==r&&(this.keysIndex=r),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(i){for(var e=[],r=0,s=i.length,o,a,l=!1,c=!1,u="";r=55296&&o<=56319?FontManager.isRegionalFlag(i,r)?u=i.substr(r,14):(a=i.charCodeAt(r+1),a>=56320&&a<=57343&&(FontManager.isModifier(o,a)?(u=i.substr(r,2),l=!0):FontManager.isFlagEmoji(i.substr(r,4))?u=i.substr(r,4):u=i.substr(r,2))):o>56319?(a=i.charCodeAt(r+1),FontManager.isVariationSelector(o)&&(l=!0)):FontManager.isZeroWidthJoiner(o)&&(l=!0,c=!0),l?(e[e.length-1]+=u,l=!1):e.push(u),r+=u.length;return e},TextProperty.prototype.completeTextData=function(i){i.__complete=!0;var e=this.elem.globalData.fontManager,r=this.data,s=[],o,a,l,c=0,u,d=r.m.g,g=0,m=0,y=0,b=[],A=0,S=0,E,x,P=e.getFontByName(i.f),C,T=0,k=getFontProperties(P);i.fWeight=k.weight,i.fStyle=k.style,i.finalSize=i.s,i.finalText=this.buildFinalText(i.t),a=i.finalText.length,i.finalLineHeight=i.lh;var I=i.tr/1e3*i.finalSize,M;if(i.sz)for(var R=!0,B=i.sz[0],_=i.sz[1],V,D;R;){D=this.buildFinalText(i.t),V=0,A=0,a=D.length,I=i.tr/1e3*i.finalSize;var F=-1;for(o=0;oB&&D[o]!==" "?(F===-1?a+=1:o=F,V+=i.finalLineHeight||i.finalSize*1.2,D.splice(o,F===o?1:0,"\r"),F=-1,A=0):(A+=T,A+=I);V+=P.ascent*i.finalSize/100,this.canResize&&i.finalSize>this.minimumFontSize&&_S?A:S,A=-2*I,u="",l=!0,y+=1):u=K,e.chars?(C=e.getCharData(K,P.fStyle,e.getFontByName(i.f).fFamily),T=l?0:C.w*i.finalSize/100):T=e.measureText(u,i.f,i.finalSize),K===" "?N+=T+I:(A+=T+I+N,N=0),s.push({l:T,an:T,add:g,n:l,anIndexes:[],val:u,line:y,animatorJustifyOffset:0}),d==2){if(g+=T,u===""||u===" "||o===a-1){for((u===""||u===" ")&&(g-=T);m<=o;)s[m].an=g,s[m].ind=c,s[m].extra=T,m+=1;c+=1,g=0}}else if(d==3){if(g+=T,u===""||o===a-1){for(u===""&&(g-=T);m<=o;)s[m].an=g,s[m].ind=c,s[m].extra=T,m+=1;g=0,c+=1}}else s[c].ind=c,s[c].extra=0,c+=1;if(i.l=s,S=A>S?A:S,b.push(A),i.sz)i.boxWidth=i.sz[0],i.justifyOffset=0;else switch(i.boxWidth=S,i.j){case 1:i.justifyOffset=-i.boxWidth;break;case 2:i.justifyOffset=-i.boxWidth/2;break;default:i.justifyOffset=0}i.lineWidths=b;var G=r.a,q,O;x=G.length;var U,$,Y=[];for(E=0;E0?c=this.ne.v/100:u=-this.ne.v/100,this.xe.v>0?d=1-this.xe.v/100:g=1+this.xe.v/100;var m=BezierFactory.getBezierEasing(c,u,d,g).get,y=0,b=this.finalS,A=this.finalE,S=this.data.sh;if(S===2)A===b?y=l>=A?1:0:y=i(0,e(.5/(A-b)+(l-b)/(A-b),1)),y=m(y);else if(S===3)A===b?y=l>=A?0:1:y=1-i(0,e(.5/(A-b)+(l-b)/(A-b),1)),y=m(y);else if(S===4)A===b?y=0:(y=i(0,e(.5/(A-b)+(l-b)/(A-b),1)),y<.5?y*=2:y=1-2*(y-.5)),y=m(y);else if(S===5){if(A===b)y=0;else{var E=A-b;l=e(i(0,l+.5-b),A-b);var x=-E/2+l,P=E/2;y=Math.sqrt(1-x*x/(P*P))}y=m(y)}else S===6?(A===b?y=0:(l=e(i(0,l+.5-b),A-b),y=(1+Math.cos(Math.PI+Math.PI*2*l/(A-b)))/2),y=m(y)):(l>=r(b)&&(l-b<0?y=i(0,e(e(A,1)-(b-l),1)):y=i(0,e(A-l,1))),y=m(y));if(this.sm.v!==100){var C=this.sm.v*.01;C===0&&(C=1e-8);var T=.5-C*.5;y1&&(y=1))}return y*this.a.v},getValue:function(l){this.iterateDynamicProperties(),this._mdf=l||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,l&&this.data.r===2&&(this.e.v=this._currentTextLength);var c=this.data.r===2?1:100/this.data.totalChars,u=this.o.v/c,d=this.s.v/c+u,g=this.e.v/c+u;if(d>g){var m=d;d=g,g=m}this.finalS=d,this.finalE=g}},extendPrototype([DynamicPropertyContainer],s);function o(a,l,c){return new s(a,l)}return{getTextSelectorProp:o}}();function TextAnimatorDataProperty(i,e,r){var s={propType:!1},o=PropertyFactory.getProp,a=e.a;this.a={r:a.r?o(i,a.r,0,degToRads,r):s,rx:a.rx?o(i,a.rx,0,degToRads,r):s,ry:a.ry?o(i,a.ry,0,degToRads,r):s,sk:a.sk?o(i,a.sk,0,degToRads,r):s,sa:a.sa?o(i,a.sa,0,degToRads,r):s,s:a.s?o(i,a.s,1,.01,r):s,a:a.a?o(i,a.a,1,0,r):s,o:a.o?o(i,a.o,0,.01,r):s,p:a.p?o(i,a.p,1,0,r):s,sw:a.sw?o(i,a.sw,0,0,r):s,sc:a.sc?o(i,a.sc,1,0,r):s,fc:a.fc?o(i,a.fc,1,0,r):s,fh:a.fh?o(i,a.fh,0,0,r):s,fs:a.fs?o(i,a.fs,0,.01,r):s,fb:a.fb?o(i,a.fb,0,.01,r):s,t:a.t?o(i,a.t,0,0,r):s},this.s=TextSelectorProp.getTextSelectorProp(i,e.s,r),this.s.t=e.s.t}function TextAnimatorProperty(i,e,r){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=i,this._renderType=e,this._elem=r,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(r)}TextAnimatorProperty.prototype.searchProperties=function(){var i,e=this._textData.a.length,r,s=PropertyFactory.getProp;for(i=0;i=A+he||!k?(B=(A+he-E)/S.partialLength,ue=T.point[0]+(S.point[0]-T.point[0])*B,W=T.point[1]+(S.point[1]-T.point[1])*B,a.translate(-r[0]*y[g].an*.005,-(r[1]*N)*.01),x=!1):k&&(E+=S.partialLength,P+=1,P>=k.length&&(P=0,C+=1,I[C]?k=I[C].points:V.v.c?(P=0,C=0,k=I[C].points):(E-=S.partialLength,k=null)),k&&(T=S,S=k[P],M=S.partialLength));xe=y[g].an/2-y[g].add,a.translate(-xe,0,0)}else xe=y[g].an/2-y[g].add,a.translate(-xe,0,0),a.translate(-r[0]*y[g].an*.005,-r[1]*N*.01,0);for(O=0;Oi?this.textSpans[i].span:createNS(c?"g":"text"),C<=i){if(u.setAttribute("stroke-linecap","butt"),u.setAttribute("stroke-linejoin","round"),u.setAttribute("stroke-miterlimit","4"),this.textSpans[i].span=u,c){var k=createNS("g");u.appendChild(k),this.textSpans[i].childSpan=k}this.textSpans[i].span=u,this.layerElement.appendChild(u)}u.style.display="inherit"}if(d.reset(),m&&(l[i].n&&(y=-S,b+=r.yOffset,b+=A?1:0,A=!1),this.applyTextPropertiesToMatrix(r,d,l[i].line,y,b),y+=l[i].l||0,y+=S),c){T=this.globalData.fontManager.getCharData(r.finalText[i],s.fStyle,this.globalData.fontManager.getFontByName(r.f).fFamily);var I;if(T.t===1)I=new SVGCompElement(T.data,this.globalData,this);else{var M=emptyShapeData;T.data&&T.data.shapes&&(M=this.buildShapeData(T.data,r.finalSize)),I=new SVGShapeElement(M,this.globalData,this)}if(this.textSpans[i].glyph){var R=this.textSpans[i].glyph;this.textSpans[i].childSpan.removeChild(R.layerElement),R.destroy()}this.textSpans[i].glyph=I,I._debug=!0,I.prepareFrame(0),I.renderFrame(),this.textSpans[i].childSpan.appendChild(I.layerElement),T.t===1&&this.textSpans[i].childSpan.setAttribute("transform","scale("+r.finalSize/100+","+r.finalSize/100+")")}else m&&u.setAttribute("transform","translate("+d.props[12]+","+d.props[13]+")"),u.textContent=l[i].val,u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}m&&u&&u.setAttribute("d",g)}for(;i=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(i-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;r-=1)(this.completeLayers||this.elements[r])&&(this.elements[r].prepareFrame(this.renderedFrame-this.layers[r].st),this.elements[r]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var i,e=this.layers.length;for(i=0;i=0;s-=1)e.finalTransform.multiply(e.transforms[s].transform.mProps.v);e._mdf=a},processSequences:function(e){var r,s=this.sequenceList.length;for(r=0;r=1){this.buffers=[];var e=this.globalData.canvasContext,r=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(r);var s=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(s),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var r=getBlendMode(this.data.bm);e.canvasContext.globalCompositeOperation=r}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var e=this.buffers[0],r=e.getContext("2d");this.clearCanvas(r),r.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var e=this.buffers[1],r=e.getContext("2d");this.clearCanvas(r),r.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var s=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(s.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var o=assetLoader.getLumaCanvas(this.canvasContext.canvas),a=o.getContext("2d");a.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(o,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(e){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!e)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var r=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(r),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(r),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(i,e,r,s){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var o=4;e.ty==="rc"?o=5:e.ty==="el"?o=6:e.ty==="sr"&&(o=7),this.sh=ShapePropertyFactory.getShapeProp(i,e,o,i);var a,l=r.length,c;for(a=0;a=0;a-=1){if(m=this.searchProcessedElement(i[a]),m?e[a]=r[m-1]:i[a]._shouldRender=s,i[a].ty==="fl"||i[a].ty==="st"||i[a].ty==="gf"||i[a].ty==="gs")m?e[a].style.closed=!1:e[a]=this.createStyleElement(i[a],A),d.push(e[a].style);else if(i[a].ty==="gr"){if(!m)e[a]=this.createGroupElement(i[a]);else for(u=e[a].it.length,c=0;c=0;o-=1)e[o].ty==="tr"?(l=r[o].transform,this.renderShapeTransform(i,l)):e[o].ty==="sh"||e[o].ty==="el"||e[o].ty==="rc"||e[o].ty==="sr"?this.renderPath(e[o],r[o]):e[o].ty==="fl"?this.renderFill(e[o],r[o],l):e[o].ty==="st"?this.renderStroke(e[o],r[o],l):e[o].ty==="gf"||e[o].ty==="gs"?this.renderGradientFill(e[o],r[o],l):e[o].ty==="gr"?this.renderShape(l,e[o].it,r[o].it):e[o].ty;s&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(i,e){if(this._isFirstFrame||e._mdf||i.transforms._mdf){var r=i.trNodes,s=e.paths,o,a,l,c=s._length;r.length=0;var u=i.transforms.finalTransform;for(l=0;l=1?g=.99:g<=-1&&(g=-.99);var m=u*g,y=Math.cos(d+e.a.v)*m+l[0],b=Math.sin(d+e.a.v)*m+l[1];o=a.createRadialGradient(y,b,0,l[0],l[1],u)}var A,S=i.g.p,E=e.g.c,x=1;for(A=0;Aa&&u==="xMidYMid slice"||oo&&c==="meet"||ao&&c==="slice")?this.transformCanvas.tx=(r-this.transformCanvas.w*(s/this.transformCanvas.h))/2*this.renderConfig.dpr:d==="xMax"&&(ao&&c==="slice")?this.transformCanvas.tx=(r-this.transformCanvas.w*(s/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,g==="YMid"&&(a>o&&c==="meet"||ao&&c==="meet"||a=0;i-=1)this.elements[i]&&this.elements[i].destroy&&this.elements[i].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(i,e){if(!(this.renderedFrame===i&&this.renderConfig.clearCanvas===!0&&!e||this.destroyed||i===-1)){this.renderedFrame=i,this.globalData.frameNum=i-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=i;var r,s=this.layers.length;for(this.completeLayers||this.checkLayers(i),r=s-1;r>=0;r-=1)(this.completeLayers||this.elements[r])&&this.elements[r].prepareFrame(i-this.layers[r].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),r=s-1;r>=0;r-=1)(this.completeLayers||this.elements[r])&&this.elements[r].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(i){var e=this.elements;if(!(e[i]||this.layers[i].ty===99)){var r=this.createItem(this.layers[i],this,this.globalData);e[i]=r,r.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var i=this.pendingElements.pop();i.checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var i,e=15;for(i=0;i=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()},CVCompElement.prototype.destroy=function(){var i,e=this.layers.length;for(i=e-1;i>=0;i-=1)this.elements[i]&&this.elements[i].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(i){return new CVCompElement(i,this.globalData,this)};function CanvasRenderer(i,e){this.animationItem=i,this.renderConfig={clearCanvas:e&&e.clearCanvas!==void 0?e.clearCanvas:!0,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",className:e&&e.className||"",id:e&&e.id||"",runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData))}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(i){return new CVCompElement(i,this.globalData,this)};function HBaseElement(){}HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),this.data.bm!==0&&this.setBlendMode()},renderElement:function(){var e=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var r=this.finalTransform.mat.toCSS();e.transform=r,e.webkitTransform=r}this.finalTransform._opMdf&&(e.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(i,e,r){this.initElement(i,e,r)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var i;this.data.hasMask?(i=createNS("rect"),i.setAttribute("width",this.data.sw),i.setAttribute("height",this.data.sh),i.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):(i=createTag("div"),i.style.width=this.data.sw+"px",i.style.height=this.data.sh+"px",i.style.backgroundColor=this.data.sc),this.layerElement.appendChild(i)};function HShapeElement(i,e,r){this.shapes=[],this.shapesData=i.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(i,e,r),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var i;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),i=this.svgElement;else{i=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;i.setAttribute("width",e.w),i.setAttribute("height",e.h),i.appendChild(this.shapesContainer),this.layerElement.appendChild(i)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=i},HShapeElement.prototype.getTransformedPoint=function(i,e){var r,s=i.length;for(r=0;r0&&u<1&&o[y].push(this.calculateF(u,i,e,r,s,y))):(d=l*l-4*c*a,d>=0&&(g=(-l+bmSqrt(d))/(2*a),g>0&&g<1&&o[y].push(this.calculateF(g,i,e,r,s,y)),m=(-l-bmSqrt(d))/(2*a),m>0&&m<1&&o[y].push(this.calculateF(m,i,e,r,s,y)))));this.shapeBoundingBox.left=bmMin.apply(null,o[0]),this.shapeBoundingBox.top=bmMin.apply(null,o[1]),this.shapeBoundingBox.right=bmMax.apply(null,o[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,o[1])},HShapeElement.prototype.calculateF=function(i,e,r,s,o,a){return bmPow(1-i,3)*e[a]+3*bmPow(1-i,2)*i*r[a]+3*(1-i)*bmPow(i,2)*s[a]+bmPow(i,3)*o[a]},HShapeElement.prototype.calculateBoundingBox=function(i,e){var r,s=i.length;for(r=0;rr&&(r=o)}r*=i.mult}else r=i.v*i.mult;e.x-=r,e.xMax+=r,e.y-=r,e.yMax+=r},HShapeElement.prototype.currentBoxContains=function(i){return this.currentBBox.x<=i.x&&this.currentBBox.y<=i.y&&this.currentBBox.width+this.currentBBox.x>=i.x+i.width&&this.currentBBox.height+this.currentBBox.y>=i.y+i.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var i=this.tempBoundingBox,e=999999;if(i.x=e,i.xMax=-e,i.y=e,i.yMax=-e,this.calculateBoundingBox(this.itemsData,i),i.width=i.xMax=0;e-=1){var s=this.hierarchy[e].finalTransform.mProp;this.mat.translate(-s.p.v[0],-s.p.v[1],s.p.v[2]),this.mat.rotateX(-s.or.v[0]).rotateY(-s.or.v[1]).rotateZ(s.or.v[2]),this.mat.rotateX(-s.rx.v).rotateY(-s.ry.v).rotateZ(s.rz.v),this.mat.scale(1/s.s.v[0],1/s.s.v[1],1/s.s.v[2]),this.mat.translate(s.a.v[0],s.a.v[1],s.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var o;this.p?o=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:o=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var a=Math.sqrt(Math.pow(o[0],2)+Math.pow(o[1],2)+Math.pow(o[2],2)),l=[o[0]/a,o[1]/a,o[2]/a],c=Math.sqrt(l[2]*l[2]+l[0]*l[0]),u=Math.atan2(l[1],c),d=Math.atan2(l[0],-l[2]);this.mat.rotateY(d).rotateX(-u)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var g=!this._prevMat.equals(this.mat);if((g||this.pe._mdf)&&this.comp.threeDElements){r=this.comp.threeDElements.length;var m,y,b;for(e=0;e=i)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(i,e){var r=createTag("div"),s,o;styleDiv(r);var a=createTag("div");if(styleDiv(a),e==="3d"){s=r.style,s.width=this.globalData.compSize.w+"px",s.height=this.globalData.compSize.h+"px";var l="50% 50%";s.webkitTransformOrigin=l,s.mozTransformOrigin=l,s.transformOrigin=l,o=a.style;var c="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";o.transform=c,o.webkitTransform=c}r.appendChild(a);var u={container:a,perspectiveElem:r,startPos:i,endPos:i,type:e};return this.threeDElements.push(u),u},HybridRendererBase.prototype.build3dContainers=function(){var i,e=this.layers.length,r,s="";for(i=0;i=0;i-=1)this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(i,e){for(var r=0,s=this.threeDElements.length;rr?(o=i/this.globalData.compSize.w,a=i/this.globalData.compSize.w,l=0,c=(e-this.globalData.compSize.h*(i/this.globalData.compSize.w))/2):(o=e/this.globalData.compSize.h,a=e/this.globalData.compSize.h,l=(i-this.globalData.compSize.w*(e/this.globalData.compSize.h))/2,c=0);var u=this.resizerElem.style;u.webkitTransform="matrix3d("+o+",0,0,0,0,"+a+",0,0,0,0,1,0,"+l+","+c+",0,1)",u.transform=u.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var i=this.globalData.compSize.w,e=this.globalData.compSize.h,r,s=this.threeDElements.length;for(r=0;r=d;)V/=2,D/=2,F>>>=1;return(V+F)/D};return B.int32=function(){return R.g(4)|0},B.quick=function(){return R.g(4)/4294967296},B.double=B,E(P(R.S),i),(T.pass||k||function(_,V,D,F){return F&&(F.S&&A(F,R),_.state=function(){return A(R,{})}),D?(e[l]=_,V):_})(B,M,"global"in T?T.global:this==e,T.state)}e["seed"+l]=y;function b(C){var T,k=C.length,I=this,M=0,R=I.i=I.j=0,B=I.S=[];for(k||(C=[k++]);Mr){var s=r;r=e,e=s}return Math.min(Math.max(i,e),r)}function radiansToDegrees(i){return i/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(i){return i*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(i,e){if(typeof i=="number"||i instanceof Number)return e=e||0,Math.abs(i-e);e||(e=helperLengthArray);var r,s=Math.min(i.length,e.length),o=0;for(r=0;r.5?d/(2-o-a):d/(o+a),o){case e:l=(r-s)/d+(r1&&(r-=1),r<1/6?i+(e-i)*6*r:r<1/2?e:r<2/3?i+(e-i)*(2/3-r)*6:i}function hslToRgb(i){var e=i[0],r=i[1],s=i[2],o,a,l;if(r===0)o=s,l=s,a=s;else{var c=s<.5?s*(1+r):s+r-s*r,u=2*s-c;o=hue2rgb(u,c,e+1/3),a=hue2rgb(u,c,e),l=hue2rgb(u,c,e-1/3)}return[o,a,l,i[3]]}function linear(i,e,r,s,o){if((s===void 0||o===void 0)&&(s=e,o=r,e=0,r=1),r=r)return o;var l=r===e?0:(i-e)/(r-e);if(!s.length)return s+(o-s)*l;var c,u=s.length,d=createTypedArray("float32",u);for(c=0;c1){for(o=0;o1?e=1:e<0&&(e=0);var l=i(e);if($bm_isInstanceOfArray(o)){var c,u=o.length,d=createTypedArray("float32",u);for(c=0;cdata.k[e].t&&idata.k[e+1].t-i?(s=e+2,o=data.k[e+1].t):(s=e+1,o=data.k[e].t);break}s===-1&&(s=e+1,o=data.k[e].t)}var a={};return a.index=s,a.time=o/elem.comp.globalData.frameRate,a}function key(i){var e,r,s;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+i);i-=1,e={time:data.k[i].t/elem.comp.globalData.frameRate,value:[]};var o=Object.prototype.hasOwnProperty.call(data.k[i],"s")?data.k[i].s:data.k[i-1].e;for(s=o.length,r=0;rE.length-1)&&(b=E.length-1),C=E[E.length-1-b].t,P=x-C);var T,k,I;if(y==="pingpong"){var M=Math.floor((S-C)/P);if(M%2!==0)return this.getValueAtTime((P-(S-C)%P+C)/this.comp.globalData.frameRate,0)}else if(y==="offset"){var R=this.getValueAtTime(C/this.comp.globalData.frameRate,0),B=this.getValueAtTime(x/this.comp.globalData.frameRate,0),_=this.getValueAtTime(((S-C)%P+C)/this.comp.globalData.frameRate,0),V=Math.floor((S-C)/P);if(this.pv.length){for(I=new Array(R.length),k=I.length,T=0;T=x)return this.pv;var P,C;A?(b?P=Math.abs(this.elem.comp.globalData.frameRate*b):P=Math.max(0,this.elem.data.op-x),C=x+P):((!b||b>E.length-1)&&(b=E.length-1),C=E[b].t,P=C-x);var T,k,I;if(y==="pingpong"){var M=Math.floor((x-S)/P);if(M%2===0)return this.getValueAtTime(((x-S)%P+x)/this.comp.globalData.frameRate,0)}else if(y==="offset"){var R=this.getValueAtTime(x/this.comp.globalData.frameRate,0),B=this.getValueAtTime(C/this.comp.globalData.frameRate,0),_=this.getValueAtTime((P-(x-S)%P+x)/this.comp.globalData.frameRate,0),V=Math.floor((x-S)/P)+1;if(this.pv.length){for(I=new Array(R.length),k=I.length,T=0;T1?(E-S)/(b-1):1,P=0,C=0,T;this.pv.length?T=createTypedArray("float32",this.pv.length):T=0;for(var k;PP){var M=C,R=S.c&&C===T-1?0:C+1,B=(P-k)/x[C].addedLength;I=bez.getPointInSegment(S.v[M],S.v[R],S.o[M],S.i[R],B,x[C]);break}else k+=x[C].addedLength;C+=1}return I||(I=S.c?[S.v[0][0],S.v[0][1]]:[S.v[S._length-1][0],S.v[S._length-1][1]]),I},vectorOnPath:function(b,A,S){b==1?b=this.v.c:b==0&&(b=.999);var E=this.pointOnPath(b,A),x=this.pointOnPath(b+.001,A),P=x[0]-E[0],C=x[1]-E[1],T=Math.sqrt(Math.pow(P,2)+Math.pow(C,2));if(T===0)return[0,0];var k=S==="tangent"?[P/T,C/T]:[-C/T,P/T];return k},tangentOnPath:function(b,A){return this.vectorOnPath(b,A,"tangent")},normalOnPath:function(b,A){return this.vectorOnPath(b,A,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([g],u),extendPrototype([g],d),d.prototype.getValueAtTime=c,d.prototype.initiateExpression=ExpressionManager.initiateExpression;var m=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(y,b,A,S,E){var x=m(y,b,A,S,E);return x.propertyIndex=b.ix,x.lock=!1,A===3?expressionHelpers.searchExpressions(y,b.pt,x):A===4&&expressionHelpers.searchExpressions(y,b.ks,x),x.k&&y.addDynamicProperty(x),x}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function i(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(e,r){var s=this.calculateExpression(r);if(e.t!==s){var o={};return this.copyData(o,e),o.t=s.toString(),o.__complete=!1,o}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),r=this.searchExpressions();return this.kf=e||r,this.kf},TextProperty.prototype.searchExpressions=i}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function i(e,r){var s=createNS("feMerge");s.setAttribute("result",e);var o,a;for(a=0;a=d?m=A<0?s:o:m=s+b*Math.pow((c-i)/A,1/r),g[y]=m,y+=1,a+=256/(l-1);return g.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(i){if(i||this.filterManager._mdf){var e,r=this.filterManager.effectElements;this.feFuncRComposed&&(i||r[3].p._mdf||r[4].p._mdf||r[5].p._mdf||r[6].p._mdf||r[7].p._mdf)&&(e=this.getTableValue(r[3].p.v,r[4].p.v,r[5].p.v,r[6].p.v,r[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(i||r[10].p._mdf||r[11].p._mdf||r[12].p._mdf||r[13].p._mdf||r[14].p._mdf)&&(e=this.getTableValue(r[10].p.v,r[11].p.v,r[12].p.v,r[13].p.v,r[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(i||r[17].p._mdf||r[18].p._mdf||r[19].p._mdf||r[20].p._mdf||r[21].p._mdf)&&(e=this.getTableValue(r[17].p.v,r[18].p.v,r[19].p.v,r[20].p.v,r[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(i||r[24].p._mdf||r[25].p._mdf||r[26].p._mdf||r[27].p._mdf||r[28].p._mdf)&&(e=this.getTableValue(r[24].p.v,r[25].p.v,r[26].p.v,r[27].p.v,r[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(i||r[31].p._mdf||r[32].p._mdf||r[33].p._mdf||r[34].p._mdf||r[35].p._mdf)&&(e=this.getTableValue(r[31].p.v,r[32].p.v,r[33].p.v,r[34].p.v,r[35].p.v),this.feFuncA.setAttribute("tableValues",e))}};function SVGDropShadowEffect(i,e,r,s,o){var a=e.container.globalData.renderConfig.filterSize,l=e.data.fs||a;i.setAttribute("x",l.x||a.x),i.setAttribute("y",l.y||a.y),i.setAttribute("width",l.width||a.width),i.setAttribute("height",l.height||a.height),this.filterManager=e;var c=createNS("feGaussianBlur");c.setAttribute("in","SourceAlpha"),c.setAttribute("result",s+"_drop_shadow_1"),c.setAttribute("stdDeviation","0"),this.feGaussianBlur=c,i.appendChild(c);var u=createNS("feOffset");u.setAttribute("dx","25"),u.setAttribute("dy","0"),u.setAttribute("in",s+"_drop_shadow_1"),u.setAttribute("result",s+"_drop_shadow_2"),this.feOffset=u,i.appendChild(u);var d=createNS("feFlood");d.setAttribute("flood-color","#00ff00"),d.setAttribute("flood-opacity","1"),d.setAttribute("result",s+"_drop_shadow_3"),this.feFlood=d,i.appendChild(d);var g=createNS("feComposite");g.setAttribute("in",s+"_drop_shadow_3"),g.setAttribute("in2",s+"_drop_shadow_2"),g.setAttribute("operator","in"),g.setAttribute("result",s+"_drop_shadow_4"),i.appendChild(g);var m=this.createMergeNode(s,[s+"_drop_shadow_4",o]);i.appendChild(m)}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(i){if(i||this.filterManager._mdf){if((i||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),i||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(e[0]*255),Math.round(e[1]*255),Math.round(e[2]*255)))}if((i||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),i||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var r=this.filterManager.effectElements[3].p.v,s=(this.filterManager.effectElements[2].p.v-90)*degToRads,o=r*Math.cos(s),a=r*Math.sin(s);this.feOffset.setAttribute("dx",o),this.feOffset.setAttribute("dy",a)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(i,e,r){this.initialized=!1,this.filterManager=e,this.filterElem=i,this.elem=r,r.matteElement=createNS("g"),r.matteElement.appendChild(r.layerElement),r.matteElement.appendChild(r.transformedElement),r.baseElement=r.matteElement}SVGMatte3Effect.prototype.findSymbol=function(i){for(var e=0,r=_svgMatteSymbols.length;e-1&&i%1==0&&i-1&&i%1==0&&i<=MAX_SAFE_INTEGER}function isArrayLike(i){return i!=null&&isLength(i.length)&&!isFunction$1(i)}var objectProto$a=Object.prototype;function isPrototype(i){var e=i&&i.constructor,r=typeof e=="function"&&e.prototype||objectProto$a;return i===r}function baseTimes(i,e){for(var r=-1,s=Array(i);++r-1}function listCacheSet(i,e){var r=this.__data__,s=assocIndexOf(r,i);return s<0?(++this.size,r.push([i,e])):r[s][1]=e,this}function ListCache(i){var e=-1,r=i==null?0:i.length;for(this.clear();++ec))return!1;var d=a.get(i),g=a.get(e);if(d&&g)return d==e&&g==i;var m=-1,y=!0,b=r&COMPARE_UNORDERED_FLAG$1?new SetCache:void 0;for(a.set(i,e),a.set(e,i);++m{const r=i.__vccOpts||i;for(const[s,o]of e)r[s]=o;return r};const _sfc_main=defineComponent({props:{animationData:{type:Object,default:()=>({})},animationLink:{type:String,default:""},loop:{type:[Boolean,Number],default:!0},autoPlay:{type:Boolean,default:!0},width:{type:[Number,String],default:"100%"},height:{type:[Number,String],default:"100%"},speed:{type:Number,default:1},delay:{type:Number,default:0},direction:{type:String,default:"forward"},pauseOnHover:{type:Boolean,default:!1},playOnHover:{type:Boolean,default:!1},backgroundColor:{type:String,default:"transparent"},pauseAnimation:{type:Boolean,default:!1},renderer:{type:String,default:"svg"},rendererSettings:{type:Object,default:()=>({})},assetsPath:{type:String,default:""}},emits:{onComplete:null,onLoopComplete:null,onEnterFrame:null,onSegmentStart:null,onAnimationLoaded:null},setup(i,{emit:e}){let r=ref(null);const s=ref("");let o=1;const a=R=>document.querySelector(`[data-id="${R}"]`)!==null,l=async R=>{let B=i.autoPlay;i.playOnHover&&(B=!1);let _={};if(isEqual(i.animationData,{})===!1&&(_=cloneDeep(i.animationData)),i.animationLink!="")try{_=await(await fetch(i.animationLink)).json()}catch(F){console.error(F);return}let V=i.loop;typeof V=="number"&&V>0&&(V=V-1),i.delay>0&&(B=!1);const D={container:R,renderer:i.renderer,loop:V,autoplay:B,animationData:_,assetsPath:i.assetsPath};isEqual(i.rendererSettings,{})===!1&&(D.rendererSettings=i.rendererSettings),r=Lottie.loadAnimation(D),setTimeout(()=>{B=i.autoPlay,i.playOnHover?r.pause():B?r.play():r.pause(),e("onAnimationLoaded")},i.delay),r.setSpeed(i.speed),i.direction==="reverse"&&r.setDirection(-1),i.direction==="normal"&&r.setDirection(1),(i.pauseAnimation||i.playOnHover)&&r.pause(),r.addEventListener("loopComplete",()=>{i.direction==="alternate"&&(r.stop(),o=o*-1,r.setDirection(o),r.play()),e("onLoopComplete")}),r.addEventListener("complete",()=>{e("onComplete")}),r.addEventListener("enterFrame",()=>{e("onEnterFrame")}),r.addEventListener("segmentStart",()=>{e("onSegmentStart")})},c=computed(()=>{let R=i.width,B=i.height;return typeof i.width=="number"&&(R=`${i.width}px`),typeof i.height=="number"&&(B=`${i.height}px`),{"--lottie-animation-container-width":R,"--lottie-animation-container-height":B,"--lottie-animation-container-background-color":i.backgroundColor}}),u=()=>{r&&i.pauseOnHover&&r.pause(),r&&i.playOnHover&&r.play()},d=()=>{r&&i.pauseOnHover&&r.play(),r&&i.playOnHover&&r.pause()};watch(()=>i.pauseAnimation,()=>{if((i.pauseOnHover||i.playOnHover)&&i.pauseAnimation){console.error("If you are using pauseAnimation prop for Vue3-Lottie, please remove the props pauseOnHover and playOnHover");return}r&&(i.pauseAnimation?r.pause():r.play())});const g=()=>{r&&r.play()},m=()=>{r&&r.pause()},y=()=>{r&&r.stop()},b=()=>{r&&r.destroy()},A=(R=1)=>{if(R<=0)throw new Error("Speed must be greater than 0");r&&r.setSpeed(R)},S=R=>{r&&(R==="forward"?r.setDirection(1):R==="reverse"&&r.setDirection(-1))},E=(R,B=!0)=>{r&&r.goToAndStop(R,B)},x=(R,B=!0)=>{r&&r.goToAndPlay(R,B)},P=(R,B=!1)=>{r&&r.playSegments(R,B)},C=(R=!0)=>{r&&r.setSubframe(R)},T=(R=!0)=>{if(r)return r.getDuration(R)},k=(R,B=0)=>{r&&r.renderer.elements[B].updateDocumentData(R)},I=R=>{for(var B="",_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",V=_.length,D=0;D{if(i.pauseOnHover&&i.playOnHover)throw new Error("You cannot set pauseOnHover and playOnHover for Vue3-Lottie at the same time.");if(i.animationLink===""&&isEqual(i.animationData,{}))throw new Error("You must provide either animationLink or animationData");const B=setInterval(()=>{if(a(R)){clearInterval(B);const _=document.querySelector(`[data-id="${R}" ]`);_&&l(_)}},0)};return onMounted(async()=>{s.value=I(20),M(s.value)}),{elementid:s,hoverEnded:d,hoverStarted:u,getCurrentStyle:c,play:g,pause:m,stop:y,destroy:b,setSpeed:A,setDirection:S,goToAndStop:E,goToAndPlay:x,playSegments:P,setSubFrame:C,getDuration:T,updateDocumentData:k}}}),_hoisted_1=["data-id"];function _sfc_render(i,e,r,s,o,a){return openBlock(),createElementBlock("div",{"data-id":i.elementid,class:"lottie-animation-container",style:normalizeStyle(i.getCurrentStyle),onMouseenter:e[0]||(e[0]=(...l)=>i.hoverStarted&&i.hoverStarted(...l)),onMouseleave:e[1]||(e[1]=(...l)=>i.hoverEnded&&i.hoverEnded(...l))},null,44,_hoisted_1)}var Vue3Lottie=_export_sfc(_sfc_main,[["render",_sfc_render]]);const v="5.8.1",fr=60,ip=0,op=65,w=300,h=180,nm="学生端下拉刷新动画js",ddd=0,assets=[{id:"comp_0",nm:"小黄",fr:60,layers:[{ddd:0,ind:1,ty:4,nm:"Fill 163",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[35.447,31.957,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:0,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:15,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:27,s:[100,0,100]},{t:39,s:[100,100,100]}],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,1.5],[0,0],[-1.5,0],[0,0],[0,-1.5],[0,0],[1.5,0]],o:[[0,0],[-1.5,0],[0,0],[0,-1.5],[0,0],[1.5,0],[0,0],[0,1.5],[0,0]],v:[[.005,3.911],[.005,3.911],[-2.715,1.191],[-2.715,-1.189],[.005,-3.909],[.005,-3.909],[2.715,-1.189],[2.715,1.191],[.005,3.911]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.176470592618,.176470592618,.176470592618,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 163",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"Fill 161",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[12.424,31.957,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:0,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:15,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:27,s:[100,0,100]},{t:39,s:[100,100,100]}],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,1.5],[0,0],[-1.5,0],[0,-1.5],[0,0],[1.5,0]],o:[[0,0],[-1.5,0],[0,0],[0,-1.5],[1.5,0],[0,0],[0,1.5],[0,0]],v:[[.005,3.911],[.005,3.911],[-2.715,1.191],[-2.715,-1.189],[.005,-3.909],[2.715,-1.189],[2.715,1.191],[.005,3.911]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.176470592618,.176470592618,.176470592618,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 161",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:3,ty:0,nm:"头部",parent:8,refId:"comp_1",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-.338,-43.104,0],ix:2,l:2},a:{a:0,k:[37,32.5,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:74,h:65,ip:0,op:300,st:0,bm:0},{ddd:0,ind:4,ty:4,nm:"头羽毛",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:-.199,s:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:31,s:[11]},{t:59.80078125,s:[0]}],ix:10},p:{a:0,k:[37.277,1.784,0],ix:2,l:2},a:{a:0,k:[-.092,7.609,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-1.39,2.17],[-3.16,-3.82],[-3.08,.03],[2.22,-6.55],[-1.37,-1.98],[7.21,-2.85]],o:[[-7.09,-3.01],[1.4,-2.17],[-1.64,-6.83],[3.17,-.03],[2.54,-3.82],[1.41,2.05],[0,0]],v:[[-.092,7.609],[-8.622,-.181],[-1.732,1.729],[.368,-7.611],[1.748,1.779],[8.618,-.261],[-.092,7.609]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.745098054409,.160784319043,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 109",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:5,ty:4,nm:"右翅膀",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[1]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:26.4,s:[-10]},{t:50.400390625,s:[1]}],ix:10},p:{a:0,k:[17.229,-14.066,0],ix:2,l:2},a:{a:0,k:[-5.048,-8.534,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-2.87,-5.57],[.18,5.37],[1.8,3.44],[1.79,1.96],[3.27,-1.84]],o:[[-3.61,2.74],[4.32,8.34],[1.77,.4],[3.18,.23],[-4.49,-4.8],[0,0]],v:[[-5.048,-8.534],[-5.428,3.156],[2.712,5.706],[5.312,.266],[6.282,-5.354],[-5.048,-8.534]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.75686275959,.321568638086,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 107",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:6,ty:4,nm:"形状结合",parent:5,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[5.711,4.732,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-2.51,-2.48],[1.27,3.11],[4.36,4.67],[-.29,-4.24]],o:[[1.42,3.52],[3.77,3.72],[-1.28,-3.1],[-2.91,-3.11],[0,0]],v:[[-8.848,-.848],[-2.949,8.152],[3.032,8.032],[-4.918,-2.528],[-8.848,-.848]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[0,0],[-2.78,-2.18],[1.62,2.94],[4.86,4.16],[-1.64,-4.02]],o:[[1.8,3.34],[4.15,3.29],[-1.61,-2.95],[-3.23,-2.77],[0,0]],v:[[-5.232,-2.974],[1.638,5.306],[7.558,4.536],[-1.522,-5.084],[-5.232,-2.974]],c:!1},ix:2},nm:"路径 2",mn:"ADBE Vector Shape - Group",hd:!1},{ind:2,ty:"sh",ix:3,ks:{a:0,k:{i:[[0,0],[-2.58,-1.57],[1.63,2.52],[4.54,3.06],[-1,-3.89]],o:[[1.83,2.87],[3.86,2.35],[-1.64,-2.53],[-3.02,-2.04],[0,0]],v:[[-3.263,-6.834],[3.357,-.184],[8.417,-2.114],[-.223,-9.614],[-3.263,-6.834]],c:!1},ix:2},nm:"路径 3",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"mm",mm:2,nm:"合并路径 1",mn:"ADBE Vector Filter - Merge",hd:!1},{ty:"fl",c:{a:0,k:[1,.92549020052,.898039221764,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"形状结合",np:5,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:7,ty:4,nm:"Fill 99",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-3.075,-1.695,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.02,-8.65],[-9.2,-.39],[-.09,8],[0,0]],o:[[0,0],[-.02,7.04],[9.72,.41],[.14,-11.94],[0,0]],v:[[-9.309,-15.965],[-14.879,3.545],[-1.669,16.125],[14.871,2.275],[11.671,-16.145]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.898039221764,.858823537827,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 99",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:8,ty:4,nm:"肚子",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:0,s:[71.995,138.87,0],to:[0,-.5,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:16.801,s:[71.995,135.87,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:36,s:[71.995,138.87,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:55.199,s:[71.995,135.87,0],to:[0,0,0],ti:[0,-.5,0]},{t:65,s:[71.995,138.87,0]}],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.26,-14.06],[-14.89,.67],[.66,9.37],[0,0]],o:[[0,0],[.06,9.23],[20,-.71],[-.81,-11.27],[0,0]],v:[[-13.634,-19.31],[-21.074,3.44],[-.104,19.27],[20.966,-2.47],[13.356,-19.31]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.717647075653,.152941182256,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 97",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:9,ty:4,nm:"左翅膀",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[1]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:26.4,s:[16]},{t:50.400390625,s:[1]}],ix:10},p:{a:0,k:[-15.107,-14.92,0],ix:2,l:2},a:{a:0,k:[6.126,-6.656,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[4.17,-4.67],[-4.95,2.09],[-2.57,2.92],[-1.19,2.38],[2.89,2.39]],o:[[-3.85,-2.4],[-6.25,7.01],[.26,1.8],[.93,3.06],[2.87,-5.91],[0,0]],v:[[6.126,-6.656],[-4.924,-2.836],[-4.395,5.674],[1.615,6.154],[7.215,5.054],[6.126,-6.656]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.75686275959,.321568638086,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 93",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:10,ty:4,nm:"形状结合",parent:9,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-2.632,8.245,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[1.42,-3.23],[-2.44,2.3],[-2.8,5.74],[3.85,-1.78]],o:[[-2.78,2.59],[-2.13,4.85],[2.44,-2.3],[1.87,-3.83],[0,0]],v:[[-2.154,-8.684],[-8.444,.046],[-6.204,5.586],[.816,-5.614],[-2.154,-8.684]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[0,0],[1.05,-3.37],[-2.17,2.56],[-2.14,6.02],[3.16,-2.97]],o:[[-2.47,2.88],[-1.58,5.05],[2.18,-2.56],[1.44,-4.02],[0,0]],v:[[1.125,-6.068],[-4.155,3.312],[-1.315,8.562],[4.415,-3.348],[1.125,-6.068]],c:!1},ix:2},nm:"路径 2",mn:"ADBE Vector Shape - Group",hd:!1},{ind:2,ty:"sh",ix:3,ks:{a:0,k:{i:[[0,0],[.54,-2.96],[-1.78,2.43],[-1.23,5.33],[3.28,-2.32]],o:[[-2.02,2.74],[-.81,4.45],[1.77,-2.43],[.82,-3.55],[0,0]],v:[[5.43,-5.614],[1.59,2.946],[5.21,6.986],[9.12,-3.764],[5.43,-5.614]],c:!1},ix:2},nm:"路径 3",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"mm",mm:2,nm:"合并路径 1",mn:"ADBE Vector Filter - Merge",hd:!1},{ty:"fl",c:{a:0,k:[1,.92549020052,.898039221764,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"形状结合",np:5,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:11,ty:4,nm:"Fill 83",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:0,s:[46]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:25,s:[10.368]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:46,s:[0]},{t:65,s:[46]}],ix:10},p:{a:0,k:[-9.466,17.022,0],ix:2,l:2},a:{a:0,k:[.763,-6.235,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-.47,-2.82],[0,0],[1.15,-.73],[0,0],[.16,-.22],[0,0],[-.55,-.39],[0,0],[-.4,.27],[0,0],[.09,-.29],[0,0],[-.65,-.19],[0,0],[-.2,.64],[0,0],[0,0],[-.18,.22],[0,0],[-1.12,-.42],[0,0],[-.04,-.01],[0,0],[-.37,-.22],[0,0],[-.35,.14],[0,0],[0,0],[0,0],[-.41,-.04],[0,0],[-.16,-.09],[0,0],[0,0],[-.3,.54],[0,0],[.59,.32],[0,0],[.58,.05],[0,0],[0,0],[.44,-.09],[0,0],[0,0],[0,0],[0,0],[0,0],[.06,.18],[0,0],[-.23,2.06],[0,0],[.67,.07],[0,0],[0,0],[.14,-.6]],o:[[-.36,1.52],[0,0],[-1.92,-.73],[0,0],[-.38,.24],[0,0],[-.39,.55],[0,0],[.42,.3],[0,0],[-.24,.38],[0,0],[-.19,.65],[0,0],[.64,.19],[0,0],[0,0],[.06,-.15],[0,0],[.49,-.62],[0,0],[.04,.02],[0,0],[.3,.12],[0,0],[.33,.19],[0,0],[0,0],[0,0],[.48,-.12],[0,0],[.25,.02],[0,0],[0,0],[.56,.21],[0,0],[.33,-.59],[0,0],[-.49,-.27],[0,0],[0,0],[-.44,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-.06,-.09],[0,0],[-.86,-2.52],[0,0],[.07,-.67],[0,0],[0,0],[-.59,.02],[0,0]],v:[[-.587,-5.155],[-.847,1.125],[-.847,1.125],[-5.467,1.215],[-5.467,1.215],[-6.257,1.925],[-6.257,1.925],[-5.957,3.625],[-5.957,3.625],[-4.577,3.645],[-4.577,3.645],[-5.057,4.675],[-5.057,4.675],[-4.227,6.195],[-4.227,6.195],[-2.707,5.375],[-2.707,5.375],[-2.677,5.275],[-2.327,4.695],[-2.327,4.695],[-.037,4.255],[-.037,4.255],[.093,4.305],[.093,4.305],[1.093,4.815],[1.093,4.815],[2.183,4.895],[2.183,4.895],[2.363,4.825],[2.663,4.735],[4.033,4.585],[4.033,4.585],[4.663,4.755],[4.663,4.755],[4.823,4.825],[6.323,4.275],[6.323,4.275],[5.843,2.615],[5.843,2.615],[4.233,2.145],[4.233,2.145],[3.793,2.125],[2.473,2.275],[2.473,2.275],[2.313,2.305],[2.243,2.255],[2.223,2.235],[2.143,2.125],[1.923,1.745],[1.923,1.745],[1.843,-4.895],[1.843,-4.895],[.763,-6.235],[.763,-6.235],[.573,-6.245],[-.587,-5.155]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 83",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:12,ty:4,nm:"Fill 81",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:0,s:[-15]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:19.199,s:[-20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:38.4,s:[16]},{t:65,s:[-15]}],ix:10},p:{a:0,k:[7.939,16.923,0],ix:2,l:2},a:{a:0,k:[-.223,-6.41,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.09,-.6],[0,0],[-.7,-2.78],[0,0],[1.09,-.82],[0,0],[.13,-.23],[0,0],[-.59,-.34],[0,0],[-.37,.31],[0,0],[.06,-.3],[0,0],[-.66,-.14],[0,0],[-.14,.67],[0,0],[0,0],[-.15,.23],[0,0],[-1.15,-.33],[0,0],[-.04,0],[0,0],[-.38,-.18],[0,0],[-.34,.18],[0,0],[0,0],[0,0],[-.41,0],[0,0],[-.18,-.08],[0,0],[0,0],[-.25,.56],[0,0],[.62,.27],[0,0],[.58,0],[0,0],[0,0],[.43,-.13],[0,0],[0,0],[0,0],[0,0],[0,0],[.07,.17],[0,0],[-.05,2.07],[0,0],[.67,.02],[0,0]],o:[[-.6,.07],[0,0],[-.23,1.55],[0,0],[-1.97,-.57],[0,0],[-.35,.26],[0,0],[-.34,.58],[0,0],[.45,.27],[0,0],[-.2,.4],[0,0],[-.14,.66],[0,0],[.66,.13],[0,0],[0,0],[.04,-.16],[0,0],[.45,-.66],[0,0],[.05,.01],[0,0],[.31,.1],[0,0],[.35,.17],[0,0],[0,0],[0,0],[.47,-.16],[0,0],[.26,0],[0,0],[0,0],[.57,.16],[0,0],[.27,-.62],[0,0],[-.51,-.23],[0,0],[0,0],[-.44,.04],[0,0],[0,0],[0,0],[0,0],[0,0],[-.07,-.08],[0,0],[-1.07,-2.45],[0,0],[.02,-.68],[0,0],[0,0]],v:[[-.223,-6.41],[-1.293,-5.23],[-1.293,-5.23],[-1.023,1.06],[-1.023,1.06],[-5.613,1.54],[-5.613,1.54],[-6.333,2.31],[-6.333,2.31],[-5.893,3.98],[-5.893,3.98],[-4.523,3.88],[-4.523,3.88],[-4.903,4.95],[-4.903,4.95],[-3.953,6.4],[-3.953,6.4],[-2.513,5.44],[-2.513,5.44],[-2.483,5.35],[-2.193,4.74],[-2.193,4.74],[.057,4.11],[.057,4.11],[.187,4.14],[.187,4.14],[1.227,4.56],[1.227,4.56],[2.327,4.55],[2.327,4.55],[2.497,4.47],[2.787,4.35],[4.137,4.08],[4.137,4.08],[4.787,4.2],[4.787,4.2],[4.957,4.26],[6.397,3.58],[6.397,3.58],[5.777,1.97],[5.777,1.97],[4.137,1.64],[4.137,1.64],[3.697,1.66],[2.387,1.91],[2.387,1.91],[2.227,1.97],[2.157,1.92],[2.137,1.9],[2.047,1.79],[1.797,1.44],[1.797,1.44],[1.147,-5.17],[1.147,-5.17],[-.043,-6.42],[-.043,-6.42]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 81",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:13,ty:4,nm:"尾巴",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[11.249,15.285,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-1.19,-1.63],[.15,1.97],[1.41,1.26],[0,0]],o:[[0,0],[1.01,1.39],[-.11,-1.37],[-1.41,-1.26],[0,0]],v:[[-3.951,-2.776],[-2.741,5.714],[.809,4.474],[-2.721,-5.416],[-3.951,-2.776]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[0,0],[-.74,-1.88],[-.33,1.95],[1.06,1.57],[0,0]],o:[[0,0],[.63,1.59],[.24,-1.35],[-1.05,-1.57],[0,0]],v:[[-6.205,-2.433],[-7.135,6.097],[-3.395,5.767],[-4.355,-4.683],[-6.205,-2.433]],c:!1},ix:2},nm:"路径 2",mn:"ADBE Vector Shape - Group",hd:!1},{ind:2,ty:"sh",ix:3,ks:{a:0,k:{i:[[0,0],[-.12,-2.01],[-.93,1.74],[.52,1.81],[0,0]],o:[[0,0],[.11,1.71],[.63,-1.21],[-.52,-1.82],[0,0]],v:[[-8.228,-2.433],[-11.748,5.387],[-8.078,6.237],[-5.778,-4.003],[-8.228,-2.433]],c:!1},ix:2},nm:"路径 3",mn:"ADBE Vector Shape - Group",hd:!1},{ind:3,ty:"sh",ix:4,ks:{a:0,k:{i:[[0,0],[-.16,-2.02],[1.16,1.6],[-.25,1.88],[0,0]],o:[[0,0],[.13,1.71],[-.8,-1.11],[.26,-1.87],[0,0]],v:[[.284,-4.339],[4.884,2.911],[1.374,4.261],[-2.366,-5.549],[.284,-4.339]],c:!1},ix:2},nm:"路径 4",mn:"ADBE Vector Shape - Group",hd:!1},{ind:4,ty:"sh",ix:5,ks:{a:0,k:{i:[[0,0],[-.64,-1.92],[1.51,1.27],[.2,1.88],[0,0]],o:[[0,0],[.54,1.63],[-1.05,-.88],[-.2,-1.88],[0,0]],v:[[2.266,-5.531],[8.466,.399],[5.396,2.559],[-.594,-6.061],[2.266,-5.531]],c:!1},ix:2},nm:"路径 5",mn:"ADBE Vector Shape - Group",hd:!1},{ind:5,ty:"sh",ix:6,ks:{a:0,k:{i:[[0,0],[-1.23,-1.59],[1.85,.7],[.81,1.71],[0,0]],o:[[0,0],[1.06,1.36],[-1.28,-.48],[-.82,-1.7],[0,0]],v:[[3.56,-6.811],[11.38,-3.291],[9.2,-.231],[.69,-6.371],[3.56,-6.811]],c:!1},ix:2},nm:"路径 6",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"mm",mm:2,nm:"合并路径 1",mn:"ADBE Vector Filter - Merge",hd:!1},{ty:"fl",c:{a:0,k:[1,.807843148708,.46274510026,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"尾巴",np:8,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0}]},{id:"comp_1",nm:"▽ 编组 7",fr:60,layers:[{ddd:0,ind:1,ty:4,nm:"Fill 125",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[23.155,38.641,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[.51,0],[0,.61],[-.51,0],[0,-.61]],o:[[-.51,0],[0,-.61],[.51,0],[0,.61]],v:[[.001,1.103],[-.919,.003],[.001,-1.107],[.921,.003]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.737254917622,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:-36,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 125",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"Fill 121",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[21.032,42.372,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[3.82,-.22],[.08,-2.52],[-1.16,-1.28],[-1.57,-.26],[-1.95,.97],[-.8,.96],[.56,1.67]],o:[[-.77,-2.27],[-3.67,.21],[-.06,1.78],[1.09,1.22],[2.27,.37],[1.33,-.65],[.93,-1.13],[0,0]],v:[[6.429,-1.819],[-.281,-7.229],[-7.221,1.001],[-5.511,3.781],[-3.011,7.201],[2.659,4.151],[6.769,3.371],[6.429,-1.819]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 121",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:3,ty:4,nm:"Fill 119",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[19.803,46.927,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[2.93,.43],[0,0],[-4.18,-4.77]],o:[[.72,.82],[-2.93,-.43],[0,0],[0,0]],v:[[4.781,-1.938],[-.789,4.142],[-4.879,-2.338],[4.781,-1.938]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.807843148708,.376470595598,.023529412225,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 119",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:4,ty:4,nm:"Fill 117",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[20.882,47.257,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[5.05,.07],[0,0],[-7.02,-7.73]],o:[[.72,.82],[-3.99,-.06],[0,0],[0,0]],v:[[6.421,-2.698],[-1.249,6.292],[-6.519,-3.268],[6.421,-2.698]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.674509823322,.20000000298,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 117",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:5,ty:4,nm:"▨ Fill 148",parent:11,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[7.71,-4.11],[1.27,-7.25],[1.18,-4.83],[-15.84,-4.13],[-17.22,5.66],[3.23,10.85],[20.38,.9]],o:[[0,0],[-7.77,4.14],[-1.83,10.49],[-1.18,4.83],[12.33,3.22],[15.46,-5.08],[-4.06,-13.59],[0,0]],v:[[1.162,-31.978],[-17.888,-28.848],[-31.888,-11.198],[-33.988,5.532],[-21.048,29.842],[21.852,27.552],[32.612,-6.638],[1.162,-31.978]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.717647075653,.152941182256,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 111",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:6,ty:4,nm:"Fill 147",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[42.06,41.577,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.76,5.26],[-5.32,.75],[-.76,-5.26],[5.32,-.75]],o:[[-5.32,.76],[-.76,-5.25],[5.32,-.76],[.76,5.26],[0,0]],v:[[1.381,9.514],[-9.629,1.364],[-1.379,-9.516],[9.631,-1.366],[1.381,9.514]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.807843148708,.780392169952,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 147",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:7,ty:4,nm:"▨ Fill 116",parent:11,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[7.71,-4.11],[1.27,-7.25],[1.18,-4.83],[-15.84,-4.13],[-17.22,5.66],[3.23,10.85],[20.38,.9]],o:[[0,0],[-7.77,4.14],[-1.83,10.49],[-1.18,4.83],[12.33,3.22],[15.46,-5.08],[-4.06,-13.59],[0,0]],v:[[1.162,-31.978],[-17.888,-28.848],[-31.888,-11.198],[-33.988,5.532],[-21.048,29.842],[21.852,27.552],[32.612,-6.638],[1.162,-31.978]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.717647075653,.152941182256,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 111",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:8,ty:4,nm:"Fill 115",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[8.369,41.133,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.65,4.52],[-4.57,.65],[-.65,-4.53],[4.57,-.65]],o:[[-4.58,.65],[-.66,-4.52],[4.57,-.64],[.66,4.52],[0,0]],v:[[1.191,8.189],[-8.279,1.179],[-1.189,-8.191],[8.281,-1.171],[1.191,8.189]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.807843148708,.780392169952,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 115",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:9,ty:4,nm:"▨ Fill 114",parent:11,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[7.71,-4.11],[1.27,-7.25],[1.18,-4.83],[-15.84,-4.13],[-17.22,5.66],[3.23,10.85],[20.38,.9]],o:[[0,0],[-7.77,4.14],[-1.83,10.49],[-1.18,4.83],[12.33,3.22],[15.46,-5.08],[-4.06,-13.59],[0,0]],v:[[1.162,-31.978],[-17.888,-28.848],[-31.888,-11.198],[-33.988,5.532],[-21.048,29.842],[21.852,27.552],[32.612,-6.638],[1.162,-31.978]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.717647075653,.152941182256,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 111",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:10,ty:4,nm:"Fill 113",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[32.823,39.921,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[1.55,-6.35],[-8.47,-5.25],[-8.32,0],[6.7,11.5],[1.85,4.61],[3.3,-10.47],[0,0],[0,0],[13.67,-3.02]],o:[[-6.71,1.48],[-1.19,4.91],[10,6.19],[18.45,0],[-4.72,-8.11],[-4.97,-12.41],[-2.48,7.85],[0,0],[0,0],[0,0]],v:[[-23.945,-21.089],[-28.755,-3.229],[-22.225,19.261],[8.855,24.701],[26.865,-1.169],[21.355,-15.309],[-6.775,-16.969],[-7.985,-2.029],[-15.015,-1.339],[-23.945,-21.089]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.952941179276,.909803926945,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 113",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:11,ty:4,nm:"Fill 111",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[39.052,32.078,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[7.71,-4.11],[1.27,-7.25],[1.18,-4.83],[-15.84,-4.13],[-17.22,5.66],[3.23,10.85],[20.38,.9]],o:[[0,0],[-7.77,4.14],[-1.83,10.49],[-1.18,4.83],[12.33,3.22],[15.46,-5.08],[-4.06,-13.59],[0,0]],v:[[1.162,-31.978],[-17.888,-28.848],[-31.888,-11.198],[-33.988,5.532],[-21.048,29.842],[21.852,27.552],[32.612,-6.638],[1.162,-31.978]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.717647075653,.152941182256,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 111",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0}]},{id:"comp_2",nm:"小蓝",fr:60,layers:[{ddd:0,ind:1,ty:4,nm:"Fill 167",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[39.7,29.4,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:0,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:15,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:27,s:[100,0,100]},{t:39,s:[100,100,100]}],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,1.5],[0,0],[-1.5,0],[0,0],[0,-1.5],[0,0],[1.5,0]],o:[[0,0],[-1.5,0],[0,0],[0,-1.5],[0,0],[1.5,0],[0,0],[0,1.5],[0,0]],v:[[.005,3.911],[.005,3.911],[-2.715,1.191],[-2.715,-1.189],[.005,-3.909],[.005,-3.909],[2.715,-1.189],[2.715,1.191],[.005,3.911]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.176470592618,.176470592618,.176470592618,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 167",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"Fill 165",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[16.858,29.368,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:0,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:15,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:27,s:[100,0,100]},{t:39,s:[100,100,100]}],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,1.5],[0,0],[-1.5,0],[0,-1.5],[0,0],[1.5,0]],o:[[0,0],[-1.5,0],[0,0],[0,-1.5],[1.5,0],[0,0],[0,1.5],[0,0]],v:[[.005,3.911],[.005,3.911],[-2.715,1.191],[-2.715,-1.189],[.005,-3.909],[2.715,-1.189],[2.715,1.191],[.005,3.911]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.176470592618,.176470592618,.176470592618,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 165",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:3,ty:0,nm:"▽ 小蓝头部",parent:7,refId:"comp_3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-4.994,-9.401,0],ix:2,l:2},a:{a:0,k:[37.596,59.391,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:76,h:59,ip:0,op:300,st:0,bm:0},{ddd:0,ind:4,ty:4,nm:"右边翅膀",parent:7,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[1]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:26.4,s:[-10]},{t:50.400390625,s:[1]}],ix:10},p:{a:0,k:[12.654,-12.713,0],ix:2,l:2},a:{a:0,k:[-4.95,-6.93,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-2.64,-4.57],[.12,4.07],[1.07,2.64],[1.65,1.84],[3.44,-1.85]],o:[[-2.25,1.46],[4.22,7.33],[1.66,.52],[1.87,.66],[-4.14,-4.51],[0,0]],v:[[-4.95,-6.93],[-5.72,2.31],[2.81,4.85],[5.31,1.03],[6.35,-3.57],[-4.95,-6.93]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.145098045468,.792156875134,.898039221764,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 73",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:5,ty:4,nm:"形状结合",parent:4,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[5.137,4.215,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-2.53,-2.13],[1.38,2.63],[4.4,4.01],[-.5,-3.54]],o:[[1.55,2.97],[3.78,3.2],[-1.38,-2.62],[-2.94,-2.67],[0,0]],v:[[-8.245,-.565],[-2.135,7.095],[3.545,7.145],[-4.595,-1.875],[-8.245,-.565]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[0,0],[-2.57,-2.09],[1.43,2.6],[4.47,3.93],[-1.4,-3.32]],o:[[1.6,2.94],[3.84,3.13],[-1.43,-2.6],[-2.99,-2.61],[0,0]],v:[[-4.881,-3.567],[1.369,3.983],[7.049,3.923],[-1.251,-4.947],[-4.881,-3.567]],c:!1},ix:2},nm:"路径 2",mn:"ADBE Vector Shape - Group",hd:!1},{ind:2,ty:"sh",ix:3,ks:{a:0,k:{i:[[0,0],[-2.42,-1.57],[1.51,2.28],[4.25,3.03],[-1.41,-2.43]],o:[[1.69,2.59],[3.62,2.36],[-1.51,-2.28],[-2.83,-2.01],[0,0]],v:[[-3.061,-6.381],[3.109,-.141],[7.929,-1.241],[-.141,-8.401],[-3.061,-6.381]],c:!1},ix:2},nm:"路径 3",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"mm",mm:2,nm:"合并路径 1",mn:"ADBE Vector Filter - Merge",hd:!1},{ty:"fl",c:{a:0,k:[.843137264252,.952941179276,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"形状结合",np:5,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:6,ty:4,nm:"Fill 75",parent:7,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-4.995,-1.082,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-.07,-8.19],[-8.55,.08],[.35,7.42],[0,0]],o:[[0,0],[.06,6.52],[9.97,-.09],[-.31,-6.57],[0,0]],v:[[-7.214,-13.7],[-12.364,2.76],[.016,13.7],[12.336,-.01],[7.106,-13.7]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.956862747669,.984313726425,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 75",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:7,ty:4,nm:"肚子",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:0,s:[71.995,138.87,0],to:[0,-.5,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:16.801,s:[71.995,135.87,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:36,s:[71.995,138.87,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:55.199,s:[71.995,135.87,0],to:[0,0,0],ti:[0,-.5,0]},{t:65,s:[71.995,138.87,0]}],ix:2,l:2},a:{a:0,k:[26.02,25.692,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,-13.37],[-14.47,.86],[.47,8.7],[0,0]],o:[[0,0],[.06,8.57],[15.88,-.56],[-.56,-10.44],[0,0]],v:[[-13.451,-17.975],[-19.531,3.595],[.709,17.895],[19.489,-.375],[14.009,-17.975]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.039215687662,.717647075653,.882352948189,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 65",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:8,ty:4,nm:"Fill 63",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[-7]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:31,s:[11]},{t:60,s:[-7]}],ix:10},p:{a:0,k:[37.667,2.395,0],ix:2,l:2},a:{a:0,k:[-3.85,6.385,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-1.81,-.93],[0,0],[-.95,1.84],[0,0],[1.81,.93],[0,0],[.56,0],[0,0],[.67,-1.3]],o:[[-.94,1.85],[0,0],[1.81,.93],[0,0],[.95,-1.84],[0,0],[-.53,-.27],[0,0],[-1.36,0],[0,0]],v:[[-2.45,-4.424],[-3.85,6.385],[-3.85,6.385],[4.11,-1.055],[4.11,-1.055],[2.54,-6.075],[2.54,-6.075],[.89,-6.475],[.89,-6.475],[-2.45,-4.424]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.145098045468,.792156875134,.898039221764,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 63",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:9,ty:4,nm:"Fill 59",parent:7,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[-7]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:31.199,s:[4]},{t:60,s:[-7]}],ix:10},p:{a:0,k:[12.646,9.967,0],ix:2,l:2},a:{a:0,k:[-4.135,-3.705,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[3.43,1.89],[1.26,.02],[0,0],[-1.43,-2.65],[-.59,.43],[0,0],[-.98,.96],[0,0]],o:[[3.36,1.78],[-1.65,-.92],[-1.35,-.02],[-.52,.85],[1.32,2.44],[.83,-.6],[0,0],[1.2,-1.18],[0,0]],v:[[2.335,.155],[1.985,-3.185],[-1.995,-4.615],[-4.135,-3.705],[-3.825,1.175],[.895,4.535],[.735,2.505],[4.375,3.815],[2.335,.155]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.145098045468,.792156875134,.898039221764,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 59",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:10,ty:4,nm:"左边翅膀",parent:7,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[1]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:26.4,s:[16]},{t:50.400390625,s:[1]}],ix:10},p:{a:0,k:[-14.451,-11.229,0],ix:2,l:2},a:{a:0,k:[4.486,-5.785,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[3.14,-3.7],[-3.49,1.36],[-1.95,1.73],[-1.09,2],[2.67,2.4]],o:[[-1.95,-1.5],[-5.04,5.91],[.05,1.6],[.01,1.82],[2.62,-4.98],[0,0]],v:[[4.486,-5.785],[-3.744,-3.605],[-3.304,4.555],[.766,5.545],[5.076,5.025],[4.486,-5.785]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.145098045468,.792156875134,.898039221764,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 55",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:11,ty:4,nm:"形状结合",parent:10,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-2.062,6.371,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[1.06,-2.84],[-1.85,2],[-2.11,5.05],[2.91,-1.53]],o:[[-2.09,2.25],[-1.61,4.27],[1.84,-2.01],[1.41,-3.36],[0,0]],v:[[-2.037,-7.299],[-6.777,.341],[-5.067,5.281],[.223,-4.549],[-2.037,-7.299]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[0,0],[1.01,-2.86],[-1.81,2.04],[-2.02,5.09],[2.44,-2.24]],o:[[-2.05,2.29],[-1.53,4.29],[1.8,-2.04],[1.34,-3.39],[0,0]],v:[[1.605,-5.313],[-2.995,2.417],[-1.195,7.317],[3.915,-2.603],[1.605,-5.313]],c:!1},ix:2},nm:"路径 2",mn:"ADBE Vector Shape - Group",hd:!1},{ind:2,ty:"sh",ix:3,ks:{a:0,k:{i:[[0,0],[.61,-2.58],[-1.51,2.01],[-1.3,4.61],[1.66,-1.97]],o:[[-1.72,2.27],[-.93,3.86],[1.51,-2.01],[.87,-3.07],[0,0]],v:[[4.603,-4.617],[1.103,2.653],[3.543,6.483],[7.243,-2.707],[4.603,-4.617]],c:!1},ix:2},nm:"路径 3",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"mm",mm:2,nm:"合并路径 1",mn:"ADBE Vector Filter - Merge",hd:!1},{ty:"fl",c:{a:0,k:[.843137264252,.952941179276,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"形状结合",np:5,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:12,ty:4,nm:"Fill 7",parent:7,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:0,s:[46]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:25,s:[10.368]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:46,s:[0]},{t:65,s:[46]}],ix:10},p:{a:0,k:[-8.409,14.143,0],ix:2,l:2},a:{a:0,k:[.573,-6.245,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-.47,-2.82],[0,0],[1.15,-.73],[0,0],[.16,-.22],[0,0],[-.55,-.39],[0,0],[-.4,.27],[0,0],[.09,-.29],[0,0],[-.65,-.19],[0,0],[-.2,.64],[0,0],[0,0],[-.17,.22],[0,0],[-1.12,-.42],[0,0],[-.04,-.01],[0,0],[-.37,-.22],[0,0],[-.35,.14],[0,0],[0,0],[0,0],[-.41,-.04],[0,0],[-.16,-.09],[0,0],[0,0],[-.3,.54],[0,0],[.59,.32],[0,0],[.58,.05],[0,0],[0,0],[.44,-.09],[0,0],[0,0],[0,0],[0,0],[0,0],[.06,.18],[0,0],[-.23,2.06],[0,0],[.67,.07],[0,0],[0,0],[.14,-.6]],o:[[-.36,1.52],[0,0],[-1.92,-.73],[0,0],[-.38,.24],[0,0],[-.39,.55],[0,0],[.42,.3],[0,0],[-.24,.38],[0,0],[-.19,.65],[0,0],[.64,.19],[0,0],[0,0],[.06,-.15],[0,0],[.5,-.62],[0,0],[.04,.02],[0,0],[.3,.12],[0,0],[.33,.19],[0,0],[0,0],[0,0],[.48,-.12],[0,0],[.25,.02],[0,0],[0,0],[.56,.21],[0,0],[.33,-.59],[0,0],[-.49,-.27],[0,0],[0,0],[-.44,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-.06,-.09],[0,0],[-.86,-2.52],[0,0],[.07,-.67],[0,0],[0,0],[-.59,.02],[0,0]],v:[[-.587,-5.155],[-.847,1.125],[-.847,1.125],[-5.467,1.215],[-5.467,1.215],[-6.257,1.925],[-6.257,1.925],[-5.957,3.625],[-5.957,3.625],[-4.577,3.645],[-4.577,3.645],[-5.057,4.675],[-5.057,4.675],[-4.227,6.195],[-4.227,6.195],[-2.707,5.375],[-2.707,5.375],[-2.677,5.275],[-2.337,4.695],[-2.337,4.695],[-.037,4.255],[-.037,4.255],[.093,4.305],[.093,4.305],[1.093,4.815],[1.093,4.815],[2.183,4.895],[2.183,4.895],[2.363,4.825],[2.663,4.735],[4.033,4.585],[4.033,4.585],[4.663,4.755],[4.663,4.755],[4.823,4.825],[6.323,4.275],[6.323,4.275],[5.843,2.615],[5.843,2.615],[4.233,2.145],[4.233,2.145],[3.793,2.125],[2.473,2.275],[2.473,2.275],[2.313,2.305],[2.243,2.255],[2.223,2.235],[2.143,2.125],[1.923,1.745],[1.923,1.745],[1.843,-4.895],[1.843,-4.895],[.763,-6.235],[.763,-6.235],[.573,-6.245],[-.587,-5.155]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 7",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:13,ty:4,nm:"Fill 5",parent:7,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:0,s:[-15]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:19.199,s:[-20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:38.4,s:[16]},{t:65,s:[-15]}],ix:10},p:{a:0,k:[7.582,13.805,0],ix:2,l:2},a:{a:0,k:[-.223,-6.41,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.09,-.6],[0,0],[-.7,-2.78],[0,0],[1.09,-.82],[0,0],[.13,-.23],[0,0],[-.58,-.34],[0,0],[-.37,.31],[0,0],[.06,-.3],[0,0],[-.66,-.13],[0,0],[-.08,0],[0,0],[0,0],[-.12,.58],[0,0],[0,0],[-.15,.23],[0,0],[-1.15,-.33],[0,0],[-.04,-.01],[0,0],[-.38,-.18],[0,0],[-.35,.17],[0,0],[0,0],[0,0],[-.41,0],[0,0],[-.17,-.08],[0,0],[0,0],[-.25,.56],[0,0],[.62,.27],[0,0],[.58,0],[0,0],[0,0],[.43,-.13],[0,0],[0,0],[0,0],[0,0],[0,0],[.07,.17],[0,0],[-.05,2.07],[0,0],[.67,.02],[0,0]],o:[[-.6,.07],[0,0],[-.23,1.55],[0,0],[-1.97,-.57],[0,0],[-.35,.26],[0,0],[-.34,.58],[0,0],[.46,.27],[0,0],[-.2,.4],[0,0],[-.14,.66],[0,0],[.08,.02],[0,0],[0,0],[.57,0],[0,0],[0,0],[.04,-.15],[0,0],[.44,-.67],[0,0],[.05,.01],[0,0],[.31,.1],[0,0],[.35,.17],[0,0],[0,0],[0,0],[.47,-.16],[0,0],[.26,0],[0,0],[0,0],[.58,.16],[0,0],[.27,-.62],[0,0],[-.51,-.23],[0,0],[0,0],[-.44,.03],[0,0],[0,0],[0,0],[0,0],[0,0],[-.07,-.08],[0,0],[-1.07,-2.45],[0,0],[.02,-.68],[0,0],[0,0]],v:[[-.223,-6.41],[-1.293,-5.23],[-1.293,-5.23],[-1.023,1.061],[-1.023,1.061],[-5.613,1.54],[-5.613,1.54],[-6.333,2.311],[-6.333,2.311],[-5.903,3.98],[-5.903,3.98],[-4.523,3.88],[-4.523,3.88],[-4.903,4.951],[-4.903,4.951],[-3.953,6.391],[-3.953,6.391],[-3.713,6.421],[-3.713,6.421],[-3.703,6.421],[-2.513,5.441],[-2.513,5.441],[-2.483,5.34],[-2.193,4.74],[-2.193,4.74],[.057,4.111],[.057,4.111],[.187,4.141],[.187,4.141],[1.227,4.561],[1.227,4.561],[2.327,4.551],[2.327,4.551],[2.497,4.471],[2.787,4.35],[4.137,4.081],[4.137,4.081],[4.777,4.201],[4.777,4.201],[4.947,4.26],[6.397,3.581],[6.397,3.581],[5.777,1.971],[5.777,1.971],[4.137,1.641],[4.137,1.641],[3.697,1.661],[2.387,1.911],[2.387,1.911],[2.227,1.96],[2.157,1.911],[2.137,1.9],[2.047,1.79],[1.797,1.441],[1.797,1.441],[1.147,-5.169],[1.147,-5.169],[-.043,-6.419],[-.043,-6.419]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 5",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0}]},{id:"comp_3",nm:"▽ 小蓝头部",fr:60,layers:[{ddd:0,ind:1,ty:4,nm:"▨ Fill 154",parent:17,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.34,0],[0,-16.8],[-17.99,0],[0,24.43]],o:[[0,-16.79],[-23.2,0],[0,29.06],[17.98,0],[0,0]],v:[[32.839,1.127],[-.462,-29.693],[-32.842,1.167],[-.462,29.697],[32.839,1.127]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.074509806931,.772549033165,.886274516582,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 77",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"Fill 153",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[40.578,37.269,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.3,.8],[-2.12,.11],[-.3,-.8],[2.12,-.11]],o:[[-2.11,.12],[-.3,-.8],[2.11,-.12],[.3,.8],[0,0]],v:[[.545,1.446],[-3.825,.206],[-.545,-1.444],[3.825,-.204],[.545,1.446]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.807843148708,.780392169952,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 153",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:3,ty:4,nm:"▨ Fill 152",parent:17,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.34,0],[0,-16.8],[-17.99,0],[0,24.43]],o:[[0,-16.79],[-23.2,0],[0,29.06],[17.98,0],[0,0]],v:[[32.839,1.127],[-.462,-29.693],[-32.842,1.167],[-.462,29.697],[32.839,1.127]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.074509806931,.772549033165,.886274516582,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 77",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:4,ty:4,nm:"Fill 151",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[15.731,37.269,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.3,.8],[-2.12,.11],[-.3,-.8],[2.12,-.11]],o:[[-2.11,.12],[-.3,-.8],[2.11,-.12],[.3,.8],[0,0]],v:[[.545,1.446],[-3.825,.206],[-.545,-1.444],[3.825,-.204],[.545,1.446]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.807843148708,.780392169952,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 151",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:6,ty:3,nm:"▽ 嘴巴",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[27.449,37.126,0],ix:2,l:2},a:{a:0,k:[6.267,8.121,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:7,ty:4,nm:"Fill 145",parent:6,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[7.881,3.41,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.44,0],[0,.54],[-.44,0],[0,-.54]],o:[[0,.54],[-.44,0],[0,-.54],[.44,0],[0,0]],v:[[.793,.003],[.003,.973],[-.797,.003],[.003,-.977],[.793,.003]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.737254917622,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:-33,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 145",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:8,ty:4,nm:"Fill 141",parent:6,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[6.267,6.386,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[3.32,-.19],[.07,-2.23],[-1,-1.14],[-1.37,-.23],[-1.69,.85],[-.7,.85],[.5,1.48]],o:[[-.66,-2],[-3.18,.18],[-.05,1.57],[.95,1.07],[1.97,.33],[1.16,-.58],[.81,-.99],[0,0]],v:[[5.573,-1.606],[-.247,-6.376],[-6.267,.884],[-4.787,3.344],[-2.607,6.354],[2.303,3.664],[5.873,2.974],[5.573,-1.606]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 141",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:9,ty:4,nm:"Fill 139",parent:6,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[5.199,10.404,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[2.54,.37],[0,0],[-3.62,-4.21]],o:[[.63,.72],[-2.54,-.38],[0,0],[0,0]],v:[[4.146,-1.708],[-.684,3.662],[-4.234,-2.068],[4.146,-1.708]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.807843148708,.376470595598,.023529412225,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 139",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:10,ty:4,nm:"Fill 137",parent:6,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[6.137,10.695,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[4.38,.07],[0,0],[-6.09,-6.81]],o:[[.62,.73],[-3.46,-.05],[0,0],[0,0]],v:[[5.573,-2.387],[-1.087,5.543],[-5.657,-2.877],[5.573,-2.387]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.674509823322,.20000000298,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 137",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:11,ty:4,nm:"▨ Fill 96",parent:17,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.34,0],[0,-16.8],[-17.99,0],[0,24.43]],o:[[0,-16.79],[-23.2,0],[0,29.06],[17.98,0],[0,0]],v:[[32.839,1.127],[-.462,-29.693],[-32.842,1.167],[-.462,29.697],[32.839,1.127]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.074509806931,.772549033165,.886274516582,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 77",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:12,ty:4,nm:"Fill 95",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[27.286,30.354,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-3.67,.14],[-.93,-4.03],[4.38,-6.88]],o:[[0,0],[2.75,-.1],[0,0],[0,0]],v:[[-5.084,3.265],[.146,-3.265],[5.086,3.245],[-5.084,3.265]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 95",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:13,ty:4,nm:"▨ Fill 86",parent:17,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.34,0],[0,-16.8],[-17.99,0],[0,24.43]],o:[[0,-16.79],[-23.2,0],[0,29.06],[17.98,0],[0,0]],v:[[32.839,1.127],[-.462,-29.693],[-32.842,1.167],[-.462,29.697],[32.839,1.127]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.074509806931,.772549033165,.886274516582,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 77",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:14,ty:4,nm:"Fill 85",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[45.149,32.572,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[7.79,0],[0,9.1],[-7.79,0],[0,-9.1]],o:[[0,9.1],[-7.79,0],[0,-9.1],[7.79,0],[0,0]],v:[[14.111,.003],[.001,16.473],[-14.109,.003],[.001,-16.477],[14.111,.003]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.956862747669,.984313726425,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 85",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:15,ty:4,nm:"▨ Fill 80",parent:17,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.34,0],[0,-16.8],[-17.99,0],[0,24.43]],o:[[0,-16.79],[-23.2,0],[0,29.06],[17.98,0],[0,0]],v:[[32.839,1.127],[-.462,-29.693],[-32.842,1.167],[-.462,29.697],[32.839,1.127]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.074509806931,.772549033165,.886274516582,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 77",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:16,ty:4,nm:"Fill 79",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[12.009,31.87,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[6.63,0],[0,7.74],[-6.63,0],[0,-7.75]],o:[[0,7.74],[-6.63,0],[0,-7.75],[6.63,0],[0,0]],v:[[12.01,.005],[.001,14.025],[-12.01,.005],[.001,-14.025],[12.01,.005]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.956862747669,.984313726425,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 79",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:17,ty:4,nm:"Fill 77",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[42.898,29.693,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.34,0],[0,-16.8],[-17.99,0],[0,24.43]],o:[[0,-16.79],[-23.2,0],[0,29.06],[17.98,0],[0,0]],v:[[32.839,1.127],[-.462,-29.693],[-32.842,1.167],[-.462,29.697],[32.839,1.127]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.074509806931,.772549033165,.886274516582,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 77",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0}]},{id:"comp_4",nm:"小红",fr:60,layers:[{ddd:0,ind:1,ty:4,nm:"Fill 159",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[38.004,30.016,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:0,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:15,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:27,s:[100,0,100]},{t:39,s:[100,100,100]}],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,1.5],[0,0],[-1.5,0],[0,0],[0,-1.5],[0,0],[1.5,0]],o:[[0,0],[-1.5,0],[0,0],[0,-1.5],[0,0],[1.5,0],[0,0],[0,1.5],[0,0]],v:[[-.005,3.911],[-.005,3.911],[-2.715,1.191],[-2.715,-1.189],[-.005,-3.909],[-.005,-3.909],[2.715,-1.189],[2.715,1.191],[-.005,3.911]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.176470592618,.176470592618,.176470592618,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 159",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"Fill 157",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[15.698,30.016,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:0,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:15,s:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:27,s:[100,0,100]},{t:39,s:[100,100,100]}],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,1.5],[0,0],[-1.49,0],[0,0],[0,-1.5],[0,0],[1.51,0]],o:[[0,0],[-1.49,0],[0,0],[0,-1.5],[0,0],[1.51,0],[0,0],[0,1.5],[0,0]],v:[[-.005,3.911],[-.005,3.911],[-2.715,1.191],[-2.715,-1.189],[-.005,-3.909],[-.005,-3.909],[2.715,-1.189],[2.715,1.191],[-.005,3.911]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.176470592618,.176470592618,.176470592618,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 157",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:3,ty:0,nm:"▽ 头部",parent:8,refId:"comp_5",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-2.914,-10.744,0],ix:2,l:2},a:{a:0,k:[36.182,59.861,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:74,h:60,ip:0,op:300,st:0,bm:0},{ddd:0,ind:4,ty:4,nm:"Fill 61",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:-.199,s:[-2]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:31,s:[9]},{t:59.80078125,s:[-2]}],ix:10},p:{a:0,k:[39.549,2.06,0],ix:2,l:2},a:{a:0,k:[-1.625,5.752,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.95,-1.62],[.41,-1.15],[.03,.09],[.47,.28],[.82,-.32],[-.5,-1.3],[-1.53,-.67],[-.02,-.01],[-.96,1.62],[1.59,.94]],o:[[-1.59,-.94],[-.29,.48],[-.03,-.11],[-.2,-.52],[-.67,-.4],[-1.38,.53],[.43,1.12],[.02,.02],[1.59,.94],[.95,-1.62],[0,0]],v:[[4.676,-5.294],[.066,-4.064],[-1.054,-1.454],[-1.154,-1.754],[-2.194,-2.974],[-4.554,-3.144],[-6.144,.176],[-1.854,5.586],[-1.794,5.646],[5.826,-.664],[4.676,-5.294]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.51372551918,.501960813999,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 61",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:5,ty:4,nm:"Fill 39",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[1]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:26.4,s:[-10]},{t:50.400390625,s:[1]}],ix:10},p:{a:0,k:[11.124,-9.754,0],ix:2,l:2},a:{a:0,k:[-7.484,-4.889,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-3.23,-4.33],[.67,4.12],[1.31,2.26],[3.27,2.35],[2.61,-1.53]],o:[[-3.46,2.27],[4.61,6.16],[1.55,.25],[1.75,.34],[-4.29,-3.53],[0,0]],v:[[-4.765,-7.133],[-5.175,3.547],[3.325,4.647],[5.585,.667],[5.545,-4.653],[-4.765,-7.133]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.51372551918,.51372551918,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 39",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:6,ty:4,nm:"形状结合",parent:5,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[4.274,3.195,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-2.82,-1.29],[2.03,2.21],[5.02,2.54],[-2.56,-3.09]],o:[[2.29,2.51],[4.23,1.93],[-2.03,-2.21],[-3.34,-1.7],[0,0]],v:[[-7.108,1.628],[.552,7.328],[5.322,5.318],[-4.488,-1.042],[-7.108,1.628]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[0,0],[-2.68,-1.31],[1.62,2.18],[4.82,2.34],[-2.28,-2.55]],o:[[2.04,2.29],[4.03,1.96],[-1.72,-2.31],[-3.23,-1.57],[0,0]],v:[[-4.17,-1.798],[2.91,3.602],[7.81,1.932],[-1.32,-3.828],[-4.17,-1.798]],c:!1},ix:2},nm:"路径 2",mn:"ADBE Vector Shape - Group",hd:!1},{ind:2,ty:"sh",ix:3,ks:{a:0,k:{i:[[0,0],[-2.4,-1],[1.5,2],[4.54,1.41],[-2,-2.44]],o:[[1.94,2.05],[3.59,1.5],[-1.44,-1.92],[-2.79,-.86],[0,0]],v:[[-2.919,-5.47],[3.591,-.89],[7.631,-2.74],[-.509,-7.82],[-2.919,-5.47]],c:!1},ix:2},nm:"路径 3",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"mm",mm:2,nm:"合并路径 1",mn:"ADBE Vector Filter - Merge",hd:!1},{ty:"fl",c:{a:0,k:[1,.92549020052,.898039221764,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"形状结合",np:5,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:7,ty:4,nm:"Fill 41",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-2.916,-1.869,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[1.41,-9.6],[-8.24,-.73],[1.88,10.33],[0,0]],o:[[0,0],[-.95,6.46],[11.64,1.02],[-1.18,-6.46],[0,0]],v:[[-9.342,-14.293],[-13.192,1.267],[-1.972,14.217],[12.958,-3.983],[8.988,-14.043]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.898039221764,.858823537827,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 41",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:8,ty:4,nm:"肚子",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:0,s:[71.995,138.87,0],to:[0,-.5,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:16.801,s:[71.995,135.87,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:36,s:[71.995,138.87,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:55.199,s:[71.995,135.87,0],to:[0,0,0],ti:[0,-.5,0]},{i:{x:.833,y:.833},o:{x:.333,y:.333},t:65,s:[71.995,138.87,0],to:[0,0,0],ti:[0,0,0]},{t:72,s:[71.995,138.87,0]}],ix:2,l:2},a:{a:0,k:[26.02,25.692,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.86,-14.81],[-14.92,1.22],[.78,8.67],[0,0]],o:[[0,0],[.06,8.57],[14.73,-1.93],[-.78,-8.68],[0,0]],v:[[-12.86,-16.717],[-18.52,2.213],[2.2,16.583],[18.38,-3.277],[15.09,-16.717]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 31",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:9,ty:4,nm:"Fill 29",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[1]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:26.4,s:[16]},{t:50.400390625,s:[1]}],ix:10},p:{a:0,k:[-8.519,-9.909,0],ix:2,l:2},a:{a:0,k:[7.044,-4.863,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[4.27,-3.31],[-4.1,.75],[-2.24,1.34],[-2.29,3.32],[1.58,2.58]],o:[[-2.32,-3.42],[-6.07,4.72],[-.22,1.55],[-.31,1.75],[3.45,-4.35],[0,0]],v:[[7.044,-4.863],[-3.636,-5.073],[-4.586,3.447],[-.556,5.637],[4.754,5.487],[7.044,-4.863]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.51372551918,.51372551918,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 29",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:10,ty:4,nm:"形状结合",parent:9,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-3.099,4.387,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[1.23,-2.85],[-2.17,2.07],[-2.45,5.06],[3.05,-2.62]],o:[[-2.46,2.33],[-1.86,4.26],[2.17,-2.07],[1.64,-3.38],[0,0]],v:[[-1.771,-7.093],[-7.321,.667],[-5.231,5.397],[.949,-4.523],[-1.771,-7.093]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[0,0],[1.26,-2.71],[-2.15,1.66],[-2.25,4.86],[2.51,-2.33]],o:[[-2.25,2.08],[-1.88,4.06],[2.28,-1.76],[1.51,-3.26],[0,0]],v:[[1.702,-4.218],[-3.558,2.962],[-1.798,7.822],[3.792,-1.408],[1.702,-4.218]],c:!1},ix:2},nm:"路径 2",mn:"ADBE Vector Shape - Group",hd:!1},{ind:2,ty:"sh",ix:3,ks:{a:0,k:{i:[[0,0],[.96,-2.41],[-1.97,1.53],[-1.32,4.57],[2.4,-2.04]],o:[[-2.01,1.98],[-1.44,3.62],[1.9,-1.48],[.81,-2.81],[0,0]],v:[[5.402,-3.043],[.942,3.547],[2.862,7.567],[7.792,-.673],[5.402,-3.043]],c:!1},ix:2},nm:"路径 3",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"mm",mm:2,nm:"合并路径 1",mn:"ADBE Vector Filter - Merge",hd:!1},{ty:"fl",c:{a:0,k:[1,.92549020052,.898039221764,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"形状结合",np:5,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:11,ty:4,nm:"尾巴",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[-7]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:31.199,s:[4]},{t:60,s:[-7]}],ix:10},p:{a:0,k:[13.352,9.269,0],ix:2,l:2},a:{a:0,k:[-1.382,-4.064,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[2.13,.99],[1.59,.24],[-.09,-3.33],[-1.4,.17],[0,0],[-1.86,1.43],[0,0]],o:[[2.49,1.38],[-2.39,-1.11],[-1.22,-.19],[.07,2.59],[2.05,-.25],[0,0],[2.11,-1.63],[0,0]],v:[[1.458,-.114],[2.978,-2.724],[-1.382,-4.064],[-4.092,-.684],[-1.492,4.106],[-.692,1.636],[2.498,3.436],[1.458,-.114]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.51372551918,.51372551918,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 21",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:12,ty:4,nm:"Fill 1备份",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:0,s:[46]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:25,s:[10.368]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:46,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:65,s:[46]},{t:72,s:[46]}],ix:10},p:{a:0,k:[-9.461,12.873,0],ix:2,l:2},a:{a:0,k:[-.223,-6.41,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.09,-.6],[0,0],[-.7,-2.78],[0,0],[1.09,-.82],[0,0],[.13,-.23],[0,0],[-.59,-.34],[0,0],[-.37,.31],[0,0],[.06,-.3],[0,0],[-.66,-.13],[0,0],[-.14,.67],[0,0],[0,0],[-.15,.23],[0,0],[-1.15,-.33],[0,0],[-.04,0],[0,0],[-.38,-.18],[0,0],[-.34,.18],[0,0],[0,0],[0,0],[-.41,0],[0,0],[-.18,-.08],[0,0],[0,0],[-.25,.56],[0,0],[.62,.27],[0,-.01],[.58,0],[0,0],[0,0],[.43,-.13],[0,0],[0,0],[0,0],[0,0],[0,0],[.07,.17],[0,0],[-.05,2.07],[0,0],[.67,.01],[0,0]],o:[[-.59,.07],[0,0],[-.23,1.55],[0,0],[-1.97,-.57],[0,0],[-.35,.26],[0,0],[-.34,.58],[0,0],[.45,.27],[0,0],[-.2,.4],[0,0],[-.14,.66],[0,0],[.66,.14],[0,0],[0,0],[.04,-.16],[0,0],[.45,-.67],[0,0],[.05,.01],[0,0],[.31,.1],[0,0],[.35,.17],[0,0],[0,0],[0,0],[.47,-.16],[0,0],[.26,0],[0,0],[0,0],[.57,.16],[0,0],[.27,-.62],[0,-.01],[-.51,-.23],[0,0],[0,0],[-.44,.03],[0,0],[0,0],[0,0],[0,0],[0,0],[-.07,-.08],[0,0],[-1.07,-2.45],[0,0],[.02,-.68],[0,0],[0,0]],v:[[-.223,-6.41],[-1.293,-5.23],[-1.293,-5.23],[-1.023,1.06],[-1.023,1.06],[-5.613,1.54],[-5.613,1.54],[-6.333,2.31],[-6.333,2.31],[-5.893,3.98],[-5.893,3.98],[-4.523,3.88],[-4.523,3.88],[-4.903,4.95],[-4.903,4.95],[-3.953,6.39],[-3.953,6.39],[-2.513,5.44],[-2.513,5.44],[-2.483,5.35],[-2.193,4.74],[-2.193,4.74],[.057,4.11],[.057,4.11],[.187,4.14],[.187,4.14],[1.227,4.56],[1.227,4.56],[2.327,4.55],[2.327,4.55],[2.507,4.47],[2.787,4.35],[4.137,4.08],[4.137,4.08],[4.787,4.2],[4.787,4.2],[4.957,4.26],[6.397,3.58],[6.397,3.58],[5.777,1.97],[5.777,1.97],[4.137,1.64],[4.137,1.64],[3.697,1.66],[2.387,1.91],[2.387,1.91],[2.227,1.96],[2.157,1.91],[2.137,1.9],[2.047,1.79],[1.797,1.44],[1.797,1.44],[1.147,-5.17],[1.147,-5.17],[-.043,-6.42],[-.043,-6.42]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 1备份",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0},{ddd:0,ind:13,ty:4,nm:"Fill 1",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:0,s:[-15]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:22,s:[-20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:41.201,s:[16]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:65,s:[-15]},{t:72,s:[-14]}],ix:10},p:{a:0,k:[7.289,12.873,0],ix:2,l:2},a:{a:0,k:[-.223,-6.41,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.09,-.6],[0,0],[-.7,-2.78],[0,0],[1.09,-.82],[0,0],[.13,-.23],[0,0],[-.59,-.34],[0,0],[-.37,.31],[0,0],[.06,-.3],[0,0],[-.66,-.13],[0,0],[-.14,.67],[0,0],[0,0],[-.15,.23],[0,0],[-1.15,-.33],[0,0],[-.04,0],[0,0],[-.38,-.18],[0,0],[-.34,.18],[0,0],[0,0],[0,0],[-.41,0],[0,0],[-.18,-.08],[0,0],[0,0],[-.25,.56],[0,0],[.62,.27],[0,-.01],[.58,0],[0,0],[0,0],[.43,-.13],[0,0],[0,0],[0,0],[0,0],[0,0],[.07,.17],[0,0],[-.05,2.07],[0,0],[.67,.01],[0,0]],o:[[-.59,.07],[0,0],[-.23,1.55],[0,0],[-1.97,-.57],[0,0],[-.35,.26],[0,0],[-.34,.58],[0,0],[.45,.27],[0,0],[-.2,.4],[0,0],[-.14,.66],[0,0],[.66,.14],[0,0],[0,0],[.04,-.16],[0,0],[.45,-.67],[0,0],[.05,.01],[0,0],[.31,.1],[0,0],[.35,.17],[0,0],[0,0],[0,0],[.47,-.16],[0,0],[.26,0],[0,0],[0,0],[.57,.16],[0,0],[.27,-.62],[0,-.01],[-.51,-.23],[0,0],[0,0],[-.44,.03],[0,0],[0,0],[0,0],[0,0],[0,0],[-.07,-.08],[0,0],[-1.07,-2.45],[0,0],[.02,-.68],[0,0],[0,0]],v:[[-.223,-6.41],[-1.293,-5.23],[-1.293,-5.23],[-1.023,1.06],[-1.023,1.06],[-5.613,1.54],[-5.613,1.54],[-6.333,2.31],[-6.333,2.31],[-5.893,3.98],[-5.893,3.98],[-4.523,3.88],[-4.523,3.88],[-4.903,4.95],[-4.903,4.95],[-3.953,6.39],[-3.953,6.39],[-2.513,5.44],[-2.513,5.44],[-2.483,5.35],[-2.193,4.74],[-2.193,4.74],[.057,4.11],[.057,4.11],[.187,4.14],[.187,4.14],[1.227,4.56],[1.227,4.56],[2.327,4.55],[2.327,4.55],[2.507,4.47],[2.787,4.35],[4.137,4.08],[4.137,4.08],[4.787,4.2],[4.787,4.2],[4.957,4.26],[6.397,3.58],[6.397,3.58],[5.777,1.97],[5.777,1.97],[4.137,1.64],[4.137,1.64],[3.697,1.66],[2.387,1.91],[2.387,1.91],[2.227,1.96],[2.157,1.91],[2.137,1.9],[2.047,1.79],[1.797,1.44],[1.797,1.44],[1.147,-5.17],[1.147,-5.17],[-.043,-6.42],[-.043,-6.42]],c:!0},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:65,st:0,bm:0}]},{id:"comp_5",nm:"▽ 头部",fr:60,layers:[{ddd:0,ind:1,ty:4,nm:"▨ Fill 156",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"Fill 155",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[13.627,37.342,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.35,.94],[-2.47,.13],[-.36,-.94],[2.47,-.13]],o:[[-2.46,.13],[-.36,-.93],[2.47,-.14],[.35,.93],[0,0]],v:[[.638,1.691],[-4.462,.241],[-.642,-1.689],[4.468,-.239],[.638,1.691]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.807843148708,.780392169952,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 155",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:3,ty:4,nm:"▨ Fill 150",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:4,ty:4,nm:"Fill 149",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[39.745,37.765,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.35,.94],[-2.47,.13],[-.36,-.94],[2.47,-.13]],o:[[-2.46,.13],[-.36,-.93],[2.47,-.14],[.35,.93],[0,0]],v:[[.638,1.691],[-4.462,.241],[-.642,-1.689],[4.468,-.239],[.638,1.691]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.807843148708,.780392169952,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 149",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:5,ty:4,nm:"▨ Fill 136",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:6,ty:4,nm:"Fill 135",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[27.325,32.045,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[.42,0],[0,.52],[-.43,0],[0,-.52]],o:[[0,.52],[-.43,0],[0,-.52],[.42,0],[0,0]],v:[[.764,.002],[.004,.942],[-.766,.002],[.004,-.938],[.764,.002]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.737254917622,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:-26,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 135",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:7,ty:4,nm:"▨ Fill 132",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:8,ty:4,nm:"Fill 131",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[25.389,35.055,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[3.18,-.19],[.07,-2.14],[-.96,-1.09],[-1.31,-.22],[-1.63,.82],[-.66,.82],[.47,1.41]],o:[[-.64,-1.93],[-3.06,.18],[-.05,1.5],[.92,1.03],[1.9,.32],[1.11,-.56],[.79,-.95],[0,0]],v:[[5.358,-1.536],[-.232,-6.126],[-6.022,.854],[-4.602,3.204],[-2.512,6.104],[2.218,3.523],[5.638,2.854],[5.358,-1.536]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.803921580315,.192156866193,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 131",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:9,ty:4,nm:"▨ Fill 130",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:10,ty:4,nm:"Fill 129",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[24.363,38.917,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[2.44,.36],[0,0],[-3.49,-4.04]],o:[[.59,.7],[-2.44,-.37],[0,0],[0,0]],v:[[3.991,-1.644],[-.659,3.516],[-4.069,-1.984],[3.991,-1.644]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[.807843148708,.376470595598,.023529412225,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 129",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:11,ty:4,nm:"▨ Fill 128",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:12,ty:4,nm:"Fill 127",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[25.264,39.196,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[4.21,.06],[0,0],[-5.85,-6.55]],o:[[.6,.7],[-3.32,-.05],[0,0],[0,0]],v:[[5.354,-2.29],[-1.046,5.33],[-5.436,-2.77],[5.354,-2.29]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.674509823322,.20000000298,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 127",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:13,ty:4,nm:"▨ Fill 58",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:14,ty:4,nm:"Fill 57",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[25.689,30.535,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-3.38,.03],[-.78,-4.05],[4.18,-6.73]],o:[[0,0],[2.55,-.02],[0,0],[0,0]],v:[[-4.695,3.035],[.255,-3.325],[4.695,3.325],[-4.695,3.035]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 57",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:15,ty:4,nm:"▨ Fill 48",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:16,ty:4,nm:"Fill 47",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[42.184,31.758,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[7.79,0],[0,9.1],[-7.79,0],[0,-9.1]],o:[[0,9.1],[-7.79,0],[0,-9.1],[7.79,0],[0,0]],v:[[14.111,.003],[.001,16.473],[-14.109,.003],[.001,-16.477],[14.111,.003]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.898039221764,.858823537827,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 47",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:17,ty:4,nm:"▨ Fill 46",parent:19,td:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:18,ty:4,nm:"Fill 45",tt:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[12.009,31.62,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[6.63,0],[0,7.74],[-6.63,0],[0,-7.75]],o:[[0,7.74],[-6.63,0],[0,-7.75],[6.63,0],[0,0]],v:[[12.01,.005],[.001,14.025],[-12.01,.005],[.001,-14.025],[12.01,.005]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.898039221764,.858823537827,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 45",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:19,ty:4,nm:"Fill 43",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[41.059,29.931,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[22.35,.24],[.24,-16.79],[-17.98,-.36],[0,27.13]],o:[[0,-19.18],[-21.84,-.23],[-.39,27.38],[13.17,.26],[0,0]],v:[[32.845,1.349],[-.465,-29.931],[-32.835,1.379],[-.465,29.909],[32.845,1.349]],c:!1},ix:2},nm:"路径 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"fl",c:{a:0,k:[1,.43137255311,.43137255311,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"填充 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"Fill 43",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:300,st:0,bm:0}]}],layers=[{ddd:0,ind:1,ty:0,nm:"小黄",refId:"comp_0",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[134.5,74,0],ix:2,l:2},a:{a:0,k:[60,90,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:120,h:180,ip:0,op:65,st:0,bm:0},{ddd:0,ind:2,ty:0,nm:"小蓝",refId:"comp_2",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[246,103.5,0],ix:2,l:2},a:{a:0,k:[60,90,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:120,h:180,ip:0,op:65,st:0,bm:0},{ddd:0,ind:3,ty:0,nm:"小红",refId:"comp_4",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[74.5,103.5,0],ix:2,l:2},a:{a:0,k:[60,90,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:120,h:180,ip:0,op:65,st:0,bm:0}],markers=[],animBg={v,fr,ip,op,w,h,nm,ddd,assets,layers,markers},AbnormalPop=defineComponent({name:"abnormal-pop",props:{},emits:["close","confirm"],setup(i,{emit:e}){return()=>createVNode(Fragment,null,[evaluatingData.socketErrorStatus===0&&createVNode("div",{class:styles$t.fraction},[createVNode("img",{class:styles$t.close,src:popImgs.icon_close,onClick:()=>e("close")},null),createVNode("div",{class:styles$t.content},[createVNode("div",{class:styles$t.title},[createTextVNode("网络连接失败")]),createVNode("div",{class:styles$t.desc},[createTextVNode("请确保网络正常后重新连接")])]),createVNode("div",null,[createVNode("img",{src:popImgs.icon_btn,class:styles$t.btn,onClick:()=>e("confirm",!0)},null)])]),evaluatingData.socketErrorStatus===1&&createVNode("div",{class:styles$t.loadingPop},[createVNode(Vue3Lottie,{animationData:animBg,class:styles$t.loadingIcon},null),createVNode("div",{class:styles$t.loadingTip},[createTextVNode("正在连接中,请稍等…")]),createVNode("div",{class:styles$t.loadingClose,onClick:()=>e("close")},[createTextVNode("取消连接")])]),evaluatingData.socketErrorStatus===2&&createVNode("div",{class:styles$t.loadColumn},[createVNode("img",{class:styles$t.successIcon,src:popImgs.icon_success},null),createVNode("p",null,[createTextVNode("网络连接成功")])])])}}),icon_bg=""+new URL("../svg/icon_bg-026faf73.svg",import.meta.url).href,icon_close=""+new URL("../svg/icon_close-382c9a2f.svg",import.meta.url).href,icon_btn$1=""+new URL("../svg/icon_btn-6356bbe3.svg",import.meta.url).href,icon_success=""+new URL("../svg/icon_success-b5631d42.svg",import.meta.url).href,homework="_homework_spg76_1",styles$s={homework},studentQueryUserInfo=async()=>await request.get("/user/getUserInfo"),api_musicPracticeRecordSave=i=>request.post("/musicPracticeRecord/save",{requestType:"json",data:i}),api_lessonTrainingSubmitTraining=i=>request.post("/lessonTraining/submitTraining",{requestType:"json",data:i}),api_lessonTrainingTrainingStudentDetail=i=>request.get(`/lessonTraining/trainingContentStudentDetail?id=${i}`),api_musicPracticeRecordVideoUpload=i=>request.post("/musicPracticeRecord/videoUpload",{data:i,requestType:"json"}),sysSuggestionAdd=i=>request.post("/sysSuggestion/save",{data:i,requestType:"json"}),api_musicPracticeRecordDetail=i=>request.get("/musicPracticeRecord/detail/"+i),api_subjectList=i=>request.post("/subject/list",{data:i,requestType:"json"}),api_musicSheetPage=i=>request.post("/musicSheet/page",{data:i,requestType:"json"}),getSuggestionList=i=>request.post("/sysSuggestionType/page",{data:i,requestType:"json"}),WorkHome=defineComponent({name:"HomeWork",props:{workeData:{type:Object,default:()=>({})}},emits:["change"],setup(i,{expose:e}){const r=reactive({trainingTimes:"",trainingSpeed:0,times:0,workRecord:"",isAddOk:0,starTime:0,start:"",end:""}),s=()=>{const u=["studnetT-0","studnetT-2","studnetT-4"];for(let d=0;d{const u=i.workeData;if(u.id){let d={};try{d=JSON.parse(u.trainingContent)}catch(g){console.log("🚀 ~ error:",g)}r.times=d.trainingTimes||0,r.trainingTimes=(u.trainingTimes/60).toFixed(1)||"0",r.trainingSpeed=d.practiceSpeed,r.start=Number(d.practiceChapterBegin),r.end=Number(d.practiceChapterEnd),state$1.userChooseEndIndex=r.end,r.isAddOk===0&&setSection(r.start,r.end,r.trainingSpeed)}},a=async()=>{const u=await api_lessonTrainingTrainingStudentDetail(i.workeData.id);(u==null?void 0:u.code)===200&&(r.trainingTimes=(u.data.trainingTimes/60).toFixed(1)||"0")},l=async()=>{let u=Math.ceil((Date.now()-r.starTime)/1e3);try{const d=await api_lessonTrainingSubmitTraining({id:i.workeData.id,trainingTimes:u});(d==null?void 0:d.code)==200&&a()}catch(d){}};watch(()=>state$1.playState,()=>{state$1.playState==="play"?r.starTime=Date.now():l()});const c=()=>{state$1.playState==="play"&&(console.log("退出"),l())};return onMounted(()=>{s(),o()}),e({handleAdd:c}),()=>createVNode("div",{class:styles$s.homework},[r.trainingTimes,createTextVNode(" / "),r.times,createTextVNode(" 分钟")])}}),WorkEaluating=defineComponent({name:"EvaluatingWork",props:{workeData:{type:Object,default:()=>({})}},setup(i,{expose:e}){var l;getQuery();const r=reactive({difficulty:"",evaluatingRecord:(l=i.workeData)==null?void 0:l.id,start:"",end:"",evaluateSpeed:0}),s=()=>{const c=["studnetT-0"];for(let u=0;u{let c={};try{c=JSON.parse(i.workeData.trainingContent)}catch(u){console.log("🚀 ~ error:",u)}["BEGINNER","ADVANCED","PERFORMER"].includes(c.evaluateDifficult)&&(r.difficulty=c.evaluateDifficult,state$1.setting.evaluationDifficulty=c.evaluateDifficult,r.evaluateSpeed=c.evaluateSpeed,r.start=Number(c.practiceChapterBegin),r.end=Number(c.practiceChapterEnd),state$1.userChooseEndIndex=r.end,setSection(r.start,r.end,r.evaluateSpeed))},a=async c=>{try{const u=await api_lessonTrainingSubmitTraining({id:r.evaluatingRecord,trainingTimes:(c==null?void 0:c.score)||0,recordId:evaluatingData.resultData.recordId})}catch(u){console.log(u)}};return watch(()=>evaluatingData.resultData.recordId,()=>{evaluatingData.resulstMode&&evaluatingData.resultData.recordId&&evaluatingData.isComplete&&a(evaluatingData.resultData)}),onMounted(()=>{s(),o()}),()=>createVNode("div",null,null)}}),headerTop="_headerTop_xepx4_1",headTopLeftBox="_headTopLeftBox_xepx4_10",img$3="_img_xepx4_17",title$7="_title_xepx4_24",hidenBack="_hidenBack_xepx4_50",modeChangeBox="_modeChangeBox_xepx4_54",headRight="_headRight_xepx4_75",btn$8="_btn_xepx4_80",iconBtn$2="_iconBtn_xepx4_91",metronomeBtn="_metronomeBtn_xepx4_102",speedCon="_speedCon_xepx4_105",disabled$2="_disabled_xepx4_129",playBtn="_playBtn_xepx4_133",btnWrap="_btnWrap_xepx4_139",playLeftButton="_playLeftButton_xepx4_148",playRightButton="_playRightButton_xepx4_153",progress="_progress_xepx4_158",resetBtn$3="_resetBtn_xepx4_166",pauseLeftButton="_pauseLeftButton_xepx4_177",pauseRightButton="_pauseRightButton_xepx4_182",pcTransPop="_pcTransPop_xepx4_195",modeView="_modeView_xepx4_198",hidden="_hidden_xepx4_209",back="_back_xepx4_214",name$2="_name_xepx4_222",modeBox="_modeBox_xepx4_230",twoModeBox="_twoModeBox_xepx4_237",styles$r={headerTop,headTopLeftBox,img:img$3,title:title$7,hidenBack,modeChangeBox,headRight,btn:btn$8,iconBtn:iconBtn$2,metronomeBtn,speedCon,disabled:disabled$2,playBtn,btnWrap,playLeftButton,playRightButton,progress,resetBtn:resetBtn$3,pauseLeftButton,pauseRightButton,pcTransPop,modeView,hidden,back,name:name$2,modeBox,twoModeBox},iconBack="data:image/png;base64,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",listImg="data:image/png;base64,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",iconMode="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAXVBMVEUAAAA90f8/0f8+0f8+0v8+0/8+0v9A1f890v8/0/9A0/881/8+0f890f8+0f8+0f8+0v8+0v832/890f890f890P890v8+0f8+0v880v880v880v880v851f8+0f9sV87yAAAAHnRSTlMAs9j2q17NB3lAOhnw6d/TyogOkY4rpEadlHJVRBI3ljbIAAAA/ElEQVQ4y8WU2XKEIBBFr9IIivuos8b//8wkFpA7U+k8pWrOk7fqsAjd4C2EaTDt6OeU3X0RudoPdqzZD7oaB+tWHEhNzp4wzeFIkchWMHumd4C7FBlJK047YYFHQdgoDSwJ4Fm6RsmwVAEnliRKLUslsPwmjS/SjaUlSv5Fali6R2nuniXe1OYQqc2zFLbkyIpM0/PffVlxrssKwlmpym+qcxx2W07+4fB/qMud46dYB2gbr3LoG0A5gvInmRrKYZYUu1m5lpKzpwtWpZFKRZVapegqzkYpX+E8KI1gOU9aS/W0WtCaszE0sdrmdRfH2L8ejNmPrRmmgHfwCVpdNPkKLr+KAAAAAElFTkSuQmCC",__vite_glob_0_0$1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAuCAMAAABkkgs4AAABmFBMVEUAAAA0rP9f6v8mnf8nnv9T4f8nn/9Q3f8qpP8qpP9X5P8qpP9O2/8xrv8uqv9a6/9Cx/88vv8rpv9X5/8yrv9S3v9X5/9N1/8xr/8noP9T3/9BxP8/xP9N1v80sP8pov9Z6f9L1P9AxP8+wP8zsP8oof9W5f8mnf9Z6v9W5P9M1v8/w/89wf9Y5/9M1v9Z6v9Hz/82tf9O2f9L1f9b6/9Bxf8+wP9a7P9b6f9W5f////8po/9CyP9P2/9M1/9J0v9Hz/82tf84uf8vrP8rpv9R3v9K1P8ysP8sqP80tP8zsv9T4f8wrv8mn/49wf9Axf86vP88v/9U4/9Eyv8uqf9N2P8/w/9I0P8oof8lnf5FzP82t/87vf9W5P9FzP5Q3P9O2f9Gzf85uv9L1f9X5v9S3/8uqv9Y6P9Bxv+M0f+I1v+O3/+G0v/w+v+R4/+O1f+M2/98yv656f+L2v+L2f+N3v6q6v+k4f950v90zf9BtP+J0f6J2P9vyP5cvv5Tvf5Ouv6B4f+A3/+f2v992v+e2P5hxv5Jvf4Die87AAAAOnRSTlMAEBC82MPCv6JdUVEQ2MK/v7++urqhkJCQkFxcUTs7O/Pz8/Pz8/Ly2dnZ2dnW1sXFxbq6oqKhXTs7RKlO9AAAAzNJREFUSMd1lWdbWkEQhVfsMRprijW99x4pAiqXJtIFBFtUgoQQNXajpv/tzOxsuRT38/uc550zd/cy82kYetvz6OaszZZZds5N3HjYOjBoYfXPcE82Gwklk7O2WGzB6ZzweBwJu731Qh109MW8eyUbAXr2ky2WcUI0wEv2xbXmD9XsVZ8L4HAkRPDCMsIfHQBPBwKXK2X7/QRngebJGYITAK8Fon0WE9tpGD6kwyQNEy6gB8L26elANPpE0/3BoN9f6QF9TIA0eAAcyOX6lO9kMGj43af/yANhjCZp8sitCu/R+Ppk0Dg7Kpf/ChjKk3BCwvn3HO7yAnxWKJfLB1w6hNIxlPZQeSi9uvoM2Y4pb3zy8Ajg/RV3mEvvlUq7WnqRS+fzuJ1ehDcLhcKBywXSsJb9cTi/q6Xzl6C2KYBPgd10Acw9thEuIkwbF3DewtqtU14vBB8dYnngIWH0gKYdommA37E2K9AAnxiy6cg3SgZYekAyRL9mLQifFDYNgH3z6EHwji7PrqSbEI4fGkGAcUIJFxW8JOH77E4KYOgDYClNyXrjJJ3LX2czKR6NG5df3jFPtiGsyotitIIh+vtnOBsbx1sIbxV3il/g/BBNEww0wLDxX+N1z66ekKVTAHOPUn24pD14Mo8+H07wzwPh9ExKePw5R4M+U4Ix2eqNgwcOiBPSgDvFIk74k3+mCp4R0upubSD8Vd0tXR7BVB7fuMsM0xKlNCQDbSVp2vi8gPG6ZCo3zu4J2MthP8BuE7w8hxtP0MbvsibpsU4eCtYPk0N4PGCN4KE2jtIC3qbXw3zHm1kbwtgHSUO0hPnDBH14ZHkDrD1tLs9A6QOE95M0oVNLD7KGdK00PAV7oWSNtIXVSIs7TjA17eFwKz4yFK3K8yEcBlh6yIvIfwEtQFvJQ1wXTMZoG3nQhM0Mz5h54+puhbQHRY8wfq7VSOunNyabvsLEadTlUTSH0SPGPQB+qX8TTRRNMElnIzQhPUxPLzJNNxIMIxKsXnVq+pViydsMuxRM0sJXn7EWkEZY/7dEec9HWO3p6MXk6vK6h2tJUm9v6+q87ffxJUZuPe5+M1Qh+x9vXgp6TP6+qAAAAABJRU5ErkJggg==",__vite_glob_0_1$1="data:image/png;base64,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",backImg=""+new URL("../png/back-c3f6ce34.png",import.meta.url).href,__vite_glob_0_3$1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAARVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////9SnXPCAAAAFnRSTlMAM2aZ1Mz38e3ky7+loYBuOzUbD1hXtcj05wAAAIpJREFUSMftlUsLgCAQhHtY+X6W//+ntkJBHkTWk4FzGmS+g7rMTkPtOhm7MPmwx7gHBDBH0NwFoClxOeAI1eW8hRjJAQLGFoEl5XIgmWUASfIQvgZ4ccg3b+BQ1QAFxjzACp7XAA5m/QBbDdj6BxCXxjwr9uN6Hr6OgVLNYIvsX2WcLxT0yhpq1g0MeSOzj9WeiwAAAABJRU5ErkJggg==",__vite_glob_0_4$1=""+new URL("../svg/background-b89deedf.svg",import.meta.url).href,__vite_glob_0_5$1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAe1BMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////NgkbwAAAAKHRSTlMAf9skC4XC99iVZkfz8eWteOvnrqqQhm9bTDsvFAXKpJybcmhYSSYbq8omrgAAASZJREFUSMfdlMmSwjAMRAVkJTuQCQlh3/r/v3AOcZVjZJRU+TTzDr7YbbUsyfQ38Pa7KMui3d6jWaw3UGzWc64vMKKYDHIMYBAcSSbGBzGJHMA4iIItGFsx4xCMUMo7gYVEKgEsSMUoYaF0iOCWg/xK7nWQK+3eS3K3us+DPHHuM+3O+3n348sl9u/P97SbxznHiPz8kHy94hSMNH6Rnf6qOmm5Wi2Nbrr2ZKGtoPCJfBhUrTg7C6IFYEYr2Xm9PQh0tB9YFK3eVgImNlx5uTajVpWJFuTj923G7vk60JAmmCMISJNi2hJSJpCTRsosic+qLfH/iBeO/083aAb3jBsZdCeA36o5dfRJV0f4QlR3Xxo8aeoiiPIqC4Ewq/IoKOom6emf8Qv7FXRZWnmBuQAAAABJRU5ErkJggg==",__vite_glob_0_6$1=""+new URL("../png/bg-20e7cc98.png",import.meta.url).href,__vite_glob_0_7$1=""+new URL("../svg/close2-9bf3f858.svg",import.meta.url).href,__vite_glob_0_8$1="data:image/png;base64,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",__vite_glob_0_9$1=""+new URL("../svg/cursor-icon-1-b64224eb.svg",import.meta.url).href,__vite_glob_0_10$1=""+new URL("../svg/cursor-icon-2-03a5f875.svg",import.meta.url).href,__vite_glob_0_11$1=""+new URL("../svg/cursor-icon-3-020a25ee.svg",import.meta.url).href,__vite_glob_0_12$1="data:image/png;base64,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",__vite_glob_0_13$1=""+new URL("../svg/down-1c21ed5a.svg",import.meta.url).href,glImg=""+new URL("../png/gl-0a9176b7.png",import.meta.url).href,__vite_glob_0_15$1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAAAqCAMAAAAanYxCAAABm1BMVEUAAADGyM+sr7mrr7inqbWqr6+lqbOjprG0tLTR09icoKqytb6xtL2prLaeoqyWmaObm72UmKHExs7S09iRlJ/Fxs68wMaQk56eo62bn6nQ0djCxcymqrSlqbKSlJ++wMmgo62anqjKzNLAwsqjp7GWmaPN0Na4u8OnqrWTlaClqLKUl6HQ0tahpq+ZnKfBw8qPk53JzdG5vcXMztTMztP///+0tbimqrS9vsHJycvExcekqLK5ur3Q0NLCwsW/wMPNztDMzM67vL/Gx8nX2NnS1dnb293Z2tzT1NbAwcS2t7rIytDLy83f3+D4+Pioq7WwsbSgpK63uLqqq66Ul6GRlJ+4urzPz9Kjp7GfoqyYnKbV1tfR0tSbnqiPkpyMkJr9/f27vL6ztLeWmqSxsrWur7LIyMqiprDDxMakqLCdoKrh4+Osr7ikpajo6evc3t+xsrSsrrLEx825ubusrbDj5ObV19vGyM7l6OnY2tvBxMq2uL+nqa+prLKoqKve4OLS09XO0NXLztKio6WioqXt7e3v7+/X2NyvsroOH5WwAAAANXRSTlMA/TIuJAftPgX79q2RgDcwB/j38u7t7ezr6+rq19XV09HQzs63trSzsK6ZmJePjoyAfz7q6ur1HV4AAARpSURBVEjHrZcHd5pQGIZpGkdW995771YEVEC0Gqy1xBUXjSg40Lg1juw2bX92P03qiakg7clz5HKPyuPHFe59QUbRGRae3NCb/wH9jScLhjOIMlPP9Jb/Qv9sSkF58oElm41EzL1ubW3AJw2sdXvmCGB5cHKM8szL7NLSUnGnXSp04otAPO50djruSZTbe6WdIhyaffnXIEzf6SvLW96MfTkxYBusblf58wRczoSdLpT72jvTo85TV6LR6I6b8m7baNxB5EgyRzi8tG0RxG7XJNzLpGsHBFdOjThnZTniwjIJOpOjbIUfvmTS96Ngo3IZOgFeDXgpV0SWZw9Zp6/yfKSF0nYHSbl8piE+F8U6YDi2FyeT8LciPH91OAK6uzwfTaS8GVKgD5RDLS2QGS+9bFMmUS40Cx3oeBLRWOyu7kD6KhaLrXEZAvO7k6YjJN1+jMjgdmUSnfJWs9202e2pTyB6te88nU6nexzBCmjBNIYCKrCgVcSeiHfKhXbbjuNiD1SnB9KHwWCMwbCwGDeNJS6GKTZHKILTCaf7c/MzQbBMLBh8OCg0GAz2GlidI5LjpUmCqzMUqwjpwJcXoVgvy0oekPVLfR4KhVKCvyL5TAr4pIpfYDBlSAeMgdsGvRTIniOI8UIolF9HuYDNpIgtwKF1qwoYXNDbNHQC+VDoghExfP36VRa5wKpPWepbDXApVI0wRXhJFJBBZ0DerKysrIvVTcGkgrBZFcGqqhUGuwDo3iBPoa1WGqtxNWl8tVEBqQaqoHuK3II2AGdfUpOWJp4/MKz0FnIZBqHKBb751KS+b1qlEuguI2eh5bjA96SaNPk9wImapCLoziKzcGWJxygF3Syih1Y6vtPnQKdHbsKNtX6MfxTobiJzfenxXVLroJtD3sJsJYvSJqMmZTYlEdWEDLq3yLtiOh1LiQ3127Qhoh7ADy/VPRpLp4vvEOMlmK6rnorqhLJZ8dTDVmsYNqvqvgqyS0YEeZHlebmOSg3lqa8hwa3NaMAKq1T2RT9A1Xier1pRKac0Seck1MpgWuBAVRvEqkdFWEz9AiopLScSKmCUFqxRni8+2g9mM1FZzjOCRxq/8EkegWJJDVB5WV6aOQhqr3chsmxgmL8S/3uJjlf8GEsSGiA3QLP7+k+YuFeLLkU3oPwUfjRM4CkrRRIODeSqkNFq93TD2HOtC2+sMyxW9zsPxx6nH8okHLgGqA1QdK9NH4rQ53cj2Ww+xZJY2IOX9/oBba+Me+oYCTnCa/d6J2wZTx4C8+75qZFg/sFVzEcieZTNsZhQ798hdQFjc1CknZ5IprcBxxZd76eOhN77zZrZYsnnqx6GJQHIp/0a97PZfgPAbthd7kPjOaYIB1rMteb9aeQIuvmZZu2LGT6HirMA/DZ8VSPFWnNmXjfuQeLxx1Kr+wvEf/gy7IxgBoY94Fe3Vfr4+KTS88n8xVa7tPWz9VEzrZ9bpXbr4jwoFTEaFuZuXz93QjPnrt+eWzAYRy2/ATedNa/vpLAPAAAAAElFTkSuQmCC",__vite_glob_0_16$1=""+new URL("../svg/guding-active-e8543b78.svg",import.meta.url).href,__vite_glob_0_17$1=""+new URL("../svg/guding-a3ea7233.svg",import.meta.url).href,__vite_glob_0_18$1=""+new URL("../png/headImg-fa687b2a.png",import.meta.url).href,__vite_glob_0_19$1=""+new URL("../png/headTit-e8696132.png",import.meta.url).href,__vite_glob_0_21$1=""+new URL("../svg/icon-staff-active-5035908c.svg",import.meta.url).href,__vite_glob_0_22$1=""+new URL("../svg/icon-staff-5a2b7c94.svg",import.meta.url).href,__vite_glob_0_23$1=""+new URL("../svg/icon_evaluatingOff-0b1c80e6.svg",import.meta.url).href,__vite_glob_0_24$1=""+new URL("../svg/icon_evaluatingOn-bb155620.svg",import.meta.url).href,__vite_glob_0_25$1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAWlBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ZMre9AAAAHXRSTlMA7/YXwF1PNyEEEYuH1fjlysewn5l0b0UpHAzU8WC2XK4AAADqSURBVEjH7VXJFoMgDKyiooj7vvD/v9kLVUIB35zbOSYzD0iG5PVHXh6xIoirMvfzU822NKmPnykPMjefRT5BxJyCQXkxuPhcBcAdgi4k6BwVUkF8VWpvwoJmtwRSPUBaLa6fBDVteK8e0Zv8xWqU5EJwaTVyuflFRTKJbqxISLgqLsFM+VeioIr5Exfk7Hi7j95iclOhw5MyMb4MjCQ16WhLvex3fKujtBqrKVhp9WABfCX40XhZ8cbpxOG0BrOt4TXfWXLGeHla5kPtDX8g9IvCQwAdM+ggg0clOozhcY8uFHRlwUvx5/EGSk55VOMytXYAAAAASUVORK5CYII=",__vite_glob_0_26$1=""+new URL("../svg/icon_menu-30009ed1.svg",import.meta.url).href,__vite_glob_0_27$1=""+new URL("../svg/icon_minus-35cb01c5.svg",import.meta.url).href,__vite_glob_0_28$1="data:image/png;base64,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",__vite_glob_0_29$1=""+new URL("../svg/icon_pause-b4b9ea85.svg",import.meta.url).href,__vite_glob_0_30$1="data:image/png;base64,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",__vite_glob_0_31$1=""+new URL("../svg/icon_play-4e74a97f.svg",import.meta.url).href,__vite_glob_0_32=""+new URL("../svg/icon_plus-8646d352.svg",import.meta.url).href,__vite_glob_0_33=""+new URL("../png/icon_reset-51a1bf04.png",import.meta.url).href,__vite_glob_0_34=""+new URL("../svg/icon_resetbtn-b9bae964.svg",import.meta.url).href,__vite_glob_0_35=""+new URL("../svg/icon_speed-ba38a91a.svg",import.meta.url).href,__vite_glob_0_36=""+new URL("../svg/icon_speedRest-c6c9e93d.svg",import.meta.url).href,__vite_glob_0_37=""+new URL("../svg/icon_zhuanpu-61d31826.svg",import.meta.url).href,__vite_glob_0_38=""+new URL("../svg/info-ba658f25.svg",import.meta.url).href,__vite_glob_0_39="data:image/png;base64,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",lxImg=""+new URL("../png/lx-4dd7abe9.png",import.meta.url).href,__vite_glob_0_42="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAk1BMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ROyVeAAAAMHRSTlMArVfi/JpK9EX47OY5FMS2hmgoBtahMxcM8LxvPiIc3cx8U1ARpo14dTuqfn1iXlzwPa3dAAABhklEQVRIx+1T2ZKCQAxEuZEbBZQV72vP+f+vWzoDKcZjSx+2aqvWfjFp0j0xmdGe+CsofN9Pe/k8iQ/rsl/hH+PqhbONIRrMuDwSgLfigjQkZuG0uSkIrYNjixZRJhnL7ZhKEiuZDaWbLRgmMbXHhCFNg/hVZwFOd83kfYmCHMykCez4Yw+nSGsx6AR555Phn0xAVbYRpugVVheCTRMcEND3sdYHjggUATA8trOoMal+/ZwIRaDAUk8I1ouGePtBMKMxcQHtapDdFsQoOPHqkGEGNwUJGXJaG3KVwS3BEAV60DMIbQGquC5wXCwr1xSsR+jqqsCHm+t0KdM4trwiSD2sm1IVY9yWS0Gto9uEfQdR1Zu0cyEI4CNWygC/KCqnTTg/F5R0TffqgKd+E2xD2r0i4Nc0IixiOIxAhObOw+/nuSBzRQ9GIGcMqLveNckGwVYooD1ZU36CGV9NTyy3siX+ipenEQqT2plZ2t3IcutUaP8bli7uhC4ni/p7FQ8LHm/pid/BN3OTZ3R1P8PrAAAAAElFTkSuQmCC",__vite_glob_0_44=""+new URL("../svg/modeType-7cd93c3f.svg",import.meta.url).href,__vite_glob_0_45="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAjVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8DizOFAAAALnRSTlMA+sUUL1chBLeLbQnsqnP03II0fUg9D82/d2IZ8eechijf1KhN0cixl5BBomdSUHFLSQAAAa1JREFUSMfdVdmSgyAQ9D5W463xyp3Nnfn/z1tksRCByOPW9guI3cDMdA3a/4RZtlEetQ9TiW35Rxhx9K0lemEAC6P4RHc84OE5Ur7dgwixLeGnIEMu5PsgRyPgRwBwMq1erPji+KUO4KPREwv0csYPDgBPNGYxiHEIuID7StPOMciQsmZAxBuqsg5SxIxRcgC4a9qKXHhbdG5XbHV5bpOBdt8SNzhj4Q0migk/Y6xAwwuYnFnTGlAkFfbsGf+uEnH1VkAxGGe/RpP1frAXUKyo4Juuhi7K2QZPNygvbggj+okHQ3abHZnvpofXU5fT/GF7jMkxqCV1HID7agI1QZjhTKDQ7mpXOg/bp8O+N6WgN0MVMelaKaW1JpzQVixc/RuYZypZgwq+GPNR8ObjBTkQcPbWL6n92HMCMwYh9Bs5jQiWelKC6iURBAcRH2elTE/XZ2NRAW0zM8TOsH4cbzdvTpGwQdq6vJv584DRhboYOIE0cIM7tvnc7k/EtxSvzw+KhxbejMCSPVnU6O6FOXLhUWzRV0cV12Dp2cVldts1Tln91pRRZY8s0P4yfgAA6rAk3MjRBgAAAABJRU5ErkJggg==",__vite_glob_0_46=""+new URL("../svg/music-856b3e8e.svg",import.meta.url).href,__vite_glob_0_47="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAdVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////li2ZAAAAAJnRSTlMAC/NHUvfm2MGprZV4cBSSTATIrpyPhGdmWy8i7Vc8OeqkiGkbu1jhCIMAAAEpSURBVEjH3ZTXsoMgEEAVIkWDRqOm2NLu/v8n3rnFCQgumeEpOY+6R5YtRu9BfJKcEC5P8WvxBwb/sMMrn09BI/UeUgowEKVHyGBBhsefweKMCntb2KM3Tmwhwe5NwQFFhKNLOCLC1iVsA04IuwNepfA+4J0OnyV8WsP3Ad+48J0O50HvbVHXRXunD382w5WBBrsOWF5dRsCCZN1KeF4bk9Q/p6nOXfG7iz5xbR51EmYuO8/uyN8syi9ti7D4ZJgPBdtwvIJmfjqBhpFVbNRynB+3RoX1+irnTlKzyEoTKtBJ/6pcLPa10oRFv5qf0zdWB9cFSKhHELBg4xCEJlCXgP6flF9QkcFY4UI1Rkumgq8JvJhWBpyqJhWc9UTebpL0jIu0UTSPPoxv5H52EMFGNzkAAAAASUVORK5CYII=",__vite_glob_0_48=""+new URL("../svg/off-8d507628.svg",import.meta.url).href,__vite_glob_0_49=""+new URL("../svg/on-13b29450.svg",import.meta.url).href,pcImg=""+new URL("../png/pc-bb226da5.png",import.meta.url).href,__vite_glob_0_51=""+new URL("../png/pc_end_icon-c048a862.png",import.meta.url).href,__vite_glob_0_52=""+new URL("../png/pc_icon_pausebtn-6844b114.png",import.meta.url).href,__vite_glob_0_53=""+new URL("../png/pc_icon_playbtn-727f07a3.png",import.meta.url).href,__vite_glob_0_54=""+new URL("../png/pc_icon_resetbtn-e6358a0f.png",import.meta.url).href,__vite_glob_0_55="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA43GqHPp/3pss16JfDgnv7FFQOvASJAAAAKJJREFUSMft1ckOwyAMRVFneIAzdXj//69tSmQFVSjuojvuCkucpWVp/ZCmCHb53fOoz3NHxKRSFECyDt4hFP/JK0CehMIDoAYSPYDJQPSBaAA+AAP0ATbQwN/Azfav2LF7FfCxT9vEo2nb5yfrAPMqy0SaWGSdUQG5UQaeGmQkG/gEH4CB6APRQPKBZEDhAVCxggeUBwJXAOH7ZFVBPlktfy+sIEgz6uHKbAAAAABJRU5ErkJggg==",__vite_glob_0_56="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAAz1BMVEUAAAA9PT08PDw6Ojo8PDwYr/8+Pj49PT0Yr/8Usf8yMjI9PT0XsP88PDw8PDw9PT09PT07Ozs9PT09PT08PDw8PDw9PT08PDw9PT0+Pj49PT08PDw9PT08PDw9PT07Ozs7Ozs+Pj4QsP89PT09PT09PT09PT09PT09PT0Xr/89PT0+Pj4AwP8Xrv8Yr/89PT09PT0Yr/8Yrv89PT0YsP8Xr/89PT0+Pj49PT0Xrf8Yrf89PT0Yrv8Xr/8Zrv8YsP8arv8WsP8Vsf89PT0Yrv/55D79AAAAQ3RSTlMAbb4bh9xSJVYaBe9kOPvcjQrlxXL26bixmoR7XVhGHxcRD/LLpaKUZExLKwTv6dbSwLB/dWM/PjYt9NTKmYRURTokO0G19AAAAahJREFUOMvV0+lW4kAQhuEmBDNjJgEMsssyyI67js7m9ub+r8luErDpkD7+8/j9qlPnCd1UJeIT8/rv7PHD+DqO45ds+7Co5zDtliS+M+kiYidHg3f8w7AuZnq5+ASoO3oqIheXwRVmfn6XUfhWFau0W3Th0qSr63gnZ/N1u3sMtEz8FBspqW4vRKZi4jsTn6f3bSyH1cyNSwa+lc0A/iYbMPX8m8y5ZP9V8Vv1ZtAW+1PNjK4ABW3nM8fHj2rSBT6jexsOypttL8QN4FrwQg3Rv6gDYbfvXDhePvZ8uOypAxypg3XvSuL5PtyERjW5+hhO19Xzn/hqtQd7UB9uBlGGX8kE1cyyuKYPsWAs1cSt5Me2xzTSsjIZZnETvPeFbC4tetDJ4gkEW1wEJ6kOwM3iG6jp307Lhh+gvH2lIjiwYXEK07TsqAet+D6E8UAWwylwIqxYTZrQmTSOk0/HjsVMsnXCjrBjlX6rLulovBQ2rPkHT/41C7ZF4rY2/akVd7Rd9WHkWezgSH8LmuBXCnlpSxvtPGqPrx9cbFptZFzS6+Zeo7sUXzlvWRN2o4wdJBIAAAAASUVORK5CYII=",__vite_glob_0_57="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAA+CAMAAACldE0nAAABOFBMVEUAAABLv/s5s/dMwPwlpPZKv/spp/YnpvdIvPlAuPknpfZFu/pLwPonpfVEu/onpvVDuvhMw/onpvZNwfglovQsqfZKv/tMwPtLwPpMwfxDuflIvfpLv/lKv/pOxP9Av/BAt/g/t/hFvf9Iv/87tv83s/9Cu/85tf9Auv81sv9Kwf89t/8+uP9Nwv8yr/40sP8pp/hMwf8npfdNwv4wrf0lo/UrqPktqvsurPxMwf1Pw/1LwPxEu/5LwP5Pw/9RxP5Ivv09tvxGvPs4s/40sPwyrvk6tPxNwPsvq/lBuf02sf04svw9tfk7tPksqfg/t/xJvvtDuvw2sPlNwfw4svlGvf5At/5EuvpBuPkwrPpQxP9Buftiwvxrxfszr/lHt/1av/yBzft4yvtNuv1VvPxwx/tRufpRuvzEP0KvAAAAInRSTlMA/h79/fr+cVD69PPuvrqhbltUOero5N3BoZ2bfGsNCObmMOBIlwAAA3NJREFUWMOk0H9rgkAYwPFDJCGIYGzvoLbCKImt+vfwPNRbF4gIQdqPrfb+38Ge59LKirG7vhCePteHU1JmOa1n+0Mj+7nlWOQyq62AsUYKal8wT031f08rJTWfKsOxFSAnWh0h2ynPYQMhD3m+mk81QggYW53Fao69Sbrb7Vff69m/m84QkhNv3LQAaTc8+bnd7lebL/quE1JSeo02HASMcLvd5ZufdTzUCR2lWMRpyPAABrwMH46u9o1OD64HFbMMZcMhLRmGuTLckV4AIRLKFnmR4TLHD5L16+G22/U5xTA8ygsBY7lCo9vXLh4xtgQFkWBtZKASswARMBgTvt+9SbHdPwIjZqiQMCgYi8EwyQekCBBBwxRB5YjEgPhv9XBLtVKXe3MfkBiRABEwjDoiASICDVNFKKRgAoyOUaAIVgCSCMHBMFS4EElACkQ6xp0QzjuuYR3ORVKQ5HEkIUkqOIXbQT339Ki83pvDj3KRIsIpIAOjMpdSXiILNxsMehAOemXnrbi+ndeQOSBZ1jMqyxaUz1OSzikgkRkSAUJLJEPktVa1rbq7P4+iaFEiiyh6NetxBCuR39LrpkVBKArj+NFBMIoogpnem6ld4CJcqVlxN26MlIso9f2/xzznZjkjOQ23P/NSnnt/HNp1jIFst9slt0U8Wy7VX8Sv1PDRHO+AxEcgp4tCNGLkciqRlA09Jb0h6StIykgc8yJZ88HVqnmW8SpxTHEBJMuylUa4BqS4IyutKiQFctBDDlkmUiCtIhWHgyaCi0Ba9FXkQjCy/iOcfzSHIkRefFIXCIxwHYbVNES1C4/mITYB0qWeQvCwGtZrwvFWbdIjs3VFNhxPNs3V50CwScskGvNnErDi1NogpzE2At5kTERmW4gkCEJv4/Klf4bDrhcEicjbJiE7Z8TzXBeDa47Dv87OKdvt+KV6jsqDMLBJbpOqVypwVLf//u5H/u+Zh7BIInpUZreThBlA96Tv+ko5n2+GxF2+rQBFJG2b7pkTC0+M4B5zPtrDgLL3EV+tMnDBmtS+e82675Zx7U0lPUb2lSGlel4est67MxBP6kupEP6BImWfNBpFEghSRjQineYfUPyb8TEnrQZWhVgD0mwaRT4E7BFNSbshFBRFQ9LP7ESqjkkvZFsGjDebXqrfMYxOn15sMRgs6EnfkEyUCbVWle0AAAAASUVORK5CYII=",__vite_glob_0_58=""+new URL("../png/qx-94a58756.png",import.meta.url).href,__vite_glob_0_59="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAAA4CAMAAAACeQDhAAAAYFBMVEX////C0N8AAADI1OL////////D0d/B0N7////Cz97////B0N7Bz9/////////C0eDD1OHC1uD////////////////Cz97Bz97////////Bz976+/zb4+vt8fXm6/HT3ec/6Yw9AAAAGXRSTlP+/QD+G/lq9/Lx5eO2bE9MGhm4t5ybmplvrXGEmwAAAPRJREFUWMPt2cmNxDAMRNESJcv71jsp2c4/y8FAaHQG4oUvgfr3AhVhvg0NV9IMtzlQgTL/AFeGR/gFLB0r6JZvwAesAp8SsICVYPkPCB2r6QKBnqzoSQgNK2oCZlY1486q7hhY1YCGVTVgZRZgARZgARZgARZgARZgARZgARagH6BcACTWhISDVR3IrCrDgxXBYzxZ0Tli8onVJD8hygVWgksiNidZqQBZ3AZ6iVyJFaRL5EWgvRfxJ7gynF6k3wlEqxMRn4+UUElKR/Yi4tZyWEQnKlz8XjZrLwr69Xda7e9WKmvfO5WAYovT2LpK2nGKGxV/emea0reWbEgAAAAASUVORK5CYII=",__vite_glob_0_60="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAAA4CAMAAAALkqCbAAABJlBMVEUYjNQAAAAYj9ceovcYjNUcofYboPYfo/YZjNQZjNUcovYZjtYajNYanvUul9kan/Urp/cZi9QZjNQYi9Uurf8aofUZjNU4tv9Lwv9Gvv81tP9IwP8+uv9SxP1Evf9Au/9RxP4lqf4tr/9PxP8nq/8rrv88uf9Nw/86t/8zs/8wsf8vsP8prf9CvP8boPcan/VRxf8covgfpPsjqP0hpvwdo/kxsv/b8v4oqfooq/4urvxPw/1Kv/wyr/lGvfsjpvk0sfs5tPkfpPhDu/03tPxCufpLwf47tvwqq/strfk0s/4jp/w9uPxAuv09tvmh2vl+0ftOvvhSquAsltjV7/3J6/2t4ftfyPvC5/rF5vldv/VjvO+Nye1+w+xrt+VptuVasOQtltg78navAAAAFnRSTlP8ABn0820b5eO2nGlMT/i4t5qZbBxPjRTlEQAAAypJREFUWMPE0FFrgzAUhuEUUUEo7UVHYXcd7bBrUbq1JQYkQYSq+f//Z9/JoSvItquavBfGeAJ5UMy4JF6kpdfSRZzMOMGErESFzxwkSx6Il8gBTl5zkmh+R8QlAy5eY0cZM2JegtBcPn3HjnJOiCQqmHD2HDmaUxElQGRF0zQksF9es+TA1UU2Eyus+mytI2y85RjWnjWuX4kYBg2CG21HR6tq9OFZc74IDA1FLJbOgOPVttp6DNeB6BRLkWotrazQkadHrL91fPacFHIjtU5FpKWUEASpqjopdSQ0EB0MO4oGWMbv1ARz5BBaOMMuUGpHCkJ0nVJvgVJdB4WQQJDhwP11+jDRXClC8I84hAqIDggYFG0//mmiuUMoQvQw0Jcr4pXjc/xlujkQvRQ9EBjsXTSk52PPz+nmUPQ9Icx1GPZBGoarYURthmF4DRIuNjUh6tCImhDGEGEdIFzbGgNEDUS7Dlbb4lcQov1B5Dmv4/dp5mNEHqg7AoYbtu8ULzltfeyx3qBwiO/i7KU1YSAKw/BJyEJRCm3h0KC2gULajeCui0xDwzDJJje1V+/+/z/RbzqCXdRdnXlBTXKQ8zAuLQo8c9NjUfwgMiDKOB7aLtavGIjsmV4yGIauisuiyDLKDOLOScNhWR4QZVVVd382RubqHHNUVQdECYQcO0kCUWpEbQy3DoJCVmVtEFL+moQh3mzdjw2irpU2hC4CR0pV1wYROuuAUEqmYThwUhimUqmalFJp6sYABBQA0BQHIQb54MZBWCtwFFNa4CCEyG+clAuRpmpBS43I8/xBpwcP5urQ8dkZ5rlBLGmXAgGDk6DA+h1dtPg1YLjX4eNU55hDgaNoL6izngKRJNGpL04mx8//nSdJAsR03aHuvDGIaBJNLIZ1UZIIIZp5l3o8a4DQCu2wk1mEpTDMuEc+8eZ9hPsRiqw1Qnrp+4ZB8C6ZZ5+tUdjLGNrPGfOlR54fMM9Xb037MbLaR9u8rebMgQ+E1ydm3m+br9cni71+Nds9FlPf/OlyTewsuvY0AvUDdlTQ9wwC+VfEDqIr3zsiwOh1OwHZi4NOt+d7pm/gOx4ShLViIQAAAABJRU5ErkJggg==",__vite_glob_0_61="data:image/png;base64,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",__vite_glob_0_62="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAmVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VHQRUAAAAMnRSTlMAP7j89I1C8U9vC8y0lnY5EOvkwRb41b2jnGNdVBvf2tLGua2SWiyHgQe8j2VIJWozIt6D2UYAAAGVSURBVEjH7ZXZdoIwEECn4grIqsgquOBe2+b/P64zUYhKqHB6fPM+xMkxNyQzMsKbVxHrNkMGPaihN2CIrcdAWEtW0Acp/XLB0sKpy5oLzAUIy0m3/kjdclEICxznJjTAnOPSBdB9cmhETpkBhnw0Ez5o7X+Fk7+dlMkZEaf45w9hhJPsGhusQOvXCunNrMNKlGGNYDIiEILtOLwETo0w5sJALQXaOVIw2EiFPdaENszvBNAwMKVCjKExZaxzJ6g2XmIiFXT6hoakEHzD2Hn4uZbeYYKbzyCixzxkyVelAhXhCyzUvAfB20gFjU7ED8a+r4K+XvsOpVV2hw1lNAgCjc58m6UAg61E2DKBvRcC32khERx2w1AIvP5pVfjkt5shFKyEYFHgVgWfFQWgLjK1uJAdDhr/MRkVYd+97Fs8K0RBkKoVwVJExT2+ZU+sXyUghO51Ye66EVw4r7SjCupozOmF57s3Tmv7Tu9wiJoJEXU7SKYtGxkcGfK0e4tWCWrWqhkjSdam3RPqLlWed2+F/lDevIhf0Np+Ls5xJpMAAAAASUVORK5CYII=",__vite_glob_0_63=""+new URL("../svg/section0-6aca7de8.svg",import.meta.url).href,__vite_glob_0_64="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAA/FBMVEUAAAA11/////////801/801v801/////////////////////////////811/801/801/801/801/8z1v801v801/811/////811/811/////8y1v801v////8w1f8o1/8z1/801v////801/////////////801/////801/////////8z1v802P////////801/////////////////801v////////8z1v////////801v////802P////////802P////811/8z2P8z1/8z1/////////8z2/8z1f////801f8z1v801/////801f8y1f////////801v9Vj+jxAAAAUnRSTlMAPz+4/vrxT5aNbkLy5L389czDtJyNZmRcQjgbFw8KBuHU09PNx8G5ta6mkpBwXFI5LAn07evq39vYvKOgiYZ3dnVZVEgvJBQRD/aZgn9UTyQZ1bGXnwAAAalJREFUSMftlWdTwkAQhlcpSq8CUhJ6R7rSERAEu7n//1/cC4QEcmGScfjG84G8N5Mnd+xONnDhXCwCXTMhxHoHGticAvJY/ALKukAk7oGJQ5AwJQB4P9ErIHmAEKGYkZNHkggD3SDZAB1En1DIgRWFCOjiAQUnEORKn3AtIP8VQsNxfF8cOyVcX50QarjI7PJUkMg6NIWeYmUSZOoaQoNQgrLQcbnEFrg0hHdRsHJ74UYsJtJkCjz2xIvL+YEAWQxRprDA+GwhpHAgJDoYXplCgBBPnP7EJGE0m03SeK0AS4jjw90QodscVancYgliE0KwQS11JKSbTMFHTyQejCx3QrFSKbtoWVn/YUkrGgwG0SNVZZVGGCYMYUxkurxCaGLIMYQkUfCtEKIY+mrhhYaUG6GhpOgDDXm1MMSrRWxAgaa1KKQHg+ybgExVAu/dPlfaK4SCTL+lEjYWueMpjDWwKRr3C7Lg3d049/ulWfBT8lU5aNlvRWzhFYBC8Bl9pz+MjZk2xCwGBxlUDY5K4DKGhjESyxga9wj32fPg7V7tI7W3H5Q6XDgTf95TzsvvVW+XAAAAAElFTkSuQmCC",__vite_glob_0_65=""+new URL("../svg/section1-65bdce67.svg",import.meta.url).href,__vite_glob_0_66="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAmVBMVEUAAAA11/801v801/8z1v801/802P801/801/801v801/802P812P8z2P802f8v1/8y2P801v801v801/801v811/801/8z1v811/801/801/801/812P802P8y1v8o1/8z1/801/8z2P811v811f8z2P801/801v801/8z1/802P801v811/801/811/8z1/8z1v8y1/801v996yOAAAAAMnRSTlMAP7iN9fFP/Mz6tG5DORUPCuvUwZZk5eC9pZuRXVQbBtp3c1pDLNLFiIIkvK6faK5LM4y0/gUAAAGdSURBVEjH7ZXZdoIwEEDHHVxYC8qO4L61zf9/XGdSISih4unxzftAJpobk4wZ4M2riMYmQwY9aKA3YIg5joDQu6xgClKm5YCuDpDYrGQlF1ZihJ2AU3b6zUvql4Mc2OJzPoMWzOY4dAu0nxxakdPJAEM67YQOjf2v4Hg7rTzNCXGJDn8IGXY213jJCpRpo5BWel1WMho2CDNG+EIwXZenwG0QfC4MjFKgmcMRBmupkGBOaML8RgAFg5lUiDBcqox1bwTdxE1oUmFM39AjLoRzlu0tbAPpHjScfAEh/czdKXmGVJhgdAEdNetOsNZSQaEV8YWx76swDgJvTscq28OaTtT3fYXWXD2lMwY7ibBjAjMRAp9JkQguqzAUAs9/WhemfHcLhIKTEHQK7LrgYauWCVA13myOR4X/mZY1IaHPP4H44pcdBUFq1ARdFRmn3GbQqyQuBiH0rwNz2w7hl8NJCQwwJh+cnnO4uXHKs3d6j4+wnRBStYNYfbKQic09qt4cB8DYtK3eRQJjq231pnJPGPt09Lh6j+iF8uZF/ACMe35iP7VHJwAAAABJRU5ErkJggg==",__vite_glob_0_67=""+new URL("../svg/section2-15e16c95.svg",import.meta.url).href,__vite_glob_0_68="data:image/png;base64,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",__vite_glob_0_69="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAolBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8ELnaCAAAANXRSTlMAoQX7Zd3N9hDu6ePZrKd7TxPTnJR1X1hTIgjm38ONcW1pRj05Jx0XuZePg1s1LAzKsrFah5VL3fAAAAGESURBVEjH5dPZdoIwEAbgYZdFFhURlV1wX6qd93+1noRjayAWuG2/a37+ZM4E/oNShP4u6V3HCPoJZdtAKoBu5+kav02gm46v3O6AxQRu3YE5MryBFQr0q5CE2iGEbqKCiAsYYM7Ms2/FaUhCJrcVh1bIQyvM5ZAKsk7J0ArjCnzb4pH6fiLndFed3cQwVUFCRAc4qlhBSbX3h5mwB3BVfKGPoCXXEMdbqI3GyDq2A2R+xfNoFjZoHve1fAB1VbElbgViJAl61hm2aVUzsKS/XT0ALhJyCJC4bMKLkFBdTgG9hWupOdtxQEpCrjmAbOzYZ1RM8L0ZHbcms5uTmW8DY6gHMm3cPVN+DYg6TTDmN25gD8RG4r3y8rjizDU4ZZ8RmcgdWH5O/nS08B0bWBuMFuQZe/KUOwKzhIYxohmf67VaOLai4YuJM2q/ozXdEuFUPbe9COTMd/w02IyApzSwtrYd9+JBt4pZcEkPOhNiavx8b4fQg7iYWhpKq10SQn9L+MO+AABdeIeCFJ6hAAAAAElFTkSuQmCC",__vite_glob_0_70=""+new URL("../svg/shenggui-31fe8d1c.svg",import.meta.url).href,__vite_glob_0_71=""+new URL("../svg/shuodiao-active-36a3e38b.svg",import.meta.url).href,__vite_glob_0_72=""+new URL("../svg/shuodiao-da855d30.svg",import.meta.url).href,__vite_glob_0_73="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAk1BMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ROyVeAAAAMHRSTlMAs+gEyfz5sJmFMu/UgFJJLB0J5L+1q6CQbFg6FRH18uDVxYx4TTfhzcCkdGFFQyQX0OdKAAABGElEQVRIx93Q127DMBBE0SEpq1nFci+Su52e8P+/LgkMWKCzYypvQc7zXGCx+PsGx2indRYdB+jiFNiroIRPE1nHtMJdq5G9oe/elfbtD/0VqEpbga7BKCuagCgssSRBxoIMorOlzpAkPEggGfNgDMmIByNIQh6EkPR+G2geaEj2PNhDMufBHJI3HrxDtLXE1kC0YMEBMhNYUX86JMXHxgp6T+oEogiFfaBUDKZcC/svKZj08eb+sfqWgzIL3c7D3URdVOBMEWdra3ubh0BdLeCxnChH+1kmV64CHs3MDWYGHoPILVbwWbpBAq/ECSIDn+bZKWp4pU4whN+ras3RgTm0QYku6hl5ElXFl30+REemzOP4JcV/8wmuL3NAy/72ggAAAABJRU5ErkJggg==",__vite_glob_0_74="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAMBAMAAACdPPCPAAAAMFBMVEX///8AAAD///////////////////////////////////////////////////////9PNSPeAAAAEHRSTlOzAK09p6KbkodzNyshGBEKyUyRXgAAAE1JREFUCNdjkFRgAAGmiQwGDBDAjMSSgLIaGeQLwAz2jwyCz8CsPEEGQdkAIIP1IpAleATI8hEEsaQVGJg2glmCixi0BCEsYRdDMAsGAGXPC22qqTvSAAAAAElFTkSuQmCC",__vite_glob_0_75="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAWCAMAAADgvdz9AAAAUVBMVEUAAABnMgdpMgVnMghnMghnMgdnMgZnMQZnMQZnMgdnMgdnMgdnMgZnMgdnMgZnMgdnMgZnMwdnMQVoMQRgKgBnMgdnMwhoMgZmMwdmMwBnMgfLSw7JAAAAGnRSTlMA3zJmzL1XfCqU/NnF9vDknGtcOQzQgXZLD56OYkkAAABwSURBVCjPzc7JCoAwDEXRWoemg/Oc//9QRQpPMHblwrsLB5KoW2ZTiYh9ijVn/2ado/HJhpF98lCi/uvXqEI6yk40vb7Wz47ZheXivEDrOU+BY+LtDstagRtwI3ALDgIb8KCEbERnlNjY+br2lgQ6AOMJDM3YkDhmAAAAAElFTkSuQmCC",__vite_glob_0_76="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA8CAMAAAAwsEgmAAABiVBMVEUAAAC4wOOgw9WYwOCht8uit82jt82kuM+jtc+jtchNn9ugt82kt82ht8yUudBJndujuc6juM2kuM5SuftJndpTodlXv/pQodlfpNZSuvpcpNdSuvqet82jt82Ms9Cgt82juMyht82guMqitM1awPxYwfqjvNJct+ZcxPtmzfpSufpmy/pRuPplyvlZwPpjpddbo9h1qtVjyPlexPpsptWMstKFsNNbwvtUuvuStNCcts5lyPpSufxbwf+ftcyqts5Vv/9exvtexvr///9s0/lv1/lIndqC6fl95fldxfqF7Ply2flhyfl74vlawfpTuvqI8Plfx/p/5/lWvfpXv/pbw/pp0fl02/loz/llzfmL8vl23fl44Plky/mH7vl64fl33vlnzvr1/P71+fy30+hloM1w0e9Opd5KoNt8z/l/5PVqyuxnx+xlteFSqt9pptFlpM+66PxtyPqc2/nA8Py+7vy25vy24/qr4Pp94PJ63fJ22fJfuuRru+HV8PvB6PliyPhvvuFuveGlXj/KAAAAQ3RSTlMABA0HPzVSRBsL8lokHhP8cWJe+fnl4t7PyLuagnx3aUsuKykkGBj6+fn07OrNx8TCrp+ckI6KiYmBd11XLS0VDPT0idcqqgAAApRJREFUOMvdkFdD2lAYQD8gCSsJQ/YuKO69t614W2iJVaSoKC0OhiCte3f98iYXJRhifO954CP3nCT3Bv43lua87r62tj63d25JRrd7e1Yb9HjbJVoz1bb6jLYpTbPvcKd4BIEnxt0h+nlHKsWlpDjmG/c7Nk6vrsobUhyPz9AMcKc/T85OOY4TljlxDtT3Mclx17/OypwMk/h8Xen09Vk5npahiz+tajQej5fLa3E50qMqYN/FFXjLwuyaIrMw8kmREejHc/dyb7mJ/YPvx7+x6IfeXYHLZQkHh8dY9EL3lsCeNNg//IFFN+S3tvL5vGyQF4BNzInMK+oGvmBiJy2b3KwbiMViuMDgiWlcQ0wZPljhebrC//EUg5VXeD34+AqPQeZCesyHpyCDuWj9UA91A1mM3KfmlzOZLGS/CcgFWGQhsyNw3vqKv1hkoPBVIHku3eSfHSwKUE0qUoXOZPKDAp1gUPRJAzgr6wpUnOAprr9/kfWiB8ZQ9eWgisbAaCvdJZoRBP8rcFeyGSE0hIpHCVmOimgoBETAhGpHuVwukcjxNPsaMgUIICkPQsXbzy3cFhHyUCREtEEnQqVKTuIrJYScQW0EGJIKGBBCtUJuu0GuUOOXDAGKZIClCeOEUKDSfeEmsb2duCncl5DgJ4wEzYI+GtZap+2oBfu0VRuO6kGl1r3RWmcGTc+1aXDGqn2jU6tApREKo3ncZRO1zTVuNgpeowJchAnKYvYNu+wGk8lgdw37zBaKCNc9LqI0qaUsQbPf7/P5/eaghdKSdBR7XKj0LBMhiRBltFosViMVIsgIw+pVdf/4EFZHL5AkwUOSC7SOfbpdTPTqRR3D0DTD6BbVelGLCd/o1Tx63opaEvFI5D8265dzagonvAAAAABJRU5ErkJggg==",__vite_glob_0_77="data:image/png;base64,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",__vite_glob_0_78="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAuCAMAAABkkgs4AAABdFBMVEUAAAAzqf8mnv9Z6f9T3/9V4P9Y5/9T4P9Bxf9M1/9W5P9X5P8qpP9e8P8sp/8nnv8xr/8noP9S3v8rpv85uf8rpv8mn/9X5/8/wv8sp/9X5/9N1/8wr/8noP8/xP8sp/8pov9Dy/9W5f9M1f9AxP8+wP8yr/9a6v9L1f8/w/8+wv8mnP9M1f9Z6v9Hzv8wrv80sf8wq/9P2f8mnf8mnP9Fzf85uv84tv8wqf////9R3v83uP9Ey/9CyP8uq/9Gzv9P2/89wP8xr/87vf81tf8zsv8/w/85uv9N2P9Bxv8wrf9L1f8tqf8sp/9I0P9AxP8pov8mn/5V5P9T4P86u/88vv8rpf82tv8lnf8oof8+wf80s/8qpP9FzP9Dyf8ysP9K0/9O2f9M1v9J0f9J0v9U4f9Q3P9Y6P9X5v9U4v9W5f+Z5f+b6P+X4//r+v/o9v9+3/9m2P+R5v9w4P9u2f9b2f9S0v+M5f5sxf6E3/942P5a0P7a/p9pAAAAOXRSTlMAEMG8OxDYv7+8XVFREPvz2NjFxcK+uqKioZCQkJBcXDsR8/Pz8/Py2dnZ2dbFxb+6uqKiXVFROzvHpnYuAAADFUlEQVRIx22Vd1saQRCHF3uJvSdGY3rv9QA5ARU8OWkqJKCgh4SWiDXlyzuzs8vewc3f7zPPu7+Zm2P2WlmaH3j+KJTe9HrDP9Yfj79ZWPYw9/o04I/ubHxf2w2lvfsArwe3VrdHZ265oD2v8z6/P8rhzU2gEQY6tjd1r529YwbyvgNsvbaGHtg6GFxFOBe/60B7By0zEPD5CN5NQ2uAD9ED4eysx8a+NKzjq+Z/7rHR8jhEj1gsl8smJhQ9eGQUmo1G48Lv39kBGD3C6EHS8Ww2MdvyjUSMZq3WaPw7EJ1DUlp6JDLCu0ePHF3WoE7zPgovBNL74TBJb8cQTmQok0m9WDyrAxvIH4BHKzxMmuBcHOAuZIc1vXher9f+8vCiUZJW4UmPDE6nX9P1a4CvOpMmDwFj696UdqKf1esX1rEZQFh4eCEPAUMeCGc8bCilafp5/dooHNNYVNLUeVW+MPORzZUA1i+LAAsP6Owu/YH1l8ADwjMMgKWHgslDSvdVNICLEcOwTDOPHq3wVNJ73OMFuw+dNYS5NI4FaLkeTukxlqyksDVMvGCZCLdJb9nCY8kkly7CLtmld92SZlUBwxNPf33rqN9/wCNG0g4Y2U6awovHEf6ZTOILUdodVh4AkzTC7ho8PAlXeR7cw8KJwxP5TsNBwImr9cgmWBlgaA0w5UFJ0/XAPACW0gCjB0pzuGNN123hIVytlNRYaPPIA9dUeSD8pGyTLpgmwPIgpOVOb9HEx1gfeABMHpbwwM7SQ63pBOsGWM6FPNSakkdQhtfF5spllbRBsJR2XLG9+AIbKlPSMjySdoQnD9MyGykraRUewio8kh71MLs00BKO4jVFWEnP4JEBD4Q1lBbhAUzSMjxcU/4LeCWSPpHrkbclrX4BU3QY0SOVapdGWEoj/JXxuo0emkpafeNp5bHIRHWDh3yhYz3UxN8xWSN9zvBo4vZrOu5hiu6ukLSauOOavpWs8KbwXNc0vNjx05yU0nRNcfPIY/oL66zhfvJwfC6h6c/MvXqH3g8+fWAJ+OGzgfmlFWarG2rqAKqUjHVOAAAAAElFTkSuQmCC",__vite_glob_0_79=""+new URL("../svg/task-bg-859300d7.svg",import.meta.url).href,__vite_glob_0_80="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAq1BMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Nr6iZAAAAOHRSTlMAJgv9++oO8xXvGQf3ppph39y9UzQe5NLBrZ9+cV1GLdbOs5CHOsq5jIlnV0xCI8OvhHdrk5JoP6sIt7sAAAHaSURBVEjH3ZTpcvIwDEUF2cgCCYEkQAhbodAW6PYt9/2frJGnnQyWhgfo+escS9G1Tb+Ryc5z8I0T5indZ5DDYlvQHfoVBFl0R/gLhTkxcZrGsqEECs6a10bAQggpVOp2qXCBsRBGUBm1S0/QKjxCIZ/yNELTmk0AyZ7oZV6N2RTf9yBZUPRT9yxDhsDz/U3n2tQQvJu/3TX/WFvZwhyCA4XAA+f2yAlajNGRBGAGayDp8+IK8OyD5HTf7/qxCcU/ANnPRBJLOKCjnX2ElvUVcM15bdi85RkdvbYgWj65z9xvC5Sc+C1/FGFrtilHwwBwe5YwUwSk3ew+ySLUhJIuMHgNWRTQhD29AchPjU82Z01wo6sLBANS+NCEIT2YC3FWhKEmTH2+CL31URE2ijCjJYAjLTwSxK4iTCgDsBokiIQwhRTG5opsqG4lITSKsDRhPsce8CGEkxRCn8t6/dSMy+YohRMNTXRbAJUQSiG4RZRwdBeToBASIQzp3fTyBkaE7QnhEHsc3dVBixPbwswSvp/aV3M2tHd1KYWKo/MDME9C6Je2sAKQmY308/rftYQdOLoMLc4LKVy8GyFygMCfmP35ewW/3oadUDj85r0iqPaiH506nA3oV/IFZYG/rsR0MY4AAAAASUVORK5CYII=",__vite_glob_0_81=""+new URL("../svg/tickoff-0fda3f41.svg",import.meta.url).href,__vite_glob_0_82="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAqFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8j1z1tAAAAN3RSTlMAnCjnJlsL/O+8DvXr497MtV4fEgTVwq6YhmhiRRsXnzn5jYlySywIBqilkn53blNAMy4i0HxPwwsuwgAAAblJREFUSMfd1dlyqkAUheEdUeYZHFAgajQx83RO1vu/WUgXJbB3k/I6/w3Y9GdXKwr9mWaz8+kx9nHOdja5dj5wRaosBitKtaAVdxFEQa0RV63YQNNSTcmTzUkIdZTdtjOu6ULx1IynFhDShWLVDN+ArTAunPdm0LQBfNAlomg+xOW/8EcSSwr1uora0y+6QPiuO4dKbEEvCrXbeLb+YSWxTCm2uQ3s23tgycFi0omVp0B9C3gmNZWAwRewjJ7I1SLZFgjU1SmwY6C51heVuis+AauipgQIGVhjINRxTSHguM0CBrBi4BFSROptgtWDB1gTvmdoxIaWaHshlg2NCOgNKj8hVgpoRKFWcPaJS7wjdML9tAAvI03P0Iq1+kEcNeAePZENdj75cDRgjl5T6omYrg0SnSwGOpHWHmoB3sFBJxKgFCDh4DT4Pp4F2HNgGtOeeBDAEQAFdeIgQCCAldaTToh2AtxTYfwifAG2dz5+EQsG2v/ymMbEiwRzAK/u2BpmwEEJIMwPxph42zEQAzjkIUZF6Q9AZQG2+wqcxYyL7H9kdyAF8EgLePObihrBgezJXmTDR/Nf6RuYZKNPXpyrswAAAABJRU5ErkJggg==",__vite_glob_0_83=""+new URL("../svg/tickon-fbcde2e9.svg",import.meta.url).href,__vite_glob_0_84=""+new URL("../png/tj-a46bf4d1.png",import.meta.url).href,__vite_glob_0_85=""+new URL("../png/tpbz-57c42ef9.png",import.meta.url).href,__vite_glob_0_86=""+new URL("../svg/tv-6937ad6f.svg",import.meta.url).href,__vite_glob_0_87=""+new URL("../svg/yijian-9ffcec54.svg",import.meta.url).href,__vite_glob_0_88=""+new URL("../png/yjfk-ac627152.png",import.meta.url).href,nameImg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK4AAAAqCAMAAAAd85ASAAAAn1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Kd3m4AAAANHRSTlMA8UX6vTtxKulsaLVizhiWqH4hJtmuFe3gQQj2glsNNwSRe50yxi4ehk5HdVTSEsLki8mi9hji2gAABVJJREFUWMPdmNtiojAQQEdRQUWgIoogCGpV6qVa8//ftkkGCAgp1O7L7nkok7TAaTIziPAvYPfhiTk8EZqMEGqYv1E20IpuQMkvHk8oNg1UFtzhe/ozRgCGq7xBiVVnj0G0ZRgABmEYUINKKApQDtMnjAjK9AglX5wxG7E77VjgNOh+cIVBOKE/e4X1vNLLuGjmEYbaUndBKrhv4d/VPfX44baGlJ3Lxl/er3WRcZ3udMbw2cilAb9jh8+FTbox4ShDQLY4tn6vi9g1ujaR0aQ7AN0Xfkzxi3BWf0n3/Jd1Ya3R48SDFONGOAFASOrZ1eoONlzY2aTg/538XFcd1mAShkOjOz3eh8MRIGtcbr8PSYPukTagGZ+hwSYtHhNSHMJY4mBkUm78jqYZdxgKG/GIBQqPuO6ItMGHFJ0PtdGCNOha+QxqHnnVeoC4xdwdl+tP3e/3n5LO8FNdMNl6Hfbkp7oBDzbAwa1ZQJ0u5vmBMmfw4HXd6ItYHqS6CgOjDJnuFK+TAGXqYgXLdCt0PpMXdeFwAkh1tQNIO0NZN5dSTh4kacH2pbryLqJ3akgLSkxoUAR1XdMAue5S1/UNF6TBmlWpQjjuOx5FRiZDCi/LeDhMJLoXkLPExwQg4rKMM6uAaH6NAGnTd6+qqu4dUkJbq+oBIP3tQTyEF5L9lbMmjDcQFDdtPAekte6J1DPO89FBXS/T7RfR2MwcpGBqHqu6yAPUbs4ZUysfr6u6XltdU1NT3UGRRYMulnEs0yXhlkj5etbtPjpxG13OLKxNBqEbWRU2+ITdSnX37XVRQmRsz7RmikyXBQ26HqnQA19cTLBxHOdCGN1Wut4oL+sgCM7JcnewTcbysOsmZzq3LOkipxd0XVnvGLTVNfSxn88tolINj0BQ0cXnzqpIp0n3nd9ErnvqMSZ88EkjHkz4pIk7QUr02+lqJEMtojXpPvjxKtUttme2cumsICCCW7wM3pFL+qRAhs+6QYdWTOf7ZBhzZriTPD7Cio+WDboJ9u863TnJUPp4Wg13oWth3w06gbzUihz53Acg2EwHcl0xuNXqwiXXhR/oggGv6GLjtRp0Hzx163Vj4luDdrpD1jSfHsKu62qYOBSlSRfP0b7XvXbyZ192smCth4WXn2CCzFAhHQ0gL8tY6I4/KfSo55XhsJnrd7qO+Kwt0/UKbzD1uSN0Qd4Z8AV7k+ka3RRsln435/CN7gh3S6brzff6BbsXMPg6d6yYMf+h7ontdZDp6kTGSKIrkleL6nU/RC4maWEJphVdT8/AjvPIx3P+OkWxf6cL+CFar9cNct0Yp81vda9ShX567gx+qTvEDh9CmQ0mSaZrRjht+3W6u9a659/qhgvcNygSrRQsbbSeJJDRv1R1sXtrzbo3HXJdY4kECkGUUTpjFDyuMdrdt9b4faZtmH/llWKXOy0mljnYQxH7rI84ISCpwqRJNwwBhK74fivjVrzP8TJzNb+mgYcaho95eWkRZWyu3urpZ39v5m+QdgY+LVf52JN8YZoUa1eJxcKapI5t4VOK7xxHLG9WpAViP9T0jueGRlbWnSZn/WS5WSHPCDKJV6cBW7c7qcPC9i1gm4bnKr12uldMfjf6iW75aT2ObO3pC6KN/CUqGpd0Ye+z2/chbqWLNd7Zwcu6j4ie4JZ1h2KoaLNJz9nSdR99iOxDsub2CNlx0ayLrdvvwku6ou2EsVLUXW7vJ/3cXduGB1WWn0Vd2AZ4DEfO5aZJGOSNRPmy4SVdzRmIXTF05+ajbjOHkzPRfB9eYV2ZiQyGB1WMKcUDY7225xFUuNLfRvDf8ge6+7WRrwc33wAAAABJRU5ErkJggg==",icons$3=Object.assign({"./add.png":__vite_glob_0_0$1,"./addImg.png":__vite_glob_0_1$1,"./back.png":backImg,"./background.png":__vite_glob_0_3$1,"./background.svg":__vite_glob_0_4$1,"./background1.png":__vite_glob_0_5$1,"./bg.png":__vite_glob_0_6$1,"./close2.svg":__vite_glob_0_7$1,"./closeImg.png":__vite_glob_0_8$1,"./cursor-icon-1.svg":__vite_glob_0_9$1,"./cursor-icon-2.svg":__vite_glob_0_10$1,"./cursor-icon-3.svg":__vite_glob_0_11$1,"./cutImg.png":__vite_glob_0_12$1,"./down.svg":__vite_glob_0_13$1,"./gl.png":glImg,"./guan.png":__vite_glob_0_15$1,"./guding-active.svg":__vite_glob_0_16$1,"./guding.svg":__vite_glob_0_17$1,"./headImg.png":__vite_glob_0_18$1,"./headTit.png":__vite_glob_0_19$1,"./icon-back.png":iconBack,"./icon-staff-active.svg":__vite_glob_0_21$1,"./icon-staff.svg":__vite_glob_0_22$1,"./icon_evaluatingOff.svg":__vite_glob_0_23$1,"./icon_evaluatingOn.svg":__vite_glob_0_24$1,"./icon_menu.png":__vite_glob_0_25$1,"./icon_menu.svg":__vite_glob_0_26$1,"./icon_minus.svg":__vite_glob_0_27$1,"./icon_pause.png":__vite_glob_0_28$1,"./icon_pause.svg":__vite_glob_0_29$1,"./icon_play.png":__vite_glob_0_30$1,"./icon_play.svg":__vite_glob_0_31$1,"./icon_plus.svg":__vite_glob_0_32,"./icon_reset.png":__vite_glob_0_33,"./icon_resetbtn.svg":__vite_glob_0_34,"./icon_speed.svg":__vite_glob_0_35,"./icon_speedRest.svg":__vite_glob_0_36,"./icon_zhuanpu.svg":__vite_glob_0_37,"./info.svg":__vite_glob_0_38,"./kai.png":__vite_glob_0_39,"./list.png":listImg,"./lx.png":lxImg,"./mingsong.png":__vite_glob_0_42,"./mode.png":iconMode,"./modeType.svg":__vite_glob_0_44,"./music.png":__vite_glob_0_45,"./music.svg":__vite_glob_0_46,"./music1.png":__vite_glob_0_47,"./off.svg":__vite_glob_0_48,"./on.svg":__vite_glob_0_49,"./pc.png":pcImg,"./pc_end_icon.png":__vite_glob_0_51,"./pc_icon_pausebtn.png":__vite_glob_0_52,"./pc_icon_playbtn.png":__vite_glob_0_53,"./pc_icon_resetbtn.png":__vite_glob_0_54,"./perform.png":__vite_glob_0_55,"./photo.png":__vite_glob_0_56,"./qipao.png":__vite_glob_0_57,"./qx.png":__vite_glob_0_58,"./radio.png":__vite_glob_0_59,"./radioActive.png":__vite_glob_0_60,"./recommendationName.png":__vite_glob_0_61,"./section0.png":__vite_glob_0_62,"./section0.svg":__vite_glob_0_63,"./section1.png":__vite_glob_0_64,"./section1.svg":__vite_glob_0_65,"./section2.png":__vite_glob_0_66,"./section2.svg":__vite_glob_0_67,"./settingName.png":__vite_glob_0_68,"./shenggui.png":__vite_glob_0_69,"./shenggui.svg":__vite_glob_0_70,"./shuodiao-active.svg":__vite_glob_0_71,"./shuodiao.svg":__vite_glob_0_72,"./sing.png":__vite_glob_0_73,"./sj.png":__vite_glob_0_74,"./speed.png":__vite_glob_0_75,"./speedBtn.png":__vite_glob_0_76,"./submit.png":__vite_glob_0_77,"./subtract.png":__vite_glob_0_78,"./task-bg.svg":__vite_glob_0_79,"./tickoff.png":__vite_glob_0_80,"./tickoff.svg":__vite_glob_0_81,"./tickon.png":__vite_glob_0_82,"./tickon.svg":__vite_glob_0_83,"./tj.png":__vite_glob_0_84,"./tpbz.png":__vite_glob_0_85,"./tv.svg":__vite_glob_0_86,"./yijian.svg":__vite_glob_0_87,"./yjfk.png":__vite_glob_0_88,"./zt.png":nameImg}),headImg=i=>icons$3[`./${i}`]||"",speedContainer="_speedContainer_qtzmq_1",head$4="_head_qtzmq_1",headTit$3="_headTit_qtzmq_8",closeImg$4="_closeImg_qtzmq_16",content$7="_content_qtzmq_24",conBox$2="_conBox_qtzmq_33",tit$2="_tit_qtzmq_45",spendCon="_spendCon_qtzmq_51",btn$7="_btn_qtzmq_57",sliderCon="_sliderCon_qtzmq_63",customButton="_customButton_qtzmq_82",speedVal="_speedVal_qtzmq_87",speedBtn="_speedBtn_qtzmq_99",speedSel="_speedSel_qtzmq_105",metronome="_metronome_qtzmq_125",styles$q={speedContainer,head:head$4,headTit:headTit$3,closeImg:closeImg$4,content:content$7,conBox:conBox$2,tit:tit$2,spendCon,btn:btn$7,sliderCon,customButton,speedVal,speedBtn,speedSel,metronome},Speed=defineComponent({name:"speed",setup(){const i=ref(state$1.speed),e=()=>{i.value=Math.max(i.value-1,45)},r=()=>{i.value=Math.min(i.value+1,270)};watch(()=>i.value,()=>{handleSetSpeed(i.value)});const s=computed({get(){return!metronomeData.disable},set(o){metronomeData.disable=!o}});return()=>createVNode("div",{class:styles$q.speedContainer},[createVNode("div",{class:styles$q.head},[createVNode("img",{class:styles$q.headTit,src:headImg("headTit.png")},null),createVNode("img",{class:styles$q.closeImg,src:headImg("closeImg.png"),onClick:()=>{headData.speedShow=!1}},null)]),createVNode("div",{class:styles$q.content},[createVNode("div",{class:styles$q.conBox},[createVNode("div",{class:styles$q.tit},[createTextVNode("速度")]),createVNode("div",{class:styles$q.spendCon},[createVNode("img",{src:headImg("cutImg.png"),class:[styles$q.btn],onClick:e},null),createVNode("div",{class:styles$q.sliderCon},[createVNode(Slider,{class:styles$q.slider,max:270,min:45,modelValue:i.value,"onUpdate:modelValue":o=>i.value=o},{button:()=>createVNode("div",{class:styles$q.customButton},[createVNode("div",{class:styles$q.speedVal},[i.value]),createVNode("div",{class:styles$q.speedBtn},null)])})]),createVNode("img",{src:headImg("addImg.png"),class:[styles$q.btn],onClick:r},null)]),createVNode("div",{class:styles$q.speedSel},[createVNode("div",{onClick:()=>{i.value=state$1.originSpeed}},[createTextVNode("原速")]),createVNode("div",{onClick:()=>{i.value=70}},[createTextVNode("70")]),createVNode("div",{onClick:()=>{i.value=80}},[createTextVNode("80")]),createVNode("div",{onClick:()=>{i.value=90}},[createTextVNode("90")]),createVNode("div",{onClick:()=>{i.value=100}},[createTextVNode("100")]),createVNode("div",{onClick:()=>{i.value=110}},[createTextVNode("110")])]),createVNode("div",{class:styles$q.metronome},[createVNode("div",{class:styles$q.tit},[createTextVNode("节拍器")]),createVNode(Switch$1,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o},null)])])])])}}),settting="_settting_1920k_1",head$3="_head_1920k_1",headTit$2="_headTit_1920k_8",closeImg$3="_closeImg_1920k_16",content$6="_content_1920k_24",conBox$1="_conBox_1920k_33",cellBox="_cellBox_1920k_45",tit$1="_tit_1920k_67",radioBox="_radioBox_1920k_73",active$2="_active_1920k_92",frequency$1="_frequency_1920k_97",frequencyNum="_frequencyNum_1920k_101",btn$6="_btn_1920k_113",reactionTimeBox="_reactionTimeBox_1920k_119",reactionTime="_reactionTime_1920k_119",timeName="_timeName_1920k_136",cellBtnBox="_cellBtnBox_1920k_142",slider="_slider_1920k_156",sliderBtn="_sliderBtn_1920k_160",styles$p={settting,head:head$3,headTit:headTit$2,closeImg:closeImg$3,content:content$6,conBox:conBox$1,cellBox,tit:tit$1,radioBox,active:active$2,frequency:frequency$1,frequencyNum,btn:btn$6,reactionTimeBox,reactionTime,timeName,cellBtnBox,slider,sliderBtn},index$1="",_numberOfSegments=58,smoothAnimationState={isShow:ref(!1),canvasDom:null,canvasCtx:null,canvasDomWith:0,canvasDomHeight:80,smoothAnimationBoxDom:null,smoothBotDom:null,osmdCanvasPageDom:null,osdmScrollDom:null,osdmScrollDomWith:0,selectionBoxDom:null,pointsPos:[],translateXNum:0,aveSpeed:0,clientWidth:0};watch(smoothAnimationState.isShow,()=>{var i,e;smoothAnimationState.isShow.value?(i=smoothAnimationState.smoothAnimationBoxDom)==null||i.classList.remove("smoothAnimationBoxHide"):(e=smoothAnimationState.smoothAnimationBoxDom)==null||e.classList.add("smoothAnimationBoxHide")});function initSmoothAnimation(){createSmoothAnimation();const i=getPointsPosByBatePos();console.log(i,"batePos"),smoothAnimationState.pointsPos=createSmoothCurvePoints(i,void 0,void 0,_numberOfSegments);const e=i.reduce((r,s,o,a)=>(o!==0&&Math.abs(s.MeasureNumberXML-a[o-1].MeasureNumberXML)<=1&&(r+=s.x-a[o-1].x),r),0);smoothAnimationState.aveSpeed=e/(state$1.times[state$1.times.length-1].time-state$1.times[0].time)/1e3*16.67,calcClientWidth(),document.addEventListener("resize",calcClientWidth),smoothAnimationState.isShow.value=!0,console.log(smoothAnimationState,"一行谱小鸟数据")}function destroySmoothAnimation(){var i;smoothAnimationState.isShow.value=!1,document.removeEventListener("resize",calcClientWidth),(i=smoothAnimationState.smoothAnimationBoxDom)==null||i.remove(),Object.assign(smoothAnimationState,{canvasDom:null,canvasCtx:null,canvasDomWith:0,canvasDomHeight:80,smoothAnimationBoxDom:null,smoothBotDom:null,osmdCanvasPageDom:null,osdmScrollDom:null,pointsPos:[],translateXNum:0,aveSpeed:0,clientWidth:0}),Object.assign(moveState,{oldIndex:-1,progress:0,activeIndex:0})}function moveSmoothAnimationByPlayTime(i){var l,c,u,d,g,m;if(state$1.playState==="paused")return;const e=i||getAudioCurrentTime();if(e<=state$1.fixtime||e>((l=state$1.times.last())==null?void 0:l.endtime))return;let r=state$1.activeNoteIndex+1,s=(c=state$1.times[r])==null?void 0:c.bbox;for(;!s&&rstate$1.times.length-1?(d=state$1.times[state$1.activeNoteIndex])==null?void 0:d.endtime:state$1.times[r].time)-((g=state$1.times[state$1.activeNoteIndex])==null?void 0:g.time),a=(e-((m=state$1.times[state$1.activeNoteIndex])==null?void 0:m.time))/o;moveSmoothAnimation(a,state$1.activeNoteIndex)}const moveState={oldIndex:-1,progress:0,activeIndex:0};function moveSmoothAnimation(i,e){var l,c;moveState.progress=i,moveState.activeIndex=e;const r=(e+1)*(_numberOfSegments+1)-1,s=Math.round(i*_numberOfSegments);let o=r-_numberOfSegments+s;if(moveState.oldIndex===o)return;moveState.oldIndex=o;const a=smoothAnimationState.pointsPos[o];(l=smoothAnimationState.canvasCtx)==null||l.clearRect(0,0,smoothAnimationState.canvasDomWith,smoothAnimationState.canvasDomHeight),smoothAnimationMove({x:a.x-20,y:a.y-25},smoothAnimationState.pointsPos,smoothAnimationState.pointsPos.slice(0,o)),!((((c=smoothAnimationState.osdmScrollDom)==null?void 0:c.scrollLeft)||0)+smoothAnimationState.translateXNum+smoothAnimationState.osdmScrollDomWith>=smoothAnimationState.canvasDomWith)&&move_osmd(a)}function move_osmd(i){var d;const e=smoothAnimationState.aveSpeed*(state$1.speed/60),r=smoothAnimationState.clientWidth,s=smoothAnimationState.clientWidth/2,{left:o,right:a,width:l}=smoothAnimationState.smoothBotDom.getBoundingClientRect(),c=o+l/2;a>r?(smoothAnimationState.translateXNum=0,smoothAnimationState.osdmScrollDom.scrollLeft=i.x-r*.9):o<0?(smoothAnimationState.translateXNum=0,smoothAnimationState.osdmScrollDom.scrollLeft=i.x-r*.1):c>s-r*.3&&c<=s-r*.25?smoothAnimationState.translateXNum+=e*.5:c>s-r*.25&&c<=s-r*.2?smoothAnimationState.translateXNum+=e*.6:c>s-r*.2&&c<=s-r*.15?smoothAnimationState.translateXNum+=e*.7:c>s-r*.15&&c<=s-r*.1?smoothAnimationState.translateXNum+=e*.8:c>s-r*.1&&c<=s-r*.05?smoothAnimationState.translateXNum+=e*.9:c>s-r*.05&&c<=s?smoothAnimationState.translateXNum+=e:c>s&&c<=s+r*.05?smoothAnimationState.translateXNum+=e*1.2:c>s+r*.05&&c<=s+r*.1?smoothAnimationState.translateXNum+=e*1.4:c>s+r*.1&&c<=s+r*.15?smoothAnimationState.translateXNum+=e*1.7:c>s+r*.15&&c<=s+r*.2?smoothAnimationState.translateXNum+=e*2:c>s+r*.2&&c<=s+r*.25?smoothAnimationState.translateXNum+=e*2.4:c>s+r*.25&&c<=s+r*.3?smoothAnimationState.translateXNum+=e*2.8:c>s+r*.3&&c<=s+r*.35?smoothAnimationState.translateXNum+=e*3.3:c>s+r*.35&&c<=s+r*.4?smoothAnimationState.translateXNum+=e*3.8:c>s+r*.4&&c<=s+r*.45?smoothAnimationState.translateXNum+=e*4.4:c>s+r*.45&&c<=s+r*.5&&(smoothAnimationState.translateXNum+=e*5);const u=smoothAnimationState.canvasDomWith-smoothAnimationState.osdmScrollDomWith-(((d=smoothAnimationState.osdmScrollDom)==null?void 0:d.scrollLeft)||0);smoothAnimationState.translateXNum>u&&(smoothAnimationState.translateXNum=u),moveTranslateXNum(smoothAnimationState.translateXNum)}function moveTranslateXNum(i){smoothAnimationState.osmdCanvasPageDom&&(smoothAnimationState.osmdCanvasPageDom.style.transform=`translateX(-${i}px)`),smoothAnimationState.selectionBoxDom&&(smoothAnimationState.selectionBoxDom.style.transform=`translateX(-${i}px)`)}function smoothAnimationMove(i,e,r){smoothAnimationState.smoothBotDom&&(smoothAnimationState.smoothBotDom.style.transform=`translate(${i.x}px, ${i.y}px)`),smoothAnimationState.canvasCtx&&drawSmoothCurve(smoothAnimationState.canvasCtx,e,r)}function calcClientWidth(){smoothAnimationState.clientWidth=document.body.clientWidth}function createSmoothAnimation(){const i=document.querySelector("#musicAndSelection");smoothAnimationState.osdmScrollDom=i,smoothAnimationState.osdmScrollDomWith=(i==null?void 0:i.offsetWidth)|0;const e=document.querySelector("#osmdCanvasPage1");smoothAnimationState.osmdCanvasPageDom=e,setTimeout(()=>{const l=document.querySelector("#selectionBox");smoothAnimationState.selectionBoxDom=l},0);const r=document.createElement("div");r.className="smoothAnimationBox",smoothAnimationState.smoothAnimationBoxDom=r;const s=document.createElement("div");s.className="smoothAnimationCon";const o=document.createElement("canvas");o.className="smoothCanvas",smoothAnimationState.canvasDom=o,smoothAnimationState.canvasDomWith=(e==null?void 0:e.offsetWidth)|0,o.width=smoothAnimationState.canvasDomWith,o.height=smoothAnimationState.canvasDomHeight,smoothAnimationState.canvasCtx=o.getContext("2d");const a=document.createElement("div");a.className="smoothBot",smoothAnimationState.smoothBotDom=a,s.appendChild(o),s.appendChild(a),r.appendChild(s),e==null||e.insertBefore(r,e.firstChild)}function getPointsPosByBatePos(){let i=0;const e=state$1.times.reduce((o,a)=>(a.frequency!==-1&&(o+=a.frequency,i++),o),0)/i,r=state$1.times.reduce((o,a)=>(a.bbox&&o.push({MeasureNumberXML:a.MeasureNumberXML,x:a.bbox.x,y:smoothAnimationState.canvasDomHeight/2-((a.frequency===-1?2*e*.1:a.frequency)-e)/e*smoothAnimationState.canvasDomHeight/2}),o),[]),s={...r[r.length-1]};return s.MeasureNumberXML++,s.x=smoothAnimationState.canvasDomWith-30>s.x?smoothAnimationState.canvasDomWith-30:s.x+15,r.push(s),r}function createSmoothCurvePoints(i,e,r,s){if(i.length<=2)return i;e=e||.5,r=!!r,s=s||20;let o=i.slice(0),a=[],l,c,u,d,g,m,y,b,A,S,E,x,P;for(r?(o.unshift(i[i.length-1]),o.unshift(i[i.length-1]),o.push(i[0])):(o.unshift(i[0]),o.push(i[i.length-1])),P=1;P1){const k=o[P+1].MeasureNumberXML+1;let I=o.findIndex(M=>k===M.MeasureNumberXML);I===-1&&(I=P+1),d=(o[I].x-o[P].x)*e}if(o[P-1].MeasureNumberXML-o[P].MeasureNumberXML>1){const k=o[P].MeasureNumberXML-1;let I=o.findIndex((M,R)=>{var B;return k===M.MeasureNumberXML&&k!==((B=o[R+1])==null?void 0:B.MeasureNumberXML)});I===-1&&(I=P),u=(o[P+1].x-o[I].x)*e}if(o[P+1].MeasureNumberXML-o[P+2].MeasureNumberXML<-1){const k=o[P+1].MeasureNumberXML+1;let I=o.findIndex(M=>k===M.MeasureNumberXML);I===-1&&(I=P+1),d=(o[I].x-o[P].x)*e}if(o[P-1].MeasureNumberXML-o[P].MeasureNumberXML<-1){const k=o[P].MeasureNumberXML-1;let I=o.findIndex((M,R)=>{var B;return k===M.MeasureNumberXML&&k!==((B=o[R+1])==null?void 0:B.MeasureNumberXML)});I===-1&&(I=P),u=(o[P+1].x-o[I].x)*e}const C=i[P-1].MeasureNumberXML,T=i[P].MeasureNumberXML;for(x=0;x<=s;x++){if(T-C<0||T-C>1){a.push({x:l,y:c,MeasureNumberXML:C});continue}E=x/s,y=2*Math.pow(E,3)-3*Math.pow(E,2)+1,b=-(2*Math.pow(E,3))+3*Math.pow(E,2),A=Math.pow(E,3)-2*Math.pow(E,2)+E,S=Math.pow(E,3)-Math.pow(E,2),l=y*o[P].x+b*o[P+1].x+A*u+S*d,c=y*o[P].y+b*o[P+1].y+A*g+S*m,a.push({x:l,y:c,MeasureNumberXML:x===s?T:C})}}return a}function drawSmoothCurve(i,e,r){i.lineWidth=4,i.lineJoin="round",i.strokeStyle="rgba(255,255,255,0.6)",drawLines(i,e),r!=null&&r.length&&(i.strokeStyle="#FFC121",drawLines(i,r))}function drawLines(i,e){i.beginPath(),i.moveTo(e[0].x,e[0].y);for(let r=1;r1){i.stroke(),i.beginPath(),i.moveTo(e[r+1].x,e[r+1].y);continue}i.lineTo(e[r].x,e[r].y)}i.stroke()}const recommendation="_recommendation_f3qyk_1",head$2="_head_f3qyk_1",headTit$1="_headTit_f3qyk_8",closeImg$2="_closeImg_f3qyk_16",content$5="_content_f3qyk_24",conBox="_conBox_f3qyk_33",dropdownMenu="_dropdownMenu_f3qyk_45",currItem="_currItem_f3qyk_103",field="_field_f3qyk_107",uploader="_uploader_f3qyk_124",uploaderbox="_uploaderbox_f3qyk_152",img$2="_img_f3qyk_163",btnCon$1="_btnCon_f3qyk_173",styles$o={recommendation,head:head$2,headTit:headTit$1,closeImg:closeImg$2,content:content$5,conBox,dropdownMenu,currItem,field,uploader,uploaderbox,img:img$2,btnCon:btnCon$1};var cosJsSdkV5Exports={},cosJsSdkV5={get exports(){return cosJsSdkV5Exports},set exports(i){cosJsSdkV5Exports=i}};(function(i,e){(function(s,o){i.exports=o()})(commonjsGlobal,function(){return function(r){var s={};function o(a){if(s[a])return s[a].exports;var l=s[a]={i:a,l:!1,exports:{}};return r[a].call(l.exports,l,l.exports,o),l.l=!0,l.exports}return o.m=r,o.c=s,o.d=function(a,l,c){o.o(a,l)||Object.defineProperty(a,l,{enumerable:!0,get:c})},o.r=function(a){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},o.t=function(a,l){if(l&1&&(a=o(a)),l&8||l&4&&typeof a=="object"&&a&&a.__esModule)return a;var c=Object.create(null);if(o.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:a}),l&2&&typeof a!="string")for(var u in a)o.d(c,u,function(d){return a[d]}.bind(null,u));return c},o.n=function(a){var l=a&&a.__esModule?function(){return a.default}:function(){return a};return o.d(l,"a",l),l},o.o=function(a,l){return Object.prototype.hasOwnProperty.call(a,l)},o.p="/dist/",o(o.s="./index.js")}({"./index.js":function(r,s,o){var a=o("./src/cos.js");r.exports=a},"./lib/base64.js":function(r,s){var o=function(a){a=a||{};var l=a.Base64,c="2.1.9",u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=function(D){for(var F={},N=0,K=D.length;N>>6)+g(128|N&63):g(224|N>>>12&15)+g(128|N>>>6&63)+g(128|N&63)}else{var N=65536+(F.charCodeAt(0)-55296)*1024+(F.charCodeAt(1)-56320);return g(240|N>>>18&7)+g(128|N>>>12&63)+g(128|N>>>6&63)+g(128|N&63)}},y=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,b=function(F){return F.replace(y,m)},A=function(F){var N=[0,2,1][F.length%3],K=F.charCodeAt(0)<<16|(F.length>1?F.charCodeAt(1):0)<<8|(F.length>2?F.charCodeAt(2):0),G=[u.charAt(K>>>18),u.charAt(K>>>12&63),N>=2?"=":u.charAt(K>>>6&63),N>=1?"=":u.charAt(K&63)];return G.join("")},S=a.btoa?function(D){return a.btoa(D)}:function(D){return D.replace(/[\s\S]{1,3}/g,A)},E=function(D){return S(b(D))},x=function(F,N){return N?E(String(F)).replace(/[+\/]/g,function(K){return K=="+"?"-":"_"}).replace(/=/g,""):E(String(F))},P=function(F){return x(F,!0)},C=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g"),T=function(F){switch(F.length){case 4:var N=(7&F.charCodeAt(0))<<18|(63&F.charCodeAt(1))<<12|(63&F.charCodeAt(2))<<6|63&F.charCodeAt(3),K=N-65536;return g((K>>>10)+55296)+g((K&1023)+56320);case 3:return g((15&F.charCodeAt(0))<<12|(63&F.charCodeAt(1))<<6|63&F.charCodeAt(2));default:return g((31&F.charCodeAt(0))<<6|63&F.charCodeAt(1))}},k=function(F){return F.replace(C,T)},I=function(F){var N=F.length,K=N%4,G=(N>0?d[F.charAt(0)]<<18:0)|(N>1?d[F.charAt(1)]<<12:0)|(N>2?d[F.charAt(2)]<<6:0)|(N>3?d[F.charAt(3)]:0),q=[g(G>>>16),g(G>>>8&255),g(G&255)];return q.length-=[0,0,2,1][K],q.join("")},M=a.atob?function(D){return a.atob(D)}:function(D){return D.replace(/[\s\S]{1,4}/g,I)},R=function(D){return k(M(D))},B=function(F){return R(String(F).replace(/[-_]/g,function(N){return N=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))},_=function(){var F=a.Base64;return a.Base64=l,F},V={VERSION:c,atob:M,btoa:S,fromBase64:B,toBase64:x,utob:b,encode:x,encodeURI:P,btou:k,decode:B,noConflict:_};return V}();r.exports=o},"./lib/crypto.js":function(r,s,o){(function(a){var l=o("./node_modules/@babel/runtime/helpers/typeof.js"),c=c||function(u,d){var g={},m=g.lib={},y=function(){},b=m.Base={extend:function(I){y.prototype=this;var M=new y;return I&&M.mixIn(I),M.hasOwnProperty("init")||(M.init=function(){M.$super.init.apply(this,arguments)}),M.init.prototype=M,M.$super=this,M},create:function(){var I=this.extend();return I.init.apply(I,arguments),I},init:function(){},mixIn:function(I){for(var M in I)I.hasOwnProperty(M)&&(this[M]=I[M]);I.hasOwnProperty("toString")&&(this.toString=I.toString)},clone:function(){return this.init.prototype.extend(this)}},A=m.WordArray=b.extend({init:function(I,M){I=this.words=I||[],this.sigBytes=M!=d?M:4*I.length},toString:function(I){return(I||E).stringify(this)},concat:function(I){var M=this.words,R=I.words,B=this.sigBytes;if(I=I.sigBytes,this.clamp(),B%4)for(var _=0;_>>2]|=(R[_>>>2]>>>24-8*(_%4)&255)<<24-8*((B+_)%4);else if(65535>>2]=R[_>>>2];else M.push.apply(M,R);return this.sigBytes+=I,this},clamp:function(){var I=this.words,M=this.sigBytes;I[M>>>2]&=4294967295<<32-8*(M%4),I.length=u.ceil(M/4)},clone:function(){var I=b.clone.call(this);return I.words=this.words.slice(0),I},random:function(I){for(var M=[],R=0;R>>2]>>>24-8*(B%4)&255;R.push((_>>>4).toString(16)),R.push((_&15).toString(16))}return R.join("")},parse:function(I){for(var M=I.length,R=[],B=0;B>>3]|=parseInt(I.substr(B,2),16)<<24-4*(B%8);return new A.init(R,M/2)}},x=S.Latin1={stringify:function(I){var M=I.words;I=I.sigBytes;for(var R=[],B=0;B>>2]>>>24-8*(B%4)&255));return R.join("")},parse:function(I){for(var M=I.length,R=[],B=0;B>>2]|=(I.charCodeAt(B)&255)<<24-8*(B%4);return new A.init(R,M)}},P=S.Utf8={stringify:function(I){try{return decodeURIComponent(escape(x.stringify(I)))}catch(M){throw Error("Malformed UTF-8 data")}},parse:function(I){return x.parse(unescape(encodeURIComponent(I)))}},C=m.BufferedBlockAlgorithm=b.extend({reset:function(){this._data=new A.init,this._nDataBytes=0},_append:function(I){typeof I=="string"&&(I=P.parse(I)),this._data.concat(I),this._nDataBytes+=I.sigBytes},_process:function(I){var M=this._data,R=M.words,B=M.sigBytes,_=this.blockSize,V=B/(4*_),V=I?u.ceil(V):u.max((V|0)-this._minBufferSize,0);if(I=V*_,B=u.min(4*I,B),I){for(var D=0;DI;I++){if(16>I)m[I]=A[S+I]|0;else{var M=m[I-3]^m[I-8]^m[I-14]^m[I-16];m[I]=M<<1|M>>>31}M=(x<<5|x>>>27)+k+m[I],M=20>I?M+((P&C|~P&T)+1518500249):40>I?M+((P^C^T)+1859775393):60>I?M+((P&C|P&T|C&T)-1894007588):M+((P^C^T)-899497514),k=T,T=C,C=P<<30|P>>>2,P=x,x=M}E[0]=E[0]+x|0,E[1]=E[1]+P|0,E[2]=E[2]+C|0,E[3]=E[3]+T|0,E[4]=E[4]+k|0},_doFinalize:function(){var A=this._data,S=A.words,E=8*this._nDataBytes,x=8*A.sigBytes;return S[x>>>5]|=128<<24-x%32,S[(x+64>>>9<<4)+14]=Math.floor(E/4294967296),S[(x+64>>>9<<4)+15]=E,A.sigBytes=4*S.length,this._process(),this._hash},clone:function(){var A=g.clone.call(this);return A._hash=this._hash.clone(),A}});u.SHA1=g._createHelper(y),u.HmacSHA1=g._createHmacHelper(y)})(),function(){var u=c,d=u.enc.Utf8;u.algo.HMAC=u.lib.Base.extend({init:function(m,y){m=this._hasher=new m.init,typeof y=="string"&&(y=d.parse(y));var b=m.blockSize,A=4*b;y.sigBytes>A&&(y=m.finalize(y)),y.clamp();for(var S=this._oKey=y.clone(),E=this._iKey=y.clone(),x=S.words,P=E.words,C=0;C>>2]>>>24-P%4*8&255,T=A[P+1>>>2]>>>24-(P+1)%4*8&255,k=A[P+2>>>2]>>>24-(P+2)%4*8&255,I=C<<16|T<<8|k,M=0;M<4&&P+M*.75>>6*(3-M)&63));var R=E.charAt(64);if(R)for(;x.length%4;)x.push(R);return x.join("")},parse:function(b){var A=b.length,S=this._map,E=S.charAt(64);if(E){var x=b.indexOf(E);x!=-1&&(A=x)}for(var P=[],C=0,T=0;T>>6-T%4*2;P[C>>>2]|=(k|I)<<24-C%4*8,C++}return g.create(P,C)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),l(a)==="object"?a.exports=c:window.CryptoJS=c}).call(this,o("./node_modules/webpack/buildin/module.js")(r))},"./lib/json2xml.js":function(r,s,o){var a=o("./node_modules/@babel/runtime/helpers/typeof.js"),l="a-zA-Z_À-ÖØ-öø-ÿͰ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿿、-퟿豈-﷏ﷰ-�",c="-.0-9·̀-ͯ‿⁀",u=new RegExp("^([^"+l+"])|^((x|X)(m|M)(l|L))|([^"+l+c+"])","g"),d=/[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm,g=function(S){var E=[];if(S instanceof Object)for(var x in S)S.hasOwnProperty(x)&&E.push(x);return E},m=function(S,E){var x=function(C,T,k,I,M){var R=E.indent!==void 0?E.indent:" ",B=E.prettyPrint?` `+new Array(I).join(R):"";E.removeIllegalNameCharacters&&(C=C.replace(u,"_"));var _=[B,"<",C,k||""];return T&&T.length>0?(_.push(">"),_.push(T),M&&_.push(B),_.push("")):_.push("/>"),_.join("")};return function P(C,T,k){var I=a(C);switch((Array.isArray?Array.isArray(C):C instanceof Array)?I="array":C instanceof Date&&(I="date"),I){case"array":var M=[];return C.map(function(V){M.push(P(V,1,k+1))}),E.prettyPrint&&M.push(` `),M.join("");case"date":return C.toJSON?C.toJSON():C+"";case"object":var R=[];for(var B in C)if(C.hasOwnProperty(B))if(C[B]instanceof Array)for(var _=0;_0&&R.push(` `),R.join("");case"function":return C();default:return E.escape?b(C):""+C}}(S,0,0)},y=function(S){var E=['"),E.join("")};function b(A){return(""+A).replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""").replace(d,"")}r.exports=function(A,S){if(S||(S={xmlHeader:{standalone:!0},prettyPrint:!0,indent:" ",escape:!0}),typeof A=="string")try{A=JSON.parse(A.toString())}catch(C){return!1}var E="",x="";S&&(a(S)=="object"?(S.xmlHeader&&(E=y(!!S.xmlHeader.standalone)),typeof S.docType<"u"&&(x="")):E=y()),S=S||{};var P=[E,S.prettyPrint&&x?` `:"",x,m(A,S)];return P.join("").replace(/\n{2,}/g,` `).replace(/\s+$/g,"")}},"./lib/md5.js":function(r,s,o){(function(a){var l,c=o("./node_modules/@babel/runtime/helpers/typeof.js");(function(){var u=(typeof window>"u"?"undefined":c(window))==="object",d=u?window:{};d.JS_MD5_NO_WINDOW&&(u=!1);var g=!u&&(typeof self>"u"?"undefined":c(self))==="object";g&&(d=self);var m=!d.JS_MD5_NO_COMMON_JS&&c(a)==="object"&&a.exports,y=o("./node_modules/webpack/buildin/amd-options.js"),b=!d.JS_MD5_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",A="0123456789abcdef".split(""),S=[128,32768,8388608,-2147483648],E=[0,8,16,24],x=["hex","array","digest","buffer","arrayBuffer","base64"],P="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),C=[],T;if(b){var k=new ArrayBuffer(68);T=new Uint8Array(k),C=new Uint32Array(k)}(d.JS_MD5_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(_){return Object.prototype.toString.call(_)==="[object Array]"}),b&&(d.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(_){return c(_)==="object"&&_.buffer&&_.buffer.constructor===ArrayBuffer});var I=function(V){return function(D,F){return new R(!0).update(D,F)[V]()}},M=function(){var V=I("hex");V.getCtx=V.create=function(){return new R},V.update=function(N){return V.create().update(N)};for(var D=0;D>6,q[N++]=128|D&63):D<55296||D>=57344?(q[N++]=224|D>>12,q[N++]=128|D>>6&63,q[N++]=128|D&63):(D=65536+((D&1023)<<10|_.charCodeAt(++F)&1023),q[N++]=240|D>>18,q[N++]=128|D>>12&63,q[N++]=128|D>>6&63,q[N++]=128|D&63);else for(N=this.start;F>2]|=D<>2]|=(192|D>>6)<>2]|=(128|D&63)<=57344?(G[N>>2]|=(224|D>>12)<>2]|=(128|D>>6&63)<>2]|=(128|D&63)<>2]|=(240|D>>18)<>2]|=(128|D>>12&63)<>2]|=(128|D>>6&63)<>2]|=(128|D&63)<=64?(this.start=N-64,this.hash(),this.hashed=!0):this.start=N}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},R.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var _=this.blocks,V=this.lastByteIndex;_[V>>2]|=S[V&3],V>=56&&(this.hashed||this.hash(),_[0]=_[16],_[16]=_[1]=_[2]=_[3]=_[4]=_[5]=_[6]=_[7]=_[8]=_[9]=_[10]=_[11]=_[12]=_[13]=_[14]=_[15]=0),_[14]=this.bytes<<3,_[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},R.prototype.hash=function(){var _,V,D,F,N,K,G=this.blocks;this.first?(_=G[0]-680876937,_=(_<<7|_>>>25)-271733879<<0,F=(-1732584194^_&2004318071)+G[1]-117830708,F=(F<<12|F>>>20)+_<<0,D=(-271733879^F&(_^-271733879))+G[2]-1126478375,D=(D<<17|D>>>15)+F<<0,V=(_^D&(F^_))+G[3]-1316259209,V=(V<<22|V>>>10)+D<<0):(_=this.h0,V=this.h1,D=this.h2,F=this.h3,_+=(F^V&(D^F))+G[0]-680876936,_=(_<<7|_>>>25)+V<<0,F+=(D^_&(V^D))+G[1]-389564586,F=(F<<12|F>>>20)+_<<0,D+=(V^F&(_^V))+G[2]+606105819,D=(D<<17|D>>>15)+F<<0,V+=(_^D&(F^_))+G[3]-1044525330,V=(V<<22|V>>>10)+D<<0),_+=(F^V&(D^F))+G[4]-176418897,_=(_<<7|_>>>25)+V<<0,F+=(D^_&(V^D))+G[5]+1200080426,F=(F<<12|F>>>20)+_<<0,D+=(V^F&(_^V))+G[6]-1473231341,D=(D<<17|D>>>15)+F<<0,V+=(_^D&(F^_))+G[7]-45705983,V=(V<<22|V>>>10)+D<<0,_+=(F^V&(D^F))+G[8]+1770035416,_=(_<<7|_>>>25)+V<<0,F+=(D^_&(V^D))+G[9]-1958414417,F=(F<<12|F>>>20)+_<<0,D+=(V^F&(_^V))+G[10]-42063,D=(D<<17|D>>>15)+F<<0,V+=(_^D&(F^_))+G[11]-1990404162,V=(V<<22|V>>>10)+D<<0,_+=(F^V&(D^F))+G[12]+1804603682,_=(_<<7|_>>>25)+V<<0,F+=(D^_&(V^D))+G[13]-40341101,F=(F<<12|F>>>20)+_<<0,D+=(V^F&(_^V))+G[14]-1502002290,D=(D<<17|D>>>15)+F<<0,V+=(_^D&(F^_))+G[15]+1236535329,V=(V<<22|V>>>10)+D<<0,_+=(D^F&(V^D))+G[1]-165796510,_=(_<<5|_>>>27)+V<<0,F+=(V^D&(_^V))+G[6]-1069501632,F=(F<<9|F>>>23)+_<<0,D+=(_^V&(F^_))+G[11]+643717713,D=(D<<14|D>>>18)+F<<0,V+=(F^_&(D^F))+G[0]-373897302,V=(V<<20|V>>>12)+D<<0,_+=(D^F&(V^D))+G[5]-701558691,_=(_<<5|_>>>27)+V<<0,F+=(V^D&(_^V))+G[10]+38016083,F=(F<<9|F>>>23)+_<<0,D+=(_^V&(F^_))+G[15]-660478335,D=(D<<14|D>>>18)+F<<0,V+=(F^_&(D^F))+G[4]-405537848,V=(V<<20|V>>>12)+D<<0,_+=(D^F&(V^D))+G[9]+568446438,_=(_<<5|_>>>27)+V<<0,F+=(V^D&(_^V))+G[14]-1019803690,F=(F<<9|F>>>23)+_<<0,D+=(_^V&(F^_))+G[3]-187363961,D=(D<<14|D>>>18)+F<<0,V+=(F^_&(D^F))+G[8]+1163531501,V=(V<<20|V>>>12)+D<<0,_+=(D^F&(V^D))+G[13]-1444681467,_=(_<<5|_>>>27)+V<<0,F+=(V^D&(_^V))+G[2]-51403784,F=(F<<9|F>>>23)+_<<0,D+=(_^V&(F^_))+G[7]+1735328473,D=(D<<14|D>>>18)+F<<0,V+=(F^_&(D^F))+G[12]-1926607734,V=(V<<20|V>>>12)+D<<0,N=V^D,_+=(N^F)+G[5]-378558,_=(_<<4|_>>>28)+V<<0,F+=(N^_)+G[8]-2022574463,F=(F<<11|F>>>21)+_<<0,K=F^_,D+=(K^V)+G[11]+1839030562,D=(D<<16|D>>>16)+F<<0,V+=(K^D)+G[14]-35309556,V=(V<<23|V>>>9)+D<<0,N=V^D,_+=(N^F)+G[1]-1530992060,_=(_<<4|_>>>28)+V<<0,F+=(N^_)+G[4]+1272893353,F=(F<<11|F>>>21)+_<<0,K=F^_,D+=(K^V)+G[7]-155497632,D=(D<<16|D>>>16)+F<<0,V+=(K^D)+G[10]-1094730640,V=(V<<23|V>>>9)+D<<0,N=V^D,_+=(N^F)+G[13]+681279174,_=(_<<4|_>>>28)+V<<0,F+=(N^_)+G[0]-358537222,F=(F<<11|F>>>21)+_<<0,K=F^_,D+=(K^V)+G[3]-722521979,D=(D<<16|D>>>16)+F<<0,V+=(K^D)+G[6]+76029189,V=(V<<23|V>>>9)+D<<0,N=V^D,_+=(N^F)+G[9]-640364487,_=(_<<4|_>>>28)+V<<0,F+=(N^_)+G[12]-421815835,F=(F<<11|F>>>21)+_<<0,K=F^_,D+=(K^V)+G[15]+530742520,D=(D<<16|D>>>16)+F<<0,V+=(K^D)+G[2]-995338651,V=(V<<23|V>>>9)+D<<0,_+=(D^(V|~F))+G[0]-198630844,_=(_<<6|_>>>26)+V<<0,F+=(V^(_|~D))+G[7]+1126891415,F=(F<<10|F>>>22)+_<<0,D+=(_^(F|~V))+G[14]-1416354905,D=(D<<15|D>>>17)+F<<0,V+=(F^(D|~_))+G[5]-57434055,V=(V<<21|V>>>11)+D<<0,_+=(D^(V|~F))+G[12]+1700485571,_=(_<<6|_>>>26)+V<<0,F+=(V^(_|~D))+G[3]-1894986606,F=(F<<10|F>>>22)+_<<0,D+=(_^(F|~V))+G[10]-1051523,D=(D<<15|D>>>17)+F<<0,V+=(F^(D|~_))+G[1]-2054922799,V=(V<<21|V>>>11)+D<<0,_+=(D^(V|~F))+G[8]+1873313359,_=(_<<6|_>>>26)+V<<0,F+=(V^(_|~D))+G[15]-30611744,F=(F<<10|F>>>22)+_<<0,D+=(_^(F|~V))+G[6]-1560198380,D=(D<<15|D>>>17)+F<<0,V+=(F^(D|~_))+G[13]+1309151649,V=(V<<21|V>>>11)+D<<0,_+=(D^(V|~F))+G[4]-145523070,_=(_<<6|_>>>26)+V<<0,F+=(V^(_|~D))+G[11]-1120210379,F=(F<<10|F>>>22)+_<<0,D+=(_^(F|~V))+G[2]+718787259,D=(D<<15|D>>>17)+F<<0,V+=(F^(D|~_))+G[9]-343485551,V=(V<<21|V>>>11)+D<<0,this.first?(this.h0=_+1732584193<<0,this.h1=V-271733879<<0,this.h2=D-1732584194<<0,this.h3=F+271733878<<0,this.first=!1):(this.h0=this.h0+_<<0,this.h1=this.h1+V<<0,this.h2=this.h2+D<<0,this.h3=this.h3+F<<0)},R.prototype.hex=function(){this.finalize();var _=this.h0,V=this.h1,D=this.h2,F=this.h3;return A[_>>4&15]+A[_&15]+A[_>>12&15]+A[_>>8&15]+A[_>>20&15]+A[_>>16&15]+A[_>>28&15]+A[_>>24&15]+A[V>>4&15]+A[V&15]+A[V>>12&15]+A[V>>8&15]+A[V>>20&15]+A[V>>16&15]+A[V>>28&15]+A[V>>24&15]+A[D>>4&15]+A[D&15]+A[D>>12&15]+A[D>>8&15]+A[D>>20&15]+A[D>>16&15]+A[D>>28&15]+A[D>>24&15]+A[F>>4&15]+A[F&15]+A[F>>12&15]+A[F>>8&15]+A[F>>20&15]+A[F>>16&15]+A[F>>28&15]+A[F>>24&15]},R.prototype.toString=R.prototype.hex,R.prototype.digest=function(_){if(_==="hex")return this.hex();this.finalize();var V=this.h0,D=this.h1,F=this.h2,N=this.h3,K=[V&255,V>>8&255,V>>16&255,V>>24&255,D&255,D>>8&255,D>>16&255,D>>24&255,F&255,F>>8&255,F>>16&255,F>>24&255,N&255,N>>8&255,N>>16&255,N>>24&255];return K},R.prototype.array=R.prototype.digest,R.prototype.arrayBuffer=function(){this.finalize();var _=new ArrayBuffer(16),V=new Uint32Array(_);return V[0]=this.h0,V[1]=this.h1,V[2]=this.h2,V[3]=this.h3,_},R.prototype.buffer=R.prototype.arrayBuffer,R.prototype.base64=function(){for(var _,V,D,F="",N=this.array(),K=0;K<15;)_=N[K++],V=N[K++],D=N[K++],F+=P[_>>>2]+P[(_<<4|V>>>4)&63]+P[(V<<2|D>>>6)&63]+P[D&63];return _=N[K],F+=P[_>>>2]+P[_<<4&63]+"==",F};var B=M();m?a.exports=B:(d.md5=B,y&&(l=function(){return B}.call(B,o,B,a),l!==void 0&&(a.exports=l)))})()}).call(this,o("./node_modules/webpack/buildin/module.js")(r))},"./lib/request.js":function(r,s,o){var a=o("./node_modules/@babel/runtime/helpers/typeof.js"),l=function(y){switch(a(y)){case"string":return y;case"boolean":return y?"true":"false";case"number":return isFinite(y)?y:"";default:return""}},c=function(y,b,A,S){return b=b||"&",A=A||"=",y===null&&(y=void 0),a(y)==="object"?Object.keys(y).map(function(E){var x=encodeURIComponent(l(E))+A;return Array.isArray(y[E])?y[E].map(function(P){return x+encodeURIComponent(l(P))}).join(b):x+encodeURIComponent(l(y[E]))}).filter(Boolean).join(b):S?encodeURIComponent(l(S))+A+encodeURIComponent(l(y)):""},u=function(y,b,A){var S={},E=b.getAllResponseHeaders();return E&&E.length>0&&E.trim().split(` `).forEach(function(x){if(x){var P=x.indexOf(":"),C=x.substr(0,P).trim().toLowerCase(),T=x.substr(P+1).trim();S[C]=T}}),{error:y,statusCode:b.status,statusMessage:b.statusText,headers:S,body:A}},d=function(y,b){return!b&&b==="text"?y.responseText:y.response},g=function(y,b){var A=(y.method||"GET").toUpperCase(),S=y.url;if(y.qs){var E=c(y.qs);E&&(S+=(S.indexOf("?")===-1?"?":"&")+E)}var x=new XMLHttpRequest;if(x.open(A,S,!0),x.responseType=y.dataType||"text",y.xhrFields)for(var P in y.xhrFields)x[P]=y.xhrFields[P];var C=y.headers;if(C)for(var T in C)C.hasOwnProperty(T)&&T.toLowerCase()!=="content-length"&&T.toLowerCase()!=="user-agent"&&T.toLowerCase()!=="origin"&&T.toLowerCase()!=="host"&&x.setRequestHeader(T,C[T]);return y.onProgress&&x.upload&&(x.upload.onprogress=y.onProgress),y.onDownloadProgress&&(x.onprogress=y.onDownloadProgress),y.timeout&&(x.timeout=y.timeout),x.ontimeout=function(k){var I=new Error("timeout");b(u(I,x))},x.onload=function(){b(u(null,x,d(x,y.dataType)))},x.onerror=function(k){var I=d(x,y.dataType);if(I)b(u(null,x,I));else{var M=x.statusText;!M&&x.status===0&&(M=new Error("CORS blocked or network error")),b(u(M,x,I))}},x.send(y.body||""),x};r.exports=g},"./lib/xml2json.js":function(r,s,o){var a=o("./node_modules/@xmldom/xmldom/lib/index.js").DOMParser,l=function(){this.version="1.3.5";var u={mergeCDATA:!0,normalize:!0,stripElemPrefix:!0},d=new RegExp(/(?!xmlns)^.*:/);return this.grokType=function(g){return/^\s*$/.test(g)?null:/^(?:true|false)$/i.test(g)?g.toLowerCase()==="true":isFinite(g)?parseFloat(g):g},this.parseString=function(g,m){if(g){var y=this.stringToXML(g);return y.getElementsByTagName("parsererror").length?null:this.parseXML(y,m)}else return null},this.parseXML=function(g,m){for(var y in m)u[y]=m[y];var b={},A=0,S="",E=g.childNodes.length;if(E)for(var x,P,C,T=0;T=I+M||I?new java.lang.String(k,I,M)+"":k}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(k){E.prototype[k]=function(){return null}});function T(k,I){k.currentElement?k.currentElement.appendChild(I):k.doc.appendChild(I)}s.__DOMHandler=E,s.normalizeLineEndings=b,s.DOMParser=A},"./node_modules/@xmldom/xmldom/lib/dom.js":function(r,s,o){var a=o("./node_modules/@xmldom/xmldom/lib/conventions.js"),l=a.find,c=a.NAMESPACE;function u(ie){return ie!==""}function d(ie){return ie?ie.split(/[\t\n\f\r ]+/).filter(u):[]}function g(ie,de){return ie.hasOwnProperty(de)||(ie[de]=!0),ie}function m(ie){if(!ie)return[];var de=d(ie);return Object.keys(de.reduce(g,{}))}function y(ie){return function(de){return ie&&ie.indexOf(de)!==-1}}function b(ie,de){for(var ke in ie)Object.prototype.hasOwnProperty.call(ie,ke)&&(de[ke]=ie[ke])}function A(ie,de){var ke=ie.prototype;if(!(ke instanceof de)){let Oe=function(){};Oe.prototype=de.prototype,Oe=new Oe,b(ke,Oe),ie.prototype=ke=Oe}ke.constructor!=ie&&(typeof ie!="function"&&console.error("unknown Class:"+ie),ke.constructor=ie)}var S={},E=S.ELEMENT_NODE=1,x=S.ATTRIBUTE_NODE=2,P=S.TEXT_NODE=3,C=S.CDATA_SECTION_NODE=4,T=S.ENTITY_REFERENCE_NODE=5,k=S.ENTITY_NODE=6,I=S.PROCESSING_INSTRUCTION_NODE=7,M=S.COMMENT_NODE=8,R=S.DOCUMENT_NODE=9,B=S.DOCUMENT_TYPE_NODE=10,_=S.DOCUMENT_FRAGMENT_NODE=11,V=S.NOTATION_NODE=12,D={},F={};D.INDEX_SIZE_ERR=(F[1]="Index size error",1),D.DOMSTRING_SIZE_ERR=(F[2]="DOMString size error",2);var N=D.HIERARCHY_REQUEST_ERR=(F[3]="Hierarchy request error",3);D.WRONG_DOCUMENT_ERR=(F[4]="Wrong document",4),D.INVALID_CHARACTER_ERR=(F[5]="Invalid character",5),D.NO_DATA_ALLOWED_ERR=(F[6]="No data allowed",6),D.NO_MODIFICATION_ALLOWED_ERR=(F[7]="No modification allowed",7);var K=D.NOT_FOUND_ERR=(F[8]="Not found",8);D.NOT_SUPPORTED_ERR=(F[9]="Not supported",9);var G=D.INUSE_ATTRIBUTE_ERR=(F[10]="Attribute in use",10);D.INVALID_STATE_ERR=(F[11]="Invalid state",11),D.SYNTAX_ERR=(F[12]="Syntax error",12),D.INVALID_MODIFICATION_ERR=(F[13]="Invalid modification",13),D.NAMESPACE_ERR=(F[14]="Invalid namespace",14),D.INVALID_ACCESS_ERR=(F[15]="Invalid access",15);function q(ie,de){if(de instanceof Error)var ke=de;else ke=this,Error.call(this,F[ie]),this.message=F[ie],Error.captureStackTrace&&Error.captureStackTrace(this,q);return ke.code=ie,de&&(this.message=this.message+": "+de),ke}q.prototype=Error.prototype,b(D,q);function O(){}O.prototype={length:0,item:function(ie){return ie>=0&&ie=0){for(var We=de.length-1;Oe0},lookupPrefix:function(ie){for(var de=this;de;){var ke=de._nsMap;if(ke){for(var Oe in ke)if(Object.prototype.hasOwnProperty.call(ke,Oe)&&ke[Oe]===ie)return Oe}de=de.nodeType==x?de.ownerDocument:de.parentNode}return null},lookupNamespaceURI:function(ie){for(var de=this;de;){var ke=de._nsMap;if(ke&&Object.prototype.hasOwnProperty.call(ke,ie))return ke[ie];de=de.nodeType==x?de.ownerDocument:de.parentNode}return null},isDefaultNamespace:function(ie){var de=this.lookupPrefix(ie);return de==null}};function ce(ie){return ie=="<"&&"<"||ie==">"&&">"||ie=="&"&&"&"||ie=='"'&&"""||"&#"+ie.charCodeAt()+";"}b(S,J),b(S,J.prototype);function ge(ie,de){if(de(ie))return!0;if(ie=ie.firstChild)do if(ge(ie,de))return!0;while(ie=ie.nextSibling)}function Ee(){this.ownerDocument=this}function Te(ie,de,ke){ie&&ie._inc++;var Oe=ke.namespaceURI;Oe===c.XMLNS&&(de._nsMap[ke.prefix?ke.localName:""]=ke.value)}function De(ie,de,ke,Oe){ie&&ie._inc++;var We=ke.namespaceURI;We===c.XMLNS&&delete de._nsMap[ke.prefix?ke.localName:""]}function te(ie,de,ke){if(ie&&ie._inc){ie._inc++;var Oe=de.childNodes;if(ke)Oe[Oe.length++]=ke;else{for(var We=de.firstChild,nt=0;We;)Oe[nt++]=We,We=We.nextSibling;Oe.length=nt,delete Oe[Oe.length]}}}function ae(ie,de){var ke=de.previousSibling,Oe=de.nextSibling;return ke?ke.nextSibling=Oe:ie.firstChild=Oe,Oe?Oe.previousSibling=ke:ie.lastChild=ke,de.parentNode=null,de.previousSibling=null,de.nextSibling=null,te(ie.ownerDocument,ie),de}function H(ie){return ie&&(ie.nodeType===J.DOCUMENT_NODE||ie.nodeType===J.DOCUMENT_FRAGMENT_NODE||ie.nodeType===J.ELEMENT_NODE)}function ve(ie){return ie&&(ee(ie)||ne(ie)||pe(ie)||ie.nodeType===J.DOCUMENT_FRAGMENT_NODE||ie.nodeType===J.COMMENT_NODE||ie.nodeType===J.PROCESSING_INSTRUCTION_NODE)}function pe(ie){return ie&&ie.nodeType===J.DOCUMENT_TYPE_NODE}function ee(ie){return ie&&ie.nodeType===J.ELEMENT_NODE}function ne(ie){return ie&&ie.nodeType===J.TEXT_NODE}function me(ie,de){var ke=ie.childNodes||[];if(l(ke,ee)||pe(de))return!1;var Oe=l(ke,pe);return!(de&&Oe&&ke.indexOf(Oe)>ke.indexOf(de))}function Be(ie,de){var ke=ie.childNodes||[];function Oe(nt){return ee(nt)&&nt!==de}if(l(ke,Oe))return!1;var We=l(ke,pe);return!(de&&We&&ke.indexOf(We)>ke.indexOf(de))}function oe(ie,de,ke){if(!H(ie))throw new q(N,"Unexpected parent node type "+ie.nodeType);if(ke&&ke.parentNode!==ie)throw new q(K,"child not in parent");if(!ve(de)||pe(de)&&ie.nodeType!==J.DOCUMENT_NODE)throw new q(N,"Unexpected node type "+de.nodeType+" for parent node type "+ie.nodeType)}function be(ie,de,ke){var Oe=ie.childNodes||[],We=de.childNodes||[];if(de.nodeType===J.DOCUMENT_FRAGMENT_NODE){var nt=We.filter(ee);if(nt.length>1||l(We,ne))throw new q(N,"More than one element or text in fragment");if(nt.length===1&&!me(ie,ke))throw new q(N,"Element in fragment can not be inserted before doctype")}if(ee(de)&&!me(ie,ke))throw new q(N,"Only one element can be added and only after doctype");if(pe(de)){if(l(Oe,pe))throw new q(N,"Only one doctype is allowed");var mt=l(Oe,ee);if(ke&&Oe.indexOf(mt)1||l(We,ne))throw new q(N,"More than one element or text in fragment");if(nt.length===1&&!Be(ie,ke))throw new q(N,"Element in fragment can not be inserted before doctype")}if(ee(de)&&!Be(ie,ke))throw new q(N,"Only one element can be added and only after doctype");if(pe(de)){if(l(Oe,function(qe){return pe(qe)&&qe!==ke}))throw new q(N,"Only one doctype is allowed");var mt=l(Oe,ee);if(ke&&Oe.indexOf(mt)0&&ge(ke.documentElement,function(We){if(We!==ke&&We.nodeType===E){var nt=We.getAttribute("class");if(nt){var mt=ie===nt;if(!mt){var ht=m(nt);mt=de.every(y(ht))}mt&&Oe.push(We)}}}),Oe})},createElement:function(ie){var de=new he;de.ownerDocument=this,de.nodeName=ie,de.tagName=ie,de.localName=ie,de.childNodes=new O;var ke=de.attributes=new Y;return ke._ownerElement=de,de},createDocumentFragment:function(){var ie=new st;return ie.ownerDocument=this,ie.childNodes=new O,ie},createTextNode:function(ie){var de=new Fe;return de.ownerDocument=this,de.appendData(ie),de},createComment:function(ie){var de=new Ue;return de.ownerDocument=this,de.appendData(ie),de},createCDATASection:function(ie){var de=new Ye;return de.ownerDocument=this,de.appendData(ie),de},createProcessingInstruction:function(ie,de){var ke=new vt;return ke.ownerDocument=this,ke.tagName=ke.nodeName=ke.target=ie,ke.nodeValue=ke.data=de,ke},createAttribute:function(ie){var de=new Ce;return de.ownerDocument=this,de.name=ie,de.nodeName=ie,de.localName=ie,de.specified=!0,de},createEntityReference:function(ie){var de=new Ze;return de.ownerDocument=this,de.nodeName=ie,de},createElementNS:function(ie,de){var ke=new he,Oe=de.split(":"),We=ke.attributes=new Y;return ke.childNodes=new O,ke.ownerDocument=this,ke.nodeName=de,ke.tagName=de,ke.namespaceURI=ie,Oe.length==2?(ke.prefix=Oe[0],ke.localName=Oe[1]):ke.localName=de,We._ownerElement=ke,ke},createAttributeNS:function(ie,de){var ke=new Ce,Oe=de.split(":");return ke.ownerDocument=this,ke.nodeName=de,ke.name=de,ke.namespaceURI=ie,ke.specified=!0,Oe.length==2?(ke.prefix=Oe[0],ke.localName=Oe[1]):ke.localName=de,ke}},A(Ee,J);function he(){this._nsMap={}}he.prototype={nodeType:E,hasAttribute:function(ie){return this.getAttributeNode(ie)!=null},getAttribute:function(ie){var de=this.getAttributeNode(ie);return de&&de.value||""},getAttributeNode:function(ie){return this.attributes.getNamedItem(ie)},setAttribute:function(ie,de){var ke=this.ownerDocument.createAttribute(ie);ke.value=ke.nodeValue=""+de,this.setAttributeNode(ke)},removeAttribute:function(ie){var de=this.getAttributeNode(ie);de&&this.removeAttributeNode(de)},appendChild:function(ie){return ie.nodeType===_?this.insertBefore(ie,null):Pe(this,ie)},setAttributeNode:function(ie){return this.attributes.setNamedItem(ie)},setAttributeNodeNS:function(ie){return this.attributes.setNamedItemNS(ie)},removeAttributeNode:function(ie){return this.attributes.removeNamedItem(ie.nodeName)},removeAttributeNS:function(ie,de){var ke=this.getAttributeNodeNS(ie,de);ke&&this.removeAttributeNode(ke)},hasAttributeNS:function(ie,de){return this.getAttributeNodeNS(ie,de)!=null},getAttributeNS:function(ie,de){var ke=this.getAttributeNodeNS(ie,de);return ke&&ke.value||""},setAttributeNS:function(ie,de,ke){var Oe=this.ownerDocument.createAttributeNS(ie,de);Oe.value=Oe.nodeValue=""+ke,this.setAttributeNode(Oe)},getAttributeNodeNS:function(ie,de){return this.attributes.getNamedItemNS(ie,de)},getElementsByTagName:function(ie){return new U(this,function(de){var ke=[];return ge(de,function(Oe){Oe!==de&&Oe.nodeType==E&&(ie==="*"||Oe.tagName==ie)&&ke.push(Oe)}),ke})},getElementsByTagNameNS:function(ie,de){return new U(this,function(ke){var Oe=[];return ge(ke,function(We){We!==ke&&We.nodeType===E&&(ie==="*"||We.namespaceURI===ie)&&(de==="*"||We.localName==de)&&Oe.push(We)}),Oe})}},Ee.prototype.getElementsByTagName=he.prototype.getElementsByTagName,Ee.prototype.getElementsByTagNameNS=he.prototype.getElementsByTagNameNS,A(he,J);function Ce(){}Ce.prototype.nodeType=x,A(Ce,J);function ye(){}ye.prototype={data:"",substringData:function(ie,de){return this.data.substring(ie,ie+de)},appendData:function(ie){ie=this.data+ie,this.nodeValue=this.data=ie,this.length=ie.length},insertData:function(ie,de){this.replaceData(ie,0,de)},appendChild:function(ie){throw new Error(F[N])},deleteData:function(ie,de){this.replaceData(ie,de,"")},replaceData:function(ie,de,ke){var Oe=this.data.substring(0,ie),We=this.data.substring(ie+de);ke=Oe+ke+We,this.nodeValue=this.data=ke,this.length=ke.length}},A(ye,J);function Fe(){}Fe.prototype={nodeName:"#text",nodeType:P,splitText:function(ie){var de=this.data,ke=de.substring(ie);de=de.substring(0,ie),this.data=this.nodeValue=de,this.length=de.length;var Oe=this.ownerDocument.createTextNode(ke);return this.parentNode&&this.parentNode.insertBefore(Oe,this.nextSibling),Oe}},A(Fe,ye);function Ue(){}Ue.prototype={nodeName:"#comment",nodeType:M},A(Ue,ye);function Ye(){}Ye.prototype={nodeName:"#cdata-section",nodeType:C},A(Ye,ye);function Ge(){}Ge.prototype.nodeType=B,A(Ge,J);function Ke(){}Ke.prototype.nodeType=V,A(Ke,J);function et(){}et.prototype.nodeType=k,A(et,J);function Ze(){}Ze.prototype.nodeType=T,A(Ze,J);function st(){}st.prototype.nodeName="#document-fragment",st.prototype.nodeType=_,A(st,J);function vt(){}vt.prototype.nodeType=I,A(vt,J);function lt(){}lt.prototype.serializeToString=function(ie,de,ke){return dt.call(ie,de,ke)},J.prototype.toString=dt;function dt(ie,de){var ke=[],Oe=this.nodeType==9&&this.documentElement||this,We=Oe.prefix,nt=Oe.namespaceURI;if(nt&&We==null){var We=Oe.lookupPrefix(nt);if(We==null)var mt=[{namespace:nt,prefix:null}]}return pt(this,ke,ie,de,mt),ke.join("")}function Tt(ie,de,ke){var Oe=ie.prefix||"",We=ie.namespaceURI;if(!We||Oe==="xml"&&We===c.XML||We===c.XMLNS)return!1;for(var nt=ke.length;nt--;){var mt=ke[nt];if(mt.prefix===Oe)return mt.namespace!==We}return!0}function ut(ie,de,ke){ie.push(" ",de,'="',ke.replace(/[<>&"\t\n\r]/g,ce),'"')}function pt(ie,de,ke,Oe,We){if(We||(We=[]),Oe)if(ie=Oe(ie),ie){if(typeof ie=="string"){de.push(ie);return}}else return;switch(ie.nodeType){case E:var nt=ie.attributes,mt=nt.length,Se=ie.firstChild,ht=ie.tagName;ke=c.isHTML(ie.namespaceURI)||ke;var qe=ht;if(!ke&&!ie.prefix&&ie.namespaceURI){for(var bt,Et=0;Et=0;It--){var z=We[It];if(z.prefix===""&&z.namespace===ie.namespaceURI){bt=z.namespace;break}}if(bt!==ie.namespaceURI)for(var It=We.length-1;It>=0;It--){var z=We[It];if(z.namespace===ie.namespaceURI){z.prefix&&(qe=z.prefix+":"+ht);break}}}de.push("<",qe);for(var fe=0;fe"),ke&&/^script$/i.test(ht))for(;Se;)Se.data?de.push(Se.data):pt(Se,de,ke,Oe,We.slice()),Se=Se.nextSibling;else for(;Se;)pt(Se,de,ke,Oe,We.slice()),Se=Se.nextSibling;de.push("")}else de.push("/>");return;case R:case _:for(var Se=ie.firstChild;Se;)pt(Se,de,ke,Oe,We.slice()),Se=Se.nextSibling;return;case x:return ut(de,ie.name,ie.value);case P:return de.push(ie.data.replace(/[<&>]/g,ce));case C:return de.push("");case M:return de.push("");case B:var Me=ie.publicId,Le=ie.systemId;if(de.push("");else if(Le&&Le!=".")de.push(" SYSTEM ",Le,">");else{var He=ie.internalSubset;He&&de.push(" [",He,"]"),de.push(">")}return;case I:return de.push("");case T:return de.push("&",ie.nodeName,";");default:de.push("??",ie.nodeName)}}function Ct(ie,de,ke){var Oe;switch(de.nodeType){case E:Oe=de.cloneNode(!1),Oe.ownerDocument=ie;case _:break;case x:ke=!0;break}if(Oe||(Oe=de.cloneNode(!1)),Oe.ownerDocument=ie,Oe.parentNode=null,ke)for(var We=de.firstChild;We;)Oe.appendChild(Ct(ie,We,ke)),We=We.nextSibling;return Oe}function Vt(ie,de,ke){var Oe=new de.constructor;for(var We in de)if(Object.prototype.hasOwnProperty.call(de,We)){var nt=de[We];typeof nt!="object"&&nt!=Oe[We]&&(Oe[We]=nt)}switch(de.childNodes&&(Oe.childNodes=new O),Oe.ownerDocument=ie,Oe.nodeType){case E:var mt=de.attributes,ht=Oe.attributes=new Y,qe=mt.length;ht._ownerElement=Oe;for(var bt=0;bt",lt:"<",quot:'"'}),s.HTML_ENTITIES=a({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` `,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),s.entityMap=s.HTML_ENTITIES},"./node_modules/@xmldom/xmldom/lib/index.js":function(r,s,o){var a=o("./node_modules/@xmldom/xmldom/lib/dom.js");s.DOMImplementation=a.DOMImplementation,s.XMLSerializer=a.XMLSerializer,s.DOMParser=o("./node_modules/@xmldom/xmldom/lib/dom-parser.js").DOMParser},"./node_modules/@xmldom/xmldom/lib/sax.js":function(r,s,o){var a=o("./node_modules/@xmldom/xmldom/lib/conventions.js").NAMESPACE,l=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,c=new RegExp("[\\-\\.0-9"+l.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),u=new RegExp("^"+l.source+c.source+"*(?::"+l.source+c.source+"*)?$"),d=0,g=1,m=2,y=3,b=4,A=5,S=6,E=7;function x(N,K){this.message=N,this.locator=K,Error.captureStackTrace&&Error.captureStackTrace(this,x)}x.prototype=new Error,x.prototype.name=x.name;function P(){}P.prototype={parse:function(N,K,G){var q=this.domBuilder;q.startDocument(),B(K,K={}),C(N,K,G,q,this.errorHandler),q.endDocument()}};function C(N,K,G,q,O){function U(he){if(he>65535){he-=65536;var Ce=55296+(he>>10),ye=56320+(he&1023);return String.fromCharCode(Ce,ye)}else return String.fromCharCode(he)}function $(he){var Ce=he.slice(1,-1);return Object.hasOwnProperty.call(G,Ce)?G[Ce]:Ce.charAt(0)==="#"?U(parseInt(Ce.substr(1).replace("x","0x"))):(O.error("entity not found:"+he),he)}function Y(he){if(he>Ee){var Ce=N.substring(Ee,he).replace(/&#?\w+;/g,$);J&&Q(Ee),q.characters(Ce,0,he-Ee),Ee=he}}function Q(he,Ce){for(;he>=ue&&(Ce=W.exec(N));)xe=Ce.index,ue=xe+Ce[0].length,J.lineNumber++;J.columnNumber=he-xe+1}for(var xe=0,ue=0,W=/.*(?:\r\n?|\n)|.*$/g,J=q.locator,ce=[{currentNSMap:K}],ge={},Ee=0;;){try{var Te=N.indexOf("<",Ee);if(Te<0){if(!N.substr(Ee).match(/^\s*$/)){var De=q.doc,te=De.createTextNode(N.substr(Ee));De.appendChild(te),q.currentElement=te}return}switch(Te>Ee&&Y(Te),N.charAt(Te+1)){case"/":var oe=N.indexOf(">",Te+3),ae=N.substring(Te+2,oe).replace(/[ \t\n\r]+$/g,""),H=ce.pop();oe<0?(ae=N.substring(Te+2).replace(/[\s<].*/,""),O.error("end tag name: "+ae+" is not complete:"+H.tagName),oe=Te+1+ae.length):ae.match(/\sEe?Ee=oe:Y(Math.max(Te,Ee)+1)}}function T(N,K){return K.lineNumber=N.lineNumber,K.columnNumber=N.columnNumber,K}function k(N,K,G,q,O,U){function $(J,ce,ge){G.attributeNames.hasOwnProperty(J)&&U.fatalError("Attribute "+J+" redefined"),G.addValue(J,ce.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,O),ge)}for(var Y,Q,xe=++K,ue=d;;){var W=N.charAt(xe);switch(W){case"=":if(ue===g)Y=N.slice(K,xe),ue=y;else if(ue===m)ue=y;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(ue===y||ue===g)if(ue===g&&(U.warning('attribute value must after "="'),Y=N.slice(K,xe)),K=xe+1,xe=N.indexOf(W,K),xe>0)Q=N.slice(K,xe),$(Y,Q,K-1),ue=A;else throw new Error("attribute value no end '"+W+"' match");else if(ue==b)Q=N.slice(K,xe),$(Y,Q,K),U.warning('attribute "'+Y+'" missed start quot('+W+")!!"),K=xe+1,ue=A;else throw new Error('attribute value must after "="');break;case"/":switch(ue){case d:G.setTagName(N.slice(K,xe));case A:case S:case E:ue=E,G.closed=!0;case b:case g:break;case m:G.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return U.error("unexpected end of input"),ue==d&&G.setTagName(N.slice(K,xe)),xe;case">":switch(ue){case d:G.setTagName(N.slice(K,xe));case A:case S:case E:break;case b:case g:Q=N.slice(K,xe),Q.slice(-1)==="/"&&(G.closed=!0,Q=Q.slice(0,-1));case m:ue===m&&(Q=Y),ue==b?(U.warning('attribute "'+Q+'" missed quot(")!'),$(Y,Q,K)):((!a.isHTML(q[""])||!Q.match(/^(?:disabled|checked|selected)$/i))&&U.warning('attribute "'+Q+'" missed value!! "'+Q+'" instead!!'),$(Q,Q,K));break;case y:throw new Error("attribute value missed!!")}return xe;case"€":W=" ";default:if(W<=" ")switch(ue){case d:G.setTagName(N.slice(K,xe)),ue=S;break;case g:Y=N.slice(K,xe),ue=m;break;case b:var Q=N.slice(K,xe);U.warning('attribute "'+Q+'" missed quot(")!!'),$(Y,Q,K);case A:ue=S;break}else switch(ue){case m:G.tagName,(!a.isHTML(q[""])||!Y.match(/^(?:disabled|checked|selected)$/i))&&U.warning('attribute "'+Y+'" missed value!! "'+Y+'" instead2!!'),$(Y,Y,K),K=xe,ue=g;break;case A:U.warning('attribute space is required"'+Y+'"!!');case S:ue=g,K=xe;break;case y:ue=b,K=xe;break;case E:throw new Error("elements closed character '/' and '>' must be connected to")}}xe++}}function I(N,K,G){for(var q=N.tagName,O=null,W=N.length;W--;){var U=N[W],$=U.qName,Y=U.value,J=$.indexOf(":");if(J>0)var Q=U.prefix=$.slice(0,J),xe=$.slice(J+1),ue=Q==="xmlns"&&xe;else xe=$,Q=null,ue=$==="xmlns"&&"";U.localName=xe,ue!==!1&&(O==null&&(O={},B(G,G={})),G[ue]=O[ue]=Y,U.uri=a.XMLNS,K.startPrefixMapping(ue,Y))}for(var W=N.length;W--;){U=N[W];var Q=U.prefix;Q&&(Q==="xml"&&(U.uri=a.XML),Q!=="xmlns"&&(U.uri=G[Q||""]))}var J=q.indexOf(":");J>0?(Q=N.prefix=q.slice(0,J),xe=N.localName=q.slice(J+1)):(Q=null,xe=N.localName=q);var ce=N.uri=G[Q||""];if(K.startElement(ce,xe,q,N),N.closed){if(K.endElement(ce,xe,q),O)for(Q in O)Object.prototype.hasOwnProperty.call(O,Q)&&K.endPrefixMapping(Q)}else return N.currentNSMap=G,N.localNSMap=O,!0}function M(N,K,G,q,O){if(/^(?:script|textarea)$/i.test(G)){var U=N.indexOf("",K),$=N.substring(K+1,U);if(/[&<]/.test($))return/^script$/i.test(G)?(O.characters($,0,$.length),U):($=$.replace(/&#?\w+;/g,q),O.characters($,0,$.length),U)}return K+1}function R(N,K,G,q){var O=q[G];return O==null&&(O=N.lastIndexOf(""),O",K+4);return U>K?(G.comment(N,K+4,U-K-4),U+3):(q.error("Unclosed comment"),-1)}else return-1;default:if(N.substr(K+3,6)=="CDATA["){var U=N.indexOf("]]>",K+9);return G.startCDATA(),G.characters(N,K+9,U-K-9),G.endCDATA(),U+3}var $=F(N,K),Y=$.length;if(Y>1&&/!doctype/i.test($[0][0])){var Q=$[1][0],xe=!1,ue=!1;Y>3&&(/^public$/i.test($[2][0])?(xe=$[3][0],ue=Y>4&&$[4][0]):/^system$/i.test($[2][0])&&(ue=$[3][0]));var W=$[Y-1];return G.startDTD(Q,xe,ue),G.endDTD(),W.index+W[0].length}}return-1}function V(N,K,G){var q=N.indexOf("?>",K);if(q){var O=N.substring(K,q).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return O?(O[0].length,G.processingInstruction(O[1],O[2]),q+2):-1}return-1}function D(){this.attributeNames={}}D.prototype={setTagName:function(N){if(!u.test(N))throw new Error("invalid tagName:"+N);this.tagName=N},addValue:function(N,K,G){if(!u.test(N))throw new Error("invalid attribute:"+N);this.attributeNames[N]=this.length,this[this.length++]={qName:N,value:K,offset:G}},length:0,getLocalName:function(N){return this[N].localName},getLocator:function(N){return this[N].locator},getQName:function(N){return this[N].qName},getURI:function(N){return this[N].uri},getValue:function(N){return this[N].value}};function F(N,K){var G,q=[],O=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(O.lastIndex=K,O.exec(N);G=O.exec(N);)if(q.push(G),G[1])return q}s.XMLReader=P,s.ParseError=x},"./node_modules/process/browser.js":function(r,s){var o=r.exports={},a,l;function c(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?a=setTimeout:a=c}catch(C){a=c}try{typeof clearTimeout=="function"?l=clearTimeout:l=u}catch(C){l=u}})();function d(C){if(a===setTimeout)return setTimeout(C,0);if((a===c||!a)&&setTimeout)return a=setTimeout,setTimeout(C,0);try{return a(C,0)}catch(T){try{return a.call(null,C,0)}catch(k){return a.call(this,C,0)}}}function g(C){if(l===clearTimeout)return clearTimeout(C);if((l===u||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(C);try{return l(C)}catch(T){try{return l.call(null,C)}catch(k){return l.call(this,C)}}}var m=[],y=!1,b,A=-1;function S(){!y||!b||(y=!1,b.length?m=b.concat(m):A=-1,m.length&&E())}function E(){if(!y){var C=d(S);y=!0;for(var T=m.length;T;){for(b=m,m=[];++A1)for(var k=1;k$)return ge(null,!1);if(Ee>1){var Te=Math.max(ce[0].Size,ce[1].Size);if(Te!==U)return ge(null,!1)}var De=function te(ae){if(ae=ge.length){W.emit("has_and_check_upload_id",J);return}var te=ge[De];if(!d.isInArray(J,te)){l.removeUploadId.call(G,te),Te(De+1);return}if(l.using[te]){Te(De+1);return}A.call(G,{Bucket:D,Region:F,Key:N,UploadId:te,tracker:B.tracker},function(ae,H){G._isRunningTask(V)&&(ae?(l.removeUploadId.call(G,te),Te(De+1)):W.emit("upload_id_available",{UploadId:te,PartList:H.PartList}))})};Ee(0)}),W.on("get_remote_upload_id_list",function(){b.call(G,{Bucket:D,Region:F,Key:N,tracker:B.tracker},function(J,ce){if(G._isRunningTask(V)){if(J)return W.emit("error",J);var ge=d.filter(ce.UploadList,function(De){return De.Key===N&&(!K||De.StorageClass.toUpperCase()===K.toUpperCase())}).reverse().map(function(De){return De.UploadId||De.UploadID});if(ge.length)W.emit("seek_local_avail_upload_id",ge);else{var Ee=l.getFileId(B.Body,B.ChunkSize,D,N),Te;Ee&&(Te=l.getUploadIdList.call(G,Ee))&&d.each(Te,function(De){l.removeUploadId.call(G,De)}),W.emit("no_available_upload_id")}}})}),W.emit("get_remote_upload_id_list")}function b(B,_){var V=this,D=[],F={Bucket:B.Bucket,Region:B.Region,Prefix:B.Key,calledBySdk:B.calledBySdk||"sliceUploadFile",tracker:B.tracker},N=function K(){V.multipartList(F,function(G,q){if(G)return _(G);D.push.apply(D,q.Upload||[]),q.IsTruncated==="true"?(F.KeyMarker=q.NextKeyMarker,F.UploadIdMarker=q.NextUploadIdMarker,K()):_(null,{UploadList:D})})};N()}function A(B,_){var V=this,D=[],F={Bucket:B.Bucket,Region:B.Region,Key:B.Key,UploadId:B.UploadId,calledBySdk:"sliceUploadFile",tracker:B.tracker},N=function K(){V.multipartListPart(F,function(G,q){if(G)return _(G);D.push.apply(D,q.Part||[]),q.IsTruncated==="true"?(F.PartNumberMarker=q.NextPartNumberMarker,K()):_(null,{PartList:D})})};N()}function S(B,_){var V=this,D=B.TaskId,F=B.Bucket,N=B.Region,K=B.Key,G=B.UploadData,q=B.FileSize,O=B.SliceSize,U=Math.min(B.AsyncLimit||V.options.ChunkParallelLimit||1,256),$=B.Body,Y=Math.ceil(q/O),Q=0,xe=B.ServerSideEncryption,ue=B.Headers,W=d.filter(G.PartList,function(ce){return ce.Uploaded&&(Q+=ce.PartNumber>=Y&&q%O||O),!ce.Uploaded}),J=B.onProgress;c.eachLimit(W,U,function(ce,ge){if(V._isRunningTask(D)){var Ee=ce.PartNumber,Te=Math.min(q,ce.PartNumber*O)-(ce.PartNumber-1)*O,De=0;E.call(V,{TaskId:D,Bucket:F,Region:N,Key:K,SliceSize:O,FileSize:q,PartNumber:Ee,ServerSideEncryption:xe,Body:$,UploadData:G,Headers:ue,onProgress:function(ae){Q+=ae.loaded-De,De=ae.loaded,J({loaded:Q,total:q})},tracker:B.tracker},function(te,ae){V._isRunningTask(D)&&(!te&&!ae.ETag&&(te='get ETag error, please add "ETag" to CORS ExposeHeader setting.( 获取ETag失败,请在CORS ExposeHeader设置中添加ETag,请参考文档:https://cloud.tencent.com/document/product/436/13318 )'),te?Q-=De:(Q+=Te-De,ce.ETag=ae.ETag),J({loaded:Q,total:q}),ge(te||null,ae))})}},function(ce){if(V._isRunningTask(D)){if(ce)return _(ce);_(null,{UploadId:G.UploadId,SliceList:G.PartList})}})}function E(B,_){var V=this,D=B.TaskId,F=B.Bucket,N=B.Region,K=B.Key,G=B.FileSize,q=B.Body,O=B.PartNumber*1,U=B.SliceSize,$=B.ServerSideEncryption,Y=B.UploadData,Q=B.Headers||{},xe=V.options.ChunkRetryTimes+1,ue=U*(O-1),W=U,J=ue+U;J>G&&(J=G,W=J-ue);var ce=["x-cos-traffic-limit","x-cos-mime-limit"],ge={};d.each(Q,function(Te,De){ce.indexOf(De)>-1&&(ge[De]=Te)});var Ee=Y.PartList[O-1];c.retry(xe,function(Te){V._isRunningTask(D)&&d.fileSlice(q,ue,J,!0,function(De){V.multipartUpload({TaskId:D,Bucket:F,Region:N,Key:K,ContentLength:W,PartNumber:O,UploadId:Y.UploadId,ServerSideEncryption:$,Body:De,Headers:ge,onProgress:B.onProgress,calledBySdk:"sliceUploadFile",tracker:B.tracker},function(te,ae){if(V._isRunningTask(D))return te?Te(te):(Ee.Uploaded=!0,Te(null,ae))})})},function(Te,De){if(V._isRunningTask(D))return _(Te,De)})}function x(B,_){var V=B.Bucket,D=B.Region,F=B.Key,N=B.UploadId,K=B.SliceList,G=this,q=this.options.ChunkRetryTimes+1,O=B.Headers,U=K.map(function($){return{PartNumber:$.PartNumber,ETag:$.ETag}});c.retry(q,function($){G.multipartComplete({Bucket:V,Region:D,Key:F,UploadId:N,Parts:U,Headers:O,calledBySdk:"sliceUploadFile",tracker:B.tracker},$)},function($,Y){_($,Y)})}function P(B,_){var V=B.Bucket,D=B.Region,F=B.Key,N=B.UploadId,K=B.Level||"task",G=B.AsyncLimit,q=this,O=new u;if(O.on("error",function(U){return _(U)}),O.on("get_abort_array",function(U){C.call(q,{Bucket:V,Region:D,Key:F,Headers:B.Headers,AsyncLimit:G,AbortArray:U},_)}),K==="bucket")b.call(q,{Bucket:V,Region:D,calledBySdk:"abortUploadTask"},function(U,$){if(U)return _(U);O.emit("get_abort_array",$.UploadList||[])});else if(K==="file"){if(!F)return _(d.error(new Error("abort_upload_task_no_key")));b.call(q,{Bucket:V,Region:D,Key:F,calledBySdk:"abortUploadTask"},function(U,$){if(U)return _(U);O.emit("get_abort_array",$.UploadList||[])})}else if(K==="task"){if(!N)return _(d.error(new Error("abort_upload_task_no_id")));if(!F)return _(d.error(new Error("abort_upload_task_no_key")));O.emit("get_abort_array",[{Key:F,UploadId:N}])}else return _(d.error(new Error("abort_unknown_level")))}function C(B,_){var V=B.Bucket,D=B.Region,F=B.Key,N=B.AbortArray,K=B.AsyncLimit||1,G=this,q=0,O=new Array(N.length);c.eachLimit(N,K,function(U,$){var Y=q;if(F&&F!==U.Key){O[Y]={error:{KeyNotMatch:!0}},$(null);return}var Q=U.UploadId||U.UploadID;G.multipartAbort({Bucket:V,Region:D,Key:U.Key,Headers:B.Headers,UploadId:Q},function(xe){var ue={Bucket:V,Region:D,Key:U.Key,UploadId:Q};O[Y]={error:xe,task:ue},$(null)}),q++},function(U){if(U)return _(U);for(var $=[],Y=[],Q=0,xe=O.length;QD?"sliceUploadFile":"putObject";B.tracker=new g({Beacon:V.options.BeaconReporter,clsReporter:V.options.ClsReporter,bucket:B.Bucket,region:B.Region,apiName:"uploadFile",realApi:O,fileKey:B.Key,fileSize:K,accelerate:q,deepTracker:V.options.DeepTracker,customId:V.options.CustomId,delay:V.options.TrackerDelay})}d.each(B,function(ue,W){a(ue)!=="object"&&typeof ue!="function"&&(G[W]=ue)});var U=B.onTaskReady,$=function(W){G.TaskId=W,U&&U(W)};B.onTaskReady=$;var Y=K>D?"sliceUploadFile":"putObject",Q=B.onFileFinish,xe=function(W,J){B.tracker&&B.tracker.report(W,J),Q&&Q(W,J,G),_&&_(W,J)};F.push({api:Y,params:B,callback:xe}),V._addTasks(F)}function k(B,_){var V=this,D=B.SliceSize===void 0?V.options.SliceSize:B.SliceSize,F=0,N=0,K=d.throttleOnProgress.call(V,N,B.onProgress),G=B.files.length,q=B.onFileFinish,O=Array(G),U=function(Q,xe,ue){K(null,!0),q&&q(Q,xe,ue),O[ue.Index]={options:ue,error:Q,data:xe},--G<=0&&_&&_(null,{files:O})},$=[];d.each(B.files,function(Y,Q){(function(){var xe=Y.Body,ue=xe.size||xe.length||0,W={Index:Q,TaskId:""};if(!V.options.UseRawKey&&Y.Key&&Y.Key.substr(0,1)==="/"&&(Y.Key=Y.Key.substr(1)),F+=ue,V.options.EnableReporter){var J=V.options.UseAccelerate||typeof V.options.Domain=="string"&&V.options.Domain.includes("accelerate."),ce=ue>D?"sliceUploadFile":"putObject";Y.tracker=new g({Beacon:V.options.BeaconReporter,clsReporter:V.options.ClsReporter,bucket:Y.Bucket,region:Y.Region,apiName:"uploadFiles",realApi:ce,fileKey:Y.Key,fileSize:ue,accelerate:J,deepTracker:V.options.DeepTracker,customId:V.options.CustomId,delay:V.options.TrackerDelay})}d.each(Y,function(pe,ee){a(pe)!=="object"&&typeof pe!="function"&&(W[ee]=pe)});var ge=Y.onTaskReady,Ee=function(ee){W.TaskId=ee,ge&&ge(ee)};Y.onTaskReady=Ee;var Te=0,De=Y.onProgress,te=function(ee){N=N-Te+ee.loaded,Te=ee.loaded,De&&De(ee),K({loaded:N,total:F})};Y.onProgress=te;var ae=ue>D?"sliceUploadFile":"putObject",H=Y.onFileFinish,ve=function(ee,ne){Y.tracker&&Y.tracker.report(ee,ne),H&&H(ee,ne),U&&U(ee,ne,W)};$.push({api:ae,params:Y,callback:ve})})()}),V._addTasks($)}function I(B,_){var V=new u,D=this,F=B.Bucket,N=B.Region,K=B.Key,G=B.CopySource,q=d.getSourceParams.call(this,G);if(!q){_(d.error(new Error("CopySource format error")));return}var O=q.Bucket,U=q.Region,$=decodeURIComponent(q.Key),Y=B.CopySliceSize===void 0?D.options.CopySliceSize:B.CopySliceSize;Y=Math.max(0,Y);var Q=B.CopyChunkSize||this.options.CopyChunkSize,xe=this.options.CopyChunkParallelLimit,ue=this.options.ChunkRetryTimes+1,W=0,J=0,ce,ge,Ee={},Te={},De={};V.on("copy_slice_complete",function(te){d.each(B.Headers,function(H,ve){ve.toLowerCase().indexOf("x-cos-meta-")});var ae=d.map(te.PartList,function(H){return{PartNumber:H.PartNumber,ETag:H.ETag}});c.retry(ue,function(H){D.multipartComplete({Bucket:F,Region:N,Key:K,UploadId:te.UploadId,Parts:ae,tracker:B.tracker,calledBySdk:"sliceCopyFile"},H)},function(H,ve){if(l.removeUsing(te.UploadId),H)return ge(null,!0),_(H);l.removeUploadId(te.UploadId),ge({loaded:ce,total:ce},!0),_(null,ve)})}),V.on("get_copy_data_finish",function(te){var ae=l.getCopyFileId(G,Ee,Q,F,K);ae&&l.saveUploadId(ae,te.UploadId,D.options.UploadIdCacheLimit),l.setUsing(te.UploadId);var H=d.filter(te.PartList,function(ve){return ve.Uploaded&&(J+=ve.PartNumber>=W&&ce%Q||Q),!ve.Uploaded});c.eachLimit(H,xe,function(ve,pe){var ee=ve.PartNumber,ne=ve.CopySourceRange,me=ve.end-ve.start;c.retry(ue,function(Be){M.call(D,{Bucket:F,Region:N,Key:K,CopySource:G,UploadId:te.UploadId,PartNumber:ee,CopySourceRange:ne,tracker:B.tracker,calledBySdk:"sliceCopyFile"},Be)},function(Be,oe){if(Be)return pe(Be);J+=me,ge({loaded:J,total:ce}),ve.ETag=oe.ETag,pe(Be||null,oe)})},function(ve){if(ve)return l.removeUsing(te.UploadId),ge(null,!0),_(ve);V.emit("copy_slice_complete",te)})}),V.on("get_chunk_size_finish",function(){var te=function(){D.multipartInit({Bucket:F,Region:N,Key:K,Headers:De,tracker:B.tracker,calledBySdk:"sliceCopyFile"},function(ee,ne){if(ee)return _(ee);B.UploadId=ne.UploadId,V.emit("get_copy_data_finish",{UploadId:B.UploadId,PartList:B.PartList})})},ae=l.getCopyFileId(G,Ee,Q,F,K),H=l.getUploadIdList(ae);if(!ae||!H)return te();var ve=function pe(ee){if(ee>=H.length)return te();var ne=H[ee];if(l.using[ne])return pe(ee+1);A.call(D,{Bucket:F,Region:N,Key:K,UploadId:ne,tracker:B.tracker,calledBySdk:"sliceCopyFile"},function(me,Be){if(me)l.removeUploadId(ne),pe(ee+1);else{if(l.using[ne])return pe(ee+1);var oe={},be=0;d.each(Be.PartList,function(Ie){var Re=parseInt(Ie.Size),Pe=be+Re-1;oe[Ie.PartNumber+"|"+be+"|"+Pe]=Ie.ETag,be+=Re}),d.each(B.PartList,function(Ie){var Re=oe[Ie.PartNumber+"|"+Ie.start+"|"+Ie.end];Re&&(Ie.ETag=Re,Ie.Uploaded=!0)}),V.emit("get_copy_data_finish",{UploadId:ne,PartList:B.PartList})}})};ve(0)}),V.on("get_file_size_finish",function(){if(function(){for(var ae=[1,2,4,8,16,32,64,128,256,512,1024,2048,4096,5120],H=1024*1024,ve=0;veee.length&&(Te[pe]=ve)}),V.emit("get_file_size_finish")}})}function M(B,_){var V=B.TaskId,D=B.Bucket,F=B.Region,N=B.Key,K=B.CopySource,G=B.UploadId,q=B.PartNumber*1,O=B.CopySourceRange,U=this.options.ChunkRetryTimes+1,$=this;c.retry(U,function(Y){$.uploadPartCopy({TaskId:V,Bucket:D,Region:F,Key:N,CopySource:K,UploadId:G,PartNumber:q,CopySourceRange:O,tracker:B.tracker,calledBySdk:B.calledBySdk},function(Q,xe){Y(Q||null,xe)})},function(Y,Q){return _(Y,Q)})}var R={sliceUploadFile:m,abortUploadTask:P,uploadFile:T,uploadFiles:k,sliceCopyFile:I};r.exports.init=function(B,_){_.transferToTaskMethod(R,"sliceUploadFile"),d.each(R,function(V,D){B.prototype[D]=d.apiWrapper(D,V)})}},"./src/async.js":function(r,s){var o=function(u,d,g,m){if(m=m||function(){},!u.length||d<=0)return m();var y=0,b=0,A=0;(function S(){if(y>=u.length)return m();for(;A=u.length?m():S())})})()},a=function(u,d,g){var m=function y(b){d(function(A,S){A&&b"u"?"undefined":a(location))==="object"&&location.protocol==="http:"?"http:":"https:"),re=this.options.ServiceDomain,we=z.AppId||this.options.appId,Se=z.Region;re?(re=re.replace(/\{\{AppId\}\}/gi,we||"").replace(/\{\{Region\}\}/gi,Se||"").replace(/\{\{.*?\}\}/gi,""),/^[a-zA-Z]+:\/\//.test(re)||(re=Z+"//"+re),re.slice(-1)==="/"&&(re=re.slice(0,-1))):Se?re=Z+"//cos."+Se+".myqcloud.com":re=Z+"//service.cos.myqcloud.com";var Me="",Le=Se?"cos."+Se+".myqcloud.com":"service.cos.myqcloud.com",He=re.replace(/^https?:\/\/([^/]+)(\/.*)?$/,"$1");Le===He&&(Me=Le),qe.call(this,{Action:"name/cos:GetService",url:re,method:"GET",headers:z.Headers,SignHost:Me,tracker:z.tracker},function(at,rt){if(at)return fe(at);var ft=rt&&rt.ListAllMyBucketsResult&&rt.ListAllMyBucketsResult.Buckets&&rt.ListAllMyBucketsResult.Buckets.Bucket||[];ft=c.isArray(ft)?ft:[ft];var je=rt&&rt.ListAllMyBucketsResult&&rt.ListAllMyBucketsResult.Owner||{};fe(null,{Buckets:ft,Owner:je,statusCode:rt.statusCode,headers:rt.headers})})}function d(z,fe){var Z=this,re="";if(z.BucketAZConfig){var we={BucketAZConfig:z.BucketAZConfig};re=c.json2xml({CreateBucketConfiguration:we})}qe.call(this,{Action:"name/cos:PutBucket",method:"PUT",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,body:re,tracker:z.tracker},function(Se,Me){if(Se)return fe(Se);var Le=Oe({protocol:Z.options.Protocol,domain:Z.options.Domain,bucket:z.Bucket,region:z.Region,isLocation:!0});fe(null,{Location:Le,statusCode:Me.statusCode,headers:Me.headers})})}function g(z,fe){qe.call(this,{Action:"name/cos:HeadBucket",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,method:"HEAD",tracker:z.tracker},fe)}function m(z,fe){var Z={};Z.prefix=z.Prefix||"",Z.delimiter=z.Delimiter,Z.marker=z.Marker,Z["max-keys"]=z.MaxKeys,Z["encoding-type"]=z.EncodingType,qe.call(this,{Action:"name/cos:GetBucket",ResourceKey:Z.prefix,method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,qs:Z,tracker:z.tracker},function(re,we){if(re)return fe(re);var Se=we.ListBucketResult||{},Me=Se.Contents||[],Le=Se.CommonPrefixes||[];Me=c.isArray(Me)?Me:[Me],Le=c.isArray(Le)?Le:[Le];var He=c.clone(Se);c.extend(He,{Contents:Me,CommonPrefixes:Le,statusCode:we.statusCode,headers:we.headers}),fe(null,He)})}function y(z,fe){qe.call(this,{Action:"name/cos:DeleteBucket",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,method:"DELETE",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function b(z,fe){var Z=z.Headers,re="";if(z.AccessControlPolicy){var we=c.clone(z.AccessControlPolicy||{}),Se=we.Grants||we.Grant;Se=c.isArray(Se)?Se:[Se],delete we.Grant,delete we.Grants,we.AccessControlList={Grant:Se},re=c.json2xml({AccessControlPolicy:we}),Z["Content-Type"]="application/xml",Z["Content-MD5"]=c.b64(c.md5(re))}c.each(Z,function(Me,Le){Le.indexOf("x-cos-grant-")===0&&(Z[Le]=ke(Z[Le]))}),qe.call(this,{Action:"name/cos:PutBucketACL",method:"PUT",Bucket:z.Bucket,Region:z.Region,headers:Z,action:"acl",body:re,tracker:z.tracker},function(Me,Le){if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function A(z,fe){qe.call(this,{Action:"name/cos:GetBucketACL",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"acl",tracker:z.tracker},function(Z,re){if(Z)return fe(Z);var we=re.AccessControlPolicy||{},Se=we.Owner||{},Me=we.AccessControlList.Grant||[];Me=c.isArray(Me)?Me:[Me];var Le=de(we);re.headers&&re.headers["x-cos-acl"]&&(Le.ACL=re.headers["x-cos-acl"]),Le=c.extend(Le,{Owner:Se,Grants:Me,statusCode:re.statusCode,headers:re.headers}),fe(null,Le)})}function S(z,fe){var Z=z.CORSConfiguration||{},re=Z.CORSRules||z.CORSRules||[];re=c.clone(c.isArray(re)?re:[re]),c.each(re,function(Le){c.each(["AllowedOrigin","AllowedHeader","AllowedMethod","ExposeHeader"],function(He){var at=He+"s",rt=Le[at]||Le[He]||[];delete Le[at],Le[He]=c.isArray(rt)?rt:[rt]})});var we={CORSRule:re};z.ResponseVary&&(we.ResponseVary=z.ResponseVary);var Se=c.json2xml({CORSConfiguration:we}),Me=z.Headers;Me["Content-Type"]="application/xml",Me["Content-MD5"]=c.b64(c.md5(Se)),qe.call(this,{Action:"name/cos:PutBucketCORS",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:Se,action:"cors",headers:Me,tracker:z.tracker},function(Le,He){if(Le)return fe(Le);fe(null,{statusCode:He.statusCode,headers:He.headers})})}function E(z,fe){qe.call(this,{Action:"name/cos:GetBucketCORS",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"cors",tracker:z.tracker},function(Z,re){if(Z){if(Z.statusCode===404&&Z.error&&Z.error.Code==="NoSuchCORSConfiguration"){var we={CORSRules:[],statusCode:Z.statusCode};Z.headers&&(we.headers=Z.headers),fe(null,we)}else fe(Z);return}var Se=re.CORSConfiguration||{},Me=Se.CORSRules||Se.CORSRule||[];Me=c.clone(c.isArray(Me)?Me:[Me]);var Le=Se.ResponseVary;c.each(Me,function(He){c.each(["AllowedOrigin","AllowedHeader","AllowedMethod","ExposeHeader"],function(at){var rt=at+"s",ft=He[rt]||He[at]||[];delete He[at],He[rt]=c.isArray(ft)?ft:[ft]})}),fe(null,{CORSRules:Me,ResponseVary:Le,statusCode:re.statusCode,headers:re.headers})})}function x(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketCORS",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"cors",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode||Z.statusCode,headers:re.headers})})}function P(z,fe){qe.call(this,{Action:"name/cos:GetBucketLocation",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"location",tracker:z.tracker},fe)}function C(z,fe){var Z=z.Policy;try{typeof Z=="string"&&(Z=JSON.parse(Z))}catch(Se){}if(!Z||typeof Z=="string")return fe(c.error(new Error("Policy format error")));var re=JSON.stringify(Z);Z.version||(Z.version="2.0");var we=z.Headers;we["Content-Type"]="application/json",we["Content-MD5"]=c.b64(c.md5(re)),qe.call(this,{Action:"name/cos:PutBucketPolicy",method:"PUT",Bucket:z.Bucket,Region:z.Region,action:"policy",body:re,headers:we,tracker:z.tracker},function(Se,Me){if(Se&&Se.statusCode===204)return fe(null,{statusCode:Se.statusCode});if(Se)return fe(Se);fe(null,{statusCode:Me.statusCode,headers:Me.headers})})}function T(z,fe){qe.call(this,{Action:"name/cos:GetBucketPolicy",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"policy",rawBody:!0,tracker:z.tracker},function(Z,re){if(Z)return Z.statusCode&&Z.statusCode===403?fe(c.error(Z,{ErrorStatus:"Access Denied"})):Z.statusCode&&Z.statusCode===405?fe(c.error(Z,{ErrorStatus:"Method Not Allowed"})):Z.statusCode&&Z.statusCode===404?fe(c.error(Z,{ErrorStatus:"Policy Not Found"})):fe(Z);var we={};try{we=JSON.parse(re.body)}catch(Se){}fe(null,{Policy:we,statusCode:re.statusCode,headers:re.headers})})}function k(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketPolicy",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"policy",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode||Z.statusCode,headers:re.headers})})}function I(z,fe){var Z=z.Tagging||{},re=Z.TagSet||Z.Tags||z.Tags||[];re=c.clone(c.isArray(re)?re:[re]);var we=c.json2xml({Tagging:{TagSet:{Tag:re}}}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:PutBucketTagging",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:we,action:"tagging",headers:Se,tracker:z.tracker},function(Me,Le){if(Me&&Me.statusCode===204)return fe(null,{statusCode:Me.statusCode});if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function M(z,fe){qe.call(this,{Action:"name/cos:GetBucketTagging",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"tagging",tracker:z.tracker},function(Z,re){if(Z){if(Z.statusCode===404&&Z.error&&(Z.error==="Not Found"||Z.error.Code==="NoSuchTagSet")){var we={Tags:[],statusCode:Z.statusCode};Z.headers&&(we.headers=Z.headers),fe(null,we)}else fe(Z);return}var Se=[];try{Se=re.Tagging.TagSet.Tag||[]}catch(Me){}Se=c.clone(c.isArray(Se)?Se:[Se]),fe(null,{Tags:Se,statusCode:re.statusCode,headers:re.headers})})}function R(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketTagging",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"tagging",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function B(z,fe){var Z=z.LifecycleConfiguration||{},re=Z.Rules||z.Rules||[];re=c.clone(re);var we=c.json2xml({LifecycleConfiguration:{Rule:re}}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:PutBucketLifecycle",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:we,action:"lifecycle",headers:Se,tracker:z.tracker},function(Me,Le){if(Me&&Me.statusCode===204)return fe(null,{statusCode:Me.statusCode});if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function _(z,fe){qe.call(this,{Action:"name/cos:GetBucketLifecycle",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"lifecycle",tracker:z.tracker},function(Z,re){if(Z){if(Z.statusCode===404&&Z.error&&Z.error.Code==="NoSuchLifecycleConfiguration"){var we={Rules:[],statusCode:Z.statusCode};Z.headers&&(we.headers=Z.headers),fe(null,we)}else fe(Z);return}var Se=[];try{Se=re.LifecycleConfiguration.Rule||[]}catch(Me){}Se=c.clone(c.isArray(Se)?Se:[Se]),fe(null,{Rules:Se,statusCode:re.statusCode,headers:re.headers})})}function V(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketLifecycle",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"lifecycle",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function D(z,fe){if(!z.VersioningConfiguration){fe(c.error(new Error("missing param VersioningConfiguration")));return}var Z=z.VersioningConfiguration||{},re=c.json2xml({VersioningConfiguration:Z}),we=z.Headers;we["Content-Type"]="application/xml",we["Content-MD5"]=c.b64(c.md5(re)),qe.call(this,{Action:"name/cos:PutBucketVersioning",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:re,action:"versioning",headers:we,tracker:z.tracker},function(Se,Me){if(Se&&Se.statusCode===204)return fe(null,{statusCode:Se.statusCode});if(Se)return fe(Se);fe(null,{statusCode:Me.statusCode,headers:Me.headers})})}function F(z,fe){qe.call(this,{Action:"name/cos:GetBucketVersioning",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"versioning",tracker:z.tracker},function(Z,re){Z||!re.VersioningConfiguration&&(re.VersioningConfiguration={}),fe(Z,re)})}function N(z,fe){var Z=c.clone(z.ReplicationConfiguration),re=c.json2xml({ReplicationConfiguration:Z});re=re.replace(/<(\/?)Rules>/gi,"<$1Rule>"),re=re.replace(/<(\/?)Tags>/gi,"<$1Tag>");var we=z.Headers;we["Content-Type"]="application/xml",we["Content-MD5"]=c.b64(c.md5(re)),qe.call(this,{Action:"name/cos:PutBucketReplication",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:re,action:"replication",headers:we,tracker:z.tracker},function(Se,Me){if(Se&&Se.statusCode===204)return fe(null,{statusCode:Se.statusCode});if(Se)return fe(Se);fe(null,{statusCode:Me.statusCode,headers:Me.headers})})}function K(z,fe){qe.call(this,{Action:"name/cos:GetBucketReplication",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"replication",tracker:z.tracker},function(Z,re){if(Z){if(Z.statusCode===404&&Z.error&&(Z.error==="Not Found"||Z.error.Code==="ReplicationConfigurationnotFoundError")){var we={ReplicationConfiguration:{Rules:[]},statusCode:Z.statusCode};Z.headers&&(we.headers=Z.headers),fe(null,we)}else fe(Z);return}!re.ReplicationConfiguration&&(re.ReplicationConfiguration={}),re.ReplicationConfiguration.Rule&&(re.ReplicationConfiguration.Rules=c.makeArray(re.ReplicationConfiguration.Rule),delete re.ReplicationConfiguration.Rule),fe(Z,re)})}function G(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketReplication",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"replication",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function q(z,fe){if(!z.WebsiteConfiguration){fe(c.error(new Error("missing param WebsiteConfiguration")));return}var Z=c.clone(z.WebsiteConfiguration||{}),re=Z.RoutingRules||Z.RoutingRule||[];re=c.isArray(re)?re:[re],delete Z.RoutingRule,delete Z.RoutingRules,re.length&&(Z.RoutingRules={RoutingRule:re});var we=c.json2xml({WebsiteConfiguration:Z}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:PutBucketWebsite",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:we,action:"website",headers:Se,tracker:z.tracker},function(Me,Le){if(Me&&Me.statusCode===204)return fe(null,{statusCode:Me.statusCode});if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function O(z,fe){qe.call(this,{Action:"name/cos:GetBucketWebsite",method:"GET",Bucket:z.Bucket,Region:z.Region,Key:z.Key,headers:z.Headers,action:"website",tracker:z.tracker},function(Z,re){if(Z){if(Z.statusCode===404&&Z.error.Code==="NoSuchWebsiteConfiguration"){var we={WebsiteConfiguration:{},statusCode:Z.statusCode};Z.headers&&(we.headers=Z.headers),fe(null,we)}else fe(Z);return}var Se=re.WebsiteConfiguration||{};if(Se.RoutingRules){var Me=c.clone(Se.RoutingRules.RoutingRule||[]);Me=c.makeArray(Me),Se.RoutingRules=Me}fe(null,{WebsiteConfiguration:Se,statusCode:re.statusCode,headers:re.headers})})}function U(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketWebsite",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"website",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function $(z,fe){if(!z.RefererConfiguration){fe(c.error(new Error("missing param RefererConfiguration")));return}var Z=c.clone(z.RefererConfiguration||{}),re=Z.DomainList||{},we=re.Domains||re.Domain||[];we=c.isArray(we)?we:[we],we.length&&(Z.DomainList={Domain:we});var Se=c.json2xml({RefererConfiguration:Z}),Me=z.Headers;Me["Content-Type"]="application/xml",Me["Content-MD5"]=c.b64(c.md5(Se)),qe.call(this,{Action:"name/cos:PutBucketReferer",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:Se,action:"referer",headers:Me,tracker:z.tracker},function(Le,He){if(Le&&Le.statusCode===204)return fe(null,{statusCode:Le.statusCode});if(Le)return fe(Le);fe(null,{statusCode:He.statusCode,headers:He.headers})})}function Y(z,fe){qe.call(this,{Action:"name/cos:GetBucketReferer",method:"GET",Bucket:z.Bucket,Region:z.Region,Key:z.Key,headers:z.Headers,action:"referer",tracker:z.tracker},function(Z,re){if(Z){if(Z.statusCode===404&&Z.error.Code==="NoSuchRefererConfiguration"){var we={WebsiteConfiguration:{},statusCode:Z.statusCode};Z.headers&&(we.headers=Z.headers),fe(null,we)}else fe(Z);return}var Se=re.RefererConfiguration||{};if(Se.DomainList){var Me=c.makeArray(Se.DomainList.Domain||[]);Se.DomainList={Domains:Me}}fe(null,{RefererConfiguration:Se,statusCode:re.statusCode,headers:re.headers})})}function Q(z,fe){var Z=z.DomainConfiguration||{},re=Z.DomainRule||z.DomainRule||[];re=c.clone(re);var we=c.json2xml({DomainConfiguration:{DomainRule:re}}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:PutBucketDomain",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:we,action:"domain",headers:Se,tracker:z.tracker},function(Me,Le){if(Me&&Me.statusCode===204)return fe(null,{statusCode:Me.statusCode});if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function xe(z,fe){qe.call(this,{Action:"name/cos:GetBucketDomain",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"domain",tracker:z.tracker},function(Z,re){if(Z)return fe(Z);var we=[];try{we=re.DomainConfiguration.DomainRule||[]}catch(Se){}we=c.clone(c.isArray(we)?we:[we]),fe(null,{DomainRule:we,statusCode:re.statusCode,headers:re.headers})})}function ue(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketDomain",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"domain",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function W(z,fe){var Z=z.OriginConfiguration||{},re=Z.OriginRule||z.OriginRule||[];re=c.clone(re);var we=c.json2xml({OriginConfiguration:{OriginRule:re}}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:PutBucketOrigin",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:we,action:"origin",headers:Se,tracker:z.tracker},function(Me,Le){if(Me&&Me.statusCode===204)return fe(null,{statusCode:Me.statusCode});if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function J(z,fe){qe.call(this,{Action:"name/cos:GetBucketOrigin",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"origin",tracker:z.tracker},function(Z,re){if(Z)return fe(Z);var we=[];try{we=re.OriginConfiguration.OriginRule||[]}catch(Se){}we=c.clone(c.isArray(we)?we:[we]),fe(null,{OriginRule:we,statusCode:re.statusCode,headers:re.headers})})}function ce(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketOrigin",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"origin",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function ge(z,fe){var Z=c.json2xml({BucketLoggingStatus:z.BucketLoggingStatus||""}),re=z.Headers;re["Content-Type"]="application/xml",re["Content-MD5"]=c.b64(c.md5(Z)),qe.call(this,{Action:"name/cos:PutBucketLogging",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:Z,action:"logging",headers:re,tracker:z.tracker},function(we,Se){if(we&&we.statusCode===204)return fe(null,{statusCode:we.statusCode});if(we)return fe(we);fe(null,{statusCode:Se.statusCode,headers:Se.headers})})}function Ee(z,fe){qe.call(this,{Action:"name/cos:GetBucketLogging",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"logging",tracker:z.tracker},function(Z,re){if(Z)return fe(Z);fe(null,{BucketLoggingStatus:re.BucketLoggingStatus,statusCode:re.statusCode,headers:re.headers})})}function Te(z,fe,Z){var re=c.clone(fe.InventoryConfiguration);if(re.OptionalFields){var we=re.OptionalFields||[];re.OptionalFields={Field:we}}if(re.Destination&&re.Destination.COSBucketDestination&&re.Destination.COSBucketDestination.Encryption){var Se=re.Destination.COSBucketDestination.Encryption;Object.keys(Se).indexOf("SSECOS")>-1&&(Se["SSE-COS"]=Se.SSECOS,delete Se.SSECOS)}var Me=c.json2xml({InventoryConfiguration:re}),Le=fe.Headers;Le["Content-Type"]="application/xml",Le["Content-MD5"]=c.b64(c.md5(Me));var He=z==="PUT"?"name/cos:PutBucketInventory":"name/cos:PostBucketInventory";qe.call(this,{Action:He,method:z,Bucket:fe.Bucket,Region:fe.Region,body:Me,action:"inventory",qs:{id:fe.Id},headers:Le,tracker:fe.tracker},function(at,rt){if(at&&at.statusCode===204)return Z(null,{statusCode:at.statusCode});if(at)return Z(at);Z(null,{statusCode:rt.statusCode,headers:rt.headers})})}function De(z,fe){return Te.call(this,"PUT",z,fe)}function te(z,fe){return Te.call(this,"POST",z,fe)}function ae(z,fe){qe.call(this,{Action:"name/cos:GetBucketInventory",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"inventory",qs:{id:z.Id},tracker:z.tracker},function(Z,re){if(Z)return fe(Z);var we=re.InventoryConfiguration;if(we&&we.OptionalFields&&we.OptionalFields.Field){var Se=we.OptionalFields.Field;c.isArray(Se)||(Se=[Se]),we.OptionalFields=Se}if(we.Destination&&we.Destination.COSBucketDestination&&we.Destination.COSBucketDestination.Encryption){var Me=we.Destination.COSBucketDestination.Encryption;Object.keys(Me).indexOf("SSE-COS")>-1&&(Me.SSECOS=Me["SSE-COS"],delete Me["SSE-COS"])}fe(null,{InventoryConfiguration:we,statusCode:re.statusCode,headers:re.headers})})}function H(z,fe){qe.call(this,{Action:"name/cos:ListBucketInventory",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"inventory",qs:{"continuation-token":z.ContinuationToken},tracker:z.tracker},function(Z,re){if(Z)return fe(Z);var we=re.ListInventoryConfigurationResult,Se=we.InventoryConfiguration||[];Se=c.isArray(Se)?Se:[Se],delete we.InventoryConfiguration,c.each(Se,function(Me){if(Me&&Me.OptionalFields&&Me.OptionalFields.Field){var Le=Me.OptionalFields.Field;c.isArray(Le)||(Le=[Le]),Me.OptionalFields=Le}if(Me.Destination&&Me.Destination.COSBucketDestination&&Me.Destination.COSBucketDestination.Encryption){var He=Me.Destination.COSBucketDestination.Encryption;Object.keys(He).indexOf("SSE-COS")>-1&&(He.SSECOS=He["SSE-COS"],delete He["SSE-COS"])}}),we.InventoryConfigurations=Se,c.extend(we,{statusCode:re.statusCode,headers:re.headers}),fe(null,we)})}function ve(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketInventory",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"inventory",qs:{id:z.Id},tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function pe(z,fe){if(!z.AccelerateConfiguration){fe(c.error(new Error("missing param AccelerateConfiguration")));return}var Z={AccelerateConfiguration:z.AccelerateConfiguration||{}},re=c.json2xml(Z),we={};we["Content-Type"]="application/xml",we["Content-MD5"]=c.b64(c.md5(re)),qe.call(this,{Action:"name/cos:PutBucketAccelerate",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:re,action:"accelerate",headers:we,tracker:z.tracker},function(Se,Me){if(Se)return fe(Se);fe(null,{statusCode:Me.statusCode,headers:Me.headers})})}function ee(z,fe){qe.call(this,{Action:"name/cos:GetBucketAccelerate",method:"GET",Bucket:z.Bucket,Region:z.Region,action:"accelerate",tracker:z.tracker},function(Z,re){Z||!re.AccelerateConfiguration&&(re.AccelerateConfiguration={}),fe(Z,re)})}function ne(z,fe){var Z=z.ServerSideEncryptionConfiguration||{},re=Z.Rule||Z.Rules||[],we=c.json2xml({ServerSideEncryptionConfiguration:{Rule:re}}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:PutBucketEncryption",method:"PUT",Bucket:z.Bucket,Region:z.Region,body:we,action:"encryption",headers:Se,tracker:z.tracker},function(Me,Le){if(Me&&Me.statusCode===204)return fe(null,{statusCode:Me.statusCode});if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function me(z,fe){qe.call(this,{Action:"name/cos:GetBucketEncryption",method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"encryption",tracker:z.tracker},function(Z,re){if(Z){if(Z.statusCode===404&&Z.code==="NoSuchEncryptionConfiguration"){var we={EncryptionConfiguration:{Rules:[]},statusCode:Z.statusCode};Z.headers&&(we.headers=Z.headers),fe(null,we)}else fe(Z);return}var Se=c.makeArray(re.EncryptionConfiguration&&re.EncryptionConfiguration.Rule||[]);re.EncryptionConfiguration={Rules:Se},fe(Z,re)})}function Be(z,fe){qe.call(this,{Action:"name/cos:DeleteBucketReplication",method:"DELETE",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"encryption",tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function oe(z,fe){qe.call(this,{Action:"name/cos:HeadObject",method:"HEAD",Bucket:z.Bucket,Region:z.Region,Key:z.Key,VersionId:z.VersionId,headers:z.Headers,tracker:z.tracker},function(Z,re){if(Z){var we=Z.statusCode;return z.Headers["If-Modified-Since"]&&we&&we===304?fe(null,{NotModified:!0,statusCode:we}):fe(Z)}re.ETag=c.attr(re.headers,"etag",""),fe(null,re)})}function be(z,fe){var Z={};Z.prefix=z.Prefix||"",Z.delimiter=z.Delimiter,Z["key-marker"]=z.KeyMarker,Z["version-id-marker"]=z.VersionIdMarker,Z["max-keys"]=z.MaxKeys,Z["encoding-type"]=z.EncodingType,qe.call(this,{Action:"name/cos:GetBucketObjectVersions",ResourceKey:Z.prefix,method:"GET",Bucket:z.Bucket,Region:z.Region,headers:z.Headers,qs:Z,action:"versions",tracker:z.tracker},function(re,we){if(re)return fe(re);var Se=we.ListVersionsResult||{},Me=Se.DeleteMarker||[];Me=c.isArray(Me)?Me:[Me];var Le=Se.Version||[];Le=c.isArray(Le)?Le:[Le];var He=c.clone(Se);delete He.DeleteMarker,delete He.Version,c.extend(He,{DeleteMarkers:Me,Versions:Le,statusCode:we.statusCode,headers:we.headers}),fe(null,He)})}function Ie(z,fe){if(this.options.ObjectKeySimplifyCheck){var Z=c.simplifyPath(z.Key);if(Z==="/"){fe(c.error(new Error("The Getobject Key is illegal")));return}}var re=z.Query||{},we=z.QueryString||"",Se=c.throttleOnProgress.call(this,0,z.onProgress),Me=z.tracker;Me&&Me.setParams({signStartTime:new Date().getTime()}),re["response-content-type"]=z.ResponseContentType,re["response-content-language"]=z.ResponseContentLanguage,re["response-expires"]=z.ResponseExpires,re["response-cache-control"]=z.ResponseCacheControl,re["response-content-disposition"]=z.ResponseContentDisposition,re["response-content-encoding"]=z.ResponseContentEncoding,qe.call(this,{Action:"name/cos:GetObject",method:"GET",Bucket:z.Bucket,Region:z.Region,Key:z.Key,VersionId:z.VersionId,DataType:z.DataType,headers:z.Headers,qs:re,qsStr:we,rawBody:!0,onDownloadProgress:Se,tracker:Me},function(Le,He){if(Se(null,!0),Le){var at=Le.statusCode;return z.Headers["If-Modified-Since"]&&at&&at===304?fe(null,{NotModified:!0}):fe(Le)}fe(null,{Body:He.body,ETag:c.attr(He.headers,"etag",""),statusCode:He.statusCode,headers:He.headers})})}function Re(z,fe){var Z=this,re=z.ContentLength,we=c.throttleOnProgress.call(Z,re,z.onProgress),Se=z.Headers;!Se["Cache-Control"]&&!Se["cache-control"]&&(Se["Cache-Control"]=""),!Se["Content-Type"]&&!Se["content-type"]&&(Se["Content-Type"]=z.Body&&z.Body.type||"");var Me=z.UploadAddMetaMd5||Z.options.UploadAddMetaMd5||Z.options.UploadCheckContentMd5,Le=z.tracker;Me&&Le&&Le.setParams({md5StartTime:new Date().getTime()}),c.getBodyMd5(Me,z.Body,function(He){He&&(Le&&Le.setParams({md5EndTime:new Date().getTime()}),Z.options.UploadCheckContentMd5&&(Se["Content-MD5"]=c.b64(He)),(z.UploadAddMetaMd5||Z.options.UploadAddMetaMd5)&&(Se["x-cos-meta-md5"]=He)),z.ContentLength!==void 0&&(Se["Content-Length"]=z.ContentLength),we(null,!0),qe.call(Z,{Action:"name/cos:PutObject",TaskId:z.TaskId,method:"PUT",Bucket:z.Bucket,Region:z.Region,Key:z.Key,headers:z.Headers,qs:z.Query,body:z.Body,onProgress:we,tracker:Le},function(at,rt){if(at)return we(null,!0),fe(at);we({loaded:re,total:re},!0);var ft=Oe({ForcePathStyle:Z.options.ForcePathStyle,protocol:Z.options.Protocol,domain:Z.options.Domain,bucket:z.Bucket,region:Z.options.UseAccelerate?"accelerate":z.Region,object:z.Key});ft=ft.substr(ft.indexOf("://")+3),rt.Location=ft,rt.ETag=c.attr(rt.headers,"etag",""),fe(null,rt)})},z.onHashProgress)}function Pe(z,fe){qe.call(this,{Action:"name/cos:DeleteObject",method:"DELETE",Bucket:z.Bucket,Region:z.Region,Key:z.Key,headers:z.Headers,VersionId:z.VersionId,action:z.Recursive?"recursive":"",tracker:z.tracker},function(Z,re){if(Z){var we=Z.statusCode;return we&&we===404?fe(null,{BucketNotFound:!0,statusCode:we}):fe(Z)}fe(null,{statusCode:re.statusCode,headers:re.headers})})}function he(z,fe){var Z={};z.VersionId&&(Z.versionId=z.VersionId),qe.call(this,{Action:"name/cos:GetObjectACL",method:"GET",Bucket:z.Bucket,Region:z.Region,Key:z.Key,headers:z.Headers,qs:Z,action:"acl",tracker:z.tracker},function(re,we){if(re)return fe(re);var Se=we.AccessControlPolicy||{},Me=Se.Owner||{},Le=Se.AccessControlList&&Se.AccessControlList.Grant||[];Le=c.isArray(Le)?Le:[Le];var He=de(Se);delete He.GrantWrite,we.headers&&we.headers["x-cos-acl"]&&(He.ACL=we.headers["x-cos-acl"]),He=c.extend(He,{Owner:Me,Grants:Le,statusCode:we.statusCode,headers:we.headers}),fe(null,He)})}function Ce(z,fe){var Z=z.Headers,re="";if(z.AccessControlPolicy){var we=c.clone(z.AccessControlPolicy||{}),Se=we.Grants||we.Grant;Se=c.isArray(Se)?Se:[Se],delete we.Grant,delete we.Grants,we.AccessControlList={Grant:Se},re=c.json2xml({AccessControlPolicy:we}),Z["Content-Type"]="application/xml",Z["Content-MD5"]=c.b64(c.md5(re))}c.each(Z,function(Me,Le){Le.indexOf("x-cos-grant-")===0&&(Z[Le]=ke(Z[Le]))}),qe.call(this,{Action:"name/cos:PutObjectACL",method:"PUT",Bucket:z.Bucket,Region:z.Region,Key:z.Key,action:"acl",headers:Z,body:re,tracker:z.tracker},function(Me,Le){if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function ye(z,fe){var Z=z.Headers;Z.Origin=z.Origin,Z["Access-Control-Request-Method"]=z.AccessControlRequestMethod,Z["Access-Control-Request-Headers"]=z.AccessControlRequestHeaders,qe.call(this,{Action:"name/cos:OptionsObject",method:"OPTIONS",Bucket:z.Bucket,Region:z.Region,Key:z.Key,headers:Z,tracker:z.tracker},function(re,we){if(re)return re.statusCode&&re.statusCode===403?fe(null,{OptionsForbidden:!0,statusCode:re.statusCode}):fe(re);var Se=we.headers||{};fe(null,{AccessControlAllowOrigin:Se["access-control-allow-origin"],AccessControlAllowMethods:Se["access-control-allow-methods"],AccessControlAllowHeaders:Se["access-control-allow-headers"],AccessControlExposeHeaders:Se["access-control-expose-headers"],AccessControlMaxAge:Se["access-control-max-age"],statusCode:we.statusCode,headers:we.headers})})}function Fe(z,fe){var Z=this,re=z.Headers;!re["Cache-Control"]&&!re["cache-control"]&&(re["Cache-Control"]="");var we=z.CopySource||"",Se=c.getSourceParams.call(this,we);if(!Se){fe(c.error(new Error("CopySource format error")));return}var Me=Se.Bucket,Le=Se.Region,He=decodeURIComponent(Se.Key);qe.call(this,{Scope:[{action:"name/cos:GetObject",bucket:Me,region:Le,prefix:He},{action:"name/cos:PutObject",bucket:z.Bucket,region:z.Region,prefix:z.Key}],method:"PUT",Bucket:z.Bucket,Region:z.Region,Key:z.Key,VersionId:z.VersionId,headers:z.Headers,tracker:z.tracker},function(at,rt){if(at)return fe(at);var ft=c.clone(rt.CopyObjectResult||{}),je=Oe({ForcePathStyle:Z.options.ForcePathStyle,protocol:Z.options.Protocol,domain:Z.options.Domain,bucket:z.Bucket,region:z.Region,object:z.Key,isLocation:!0});c.extend(ft,{Location:je,statusCode:rt.statusCode,headers:rt.headers}),fe(null,ft)})}function Ue(z,fe){var Z=z.CopySource||"",re=c.getSourceParams.call(this,Z);if(!re){fe(c.error(new Error("CopySource format error")));return}var we=re.Bucket,Se=re.Region,Me=decodeURIComponent(re.Key);qe.call(this,{Scope:[{action:"name/cos:GetObject",bucket:we,region:Se,prefix:Me},{action:"name/cos:PutObject",bucket:z.Bucket,region:z.Region,prefix:z.Key}],method:"PUT",Bucket:z.Bucket,Region:z.Region,Key:z.Key,VersionId:z.VersionId,qs:{partNumber:z.PartNumber,uploadId:z.UploadId},headers:z.Headers,tracker:z.tracker},function(Le,He){if(Le)return fe(Le);var at=c.clone(He.CopyPartResult||{});c.extend(at,{statusCode:He.statusCode,headers:He.headers}),fe(null,at)})}function Ye(z,fe){var Z=z.Objects||[],re=z.Quiet;Z=c.isArray(Z)?Z:[Z];var we=c.json2xml({Delete:{Object:Z,Quiet:re||!1}}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we));var Me=c.map(Z,function(Le){return{action:"name/cos:DeleteObject",bucket:z.Bucket,region:z.Region,prefix:Le.Key}});qe.call(this,{Scope:Me,method:"POST",Bucket:z.Bucket,Region:z.Region,body:we,action:"delete",headers:Se,tracker:z.tracker},function(Le,He){if(Le)return fe(Le);var at=He.DeleteResult||{},rt=at.Deleted||[],ft=at.Error||[];rt=c.isArray(rt)?rt:[rt],ft=c.isArray(ft)?ft:[ft];var je=c.clone(at);c.extend(je,{Error:ft,Deleted:rt,statusCode:He.statusCode,headers:He.headers}),fe(null,je)})}function Ge(z,fe){var Z=z.Headers;if(!z.RestoreRequest){fe(c.error(new Error("missing param RestoreRequest")));return}var re=z.RestoreRequest||{},we=c.json2xml({RestoreRequest:re});Z["Content-Type"]="application/xml",Z["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:RestoreObject",method:"POST",Bucket:z.Bucket,Region:z.Region,Key:z.Key,VersionId:z.VersionId,body:we,action:"restore",headers:Z,tracker:z.tracker},fe)}function Ke(z,fe){var Z=z.Tagging||{},re=Z.TagSet||Z.Tags||z.Tags||[];re=c.clone(c.isArray(re)?re:[re]);var we=c.json2xml({Tagging:{TagSet:{Tag:re}}}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:PutObjectTagging",method:"PUT",Bucket:z.Bucket,Key:z.Key,Region:z.Region,body:we,action:"tagging",headers:Se,VersionId:z.VersionId,tracker:z.tracker},function(Me,Le){if(Me&&Me.statusCode===204)return fe(null,{statusCode:Me.statusCode});if(Me)return fe(Me);fe(null,{statusCode:Le.statusCode,headers:Le.headers})})}function et(z,fe){qe.call(this,{Action:"name/cos:GetObjectTagging",method:"GET",Key:z.Key,Bucket:z.Bucket,Region:z.Region,headers:z.Headers,action:"tagging",VersionId:z.VersionId,tracker:z.tracker},function(Z,re){if(Z){if(Z.statusCode===404&&Z.error&&(Z.error==="Not Found"||Z.error.Code==="NoSuchTagSet")){var we={Tags:[],statusCode:Z.statusCode};Z.headers&&(we.headers=Z.headers),fe(null,we)}else fe(Z);return}var Se=[];try{Se=re.Tagging.TagSet.Tag||[]}catch(Me){}Se=c.clone(c.isArray(Se)?Se:[Se]),fe(null,{Tags:Se,statusCode:re.statusCode,headers:re.headers})})}function Ze(z,fe){qe.call(this,{Action:"name/cos:DeleteObjectTagging",method:"DELETE",Bucket:z.Bucket,Region:z.Region,Key:z.Key,headers:z.Headers,action:"tagging",VersionId:z.VersionId,tracker:z.tracker},function(Z,re){if(Z&&Z.statusCode===204)return fe(null,{statusCode:Z.statusCode});if(Z)return fe(Z);fe(null,{statusCode:re.statusCode,headers:re.headers})})}function st(z,fe){var Z=z.SelectType;if(!Z)return fe(c.error(new Error("missing param SelectType")));var re=z.SelectRequest||{},we=c.json2xml({SelectRequest:re}),Se=z.Headers;Se["Content-Type"]="application/xml",Se["Content-MD5"]=c.b64(c.md5(we)),qe.call(this,{Action:"name/cos:GetObject",method:"POST",Bucket:z.Bucket,Region:z.Region,Key:z.Key,headers:z.Headers,action:"select",qs:{"select-type":z.SelectType},VersionId:z.VersionId,body:we,DataType:"arraybuffer",rawBody:!0,tracker:z.tracker},function(Me,Le){if(Me&&Me.statusCode===204)return fe(null,{statusCode:Me.statusCode});if(Me)return fe(Me);var He=c.parseSelectPayload(Le.body);fe(null,{statusCode:Le.statusCode,headers:Le.headers,Body:He.body,Payload:He.payload})})}function vt(z,fe){var Z=this,re=z.Headers,we=z.tracker;!re["Cache-Control"]&&!re["cache-control"]&&(re["Cache-Control"]=""),!re["Content-Type"]&&!re["content-type"]&&(re["Content-Type"]=z.Body&&z.Body.type||"");var Se=z.Body&&(z.UploadAddMetaMd5||Z.options.UploadAddMetaMd5);Se&&we&&we.setParams({md5StartTime:new Date().getTime()}),c.getBodyMd5(Se,z.Body,function(Me){Me&&(z.Headers["x-cos-meta-md5"]=Me),Se&&we&&we.setParams({md5EndTime:new Date().getTime()}),qe.call(Z,{Action:"name/cos:InitiateMultipartUpload",method:"POST",Bucket:z.Bucket,Region:z.Region,Key:z.Key,action:"uploads",headers:z.Headers,qs:z.Query,tracker:we},function(Le,He){if(Le)return we&&we.parent&&we.parent.setParams({errorNode:"multipartInit"}),fe(Le);if(He=c.clone(He||{}),He&&He.InitiateMultipartUploadResult)return fe(null,c.extend(He.InitiateMultipartUploadResult,{statusCode:He.statusCode,headers:He.headers}));fe(null,He)})},z.onHashProgress)}function lt(z,fe){var Z=this;c.getFileSize("multipartUpload",z,function(){var re=z.tracker,we=Z.options.UploadCheckContentMd5;we&&re&&re.setParams({md5StartTime:new Date().getTime()}),c.getBodyMd5(we,z.Body,function(Se){Se&&(z.Headers["Content-MD5"]=c.b64(Se)),we&&re&&re.setParams({md5EndTime:new Date().getTime()}),re&&re.setParams({partNumber:z.PartNumber}),qe.call(Z,{Action:"name/cos:UploadPart",TaskId:z.TaskId,method:"PUT",Bucket:z.Bucket,Region:z.Region,Key:z.Key,qs:{partNumber:z.PartNumber,uploadId:z.UploadId},headers:z.Headers,onProgress:z.onProgress,body:z.Body||null,tracker:re},function(Me,Le){if(Me)return re&&re.parent&&re.parent.setParams({errorNode:"multipartUpload"}),fe(Me);fe(null,{ETag:c.attr(Le.headers,"etag",""),statusCode:Le.statusCode,headers:Le.headers})})})})}function dt(z,fe){for(var Z=this,re=z.UploadId,we=z.Parts,Se=z.tracker,Me=0,Le=we.length;Me-1?ft(rt.Authorization):"sign="+encodeURIComponent(rt.Authorization)),rt.SecurityToken&&(je+="&x-cos-security-token="+rt.SecurityToken),rt.ClientIP&&(je+="&clientIP="+rt.ClientIP),rt.ClientUA&&(je+="&clientUA="+rt.ClientUA),rt.Token&&(je+="&token="+rt.Token),Se&&(je+="&"+Se),setTimeout(function(){fe(null,{Url:je})})}});return He?(Me+="?"+He.Authorization+(He.SecurityToken?"&x-cos-security-token="+He.SecurityToken:""),Se&&(Me+="&"+Se)):Se&&(Me+="?"+Se),Me}function de(z){var fe={GrantFullControl:[],GrantWrite:[],GrantRead:[],GrantReadAcp:[],GrantWriteAcp:[],ACL:""},Z={FULL_CONTROL:"GrantFullControl",WRITE:"GrantWrite",READ:"GrantRead",READ_ACP:"GrantReadAcp",WRITE_ACP:"GrantWriteAcp"},re=z&&z.AccessControlList||{},we=re.Grant;we&&(we=c.isArray(we)?we:[we]);var Se={READ:0,WRITE:0,FULL_CONTROL:0};return we&&we.length&&c.each(we,function(Me){Me.Grantee.ID==="qcs::cam::anyone:anyone"||Me.Grantee.URI==="http://cam.qcloud.com/groups/global/AllUsers"?Se[Me.Permission]=1:Me.Grantee.ID!==z.Owner.ID&&fe[Z[Me.Permission]].push('id="'+Me.Grantee.ID+'"')}),Se.FULL_CONTROL||Se.WRITE&&Se.READ?fe.ACL="public-read-write":Se.READ?fe.ACL="public-read":fe.ACL="private",c.each(Z,function(Me){fe[Me]=ke(fe[Me].join(","))}),fe}function ke(z){var fe=z.split(","),Z={},re,we;for(re=0;re"u"?"undefined":a(location))==="object"&&location.protocol==="http:"?"http:":"https:");Se||(["cn-south","cn-south-2","cn-north","cn-east","cn-southwest","sg"].indexOf(fe)>-1?Se="{Region}.myqcloud.com":Se="cos.{Region}.myqcloud.com",z.ForcePathStyle||(Se="{Bucket}."+Se)),Se=Se.replace(/\{\{AppId\}\}/gi,we).replace(/\{\{Bucket\}\}/gi,re).replace(/\{\{Region\}\}/gi,fe).replace(/\{\{.*?\}\}/gi,""),Se=Se.replace(/\{AppId\}/gi,we).replace(/\{BucketName\}/gi,re).replace(/\{Bucket\}/gi,Z).replace(/\{Region\}/gi,fe).replace(/\{.*?\}/gi,""),/^[a-zA-Z]+:\/\//.test(Se)||(Se=Le+"//"+Se),Se.slice(-1)==="/"&&(Se=Se.slice(0,-1));var He=Se;return z.ForcePathStyle&&(He+="/"+Z),He+="/",Me&&(He+=c.camSafeUrlEncode(Me).replace(/%2F/g,"/")),z.isLocation&&(He=He.replace(/^https?:\/\//,"")),He}var We=function(fe){if(!fe.Bucket||!fe.Region)return"";var Z=fe.UseAccelerate===void 0?this.options.UseAccelerate:fe.UseAccelerate,re=fe.Url||Oe({ForcePathStyle:this.options.ForcePathStyle,protocol:this.options.Protocol,domain:this.options.Domain,bucket:fe.Bucket,region:Z?"accelerate":fe.Region}),we=re.replace(/^https?:\/\/([^/]+)(\/.*)?$/,"$1");return we};function nt(z,fe){var Z=c.clone(z.Headers),re="";c.each(Z,function(ot,$e){(ot===""||["content-type","cache-control","expires"].indexOf($e.toLowerCase())>-1)&&delete Z[$e],$e.toLowerCase()==="host"&&(re=ot)});var we=z.ForceSignHost!==!1;!re&&z.SignHost&&we&&(Z.Host=z.SignHost);var Se=!1,Me=function($e,it){Se||(Se=!0,it&&it.XCosSecurityToken&&!it.SecurityToken&&(it=c.clone(it),it.SecurityToken=it.XCosSecurityToken,delete it.XCosSecurityToken),fe&&fe($e,it))},Le=this,He=z.Bucket||"",at=z.Region||"",rt=z.Key||"";Le.options.ForcePathStyle&&He&&(rt=He+"/"+rt);var ft="/"+rt,je={},St=z.Scope;if(!St){var wt=z.Action||"",Dt=z.ResourceKey||z.Key||"";St=z.Scope||[{action:wt,bucket:He,region:at,prefix:Dt}]}var At=c.md5(JSON.stringify(St));Le._StsCache=Le._StsCache||[],function(){var ot,$e;for(ot=Le._StsCache.length-1;ot>=0;ot--){$e=Le._StsCache[ot];var it=Math.round(c.getSkewTime(Le.options.SystemClockOffset)/1e3)+30;if($e.StartTime&&it<$e.StartTime||it>=$e.ExpiredTime){Le._StsCache.splice(ot,1);continue}if(!$e.ScopeLimit||$e.ScopeLimit&&$e.ScopeKey===At){je=$e;break}}}();var Bt=function(){var $e="";je.StartTime&&z.Expires?$e=je.StartTime+";"+(je.StartTime+z.Expires*1):je.StartTime&&je.ExpiredTime&&($e=je.StartTime+";"+je.ExpiredTime);var it=c.getAuth({SecretId:je.TmpSecretId,SecretKey:je.TmpSecretKey,Method:z.Method,Pathname:ft,Query:z.Query,Headers:Z,Expires:z.Expires,UseRawKey:Le.options.UseRawKey,SystemClockOffset:Le.options.SystemClockOffset,KeyTime:$e,ForceSignHost:we}),gt={Authorization:it,SecurityToken:je.SecurityToken||je.XCosSecurityToken||"",Token:je.Token||"",ClientIP:je.ClientIP||"",ClientUA:je.ClientUA||"",SignFrom:"client"};Me(null,gt)},_t=function($e){if($e.Authorization){var it=!1,gt=$e.Authorization;if(gt)if(gt.indexOf(" ")>-1)it=!1;else if(gt.indexOf("q-sign-algorithm=")>-1&>.indexOf("q-ak=")>-1&>.indexOf("q-sign-time=")>-1&>.indexOf("q-key-time=")>-1&>.indexOf("q-url-param-list=")>-1)it=!0;else try{gt=atob(gt),gt.indexOf("a=")>-1&>.indexOf("k=")>-1&>.indexOf("t=")>-1&>.indexOf("r=")>-1&>.indexOf("b=")>-1&&(it=!0)}catch(Rt){}if(!it)return c.error(new Error("getAuthorization callback params format error"))}else{if(!$e.TmpSecretId)return c.error(new Error('getAuthorization callback params missing "TmpSecretId"'));if(!$e.TmpSecretKey)return c.error(new Error('getAuthorization callback params missing "TmpSecretKey"'));if(!$e.SecurityToken&&!$e.XCosSecurityToken)return c.error(new Error('getAuthorization callback params missing "SecurityToken"'));if(!$e.ExpiredTime)return c.error(new Error('getAuthorization callback params missing "ExpiredTime"'));if($e.ExpiredTime&&$e.ExpiredTime.toString().length!==10)return c.error(new Error('getAuthorization callback params "ExpiredTime" should be 10 digits'));if($e.StartTime&&$e.StartTime.toString().length!==10)return c.error(new Error('getAuthorization callback params "StartTime" should be 10 StartTime'))}return!1};if(je.ExpiredTime&&je.ExpiredTime-c.getSkewTime(Le.options.SystemClockOffset)/1e3>60)Bt();else if(Le.options.getAuthorization)Le.options.getAuthorization.call(Le,{Bucket:He,Region:at,Method:z.Method,Key:rt,Pathname:ft,Query:z.Query,Headers:Z,Scope:St,SystemClockOffset:Le.options.SystemClockOffset,ForceSignHost:we},function(ot){typeof ot=="string"&&(ot={Authorization:ot});var $e=_t(ot);if($e)return Me($e);ot.Authorization?Me(null,ot):(je=ot||{},je.Scope=St,je.ScopeKey=At,Le._StsCache.push(je),Bt())});else if(Le.options.getSTS)Le.options.getSTS.call(Le,{Bucket:He,Region:at},function(ot){je=ot||{},je.Scope=St,je.ScopeKey=At,je.TmpSecretId||(je.TmpSecretId=je.SecretId),je.TmpSecretKey||(je.TmpSecretKey=je.SecretKey);var $e=_t(je);if($e)return Me($e);Le._StsCache.push(je),Bt()});else return function(){var ot=c.getAuth({SecretId:z.SecretId||Le.options.SecretId,SecretKey:z.SecretKey||Le.options.SecretKey,Method:z.Method,Pathname:ft,Query:z.Query,Headers:Z,Expires:z.Expires,UseRawKey:Le.options.UseRawKey,SystemClockOffset:Le.options.SystemClockOffset,ForceSignHost:we}),$e={Authorization:ot,SecurityToken:Le.options.SecurityToken||Le.options.XCosSecurityToken,SignFrom:"client"};return Me(null,$e),$e}();return""}function mt(z){var fe=this,Z=!1,re=!1,we=!1,Se=z.headers&&(z.headers.date||z.headers.Date)||z.error&&z.error.ServerTime;try{var Me=z.error.Code,Le=z.error.Message;(Me==="RequestTimeTooSkewed"||Me==="AccessDenied"&&Le==="Request has expired")&&(re=!0)}catch(at){}if(z)if(re&&Se){var He=Date.parse(Se);this.options.CorrectClockSkew&&Math.abs(c.getSkewTime(this.options.SystemClockOffset)-He)>=3e4&&(console.error("error: Local time is too skewed."),this.options.SystemClockOffset=He-Date.now(),Z=!0)}else Math.floor(z.statusCode/100)===5?Z=!0:z.message==="CORS blocked or network error"&&(we=!0,Z=fe.options.AutoSwitchHost);return{canRetry:Z,networkError:we}}function ht(z){var fe=z.requestUrl,Z=z.clientCalcSign,re=z.networkError;if(!this.options.AutoSwitchHost||!fe||!Z||!re)return!1;var we=/^https?:\/\/[^\/]*\.cos\.[^\/]*\.myqcloud\.com(\/.*)?$/,Se=/^https?:\/\/[^\/]*\.cos\.accelerate\.myqcloud\.com(\/.*)?$/,Me=we.test(fe)&&!Se.test(fe);return Me}function qe(z,fe){var Z=this;!z.headers&&(z.headers={}),!z.qs&&(z.qs={}),z.VersionId&&(z.qs.versionId=z.VersionId),z.qs=c.clearKey(z.qs),z.headers&&(z.headers=c.clearKey(z.headers)),z.qs&&(z.qs=c.clearKey(z.qs));var re=c.clone(z.qs);z.action&&(re[z.action]="");var we=z.url||z.Url,Se=z.SignHost||We.call(this,{Bucket:z.Bucket,Region:z.Region,Url:we}),Me=z.tracker,Le=function He(at){var rt=Z.options.SystemClockOffset;Me&&Me.setParams({signStartTime:new Date().getTime(),httpRetryTimes:at-1}),z.SwitchHost&&(Se=Se.replace(/myqcloud.com/,"tencentcos.cn")),nt.call(Z,{Bucket:z.Bucket||"",Region:z.Region||"",Method:z.method,Key:z.Key,Query:re,Headers:z.headers,SignHost:Se,Action:z.Action,ResourceKey:z.ResourceKey,Scope:z.Scope,ForceSignHost:Z.options.ForceSignHost,SwitchHost:z.SwitchHost},function(ft,je){if(ft){fe(ft);return}Me&&Me.setParams({signEndTime:new Date().getTime(),httpStartTime:new Date().getTime()}),z.AuthData=je,bt.call(Z,z,function(St,wt){Me&&Me.setParams({httpEndTime:new Date().getTime()});var Dt=!1,At=!1;if(St){var Bt=mt.call(Z,St);Dt=Bt.canRetry||rt!==Z.options.SystemClockOffset,At=Bt.networkError}if(St&&at<2&&Dt){z.headers&&(delete z.headers.Authorization,delete z.headers.token,delete z.headers.clientIP,delete z.headers.clientUA,z.headers["x-cos-security-token"]&&delete z.headers["x-cos-security-token"],z.headers["x-ci-security-token"]&&delete z.headers["x-ci-security-token"]);var _t=ht.call(Z,{requestUrl:(St==null?void 0:St.url)||"",clientCalcSign:je.SignFrom==="client",networkError:At});z.SwitchHost=_t,He(at+1)}else fe(St,wt)})})};Le(1)}function bt(z,fe){var Z=this,re=z.TaskId;if(!(re&&!Z._isRunningTask(re))){var we=z.Bucket,Se=z.Region,Me=z.Key,Le=z.method||"GET",He=z.Url||z.url,at=z.body,rt=z.rawBody;Z.options.UseAccelerate&&(Se="accelerate"),He=He||Oe({ForcePathStyle:Z.options.ForcePathStyle,protocol:Z.options.Protocol,domain:Z.options.Domain,bucket:we,region:Se,object:Me}),z.SwitchHost&&(He=He.replace(/myqcloud.com/,"tencentcos.cn"));var ft=Me?He:"";z.action&&(He=He+"?"+(c.isIOS_QQ?"".concat(z.action,"="):z.action)),z.qsStr&&(He.indexOf("?")>-1?He=He+"&"+z.qsStr:He=He+"?"+z.qsStr);var je={method:Le,url:He,headers:z.headers,qs:z.qs,body:at},St="x-cos-security-token";if(c.isCIHost(He)&&(St="x-ci-security-token"),je.headers.Authorization=z.AuthData.Authorization,z.AuthData.Token&&(je.headers.token=z.AuthData.Token),z.AuthData.ClientIP&&(je.headers.clientIP=z.AuthData.ClientIP),z.AuthData.ClientUA&&(je.headers.clientUA=z.AuthData.ClientUA),z.AuthData.SecurityToken&&(je.headers[St]=z.AuthData.SecurityToken),je.headers&&(je.headers=c.clearKey(je.headers)),je=c.clearKey(je),z.onProgress&&typeof z.onProgress=="function"){var wt=at&&(at.size||at.length)||0;je.onProgress=function(it){if(!(re&&!Z._isRunningTask(re))){var gt=it?it.loaded:0;z.onProgress({loaded:gt,total:wt})}}}z.onDownloadProgress&&(je.onDownloadProgress=z.onDownloadProgress),z.DataType&&(je.dataType=z.DataType),this.options.Timeout&&(je.timeout=this.options.Timeout),Z.options.ForcePathStyle&&(je.pathStyle=Z.options.ForcePathStyle),Z.emit("before-send",je);var Dt=je.url.includes("accelerate."),At=je.qs?Object.keys(je.qs).map(function(it){return"".concat(it,"=").concat(je.qs[it])}).join("&"):"",Bt=At?je.url+"?"+At:je.url;if(z.tracker){var _t;z.tracker.setParams({url:Bt,httpMethod:je.method,accelerate:Dt,httpSize:((_t=je.body)===null||_t===void 0?void 0:_t.size)||0}),z.tracker.parent&&!z.tracker.parent.params.url&&z.tracker.parent.setParams({url:ft,accelerate:Dt})}var ot=(Z.options.Request||l)(je,function(it){if(!(it&&it.error==="abort")){var gt={options:je,error:it&&it.error,statusCode:it&&it.statusCode||0,statusMessage:it&&it.statusMessage||"",headers:it&&it.headers||{},body:it&&it.body};Z.emit("after-receive",gt);var Rt=gt.error,kt=gt.body,Nt={statusCode:gt.statusCode,statusMessage:gt.statusMessage,headers:gt.headers},Ht,Ft=function($t,Xt){if(re&&Z.off("inner-kill-task",$e),!Ht){Ht=!0;var Jt={};Nt&&Nt.statusCode&&(Jt.statusCode=Nt.statusCode),Nt&&Nt.headers&&(Jt.headers=Nt.headers),$t?(je.url&&(Jt.url=je.url),je.method&&(Jt.method=je.method),$t=c.extend($t||{},Jt),fe($t,null)):(Xt=c.extend(Xt||{},Jt),fe(null,Xt)),ot=null}};if(Rt)return Ft(c.error(Rt));var Kt=Nt.statusCode,ni=Math.floor(Kt/100)===2;if(rt){if(ni)return Ft(null,{body:kt});if(kt instanceof Blob){c.readAsBinaryString(kt,function(hi){var $t=c.parseResBody(hi),Xt=$t.Error||$t;return Ft(c.error(new Error(Xt.Message||"response body error"),{code:Xt.Code,error:Xt}))});return}}var ri=c.parseResBody(kt),Yt=ri.Error||ri;ni?Ft(null,ri):Yt?Ft(c.error(new Error(Yt.Message),{code:Yt.Code,error:Yt})):Kt?Ft(c.error(new Error(Nt.statusMessage),{code:""+Kt})):Kt&&Ft(c.error(new Error("statusCode error")))}}),$e=function it(gt){gt.TaskId===re&&(ot&&ot.abort&&ot.abort(),Z.off("inner-kill-task",it))};re&&Z.on("inner-kill-task",$e)}}var Et={getService:u,putBucket:d,headBucket:g,getBucket:m,deleteBucket:y,putBucketAcl:b,getBucketAcl:A,putBucketCors:S,getBucketCors:E,deleteBucketCors:x,getBucketLocation:P,getBucketPolicy:T,putBucketPolicy:C,deleteBucketPolicy:k,putBucketTagging:I,getBucketTagging:M,deleteBucketTagging:R,putBucketLifecycle:B,getBucketLifecycle:_,deleteBucketLifecycle:V,putBucketVersioning:D,getBucketVersioning:F,putBucketReplication:N,getBucketReplication:K,deleteBucketReplication:G,putBucketWebsite:q,getBucketWebsite:O,deleteBucketWebsite:U,putBucketReferer:$,getBucketReferer:Y,putBucketDomain:Q,getBucketDomain:xe,deleteBucketDomain:ue,putBucketOrigin:W,getBucketOrigin:J,deleteBucketOrigin:ce,putBucketLogging:ge,getBucketLogging:Ee,putBucketInventory:De,postBucketInventory:te,getBucketInventory:ae,listBucketInventory:H,deleteBucketInventory:ve,putBucketAccelerate:pe,getBucketAccelerate:ee,putBucketEncryption:ne,getBucketEncryption:me,deleteBucketEncryption:Be,getObject:Ie,headObject:oe,listObjectVersions:be,putObject:Re,deleteObject:Pe,getObjectAcl:he,putObjectAcl:Ce,optionsObject:ye,putObjectCopy:Fe,deleteMultipleObject:Ye,restoreObject:Ge,putObjectTagging:Ke,getObjectTagging:et,deleteObjectTagging:Ze,selectObjectContent:st,appendObject:Vt,uploadPartCopy:Ue,multipartInit:vt,multipartUpload:lt,multipartComplete:dt,multipartList:Tt,multipartListPart:ut,multipartAbort:pt,request:Ct,getObjectUrl:ie,getAuth:Xe};function It(z,fe,Z){c.each(["Cors","Acl"],function(re){if(z.slice(-re.length)===re){var we=z.slice(0,-re.length)+re.toUpperCase(),Se=c.apiWrapper(z,fe),Me=!1;Z[we]=function(){!Me&&console.warn("warning: cos."+we+" has been deprecated. Please Use cos."+z+" instead."),Me=!0,Se.apply(this,arguments)}}})}r.exports.init=function(z,fe){fe.transferToTaskMethod(Et,"putObject"),c.each(Et,function(Z,re){z.prototype[re]=c.apiWrapper(re,Z),It(re,Z,z.prototype)})}},"./src/cos.js":function(r,s,o){var a=o("./src/util.js"),l=o("./src/event.js"),c=o("./src/task.js"),u=o("./src/base.js"),d=o("./src/advance.js"),g=o("./package.json"),m={AppId:"",SecretId:"",SecretKey:"",SecurityToken:"",ChunkRetryTimes:2,FileParallelLimit:3,ChunkParallelLimit:3,ChunkSize:1024*1024,SliceSize:1024*1024,CopyChunkParallelLimit:20,CopyChunkSize:1024*1024*10,CopySliceSize:1024*1024*10,MaxPartNumber:1e4,ProgressInterval:1e3,Domain:"",ServiceDomain:"",Protocol:"",CompatibilityMode:!1,ForcePathStyle:!1,UseRawKey:!1,Timeout:0,CorrectClockSkew:!0,SystemClockOffset:0,UploadCheckContentMd5:!1,UploadQueueSize:1e4,UploadAddMetaMd5:!1,UploadIdCacheLimit:50,UseAccelerate:!1,ForceSignHost:!0,AutoSwitchHost:!0,CopySourceParser:null,ObjectKeySimplifyCheck:!0,DeepTracker:!1,TrackerDelay:5e3,CustomId:"",BeaconReporter:null,ClsReporter:null},y=function(A){if(this.options=a.extend(a.clone(m),A||{}),this.options.FileParallelLimit=Math.max(1,this.options.FileParallelLimit),this.options.ChunkParallelLimit=Math.max(1,this.options.ChunkParallelLimit),this.options.ChunkRetryTimes=Math.max(0,this.options.ChunkRetryTimes),this.options.ChunkSize=Math.max(1024*1024,this.options.ChunkSize),this.options.CopyChunkParallelLimit=Math.max(1,this.options.CopyChunkParallelLimit),this.options.CopyChunkSize=Math.max(1024*1024,this.options.CopyChunkSize),this.options.CopySliceSize=Math.max(0,this.options.CopySliceSize),this.options.MaxPartNumber=Math.max(1024,Math.min(1e4,this.options.MaxPartNumber)),this.options.Timeout=Math.max(0,this.options.Timeout),this.options.EnableReporter=this.options.BeaconReporter||this.options.ClsReporter,this.options.AppId&&console.warn('warning: AppId has been deprecated, Please put it at the end of parameter Bucket(E.g: "test-1250000000").'),this.options.SecretId&&this.options.SecretId.indexOf(" ")>-1&&(console.error("error: SecretId格式错误,请检查"),console.error("error: SecretId format is incorrect. Please check")),this.options.SecretKey&&this.options.SecretKey.indexOf(" ")>-1&&(console.error("error: SecretKey格式错误,请检查"),console.error("error: SecretKey format is incorrect. Please check")),a.isNode()&&(console.log("Tip: Next.js、Nuxt.js 等服务端渲染技术可正常使用JavaScript SDK,请忽略下方 nodejs 环境警告"),console.warn("warning: cos-js-sdk-v5 不支持 nodejs 环境使用,请改用 cos-nodejs-sdk-v5,参考文档: https://cloud.tencent.com/document/product/436/8629"),console.warn("warning: cos-js-sdk-v5 does not support nodejs environment. Please use cos-nodejs-sdk-v5 instead. See: https://cloud.tencent.com/document/product/436/8629")),this.options.ForcePathStyle)throw console.warn("cos-js-sdk-v5不再支持使用path-style,仅支持使用virtual-hosted-style,参考文档:https://cloud.tencent.com/document/product/436/96243"),new Error("ForcePathStyle is not supported");l.init(this),c.init(this)};u.init(y,c),d.init(y,c),y.util={md5:a.md5,xml2json:a.xml2json,json2xml:a.json2xml,encodeBase64:a.encodeBase64},y.getAuthorization=a.getAuth,y.version=g.version,r.exports=y},"./src/event.js":function(r,s){var o=function(c){var u={},d=function(m){return!u[m]&&(u[m]=[]),u[m]};c.on=function(g,m){g==="task-list-update"&&console.warn('warning: Event "'+g+'" has been deprecated. Please use "list-update" instead.'),d(g).push(m)},c.off=function(g,m){for(var y=d(g),b=y.length-1;b>=0;b--)m===y[b]&&y.splice(b,1)},c.emit=function(g,m){for(var y=d(g).map(function(A){return A}),b=0;b=0;P--){var C=u[P][2];(!C||C+c=0;C--){var T=u[C];T[0]===E&&T[1]===x&&u.splice(C,1)}u.unshift([E,x,Math.round(Date.now()/1e3)]),u.length>P&&u.splice(P),b()}},removeUploadId:function(E){y.call(this),delete A.using[E];for(var x=u.length-1;x>=0;x--)u[x][1]===E&&u.splice(x,1);b()}};r.exports=A},"./src/task.js":function(r,s,o){var a=o("./src/session.js"),l=o("./src/util.js"),c={},u=function(m,y){c[y]=m[y],m[y]=function(b,A){b.SkipTask?c[y].call(this,b,A):this._addTask(y,b,A)}},d=function(m){var y=[],b={},A=0,S=0,E=function(M){var R={id:M.id,Bucket:M.Bucket,Region:M.Region,Key:M.Key,FilePath:M.FilePath,state:M.state,loaded:M.loaded,size:M.size,speed:M.speed,percent:M.percent,hashPercent:M.hashPercent,error:M.error};return M.FilePath&&(R.FilePath=M.FilePath),M._custom&&(R._custom=M._custom),R},x=function(){var I,M=function(){I=0,m.emit("task-list-update",{list:l.map(y,E)}),m.emit("list-update",{list:l.map(y,E)})};return function(){I||(I=setTimeout(M))}}(),P=function(){if(!(y.length<=m.options.UploadQueueSize)){for(var M=0;Mm.options.UploadQueueSize;){var R=y[M].state==="waiting"||y[M].state==="checking"||y[M].state==="uploading";!y[M]||!R?(b[y[M].id]&&delete b[y[M].id],y.splice(M,1),S--):M++}x()}},C=function I(){if(!(A>=m.options.FileParallelLimit)){for(;y[S]&&y[S].state!=="waiting";)S++;if(!(S>=y.length)){var M=y[S];S++,A++,M.state="checking",M.params.onTaskStart&&M.params.onTaskStart(E(M)),!M.params.UploadData&&(M.params.UploadData={});var R=l.formatParams(M.api,M.params);c[M.api].call(m,R,function(B,_){m._isRunningTask(M.id)&&((M.state==="checking"||M.state==="uploading")&&(M.state=B?"error":"success",B&&(M.error=B),A--,x(),I(),M.callback&&M.callback(B,_),M.state==="success"&&(M.params&&(delete M.params.UploadData,delete M.params.Body,delete M.params),delete M.callback)),P())}),x(),setTimeout(I)}}},T=function(M,R){var B=b[M];if(B){var _=B&&B.state==="waiting",V=B&&(B.state==="checking"||B.state==="uploading");if(R==="canceled"&&B.state!=="canceled"||R==="paused"&&_||R==="paused"&&V){B.state=R,m.emit("inner-kill-task",{TaskId:M,toState:R});try{var D=B&&B.params&&B.params.UploadData.UploadId}catch(F){}R==="canceled"&&D&&a.removeUsing(D),x(),V&&(A--,C()),R==="canceled"&&(B.params&&(delete B.params.UploadData,delete B.params.Body,delete B.params),delete B.callback)}P()}};m._addTasks=function(I){l.each(I,function(M){m._addTask(M.api,M.params,M.callback,!0)}),x()};var k=!0;m._addTask=function(I,M,R,B){M=l.formatParams(I,M);var _=l.uuid();M.TaskId=_,M.onTaskReady&&M.onTaskReady(_),M.TaskReady&&(M.TaskReady(_),k&&console.warn('warning: Param "TaskReady" has been deprecated. Please use "onTaskReady" instead.'),k=!1);var V={params:M,callback:R,api:I,index:y.length,id:_,Bucket:M.Bucket,Region:M.Region,Key:M.Key,FilePath:M.FilePath||"",state:"waiting",loaded:0,size:0,speed:0,percent:0,hashPercent:0,error:null,_custom:M._custom},D=M.onHashProgress;M.onHashProgress=function(N){m._isRunningTask(V.id)&&(V.hashPercent=N.percent,D&&D(N),x())};var F=M.onProgress;return M.onProgress=function(N){m._isRunningTask(V.id)&&(V.state==="checking"&&(V.state="uploading"),V.loaded=N.loaded,V.speed=N.speed,V.percent=N.percent,F&&F(N),x())},l.getFileSize(I,M,function(N,K){if(N)return R(l.error(N));b[_]=V,y.push(V),V.size=K,!B&&x(),C(),P()}),_},m._isRunningTask=function(I){var M=b[I];return!!(M&&(M.state==="checking"||M.state==="uploading"))},m.getTaskList=function(){return l.map(y,E)},m.cancelTask=function(I){T(I,"canceled")},m.pauseTask=function(I){T(I,"paused")},m.restartTask=function(I){var M=b[I];M&&(M.state==="paused"||M.state==="error")&&(M.state="waiting",x(),S=Math.min(S,M.index),C())},m.isUploadRunning=function(){return A||S"u"?"undefined":c(navigator))==="object"){var R=navigator.connection||navigator.mozConnection||navigator.webkitConnection;return(R==null?void 0:R.type)||(R==null?void 0:R.effectiveType)||"unknown"}return"unknown"},getProtocol:function(){return(typeof location>"u"?"undefined":c(location))==="object"?location.protocol.replace(/:/,""):"unknown protocol"},getOsType:function(){if((typeof navigator>"u"?"undefined":c(navigator))!=="object")return"unknown os";var R=navigator.userAgent.toLowerCase(),B=/macintosh|mac os x/i.test(navigator.userAgent);return R.indexOf("win32")>=0||R.indexOf("wow32")>=0?"win32":R.indexOf("win64")>=0||R.indexOf("wow64")>=0?"win64":B?"mac":"unknown os"},isMobile:function(){var R=/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i;return!!((typeof navigator>"u"?"undefined":c(navigator))==="object"&&navigator.userAgent.match(R))},isAndroid:function(){var R=/(Android|Adr|Linux)/i;return!!((typeof navigator>"u"?"undefined":c(navigator))==="object"&&navigator.userAgent.match(R))},isIOS:function(){var R=/(iPhone|iPod|iPad|iOS)/i;return!!((typeof navigator>"u"?"undefined":c(navigator))==="object"&&navigator.userAgent.match(R))},isOtherMobile:function(){return b&&!isAndroid&&!isIOS},getUA:function(){if((typeof navigator>"u"?"undefined":c(navigator))!=="object")return"unknown device";var R=navigator.userAgent;return R}},b=y.isMobile(),A=y.isAndroid()?"android":y.isIOS?"ios":"other_mobile",S=y.getOsType(),E=b?A:S,x=y.getUA(),P=y.getProtocol(),C=function(R){return["putObject","sliceUploadFile","uploadFile","uploadFiles"].includes(R)?"UploadTask":R==="getObject"?"DownloadTask":["putObjectCopy","sliceCopyFile"].includes(R)?"CopyTask":R};function T(M){return M.replace(/([A-Z])/g,"_$1").toLowerCase()}function k(M){var R={},B=["sdkVersionName","sdkVersionCode","osName","networkType","requestName","requestResult","bucket","region","appid","accelerate","url","host","requestPath","userAgent","networkProtocol","httpMethod","httpSize","httpSpeed","httpTookTime","httpMd5","httpSign","httpFullTime","httpDomain","partNumber","httpRetryTimes","customId","traceId","realApi"],_=[].concat(B,["errorNode","errorCode","errorName","errorMessage","errorRequestId","errorHttpCode","errorServiceName","errorType","fullError"]),V=M.requestResult==="Success"?B:_;for(var D in M)if(V.includes(D)){var F=T(D);R[F]=M[D]}return R.request_name=M.realApi?C(M.realApi):M.requestName,R}var I=function(){function M(R){a(this,M);var B=R.parent,_=R.traceId,V=R.bucket,D=R.region,F=R.apiName,N=R.realApi,K=R.httpMethod,G=R.fileKey,q=R.fileSize,O=R.accelerate,U=R.customId,$=R.delay,Y=R.deepTracker,Q=R.Beacon,xe=R.clsReporter,ue=V&&V.substr(V.lastIndexOf("-")+1)||"";this.parent=B,this.deepTracker=Y,this.delay=$,xe&&!this.clsReporter&&(this.clsReporter=xe),this.params={sdkVersionName:"cos-js-sdk-v5",sdkVersionCode:u.version,osName:E,networkType:"",requestName:F||"",requestResult:"",realApi:N,bucket:V,region:D,accelerate:O,httpMethod:K,url:"",host:"",httpDomain:"",requestPath:G||"",userAgent:x,networkProtocol:P,errorType:"",errorCode:"",errorName:"",errorMessage:"",errorRequestId:"",errorHttpCode:0,errorServiceName:"",errorNode:"",httpTookTime:0,httpSize:q||0,httpMd5:0,httpSign:0,httpFullTime:0,httpSpeed:0,md5StartTime:0,md5EndTime:0,signStartTime:0,signEndTime:0,httpStartTime:0,httpEndTime:0,startTime:new Date().getTime(),endTime:0,traceId:_||y.getUid(),appid:ue,partNumber:0,httpRetryTimes:0,customId:U||"",partTime:0},Q&&(this.beacon=g(Q,$))}return l(M,[{key:"formatResult",value:function(B,_){var V,D,F,N,K,G,q=new Date().getTime(),O=y.getNetType(),U=B?(B==null?void 0:B.code)||(B==null||(V=B.error)===null||V===void 0?void 0:V.code)||(B==null||(D=B.error)===null||D===void 0?void 0:D.Code):"",$=B?(B==null?void 0:B.message)||(B==null||(F=B.error)===null||F===void 0?void 0:F.message)||(B==null||(N=B.error)===null||N===void 0?void 0:N.Message):"",Y=$,Q=B?(B==null?void 0:B.resource)||(B==null||(K=B.error)===null||K===void 0?void 0:K.resource)||(B==null||(G=B.error)===null||G===void 0?void 0:G.Resource):"",xe=B?B==null?void 0:B.statusCode:_.statusCode,ue=B?(B==null?void 0:B.headers)&&(B==null?void 0:B.headers["x-cos-request-id"]):(_==null?void 0:_.headers)&&(_==null?void 0:_.headers["x-cos-request-id"]),W=B?ue?"Server":"Client":"";this.params.requestName==="getObject"&&(this.params.httpSize=_?_.headers&&_.headers["content-length"]:0);var J=this.params.realApi==="sliceUploadFile",ce=this.params.realApi==="sliceCopyFile";if(J||ce){var ge=this.params.httpSize/1024/this.params.partTime;Object.assign(this.params,{httpSpeed:ge<0?0:ge.toFixed(3)})}else{var Ee=q-this.params.startTime,Te=this.params.httpEndTime-this.params.httpStartTime,De=this.params.httpSize/1024/(Te/1e3),te=this.params.md5EndTime-this.params.md5StartTime,ae=this.params.signEndTime-this.params.signStartTime;this.parent&&(this.parent.addParamValue("httpTookTime",m(Te)),this.parent.addParamValue("httpFullTime",m(Ee)),this.parent.addParamValue("httpMd5",m(te)),this.parent.addParamValue("httpSign",m(ae)),["multipartUpload","uploadPartCopy","putObjectCopy"].includes(this.params.requestName)&&this.parent.addParamValue("partTime",m(Te))),Object.assign(this.params,{httpFullTime:m(Ee),httpMd5:m(te),httpSign:m(ae),httpTookTime:m(Te),httpSpeed:De<0?0:De.toFixed(3)})}if(Object.assign(this.params,{networkType:O,requestResult:B?"Failure":"Success",errorType:W,errorCode:U,errorHttpCode:xe,errorName:Y,errorMessage:$,errorServiceName:Q,errorRequestId:ue}),B&&(!U||!$)&&(this.params.fullError=B?JSON.stringify(B):""),this.params.url){try{var H=/^http(s)?:\/\/(.*?)\//.exec(this.params.url);this.params.host=H[2]}catch(ve){this.params.host=this.params.url}this.params.httpDomain=this.params.host}}},{key:"report",value:function(B,_){if(!(!this.beacon&&!this.clsReporter)){this.formatResult(B,_);var V=k(this.params);this.beacon&&this.sendEventsToBeacon(V),this.clsReporter&&this.sendEventsToCLS(V)}}},{key:"setParams",value:function(B){Object.assign(this.params,B)}},{key:"addParamValue",value:function(B,_){this.params[B]=(+this.params[B]+ +_).toFixed(3)}},{key:"sendEventsToBeacon",value:function(B){var _=this.params.requestName==="sliceUploadFile"||this.params.realApi==="sliceUploadFile";if(!(_&&!this.deepTracker)){var V="qcloud_track_cos_sdk";this.delay===0?this.beacon&&this.beacon.onDirectUserAction(V,B):this.beacon&&this.beacon.onUserAction(V,B)}}},{key:"sendEventsToCLS",value:function(B){var _=this.delay===0;this.clsReporter.log(B,_)}},{key:"generateSubTracker",value:function(B){return Object.assign(B,{parent:this,deepTracker:this.deepTracker,traceId:this.params.traceId,bucket:this.params.bucket,region:this.params.region,accelerate:this.params.accelerate,fileKey:this.params.requestPath,customId:this.params.customId,delay:this.delay,clsReporter:this.clsReporter}),new M(B)}}]),M}();r.exports=I},"./src/util.js":function(r,s,o){(function(a){var l=o("./node_modules/@babel/runtime/helpers/typeof.js");function c(Pe,he){var Ce=typeof Symbol<"u"&&Pe[Symbol.iterator]||Pe["@@iterator"];if(!Ce){if(Array.isArray(Pe)||(Ce=u(Pe))||he&&Pe&&typeof Pe.length=="number"){Ce&&(Pe=Ce);var ye=0,Fe=function(){};return{s:Fe,n:function(){return ye>=Pe.length?{done:!0}:{done:!1,value:Pe[ye++]}},e:function(et){throw et},f:Fe}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Ue=!0,Ye=!1,Ge;return{s:function(){Ce=Ce.call(Pe)},n:function(){var et=Ce.next();return Ue=et.done,et},e:function(et){Ye=!0,Ge=et},f:function(){try{!Ue&&Ce.return!=null&&Ce.return()}finally{if(Ye)throw Ge}}}}function u(Pe,he){if(Pe){if(typeof Pe=="string")return d(Pe,he);var Ce=Object.prototype.toString.call(Pe).slice(8,-1);if(Ce==="Object"&&Pe.constructor&&(Ce=Pe.constructor.name),Ce==="Map"||Ce==="Set")return Array.from(Pe);if(Ce==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ce))return d(Pe,he)}}function d(Pe,he){(he==null||he>Pe.length)&&(he=Pe.length);for(var Ce=0,ye=new Array(he);CeUe?1:-1})}var P=function(he,Ce){var ye,Fe,Ue,Ye=[],Ge=x(he);for(ye=0;ye-1||C.indexOf(Fe)>-1)&&(Ce[ye]=he[ye])}return Ce},k=function(he){he=he||{};var Ce=he.SecretId,ye=he.SecretKey,Fe=he.KeyTime,Ue=(he.method||he.Method||"get").toLowerCase(),Ye=O(he.Query||he.params||{}),Ge=T(O(he.Headers||he.headers||{})),Ke=he.Key||"",et;he.UseRawKey?et=he.Pathname||he.pathname||"/"+Ke:(et=he.Pathname||he.pathname||Ke,et.indexOf("/")!==0&&(et="/"+et));var Ze=he.ForceSignHost!==!1;if(!Ge.Host&&!Ge.host&&he.Bucket&&he.Region&&Ze&&(Ge.Host=he.Bucket+".cos."+he.Region+".myqcloud.com"),!Ce)throw new Error("missing param SecretId");if(!ye)throw new Error("missing param SecretKey");var st=Math.round(H(he.SystemClockOffset)/1e3)-1,vt=st,lt=he.Expires||he.expires;lt===void 0?vt+=900:vt+=lt*1||0;var dt="sha1",Tt=Ce,ut=Fe||st+";"+vt,pt=Fe||st+";"+vt,Ct=x(Ge,!0).join(";").toLowerCase(),Vt=x(Ye,!0).join(";").toLowerCase(),Xe=m.HmacSHA1(pt,ye).toString(),ie=[Ue,et,Re.obj2str(Ye,!0),Re.obj2str(Ge,!0),""].join(` `),de=["sha1",ut,m.SHA1(ie).toString(),""].join(` `),ke=m.HmacSHA1(de,Xe).toString(),Oe=["q-sign-algorithm="+dt,"q-ak="+Tt,"q-sign-time="+ut,"q-key-time="+pt,"q-header-list="+Ct,"q-url-param-list="+Vt,"q-signature="+ke].join("&");return Oe},I=function(he,Ce,ye){var Fe=Ce/8,Ue=he.slice(ye,ye+Fe);return new Uint8Array(Ue).reverse(),new{8:Uint8Array,16:Uint16Array,32:Uint32Array}[Ce](Ue)[0]},M=function(he,Ce,ye,Fe){var Ue=he.slice(Ce,ye),Ye="";return new Uint8Array(Ue).forEach(function(Ge){Ye+=String.fromCharCode(Ge)}),Fe&&(Ye=decodeURIComponent(escape(Ye))),Ye},R=function(he){for(var Ce={},ye=M(he),Fe={records:[]};he.byteLength;){var Ue=I(he,32,0),Ye=I(he,32,4),Ge=Ue-Ye-16,Ke=0,et;for(he=he.slice(12);KeparseInt(Fe[Ue])?1:-1;return 0},he=function(ye){if(!ye)return!1;var Fe=(ye.match(/Chrome\/([.\d]+)/)||[])[1],Ue=(ye.match(/QBCore\/([.\d]+)/)||[])[1],Ye=(ye.match(/QQBrowser\/([.\d]+)/)||[])[1],Ge=Fe&&Pe(Fe,"53.0.2785.116")<0&&Ue&&Pe(Ue,"3.53.991.400")<0&&Ye&&Pe(Ye,"9.0.2524.400")<=0||!1;return Ge};return he(typeof navigator<"u"&&navigator.userAgent)}(),N=function(he,Ce,ye,Fe,Ue){var Ye;if(he.slice?Ye=he.slice(Ce,ye):he.mozSlice?Ye=he.mozSlice(Ce,ye):he.webkitSlice&&(Ye=he.webkitSlice(Ce,ye)),Fe&&F){var Ge=new FileReader;Ge.onload=function(Ke){Ye=null,Ue(new Blob([Ge.result]))},Ge.readAsArrayBuffer(Ye)}else Ue(Ye)},K=function(he,Ce,ye,Fe){ye=ye||_,he?typeof Ce=="string"?ye(Re.md5(Ce,!0)):Blob&&Ce instanceof Blob?Re.getFileMd5(Ce,function(Ue,Ye){ye(Ye)},Fe):ye():ye()},G=1024*1024,q=function(he,Ce,ye){var Fe=he.size,Ue=0,Ye=g.getCtx(),Ge=function Ke(et){if(et>=Fe){var Ze=Ye.digest("hex");Ce(null,Ze);return}var st=Math.min(Fe,et+G);Re.fileSlice(he,et,st,!1,function(vt){D(vt,function(lt){vt=null,Ye=Ye.update(lt,!0),Ue+=lt.length,lt=null,ye&&ye({loaded:Ue,total:Fe,percent:Math.round(Ue/Fe*1e4)/1e4}),Ke(et+G)})})};Ge(0)};function O(Pe){return W(Pe,function(he){return l(he)==="object"&&he!==null?O(he):he})}function U(Pe,he,Ce){return Pe&&he in Pe?Pe[he]:Ce}function $(Pe,he){return ue(he,function(Ce,ye){Pe[ye]=he[ye]}),Pe}function Y(Pe){return Pe instanceof Array}function Q(Pe,he){for(var Ce=!1,ye=0;ye-1,Ke=!Ye||typeof Ye=="string"&&Ye.indexOf("{Region}")>-1;if(he.indexOf("Bucket")>-1||he==="deleteMultipleObject"||he==="multipartList"||he==="listObjectVersions"){if(Ge&&!ye)return"Bucket";if(Ke&&!Fe)return"Region"}else if(he.indexOf("Object")>-1||he.indexOf("multipart")>-1||he==="sliceUploadFile"||he==="abortUploadTask"||he==="uploadFile"){if(Ge&&!ye)return"Bucket";if(Ke&&!Fe)return"Region";if(!Ue)return"Key"}return!1},Te=function(he,Ce){if(Ce=$({},Ce),he!=="getAuth"&&he!=="getV4Auth"&&he!=="getObjectUrl"){var ye=Ce.Headers||{};if(Ce&&l(Ce)==="object"){(function(){for(var Ue in Ce)Ce.hasOwnProperty(Ue)&&Ue.indexOf("x-cos-")>-1&&(ye[Ue]=Ce[Ue])})();var Fe={"x-cos-mfa":"MFA","Content-MD5":"ContentMD5","Content-Length":"ContentLength","Content-Type":"ContentType",Expect:"Expect",Expires:"Expires","Cache-Control":"CacheControl","Content-Disposition":"ContentDisposition","Content-Encoding":"ContentEncoding",Range:"Range","If-Modified-Since":"IfModifiedSince","If-Unmodified-Since":"IfUnmodifiedSince","If-Match":"IfMatch","If-None-Match":"IfNoneMatch","x-cos-copy-source":"CopySource","x-cos-copy-source-Range":"CopySourceRange","x-cos-metadata-directive":"MetadataDirective","x-cos-copy-source-If-Modified-Since":"CopySourceIfModifiedSince","x-cos-copy-source-If-Unmodified-Since":"CopySourceIfUnmodifiedSince","x-cos-copy-source-If-Match":"CopySourceIfMatch","x-cos-copy-source-If-None-Match":"CopySourceIfNoneMatch","x-cos-acl":"ACL","x-cos-grant-read":"GrantRead","x-cos-grant-write":"GrantWrite","x-cos-grant-full-control":"GrantFullControl","x-cos-grant-read-acp":"GrantReadAcp","x-cos-grant-write-acp":"GrantWriteAcp","x-cos-storage-class":"StorageClass","x-cos-traffic-limit":"TrafficLimit","x-cos-mime-limit":"MimeLimit","x-cos-server-side-encryption-customer-algorithm":"SSECustomerAlgorithm","x-cos-server-side-encryption-customer-key":"SSECustomerKey","x-cos-server-side-encryption-customer-key-MD5":"SSECustomerKeyMD5","x-cos-server-side-encryption":"ServerSideEncryption","x-cos-server-side-encryption-cos-kms-key-id":"SSEKMSKeyId","x-cos-server-side-encryption-context":"SSEContext","Pic-Operations":"PicOperations"};Re.each(Fe,function(Ue,Ye){Ce[Ue]!==void 0&&(ye[Ye]=Ce[Ue])}),Ce.Headers=V(ye)}}return Ce},De=function(he,Ce){return function(ye,Fe){var Ue=this;typeof ye=="function"&&(Fe=ye,ye={}),ye=Te(he,ye);var Ye;if(Ue.options.EnableReporter)if(ye.calledBySdk==="sliceUploadFile"||ye.calledBySdk==="sliceCopyFile")Ye=ye.tracker&&ye.tracker.generateSubTracker({apiName:he});else if(["uploadFile","uploadFiles"].includes(he))Ye=null;else{var Ge=0;ye.Body&&(Ge=typeof ye.Body=="string"?ye.Body.length:ye.Body.size||ye.Body.byteLength||0);var Ke=Ue.options.UseAccelerate||typeof Ue.options.Domain=="string"&&Ue.options.Domain.includes("accelerate.");Ye=new S({Beacon:Ue.options.BeaconReporter,clsReporter:Ue.options.ClsReporter,bucket:ye.Bucket,region:ye.Region,apiName:he,realApi:he,accelerate:Ke,fileKey:ye.Key,fileSize:Ge,deepTracker:Ue.options.DeepTracker,customId:Ue.options.CustomId,delay:Ue.options.TrackerDelay})}ye.tracker=Ye;var et=function(ut){return ut&&ut.headers&&(ut.headers["x-cos-request-id"]&&(ut.RequestId=ut.headers["x-cos-request-id"]),ut.headers["x-ci-request-id"]&&(ut.RequestId=ut.headers["x-ci-request-id"]),ut.headers["x-cos-version-id"]&&(ut.VersionId=ut.headers["x-cos-version-id"]),ut.headers["x-cos-delete-marker"]&&(ut.DeleteMarker=ut.headers["x-cos-delete-marker"])),ut},Ze=function(ut,pt){Ye&&Ye.report(ut,pt),Fe&&Fe(et(ut),et(pt))},st=function(){if(he!=="getService"&&he!=="abortUploadTask"){var ut=Ee.call(Ue,he,ye);if(ut)return"missing param "+ut;if(ye.Region){if(Ue.options.CompatibilityMode){if(!/^([a-z\d-.]+)$/.test(ye.Region))return"Region format error."}else{if(ye.Region.indexOf("cos.")>-1)return'param Region should not be start with "cos."';if(!/^([a-z\d-]+)$/.test(ye.Region))return"Region format error."}!Ue.options.CompatibilityMode&&ye.Region.indexOf("-")===-1&&ye.Region!=="yfb"&&ye.Region!=="default"&&ye.Region!=="accelerate"&&console.warn("warning: param Region format error, find help here: https://cloud.tencent.com/document/product/436/6224")}if(ye.Bucket){if(!/^([a-z\d-]+)-(\d+)$/.test(ye.Bucket))if(ye.AppId)ye.Bucket=ye.Bucket+"-"+ye.AppId;else if(Ue.options.AppId)ye.Bucket=ye.Bucket+"-"+Ue.options.AppId;else return'Bucket should format as "test-1250000000".';ye.AppId&&(console.warn('warning: AppId has been deprecated, Please put it at the end of parameter Bucket(E.g Bucket:"test-1250000000" ).'),delete ye.AppId)}!Ue.options.UseRawKey&&ye.Key&&ye.Key.substr(0,1)==="/"&&(ye.Key=ye.Key.substr(1))}},vt=st(),lt=["getAuth","getObjectUrl"].includes(he);if(typeof Promise=="function"&&!lt&&!Fe)return new Promise(function(Tt,ut){if(Fe=function(Ct,Vt){Ct?ut(Ct):Tt(Vt)},vt)return Ze(Re.error(new Error(vt)));Ce.call(Ue,ye,Ze)});if(vt)return Ze(Re.error(new Error(vt)));var dt=Ce.call(Ue,ye,Ze);if(lt)return dt}},te=function(he,Ce){var ye=this,Fe=0,Ue=0,Ye=Date.now(),Ge,Ke;function et(){if(Ke=0,Ce&&typeof Ce=="function"){Ge=Date.now();var Ze=Math.max(0,Math.round((Ue-Fe)/((Ge-Ye)/1e3)*100)/100)||0,st;Ue===0&&he===0?st=1:st=Math.floor(Ue/he*100)/100||0,Ye=Ge,Fe=Ue;try{Ce({loaded:Ue,total:he,speed:Ze,percent:st})}catch(vt){}}}return function(Ze,st){if(Ze&&(Ue=Ze.loaded,he=Ze.total),st)clearTimeout(Ke),et();else{if(Ke)return;Ke=setTimeout(et,ye.options.ProgressInterval)}}},ae=function(he,Ce,ye){var Fe;if(typeof Ce.Body=="string"?Ce.Body=new Blob([Ce.Body],{type:"text/plain"}):Ce.Body instanceof ArrayBuffer&&(Ce.Body=new Blob([Ce.Body])),Ce.Body&&(Ce.Body instanceof Blob||Ce.Body.toString()==="[object File]"||Ce.Body.toString()==="[object Blob]"))Fe=Ce.Body.size;else{ye(Re.error(new Error("params body format error, Only allow File|Blob|String.")));return}Ce.ContentLength=Fe,ye(null,Fe)},H=function(he){return Date.now()+(he||0)},ve=function(he,Ce){var ye=he;return he.message=he.message||null,typeof Ce=="string"?(he.error=Ce,he.message=Ce):l(Ce)==="object"&&Ce!==null&&($(he,Ce),(Ce.code||Ce.name)&&(he.code=Ce.code||Ce.name),Ce.message&&(he.message=Ce.message),Ce.stack&&(he.stack=Ce.stack)),typeof Object.defineProperty=="function"&&(Object.defineProperty(he,"name",{writable:!0,enumerable:!1}),Object.defineProperty(he,"message",{enumerable:!0})),he.name=Ce&&Ce.name||he.name||he.code||"Error",he.code||(he.code=he.name),he.error||(he.error=O(ye)),he},pe=function(){return(typeof globalThis>"u"?"undefined":l(globalThis))==="object"&&(globalThis.constructor.name==="DedicatedWorkerGlobalScope"||globalThis.FileReaderSync)},ee=function(){return(typeof window>"u"?"undefined":l(window))!=="object"&&(typeof a>"u"?"undefined":l(a))==="object"&&!0&&!pe()},ne=function(he){return/^https?:\/\/([^/]+\.)?ci\.[^/]+/.test(he)},me=function(){if((typeof navigator>"u"?"undefined":l(navigator))!=="object")return!1;var Pe=navigator.userAgent,he=!!Pe.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);return he}(),Be=function(){return(typeof navigator>"u"?"undefined":l(navigator))!=="object"?!1:/\sQQ/i.test(navigator.userAgent)}(),oe=function(he,Ce){var ye=A.encode(he);return Ce&&(ye=ye.replaceAll("+","-").replaceAll("/","_").replaceAll("=","")),ye},be=function(he){var Ce=he.split("/"),ye=[],Fe=c(Ce),Ue;try{for(Fe.s();!(Ue=Fe.n()).done;){var Ye=Ue.value;Ye===".."?ye.length&&ye.pop():Ye.length&&Ye!=="."&&ye.push(Ye)}}catch(Ge){Fe.e(Ge)}finally{Fe.f()}return"/"+ye.join("/")},Ie=function(he){var Ce;if(he&&typeof he=="string"){var ye=he.trim(),Fe=ye.indexOf("<")===0,Ue=ye.indexOf("{")===0;if(Fe)Ce=Re.xml2json(he)||{};else if(Ue)try{var Ye=he.replace(/\n/g," "),Ge=JSON.parse(Ye);Object.prototype.toString.call(Ge)==="[object Object]"?Ce=Ge:Ce=he}catch(Ke){Ce=he}else Ce=he}else Ce=he||{};return Ce},Re={noop:_,formatParams:Te,apiWrapper:De,xml2json:y,json2xml:b,md5:g,clearKey:V,fileSlice:N,getBodyMd5:K,getFileMd5:q,b64:ce,extend:$,isArray:Y,isInArray:Q,makeArray:xe,each:ue,map:W,filter:J,clone:O,attr:U,uuid:ge,camSafeUrlEncode:E,throttleOnProgress:te,getFileSize:ae,getSkewTime:H,error:ve,obj2str:P,getAuth:k,parseSelectPayload:R,getSourceParams:B,isBrowser:!0,isNode:ee,isCIHost:ne,isIOS_QQ:me&&Be,encodeBase64:oe,simplifyPath:be,readAsBinaryString:D,parseResBody:Ie};r.exports=Re}).call(this,o("./node_modules/process/browser.js"))}})})})(cosJsSdkV5);const COS=getDefaultExportFromCjs(cosJsSdkV5Exports),tencentBucket="daya-online-1303457149",ossType="tencent";async function fileUpload(i,e){const{data:r}=await getUploadSign(i);return await onOnlyFileUpload(r.signature,{fileName:i,file:e})}const getUploadSign=async i=>{const e="yjl/"+i;return request.post("/open/getUploadSign",{data:{postData:{key:e},pluginName:ossType,bucketName:tencentBucket,filename:e},requestType:"json",params:{pluginName:ossType}})},onOnlyFileUpload=async(i,e)=>{let r="",s=null;if(await new COS({Domain:"https://oss.dayaedu.com",Protocol:"https",getAuthorization:async(a,l)=>{l({Authorization:i})}}).uploadFile({Bucket:tencentBucket,Region:"ap-nanjing",Key:`yjl/${e.fileName}`,Body:e.file,SliceSize:1024*1024*500,onProgress:function(a){}}).then(a=>{var l;((l=a.Location)==null?void 0:l.indexOf("http"))>=0?r=a.Location:r="https://"+a.Location}).catch(a=>{s=a}),r)return r;throw new Error(s)},Recommendation=defineComponent({name:"recommendation",emits:["close"],setup(i,{emit:e}){const r=ref([]),s=reactive({message:"",suggestId:""}),o=ref([]),a=async()=>{try{const y=(await getSuggestionList({rows:9999,page:1,useClient:"SMART_PRACTICE"})).data.rows||[];r.value=y.map(b=>({text:b.name,value:b.id}))}catch(m){}},l=async()=>{var m;if(!s.message||!s.suggestId){const y=s.suggestId?"请先填写意见反馈":"请先选择反馈类型";showToast({message:y,position:"top"});return}try{const y=o.value.reduce((b,A)=>(A.url&&b.push(A.url),b),[]);await sysSuggestionAdd({content:s.message,type:"SMART_PRACTICE",suggestionTypeId:s.suggestId,mobileNo:(m=storeData.user)==null?void 0:m.phone,attachmentUrls:y.join(",")}),showToast({message:"意见反馈已提交",position:"top"}),e("close"),s.suggestId="",s.message="",o.value=[]}catch(y){}},c=computed(()=>r.value.find(y=>y.value===s.suggestId)),u=m=>{let y=[];Array.isArray(m)?y=m.map(b=>(b.status="uploading",b.message="上传中...",b.key=new Date().getTime()+b.file.name,b)):(m.status="uploading",m.message="上传中...",m.key=new Date().getTime()+m.file.name,y.push(m)),y.map(async b=>{try{const A=await fileUpload(b.key,b.file);b.status="",b.url=A}catch(A){b.status="failed",b.message="上传失败"}})},d=5,g=()=>{showToast(`文件大小不能超过 ${d}M`)};return onMounted(()=>{a()}),()=>createVNode("div",{class:[styles$o.recommendation]},[createVNode("div",{class:styles$o.head},[createVNode("img",{class:styles$o.headTit,src:headImg("recommendationName.png")},null),createVNode("img",{class:styles$o.closeImg,src:headImg("closeImg.png"),onClick:()=>{e("close")}},null)]),createVNode("div",{class:styles$o.content},[createVNode("div",{class:styles$o.conBox},[createVNode(DropdownMenu,{class:[styles$o.dropdownMenu,c.value&&styles$o.currItem],overlay:!1},{default:()=>[createVNode(DropdownItem,{class:["recommendationDropdownItem"],title:c.value?c.value.name:"请选择反馈类型",modelValue:s.suggestId,"onUpdate:modelValue":m=>s.suggestId=m,options:r.value},null)]}),createVNode(Field,{class:styles$o.field,modelValue:s.message,"onUpdate:modelValue":m=>s.message=m,border:!1,type:"textarea",maxlength:200,placeholder:"请详细描述您遇到的问题,以便我们尽快为您解决"},null),createVNode(Uploader,{accept:".jpg,jpeg,.png",class:styles$o.uploader,"max-size":d*1024*1024,onOversize:g,modelValue:o.value,"onUpdate:modelValue":m=>o.value=m,"after-read":u,multiple:!0,"max-count":4},{default:()=>[createVNode("div",{class:styles$o.uploaderbox},[createVNode("img",{class:styles$o.img,src:headImg("photo.png")},null),createVNode("div",null,[createTextVNode("上传图片")])])]}),createVNode("div",{class:styles$o.btnCon},[createVNode("img",{class:styles$o.img,src:headImg("qx.png"),onClick:()=>{e("close")}},null),createVNode("img",{class:styles$o.img,src:headImg("tj.png"),onClick:l},null)])])])])}}),Settting=defineComponent({name:"settting",setup(){const i=reactive({screenModelShow:!1,recommendationShow:!1}),e=s=>{const o=state$1.baseFrequency-10,a=state$1.baseFrequency+10;let l=state$1.setting.frequency;if(s===1){if(l-1a)return showToast({message:`最高标准音高${a}HZ`});l=l+1}state$1.setting.frequency=l>=0?l:0},r=s=>s=String(Math.min(3e3,s));return()=>createVNode("div",{class:styles$p.settting},[createVNode("div",{class:styles$p.head},[createVNode("img",{class:styles$p.headTit,src:headImg("settingName.png")},null),createVNode("img",{class:styles$p.closeImg,src:headImg("closeImg.png"),onClick:()=>{headTopData.settingMode=!1}},null)]),createVNode("div",{class:styles$p.content},[createVNode("div",{class:styles$p.conBox},[createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("指法")]),createVNode(Switch$1,{modelValue:state$1.setting.displayFingering,"onUpdate:modelValue":s=>state$1.setting.displayFingering=s},null)]),createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("循环播放")]),createVNode(Switch$1,{modelValue:state$1.setting.repeatAutoPlay,"onUpdate:modelValue":s=>state$1.setting.repeatAutoPlay=s},null)]),createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("旋律线")]),createVNode(Switch$1,{modelValue:smoothAnimationState.isShow.value,"onUpdate:modelValue":s=>smoothAnimationState.isShow.value=s},null)]),createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("延迟检测")]),createVNode(Switch$1,{modelValue:state$1.setting.soundEffect,"onUpdate:modelValue":s=>state$1.setting.soundEffect=s},null)]),createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("摄像头")]),createVNode(Switch$1,{modelValue:state$1.setting.camera,"onUpdate:modelValue":s=>state$1.setting.camera=s,onChange:async s=>{var o;if(s){const a=await api_openCamera();(o=a==null?void 0:a.content)!=null&&o.reson&&(state$1.setting.camera=!1)}else api_closeCamera()}},null)]),createVNode("div",{class:styles$p.cellBox,style:{display:state$1.setting.camera?"":"none"}},[createVNode("div",{class:styles$p.tit},[createTextVNode("透明度")]),createVNode(Slider,{class:styles$p.slider,min:0,max:100,modelValue:state$1.setting.cameraOpacity,"onUpdate:modelValue":s=>state$1.setting.cameraOpacity=s},{button:()=>createVNode("div",{class:styles$p.sliderBtn},[state$1.setting.cameraOpacity])})]),createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("标准音高")]),createVNode("div",{class:styles$p.frequency},[createVNode("img",{src:headImg("cutImg.png"),class:[styles$p.btn],onClick:()=>e(1)},null),createVNode("div",{class:styles$p.frequencyNum},[state$1.setting.frequency,createTextVNode("HZ")]),createVNode("img",{src:headImg("addImg.png"),class:[styles$p.btn],onClick:()=>e(2)},null)])]),createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("反应时间")]),createVNode("div",{class:styles$p.reactionTimeBox},[createVNode(Field,{class:styles$p.reactionTime,type:"digit",placeholder:"最大可输入3000毫秒",formatter:r,"input-align":"center",modelValue:state$1.setting.reactionTimeMs,"onUpdate:modelValue":s=>state$1.setting.reactionTimeMs=s},null),createVNode("div",{class:styles$p.timeName},[createTextVNode("毫秒")])])]),state$1.modeType==="practise"?createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("切换谱面")]),createVNode("div",{class:styles$p.radioBox},[[{name:"单行谱",value:!0},{name:"多行谱",value:!1}].map(s=>createVNode("div",{class:state$1.isSingleLine===s.value&&styles$p.active,onClick:()=>{state$1.isSingleLine=s.value,headTopData.settingMode=!1,refreshMusicSvg()}},[s.name]))])]):null,createVNode("div",{class:styles$p.cellBox},[createVNode("div",{class:styles$p.tit},[createTextVNode("转谱")]),createVNode("div",{class:styles$p.radioBox},[[{name:"五线谱",value:"staff"},{name:"首调",value:"firstTone"},{name:"固定谱",value:"fixedTone"}].map(s=>createVNode("div",{class:state$1.musicRenderType===s.value&&styles$p.active,onClick:()=>{state$1.musicRenderType=s.value,headTopData.settingMode=!1,refreshMusicSvg()}},[s.name]))])]),createVNode("div",{class:styles$p.cellBtnBox},[createVNode("img",{src:headImg("tpbz.png")},null),createVNode("img",{src:headImg("yjfk.png"),onClick:()=>i.recommendationShow=!0},null)])])]),createVNode(Popup,{show:i.recommendationShow,"onUpdate:show":s=>i.recommendationShow=s,class:"popup-custom van-scale center-closeBtn recommenBoxClass_drag",transition:"van-scale",teleport:"body","overlay-style":{background:"rgba(0, 0, 0, 0.3)"}},{default:()=>[createVNode(Recommendation,{onClose:()=>{i.recommendationShow=!1}},null)]})])}});function autoCorrelate(i,e){for(var r=i.length,s=0,o=0;od[m+1];)m++;for(var y=-1,b=-1,o=m;oy&&(y=d[o],b=o);var A=b,S=d[A-1],E=d[A],x=d[A+1];let P=(S+x-2*E)/2,C=(x-S)/2;return P&&(A=A-C/(2*P)),e/A}const audioRecorder={audioContext:null,mediaRecorder:null,recordeState:!1,progress:i=>{},init(){this.audioContext=new(window.AudioContext||window.webkitAudioContext)},toggleRecord(i){return new Promise((e,r)=>{i?navigator.mediaDevices.getUserMedia({audio:!0}).then(s=>{audioRecorder.mediaRecorder=s.getAudioTracks()[0],audioRecorder.recordeState=!0;const o=this.audioContext.createMediaStreamSource(s),a=this.audioContext.createAnalyser();a.fftSize=2048,o.connect(a);var l=new Float32Array(a.fftSize);const c=this.audioContext.sampleRate;function u(){if(!audioRecorder.recordeState)return;a.getFloatTimeDomainData(l);const d=autoCorrelate(l,c);audioRecorder.progress(d),setTimeout(()=>{u()},10)}u(),e(!0)}).catch(s=>{e(!1),console.error("Error accessing media devices:",s)}):audioRecorder.mediaRecorder.stop()})},checkSupport(){return new Promise((i,e)=>{if(navigator.mediaDevices.getUserMedia){const r={audio:!0};navigator.mediaDevices.getUserMedia(r).then(s=>{i(!0),console.log("授权成功!")},()=>{i(!1),console.error("授权失败!")})}else i(!1),console.error("浏览器不支持 getUserMedia")})}},query$3=getQuery(),followData=reactive({list:[],index:0,start:!1,rendered:!1,earphone:!1}),handleRecord$1=i=>{if(query$3.isCbs)return;i<0&&(i=0);const e=i/1e3,r={clientType:storeData.user.clientType,musicSheetId:state$1.examSongId,sysMusicScoreId:state$1.examSongId,feature:"FOLLOW_UP_TRAINING",practiceSource:"FOLLOW_UP_TRAINING",playTime:e,deviceType:browser().android?"ANDROID":"IOS",behaviorId:getBehaviorId()};api_musicPracticeRecordSave(r)},toggleFollow=(i=!0)=>{state$1.modeType=state$1.modeType==="follow"?"practise":"follow",i||(followData.start=!1,openToggleRecord(!1))},noteFrequency=ref(0),audioFrequency=ref(0),followTime=ref(0),openToggleRecord=async(i=!0)=>{if(i||api_cloudToggleFollow(i?"start":"end"),i)followTime.value=Date.now();else{const e=Date.now()-followTime.value;followTime.value!==0&&e>0&&(handleRecord$1(e),followTime.value=0)}storeData.isApp||!await(audioRecorder==null?void 0:audioRecorder.toggleRecord(i))&&followData.start&&(followData.earphone=!0,followData.start=!1)},onClear=()=>{state$1.times.forEach(i=>{const e=document.querySelector(`div[data-vf=vf${i.id}]`);e&&e.classList.remove("follow-up","follow-down","follow-error","follow-success");const r=document.getElementById(`vf-${i.id}`),s=document.getElementById(`vf-${i.id}-stem`);r&&(r.classList.remove("follow-up","follow-down","follow-success"),s==null||s.classList.remove("follow-up","follow-down","follow-success"))})},handleFollowStart=async()=>{var e;checking=!1;const i=await api_cloudToggleFollow("start");if(!((e=i==null?void 0:i.content)!=null&&e.reson)){if(followData.start=!0,!await handleStartTick())return followData.start=!1,!1;onClear(),followData.start=!0,followData.index=0,followData.list=[],resetPlaybackToStart(),openToggleRecord(!0),getNoteIndex();const s=getDuration(state$1.osmd);metronomeData.totalNumerator=s.numerator||2,metronomeData.followAudioIndex=1,state$1.beatStartTime=0,followBeatPaly()}},handleFollowEnd=()=>{onClear(),followData.start=!1,openToggleRecord(!1),followData.index=0,console.log("结束")},autoEndFollow=()=>{if(followData.index>=state$1.times.length){handleFollowEnd();return}if(followData.index+1,!state$1.times.slice(followData.index,state$1.times.length).some(r=>r.frequency>1)&&state$1.times[followData.index].frequency<1){handleFollowEnd();return}},next=()=>{followData.index{const i=state$1.times[followData.index];return i.frequency<=0?(followData.index=followData.index+1,next(),getNoteIndex()):(noteFrequency.value=i.frequency,{id:i.id,min:i.frequency-(i.frequency-i.prevFrequency)*.5,max:i.frequency+(i.nextFrequency-i.frequency)*.5,duration:i.duration,baseFrequency:i.frequency})};let checking=!1;const onFollowTime=i=>{var r;const e=(r=i==null?void 0:i.content)==null?void 0:r.frequency;followData.start&&e>0&&(audioFrequency.value=e,checked())};let startTime=0;const checked=()=>{if(checking)return;checking=!0;const i=getNoteIndex();if(audioFrequency.value=i.min&&audioFrequency.value<=i.max){if(startTime===0)startTime=Date.now();else if((Date.now()-startTime)/1e3>=i.duration*.6){startTime=0,followData.index=followData.index+1,setColor(i,"",!0),setTimeout(()=>{next(),checking=!1},3e3);return}}setColor(i,audioFrequency.value>i.baseFrequency?"follow-up":"follow-down"),checking=!1},setColor=(i,e,r=!1)=>{const s=document.querySelector(`div[data-vf=vf${i.id}]`);s&&(s.classList.remove("follow-up","follow-down","follow-error","follow-success"),r?s.classList.add("follow-success"):s.classList.add("follow-error",e));const o=document.getElementById(`vf-${i.id}`);if(o){const a=document.getElementById(`vf-${i.id}-stem`);o.classList.remove("follow-up","follow-down"),a==null||a.classList.remove("follow-up","follow-down","follow-success"),e&&(o.classList.add(e),a==null||a.classList.add(e)),r&&(o.classList.add("follow-success"),a==null||a.classList.add("follow-success"))}},skipNotePractice=()=>{followData.index=state$1.activeNoteIndex,Array.from(document.querySelectorAll(".follow-error")).forEach(e=>{e==null||e.classList.remove("follow-up","follow-down","follow-error")})};watch(()=>followData.index,()=>{skipNotePlay(followData.index)});const FollowPractice=defineComponent({name:"follow",setup(){return onMounted(async()=>{storeData.isApp?api_cloudFollowTime(onFollowTime):await audioRecorder.checkSupport()?(audioRecorder.init(),audioRecorder.progress=e=>{onFollowTime({api:"",content:{frequency:e}})}):followData.earphone=!0,console.log("进入跟练模式")}),onUnmounted(()=>{api_cloudFollowTime(onFollowTime,!1),resetPlaybackToStart(),onClear(),openToggleRecord(!1),console.log("退出跟练模式")}),()=>createVNode("div",null,null)}}),guidePopup="_guidePopup_x5pic_1",tipsContainer="_tipsContainer_x5pic_14",backBtn$2="_backBtn_x5pic_20",right$2="_right_x5pic_36",content$4="_content_x5pic_44",box$3="_box_x5pic_49",item$2="_item_x5pic_55",img$1="_img_x5pic_59",iconHead="_iconHead_x5pic_63",head2="_head2_x5pic_69",btns$4="_btns_x5pic_73",btn$5="_btn_x5pic_73",endBtn$2="_endBtn_x5pic_84",studentbtn="_studentbtn_x5pic_87",teacherBtn="_teacherBtn_x5pic_98",nextBtn="_nextBtn_x5pic_130",studentNext="_studentNext_x5pic_145",myscale="_myscale_x5pic_1",styles$n={guidePopup,tipsContainer,backBtn:backBtn$2,right:right$2,content:content$4,box:box$3,item:item$2,img:img$1,iconHead,head2,btns:btns$4,btn:btn$5,endBtn:endBtn$2,studentbtn,teacherBtn,nextBtn,studentNext,myscale},__vite_glob_0_0=""+new URL("../png/aiTeacher1-906c9519.png",import.meta.url).href,__vite_glob_0_1=""+new URL("../png/aiTeacher2-398558c8.png",import.meta.url).href,__vite_glob_0_2=""+new URL("../png/aiTeacher3-4ce7d3e9.png",import.meta.url).href,__vite_glob_0_3=""+new URL("../png/aiTeacher4-a64809b7.png",import.meta.url).href,__vite_glob_0_4=""+new URL("../png/endBtn-fbbc61e9.png",import.meta.url).href,__vite_glob_0_5="data:image/png;base64,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",__vite_glob_0_6="data:image/png;base64,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",__vite_glob_0_7=""+new URL("../png/endBtn-fbbc61e9.png",import.meta.url).href,__vite_glob_0_8=""+new URL("../png/pc_teacherBottom1-7d7c0406.png",import.meta.url).href,__vite_glob_0_9=""+new URL("../png/pc_teacherBottom2-1041fb46.png",import.meta.url).href,__vite_glob_0_10=""+new URL("../png/pc_teacherBottom3-9e8e8dfa.png",import.meta.url).href,__vite_glob_0_11=""+new URL("../png/pc_teacherBottom4-06ba0f51.png",import.meta.url).href,__vite_glob_0_12=""+new URL("../png/pc_teacherBottom5-d02e3c8f.png",import.meta.url).href,__vite_glob_0_13=""+new URL("../png/pc_teacherBottom6-bc1100b9.png",import.meta.url).href,__vite_glob_0_14=""+new URL("../png/studentB1-cada9dc3.png",import.meta.url).href,__vite_glob_0_15=""+new URL("../png/studentB2-22f8c5b1.png",import.meta.url).href,__vite_glob_0_16=""+new URL("../png/studentB3-63e84adf.png",import.meta.url).href,__vite_glob_0_17=""+new URL("../png/studentBtn-cc71146a.png",import.meta.url).href,__vite_glob_0_18=""+new URL("../png/studnetT1-6bad1a7e.png",import.meta.url).href,__vite_glob_0_19=""+new URL("../png/studnetT2-a1c68390.png",import.meta.url).href,__vite_glob_0_20=""+new URL("../png/studnetT3-aea2d51e.png",import.meta.url).href,__vite_glob_0_21=""+new URL("../png/studnetT4-e9bcb3f4.png",import.meta.url).href,__vite_glob_0_22=""+new URL("../png/studnetT5-d98576d3.png",import.meta.url).href,__vite_glob_0_23=""+new URL("../png/studnetT6-e26e655b.png",import.meta.url).href,__vite_glob_0_24=""+new URL("../png/studnetT7-85b09492.png",import.meta.url).href,__vite_glob_0_25=""+new URL("../png/studnetT8-f4dec487.png",import.meta.url).href,__vite_glob_0_26=""+new URL("../png/teacherTop1-fac539f2.png",import.meta.url).href,__vite_glob_0_27=""+new URL("../png/teacherTop2-7139ad50.png",import.meta.url).href,__vite_glob_0_28=""+new URL("../png/teacherTop3-d5b41852.png",import.meta.url).href,__vite_glob_0_29=""+new URL("../png/teacherTop4-6b47a5e7.png",import.meta.url).href,__vite_glob_0_30=""+new URL("../png/teacherTop5-ce3e332a.png",import.meta.url).href,__vite_glob_0_31=""+new URL("../png/teacherTop6-7e748eed.png",import.meta.url).href,modules=Object.assign({"./aiTeacher1.png":__vite_glob_0_0,"./aiTeacher2.png":__vite_glob_0_1,"./aiTeacher3.png":__vite_glob_0_2,"./aiTeacher4.png":__vite_glob_0_3,"./endBtn.png":__vite_glob_0_4,"./indexDot.png":__vite_glob_0_5,"./nextBtn.png":__vite_glob_0_6,"./numbrBtn.png":__vite_glob_0_7,"./pc_teacherBottom1.png":__vite_glob_0_8,"./pc_teacherBottom2.png":__vite_glob_0_9,"./pc_teacherBottom3.png":__vite_glob_0_10,"./pc_teacherBottom4.png":__vite_glob_0_11,"./pc_teacherBottom5.png":__vite_glob_0_12,"./pc_teacherBottom6.png":__vite_glob_0_13,"./studentB1.png":__vite_glob_0_14,"./studentB2.png":__vite_glob_0_15,"./studentB3.png":__vite_glob_0_16,"./studentBtn.png":__vite_glob_0_17,"./studnetT1.png":__vite_glob_0_18,"./studnetT2.png":__vite_glob_0_19,"./studnetT3.png":__vite_glob_0_20,"./studnetT4.png":__vite_glob_0_21,"./studnetT5.png":__vite_glob_0_22,"./studnetT6.png":__vite_glob_0_23,"./studnetT7.png":__vite_glob_0_24,"./studnetT8.png":__vite_glob_0_25,"./teacherTop1.png":__vite_glob_0_26,"./teacherTop2.png":__vite_glob_0_27,"./teacherTop3.png":__vite_glob_0_28,"./teacherTop4.png":__vite_glob_0_29,"./teacherTop5.png":__vite_glob_0_30,"./teacherTop6.png":__vite_glob_0_31}),getImage=i=>modules[`./${i}`]||"",query$2=getQuery(),setGuidance=i=>query$2.isCbs?{}:request.post("/functionGuidance/save",{data:i,requestType:"json"}),getGuidance=i=>storeData.platformApi=="/cbs-app"?{data:null}:request.get("/functionGuidance/queryTagDetail",{data:i,params:i}),TeacherTop=defineComponent({name:"teacherTop-guide",emits:["close"],setup(i,{emit:e}){const r=reactive({box:{},show:!1,steps:state$1.platform===IPlatform.PC?[{ele:"",eleRect:{},img:getImage("pc_teacherBottom1.png"),handStyle:{top:"0.91rem"},imgStyle:{bottom:"2.5rem",width:"3.63rem",height:"2.28rem",left:"-0.45rem"},btnsStyle:{bottom:"2.72rem",left:"1.1rem",transform:"scale(.83)"}},{ele:"",img:getImage("pc_teacherBottom2.png"),handStyle:{top:"-1.39rem",left:"0.15rem",transform:"rotate(180deg)"},imgStyle:{bottom:"2.5rem",width:"4.20rem",height:"2.28rem",left:"-0.45rem"},btnsStyle:{bottom:"2.72rem",left:"1.1rem",transform:"scale(.83)"}},{ele:"",img:getImage("pc_teacherBottom3.png"),handStyle:{top:"-1.39rem",left:"0.17rem",transform:"rotate(180deg)"},imgStyle:{bottom:"2.5rem",width:"5.15rem",height:"2.28rem",left:"-0.45rem"},btnsStyle:{bottom:"2.72rem",left:"1.1rem",transform:"scale(.83)"}},{ele:"",img:getImage("pc_teacherBottom4.png"),handStyle:{top:"-1.39rem",left:"1.4rem",transform:"rotate(180deg)"},imgStyle:{bottom:"2.5rem",width:"4.39rem",height:"2.28rem",left:"-0.45rem"},btnsStyle:{bottom:"2.72rem",left:"1.1rem",transform:"scale(.83)"}},{ele:"",img:getImage("pc_teacherBottom5.png"),handStyle:{top:"-1.39rem",left:"1.4rem",transform:"rotate(180deg)"},imgStyle:{bottom:"2.5rem",width:"4.58rem",height:"2.28rem",left:"-0.45rem"},btnsStyle:{bottom:"2.72rem",left:"1.1rem",transform:"scale(.83)"}},{ele:"",img:getImage("pc_teacherBottom6.png"),handStyle:{top:"-1.39rem",left:"1.4rem",transform:"rotate(180deg)"},imgStyle:{bottom:"2.5rem",width:"4.01rem",height:"2.28rem",left:"-3.4rem"},btnsStyle:{bottom:"2.72rem",left:"-2.1rem",transform:"scale(.83)"}}]:[{ele:"",eleRect:{},img:getImage("teacherTop1.png"),handStyle:{top:"0.91rem"},imgStyle:{top:"1.32rem",width:"3.63rem",height:"2.28rem",left:"-2rem"},btnsStyle:{top:"2.8rem",left:"-0.5rem",transform:"scale(.83)"}},{ele:"",img:getImage("teacherTop2.png"),handStyle:{top:"-1.39rem",left:"0.15rem",transform:"rotate(180deg)"},imgStyle:{top:"1.32rem",width:"4.20rem",height:"2.28rem",left:"-2rem"},btnsStyle:{top:"2.8rem",left:"-0.5rem",transform:"scale(.83)"}},{ele:"",img:getImage("teacherTop3.png"),handStyle:{top:"-1.39rem",left:"0.17rem",transform:"rotate(180deg)"},imgStyle:{top:"1.32rem",width:"5.15rem",height:"2.28rem",left:"-2rem"},btnsStyle:{top:"2.8rem",left:"-0.5rem",transform:"scale(.83)"}},{ele:"",img:getImage("teacherTop4.png"),handStyle:{top:"-1.39rem",left:"1.4rem",transform:"rotate(180deg)"},imgStyle:{top:"1.32rem",width:"4.39rem",height:"2.28rem",left:"-2rem"},btnsStyle:{top:"2.8rem",left:"-0.5rem",transform:"scale(.83)"}},{ele:"",img:getImage("teacherTop5.png"),handStyle:{top:"-1.39rem",left:"1.4rem",transform:"rotate(180deg)"},imgStyle:{top:"1.32rem",width:"4.58rem",height:"2.28rem",left:"-2rem"},btnsStyle:{top:"2.8rem",left:"-0.5rem",transform:"scale(.83)"}},{ele:"",img:getImage("teacherTop6.png"),handStyle:{top:"-1.39rem",left:"1.4rem",transform:"rotate(180deg)"},imgStyle:{top:"1.32rem",width:"4.01rem",height:"2.28rem",left:"-3.4rem"},btnsStyle:{top:"2.8rem",left:"-2.1rem",transform:"scale(.83)"}}],step:0}),s=ref(!1);getQuery();const o=ref({});(async()=>{var d;try{if(state$1.guideInfo)o.value=state$1.guideInfo;else{const g=await getGuidance({guideTag:"guideInfo"});g.data?o.value=JSON.parse((d=g.data)==null?void 0:d.guideValue)||null:o.value={}}o.value&&o.value.teacherTop?s.value=!1:s.value=!0}catch(g){console.log(g)}})();const l=()=>{console.log(`teacherTop${r.step}`);const d=document.getElementById(`teacherTop-${r.step}`);if(d){if(d.style.display==="none"){c();return}const g=d.getBoundingClientRect();r.box={left:g.x+"px",top:g.y+"px",width:g.width+"px",height:g.height+"px"}}};onMounted(()=>{setTimeout(()=>{l()},1200)});const c=()=>{if(r.step>=5){u();return}r.step=r.step+1,l()},u=async()=>{o.value?o.value.teacherTop=!0:o.value={teacherTop:!0};try{const d=await setGuidance({guideTag:"guideInfo",guideValue:JSON.stringify(o.value)})}catch(d){console.log(d)}state$1.guideInfo=o.value,s.value=!1};return()=>createVNode(Popup,{teleport:"body",overlay:!1,closeOnClickOverlay:!1,class:["popup-custom",styles$n.guidePopup],show:s.value,"onUpdate:show":d=>s.value=d},{default:()=>[createVNode("div",{class:styles$n.content,onClick:()=>c()},[createVNode("div",{class:styles$n.backBtn,onClick:d=>{d.stopPropagation(),u()}},[createTextVNode("跳过")]),createVNode("div",{class:styles$n.box,style:r.box,id:`modeType-${r.step}`},[r.steps.map((d,g)=>{var m,y;return createVNode("div",{onClick:b=>b.stopPropagation(),class:styles$n.item,style:{display:g===r.step?"":"none",left:`${(m=d.eleRect)==null?void 0:m.left}px`,top:`${(y=d.eleRect)==null?void 0:y.top}px`}},[createVNode("img",{class:styles$n.img,style:d.imgStyle,src:d.img},null),createVNode("div",{class:styles$n.btns,style:d.btnsStyle},[r.step+1==r.steps.length?createVNode(Fragment,null,[createVNode("div",{class:[styles$n.endBtn],onClick:()=>u()},[createTextVNode("完成")]),createVNode("div",{class:[styles$n.nextBtn],style:{"border-color":"#fff"},onClick:()=>{r.step=0,l()}},[createTextVNode("再看一遍")])]):createVNode(Button$1,{class:styles$n.teacherBtn,round:!0,type:"primary",onClick:()=>c()},{default:()=>[createTextVNode("下一步 ("),r.step+1,createTextVNode("/"),r.steps.length,createTextVNode(")")]})])])})])])]})}}),StudentTop=defineComponent({name:"studnetT-guide",emits:["close"],setup(i,{emit:e}){const r=reactive({box:{},show:!1,steps:[{ele:"",eleRect:{},img:getImage("studnetT1.png"),handStyle:{top:"0.67rem",left:"0.1rem"},imgStyle:{top:"1.2rem",width:"5.64rem",height:"2.77rem",left:"-2rem"},btnsStyle:{top:"4.4rem",left:"-0.7rem"}},{ele:"",img:getImage("studnetT2.png"),handStyle:{top:"0.67rem",left:"0.1rem"},imgStyle:{top:"1.2rem",width:"5.46rem",height:"2.3rem",left:"-2rem"},btnsStyle:{top:"3.9rem",left:"-0.7rem"}},{ele:"",img:getImage("studnetT3.png"),handStyle:{top:"0.67rem",left:"0.1rem"},imgStyle:{top:"1.2rem",width:"5.46rem",height:"2.30rem",left:"-2rem"},btnsStyle:{top:"3.9rem",left:"-0.7rem"}},{ele:"",img:getImage("studnetT4.png"),handStyle:{top:"0.67rem",left:"0.1rem"},imgStyle:{top:"1.2rem",width:"5.46rem",height:"2.30rem",left:"-2rem"},btnsStyle:{top:"3.9rem",left:"-0.7rem"}},{ele:"",img:getImage("studnetT5.png"),handStyle:{top:"0.67rem",left:"0.1rem"},imgStyle:{top:"1.2rem",width:"5.46rem",height:"2.6rem",left:"-3rem"},btnsStyle:{top:"4.1rem",left:"-1.3rem"}},{ele:"",img:getImage("studnetT6.png"),handStyle:{top:"0.67rem",left:"0.1rem"},imgStyle:{top:"0.92rem",width:"5.46rem",height:"2.30rem",left:"-5.5rem"},btnsStyle:{top:"3.6rem",left:"-1.8rem"}},{ele:"",eleRect:{},img:getImage("studnetT7.png"),handStyle:{top:"0.67rem",left:"0.1rem"},imgStyle:{top:"0.92rem",width:"5.46rem",height:"2.3rem",left:"-5.5rem"},btnsStyle:{top:"3.6rem",left:"-3.7rem"}},{ele:"",eleRect:{},img:getImage("studnetT8.png"),handStyle:{top:"-1.38rem",left:".26rem",transform:"rotate(180deg)"},imgStyle:{top:"-3.8rem",width:"5.46rem",height:"2.28rem",left:"-5rem"},btnsStyle:{top:"-1.2rem",left:"-4.3rem"}}],step:0,initDone:!1}),s=ref(!1);getQuery();const o=ref({});(async()=>{var d;console.log("学生引导123");try{if(state$1.guideInfo)o.value=state$1.guideInfo;else{const g=await getGuidance({guideTag:"guideInfo"});g.data?o.value=JSON.parse((d=g.data)==null?void 0:d.guideValue)||null:o.value={}}o.value&&o.value.studnetT?s.value=!1:s.value=headTopData.modeType!=="init"}catch(g){console.log(g)}})();const l=()=>{console.log(`studnetT${r.step}`);const d=document.getElementById(`studnetT-${r.step}`);if(d){if(d.style.display==="none"){c();return}const g=d.getBoundingClientRect();r.box={left:g.x+"px",top:g.y+"px",width:g.width+"px",height:g.height+"px"}}};onMounted(()=>{setTimeout(()=>{l(),r.initDone=!0},1200)});const c=()=>{if(r.step>=7){u();return}r.step=r.step+1,l()},u=async()=>{o.value?o.value.studnetT=!0:o.value={studnetT:!0};try{const d=await setGuidance({guideTag:"guideInfo",guideValue:JSON.stringify(o.value)})}catch(d){console.log(d)}state$1.guideInfo=o.value,s.value=!1};return()=>createVNode(Popup,{teleport:"body",overlay:!1,closeOnClickOverlay:!1,class:["popup-custom",styles$n.guidePopup],show:s.value,"onUpdate:show":d=>s.value=d},{default:()=>[createVNode("div",{class:styles$n.content,onClick:()=>c()},[r.step!=r.steps.length-1&&createVNode("div",{class:styles$n.backBtn,onClick:d=>{d.stopPropagation(),u()}},[createTextVNode("跳过")]),r.initDone&&createVNode("div",{class:styles$n.box,style:r.box,id:`modeType-${r.step}`},[r.steps.map((d,g)=>{var m,y;return createVNode("div",{onClick:b=>b.stopPropagation(),class:styles$n.item,style:{display:g===r.step?"":"none",left:`${(m=d.eleRect)==null?void 0:m.left}px`,top:`${(y=d.eleRect)==null?void 0:y.top}px`}},[createVNode("img",{class:styles$n.img,style:d.imgStyle,src:d.img},null),createVNode("img",{class:styles$n.iconHead,style:d.handStyle,src:getImage("indexDot.png")},null),createVNode("div",{class:styles$n.btns,style:d.btnsStyle},[r.step+1==r.steps.length?createVNode(Fragment,null,[createVNode("div",{class:[styles$n.studentNext],onClick:()=>u()},[createTextVNode("完成")]),createVNode("div",{class:[styles$n.nextBtn],style:{"border-color":"#fff"},onClick:()=>{r.step=0,l()}},[createTextVNode("再看一遍")])]):createVNode(Button$1,{class:styles$n.studentNext,round:!0,type:"primary",onClick:()=>c()},{default:()=>[createTextVNode("下一步 ("),r.step+1,createTextVNode("/"),r.steps.length,createTextVNode(")")]})])])})])])]})}}),index_module={},container$3="_container_gzmjl_1",head$1="_head_gzmjl_1",headTit="_headTit_gzmjl_8",closeImg$1="_closeImg_gzmjl_16",pickerCon="_pickerCon_gzmjl_24",pickerBox="_pickerBox_gzmjl_33",picker="_picker_gzmjl_24",button="_button_gzmjl_65",styles$m={container:container$3,head:head$1,headTit,closeImg:closeImg$1,pickerCon,pickerBox,picker,button},changeName="data:image/png;base64,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",ChoosePartName=defineComponent({name:"choosePartName",props:{partListNames:{type:Array,default:()=>[]},partIndex:{type:Number,default:0}},emits:["close"],setup(i,{emit:e}){const r=ref(!1),{partListNames:s,partIndex:o}=toRefs(i);let a=s.value.findIndex(g=>g.value===o.value);a=a>-1?a:0;const l=ref(a),c=computed(()=>s.value),u=ref([o.value]),d=ref();return onMounted(()=>{}),()=>{var g;return createVNode("div",{class:[styles$m.container,state$1.platform===IPlatform.PC&&styles$m.pcContainer]},[createVNode("div",{class:styles$m.head},[createVNode("img",{class:styles$m.headTit,src:changeName},null),createVNode("img",{class:styles$m.closeImg,src:headImg("closeImg.png"),onClick:()=>e("close")},null)]),state$1.platform===IPlatform.PC&&createVNode("div",{class:[!((g=state$1.guideInfo)!=null&&g.teacherDrag)&&styles$m.pcPartTopZIndex,styles$m.pcPartTop,"top_drag"]},null),createVNode("div",{class:styles$m.pickerCon},[createVNode("div",{class:styles$m.pickerBox},[createVNode(Picker,{ref:d,class:[styles$m.picker,state$1.platform===IPlatform.PC&&styles$m.pcPicker],defaultIndex:i.partIndex,modelValue:u.value,"onUpdate:modelValue":m=>u.value=m,showToolbar:!1,columns:c.value,visibleItemCount:Math.ceil(document.body.clientHeight/40/3),onChange:m=>{r.value||(r.value=!0),l.value=m.selectedValues[0]}},null),createVNode("div",{class:styles$m.button,onClick:()=>{r.value?e("close",l.value):e("close",o.value)}},null)])])])}}}),instruments={"Acoustic Grand Piano":"大钢琴","Bright Acoustic Piano":"明亮的钢琴","Electric Grand Piano":"电钢琴","Rhodes Piano":"柔和的电钢琴","Chorused Piano":"加合唱效果的电钢琴",Harpsichord:"羽管键琴",Clavichord:"科拉维科特琴",Celesta:"钢片琴",Glockenspiel:"钢片琴","Music box":"八音盒",Vibraphone:"颤音琴",Marimba:"马林巴",Xylophone:"木琴","Tubular Bells":"管钟",Dulcimer:"大扬琴","Hammond Organ":"击杆风琴","Percussive Organ":"打击式风琴","Rock Organ":"摇滚风琴","Church Organ":"教堂风琴","Reed Organ":"簧管风琴",Accordian:"手风琴",Harmonica:"口琴","Tango Accordian":"探戈手风琴","Acoustic Guitar":"钢弦吉他","Electric Guitar":"闷音电吉他","Overdriven Guitar":"加驱动效果的电吉他","Distortion Guitar":"加失真效果的电吉他","Guitar Harmonics":"吉他和音","Acoustic Bass":"大贝司","Electric Bass":"电贝司","Fretless Bass":"无品贝司","Slap Bass":"掌击","Synth Bass":"电子合成",Violin:"小提琴",Viola:"中提琴",Cello:"大提琴",Contrabass:"低音大提琴","Tremolo Strings":"弦乐群颤音音色","Pizzicato Strings":"弦乐群拨弦音色","Orchestral Harp":"竖琴",Timpani:"定音鼓","String Ensemble":"弦乐合奏音色","Synth Strings":"合成弦乐合奏音色","Choir Aahs":"人声合唱","Voice Oohs":"人声","Synth Voice":"合成人声","Orchestra Hit":"管弦乐敲击齐奏",Trumpet:"小号",Trombone:"长号",Tuba:"大号","Muted Trumpet":"加弱音器小号","French Horn":"法国号","Brass Section":"铜管组","Synth Brass":"合成铜管音色","Soprano Sax":"高音萨克斯管","Alto Sax":"中音萨克斯管","Tenor Sax":"次中音萨克斯管","Baritone Sax":"低音萨克斯管",Oboe:"双簧管","English Horn":"英国管",Bassoon:"巴松","Soprano Saxophone":"高音萨克斯管","Alto Saxophone":"中音萨克斯管","Tenor Saxophone":"次中音萨克斯管","Baritone Saxophone":"低音萨克斯管",Piccolo:"短笛",Flute:"长笛",Recorder:"竖笛","Soprano Recorder":"高音竖笛","Pan Flute":"排箫","Bottle Blow":"瓶木管",Whistle:"口哨声",Ocarina:"陶笛",Lead:"合成主音","Lead lead":"合成主音","Pad age":"合成音色",Pad:"合成音色",FX:"合成效果 科幻",Sitar:"西塔尔",Banjo:"班卓琴",Shamisen:"三昧线",Koto:"十三弦筝",Kalimba:"卡林巴",Bagpipe:"风笛",Fiddle:"民族提琴",Shanai:"山奈","Tinkle Bell":"叮当铃",Agogos:"阿戈戈铃","Steel Drums":"钢鼓","Taiko Drum":"太鼓","Melodic Toms":"嗵嗵鼓","Synth Drums":"合成鼓","Reverse Cymbals":"反向镲","Agogo Bells":"阿戈戈铃","Taiko Drums":"太鼓",Bongos:"邦戈鼓","Bongo Bell":"邦戈铃",Congas:"康加鼓",Guiro:"刮壶","Guitar Fret Noise":"吉他换把杂音","Breath Noise":"呼吸声",Seashore:"海浪声","Bird Tweet":"鸟鸣","Telephone Ring":"电话铃",Helicopter:"直升机",Applause:"鼓掌声",Gunshot:"枪声","Acoustic Bass Drum":"大鼓","Bass Drum":"大鼓","Side Drum":"小鼓鼓边","Acoustic Snare":"小鼓","Hand Claps":"拍手","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 Cymbals":"对镲","High Tom":"高音嗵鼓","Ride Cymbals":"叮叮镲","Chinese Cymbals":"中国镲","Ride Bell":"圆铃",Tambourine:"铃鼓","Splash Cymbal":"溅音镲",Cowbell:"牛铃","Crash Cymbal":"强音钹","Vibra-Slap":"颤音器","Ride Cymbal":"打点钹","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 Triangle":"弱音三角铁","Open Triangle":"强音三角铁","Drum Set":"架子鼓","Hulusi flute":"葫芦丝",Melodica:"口风琴",Nai:"口风琴","Snare Drum":"小军鼓","Horn in F":"圆号",Triangle:"三角铁",Vibrato:"颤音琴","Suspend Cymbals":"吊镲","Suspended Cymbals":"吊镲","Tom-Toms":"嗵嗵鼓",Bell:"铃铛",Bells:"铃铛","Alto Clarinet":"中音单簧管","Bass Clarinet":"低音单簧管",Clarinet:"单簧管",Cornet:"短号",Euphonium:"上低音号","crash cymbals":"对镲",Castanets:"响板",Shaker:"沙锤","Mark tree":"音树",Chimes:"管钟","Mark Tree":"音树","Tom-toms":"嗵嗵鼓","Hi-Hat":"踩镲","Sleigh Bells":"雪橇铃",Flexatone:"弹音器","Brake drum":"闸鼓",Gong:"锣","concert tom":"音乐会嗵嗵鼓","brake drum":"车轮鼓","finger cymbal":"指钹","ride cymbal":"叮叮镲","Concert Toms":"音乐会嗵嗵鼓",Vibraslap:"弹音器","Wood Blocks":"木鱼","Temple Blocks":"木鱼","Wood Block":"木鱼","Field Drum":"军鼓","Quad-Toms":"筒鼓",Quads:"筒鼓","Drums set":"架子鼓","High Bongo":"邦戈",Timbales:"天巴鼓",Cymbal:"镲",Cymbals:"镲"},getInstrumentName=(i="")=>{if(i=i.toLocaleLowerCase().replace(/ /g,""),!i)return"";for(let e in instruments)if(e.toLocaleLowerCase().replace(/ /g,"").includes(i))return instruments[e];for(let e in instruments){const r=e.toLocaleLowerCase().replace(/ /g,"");if(i.includes(r))return instruments[e]}return""},sortMusical=(i,e)=>{let r=0;switch(i){case"长笛":r=1;break;case"单簧管":r=2;break;case"中音单簧管":r=3;break;case"低音单簧管":r=4;break;case"高音萨克斯风":r=5;break;case"中音萨克斯风":r=6;break;case"次中音萨克斯风":r=7;break;case"低音萨克斯风":r=8;break;case"小号":r=9;break;case"长号":r=10;break;case"圆号":r=11;break;case"大号":r=12;break;case"上低音号":r=13;break;default:r=e+14;break}return r};function useDrag$1(i,e,r,s){const o=ref({top:-1,left:-1}),a=s+e;watch(r,()=>{r.value?(c(),window.addEventListener("resize",u),nextTick(()=>{const d=document.querySelector(`.${e}`);d&&i.map(g=>{const m=document.querySelector(`.${g}`);m&&(m.style.cursor="move",drag$1(m,d,o))})})):(window.removeEventListener("resize",u),setCachePos$1(a,o.value))});const l=computed(()=>o.value.left===-1&&o.value.top===-1?{}:{position:"fixed",left:`${o.value.left}px`,top:`${o.value.top}px`,transform:"initial",transformOrigin:"initial",margin:"initial",transition:"initial"});function c(){const d=getCachePos$1(a);d&&(o.value=d,nextTick(()=>{u()}))}function u(){if(o.value.left===-1&&o.value.top===-1)return;const d=document.querySelector(`.${e}`);if(!d)return;const g=d.getBoundingClientRect(),m=document.documentElement.clientWidth,y=document.documentElement.clientHeight,{top:b,left:A}=o.value,S=m-g.width,E=y-g.height;let x=A,P=b;const C=0,T=0;x=xS?S:x,P=PE?E:P,o.value={top:P,left:x}}return{pos:o,styleDrag:l}}function drag$1(i,e,r){function s(o){const a=e.getBoundingClientRect(),l=o.clientX,c=o.clientY,u=document.documentElement.clientWidth,d=document.documentElement.clientHeight,g=u-a.width,m=d-a.height,y=0,b=0;function A(E){let x=a.left+(E.clientX-l),P=a.top+(E.clientY-c);x=xg?g:x,P=Pm?m:P,r.value={top:P,left:x}}function S(){document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",S)}document.addEventListener("mousemove",A),document.addEventListener("mouseup",S)}i.addEventListener("mousedown",s)}const localStorageName$1="dragCachePos";function getCachePos$1(i){const e=localStorage.getItem(localStorageName$1);if(e)try{return JSON.parse(e)[i]}catch(r){return null}return null}function setCachePos$1(i,e){const r=localStorage.getItem(localStorageName$1);let s={};if(r)try{s=JSON.parse(r)}catch(o){}s[i]=e,localStorage.setItem(localStorageName$1,JSON.stringify(s))}const dragBom$1="_dragBom_u8a8z_1",box$2="_box_u8a8z_9",right$1="_right_u8a8z_18",guide$1="_guide_u8a8z_23",guideBg$1="_guideBg_u8a8z_39",guideDone$1="_guideDone_u8a8z_47",guideTop$1="_guideTop_u8a8z_58",guideLeft$1="_guideLeft_u8a8z_66",guideRight$1="_guideRight_u8a8z_75",styles$l={dragBom:dragBom$1,box:box$2,right:right$1,guide:guide$1,guideBg:guideBg$1,guideDone:guideDone$1,guideTop:guideTop$1,guideLeft:guideLeft$1,guideRight:guideRight$1},Dragbom$1=defineComponent({name:"dragBom",emits:["guideDone"],props:{showGuide:{type:Boolean,default:!1}},setup(i,{emit:e}){const r=reactive({guidePos:"bottom"}),s=()=>{var g,m,y;const o=document.documentElement.clientHeight||document.body.clientHeight;document.documentElement.clientWidth||document.body.clientWidth;const a=((g=document.querySelector(".bom_guide"))==null?void 0:g.clientHeight)||0,l=((m=document.querySelector(".bom_guide"))==null?void 0:m.clientWidth)||0,c=(y=document.querySelector(".bom_drag"))==null?void 0:y.getBoundingClientRect(),u=(c==null?void 0:c.top)||0,d=(c==null?void 0:c.left)||0;o-u>a?r.guidePos="bottom":r.guidePos=d>l?"left":"right"};return onMounted(()=>{nextTick(()=>{setTimeout(()=>{s()},0)})}),()=>createVNode(Fragment,null,[createVNode("div",{class:[styles$l.dragBom,"bom_drag"]},[createVNode("div",{class:styles$l.box},null),createVNode("div",{class:[styles$l.box,styles$l.right]},null)]),i.showGuide&&createVNode("div",{class:[styles$l.guide,r.guidePos==="left"&&styles$l.guideLeft,r.guidePos==="right"&&styles$l.guideRight,"bom_guide"],onClick:()=>e("guideDone")},[createVNode("div",{class:styles$l.guideBg},null),createVNode("div",{class:styles$l.guideDone},null)])])}}),toggleMusicSheet=reactive({show:!1,toggle:(i=!0)=>{toggleMusicSheet.show=i}}),ToggleMusicSheet=defineComponent({name:"ToggleMusicSheet",setup(){var u,d;const i=getQuery(),e=computed(()=>{let g=state$1.partListNames||[];return g=g.filter(y=>{var b;return!((b=y==null?void 0:y.toLocaleUpperCase())!=null&&b.includes("COMMON"))}),g.map((y,b)=>{const A=!!(state$1.canSelectTracks.length==0||state$1.canSelectTracks.includes(y)),S=getInstrumentName(y),E=sortMusical(S,b);return{text:y+(S?`(${S})`:""),value:b,sortId:E,canselect:A}}).filter(y=>y.canselect).sort((y,b)=>y.sortId-b.sortId)}),r=computed(()=>{var g;if(e&&e.value.length){const m=((g=e.value.find(y=>y.value==state$1.partIndex))==null?void 0:g.value)||0;return console.log(3333,m),m}else return 0}),s=g=>{if(state$1.partIndex===g)return;togglePlay("paused"),postMessage({api:"cloudDestroy"}),postMessage({api:"cloudLoading",content:{show:!0,type:"fullscreen"}});const m=location.origin+location.pathname+"?"+queryString.stringify({...i,behaviorId:sessionStorage.getItem("behaviorId")||"",_t:new Date().valueOf(),"part-index":g});console.log(m),location.href=m},o="switchBoxClass_drag",a=(u=storeData.user)!=null&&u.id?String((d=storeData.user)==null?void 0:d.id):"",l=state$1.platform!==IPlatform.PC?{styleDrag:{value:null}}:useDrag$1([`${o} .top_drag`,`${o} .bom_drag`],o,toRef(toggleMusicSheet,"show"),a),c=async()=>{state$1.guideInfo.teacherDrag=!0;try{const g=await setGuidance({guideTag:"guideInfo",guideValue:JSON.stringify(state$1.guideInfo)})}catch(g){console.log(g)}};return()=>createVNode(Popup,{show:toggleMusicSheet.show,"onUpdate:show":g=>toggleMusicSheet.show=g,class:"popup-custom van-scale center-closeBtn switchBoxClass_drag",transition:"van-scale",teleport:"body",style:l.styleDrag.value,"overlay-style":{background:"rgba(0, 0, 0, 0.3)"}},{default:()=>{var g;return[createVNode(ChoosePartName,{partIndex:r.value||0,partListNames:e.value,onClose:m=>{console.log("🚀 ~ value:",m),toggleMusicSheet.show=!1,m!==void 0&&s(m)}},null),state$1.platform===IPlatform.PC&&createVNode(Dragbom$1,{showGuide:!((g=state$1.guideInfo)!=null&&g.teacherDrag),onGuideDone:c},null)]}})}}),icon_btn="data:image/png;base64,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",icon_btn_cancel="data:image/png;base64,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",container$2="_container_jp744_1",close$1="_close_jp744_11",title$6="_title_jp744_18",content$3="_content_jp744_23",btns$3="_btns_jp744_32",btn$4="_btn_jp744_32",btnCancel="_btnCancel_jp744_46",styles$k={container:container$2,close:close$1,title:title$6,content:content$3,btns:btns$3,btn:btn$4,btnCancel},TheVip=defineComponent({name:"TheVip",setup(){const i={dev:"https://dev.kt.colexiu.com",test:"https://test.lexiaoya.cn",online:"https://kt.colexiu.com"};let e=location.origin.includes("//dev")?"dev":location.origin.includes("//test")?"test":location.origin.includes("//online")||location.origin.includes("//kt")||location.origin.includes("//mec")?"online":"dev";const r=()=>{getQuery().modelType?api_goback():api_back()};return()=>createVNode(Popup,{teleport:"body",closeOnClickOverlay:!1,class:["popup-custom"],show:!0},{default:()=>[createVNode("div",{class:styles$k.container},[createVNode("div",{class:styles$k.content},[createTextVNode("立即开通"),createVNode("span",{style:{color:"#FF5A56"}},[createTextVNode('"乐器AI学练工具"')]),createTextVNode("服务,解锁更多专属权益,享受全新学习体验!")]),createVNode("div",{class:styles$k.btns},[createVNode("img",{class:[styles$k.btn,styles$k.btnCancel],src:icon_btn_cancel,onClick:r},null),createVNode("img",{class:styles$k.btn,src:icon_btn,onClick:()=>{postMessage$1({api:"openWebView",content:{url:`${location.origin.includes("192")?"https://test.lexiaoya.cn":i[e]}/classroom-app/#/member-center`,orientation:1}})}},null)])])]})}}),ModeView=defineComponent({name:"modeView",setup(){const i=getQuery(),e=reactive({showPC:!1,showStudent:!1,showVip:!1}),r=()=>{storeData.platformType!=="STUDENT"||storeData.user.clientType!=="STUDENT"?e.showPC=!0:storeData.user.vipMember||state$1.paymentType==="FREE"||i.showCourseMember==="true"?e.showStudent=!0:e.showVip=!0},s=async()=>{const a=await studentQueryUserInfo(),l=(a==null?void 0:a.data)||{};storeData.user.vipMember=l.vipMember,storeData.user.vipMember&&(e.showVip=!1,r())},o=usePageVisibility();return watch(()=>o.value,a=>{if(a==="visible"){if(storeData.user.vipMember)return;console.log("页面显示"),s()}}),onMounted(()=>{r()}),()=>createVNode("div",{class:[styles$r.modeView,headTopData.modeType!=="init"&&styles$r.hidden]},[createVNode("img",{src:backImg,class:styles$r.back,onClick:()=>{headTopData.modeType="show"}},null),createVNode("img",{src:nameImg,class:styles$r.name},null),createVNode("div",{class:[styles$r.modeBox,(!state$1.isPercussion&&!state$1.enableEvaluation||state$1.isPercussion&&state$1.enableEvaluation||state$1.isPercussion&&!state$1.enableEvaluation)&&styles$r.twoModeBox]},[createVNode("img",{src:lxImg,class:styles$r.modeImg,onClick:()=>headTopData.handleChangeModeType("practise")},null),!state$1.isPercussion&&createVNode("img",{src:glImg,class:styles$r.modeImg,onClick:()=>headTopData.handleChangeModeType("follow")},null),state$1.enableEvaluation&&createVNode("img",{src:pcImg,class:styles$r.modeImg,onClick:()=>headTopData.handleChangeModeType("evaluating")},null)]),e.showVip&&createVNode(TheVip,null,null)])}}),popup="_popup_1mmv3_1",tabs="_tabs_1mmv3_4",wrap="_wrap_1mmv3_60",searchBox="_searchBox_1mmv3_64",isFocus="_isFocus_1mmv3_73",searchBtn="_searchBtn_1mmv3_99",item$1="_item_1mmv3_120",itemActive="_itemActive_1mmv3_128",content$2="_content_1mmv3_133",name$1="_name_1mmv3_133",titleImg="_titleImg_1mmv3_136",iconType="_iconType_1mmv3_145",VIP="_VIP_1mmv3_154",detail$3="_detail_1mmv3_163",usedNum="_usedNum_1mmv3_168",author$1="_author_1mmv3_187",noData="_noData_1mmv3_193",styles$j={popup,tabs,wrap,searchBox,isFocus,searchBtn,item:item$1,itemActive,content:content$2,name:name$1,titleImg,iconType,VIP,detail:detail$3,usedNum,author:author$1,noData},searImg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAdVBMVEUAAAApov8pov8kpP8pov4oov8po/8po/8pov4qov8oov8po/8pov4pov8po/8qo/4oov4qo/8po/8pov8ppP8npP8qpf8iof8uov8oov4pov8pov4pov4qov8qov8ppP8oof8ppf8noP8oo/8np/8rnP8pov/KqiHjAAAAJnRSTlMA+u4c3NBJrogyxWj12aOZko2CdlsjGA8L5N7UtLKZcF8+OzoaEmDU9ZIAAAEBSURBVCjPdZDZtsIgDEUD1Q5QO1d7na8D//+JHii0CMv9ElY2SQjk+G8FZ+XxcntRSLpVDnbdf6kpUz7l4LlkLttWeZNxc8zXOu1YPfoDeid1z7+CFjp9N7VXtUvIQyKzm49ow1DnU8NKsx8ONX3zxrNOBFrIkQJymxTYgUKekHdEdKgiOUF2iEyvHIGSBqHUIQIlLcJRqSxye/tJF6V4JAfIFPFmYsAZH3NAfLF4l4dys6722SuHHVLFPLzEUfpOIFEt00H9XnqiDoXrTwKePye0Gc7KsEmc7dmc4SaGNkWrlarYeBbIkzUsw7gksDTeu6btU727tYJiFsvppxVcfgBP6SNcJ6sEZwAAAABJRU5ErkJggg==",huoimg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAWCAMAAAD+dOxOAAAAxlBMVEUAAAD/cWr/hV7/c2f/j1n/gmH/eV7/eGP/f1//dmT/cGf/emL/d2T/cGf/fWL/kFj/gF//cWj/h1z/fmH/gV3/dmT/jF3/jFr/iF3/e2L/bGj/iFv/gmD/hV3/dmT/jFr/e2P/iFz/c2b/hl3/eGX/fWH/kFn/bWf/cWb/lFf/cGf/bGj/b2f/jVn/dGb/gGH/iVz/f2D/l1n/aWn/hV7/e2H/hF3/fmD/iFv/eGP/gV//dmT/b2f/dGT/cmb/kFf/i1r/jVkmmW9mAAAANXRSTlMACZ1CLRsT+vr01M/FppmLg3NhOScOBfz48O3t7OTi3dzcysK5sbGvqKKPhIN5bmxsSkI/F17JNJMAAACvSURBVBjTZc5VEgJBDATQXsXd3d1lBRgYuP+lyGQpdineT3dS+QjYcWHihyVlDlGmlHKKiM2LRG96T1Irf+e9z3TYJpRS3Wcta1AEqXTcj5FLi6qdd0M6cNDb11D8jGzci9oh5XkOoc45QcNh6XyQfcQuzECWM4buTRkD1ZQqCczvJFFW/6mWhvEgBShDalsgI4SwoSyFSGqANhMCbC2SFpdC0+DMrDQEKicOHv+8AZLzJUTMW2tcAAAAAElFTkSuQmCC",List=defineComponent({name:"TheMusicList-list",props:{recentFlag:{type:Boolean,default:!1}},setup(i){const e=reactive({name:"",page:1,rows:20,musicSheetCategoriesId:state$1.bizMusicCategoryId,recentFlag:i.recentFlag?!0:null,excludeMusicId:i.recentFlag?null:state$1.examSongId}),r=reactive({isFocus:!1,list:[],finished:!1,loading:!1,hasNext:!0}),s=async()=>{var l,c,u,d;if(r.hasNext){r.loading=!0;try{const g=await api_musicSheetPage({...e});(g==null?void 0:g.code)===200&&Array.isArray((l=g.data)==null?void 0:l.rows)&&(r.list=[...r.list,...g.data.rows]),r.finished=((u=(c=g.data)==null?void 0:c.rows)==null?void 0:u.length)r.list.length}catch(g){console.log(g)}r.loading=!1}};function o(){e.page=1,e.rows=20,r.list=[],r.finished=!1,r.loading=!1,r.hasNext=!0,s()}watch(()=>i.recentFlag,()=>{r.hasNext=!0}),onMounted(()=>{s()});const a=l=>{l.id!==state$1.examSongId&&(togglePlay("paused"),postMessage$1({api:"cloudLoading",content:{show:!0,type:"fullscreen"}}),location.href=location.origin+location.pathname+"?"+queryString.stringify({id:l.id,_t:Date.now()}))};return()=>createVNode("div",{class:styles$j.wrap},[createVNode("div",{class:[styles$j.searchBox,r.isFocus&&styles$j.isFocus]},[createVNode("img",{src:searImg},null),createVNode(Field,{placeholder:"请输入曲目名称",modelValue:e.name,"onUpdate:modelValue":l=>e.name=l,autocomplete:"off",onFocus:()=>{r.isFocus=!0},onBlur:()=>{r.isFocus=!1}},null),createVNode("div",{class:styles$j.searchBtn,onClick:o},[createTextVNode("搜索")])]),createVNode(List$1,{loading:r.loading,finished:r.finished,immediateCheck:!1,onLoad:()=>{e.page++,s()}},{default:()=>[r.list.map(l=>createVNode("div",{class:[styles$j.item,state$1.examSongId==l.id&&styles$j.itemActive],onClick:()=>a(l)},[createVNode("div",{class:styles$j.titleImg},[createVNode("i",{class:[styles$j.iconType,styles$j[l.paymentType]]},null),createVNode(Image$1,{src:l.titleImg,class:styles$j.img},null)]),createVNode("div",{class:styles$j.content},[createVNode("p",{class:styles$j.name},[l.musicSheetName]),createVNode("div",{class:styles$j.detail},[l.usedNum&&createVNode("div",{class:styles$j.usedNum},[createVNode("img",{src:huoimg},null),createVNode("div",null,[l.usedNum])]),l.composer&&createVNode("p",{class:styles$j.author},[l.composer])])])])),!r.loading&&r.list.length===0&&createVNode("div",{class:styles$j.noData},[createTextVNode("暂无数据")])]})])}}),query$1=getQuery(),isMusicList=computed(()=>!(state$1.playState=="play"||followData.start||evaluatingData.startBegin||query$1.workRecord||query$1.modelType||state$1.platform===IPlatform.PC||query$1.isCbs)),musicListShow=ref(!1),TheMusicList=defineComponent({name:"TheMusicList",setup(){return()=>createVNode(Fragment,null,[createVNode(Popup,{class:styles$j.popup,position:"left",show:musicListShow.value,"onUpdate:show":i=>musicListShow.value=i,round:!0,"overlay-style":{background:"rgba(0, 0, 0, 0.3)"}},{default:()=>[createVNode("div",{class:styles$j.tabs},[createVNode(Tabs,null,{default:()=>[createVNode(Tab,{title:"其他曲谱"},{default:()=>[createVNode(List,null,null)]}),createVNode(Tab,{title:"最近练习"},{default:()=>[createVNode(List,{recentFlag:!0},null)]})]})])]})])}}),headTopData=reactive({modeType:"",showBack:!0,settingMode:!1,handleChangeModeType(i){if(!(i==="evaluating"&&!state$1.enableEvaluation)&&!(i==="follow"&&state$1.isPercussion)){if(i==="follow"&&metronomeData.cursorMode===2&&(metronomeData.cursorMode=1),i==="evaluating"){if(!evaluatingData.jsonLoadDone){evaluatingData.jsonLoading=!0,state$1.audioDone&&showToast("资源加载中,请稍后");return}if(state$1.platform===IPlatform.PC){showConfirmDialog({className:"modalTip",title:"温馨提示",message:"该功能暂未开放,敬请期待!",showCancelButton:!1});return}state$1.isSingleLine||(state$1.isSingleLine=!0,refreshMusicSvg()),state$1.playIngSpeed=state$1.originSpeed,handleStartEvaluat()}else i==="follow"&&(state$1.isSingleLine||(state$1.isSingleLine=!0,refreshMusicSvg()),smoothAnimationState.isShow.value=!1,toggleFollow());headTopData.modeType="show"}}}),headData=reactive({speedShow:!1,musicTypeShow:!1});let resetBtn$2;function handlerModeChange(i,e,r){const s=modeChangeHandleTimes(i,e);if(s){try{metronomeData.metro.calculation(state$1.times)}catch(o){}console.log("重新之后的times",state$1.times,state$1.fixtime)}(s||r)&&(handleRessetState(),resetBtn$2&&(resetBtn$2.value.display=!1))}function modeChangeHandleTimes(i,e){const r=state$1.playType,s=state$1.playSource,{notBeatFixtime:o,xmlMp3BeatFixTime:a,difftime:l}=state$1.times[0],{isOpenMetronome:c,isSingOpenMetronome:u}=state$1;if(i==="play"&&r==="sing"){if(s==="mingSong")return state$1.fixtime=l,state$1.times.map(d=>{d.time=d.xmlNoteTime+l,d.endtime=d.xmlNoteEndTime+l,d.fixtime=l}),!0;if(c&&!u)return state$1.fixtime=o,state$1.times.map(d=>{d.time=d.notBeatTime,d.endtime=d.notBeatEndTime,d.fixtime=o}),!0;if(!c&&u)return state$1.fixtime=o+a,state$1.times.map(d=>{d.time=d.notBeatTime+a,d.endtime=d.notBeatEndTime+a,d.fixtime=o+a}),!0}else if(i==="sing"&&r==="play"){if(e==="mingSong")return c?(state$1.fixtime=o+a,state$1.times.map(d=>{d.time=d.notBeatTime+a,d.endtime=d.notBeatEndTime+a,d.fixtime=o+a}),!0):(state$1.fixtime=o,state$1.times.map(d=>{d.time=d.notBeatTime,d.endtime=d.notBeatEndTime,d.fixtime=o}),!0);if(c&&!u)return state$1.fixtime=o+a,state$1.times.map(d=>{d.time=d.notBeatTime+a,d.endtime=d.notBeatEndTime+a,d.fixtime=o+a}),!0;if(!c&&u)return state$1.fixtime=o,state$1.times.map(d=>{d.time=d.notBeatTime,d.endtime=d.notBeatEndTime,d.fixtime=o}),!0}else if(i==="sing"&&r==="sing"){if(s==="mingSong")return state$1.fixtime=l,state$1.times.map(d=>{d.time=d.xmlNoteTime+l,d.endtime=d.xmlNoteEndTime+l,d.fixtime=l}),!0;if(e==="mingSong")return u?(state$1.fixtime=o+a,state$1.times.map(d=>{d.time=d.notBeatTime+a,d.endtime=d.notBeatEndTime+a,d.fixtime=o+a}),!0):(state$1.fixtime=o,state$1.times.map(d=>{d.time=d.notBeatTime,d.endtime=d.notBeatEndTime,d.fixtime=o}),!0)}return!1}const HeaderTop=defineComponent({name:"header-top",emits:["close"],setup(i,{emit:e}){var V,D;const r=getQuery(),s=ref(!1),o=ref(!1),a=computed(()=>state$1.playState==="play"?{display:!0,disabled:!0}:evaluatingData.startBegin||followData.start?{display:!0,disabled:!0}:{display:!0,disabled:!1}),l=computed(()=>state$1.playState==="play"?{display:!0,disabled:!0}:evaluatingData.startBegin||followData.start?{display:!0,disabled:!0}:{disabled:!1,display:!0}),c=computed(()=>headTopData.modeType!=="show"||state$1.modeType==="follow"?{display:!1,disabled:!0}:state$1.modeType==="evaluating"||state$1.playState==="play"?{display:!0,disabled:!0}:{disabled:!1,display:!0}),u=computed(()=>headTopData.modeType!=="show"?{display:!1,disabled:!0}:state$1.playState==="play"?{display:!0,disabled:!0}:{disabled:!1,display:!0}),d=computed(()=>state$1.isShowFingering?headTopData.modeType!=="show"||!state$1.fingeringInfo.name||["evaluating","follow"].includes(state$1.modeType)?{display:!1,disabled:!0}:state$1.playState==="play"?{display:!0,disabled:!0}:{disabled:!1,display:!0}:{display:!0,disabled:!0});computed(()=>headTopData.modeType!=="show"||state$1.modeType!=="evaluating"?{display:!1,disabled:!0}:state$1.playState==="play"?{display:!0,disabled:!0}:{disabled:!1,display:!0});const g=computed(()=>headTopData.modeType!=="show"||["evaluating","follow"].includes(state$1.modeType)?{display:!1,disabled:!0}:state$1.playState==="play"?{display:!0,disabled:!0}:{disabled:!1,display:!0}),m=computed(()=>{if(headTopData.modeType!=="show"||state$1.modeType==="follow")return{display:!1,disabled:!1};if(state$1.modeType==="evaluating")return{display:!1,disabled:!0};if(!state$1.isAppPlay)if(state$1.playType==="play"){if(state$1.music&&state$1.accompany)return{display:!0,disabled:!1}}else{if(state$1.playState==="play")return{display:!0,disabled:!0};let F=0;if(state$1.fanSong&&F++,state$1.banSong&&F++,state$1.mingSong&&F++,F>1)return{display:!0,disabled:!1}}return{disabled:!0,display:!0}}),y=computed(()=>{if(headTopData.modeType!=="show"||state$1.modeType==="follow")return{display:!1,disabled:!1};if(state$1.modeType==="evaluating")return{display:!1,disabled:!0};if(state$1.playState==="play")return{display:!0,disabled:!0};if(!state$1.isAppPlay){let F=0;state$1.music&&F++,state$1.accompany&&F++;let N=0;if(state$1.fanSong&&N++,state$1.banSong&&N++,state$1.mingSong&&N++,N>0&&F>0)return{display:!0,disabled:!1}}return{disabled:!0,display:!0}}),b=computed(()=>headTopData.modeType!=="show"||!headTopData.showBack?{display:!1,disabled:!1}:followData.start||evaluatingData.startBegin?{display:!0,disabled:!0}:{display:!0,disabled:!1}),A=computed(()=>headTopData.modeType!=="show"?{display:!1,disabled:!1}:["evaluating","follow"].includes(state$1.modeType)?{display:!1,disabled:!0}:state$1.isAppPlay&&state$1.midiPlayIniting?{display:!0,disabled:!0}:{display:!0,disabled:!1});resetBtn$2=computed(()=>{if(headTopData.modeType!=="show")return{display:!1,disabled:!1};if(["evaluating","follow"].includes(state$1.modeType))return{display:!1,disabled:!0};if(state$1.playState==="play")return{display:!1,disabled:!0};const F=getAudioCurrentTime();return state$1.isAppPlay&&state$1.midiPlayIniting?{display:!1,disabled:!0}:F?{display:!0,disabled:!1}:{display:!1,disabled:!0}});const S=computed(()=>l.value.display&&c.value.display&&g.value.display&&m.value.display&&b.value.display&&s.value),E=computed(()=>l.value.display&&c.value.display&&g.value.display&&m.value.display&&b.value.display&&o.value),x=computed(()=>!!(storeData.user.vipMember||state$1.paymentType==="FREE"||r.showCourseMember==="true")),P=browser(),C=()=>{if(HANDLE_WORK_ADD(),!storeData.isApp){window.close();return}if((P.iPhone||P.ios)&&r.workRecord){setTimeout(()=>{api_back()},550);return}api_back()},T=()=>{r.workRecord||(state$1.defaultModeType==1?(headTopData.handleChangeModeType("practise"),(state$1.platform===IPlatform.PC||state$1.isPreView)&&(headTopData.showBack=!1)):r.modelType?(r.modelType==="practise"?headTopData.handleChangeModeType("practise"):r.modelType==="evaluating"&&headTopData.handleChangeModeType("evaluating"),headTopData.showBack=!1):setTimeout(()=>{headTopData.modeType="init"},500))},k=F=>{var N,K;((N=F==null?void 0:F.data)==null?void 0:N.api)==="setPlayState"&&togglePlay("paused","courseware"),((K=F==null?void 0:F.data)==null?void 0:K.api)==="imagePos"&&F!=null&&F.data.data&&(state$1.playBtnDirection=F.data.data==="right"?"right":"left",state$1.musicScoreBtnDirection=state$1.playBtnDirection)},I="settingBoxClass_drag",M=(V=storeData.user)!=null&&V.id?String((D=storeData.user)==null?void 0:D.id):"",R=state$1.platform!==IPlatform.PC?{styleDrag:{value:null}}:useDrag$1([`${I} .top_drag`,`${I} .bom_drag`],I,toRef(headTopData,"settingMode"),M);onMounted(()=>{T(),window.addEventListener("message",k),state$1.platform===IPlatform.PC?s.value=!0:o.value=!0}),onUnmounted(()=>{window.removeEventListener("message",k)}),watch(state$1.setting,()=>{console.log(state$1.setting,"state.setting"),store_legacy.set("musicscoresetting",state$1.setting)}),(async()=>{var N;let F=null;try{const K=await getGuidance({guideTag:"guideInfo"});K.data?F=JSON.parse((N=K.data)==null?void 0:N.guideValue)||null:F={},state$1.guideInfo=F}catch(K){console.log(K)}})();const _=async()=>{state$1.guideInfo.teacherDrag=!0;try{const F=await setGuidance({guideTag:"guideInfo",guideValue:JSON.stringify(state$1.guideInfo)})}catch(F){console.log(F)}};return()=>createVNode(Fragment,null,[createVNode("div",{class:[styles$r.headerTop],onClick:F=>{F.stopPropagation(),state$1.platform===IPlatform.PC&&window.parent.postMessage({api:"onAttendToggleMenu"},"*")}},[createVNode("div",{class:styles$r.headTopLeftBox},[createVNode("img",{src:iconBack,class:["headTopBackBtn",styles$r.img,!headTopData.showBack&&styles$r.hidenBack],onClick:C},null),state$1.modeType==="practise"&&smoothAnimationState.isShow.value?createVNode("div",{class:styles$r.title,onClick:()=>{isMusicList.value&&(musicListShow.value=!0)}},[createVNode(NoticeBar,{text:state$1.examSongName,background:"none"},null)]):createVNode("img",{src:listImg,class:[styles$r.img],onClick:()=>{isMusicList.value&&(musicListShow.value=!0)}},null)]),state$1.playType==="play"&&createVNode("div",{id:state$1.platform===IPlatform.PC?"teacherTop-0":"studnetT-0",style:{display:b.value.display?"":"none"},class:[styles$r.modeChangeBox,b.value.disabled&&styles$r.disabled],onClick:()=>{handleRessetState(),headTopData.modeType="init"}},[createVNode("img",{class:styles$r.img,src:iconMode},null),createVNode("div",{class:styles$r.title},[state$1.modeType==="practise"?"练习模式":state$1.modeType==="follow"?"跟练模式":state$1.modeType==="evaluating"?"评测模式":""])]),createVNode("div",{class:[styles$r.headRight],onClick:F=>{F.stopPropagation()}},[createVNode("div",{style:{display:y.value.display?"":"none"},class:[styles$r.btn,y.value.disabled&&styles$r.disabled],onClick:()=>{const F=state$1.playType,N=state$1.playSource;state$1.playType==="play"?(state$1.playType="sing",state$1.playSource=state$1.fanSong?"music":state$1.banSong?"background":"mingSong"):(state$1.playType="play",state$1.playSource=state$1.music?"music":"background"),handlerModeChange(F,N,!0)}},[createVNode("img",{style:{display:state$1.playType==="play"?"":"none"},class:styles$r.iconBtn,src:headImg("perform.png")},null),createVNode("img",{style:{display:state$1.playType==="play"?"none":""},class:styles$r.iconBtn,src:headImg("sing.png")},null),createVNode("span",null,[state$1.playType==="play"?"演奏":"演唱"])]),createVNode("div",{id:state$1.platform===IPlatform.PC?"teacherTop-1":"studnetT-1",style:{display:m.value.display?"":"none"},class:[styles$r.btn,m.value.disabled&&styles$r.disabled],onClick:()=>{const F=state$1.playType,N=state$1.playSource;state$1.playType==="play"?state$1.playSource=state$1.playSource==="music"?"background":"music":state$1.playSource==="music"?state$1.playSource=state$1.banSong?"background":"mingSong":state$1.playSource==="background"?state$1.playSource=state$1.mingSong?"mingSong":"music":state$1.playSource=state$1.fanSong?"music":"background",handlerModeChange(F,N)}},[createVNode("img",{style:{display:state$1.playSource==="music"?"":"none"},class:styles$r.iconBtn,src:state$1.playType==="play"?headImg("music.png"):headImg("music1.png")},null),createVNode("img",{style:{display:state$1.playSource==="background"?"":"none"},class:styles$r.iconBtn,src:state$1.playType==="play"?headImg("background.png"):headImg("background1.png")},null),createVNode("img",{style:{display:state$1.playSource==="mingSong"?"":"none"},class:styles$r.iconBtn,src:headImg("mingsong.png")},null),createVNode("span",null,[state$1.playSource==="music"?state$1.playType==="play"?"原声":"范唱":state$1.playSource==="background"?state$1.playType==="play"?"伴奏":"伴唱":"唱名"])]),createVNode("div",{id:state$1.platform===IPlatform.PC?"teacherTop-2":"studnetT-2",style:{display:g.value.display?"":"none"},class:[styles$r.btn,g.value.disabled&&styles$r.disabled],onClick:()=>handleChangeSection()},[createVNode("img",{style:{display:state$1.section.length===0?"":"none"},class:styles$r.iconBtn,src:headImg("section0.png")},null),createVNode("img",{style:{display:state$1.section.length===1?"":"none"},class:styles$r.iconBtn,src:headImg("section1.png")},null),createVNode("img",{style:{display:state$1.section.length===2?"":"none"},class:styles$r.iconBtn,src:headImg("section2.png")},null),createVNode("span",null,[createTextVNode("选段")])]),state$1.modeType!=="evaluating"&&createVNode(Fragment,null,[createVNode("div",{style:{display:u.value.display?"":"none"},class:[styles$r.btn,styles$r.metronomeBtn,u.value.disabled&&styles$r.disabled],onClick:async()=>{headData.speedShow=!headData.speedShow}},[createVNode("img",{style:{display:metronomeData.disable?"block":"none"},class:styles$r.iconBtn,src:headImg("tickon.png")},null),createVNode("img",{style:{display:metronomeData.disable?"none":"block"},class:styles$r.iconBtn,src:headImg("tickoff.png")},null),createVNode("span",{style:{whiteSpace:"nowrap"}},[createTextVNode("节拍")]),createVNode("div",{class:styles$r.speedCon},[createVNode("img",{src:headImg("speed.png")},null),createVNode("div",null,[state$1.speed])])]),createVNode(Popup,{show:headData.speedShow,"onUpdate:show":F=>headData.speedShow=F,class:"popup-custom van-scale center-closeBtn settingBoxClass_drag",transition:"van-scale",teleport:"body",style:R.styleDrag.value,"overlay-style":{background:"rgba(0, 0, 0, 0.3)"}},{default:()=>{var F;return[createVNode(Speed,null,null),state$1.platform===IPlatform.PC&&createVNode(Dragbom$1,{showGuide:!((F=state$1.guideInfo)!=null&&F.teacherDrag),onGuideDone:_},null)]}})]),state$1.musicRendered&&!r.lessonTrainingId&&!r.questionId&&state$1.isConcert&&createVNode("div",{class:[styles$r.btn,state$1.playState==="play"&&d.value.disabled&&styles$r.disabled],onClick:()=>{toggleMusicSheet.toggle(!0)}},[createVNode("img",{class:styles$r.iconBtn,src:headImg("shenggui.png")},null),createVNode("span",null,[createTextVNode("声轨")])]),createVNode("div",{id:state$1.platform===IPlatform.PC?"teacherTop-6":"studnetT-6",style:{display:a.value.display?"":"none"},class:[styles$r.btn,a.value.disabled&&styles$r.disabled],onClick:()=>headTopData.settingMode=!0},[createVNode("img",{class:styles$r.iconBtn,src:headImg("icon_menu.png")},null),createVNode("span",null,[createTextVNode("设置")])])])]),createVNode("div",{id:"studnetT-7",style:{display:A.value.display?"":"none"},class:[styles$r.playBtn,A.value.disabled&&styles$r.disabled,state$1.platform===IPlatform.PC&&state$1.musicScoreBtnDirection==="left"?styles$r.playLeftButton:state$1.platform===IPlatform.PC&&state$1.musicScoreBtnDirection==="right"?styles$r.playRightButton:""],onClick:()=>togglePlay()},[createVNode("div",{class:styles$r.btnWrap},[createVNode("img",{style:{display:state$1.playState==="play"?"none":""},class:styles$r.iconBtn,src:headImg("icon_play.png")},null),createVNode("img",{style:{display:state$1.playState==="play"?"":"none"},class:styles$r.iconBtn,src:headImg("icon_pause.png")},null),createVNode(Circle,{style:{opacity:state$1.playState==="play"?1:0},class:styles$r.progress,"stroke-width":80,currentRate:state$1.playProgress,rate:100,color:"#FFED78","layer-color":"rgba(0,0,0,0)"},null)])]),createVNode("div",{id:"tips-step-9",style:{display:resetBtn$2.value.display?"":"none"},class:[styles$r.resetBtn,resetBtn$2.value.disabled&&styles$r.disabled,state$1.platform===IPlatform.PC&&state$1.musicScoreBtnDirection==="left"?styles$r.pauseLeftButton:state$1.platform===IPlatform.PC&&state$1.musicScoreBtnDirection==="right"?styles$r.pauseRightButton:""],onClick:()=>handleResetPlay()},[createVNode("img",{class:styles$r.iconBtn,src:headImg("icon_reset.png")},null)]),createVNode(Popup,{show:headTopData.settingMode,"onUpdate:show":F=>headTopData.settingMode=F,class:"popup-custom van-scale center-closeBtn settingBoxClass_drag",transition:"van-scale",teleport:"body",style:R.styleDrag.value,"overlay-style":{background:"rgba(0, 0, 0, 0.3)"}},{default:()=>{var F;return[createVNode(Settting,null,null),state$1.platform===IPlatform.PC&&createVNode(Dragbom$1,{showGuide:!((F=state$1.guideInfo)!=null&&F.teacherDrag),onGuideDone:_},null)]}}),createVNode(ModeView,null,null),S.value&&!r.isCbs&&x.value&&createVNode(TeacherTop,null,null),E.value&&!r.isCbs&&x.value&&createVNode(StudentTop,null,null)])}}),workHomeRef=ref(),data=reactive({trainingType:"",worke:{}}),HANDLE_WORK_ADD=()=>{var i;data.trainingType==="PRACTICE"&&((i=workHomeRef.value)==null||i.handleAdd())},WorkIndex=defineComponent({name:"workIndex",setup(i){const e=getQuery(),r=()=>{if(!data.trainingType)return;const o=data.trainingType==="PRACTICE"?"practise":"evaluating";headTopData.handleChangeModeType(o)},s=async()=>{const o=await api_lessonTrainingTrainingStudentDetail(e.workRecord);(o==null?void 0:o.code)===200&&(data.trainingType=o.data.trainingType,data.worke=o.data,r())};return watch(()=>evaluatingData.jsonLoadDone,()=>{data.trainingType==="EVALUATION"&&evaluatingData.jsonLoading&&evaluatingData.jsonLoadDone&&headTopData.handleChangeModeType("evaluating")}),onMounted(()=>{s()}),()=>createVNode(Fragment,null,[data.trainingType==="PRACTICE"&&createVNode(WorkHome,{ref:workHomeRef,workeData:data.worke},null),data.trainingType==="EVALUATION"&&createVNode(WorkEaluating,{workeData:data.worke},null)])}}),countdown="_countdown_j2yeo_1",step1="_step1_j2yeo_13",step2="_step2_j2yeo_16",step3="_step3_j2yeo_19",isAnimating="_isAnimating_j2yeo_22",styles$i={countdown,step1,step2,step3,isAnimating},soundWav=""+new URL("../mp3/timer-f5d3d904.mp3",import.meta.url).href;let soundVIdeo;const countdownData=reactive({isShow:!1,step:3,isAnimating:!1});let _countdownTIme;function startCountdown(){Object.assign(countdownData,{isShow:!0,step:3,isAnimating:!1});let i;return _countdownTIme=setInterval(()=>{if(countdownData.step<=0)clearInterval(_countdownTIme),countdownData.isShow=!1,i(!0);else{countdownData.isAnimating=!0;const e=setTimeout(()=>{clearTimeout(e),countdownData.isAnimating=!1,countdownData.step--},300)}},1e3),new Promise(e=>{i=e})}const Countdown=defineComponent({name:"countdown",setup(){return soundVIdeo||(soundVIdeo=new Audio(soundWav),soundVIdeo.load()),onMounted(()=>{soundVIdeo==null||soundVIdeo.pause()}),()=>createVNode(Fragment,null,[countdownData.isShow&&createVNode("div",{class:[styles$i.countdown,countdownData.isAnimating&&styles$i.isAnimating,styles$i[`step${countdownData.step}`]]},null)])}}),browserInfo$2=browser();let socketStartTime=0;const popImgs={icon_bg,icon_close,icon_btn:icon_btn$1,icon_success},evaluatingData=reactive({contentData:{},rendered:!1,earphone:!1,soundEffect:!1,soundEffectFrequency:0,checkStep:0,checkEnd:!1,earphoneMode:!1,earPhoneType:"",soundEffectMode:!1,websocketState:!1,startBegin:!1,backtime:0,evaluatings:{},resultData:{},resulstMode:!1,isComplete:!1,isDisabledPlayMusic:!1,socketErrorPop:!1,errorContents:"",socketErrorStatus:0,delayCheckSocketError:!1,isErrorState:!1,accompanyErrorType:"",isAudioPlayEnd:!1,preloadJson:!0,jsonLoading:!0,jsonLoadDone:!0,hideResultModal:!1,oneselfCancleEvaluating:!1}),sendOffsetTime=async i=>{var r;const e=await api_getDeviceDelay();api_midiMicDelay({header:{commond:"audioPlayStart",type:"SOUND_COMPARE"},body:{offsetTime:i,micDelay:(r=e==null?void 0:e.content)==null?void 0:r.value}})},handleStartEvaluat=async()=>{var i;if(state$1.modeType==="evaluating")handleCancelEvaluat();else if(state$1.platform!=="PC"){const e=await api_checkSocketStatus();((i=e==null?void 0:e.content)==null?void 0:i.status)==="connected"&&handleStopPlay()}else handleStopPlay();state$1.modeType=state$1.modeType==="evaluating"?"practise":"evaluating",state$1.modeType!=="evaluating"&&(evaluatingData.rendered=!1)},startCheckDelay=async()=>{var e;const i=await api_checkSocketStatus();return((e=i==null?void 0:i.content)==null?void 0:e.status)==="connected"?new Promise(r=>{r({checked:!0})}):(socketStartTime=+new Date,evaluatingData.socketErrorPop=!0,evaluatingData.socketErrorStatus=1,new Promise(r=>{r({checked:!1})}))},check_currentTime=()=>{let i=0;if(state$1.isSelectMeasureMode&&(i=state$1.section[0].time*1e3),getAudioCurrentTime()*1e3-i>=500){sendEvaluatingOffsetTime(500);return}setTimeout(()=>{check_currentTime()},10)},sendEvaluatingOffsetTime=async i=>{if(!evaluatingData.backtime)return;const r=Date.now()-evaluatingData.backtime-i;console.error("真正播放延迟",r,"currentTime:",i),await api_proxyServiceMessage({header:{commond:"audioPlayStart",type:"SOUND_COMPARE"},body:{offsetTime:r<0?0:r,micDelay:0}})},checkUseEarphone=async()=>{var e;const i=await getEarphone();return((e=i==null?void 0:i.content)==null?void 0:e.checkIsWired)||!1},handleEndSoundCheck=()=>{endSoundCheck()},connectWebsocket=async i=>{evaluatingData.contentData=i,evaluatingData.websocketState=!0},handlePerformDetection=async()=>{if(!evaluatingData.checkEnd){if(evaluatingData.checkStep===0){if(evaluatingData.checkStep=5,state$1.setting.soundEffect){evaluatingData.soundEffectMode=!0;return}const i=await api_getDeviceDelay();if(console.log("🚀 ~ delayTime:",i),!i){evaluatingData.soundEffectMode=!0;return}handlePerformDetection();return}if(evaluatingData.checkStep=5){if(evaluatingData.checkStep=10,!await checkUseEarphone()){evaluatingData.earphoneMode=!0;return}handlePerformDetection();return}evaluatingData.checkStep===10&&(evaluatingData.checkEnd=!0)}},addMeasureScore=(i,e=!0)=>{for(let r in evaluatingData.evaluatings)evaluatingData.evaluatings[r].show=!1;evaluatingData.evaluatings[i.measureRenderIndex]={...i,leve:getLeveByScoreMeasure(i.score),show:e}},handleScoreResult=i=>{if(console.log("返回",i,evaluatingData.oneselfCancleEvaluating),!evaluatingData.oneselfCancleEvaluating&&i!=null&&i.content){const{header:e,body:r}=i.content;e.commond==="checking"&&(evaluatingData.soundEffectFrequency=r.frequency),(e==null?void 0:e.commond)==="measureScore"&&(console.log("🚀 ~ 评测返回:",i),addMeasureScore(r)),(e==null?void 0:e.commond)==="overall"&&(console.log("🚀 ~ 评测返回:",i),console.log("评测结束",r),state$1.isHideEvaluatReportSaveBtn=!1,setTimeout(()=>{data.trainingType==="EVALUATION"&&!evaluatingData.isComplete?evaluatingData.hideResultModal=!0:evaluatingData.hideResultModal=!1,evaluatingData.resulstMode=!evaluatingData.isErrorState},200),evaluatingData.resultData={...r,...getLeveByScore(r.score)},closeToast())}},handleStartBegin=async i=>{var s,o;state$1.isAppPlay&&await api_cloudSetCurrentTime({currentTime:0,songID:state$1.examSongId}),evaluatingData.isComplete=!1,evaluatingData.evaluatings={},evaluatingData.resultData={},evaluatingData.backtime=0,resetPlaybackToStart(),evaluatingData.isAudioPlayEnd=!1;const e=await startEvaluating(evaluatingData.contentData);if((e==null?void 0:e.api)!=="startEvaluating"){Snackbar$1.error("请在APP端进行评测"),evaluatingData.startBegin=!1;return}if((s=e==null?void 0:e.content)!=null&&s.reson){showToast((o=e.content)==null?void 0:o.des),evaluatingData.startBegin=!1;return}if(evaluatingData.startBegin=!0,evaluatingData.isDisabledPlayMusic){if(await startCountdown(),state$1.playState=state$1.playState==="paused"?"play":"paused",state$1.playState==="play"&&state$1.playType==="play"&&state$1.needTick||state$1.playType==="sing"&&state$1.needSingTick)if(state$1.playType==="play"&&!state$1.isOpenMetronome||state$1.playType==="sing"&&!state$1.isSingOpenMetronome){const a=await handleStartTick();if(console.log("🚀 ~ tickend:",a),!a){state$1.playState="paused",evaluatingData.startBegin=!1;return}}else handleStartTick();onPlay()}if(evaluatingData.isErrorState)return;let r=state$1.speed/state$1.originSpeed;r=parseFloat(r.toFixed(2)),await api_startRecordingCb({accompanimentState:state$1.setting.enableAccompaniment?1:0,firstNoteTime:i||0,speedRate:r},()=>{state$1.isAppPlay&&setTimeout(()=>{sendOffsetTime(0)},300)}),state$1.setting.camera&&(console.log("开始录制视频"),await api_startCapture()),state$1.isAppPlay&&(await api_cloudChangeSpeed({speed:state$1.originSpeed,originalSpeed:state$1.originSpeed,songID:state$1.examSongId}),audioData$1.progress=0,audioListStart(state$1.playState)),evaluatingData.oneselfCancleEvaluating=!1},playMusic=async()=>{if(!await togglePlay("play")){evaluatingData.startBegin=!1,handleCancelEvaluat();return}check_currentTime(),state$1.setting.camera&&(console.log("开始录制视频"),api_startCapture())},recordStartTimePoint=async i=>{var r;if(console.error("开始录音"),!evaluatingData.startBegin)return;let e=((r=i==null?void 0:i.content)==null?void 0:r.inteveral)||0;browserInfo$2.ios&&(e*=1e3),evaluatingData.backtime=e||Date.now(),console.log("🚀 ~ 开始时间点:",evaluatingData.backtime,"已经录的时间:",Date.now()-e,"记录时间点:",Date.now()),!evaluatingData.isDisabledPlayMusic&&playMusic()},handleEndEvaluat=(i=!1)=>{!evaluatingData.startBegin||state$1.modeType!=="evaluating"||(console.log("评测结束1"),endEvaluating({musicScoreId:state$1.examSongId}),!i&&data.trainingType==="EVALUATION"?showToast({message:"完整演奏结束才算作业分数!"}):showLoadingToast({message:"评分中",duration:0,overlay:!0,overlayClass:styles$v.scoreMode}),setTimeout(()=>{evaluatingData.startBegin=!1},500),evaluatingData.isComplete=i,state$1.setting.camera&&(console.log("结束录制视频"),api_endCapture()))},handleEndBegin=()=>{handleEndEvaluat(),handleStopPlay()},handleCancelEvaluat=i=>{evaluatingData.evaluatings={},evaluatingData.startBegin=!1,closeToast(),api_proxyServiceMessage({header:{commond:"recordCancel",type:"SOUND_COMPARE",status:200}}),cancelEvaluating(),handleStopPlay(),console.log("评测结束2"),endEvaluating({musicScoreId:state$1.examSongId}),state$1.setting.camera&&(console.log("结束录制视频"),api_endCapture())},handleViewReport=(i,e)=>{var o;const r=((o=evaluatingData.resultData)==null?void 0:o[i])||"";let s="";switch(e){case"gym":s=location.origin+location.pathname+"#/report/"+r;break;case"orchestra":s=location.origin+location.pathname+"report-share.html?id="+r;break;case"instrument":s=location.origin+location.pathname+"#/evaluat-report?id="+r+"&musicRenderType="+state$1.musicRenderType;break;default:s=location.origin+location.pathname+"report-share.html?id="+r;break}api_openWebView({url:s,orientation:0,isHideTitle:!0,statusBarTextColor:!1,isOpenLight:!0,c_orientation:0})},handleComplexButton=i=>{console.log("监听是否隐藏保存按钮",i),i!=null&&i.content&&(i.content,state$1.isHideEvaluatReportSaveBtn=!0)},handleAccompanyError=i=>{if(console.log("异常信息返回",i),i!=null&&i.content){const{type:e,reson:r}=i.content;switch(e){case"enterBackground":case"playError":case"socketError":if(evaluatingData.soundEffectMode){evaluatingData.socketErrorStatus=0,evaluatingData.delayCheckSocketError=!0,evaluatingData.socketErrorPop=e==="socketError",evaluatingData.accompanyErrorType=e;return}state$1.modeType==="evaluating"&&evaluatingData.startBegin&&handleCancelEvaluat(),closeTick(),evaluatingData.socketErrorStatus=0,evaluatingData.socketErrorPop=e==="socketError",evaluatingData.isErrorState=!0,evaluatingData.accompanyErrorType=e,resetPlaybackToStart();break}}},handleSocketStatus=i=>{var e;if(((e=i==null?void 0:i.content)==null?void 0:e.status)==="connected"){const r=+new Date;evaluatingData.delayCheckSocketError=!1;const s=r-socketStartTime;if(s<1e3){const o=1e3-s;console.log(o,99999),setTimeout(()=>{evaluatingData.socketErrorStatus=2},o)}}},hanldeConfirmPop=async()=>{api_checkSocketStatus(),evaluatingData.socketErrorStatus=1,socketStartTime=+new Date},hanldeClosePop=()=>{evaluatingData.socketErrorPop=!1,evaluatingData.socketErrorStatus=0},Evaluating=defineComponent({name:"evaluating",setup(){const i=usePageVisibility(),e=reactive({finger:!1,play_mode:"",enableAccompaniment:!0}),r=()=>{e.finger=state$1.setting.displayFingering,state$1.setting.displayFingering=!1,e.play_mode=state$1.playSource,e.enableAccompaniment=state$1.setting.enableAccompaniment,e.enableAccompaniment||(console.log("关闭伴奏"),toggleMutePlayAudio(e.play_mode==="music"?"music":e.play_mode==="background"?"background":"mingSong",!0))},s=()=>{state$1.setting.displayFingering=e.finger,state$1.playSource=e.play_mode,e.enableAccompaniment||toggleMutePlayAudio(e.play_mode==="music"?"music":e.play_mode==="background"?"background":"mingSong",!1)};return watch(i,o=>{o=="hidden"&&evaluatingData.startBegin}),watch(()=>evaluatingData.socketErrorStatus,()=>{evaluatingData.socketErrorStatus===2&&setTimeout(()=>{evaluatingData.socketErrorPop=!1},1e3)}),watch(()=>evaluatingData.socketErrorPop,()=>{evaluatingData.socketErrorPop&&state$1.setting.soundEffect&&api_closeDelayCheck({})}),onMounted(()=>{resetPlaybackToStart(),r(),evaluatingData.resultData={},evaluatingData.evaluatings={},evaluatingData.soundEffectFrequency=0,evaluatingData.checkStep=0,evaluatingData.rendered=!0,sendResult(handleScoreResult),hideComplexButton(handleComplexButton,!0),api_recordStartTime(recordStartTimePoint),addAccompanyError(handleAccompanyError),addSocketStatus(handleSocketStatus),state$1.isSelectMeasureMode||clearSelection(),console.log("加载评测模块成功")}),onUnmounted(()=>{evaluatingData.checkEnd=!1,evaluatingData.rendered=!1,resetPlaybackToStart(),removeResult(handleScoreResult),hideComplexButton(()=>{},!1),api_remove_recordStartTime(recordStartTimePoint),s(),removeAccompanyError(handleAccompanyError),removeSocketStatus(handleSocketStatus),api_disconnectSocket(),console.log("卸载评测模块成功")}),()=>createVNode("div",null,[createVNode("div",{class:styles$v.hiddenPop},[createVNode("img",{src:popImgs.icon_bg},null),createVNode("img",{src:popImgs.icon_btn},null),createVNode("img",{src:popImgs.icon_success},null),createVNode("img",{src:popImgs.icon_close},null)]),createVNode(Popup,{teleport:"body",closeOnClickOverlay:!1,class:["popup-custom","van-scale"],transition:"van-scale",show:evaluatingData.socketErrorPop,"onUpdate:show":o=>evaluatingData.socketErrorPop=o},{default:()=>[createVNode(AbnormalPop,{onConfirm:hanldeConfirmPop,onClose:hanldeClosePop},null)]})])}}),initMidi=(i,e)=>{const r=ref(!1);if(e){console.log("曲谱为midi,使用app播放"),r.value=!0,state$1.midiPlayIniting=!0;const s=getDuration(state$1.osmd);api_cloudDestroy(),api_cloudDetail({midi:e,denominator:s.denominator,numerator:s.numerator,originalSpeed:state$1.originSpeed,interval:50,duration:i*1e3},()=>{state$1.midiPlayIniting=!1,r.value=!1,e&&changeMode("music")}),state$1.durationNum=i}return{initial:r}},getActiveMidiId=()=>{var i,e,r,s,o,a,l;return(l=(a=(o=(s=(r=(e=(i=state$1.osmd)==null?void 0:i.sheet)==null?void 0:e.instruments)==null?void 0:r[0])==null?void 0:s.subInstruments)==null?void 0:o[0])==null?void 0:a.midiInstrumentID)!=null?l:0},changeMode=async(i,e)=>{var s,o,a,l;const r=i==="background"?"music":"background";if(console.log(!state$1.songs[i],i,r),state$1.isAppPlay){const c=new Map;for(const u of state$1.partListNames)c.set(u,60);api_cloudVolume({activeMidiId:getActiveMidiId(),activeMidiVolume:r==="background"?100:0,parts:Array.from(c.keys()).map(u=>({name:u,volume:c.get(u)}))})}state$1.playSource=i,e==="all"?((s=state$1.audiosInstance)==null||s.setMute(!0,state$1.songs[r]),(o=state$1.audiosInstance)==null||o.setMute(!0,state$1.songs[i])):((a=state$1.audiosInstance)==null||a.setMute(!0,state$1.songs[r]),(l=state$1.audiosInstance)==null||l.setMute(!1,state$1.songs[i]))},cloudToggleState=async i=>{const e=await api_cloudGetMediaStatus(),r=e==null?void 0:e.content.status;if(r==="init"||r==="suspend"&&i==="paused")return;r==="suspend"?(state$1.isSelectMeasureMode&&(audioData$1.progress=state$1.midiSectionStart),await api_cloudPlay({songID:state$1.examSongId,startTime:audioData$1.progress*1e3,originalSpeed:state$1.originSpeed,speed:state$1.modeType==="evaluating"?state$1.originSpeed:state$1.speed,hertz:440}),onPlay()):(await api_cloudSuspend({songID:state$1.examSongId}),state$1.modeType==="evaluating"&&(audioData$1.progress=0));const s=await api_cloudGetMediaStatus();state$1.playState=(s==null?void 0:s.content.status)==="suspend"?"paused":"play",console.log(s,"cloudGetMediaStatused")},Loading=defineComponent({name:"loading",props:{tipText:{type:String,default:""}},setup(i){function e(s=2e3,o){let a=Date.now(),l=0;const c=setInterval(()=>{let u=Date.now()-a;if(u>=s){clearInterval(c),o(96);return}l=Math.min(100,u/s*100),o(l)},300)}const r=ref(0);return e(2e3,s=>{r.value=s}),watch(()=>state$1.audioDone,()=>{state$1.audioDone||(r.value=0)}),()=>!state$1.audioDone&&createVNode("div",{class:styles$w.loadingPop},[createVNode(Vue3Lottie,{animationData:animBg},null),createVNode("div",{class:styles$w.loadingTip},[i.tipText])])}}),audioData$1=reactive({songEle:null,backgroundEle:null,mingSongEle:null,songCollection:{songEle:null,backgroundEle:null,fanSongEle:null,banSongEle:null,mingSongEle:null,beatSongEle:null,betaBackgroundEle:null,betaFanSongEle:null,betaBanSongEle:null,betaMingSongEle:null},midiRender:!1,progress:0,duration:0}),midiRef=ref(),audioListStart=i=>{var e,r,s,o,a,l;if(i==="play"&&state$1.originSpeed!==0&&setAudioPlaybackRate(state$1.speed/state$1.originSpeed),state$1.isAppPlay){cloudToggleState(i);return}i==="play"?((e=audioData$1.songEle)==null||e.play(),(r=audioData$1.backgroundEle)==null||r.play(),(s=audioData$1.mingSongEle)==null||s.play()):i==="paused"&&((o=audioData$1.songEle)==null||o.pause(),(a=audioData$1.backgroundEle)==null||a.pause(),(l=audioData$1.mingSongEle)==null||l.pause())},setAudioPlaybackRate=i=>{if(state$1.isAppPlay){if(state$1.modeType==="evaluating")return;hanldeSetMidiPlaybackRate(i);return}audioData$1.songEle&&(audioData$1.songEle.playbackRate=i),audioData$1.backgroundEle&&(audioData$1.backgroundEle.playbackRate=i),audioData$1.mingSongEle&&(audioData$1.mingSongEle.playbackRate=i)},getAudioCurrentTime=()=>{var i,e,r,s;return state$1.isAppPlay?audioData$1.progress:state$1.playSource==="music"?((i=audioData$1.songEle)==null?void 0:i.currentTime)||audioData$1.progress:state$1.playSource==="background"?((e=audioData$1.backgroundEle)==null?void 0:e.currentTime)||audioData$1.progress:state$1.playSource==="mingSong"?((r=audioData$1.mingSongEle)==null?void 0:r.currentTime)||audioData$1.progress:((s=audioData$1.songEle)==null?void 0:s.currentTime)||audioData$1.progress},getAudioDuration=()=>{var i,e,r,s;if(state$1.isAppPlay){const o=((i=state$1.times[state$1.times.length-1||0])==null?void 0:i.endtime)||0;return audioData$1.duration||o}return((e=audioData$1.songEle)==null?void 0:e.duration)||((r=audioData$1.backgroundEle)==null?void 0:r.duration)||((s=audioData$1.mingSongEle)==null?void 0:s.duration)||audioData$1.duration},setAudioCurrentTime=(i,e=0)=>{if(state$1.isAppPlay){setMidiCurrentTime(e);return}audioData$1.songEle&&(audioData$1.songEle.currentTime=i),audioData$1.backgroundEle&&(audioData$1.backgroundEle.currentTime=i),audioData$1.mingSongEle&&(audioData$1.mingSongEle.currentTime=i),audioData$1.progress=i},toggleMutePlayAudio=(i,e)=>{i==="music"?audioData$1.songEle&&(audioData$1.songEle.muted=e):i==="background"?audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=e):i==="mingSong"&&audioData$1.mingSongEle&&(audioData$1.mingSongEle.muted=e)},changeSongSourceByBate=i=>{var o,a,l;const e=((o=audioData$1.songEle)==null?void 0:o.currentTime)||0,r=((a=audioData$1.backgroundEle)==null?void 0:a.currentTime)||0,s=((l=audioData$1.mingSongEle)==null?void 0:l.currentTime)||0;i?state$1.playType==="play"?(audioData$1.songEle=audioData$1.songCollection.songEle,audioData$1.backgroundEle=audioData$1.songCollection.backgroundEle):(audioData$1.songEle=audioData$1.songCollection.fanSongEle,audioData$1.backgroundEle=audioData$1.songCollection.banSongEle,audioData$1.mingSongEle=audioData$1.songCollection.mingSongEle):state$1.playType==="play"?(audioData$1.songEle=audioData$1.songCollection.beatSongEle||audioData$1.songCollection.songEle,audioData$1.backgroundEle=audioData$1.songCollection.betaBackgroundEle||audioData$1.songCollection.backgroundEle):(audioData$1.songEle=audioData$1.songCollection.betaFanSongEle||audioData$1.songCollection.fanSongEle,audioData$1.backgroundEle=audioData$1.songCollection.betaBanSongEle||audioData$1.songCollection.banSongEle,audioData$1.mingSongEle=audioData$1.songCollection.betaMingSongEle||audioData$1.songCollection.mingSongEle),audioData$1.songEle&&(audioData$1.songEle.currentTime=e),audioData$1.backgroundEle&&(audioData$1.backgroundEle.currentTime=r),audioData$1.mingSongEle&&(audioData$1.mingSongEle.currentTime=s),state$1.playSource==="music"?(audioData$1.songEle&&(audioData$1.songEle.muted=!1),audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=!0),audioData$1.mingSongEle&&(audioData$1.mingSongEle.muted=!0)):state$1.playSource==="background"?(audioData$1.songEle&&(audioData$1.songEle.muted=!0),audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=!1),audioData$1.mingSongEle&&(audioData$1.mingSongEle.muted=!0)):(audioData$1.songEle&&(audioData$1.songEle.muted=!0),audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=!0),audioData$1.mingSongEle&&(audioData$1.mingSongEle.muted=!1))},AudioList=defineComponent({name:"audio-list",setup(){const i=()=>{midiRef.value.contentWindow.handleRendered=()=>{audioData$1.midiRender=!0},hanldeInitMidiData(midiRef.value)};watch(()=>state$1.playSource,()=>{if(state$1.modeType==="evaluating"&&!state$1.setting.enableAccompaniment){console.log("评测模式设置了关闭伴奏,不切换原音伴奏");return}state$1.playSource==="music"?(audioData$1.songEle&&(audioData$1.songEle.muted=!1),audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=!0),audioData$1.mingSongEle&&(audioData$1.mingSongEle.muted=!0)):state$1.playSource==="background"?(audioData$1.songEle&&(audioData$1.songEle.muted=!0),audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=!1),audioData$1.mingSongEle&&(audioData$1.mingSongEle.muted=!0)):(audioData$1.songEle&&(audioData$1.songEle.muted=!0),audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=!0),audioData$1.mingSongEle&&(audioData$1.mingSongEle.muted=!1))});const e=c=>new Promise(u=>{const d=new Audio(c+"?v="+Date.now());d.load(),d.onloadedmetadata=()=>{u(d)},d.onerror=()=>{u(null)}}),r=c=>{var m,y,b;const u=(c==null?void 0:c.currentTime)||((m=c==null?void 0:c.content)==null?void 0:m.currentTime),d=(c==null?void 0:c.totalDuration)||((y=c==null?void 0:c.content)==null?void 0:y.totalDuration),g=u/1e3;if(audioData$1.progress=g,audioData$1.songEle&&(audioData$1.songEle.currentTime=g),audioData$1.backgroundEle&&(audioData$1.backgroundEle.currentTime=g),audioData$1.mingSongEle&&(audioData$1.mingSongEle.currentTime=g),audioData$1.duration=d/1e3,((b=c==null?void 0:c.content)==null?void 0:b.totalDuration)>1e3&&u>=d){if(evaluatingData.isAudioPlayEnd)return;evaluatingData.isAudioPlayEnd=!0,onEnded()}},s=c=>{var g,m,y;if(audioData$1.duration==0){const b=((g=state$1.times[state$1.times.length-1||0])==null?void 0:g.endtime)||0;audioData$1.duration=b}const u=(c==null?void 0:c.currentTime)||((m=c==null?void 0:c.content)==null?void 0:m.currentTime);c!=null&&c.totalDuration||((y=c==null?void 0:c.content)==null||y.totalDuration);const d=u/1e3;audioData$1.progress=d,state$1.sectionStatus&&state$1.section.length==2&&u>=state$1.section},o=c=>{c&&(console.log("midi结束"),audioData$1.progress=0,onEnded())};function a(){return Promise.all([e(state$1.music),e(state$1.accompany),e(state$1.fanSong),e(state$1.banSong),e(state$1.mingSong)])}function l(){return Promise.all([e(state$1.beatSong.music),e(state$1.beatSong.accompany),e(state$1.beatSong.fanSong),e(state$1.beatSong.banSong),e(state$1.beatSong.mingSong)])}return onMounted(async()=>{var c;if(state$1.playMode!=="MIDI"){console.time("音频加载时间");const[u,d,g,m,y]=await a();audioData$1.backgroundEle=d,audioData$1.songEle=u,Object.assign(audioData$1.songCollection,{songEle:u,backgroundEle:d,fanSongEle:g,banSongEle:m,mingSongEle:y}),u?(u.addEventListener("play",onPlay),u.addEventListener("ended",onEnded),d&&(d.muted=!0)):d&&(d.addEventListener("play",onPlay),d.addEventListener("ended",onEnded)),g?(g.addEventListener("play",onPlay),g.addEventListener("ended",onEnded),m&&(m.muted=!0),y&&(y.muted=!0)):m?(m.addEventListener("play",onPlay),m.addEventListener("ended",onEnded),y&&(y.muted=!0)):y&&(y.addEventListener("play",onPlay),y.addEventListener("ended",onEnded));const[b,A,S,E,x]=await l();Object.assign(audioData$1.songCollection,{beatSongEle:b,betaBackgroundEle:A,betaFanSongEle:S,betaBanSongEle:E,betaMingSongEle:x}),b?(b.addEventListener("play",onPlay),b.addEventListener("ended",onEnded),A&&(A.muted=!0)):A&&(A.addEventListener("play",onPlay),A.addEventListener("ended",onEnded)),S?(S.addEventListener("play",onPlay),S.addEventListener("ended",onEnded),E&&(E.muted=!0),x&&(x.muted=!0)):E?(E.addEventListener("play",onPlay),E.addEventListener("ended",onEnded),x&&(x.muted=!0)):x&&(x.addEventListener("play",onPlay),x.addEventListener("ended",onEnded)),state$1.audioDone=!0,console.timeEnd("音频加载时间"),console.log("音频数据:",audioData$1),api_playProgress(r)}else{state$1.audioDone=!0;const u=((c=state$1.times[state$1.times.length-1||0])==null?void 0:c.endtime)||0;audioData$1.duration=u,api_cloudTimeUpdae(s),api_cloudplayed(o)}}),onUnmounted(()=>{api_remove_cloudplayed(o),api_remove_cloudTimeUpdae(s)}),()=>createVNode(Fragment,null,[createVNode(Loading,{tipText:state$1.loadingText},null),createVNode("div",{class:styles$w.audioList},[state$1.playMode==="MIDI"&&state$1.speed!=0&&createVNode("iframe",{style:{display:"none"},ref:midiRef,src:"/midi/index.html",onLoad:i},null)])])}}),browserInfo$1=browser();let tipsTimer=null;const audioData=reactive({tick:null,tock:null}),metronomeData=reactive({disable:!0,initPlayerState:!1,lineShow:!1,isClick:!1,metro:null,metroList:[],activeList:[],metroMeasure:[],activeIndex:null,activeMetro:{},cursorMode:1,cursorTips:"",followAudioIndex:1,totalNumerator:2});watch(()=>metronomeData.cursorMode,()=>{const i=document.querySelector("#cursorImg-0");if(i){switch(metronomeData.cursorMode){case 1:i.classList.remove("lineHide"),i.style.opacity="inherit",metronomeData.cursorTips="您已切换到指针跟随音符播放",i.style.opacity="inherit";break;case 2:i.classList.add("lineHide"),i.style.opacity="inherit",metronomeData.cursorTips="您已切换到指针跟随节拍播放";break;case 3:i.style.opacity="0",metronomeData.cursorTips="您已关闭指针显示";break}hideCursorTip()}});watch(()=>metronomeData.lineShow,()=>{const i=document.querySelector("#cursorImg-0");i&&(metronomeData.lineShow?i.classList.add("lineHide"):i.classList.remove("lineHide"))});class Metronome{constructor(e){ii(this,"playType","tick");ii(this,"source",null);ii(this,"source1",null);ii(this,"source2",null);ii(this,"createAudio",e=>new Promise(r=>{const s=new Audio(e);s.load(),s.onloadedmetadata=()=>{r(s)},s.onerror=()=>{r(null)}}));ii(this,"sound",e=>{state$1.sectionStatus||(e=setCurrentTime(e));let r=-1,s=-1;for(let o=0;o=a)r=o,s=a;else break}if(r>-1&&metronomeData.activeIndex!==r){metronomeData.activeIndex=r,metronomeData.activeMetro=this.getStep(s),this.playAudio(),metronomeData.isClick=!1;return}metronomeData.isClick=!1});ii(this,"playAudio",()=>{var r;if(state$1.modeType==="practise"&&state$1.playMode!=="MIDI"&&(state$1.playType==="play"&&state$1.playSource==="music"&&audioData$1.songCollection.beatSongEle||state$1.playType==="play"&&state$1.playSource==="background"&&audioData$1.songCollection.betaBackgroundEle||state$1.playType==="sing"&&state$1.playSource==="music"&&audioData$1.songCollection.betaFanSongEle||state$1.playType==="sing"&&state$1.playSource==="background"&&audioData$1.songCollection.betaBanSongEle||state$1.playType==="sing"&&state$1.playSource==="mingSong"&&audioData$1.songCollection.betaMingSongEle)||(console.log("播放自带的节拍器 233333"),!metronomeData.initPlayerState||state$1.playState==="paused"))return;const e=state$1.setting.beatVolume/100;this.source=((r=metronomeData.activeMetro)==null?void 0:r.index)===0?audioData.tick:audioData.tock,this.source.volume=metronomeData.disable?0:e,this.source.volume<=0?this.source.muted=!0:this.source.muted=!1,this.source.play()});ii(this,"simulatePlayAudio",()=>{if(!metronomeData.initPlayerState)return;const e=state$1.setting.beatVolume/100;this.source=metronomeData.followAudioIndex===1?audioData.tick:audioData.tock,this.source.volume=metronomeData.disable?0:e,this.source.volume<=0?this.source.muted=!0:this.source.muted=!1,this.source.play(),metronomeData.followAudioIndex+=1,metronomeData.followAudioIndex=metronomeData.followAudioIndex>metronomeData.totalNumerator?1:metronomeData.followAudioIndex});ii(this,"loadAudio1",()=>new howler.Howl({src:tockAndTick.tick}));ii(this,"loadAudio2",()=>new howler.Howl({src:tockAndTick.tock}))}init(e){this.calculation(e),metronomeData.activeList=[],this.initPlayer()}initPlayer(){metronomeData.initPlayerState||Promise.all([this.createAudio(tickWav),this.createAudio(tockWav)]).then(([e,r])=>{e&&(audioData.tick=e),r&&(audioData.tock=r),metronomeData.initPlayerState=!0})}selectPlay(){}getStep(e){for(let r=0;ra.time===e);if(o)return o}return{}}calculation(e){var l,c,u,d,g,m,y,b,A,S,E,x,P,C;const r=[];let s=-1;for(let T=0;T-1&&I!=s){const R={measureNumberXML:I,measureNumberIndex:M,numerator:((y=(m=(g=k==null?void 0:k.noteElement)==null?void 0:g.sourceMeasure)==null?void 0:m.ActiveTimeSignature)==null?void 0:y.numerator)||0,start:k.measures[0].time,end:k.measures[k.measures.length-1].endtime,time:k.measures[k.measures.length-1].endtime-k.measures[0].time,stave_x:((x=(E=(S=(A=(b=k==null?void 0:k.noteElement)==null?void 0:b.sourceMeasure)==null?void 0:A.verticalMeasureList)==null?void 0:S[0])==null?void 0:E.stave)==null?void 0:x.x)||0,end_x:((P=k==null?void 0:k.stave)==null?void 0:P.end_x)||0||0,stepList:[],svgs:[],isRestFlag:k.isRestFlag};if([121].includes(state$1.subjectId)){const B=e.filter(_=>{var V,D;return((D=(V=_==null?void 0:_.noteElement)==null?void 0:V.sourceMeasure)==null?void 0:D.measureListIndex)==M});k.measures=B,R.start=k.measures[0].time,R.end=k.measures[k.measures.length-1].endtime,R.time=k.measures[k.measures.length-1].endtime-k.measures[0].time;try{const _=k.noteElement.sourceMeasure.verticalMeasureList.reduce((D,F)=>(D.push(...F.vfVoices[1].tickables),D),[]),V=[];R.svgs=_.map(D=>{const F=D.getBoundingBox().x;if(!V.includes(F)&&D.duration!=="w")return V.push(F),D._start_x=F,D}).filter(Boolean).sort((D,F)=>D._start_x-F._start_x)}catch(_){console.log(_)}R.stepList=calculateMutilpleMetroStep(k.measures,R)}else{let B=k.measures;state$1.isCombineRender&&(B=B.filter(_=>_.MeasureNumberXML===R.measureNumberXML)),R.stepList=calculateMetroStep(B,R)}r.push(R),s=I}}let o=[];const a=[];try{for(let T=0;T-1?`${D} + ${R}%`:`${D}px + ${R}%`:`${R}%`,k.stepList[B]=V}a[T].push({index:B,time:_,left:(V==null?void 0:V.indexOf("%"))>-1?`calc(${V})`:V,measureNumberXML:k.measureNumberXML,isRestFlag:k.isRestFlag})}}}catch(T){console.log(T)}console.log("节拍器",o,a),metronomeData.metroList=o,metronomeData.metroMeasure=a,metronomeData.activeMetro=((C=a[0])==null?void 0:C[0])||{}}}function calculateMetroStep(i,e){var c,u,d,g,m,y,b,A,S,E,x,P,C,T,k,I,M,R,B,_,V,D,F,N,K,G,q,O,U,$,Y,Q,xe,ue,W,J,ce,ge,Ee,Te,De,te,ae,H,ve,pe,ee,ne,me,Be,oe,be,Ie,Re,Pe,he,Ce,ye,Fe,Ue,Ye,Ge,Ke,et,Ze,st,vt;const s=i.reduce((lt,dt)=>(lt+=dt._noteLength,lt),0)/e.numerator;if(i.length===1){const lt=i[0].svgElement;if(lt&&!lt.isRest()){const dt=((m=(g=(d=(u=(c=lt==null?void 0:lt.attrs)==null?void 0:c.el)==null?void 0:u.parentElement)==null?void 0:d.parentElement)==null?void 0:g.getBoundingClientRect)==null?void 0:m.call(g))||{x:0,right:0};let Tt=((A=(b=(y=lt==null?void 0:lt.attrs)==null?void 0:y.el)==null?void 0:b.getBoundingClientRect)==null?void 0:A.call(b))||{x:0},ut=Math.abs(dt.right-Tt.x)/e.numerator,pt=[];for(let Ct=0;Ct=1){o-=s;let pt=((D=(V=(_=(B=(R=(M=dt==null?void 0:dt.svgElement)==null?void 0:M.attrs)==null?void 0:R.el)==null?void 0:B.parentElement)==null?void 0:_.parentElement)==null?void 0:V.getBoundingClientRect)==null?void 0:D.call(V))||{x:0};if(state$1.musicRenderType!=="staff"&&(pt=((U=(O=(q=(G=(K=(N=(F=dt==null?void 0:dt.svgElement)==null?void 0:F.attrs)==null?void 0:N.el)==null?void 0:K.parentElement)==null?void 0:G.parentElement)==null?void 0:q.querySelector(".vf-stave"))==null?void 0:O.getBoundingClientRect)==null?void 0:U.call(O))||{x:0}),!pt.width&&a.length>0&&(pt=state$1.musicRenderType!=="staff"?((ce=(J=(W=(ue=(xe=(Q=(Y=($=a[0])==null?void 0:$.svgElement)==null?void 0:Y.attrs)==null?void 0:Q.el)==null?void 0:xe.parentElement)==null?void 0:ue.parentElement)==null?void 0:W.querySelector(".vf-stave"))==null?void 0:J.getBoundingClientRect)==null?void 0:ce.call(J))||{x:0}:((H=(ae=(te=(De=(Te=(Ee=(ge=a[0])==null?void 0:ge.svgElement)==null?void 0:Ee.attrs)==null?void 0:Te.el)==null?void 0:De.parentElement)==null?void 0:te.parentElement)==null?void 0:ae.getBoundingClientRect)==null?void 0:H.call(ae))||{x:0}),a.length>0){let ie=((me=(ne=(ee=(pe=(ve=a[0])==null?void 0:ve.svgElement)==null?void 0:pe.attrs)==null?void 0:ee.el)==null?void 0:ne.getBoundingClientRect)==null?void 0:me.call(ne))||{x:0},de=ie.x-pt.x;if(a[0]._noteLength/s>=1){const ke=((Re=(Ie=(be=(oe=(Be=i[a[0].index+1])==null?void 0:Be.svgElement)==null?void 0:oe.attrs)==null?void 0:be.el)==null?void 0:Ie.getBoundingClientRect)==null?void 0:Re.call(Ie))||{x:pt.right},Oe=Math.abs(ie.x-ke.x)/2;de=ie.x-pt.x+Oe}l.push(de)}else{let de=(((ye=(Ce=(he=(Pe=dt==null?void 0:dt.svgElement)==null?void 0:Pe.attrs)==null?void 0:he.el)==null?void 0:Ce.getBoundingClientRect)==null?void 0:ye.call(Ce))||{x:0}).x-pt.x;l.push(de)}a=[];let Ct=((Ge=(Ye=(Ue=(Fe=dt==null?void 0:dt.svgElement)==null?void 0:Fe.attrs)==null?void 0:Ue.el)==null?void 0:Ye.getBoundingClientRect)==null?void 0:Ge.call(Ye))||{x:0},Vt=Ct.x-pt.x,Xe=0;if(ut>1){const ie=((vt=(st=(Ze=(et=(Ke=i[lt+1])==null?void 0:Ke.svgElement)==null?void 0:et.attrs)==null?void 0:Ze.el)==null?void 0:st.getBoundingClientRect)==null?void 0:vt.call(st))||{x:pt.right};Xe=Math.abs(Ct.x-ie.x)/ut}for(let ie=1;ieNumber.EPSILON&&o>0&&a.push(dt)}return l=l.reduce((lt,dt)=>(lt.includes(dt)?lt.push(void 0):lt.push(dt),lt),[]),l}function calculateMutilpleMetroStep(i,e){var c,u,d,g,m,y,b,A,S,E,x,P,C,T,k,I,M,R,B;const r=e.time/e.numerator,s=((b=(y=(m=(g=(d=(u=(c=i[0])==null?void 0:c.svgElement)==null?void 0:u.attrs)==null?void 0:d.el)==null?void 0:g.parentElement)==null?void 0:m.parentElement)==null?void 0:y.getBoundingClientRect)==null?void 0:b.call(y))||{x:0};if(i.length===1){const _=e.svgs[0];let V=((E=(S=(A=_==null?void 0:_.attrs)==null?void 0:A.el)==null?void 0:S.getBoundingClientRect)==null?void 0:E.call(S))||{x:0};return _&&!_.isRest()?[V.x-s.x]:[]}let o=0,a=[],l=[];for(let _=0;_r){o-=r;let K=N.x-s.x;a.length>0&&(F=(k=(T=e.svgs[a[0]._index])==null?void 0:T.attrs)==null?void 0:k.el,N=((I=F==null?void 0:F.getBoundingClientRect)==null?void 0:I.call(F))||{x:0},K=N.x-s.x),l.push(K),a=[]}else a.push(V);if(Math.abs(o-r)<.001){let K=N.x-s.x;a.length>0&&(F=(R=(M=e.svgs[a[0]._index])==null?void 0:M.attrs)==null?void 0:R.el,N=((B=F==null?void 0:F.getBoundingClientRect)==null?void 0:B.call(F))||{x:0},K=N.x-s.x),l.push(K),o=0,a=[]}}return l=l.reduce((_,V)=>(_.includes(V)?_.push(void 0):_.push(V),_),[]),l}function setCurrentTime(i){return browserInfo$1.huawei||browserInfo$1.xiaomi?i+=.125:browserInfo$1.android?i+=.11:browserInfo$1.ios&&(i+=.01),i}function hideCursorTip(){tipsTimer?(clearTimeout(tipsTimer),tipsTimer=setTimeout(()=>{metronomeData.cursorTips="",clearTimeout(tipsTimer),tipsTimer=null},2e3)):tipsTimer=setTimeout(()=>{metronomeData.cursorTips="",clearTimeout(tipsTimer),tipsTimer=null},2e3)}var GradualVersion=(i=>(i[i.BASE=0]="BASE",i[i.ENSEMBLE=1]="ENSEMBLE",i))(GradualVersion||{});const scriptRel="modulepreload",assetsURL=function(i,e){return new URL(i,e).href},seen={},__vitePreload=function i(e,r,s){if(!r||r.length===0)return e();const o=document.getElementsByTagName("link");return Promise.all(r.map(a=>{if(a=assetsURL(a,s),a in seen)return;seen[a]=!0;const l=a.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!s)for(let g=o.length-1;g>=0;g--){const m=o[g];if(m.href===a&&(!l||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${c}`))return;const d=document.createElement("link");if(d.rel=l?"stylesheet":scriptRel,l||(d.as="script",d.crossOrigin=""),d.href=a,document.head.appendChild(d),l)return new Promise((g,m)=>{d.addEventListener("load",g),d.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>e())},relationships={flute:{59:[27,26,25,15,24,22,17,20],60:[27,26,25,15,24,22,17,20],61:[27,26,25,15,24,22,17,21],62:[27,26,25,15,24,22,17],63:[27,26,25,15,24,22,17,19],64:[27,26,25,15,24,22,19],65:[27,26,25,15,24,19],66:[27,26,25,15,17,19],67:[27,26,25,15,19],68:[27,26,25,15,18,19],69:[27,26,15,19],70:[[27,14,19],[27,24,15,19]],71:[27,15,19],72:[27,19],73:[19],74:[26,25,24,22,17,15],75:[26,25,24,22,17,19,15],76:[27,26,25,15,24,22,19],77:[27,26,25,15,24,19],78:[27,26,25,15,17,19],79:[27,26,25,15,19],80:[27,26,25,15,18,19],81:[27,26,15,19],82:[[27,14,19],[27,24,15,19]],83:[27,15,19],84:[27,19],85:[19],86:[26,25,15,19],87:[27,26,25,15,24,22,17,18,19],88:[27,26,15,24,22,19],89:[27,25,24,15,19],90:[27,25,17,15,19],91:[27,26,25,19],92:[26,25,18,19],93:[26,24,15,19],94:[23,24,15,19],95:[27,25,15,16],96:[27,26,25,18,24,19]},clarinet:{52:[[3,4,6,8,9,11,14,18,20],[3,4,6,8,9,11,14,20]],53:[[3,4,6,8,9,11,12,20],[3,4,6,8,9,11,18,20]],54:[[3,4,6,8,9,11,13,18,20],[3,4,6,8,9,11,13,20],[3,4,6,8,9,11,15]],55:[3,4,6,8,9,11,20],56:[3,4,6,8,9,11,16,20],57:[3,4,6,8,9,20],58:[3,4,6,8,20],59:[[3,4,6,9,20],[3,4,6,8,10,20]],60:[3,4,6,20],61:[3,4,6,7,20],62:[3,4,20],63:[[3,4,20,24],[3,4,5,20],[3,8,20]],64:[3,20],65:[20],66:[[3],[20,23,24]],67:[],68:[2],69:[1],70:[1,19],71:[[3,4,6,8,9,11,14,18,19,20],[3,4,6,8,9,11,14,19,20]],72:[[3,4,6,8,9,11,12,19,20],[3,4,6,8,9,11,18,19,20]],73:[[3,4,6,8,9,11,13,19,20],[3,4,6,8,9,11,13,18,19,20],[3,4,6,8,9,11,15,19,20]],74:[3,4,6,8,9,11,19,20],75:[3,4,6,8,9,11,16,19,20],76:[3,4,6,8,9,19,20],77:[3,4,6,8,19,20],78:[[3,4,6,9,19,20],[3,4,6,8,10,19,20]],79:[3,4,6,19,20],80:[3,4,6,7,19,20],81:[3,4,19,20],82:[[3,4,19,20,24],[3,4,5,19,20],[3,4,8,19,20]],83:[3,19,20],84:[19,20],85:[4,6,8,9,19,20],86:[4,6,8,16,19,20],87:[[4,6,8,10,16,19,20],[4,6,9,16,19,20]],88:[4,6,16,19,20],89:[4,6,7,16,19,20]},trumpet:{0:[1,2,3],54:[4,5,6],55:[4,2,6],56:[1,5,6],57:[4,5,3],58:[4,2,3],59:[1,5,3],60:[1,2,3],61:[4,5,6],62:[4,2,6],63:[1,5,6],64:[4,5,3],65:[4,2,3],66:[1,5,3],67:[1,2,3],68:[1,5,6],69:[4,5,3],70:[4,2,3],71:[1,5,3],72:[1,2,3],73:[4,5,3],74:[4,2,3],75:[1,5,3],76:[1,2,3],77:[4,2,3],78:[1,4,3],79:[1,2,3],80:[1,5,6],81:[4,5,3],82:[4,2,3],83:[1,5,3],84:[1,2,3]},horn:{53:[1],54:[2],55:[],56:[2,3],57:[1,2],58:[1],59:[2],60:[],61:[1,2],62:[1],63:[2],64:[],65:[1],66:[2],67:[],68:[0,2,3],69:[0,1,2],70:[0,1],71:[0,2],72:[0],73:[0,2,3],74:[0,1,2],75:[0,1],76:[0,2],77:[0],78:[0,2],79:[0],80:[0,2,3],81:[0,1,2],82:[0,1],83:[0,2],84:[0]},"up-bass-horn":{0:[1,2,3],40:[4,5,6],41:[4,2,6],42:[1,5,6],43:[4,5,3],44:[4,2,3],45:[1,5,3],46:[1,2,3],47:[4,5,6],48:[4,2,6],49:[1,5,6],50:[4,5,3],51:[4,2,3],52:[1,5,3],53:[1,2,3],54:[1,5,6],55:[4,5,3],56:[4,2,3],57:[1,5,3],58:[1,2,3],59:[4,5,3],60:[4,2,3],61:[1,5,3],62:[1,2,3],63:[4,2,3],64:[1,5,3],65:[1,2,3],66:[1,5,6],67:[4,5,3],68:[4,2,3],69:[1,5,3],70:[1,2,3]},trombone:{0:[1],40:[22],41:[11],42:[5],43:[4],44:[3],45:[2],46:[1],47:[22],48:[11],49:[5],50:[4],51:[3],52:[2],53:[1],54:[5],55:[4],56:[3],57:[2],58:[1],59:[4],60:[3],61:[2],62:[1],63:[3],64:[2],65:[1],66:[5],67:[4],68:[3],69:[2],70:[1]},saxophone:{58:[2,4,5,13,17,18,19,23],59:[2,4,5,11,17,18,19,23],60:[2,4,5,17,18,19,23],61:[2,4,5,12,17,18,19,23],62:[2,4,5,17,18,19],63:[2,4,5,17,18,19,22],64:[2,4,5,17,18],65:[2,4,5,17],66:[[2,4,5,18],[2,4,5,17,21]],67:[2,4,5],68:[2,4,5,10],69:[2,4],70:[[2,4,16],[2,17],[2,3]],71:[2],72:[[4],[2,15]],73:[],74:[2,4,5,6,17,18,19],75:[2,4,5,6,17,18,19,22],76:[2,4,5,6,17,18],77:[2,4,5,6,17],78:[[2,4,5,6,18],[2,4,5,6,17,21]],79:[2,4,5,6],80:[2,4,5,6,10],81:[2,4,6],82:[[2,4,6,16],[2,6,17],[2,3,6]],83:[2,6],84:[[4,6],[2,6,15]],85:[6],86:[6,9],87:[6,7,8],88:[6,8,9,14],89:[[6,7,8,9,14],[1,4,6]]},tuba:{0:[1,2,3],28:[4,5,6],29:[4,2,6],30:[1,5,6],31:[4,5,3],32:[4,2,3],33:[4,2,6],34:[1,2,3],35:[4,5,6],36:[4,2,6],37:[1,5,6],38:[4,5,3],39:[4,2,3],40:[1,5,3],41:[1,2,3],42:[1,5,6],43:[4,5,3],44:[4,2,3],45:[1,5,3],46:[1,2,3],47:[4,5,3],48:[4,2,3],49:[1,5,3],50:[1,2,3],51:[4,2,3],52:[1,5,3],53:[1,2,3],54:[1,5,6],55:[4,5,3],56:[4,2,3],57:[1,5,3],58:[1,2,3]},piccolo:{60:[11,2,33,4,5,6,7,8],61:[11,2,33,4,5,6,7,88],62:[11,2,33,4,5,6,7],63:[11,2,33,4,5,6,77],64:[11,2,33,4,5,6],65:[11,2,33,4,5],66:[11,2,33,4,6,7],67:[11,2,33,4],68:[11,2,33,5,6,77],69:[11,2,33],70:[[11,2,4,5],[1,11,2,4,6,7]],71:[[11,2],[11,33,4]],72:[11,33],73:[[2,33],[11]],74:[33],75:[33,4,5,6,7],76:[1,2,33,4,5,6],77:[1,2,33,4,5],78:[1,2,33,4,6,8],79:[1,2,33,4],80:[1,2,33,4,6,7,8],81:[1,2,33],82:[1,2,33,5,6,7],83:[1,2,33,5,6],84:[1,2,5,6],85:[1,2,4,5,7,8,100],86:[1,2,4,5,7,8]},"small-drum":{0:["active","active-left","active-right"],64:["left","right"]},hulusi:{64:[7,6,5,4,3,2,11,91],65:[7,6,5,4,3,2,1,91],66:[7,6,5,4,3,2,91],67:[7,6,5,4,3,2,11,92],68:[7,6,5,4,3,2,1,92],69:[7,6,5,4,3,2,93],70:[7,6,5,4,3,11,93],71:[7,6,5,4,3,93],72:[7,6,5,4,95],73:[7,6,5,3,2,95],74:[7,6,5,95],75:[7,6,4,3,95],76:[7,6,95],77:[7,5,4,3,2,94],78:[7,5,4,94],79:[7,94],80:[6,94],81:[96]},pan:{55:[21],57:[20],59:[19],60:[18],62:[17],64:[16],65:[15],67:[14],69:[13],71:[12],72:[11],74:[10],76:[9],77:[8],79:[7],81:[6],83:[5],84:[4],86:[3],88:[2],89:[1]},ocarina:{57:[1,2,3,4,5,6,7,8,9,10,11,12],58:[1,2,3,4,5,6,8,9,10,11,12],59:[1,2,4,5,6,7,8,9,10,11,12],60:[1,2,4,5,6,8,9,10,11,12],61:[1,2,4,5,6,7,8,9,11,12],62:[1,2,4,5,6,8,9,11,12],63:[1,2,4,5,6,9,11,12],64:[1,2,4,5,6,8,11,12],65:[1,2,4,5,6,11,12],66:[1,2,4,6,9,11,12],67:[1,2,4,6,11,12],68:[1,2,6,9,11,12],69:[1,2,6,11,12],70:[1,6,9,11,12],71:[1,6,11,12],72:[6,11,12],73:[6,9,12],74:[6,12],75:[6,9],76:[6],77:[]},melodica:{53:[1],54:[101],55:[2],56:[102],57:[3],58:[103],59:[4],60:[5],61:[104],62:[6],63:[105],64:[7],65:[8],66:[106],67:[9],68:[107],69:[10],70:[108],71:[11],72:[12],73:[109],74:[13],75:[110],76:[14],77:[15],78:[111],79:[16],80:[112],81:[17],82:[113],83:[18],84:[19]},baroqueRecorder:{60:[11,2,33,4,5,6,7,8],61:[11,2,33,4,5,6,7,88],62:[11,2,33,4,5,6,7],63:[11,2,33,4,5,6,77],64:[11,2,33,4,5,6],65:[11,2,33,4,5,7,8],66:[11,2,33,4,6,7],67:[11,2,33,4],68:[11,2,33,5,6,77],69:[11,2,33],70:[11,2,4,5],71:[11,2],72:[11,33],73:[2,33],74:[33],75:[33,4,5,6,7],76:[1,2,33,4,5,6],77:[1,2,33,4,5,7],78:[1,2,33,4,6],79:[1,2,33,4],80:[1,2,33,5],81:[1,2,33],82:[1,2,33,5,6,7],83:[1,2,33,5,6],84:[1,2,5,6],85:[1,2,4,5,7,8,100],86:[1,2,4,5,7,8],87:[1,2,4],88:[1,2,33,4,5,6],89:[1,2,33,4,5,7],90:[1,2,33,4,6],91:[1,2,33,4],92:[1,2,33,5],93:[1,2,33],94:[1,2,33,5,6,7],95:[1,2,33,5,6],96:[1,2,5,6],97:[1,2,4,5,7,8],98:[1,2,4]}},mappingVoicePart=(i,e)=>{if(e==="GYM")return Number(i);if(e==="COLEXIU")return{Flute:2,Clarinet:4,Trombone:14,Tuba:17,Trumpet:12,Horn:13,AltoSaxophone:6,TenorSaxophone:6,Saxophone:6,UpBassHorn:15,Melodica:137,HulusiFlute:136,PanFlute:135,Ocarina:134,Recorder:120,Ukulele:130,Mouthorgan:140,Piano:150}[i];if(e==="ORCHESTRA")return{1:23,2:2,3:5,4:4,5:12,6:14,7:13,8:15,9:17}[i];if(e==="INSTRUMENT"){let r=i;return typeof r=="string"&&(r=r.toLocaleLowerCase().replace(/ /g,"")),{flute:2,clarinet:4,trombone:14,tuba:17,trumpet:12,horn:13,altosaxophone:6,tenorsaxophone:6,saxophone:6,upbasshorn:15,melodica:137,hulusiFlute:136,panflute:135,recorder:120,ukulele:130,mouthorgan:140,piano:150,baroquerecorder:"baroque-recorder",4:"piccolo",3:"hulusi-flute",1:"pan-flute",2:"ocarina",5:"melodica",23:2,24:6,25:4,26:12,27:14,28:13,29:15,30:17,tenorrecorder:"piccolo",woodwind:"hulusi-flute",panpipes:"pan-flute",ocarina:"ocarina",whistling:"whistling",nai:"melodica",15:"baroque-recorder",16:"baroque-recorder"}[r]||0}else if(e==="ENSEMBLE"){let r=i;const s={Piccolo:"piccolo",Flute:2,"Flute 1":2,"Flute 2":2,Oboe:1,"Clarinet in Bb 1":4,"Clarinet in Bb 2":4,"Alto Clarinet in Eb":4,"Bass Clarinet in Bb":4,Bassoon:1,"Alto Saxophone":5,"Tenor Saxophone":5,"Baritone Saxophone":5,"Trumpet in Bb 1":12,"Trumpet in Bb 2":12,"Horn in F":13,"Horn in F 1":13,"Horn in F 2":13,"Trombone 1":14,"Trombone 2":14,"Trombone 3":14,Euphonium:15,Tuba:17,Chimes:1,Bells:1,Xylophone:1,"Snare Drum":1,"Bass Drum":1,Triangle:1,"Suspended Cymbal":1,"Crash Cymbals":1,"Concert Toms":1,Timpani:1,flute:2,oboe:4,clarinet:4,trombone:14,tuba:17,trumpet:12,horn:13,altosaxophone:6,tenorsaxophone:6,saxophone:6,upbasshorn:15,melodica:137,hulusiFlute:136,panflute:135,recorder:120,ukulele:130,mouthorgan:140,piano:150,4:"piccolo",3:"hulusi-flute",1:"pan-flute",2:"ocarina",5:"melodica",26:12,tenorrecorder:"piccolo",woodwind:"hulusi-flute",panpipes:"pan-flute",ocarina:"ocarina",nai:"melodica",BaroqueRecorder:"baroque-recorder"};let o;if(typeof r=="string"){for(let a in s)if(a===r){o=s[a];break}}else o=s.code;return o}return 0},matchVoicePart=(i,e)=>{if(e==="SINGLE")return{33:"pan-flute",34:"ocarina",35:"hulusi-flute",37:"piccolo",36:"melodica",38:"baroque-recorder",39:"whistling",1:2,5:5,3:4,11:12,13:14,12:13,14:15,16:17}[i];{let r=i;const s={Piccolo:"piccolo",Flute:2,"Flute 1":2,"Flute 2":2,Oboe:1,"Clarinet in Bb":4,"Clarinet in Bb 1":4,"Clarinet in Bb 2":4,"Alto Clarinet in Eb":4,"Bass Clarinet in Bb":4,Bassoon:1,"Alto Saxophone":5,"Tenor Saxophone":5,"Baritone Saxophone":5,"Trumpet in Bb 1":12,"Trumpet in Bb 2":12,"Horn in F":13,"Horn in F 1":13,"Horn in F 2":13,"Trombone 1":14,"Trombone 2":14,"Trombone 3":14,Euphonium:15,Tuba:17,Chimes:1,Bells:1,Xylophone:1,"Snare Drum":1,"Bass Drum":1,Triangle:1,"Suspended Cymbal":1,"Crash Cymbals":1,"Concert Toms":1,Timpani:1,flute:2,oboe:4,clarinet:4,trombone:14,tuba:17,trumpet:12,horn:13,altosaxophone:6,tenorsaxophone:6,saxophone:6,upbasshorn:15,melodica:137,hulusiFlute:136,panflute:135,recorder:120,ukulele:130,mouthorgan:140,piano:150,4:"piccolo",3:"hulusi-flute",1:"pan-flute",2:"ocarina",5:"melodica",26:12,tenorrecorder:"piccolo",woodwind:"hulusi-flute",panpipes:"pan-flute",ocarina:"ocarina",whistling:"whistling",nai:"melodica",BaroqueRecorder:"baroque-recorder","Drum Set":24,Marimba:26,Vibraphone:27,"Tubular Bells":30,Mallets:32};let o;if(typeof r=="string"){r=r.toLocaleLowerCase().replace(/ /g,"");for(let a in s){let l=a;if(typeof a=="string"&&(l=l.toLocaleLowerCase().replace(/ /g,"")),l===r){o=s[a];break}}}else o=s.code;return o}},subjectFingering=i=>{switch(i){case 2:return{name:"flute",direction:"transverse",height:"1.6rem",scaleData:{scale:"0.8",offset:"3.64rem"},hasTizhi:!0,id:1};case 4:return{name:"clarinet",direction:"vertical",width:"3rem",hasTizhi:!0,id:3};case 5:case 6:return{name:"saxophone",direction:"vertical",width:"4.34rem",hasTizhi:!0,id:5};case 12:return{name:"trumpet",direction:"transverse",height:"1.6rem",scaleData:{scale:"0.8",offset:"3.64rem"},hasTizhi:!1,id:11};case 13:return{name:"horn",direction:"vertical",width:"4.98rem",hasTizhi:!1,id:12};case 14:return{name:"trombone",direction:"transverse",height:"1.6rem",scaleData:{scale:"0.8",offset:"3.64rem"},hasTizhi:!1,id:13};case 15:return{name:"up-bass-horn",direction:"vertical",width:"4.34rem",hasTizhi:!1,id:14};case 17:return{name:"tuba",direction:"vertical",width:"4.34rem",hasTizhi:!1,id:16};case 120:return{name:"piccolo",direction:"vertical",width:"3rem",orientation:0,hasTizhi:!0,id:2};case"piccolo":return{name:"piccolo",direction:"vertical",width:"3rem",orientation:0,code:"竖笛",hasTizhi:!0,id:37};case"hulusi-flute":return{name:"hulusi-flute",direction:"vertical",width:"3rem",orientation:0,code:"葫芦丝",hasTizhi:!1,id:35};case"pan-flute":return{name:"pan-flute",direction:"transverse",height:"2rem",scaleData:{scale:"0.8",offset:"3.64rem"},disabledFinger:!0,orientation:0,code:"排箫",hasTizhi:!1,id:33};case"ocarina":return{name:"ocarina",direction:"vertical",width:"3rem",disabledFinger:!0,orientation:0,code:"陶笛",hasTizhi:!1,id:34};case"whistling":return{name:"whistling",direction:"vertical",width:"3rem",disabledFinger:!0,orientation:0,code:"陶笛",hasTizhi:!1,id:39};case"melodica":return{name:"melodica",direction:"transverse",height:"2rem",scaleData:{scale:"0.8",offset:"3.64rem"},orientation:0,code:"口风琴",hasTizhi:!1,id:36};case"baroque-recorder":return{name:"baroque-recorder",direction:"vertical",width:"3rem",orientation:0,code:"竖笛",hasTizhi:!0,id:38};default:return typeof i=="number"?{id:i}:{}}},getFingeringConfig=async i=>{switch(i){case"flute":return{json:(await __vitePreload(()=>import("./index-7f22768f.js"),[],import.meta.url)).default,relationship:relationships.flute,height:"60px",styles:{}};case"clarinet":return{json:(await __vitePreload(()=>import("./index-2499965c.js"),[],import.meta.url)).default,relationship:relationships.clarinet,styles:{marginLeft:".4rem",marginRight:".7rem"}};case"trumpet":return{json:(await __vitePreload(()=>import("./index-f01bef28.js"),[],import.meta.url)).default,relationship:relationships.trumpet};case"horn":return{json:(await __vitePreload(()=>import("./index-20c025d3.js"),[],import.meta.url)).default,relationship:relationships.horn,height:"212px",width:"252px"};case"tuba":return{json:(await __vitePreload(()=>import("./index-902205b3.js"),[],import.meta.url)).default,relationship:relationships.tuba};case"piccolo":return{json:(await __vitePreload(()=>import("./index-991877f6.js"),[],import.meta.url)).default,relationship:relationships.piccolo};case"piccolo1":return{json:(await __vitePreload(()=>import("./index-0bbf84fb.js"),[],import.meta.url)).default,relationship:relationships.piccolo};case"piccolo2":return{json:(await __vitePreload(()=>import("./index-f5dd9e1d.js"),[],import.meta.url)).default,relationship:relationships.piccolo};case"up-bass-horn":return{json:(await __vitePreload(()=>import("./index-ad5b3309.js"),[],import.meta.url)).default,relationship:relationships["up-bass-horn"]};case"trombone":return{json:(await __vitePreload(()=>import("./index-f23e3dbf.js"),[],import.meta.url)).default,relationship:relationships.trombone};case"saxophone":return{json:(await __vitePreload(()=>import("./index-cef965b9.js"),[],import.meta.url)).default,relationship:relationships.saxophone,styles:{marginLeft:".2rem",marginRight:".3rem"}};case"small-drum":return{json:(await __vitePreload(()=>import("./index-7ad0b9f0.js"),[],import.meta.url)).default,relationship:relationships["up-bass-horn"],width:"180px"};case"hulusi-flute":return{json:(await __vitePreload(()=>import("./index-71a277d3.js"),[],import.meta.url)).default,relationship:relationships.hulusi,styles:{marginLeft:".6rem",marginRight:".7rem"}};case"hulusi-flute1":return{json:(await __vitePreload(()=>import("./index-03bddf2b.js"),[],import.meta.url)).default,relationship:relationships.hulusi,styles:{marginLeft:".6rem",marginRight:".7rem"}};case"hulusi-flute2":return{json:(await __vitePreload(()=>import("./index-97e45cdd.js"),[],import.meta.url)).default,relationship:relationships.hulusi,styles:{marginLeft:".6rem",marginRight:".7rem"}};case"pan-flute":return{json:(await __vitePreload(()=>import("./index-0bc55d54.js"),[],import.meta.url)).default,relationship:relationships.pan};case"pan-flute1":return{json:(await __vitePreload(()=>import("./index-97c2723f.js"),[],import.meta.url)).default,relationship:relationships.pan};case"pan-flute2":return{json:(await __vitePreload(()=>import("./index-589cb412.js"),[],import.meta.url)).default,relationship:relationships.pan};case"pan-flute3":return{json:(await __vitePreload(()=>import("./index-e427d448.js"),[],import.meta.url)).default,relationship:relationships.pan};case"ocarina":return{json:(await __vitePreload(()=>import("./index-8848f89c.js"),[],import.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"ocarina1":return{json:(await __vitePreload(()=>import("./index-ad04d4cf.js"),[],import.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"ocarina2":return{json:(await __vitePreload(()=>import("./index-c7652d9b.js"),[],import.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"whistling":return{json:(await __vitePreload(()=>import("./index-c5bb109e.js"),[],import.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"whistling1":return{json:(await __vitePreload(()=>import("./index-38262e39.js"),[],import.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"whistling2":return{json:(await __vitePreload(()=>import("./index-6972bb98.js"),[],import.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"melodica":return{json:(await __vitePreload(()=>import("./index-55a98a41.js"),[],import.meta.url)).default,relationship:relationships.melodica,height:"80px",styles:{marginTop:"auto"}};case"melodica1":return{json:(await __vitePreload(()=>import("./index-b6d2ab3b.js"),[],import.meta.url)).default,relationship:relationships.melodica,height:"80px",styles:{marginTop:"auto"}};case"baroque-recorder":return{json:(await __vitePreload(()=>import("./index-7908a008.js"),[],import.meta.url)).default,relationship:relationships.baroqueRecorder};case"baroque-recorder1":return{json:(await __vitePreload(()=>import("./index-142fdf16.js"),[],import.meta.url)).default,relationship:relationships.baroqueRecorder};case"baroque-recorder2":return{json:(await __vitePreload(()=>import("./index-d13c0247.js"),[],import.meta.url)).default,relationship:relationships.baroqueRecorder};default:return null}},getMusicSheetDetail=(i,e)=>{const r=e==="open"?`/open/musicSheet/cbsDetail/${i}`:`/musicSheet/cbsDetail/${i}`;return request.get(r,{noToken:e==="open"})};class AJAX{static ajax(e,r=9e3){let s;const o=e.indexOf(".mxl")>-1?"text/plain; charset=x-user-defined":"application/xml";if(XMLHttpRequest)s=new XMLHttpRequest;else if(ActiveXObject)s=new ActiveXObject("Microsoft.XMLHTTP");else return Promise.reject(new Error("XMLHttp not supported."));return s.timeout=r,new Promise((a,l)=>{s.onreadystatechange=()=>{s.readyState===XMLHttpRequest.DONE&&(s.status===200||s.status===0&&s.responseText?a(s.responseText):l(new Error("Could not retrieve requested URL "+s.status)))},s.ontimeout=c=>{l(new Error("Server request Timeout"))},s.overrideMimeType(o),s.open("GET",e,!0),s.send()})}}const _Fraction=class{constructor(i=0,e=1,r=0,s=!0){this.numerator=0,this.denominator=1,this.wholeValue=0,this.numerator=i,this.denominator=e,this.wholeValue=r,s&&this.simplify(),this.setRealValue()}static max(i,e){return i.RealValue>e.RealValue?i:e}static Equal(i,e){return i.wholeValue===e.wholeValue&&i.Denominator===e.Denominator&&i.Numerator===e.Numerator}static createFromFraction(i){return new _Fraction(i.numerator,i.denominator,i.wholeValue,!1)}static plus(i,e){const r=i.clone();return r.Add(e),r}static minus(i,e){const r=i.clone();return r.Sub(e),r}static multiply(i,e){return new _Fraction((i.wholeValue*i.denominator+i.numerator)*(e.wholeValue*e.denominator+e.numerator),i.denominator*e.denominator)}static greatestCommonDenominator(i,e){if(i===0)return e;if(e===1)return 1;for(;Math.abs(e)>=1&&Math.abs(i)>=1;)i>e?i-=e:e-=i;const r=Math.round(i);return Math.max(r,1)}toString(){let i=this.numerator+"/"+this.denominator;return this.wholeValue!==0&&(i=this.wholeValue+" "+i),i}clone(){return new _Fraction(this.numerator,this.denominator,this.wholeValue,!1)}get Numerator(){return this.numerator}set Numerator(i){this.numerator!==i&&(this.numerator=i,this.simplify(),this.setRealValue())}get Denominator(){return this.denominator}set Denominator(i){this.denominator!==i&&(this.denominator=i,this.numerator!==0&&this.simplify(),this.setRealValue())}get WholeValue(){return this.wholeValue}set WholeValue(i){this.wholeValue!==i&&(this.wholeValue=i,this.setRealValue())}GetExpandedNumerator(){return this.wholeValue*this.denominator+this.numerator}calculateNumberOfNeededDots(){let i=1,e=2;const r=this.GetExpandedNumerator();for(;ei;)e.Numerator++;if(this.numerator>this.denominator){const r=new _Fraction(this.numerator-1,this.denominator,this.wholeValue);for(;r.Denominator>i;)r.Numerator--;if(r.Denominator_Fraction.maximumAllowedNumber){const r=this.denominator/_Fraction.maximumAllowedNumber;this.numerator=Math.round(this.numerator/r),this.denominator=Math.round(this.denominator/r)}if(this.numerator>_Fraction.maximumAllowedNumber){const r=this.numerator/_Fraction.maximumAllowedNumber;this.numerator=Math.round(this.numerator/r),this.denominator=Math.round(this.denominator/r)}}isOnBeat(i){const e=this.distanceFromBeat(i);return Math.abs(e)<_Fraction.FloatInaccuracyTolerance}distanceFromBeat(i){const e=new _Fraction(1,i.Denominator);return this.RealValue%e.RealValue}};let Fraction$1=_Fraction;Fraction$1.maximumAllowedNumber=46340;Fraction$1.FloatInaccuracyTolerance=1e-4;class AbstractExpression{constructor(e){this.placement=e}static isStringInStringList(e,r){for(let s=0,o=e.length;s(i[i.Above=0]="Above",i[i.Below=1]="Below",i[i.Left=2]="Left",i[i.Right=3]="Right",i[i.NotYetDefined=4]="NotYetDefined",i[i.AboveOrBelow=5]="AboveOrBelow",i))(PlacementEnum||{});const _ContinuousDynamicExpression=class extends AbstractExpression{constructor(i,e,r,s,o,a,l=""){super(e),super.parentMeasure=s,this.NumberXml=a,this.dynamicType=i,this.label=l,this.staffNumber=r,this.activeInstantaneousDynamic=o,this.startVolume=1,this.endVolume=1,this.setStartAndEndVolume(),l!==""&&this.setType()}setStartAndEndVolume(){this.activeInstantaneousDynamic&&(this.dynamicType===0&&(this.startVolume=this.activeInstantaneousDynamic.Volume,this.endVolume=this.activeInstantaneousDynamic.Volume*1.2),this.dynamicType===1&&(this.startVolume=this.activeInstantaneousDynamic.Volume,this.endVolume=this.activeInstantaneousDynamic.Volume*.8))}get DynamicType(){return this.dynamicType}set DynamicType(i){this.dynamicType=i}get StartMultiExpression(){return this.startMultiExpression}set StartMultiExpression(i){this.startMultiExpression=i}get EndMultiExpression(){return this.endMultiExpression}set EndMultiExpression(i){this.endMultiExpression=i}get Placement(){return this.placement}set Placement(i){this.placement=i}get StartVolume(){return this.startVolume}set StartVolume(i){this.startVolume=i}get EndVolume(){return this.endVolume}set EndVolume(i){this.endVolume=i}get StaffNumber(){return this.staffNumber}set StaffNumber(i){this.staffNumber=i}get Label(){return this.label}set Label(i){this.label=i,this.setType()}static isInputStringContinuousDynamic(i){return i?_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicIncreasing,i)||_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicDecreasing,i):!1}getInterpolatedDynamic(i){const e=this.StartMultiExpression.AbsoluteTimestamp;let r;if(this.EndMultiExpression?r=this.EndMultiExpression.AbsoluteTimestamp:r=Fraction$1.plus(this.startMultiExpression.SourceMeasureParent.AbsoluteTimestamp,this.startMultiExpression.SourceMeasureParent.Duration),i.lt(e))return-1;if(r.lt(i))return-2;const s=Fraction$1.minus(i,e).RealValue/Fraction$1.minus(r,e).RealValue;return Math.max(0,Math.min(99.9,this.startVolume+(this.endVolume-this.startVolume)*s))}isWedge(){return!this.label}setType(){_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicIncreasing,this.label)?this.dynamicType=0:_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicDecreasing,this.label)&&(this.dynamicType=1)}};let ContinuousDynamicExpression=_ContinuousDynamicExpression;ContinuousDynamicExpression.listContinuousDynamicIncreasing=["crescendo","cresc","cresc.","cres."];ContinuousDynamicExpression.listContinuousDynamicDecreasing=["decrescendo","decresc","decr.","diminuendo","dim.","dim"];var ContDynamicEnum=(i=>(i[i.crescendo=0]="crescendo",i[i.diminuendo=1]="diminuendo",i))(ContDynamicEnum||{}),DynamicExpressionSymbolEnum=(i=>(i[i.p=0]="p",i[i.f=1]="f",i[i.s=2]="s",i[i.z=3]="z",i[i.m=4]="m",i[i.r=5]="r",i))(DynamicExpressionSymbolEnum||{});class MusicSheetReadingException{constructor(e,r){this.message=e,r&&(this.message+=" "+r.toString())}}class ArgumentOutOfRangeException{constructor(e){this.message=e}}class InvalidEnumArgumentException{constructor(e){this.message=e}}var loglevelExports={},loglevel={get exports(){return loglevelExports},set exports(i){loglevelExports=i}};(function(i){(function(e,r){i.exports?i.exports=r():e.log=r()})(commonjsGlobal,function(){var e=function(){},r="undefined",s=typeof window!==r&&typeof window.navigator!==r&&/Trident\/|MSIE /.test(window.navigator.userAgent),o=["trace","debug","info","warn","error"];function a(S,E){var x=S[E];if(typeof x.bind=="function")return x.bind(S);try{return Function.prototype.bind.call(x,S)}catch(P){return function(){return Function.prototype.apply.apply(x,[S,arguments])}}}function l(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(S){return S==="debug"&&(S="log"),typeof console===r?!1:S==="trace"&&s?l:console[S]!==void 0?a(console,S):console.log!==void 0?a(console,"log"):e}function u(S,E){for(var x=0;x=0&&B<=P.levels.SILENT){if(C=B,_!==!1&&k(B),u.call(P,B,S),typeof console===r&&B"u"}i.isUndefined=c;function u(m){return Object.prototype.toString.call(m)==="[object String]"}i.isString=u;function d(m){return c(m)||!l(m)?function(y,b){return y=0;a--)if(s(i[a],e))return a;return-1}arrays$4.lastIndexOf=lastIndexOf;function contains(i,e,r){return indexOf$1(i,e,r)>=0}arrays$4.contains=contains;function remove(i,e,r){var s=indexOf$1(i,e,r);return s<0?!1:(i.splice(s,1),!0)}arrays$4.remove=remove;function frequency(i,e,r){for(var s=r||util$a.defaultEquals,o=i.length,a=0,l=0;l=i.length||r<0||r>=i.length)return!1;var s=i[e];return i[e]=i[r],i[r]=s,!0}arrays$4.swap=swap;function toString$1(i){return"["+i.toString()+"]"}arrays$4.toString=toString$1;function forEach(i,e){for(var r=0,s=i;re.size())return!1;var r=!0;return this.forEach(function(s){return e.contains(s)?!0:(r=!1,!1)}),r},i.prototype.remove=function(e){return this.contains(e)?(this.dictionary.remove(e),!0):!1},i.prototype.forEach=function(e){this.dictionary.forEach(function(r,s){return e(s)})},i.prototype.toArray=function(){return this.dictionary.values()},i.prototype.isEmpty=function(){return this.dictionary.isEmpty()},i.prototype.size=function(){return this.dictionary.size()},i.prototype.clear=function(){this.dictionary.clear()},i.prototype.toString=function(){return arrays$3.toString(this.toArray())},i}();_Set.default=Set$1;Object.defineProperty(Bag$1,"__esModule",{value:!0});var util$7=util$b,Dictionary_1$4=Dictionary$2,Set_1$1=_Set,Bag=function(){function i(e){this.toStrF=e||util$7.defaultToString,this.dictionary=new Dictionary_1$4.default(this.toStrF),this.nElements=0}return i.prototype.add=function(e,r){if(r===void 0&&(r=1),util$7.isUndefined(e)||r<=0)return!1;if(this.contains(e))this.dictionary.getValue(e).copies+=r;else{var s={value:e,copies:r};this.dictionary.setValue(e,s)}return this.nElements+=r,!0},i.prototype.count=function(e){return this.contains(e)?this.dictionary.getValue(e).copies:0},i.prototype.contains=function(e){return this.dictionary.containsKey(e)},i.prototype.remove=function(e,r){if(r===void 0&&(r=1),util$7.isUndefined(e)||r<=0)return!1;if(this.contains(e)){var s=this.dictionary.getValue(e);return r>s.copies?this.nElements-=s.copies:this.nElements-=r,s.copies-=r,s.copies<=0&&this.dictionary.remove(e),!0}else return!1},i.prototype.toArray=function(){for(var e=[],r=this.dictionary.values(),s=0,o=r;sthis.nElements||util$6.isUndefined(e))return!1;var s=this.createNode(e);if(this.nElements===0||this.lastNode===null)this.firstNode=s,this.lastNode=s;else if(r===this.nElements)this.lastNode.next=s,this.lastNode=s;else if(r===0)s.next=this.firstNode,this.firstNode=s;else{var o=this.nodeAtIndex(r-1);if(o===null)return!1;s.next=o.next,o.next=s}return this.nElements++,!0},i.prototype.first=function(){if(this.firstNode!==null)return this.firstNode.element},i.prototype.last=function(){if(this.lastNode!==null)return this.lastNode.element},i.prototype.elementAtIndex=function(e){var r=this.nodeAtIndex(e);if(r!==null)return r.element},i.prototype.indexOf=function(e,r){var s=r||util$6.defaultEquals;if(util$6.isUndefined(e))return-1;for(var o=this.firstNode,a=0;o!==null;){if(s(o.element,e))return a;a++,o=o.next}return-1},i.prototype.contains=function(e,r){return this.indexOf(e,r)>=0},i.prototype.remove=function(e,r){var s=r||util$6.defaultEquals;if(this.nElements<1||util$6.isUndefined(e))return!1;for(var o=null,a=this.firstNode;a!==null;){if(s(a.element,e))return o===null?(this.firstNode=a.next,a===this.lastNode&&(this.lastNode=null)):a===this.lastNode?(this.lastNode=o,o.next=a.next,a.next=null):(o.next=a.next,a.next=null),this.nElements--,!0;o=a,a=a.next}return!1},i.prototype.clear=function(){this.firstNode=null,this.lastNode=null,this.nElements=0},i.prototype.equals=function(e,r){var s=r||util$6.defaultEquals;return!(e instanceof i)||this.size()!==e.size()?!1:this.equalsAux(this.firstNode,e.firstNode,s)},i.prototype.equalsAux=function(e,r,s){for(;e!==null&&r!==null;){if(!s(e.element,r.element))return!1;e=e.next,r=r.next}return!0},i.prototype.removeElementAtIndex=function(e){if(!(e<0||e>=this.nElements||this.firstNode===null||this.lastNode===null)){var r;if(this.nElements===1)r=this.firstNode.element,this.firstNode=null,this.lastNode=null;else{var s=this.nodeAtIndex(e-1);s===null?(r=this.firstNode.element,this.firstNode=this.firstNode.next):s.next===this.lastNode&&(r=this.lastNode.element,this.lastNode=s),s!==null&&s.next!==null&&(r=s.next.element,s.next=s.next.next)}return this.nElements--,r}},i.prototype.forEach=function(e){for(var r=this.firstNode;r!==null&&e(r.element)!==!1;)r=r.next},i.prototype.reverse=function(){for(var e=null,r=this.firstNode,s=null;r!==null;)s=r.next,r.next=e,e=r,r=s;s=this.firstNode,this.firstNode=this.lastNode,this.lastNode=s},i.prototype.toArray=function(){for(var e=[],r=this.firstNode;r!==null;)e.push(r.element),r=r.next;return e},i.prototype.size=function(){return this.nElements},i.prototype.isEmpty=function(){return this.nElements<=0},i.prototype.toString=function(){return arrays$2.toString(this.toArray())},i.prototype.nodeAtIndex=function(e){if(e<0||e>=this.nElements)return null;if(e===this.nElements-1)return this.lastNode;for(var r=this.firstNode,s=0;s0&&(e=e.rightCh);return e},i.prototype.transplant=function(e,r){e.parent===null?this.root=r:e===e.parent.leftCh?e.parent.leftCh=r:e.parent.rightCh=r,r!==null&&(r.parent=e.parent)},i.prototype.removeNode=function(e){if(e.leftCh===null)this.transplant(e,e.rightCh);else if(e.rightCh===null)this.transplant(e,e.leftCh);else{var r=this.minimumAux(e.rightCh);r.parent!==e&&(this.transplant(r,r.rightCh),r.rightCh=e.rightCh,r.rightCh.parent=r),this.transplant(e,r),r.leftCh=e.leftCh,r.leftCh.parent=r}},i.prototype.inorderTraversalAux=function(e,r,s){e===null||s.stop||(this.inorderTraversalAux(e.leftCh,r,s),!s.stop&&(s.stop=r(e.element)===!1,!s.stop&&this.inorderTraversalAux(e.rightCh,r,s)))},i.prototype.levelTraversalAux=function(e,r){var s=new Queue_1$1.default;for(e!==null&&s.enqueue(e),e=s.dequeue()||null;e!=null;){if(r(e.element)===!1)return;e.leftCh!==null&&s.enqueue(e.leftCh),e.rightCh!==null&&s.enqueue(e.rightCh),e=s.dequeue()||null}},i.prototype.preorderTraversalAux=function(e,r,s){e===null||s.stop||(s.stop=r(e.element)===!1,!s.stop&&(this.preorderTraversalAux(e.leftCh,r,s),!s.stop&&this.preorderTraversalAux(e.rightCh,r,s)))},i.prototype.postorderTraversalAux=function(e,r,s){e===null||s.stop||(this.postorderTraversalAux(e.leftCh,r,s),!s.stop&&(this.postorderTraversalAux(e.rightCh,r,s),!s.stop&&(s.stop=r(e.element)===!1)))},i.prototype.minimumAux=function(e){for(;e!=null&&e.leftCh!==null;)e=e.leftCh;return e},i.prototype.maximumAux=function(e){for(;e!=null&&e.rightCh!==null;)e=e.rightCh;return e},i.prototype.heightAux=function(e){return e===null?-1:Math.max(this.heightAux(e.leftCh),this.heightAux(e.rightCh))+1},i.prototype.insertNode=function(e){for(var r=null,s=this.root;s!==null;){var o=this.compare(e.element,s.element);if(o===0)return null;o<0?(r=s,s=s.leftCh):(r=s,s=s.rightCh)}return e.parent=r,r===null?this.root=e:this.compare(e.element,r.element)<0?r.leftCh=e:r.rightCh=e,e},i.prototype.createNode=function(e){return{element:e,leftCh:null,rightCh:null,parent:null}},i}();BSTreeKV$1.default=BSTreeKV;var __extends$2=commonjsGlobal&&commonjsGlobal.__extends||function(){var i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var s in r)r.hasOwnProperty(s)&&(e[s]=r[s])};return function(e,r){i(e,r);function s(){this.constructor=e}e.prototype=r===null?Object.create(r):(s.prototype=r.prototype,new s)}}();Object.defineProperty(BSTree$1,"__esModule",{value:!0});var BSTreeKV_1$1=BSTreeKV$1,BSTree=function(i){__extends$2(e,i);function e(){return i!==null&&i.apply(this,arguments)||this}return e}(BSTreeKV_1$1.default);BSTree$1.default=BSTree;var Heap$1={};Object.defineProperty(Heap$1,"__esModule",{value:!0});var collections=util$b,arrays$1=arrays$4,Heap=function(){function i(e){this.data=[],this.compare=e||collections.defaultCompare}return i.prototype.leftChildIndex=function(e){return 2*e+1},i.prototype.rightChildIndex=function(e){return 2*e+2},i.prototype.parentIndex=function(e){return Math.floor((e-1)/2)},i.prototype.minIndex=function(e,r){return r>=this.data.length?e>=this.data.length?-1:e:this.compare(this.data[e],this.data[r])<=0?e:r},i.prototype.siftUp=function(e){for(var r=this.parentIndex(e);e>0&&this.compare(this.data[r],this.data[e])>0;)arrays$1.swap(this.data,r,e),e=r,r=this.parentIndex(e)},i.prototype.siftDown=function(e){for(var r=this.minIndex(this.leftChildIndex(e),this.rightChildIndex(e));r>=0&&this.compare(this.data[e],this.data[r])>0;)arrays$1.swap(this.data,r,e),e=r,r=this.minIndex(this.leftChildIndex(e),this.rightChildIndex(e))},i.prototype.peek=function(){if(this.data.length>0)return this.data[0]},i.prototype.add=function(e){return collections.isUndefined(e)?!1:(this.data.push(e),this.siftUp(this.data.length-1),!0)},i.prototype.removeRoot=function(){if(this.data.length>0){var e=this.data[0];return this.data[0]=this.data[this.data.length-1],this.data.splice(this.data.length-1,1),this.data.length>0&&this.siftDown(0),e}},i.prototype.contains=function(e){var r=collections.compareToEquals(this.compare);return arrays$1.contains(this.data,e,r)},i.prototype.size=function(){return this.data.length},i.prototype.isEmpty=function(){return this.data.length<=0},i.prototype.clear=function(){this.data.length=0},i.prototype.forEach=function(e){arrays$1.forEach(this.data,e)},i}();Heap$1.default=Heap;var LinkedDictionary$1={},__extends$1=commonjsGlobal&&commonjsGlobal.__extends||function(){var i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var s in r)r.hasOwnProperty(s)&&(e[s]=r[s])};return function(e,r){i(e,r);function s(){this.constructor=e}e.prototype=r===null?Object.create(r):(s.prototype=r.prototype,new s)}}();Object.defineProperty(LinkedDictionary$1,"__esModule",{value:!0});var Dictionary_1$3=Dictionary$2,util$4=util$b,LinkedDictionaryPair=function(){function i(e,r){this.key=e,this.value=r}return i.prototype.unlink=function(){this.prev.next=this.next,this.next.prev=this.prev},i}(),HeadOrTailLinkedDictionaryPair=function(){function i(){this.key=null,this.value=null}return i.prototype.unlink=function(){this.prev.next=this.next,this.next.prev=this.prev},i}();function isHeadOrTailLinkedDictionaryPair(i){return!i.next}var LinkedDictionary=function(i){__extends$1(e,i);function e(r){var s=i.call(this,r)||this;return s.head=new HeadOrTailLinkedDictionaryPair,s.tail=new HeadOrTailLinkedDictionaryPair,s.head.next=s.tail,s.tail.prev=s.head,s}return e.prototype.appendToTail=function(r){var s=this.tail.prev;s.next=r,r.prev=s,r.next=this.tail,this.tail.prev=r},e.prototype.getLinkedDictionaryPair=function(r){if(!util$4.isUndefined(r)){var s="$"+this.toStr(r),o=this.table[s];return o}},e.prototype.getValue=function(r){var s=this.getLinkedDictionaryPair(r);if(!util$4.isUndefined(s))return s.value},e.prototype.remove=function(r){var s=this.getLinkedDictionaryPair(r);if(!util$4.isUndefined(s))return i.prototype.remove.call(this,r),s.unlink(),s.value},e.prototype.clear=function(){i.prototype.clear.call(this),this.head.next=this.tail,this.tail.prev=this.head},e.prototype.replace=function(r,s){var o="$"+this.toStr(s.key);s.next=r.next,s.prev=r.prev,this.remove(r.key),s.prev.next=s,s.next.prev=s,this.table[o]=s,++this.nElements},e.prototype.setValue=function(r,s){if(!(util$4.isUndefined(r)||util$4.isUndefined(s))){var o=this.getLinkedDictionaryPair(r),a=new LinkedDictionaryPair(r,s),l="$"+this.toStr(r);if(util$4.isUndefined(o)){this.appendToTail(a),this.table[l]=a,++this.nElements;return}else return this.replace(o,a),o.value}},e.prototype.keys=function(){var r=[];return this.forEach(function(s,o){r.push(s)}),r},e.prototype.values=function(){var r=[];return this.forEach(function(s,o){r.push(o)}),r},e.prototype.forEach=function(r){for(var s=this.head.next;!isHeadOrTailLinkedDictionaryPair(s);){var o=r(s.key,s.value);if(o===!1)return;s=s.next}},e}(Dictionary_1$3.default);LinkedDictionary$1.default=LinkedDictionary;var MultiDictionary$1={};Object.defineProperty(MultiDictionary$1,"__esModule",{value:!0});var util$3=util$b,Dictionary_1$2=Dictionary$2,arrays=arrays$4,MultiDictionary=function(){function i(e,r,s){s===void 0&&(s=!1),this.dict=new Dictionary_1$2.default(e),this.equalsF=r||util$3.defaultEquals,this.allowDuplicate=s}return i.prototype.getValue=function(e){var r=this.dict.getValue(e);return util$3.isUndefined(r)?[]:arrays.copy(r)},i.prototype.setValue=function(e,r){if(util$3.isUndefined(e)||util$3.isUndefined(r))return!1;var s=this.dict.getValue(e);return util$3.isUndefined(s)?(this.dict.setValue(e,[r]),!0):!this.allowDuplicate&&arrays.contains(s,r,this.equalsF)?!1:(s.push(r),!0)},i.prototype.remove=function(e,r){if(util$3.isUndefined(r)){var s=this.dict.remove(e);return!util$3.isUndefined(s)}var o=this.dict.getValue(e);return!util$3.isUndefined(o)&&arrays.remove(o,r,this.equalsF)?(o.length===0&&this.dict.remove(e),!0):!1},i.prototype.keys=function(){return this.dict.keys()},i.prototype.values=function(){for(var e=this.dict.values(),r=[],s=0,o=e;s-1&&this.insertIdIntoRoot(r,s);for(var o in this.nodes)if(this.nodes.hasOwnProperty(o)){var a=this.findNodeId(o,e);a>-1&&this.insertIdIntoNode(o,r,a)}},i.prototype.insertIdAfterId=function(e,r){var s=this.findRootId(e);s>-1&&this.insertIdIntoRoot(r,s+1);for(var o in this.nodes)if(this.nodes.hasOwnProperty(o)){var a=this.findNodeId(o,e);a>-1&&this.insertIdIntoNode(o,r,a+1)}},i.prototype.insertIdIntoId=function(e,r){this.nodeInsertAtEnd(e,r),this.nodes[r]=[]},i.prototype.insertIdIntoRoot=function(e,r){if(r===void 0)this.rootInsertAtEnd(e);else if(r<0){var s=this.rootIds.length;this.rootIds.splice(r+s+1,0,e)}else this.rootIds.splice(r,0,e);this.nodes[e]=this.nodes[e]||[]},i.prototype.insertIdIntoNode=function(e,r,s){if(this.nodes[e]=this.nodes[e]||[],this.nodes[r]=this.nodes[r]||[],s===void 0)this.nodeInsertAtEnd(e,r);else if(s<0){var o=this.nodes[e].length;this.nodes[e].splice(s+o+1,0,r)}else this.nodes[e].splice(s,0,r)},i.prototype.moveId=function(e,r,s){var o=e,a=this.findRootId(o);this.nodes[r];for(var l in this.nodes)if(this.nodes.hasOwnProperty(l)){this.findNodeId(l,r);break}var c=r,u=this.findRootId(c);this.nodes[r];for(var l in this.nodes)if(this.nodes.hasOwnProperty(l)){this.findNodeId(l,r);break}if(a>-1)if(u>-1)switch(this.rootDelete(a),u>a&&u--,s){case Direction.BEFORE:this.insertIdIntoRoot(o,u);break;case Direction.AFTER:this.insertIdIntoRoot(o,u+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(c,o);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(c,o);break}else{this.rootDelete(a);for(var l in this.nodes)if(this.nodes.hasOwnProperty(l)){var d=this.findNodeId(l,c);if(d>-1){switch(s){case Direction.BEFORE:this.insertIdIntoNode(l,o,d);break;case Direction.AFTER:this.insertIdIntoNode(l,o,d+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(c,o);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(c,o);break}break}}}else if(u>-1){for(var l in this.nodes)if(this.nodes.hasOwnProperty(l)){var d=this.findNodeId(l,o);if(d>-1){this.nodeDeleteAtIndex(l,d);break}}switch(s){case Direction.BEFORE:this.insertIdIntoRoot(o,u);break;case Direction.AFTER:this.insertIdIntoRoot(o,u+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(c,o);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(c,o);break}}else{for(var l in this.nodes)if(this.nodes.hasOwnProperty(l)){var d=this.findNodeId(l,o);if(d>-1){this.nodeDeleteAtIndex(l,d);break}}for(var l in this.nodes)if(this.nodes.hasOwnProperty(l)){var d=this.findNodeId(l,c);if(d>-1){switch(s){case Direction.BEFORE:this.insertIdIntoNode(l,o,d);break;case Direction.AFTER:this.insertIdIntoNode(l,o,d+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(c,o);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(c,o);break}break}}}},i.prototype.swapArrayElements=function(e,r,s){var o=e[r];return e[r]=e[s],e[s]=o,e},i.prototype.rootDeleteId=function(e){var r=this.findRootId(e);r>-1&&this.rootDelete(r)},i.prototype.nodeAndSubNodesDelete=function(e){for(var r=[],s=0;s(i[i.pppppp=0]="pppppp",i[i.ppppp=1]="ppppp",i[i.pppp=2]="pppp",i[i.ppp=3]="ppp",i[i.pp=4]="pp",i[i.p=5]="p",i[i.mp=6]="mp",i[i.mf=7]="mf",i[i.f=8]="f",i[i.ff=9]="ff",i[i.fff=10]="fff",i[i.ffff=11]="ffff",i[i.fffff=12]="fffff",i[i.ffffff=13]="ffffff",i[i.sf=14]="sf",i[i.sff=15]="sff",i[i.sfp=16]="sfp",i[i.sfpp=17]="sfpp",i[i.fp=18]="fp",i[i.rf=19]="rf",i[i.rfz=20]="rfz",i[i.sfz=21]="sfz",i[i.sffz=22]="sffz",i[i.fz=23]="fz",i[i.other=24]="other",i))(DynamicEnum||{});InstantaneousDynamicExpression.staticConstructor();class DynamicsContainer{constructor(e,r){e instanceof ContinuousDynamicExpression?this.continuousDynamicExpression=e:e instanceof InstantaneousDynamicExpression&&(this.instantaneousDynamicExpression=e),this.staffNumber=r}static Compare(e,r){return e.parMultiExpression().AbsoluteTimestamp.CompareTo(r.parMultiExpression().AbsoluteTimestamp)}parMultiExpression(){if(this.continuousDynamicExpression)return this.continuousDynamicExpression.StartMultiExpression;if(this.instantaneousDynamicExpression)return this.instantaneousDynamicExpression.ParentMultiExpression}}class AbstractNotationInstruction{constructor(e){this.printObject=!0,this.parent=e}get Parent(){return this.parent}set Parent(e){this.parent=e}get PrintObject(){return this.printObject}set PrintObject(e){this.printObject=e}}class RhythmInstruction extends AbstractNotationInstruction{constructor(e,r){super(void 0),this.rhythm=e,this.numerator=e.Numerator,this.denominator=e.Denominator,this.symbolEnum=r}get Rhythm(){return this.rhythm}set Rhythm(e){this.rhythm=e}get SymbolEnum(){return this.symbolEnum}set SymbolEnum(e){this.symbolEnum=e}clone(){return new RhythmInstruction(this.rhythm.clone(),this.symbolEnum)}OperatorEquals(e){const r=this;return r===e?!0:!r||!e?!1:r.numerator===e.numerator&&r.denominator===e.denominator}OperatorNotEqual(e){return this!==e}ToString(){return"Rhythm: "+this.rhythm.toString()}}var RhythmSymbolEnum=(i=>(i[i.NONE=0]="NONE",i[i.COMMON=1]="COMMON",i[i.CUT=2]="CUT",i))(RhythmSymbolEnum||{});class MusicPartManagerIterator{constructor(e,r,s){this.currentMeasureIndex=0,this.currentPartIndex=0,this.currentVoiceEntryIndex=-1,this.currentDynamicEntryIndex=0,this.currentTempoEntryIndex=0,this.currentDynamicChangingExpressions=[],this.repetitionIterationCountDictKeys=[],this.repetitionIterationCountDictValues=[],this.currentRepetition=void 0,this.endReached=!1,this.frontReached=!1,this.currentTimeStamp=new Fraction$1(0,1),this.currentEnrolledMeasureTimestamp=new Fraction$1(0,1),this.currentRelativeInMeasureTimestamp=new Fraction$1(0,1),this.currentVerticalContainerInMeasureTimestamp=new Fraction$1(0,1),this.jumpResponsibleRepetition=void 0,this.activeDynamicExpressions=[],this.SkipInvisibleNotes=!0,this.testNoteIdx=0;try{this.frontReached=!0,this.musicSheet=e,this.currentBpm=e.userStartTempoInBPM,this.currentVoiceEntries=void 0,this.frontReached=!1;for(const o of this.musicSheet.Repetitions)this.setRepetitionIterationCount(o,1);for(let o=0;o=this.JumpResponsibleRepetition.StartIndex&&o.EndIndex<=this.JumpResponsibleRepetition.EndIndex&&this.resetRepetitionIterationCount(o)}}handleRepetitionsAtMeasureEnd(){for(let e=0,r=this.currentMeasure.LastRepetitionInstructions.length;e-1&&this.getRepetitionIterationCount(o)=this.JumpResponsibleRepetition.StartIndex&&o.EndIndex<=this.JumpResponsibleRepetition.EndIndex&&this.resetRepetitionIterationCount(o),this.repetitionIterationCountDictKeys.contains(o))){const a=o.getForwardJumpTargetForIteration(this.getRepetitionIterationCount(o));if(a>=0){this.currentMeasureIndex=a,this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex],this.currentVoiceEntryIndex=-1,this.jumpResponsibleRepetition=o,this.forwardJumpOccurred=!0;return}a===-2&&(this.endReached=!0)}}}this.currentMeasureIndex++,this.JumpResponsibleRepetition!==void 0&&this.currentMeasureIndex>this.JumpResponsibleRepetition.EndIndex&&(this.jumpResponsibleRepetition=void 0)}doBackJump(e){this.currentMeasureIndex=e.getBackwardJumpTarget(),this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex],this.currentVoiceEntryIndex=-1,this.incrementRepetitionIterationCount(e),this.jumpResponsibleRepetition=e,this.backJumpOccurred=!0}activateCurrentRhythmInstructions(){if(this.currentMeasure!==void 0&&this.currentMeasure.FirstInstructionsStaffEntries.length>0&&this.currentMeasure.FirstInstructionsStaffEntries[0]!==void 0){const e=this.currentMeasure.FirstInstructionsStaffEntries[0].Instructions;for(let r=0,s=e.length;r0&&(this.currentDynamicEntryIndex>=e.length||e[this.currentDynamicEntryIndex].parMultiExpression().AbsoluteTimestamp.gte(this.CurrentSourceTimestamp));)this.currentDynamicEntryIndex--;for(;this.currentDynamicEntryIndex0&&(this.currentTempoEntryIndex>=r.length||r[this.currentTempoEntryIndex].AbsoluteTimestamp.gte(this.CurrentSourceTimestamp));)this.currentTempoEntryIndex--;for(;this.currentTempoEntryIndex0){this.currentVoiceEntryIndex--;const e=this.currentMeasure.VerticalSourceStaffEntryContainers[this.currentVoiceEntryIndex];this.currentVoiceEntries=this.getVoiceEntries(e),this.currentVerticalContainerInMeasureTimestamp=e.Timestamp,this.currentTimeStamp=Fraction$1.plus(this.currentMeasure.AbsoluteTimestamp,this.currentVerticalContainerInMeasureTimestamp),this.activateCurrentDynamicOrTempoInstructions();const r=this.musicSheet.SelectionEnd;r&&this.currentTimeStamp.lt(r)&&(this.endReached=!1),this.currentMeasureIndex=this.musicSheet.SourceMeasures.indexOf(this.CurrentMeasure);return}else if(this.currentVoiceEntryIndex===0&&this.currentMeasureIndex!==0){const e=this.musicSheet.SourceMeasures[this.currentMeasureIndex-1];this.currentMeasureIndex--,this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex];const r=e.VerticalSourceStaffEntryContainers[e.VerticalSourceStaffEntryContainers.length-1];this.currentVoiceEntries=this.getVoiceEntries(r),this.currentVerticalContainerInMeasureTimestamp=r.Timestamp,this.currentVoiceEntryIndex=e.VerticalSourceStaffEntryContainers.length-1,this.currentTimeStamp=Fraction$1.plus(this.currentMeasure.AbsoluteTimestamp,r.Timestamp),this.activateCurrentDynamicOrTempoInstructions();const s=this.musicSheet.SelectionEnd;s&&this.currentTimeStamp.lt(s)&&(this.endReached=!1);return}this.frontReached=!0,this.currentTimeStamp=new Fraction$1(-1,1)}recursiveMove(){var e,r,s,o;if(this.currentVoiceEntryIndex++,this.currentVoiceEntryIndex===0&&(this.handleRepetitionsAtMeasureBegin(),this.activateCurrentRhythmInstructions()),this.currentVoiceEntryIndex>=0&&this.currentVoiceEntryIndex=0&&this.currentMeasureIndex0){if(!e)return!0;for(let s=0,o=r.length;sr,this.openSheetMusicDisplay.Sheet.SelectionStart=this.openSheetMusicDisplay.Sheet.SourceMeasures[r].AbsoluteTimestamp,this.openSheetMusicDisplay.Sheet&&this.openSheetMusicDisplay.Sheet.SourceMeasures.length>s){const o=this.openSheetMusicDisplay.Sheet.SourceMeasures[s];this.openSheetMusicDisplay.Sheet.SelectionEnd=Fraction$1.plus(o.AbsoluteTimestamp,o.Duration)}this.iterator=this.manager.getIterator(),this.iterator.SkipInvisibleNotes=this.skipInvisibleNotes}getStaffEntryFromVoiceEntry(e){const r=e.ParentSourceStaffEntry.VerticalContainerParent.ParentMeasure.measureListIndex,s=e.ParentSourceStaffEntry.ParentStaff.idInMusicSheet;return this.graphic.findGraphicalStaffEntryFromMeasureList(s,r,e.ParentSourceStaffEntry)}updateWithTimestamp(e){const r=this.manager.absoluteEnrolledToSheetTimestamp(e),s=this.graphic.calculateXPositionFromTimestamp(r),o=s[0],a=s[1];this.updateCurrentPageFromSystem(a);const l=s[2];if(!l)return;const c=Math.max(l.parentMeasure.MeasureNumber,1);let u;for(const y of this.graphic.MeasureList[c-1])if(y){u=y;break}const d=this.graphic.calculateCursorPoints(o,a),g=d[0].y,m=d[1].y-g;if(u){if(this.updateWidthAndStyle(u.PositionAndShape,o,g,m),this.openSheetMusicDisplay.FollowCursor){const y=this.cursorElement.getBoundingClientRect().top;this.cursorElement.scrollIntoView({behavior:y<1e3?"smooth":"auto",block:this.ScrollPosition})}this.cursorElement.style.display=""}}update(){if(this.hidden||this.hidden===void 0||this.hidden===null)return;this.updateCurrentPage();const e=this.Iterator;let r=e.CurrentVisibleVoiceEntries(),s=e.CurrentMeasureIndex,o=0,a=0,l=0,c;if(r.length===0&&!e.FrontReached&&!e.EndReached&&(e.moveToPrevious(),r=e.CurrentVisibleVoiceEntries(),e.moveToNext()),e.FrontReached&&r.length===0){e.moveToNext(),r=e.CurrentVisibleVoiceEntries();const y=this.findVisibleGraphicalMeasure(e.CurrentMeasureIndex);o=y.PositionAndShape.AbsolutePosition.x,c=y.ParentMusicSystem,e.moveToPrevious()}else if(e.EndReached||!e.CurrentVoiceEntries||r.length===0){e.moveToPrevious(),r=e.CurrentVisibleVoiceEntries(),s=e.CurrentMeasureIndex;const y=this.findVisibleGraphicalMeasure(e.CurrentMeasureIndex);o=y.PositionAndShape.AbsolutePosition.x+y.PositionAndShape.Size.width,c=y.ParentMusicSystem,e.moveToNext()}else if(e.CurrentMeasure.isReducedToMultiRest){const y=this.findVisibleGraphicalMeasure(e.CurrentMeasureIndex),b=y.parentSourceMeasure.multipleRestMeasures,S=e.CurrentMeasure.multipleRestMeasureNumber/(b+1),E=y.PositionAndShape.Size.width-y.beginInstructionsWidth;o=y.PositionAndShape.AbsolutePosition.x+y.beginInstructionsWidth+S*E,c=y.ParentMusicSystem}else{const b=r.map(A=>this.getStaffEntryFromVoiceEntry(A)).sort((A,S)=>{var E,x,P,C;return((x=(E=A==null?void 0:A.PositionAndShape)==null?void 0:E.AbsolutePosition)==null?void 0:x.x)<=((C=(P=S==null?void 0:S.PositionAndShape)==null?void 0:P.AbsolutePosition)==null?void 0:C.x)?-1:1})[0];b&&(o=b.PositionAndShape.AbsolutePosition.x,c=b.parentMeasure.ParentMusicSystem)}if(!c)return;a=c.PositionAndShape.AbsolutePosition.y+c.StaffLines[0].PositionAndShape.RelativePosition.y;let u=c.PositionAndShape.AbsolutePosition.y;const d=c.StaffLines[c.StaffLines.length-1];d&&(u+=d.PositionAndShape.RelativePosition.y+d.StaffHeight),l=u-a;const g=this.findVisibleGraphicalMeasure(s);if(!g)return;const m=g.PositionAndShape;if(this.updateWidthAndStyle(m,o,a,l),this.openSheetMusicDisplay.FollowCursor&&this.cursorOptions.follow)if(this.openSheetMusicDisplay.EngravingRules.RenderSingleHorizontalStaffline)this.cursorElement.scrollIntoView({behavior:"smooth",inline:"center"});else{const y=this.cursorElement.getBoundingClientRect().top;this.cursorElement.scrollIntoView({behavior:y<1e3?"smooth":"auto",block:"center"})}this.cursorElement.style.display=""}findVisibleGraphicalMeasure(e){for(let r=0;r{s.push.apply(s,o.Notes)}),s}GNotesUnderCursor(e){const r=this.VoicesUnderCursor(e),s=[];return r.forEach(o=>{s.push(...o.Notes.map(a=>this.rules.GNote(a)))}),s}updateCurrentPage(){let e=this.iterator.currentTimeStamp;e.RealValue<0&&(e=new Fraction$1(0,0));for(const r of this.graphic.MusicPages)if(r.MusicSystems.last().GetSystemsLastTimeStamp().gt(e)){const o=r.PageNumber;return o!==this.currentPageNumber&&(this.container.removeChild(this.cursorElement),this.container=document.getElementById(this.rules.DYContainerId+o),this.container.appendChild(this.cursorElement)),this.currentPageNumber=o}return 1}get SkipInvisibleNotes(){return this.skipInvisibleNotes}set SkipInvisibleNotes(e){this.skipInvisibleNotes=e,this.iterator.SkipInvisibleNotes=e}get CursorOptions(){return this.cursorOptions}set CursorOptions(e){this.cursorOptions=e}updateCurrentPageFromSystem(e){if(e!=null&&e.Parent){const r=e.Parent.PageNumber;return r!==this.currentPageNumber&&(this.container.removeChild(this.cursorElement),this.container=document.getElementById(this.rules.DYContainerId+r),this.container.appendChild(this.cursorElement)),this.currentPageNumber=r}return 1}Dispose(){this.rules=void 0,this.openSheetMusicDisplay=void 0,this.cursorOptions=void 0}}var DrawingParametersEnum=(i=>(i.allon="allon",i.compact="compact",i.compacttight="compacttight",i.default="default",i.leadsheet="leadsheet",i.preview="preview",i.thumbnail="thumbnail",i))(DrawingParametersEnum||{}),CursorType=(i=>(i[i.Standard=0]="Standard",i[i.ThinLeft=1]="ThinLeft",i[i.ShortThinTopLeft=2]="ShortThinTopLeft",i[i.CurrentArea=3]="CurrentArea",i[i.CurrentAreaLeft=4]="CurrentAreaLeft",i))(CursorType||{}),AlignRestOption=(i=>(i[i.Never=0]="Never",i[i.Always=1]="Always",i[i.Auto=2]="Auto",i))(AlignRestOption||{}),FillEmptyMeasuresWithWholeRests=(i=>(i[i.No=0]="No",i[i.YesVisible=1]="YesVisible",i[i.YesInvisible=2]="YesInvisible",i))(FillEmptyMeasuresWithWholeRests||{}),BackendType=(i=>(i[i.SVG=0]="SVG",i[i.Canvas=1]="Canvas",i))(BackendType||{}),SkyBottomLineBatchCalculatorBackendType=(i=>(i[i.Plain=0]="Plain",i[i.WebGL=1]="WebGL",i))(SkyBottomLineBatchCalculatorBackendType||{});class OSMDOptions{static OSMDOptionsStandard(){return{autoResize:!0,backend:"svg",drawingParameters:DrawingParametersEnum.default}}static BackendTypeFromString(e){return e&&e.toLowerCase()==="canvas"?1:0}}class IXmlElement{constructor(e){if(this.hasAttributes=!1,!e)throw new Error("IXmlElement: expected Element, got undefined");this.elem=e,this.name=e.nodeName.toLowerCase(),e.hasAttributes()&&(this.hasAttributes=!0,this.firstAttribute=e.attributes[0]),this.hasElements=e.hasChildNodes(),e.childNodes.length===1&&e.childNodes[0].nodeType===Node.TEXT_NODE?this.value=e.childNodes[0].nodeValue:this.value=""}attribute(e){return this.elem.attributes.getNamedItem(e)}attributes(){if(!this.attrs){const e=this.elem.attributes,r=[];for(let s=0;s0){let s;for(let o=0,a=r.length;oo?1:0}getFirstNonNullStaffEntry(){for(let e=0,r=this.staffEntries.length;e(i[i.BaseWritingColor=0]="BaseWritingColor",i[i.FollowingCursor=1]="FollowingCursor",i[i.AlternativeFollowingCursor=2]="AlternativeFollowingCursor",i[i.PlaybackCursor=3]="PlaybackCursor",i[i.Highlighted=4]="Highlighted",i[i.ErrorUnderlay=5]="ErrorUnderlay",i[i.Selected=6]="Selected",i[i.SelectionSymbol=7]="SelectionSymbol",i[i.DebugColor1=8]="DebugColor1",i[i.DebugColor2=9]="DebugColor2",i[i.DebugColor3=10]="DebugColor3",i[i.SplitScreenDivision=11]="SplitScreenDivision",i[i.GreyTransparentOverlay=12]="GreyTransparentOverlay",i[i.MarkedArea1=13]="MarkedArea1",i[i.MarkedArea2=14]="MarkedArea2",i[i.MarkedArea3=15]="MarkedArea3",i[i.MarkedArea4=16]="MarkedArea4",i[i.MarkedArea5=17]="MarkedArea5",i[i.MarkedArea6=18]="MarkedArea6",i[i.MarkedArea7=19]="MarkedArea7",i[i.MarkedArea8=20]="MarkedArea8",i[i.MarkedArea9=21]="MarkedArea9",i[i.MarkedArea10=22]="MarkedArea10",i[i.Comment1=23]="Comment1",i[i.Comment2=24]="Comment2",i[i.Comment3=25]="Comment3",i[i.Comment4=26]="Comment4",i[i.Comment5=27]="Comment5",i[i.Comment6=28]="Comment6",i[i.Comment7=29]="Comment7",i[i.Comment8=30]="Comment8",i[i.Comment9=31]="Comment9",i[i.Comment10=32]="Comment10",i))(OutlineAndFillStyleEnum||{});const OUTLINE_AND_FILL_STYLE_DICT=new Dictionary;OUTLINE_AND_FILL_STYLE_DICT.setValue(0,"Thistle");OUTLINE_AND_FILL_STYLE_DICT.setValue(1,"Aqua");OUTLINE_AND_FILL_STYLE_DICT.setValue(2,"Azure");OUTLINE_AND_FILL_STYLE_DICT.setValue(3,"Bisque");OUTLINE_AND_FILL_STYLE_DICT.setValue(4,"CadetBlue");OUTLINE_AND_FILL_STYLE_DICT.setValue(5,"DarkBlue");OUTLINE_AND_FILL_STYLE_DICT.setValue(6,"DarkGoldenRod");OUTLINE_AND_FILL_STYLE_DICT.setValue(7,"BlanchedAlmond");OUTLINE_AND_FILL_STYLE_DICT.setValue(8,"Chartreuse");OUTLINE_AND_FILL_STYLE_DICT.setValue(9,"DarkGreen");OUTLINE_AND_FILL_STYLE_DICT.setValue(10,"DarkOrange");OUTLINE_AND_FILL_STYLE_DICT.setValue(11,"FireBrick");OUTLINE_AND_FILL_STYLE_DICT.setValue(12,"DarkSalmon");OUTLINE_AND_FILL_STYLE_DICT.setValue(13,"DarkSeaGreen");OUTLINE_AND_FILL_STYLE_DICT.setValue(14,"DarkOrchid");OUTLINE_AND_FILL_STYLE_DICT.setValue(15,"Aquamarine");OUTLINE_AND_FILL_STYLE_DICT.setValue(16,"DarkKhaki");OUTLINE_AND_FILL_STYLE_DICT.setValue(17,"ForestGreen");OUTLINE_AND_FILL_STYLE_DICT.setValue(18,"AliceBlue");OUTLINE_AND_FILL_STYLE_DICT.setValue(19,"DeepPink");OUTLINE_AND_FILL_STYLE_DICT.setValue(20,"Coral");OUTLINE_AND_FILL_STYLE_DICT.setValue(21,"DarkOliveGreen");OUTLINE_AND_FILL_STYLE_DICT.setValue(22,"Chocolate");OUTLINE_AND_FILL_STYLE_DICT.setValue(23,"DodgerBlue");OUTLINE_AND_FILL_STYLE_DICT.setValue(24,"Blue");OUTLINE_AND_FILL_STYLE_DICT.setValue(25,"Beige");OUTLINE_AND_FILL_STYLE_DICT.setValue(26,"Crimson");OUTLINE_AND_FILL_STYLE_DICT.setValue(27,"Fuchsia");OUTLINE_AND_FILL_STYLE_DICT.setValue(28,"Brown");OUTLINE_AND_FILL_STYLE_DICT.setValue(29,"BlanchedAlmond");OUTLINE_AND_FILL_STYLE_DICT.setValue(30,"CornflowerBlue");OUTLINE_AND_FILL_STYLE_DICT.setValue(31,"Cornsilk");OUTLINE_AND_FILL_STYLE_DICT.setValue(32,"DarkGrey");var GraphicalLayers=(i=>(i[i.Background=0]="Background",i[i.Highlight=1]="Highlight",i[i.MeasureError=2]="MeasureError",i[i.SelectionSymbol=3]="SelectionSymbol",i[i.Cursor=4]="Cursor",i[i.PSI_Debug=5]="PSI_Debug",i[i.Notes=6]="Notes",i[i.Comment=7]="Comment",i[i.Debug_above=8]="Debug_above",i))(GraphicalLayers||{}),NoteState=(i=>(i[i.Normal=0]="Normal",i[i.Selected=1]="Selected",i[i.Follow_Confirmed=2]="Follow_Confirmed",i[i.QFeedback_NotFound=3]="QFeedback_NotFound",i[i.QFeedback_OK=4]="QFeedback_OK",i[i.QFeedback_Perfect=5]="QFeedback_Perfect",i[i.Debug1=6]="Debug1",i[i.Debug2=7]="Debug2",i[i.Debug3=8]="Debug3",i))(NoteState||{}),AutoColorSet=(i=>(i.C="#d82c6b",i.D="#F89D15",i.E="#FFE21A",i.F="#4dbd5c",i.G="#009D96",i.A="#43469d",i.B="#76429c",i.Rest="#000000",i))(AutoColorSet||{});class GraphicalLine{constructor(e,r,s=0,o=OutlineAndFillStyleEnum.BaseWritingColor,a=void 0){this.start=e,this.end=r,this.width=s,this.styleId=o,this.colorHex=a}get Start(){return this.start}set Start(e){this.start=e}get End(){return this.end}set End(e){this.end=e}get Width(){return this.width}set Width(e){this.width=e}}class PointF2D{constructor(e=0,r=0){this.x=0,this.y=0,this.x=e,this.y=r}static get Empty(){return new PointF2D}static pointsAreEqual(e,r){return e.x===r.x&&e.y===r.y}ToString(){return"["+this.x+", "+this.y+"]"}}var NoteEnum=(i=>(i[i.C=0]="C",i[i.D=2]="D",i[i.E=4]="E",i[i.F=5]="F",i[i.G=7]="G",i[i.A=9]="A",i[i.B=11]="B",i))(NoteEnum||{}),AccidentalEnum=(i=>(i[i.SHARP=0]="SHARP",i[i.FLAT=1]="FLAT",i[i.NONE=2]="NONE",i[i.NATURAL=3]="NATURAL",i[i.DOUBLESHARP=4]="DOUBLESHARP",i[i.DOUBLEFLAT=5]="DOUBLEFLAT",i[i.TRIPLESHARP=6]="TRIPLESHARP",i[i.TRIPLEFLAT=7]="TRIPLEFLAT",i[i.QUARTERTONESHARP=8]="QUARTERTONESHARP",i[i.QUARTERTONEFLAT=9]="QUARTERTONEFLAT",i[i.SLASHFLAT=10]="SLASHFLAT",i[i.THREEQUARTERSSHARP=11]="THREEQUARTERSSHARP",i[i.THREEQUARTERSFLAT=12]="THREEQUARTERSFLAT",i[i.SLASHQUARTERSHARP=13]="SLASHQUARTERSHARP",i[i.SLASHSHARP=14]="SLASHSHARP",i[i.DOUBLESLASHFLAT=15]="DOUBLESLASHFLAT",i[i.SORI=16]="SORI",i[i.KORON=17]="KORON",i))(AccidentalEnum||{});const _Pitch=class{constructor(i,e,r,s=void 0,o=!1){this.accidental=2,this.fundamentalNote=i,this.octave=e,this.accidental=r,this.accidentalXml=s,this.halfTone=i+(e+_Pitch.octXmlDiff)*12+_Pitch.HalfTonesFromAccidental(r),o||(this.frequency=_Pitch.calcFrequency(this),this.nextFrequency=_Pitch.calcFrequency(this,"next"),this.prevFrequency=_Pitch.calcFrequency(this,"prev"))}static getNoteEnumString(i){switch(i){case 0:return"C";case 2:return"D";case 4:return"E";case 5:return"F";case 7:return"G";case 9:return"A";case 11:return"B";default:return""}}static lineShiftFromNoteEnum(i,e){if(e===0)return[i,0];const r=_Pitch.pitchEnumValues,s=r.indexOf(i);let o=0,a=(s+e)%r.length;return s+e>r.length-1&&(o=1),a<0&&(a=r.length+a,o=-1),[r[a],o]}static CalculateTransposedHalfTone(i,e){const r=i.fundamentalNote+i.AccidentalHalfTones+e;return _Pitch.WrapAroundCheck(r,12)}static WrapAroundCheck(i,e){let r=0;for(;i<0;)i+=e,r--;for(;i>=e;)i-=e,r++;return{overflow:r,halftone:i}}static calcFrequency(i,e){const r=window.DYProjectName==="musicScore"?{"-2":[11,3],"-7":[12],"-9":[5],12:[33,34,35,37,38,2],24:[39]}:{"-2":[4,12,23],"-7":[13],"-9":[6],12:[5,116,55]};let s=0,o;if(i instanceof _Pitch){const d=i;s=d.octave-1,o=d.fundamentalNote-9+d.AccidentalHalfTones}else typeof i=="number"&&(o=i-57);const a=window.DYSubjectId;let l=0;if(window.DYEnvironment==="COLEXIU"&&(r[12]=[120]),window.xmlNeedAdjustVoice){for(const d in r)if(Object.prototype.hasOwnProperty.call(r,d)&&r[d].includes(a)){l=parseFloat(d);break}}let c=o+l;return e==="next"&&c++,e==="prev"&&c--,442*Math.pow(2,s)*Math.pow(2,c/12)}static calcFractionalKey(i){return Math.log(i/440)/Math.LN10*_Pitch.halftoneFactor+57}static fromFrequency(i){const e=_Pitch.calcFractionalKey(i)+.5,r=Math.floor(e/12)-_Pitch.octXmlDiff,s=Math.floor(e)%12;let o=s,a=2;return this.pitchEnumValues.indexOf(o)===-1&&(o=s-1,a=0),new _Pitch(o,r,a)}static fromHalftone(i){const e=Math.floor(i/12)-_Pitch.octXmlDiff,r=i%12;let s=r,o=2;return this.pitchEnumValues.indexOf(s)===-1&&(s=r-1,o=0),new _Pitch(s,e,o)}static ceiling(i){i=i%12;let e=i;return this.pitchEnumValues.indexOf(e)===-1&&(e=i+1),e}static floor(i){i=i%12;let e=i;return this.pitchEnumValues.indexOf(e)===-1&&(e=i-1),e}static HalfTonesFromAccidental(i){switch(i){case 2:return 0;case 0:return 1;case 1:return-1;case 3:return 0;case 4:return 2;case 5:return-2;case 6:return 3;case 7:return-3;case 8:return .5;case 9:return-.5;case 10:return-.51;case 11:return 1.5;case 12:return-1.5;case 13:return .0013;case 14:return .0014;case 15:return-.0015;case 16:return .0016;case 17:return .0017;default:throw new Error("Unhandled AccidentalEnum value")}}static AccidentalFromHalfTones(i){switch(i){case 0:return 2;case 1:return 0;case-1:return 1;case 2:return 4;case-2:return 5;case 3:return 6;case-3:return 7;case .5:return 8;case-.5:return 9;case 1.5:return 11;case-1.5:return 12;default:return i>0&&i<1?8:i<0&&i>-1?9:8}}static accidentalVexflow(i){let e;switch(i){case 3:e="n";break;case 1:e="b";break;case 0:e="#";break;case 4:e="##";break;case 6:e="###";break;case 5:e="bb";break;case 7:e="bbs";break;case 8:e="+";break;case 9:e="d";break;case 10:e="bs";break;case 11:e="++";break;case 12:e="db";break;case 13:e="+-";break;case 14:e="++-";break;case 15:e="bss";break;case 16:e="o";break;case 17:e="k";break}return e}get AccidentalHalfTones(){return _Pitch.HalfTonesFromAccidental(this.accidental)}get Octave(){return this.octave}get FundamentalNote(){return this.fundamentalNote}get Accidental(){return this.accidental}get AccidentalXml(){return this.accidentalXml}get Frequency(){return this.frequency}static get OctaveXmlDifference(){return _Pitch.octXmlDiff}getHalfTone(){return this.halfTone}getTransposedPitch(i){if(i>12)throw new Error("rewrite this method to handle bigger octave changes or don't use is with bigger octave changes!");return i>0?this.getHigherPitchByTransposeFactor(i):i<0?this.getLowerPitchByTransposeFactor(-i):this}DoEnharmonicChange(){switch(this.accidental){case 1:case 5:this.fundamentalNote=this.getPreviousFundamentalNote(this.fundamentalNote),this.accidental=_Pitch.AccidentalFromHalfTones(this.halfTone-(this.fundamentalNote+(this.octave+_Pitch.octXmlDiff)*12));break;case 0:case 4:this.fundamentalNote=this.getNextFundamentalNote(this.fundamentalNote),this.accidental=_Pitch.AccidentalFromHalfTones(this.halfTone-(this.fundamentalNote+(this.octave+_Pitch.octXmlDiff)*12));break;default:return}}ToString(){let i=_Pitch.accidentalVexflow(this.accidental);return i||(i=""),"Key: "+_Pitch.getNoteEnumString(this.fundamentalNote)+i+", Note: "+this.fundamentalNote+", octave: "+this.octave.toString()}ToStringShort(i=0){let e=_Pitch.accidentalVexflow(this.accidental);e||(e="");const r=this.octave+i;return _Pitch.getNoteEnumString(this.fundamentalNote)+e+r}get ToStringShortGet(){return this.ToStringShort(0)}OperatorEquals(i){const e=this;return!e||!i?!1:e.FundamentalNote===i.FundamentalNote&&e.Octave===i.Octave&&e.Accidental===i.Accidental}OperatorNotEqual(i){return this!==i}OperatorFundamentalGreaterThan(i){const e=this;return e.Octave===i.Octave?e.FundamentalNote>i.FundamentalNote:e.Octave>i.Octave}OperatorFundamentalLessThan(i){const e=this;return e.Octave===i.Octave?e.FundamentalNote_Pitch.pitchEnumValues.length-1?(s=_Pitch.pitchEnumValues[e+i-_Pitch.pitchEnumValues.length],r++):s=_Pitch.pitchEnumValues[e+i],new _Pitch(s,r,2)}getLowerPitchByTransposeFactor(i){const e=_Pitch.pitchEnumValues.indexOf(this.fundamentalNote);let r=this.octave,s;return e-i<0?(s=_Pitch.pitchEnumValues[_Pitch.pitchEnumValues.length+e-i],r--):s=_Pitch.pitchEnumValues[e-i],new _Pitch(s,r,2)}getNextFundamentalNote(i){let e=_Pitch.pitchEnumValues.indexOf(i);return e=(e+1)%_Pitch.pitchEnumValues.length,_Pitch.pitchEnumValues[e]}getPreviousFundamentalNote(i){const e=_Pitch.pitchEnumValues.indexOf(i);return e>0?_Pitch.pitchEnumValues[e-1]:_Pitch.pitchEnumValues[_Pitch.pitchEnumValues.length-1]}};let Pitch=_Pitch;Pitch.pitchEnumValues=[0,2,4,5,7,9,11];Pitch.halftoneFactor=12/(Math.LN2/Math.LN10);Pitch.octXmlDiff=3;class ClefInstruction extends AbstractNotationInstruction{constructor(e=0,r=0,s=2){super(void 0),this.clefType=0,this.line=2,this.octaveOffset=0,this.line=s,this.clefType=e,this.octaveOffset=r,this.calcParameters()}static getDefaultClefFromMidiInstrument(e){switch(e){case 0:return new ClefInstruction(1,0,4);case 33:return new ClefInstruction(1,0,4);case 34:return new ClefInstruction(1,0,4);case 35:return new ClefInstruction(1,0,4);case 36:return new ClefInstruction(1,0,4);case 37:return new ClefInstruction(1,0,4);case 38:return new ClefInstruction(1,0,4);case 39:return new ClefInstruction(1,0,4);case 43:return new ClefInstruction(1,0,4);default:return new ClefInstruction(0,0,2)}}static getAllPossibleClefs(){const e=[];for(let r=0;r<=2;r++){const s=new ClefInstruction(0,r,2);e.push(s)}for(let r=-2;r<=0;r++){const s=new ClefInstruction(1,r,4);e.push(s)}return e}static isSupportedClef(e){switch(e){case 0:case 1:case 2:case 3:case 4:return!0;default:return!1}}get ClefType(){return this.clefType}set ClefType(e){this.clefType=e}get Line(){return this.line}set Line(e){this.line=e}get OctaveOffset(){return this.octaveOffset}set OctaveOffset(e){this.octaveOffset=e}get ClefPitch(){return this.clefPitch}set ClefPitch(e){this.clefPitch=e}get ReferenceCyPosition(){return this.referenceCyPosition}set ReferenceCyPosition(e){this.referenceCyPosition=e}Equals(e){return this===e?!0:!this||!e?!1:this.clefPitch===e.clefPitch&&this.Line===e.Line}NotEqual(e){return!this.Equals(e)}ToString(){return"ClefType: "+this.clefType}calcParameters(){switch(this.clefType){case 0:this.clefPitch=new Pitch(NoteEnum.G,1+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line+2;break;case 1:this.clefPitch=new Pitch(NoteEnum.F,0+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line+1.5;break;case 2:this.clefPitch=new Pitch(NoteEnum.C,1+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line;break;case 3:this.clefPitch=new Pitch(NoteEnum.C,2,AccidentalEnum.NONE),this.referenceCyPosition=2;break;case 4:this.clefPitch=new Pitch(NoteEnum.G,0,AccidentalEnum.NONE),this.referenceCyPosition=0;break;default:throw new ArgumentOutOfRangeException("clefType")}}}var ClefEnum=(i=>(i[i.G=0]="G",i[i.F=1]="F",i[i.C=2]="C",i[i.percussion=3]="percussion",i[i.TAB=4]="TAB",i))(ClefEnum||{}),MidiInstrument=(i=>(i[i.None=-1]="None",i[i.Acoustic_Grand_Piano=0]="Acoustic_Grand_Piano",i[i.Bright_Acoustic_Piano=1]="Bright_Acoustic_Piano",i[i.Electric_Grand_Piano=2]="Electric_Grand_Piano",i[i.Honky_tonk_Piano=3]="Honky_tonk_Piano",i[i.Electric_Piano_1=4]="Electric_Piano_1",i[i.Electric_Piano_2=5]="Electric_Piano_2",i[i.Harpsichord=6]="Harpsichord",i[i.Clavinet=7]="Clavinet",i[i.Celesta=8]="Celesta",i[i.Glockenspiel=9]="Glockenspiel",i[i.Music_Box=10]="Music_Box",i[i.Vibraphone=11]="Vibraphone",i[i.Marimba=12]="Marimba",i[i.Xylophone=13]="Xylophone",i[i.Tubular_Bells=14]="Tubular_Bells",i[i.Dulcimer=15]="Dulcimer",i[i.Drawbar_Organ=16]="Drawbar_Organ",i[i.Percussive_Organ=17]="Percussive_Organ",i[i.Rock_Organ=18]="Rock_Organ",i[i.Church_Organ=19]="Church_Organ",i[i.Reed_Organ=20]="Reed_Organ",i[i.Accordion=21]="Accordion",i[i.Harmonica=22]="Harmonica",i[i.Tango_Accordion=23]="Tango_Accordion",i[i.Acoustic_Guitar_nylon=24]="Acoustic_Guitar_nylon",i[i.Acoustic_Guitar_steel=25]="Acoustic_Guitar_steel",i[i.Electric_Guitar_jazz=26]="Electric_Guitar_jazz",i[i.Electric_Guitar_clean=27]="Electric_Guitar_clean",i[i.Electric_Guitar_muted=28]="Electric_Guitar_muted",i[i.Overdriven_Guitar=29]="Overdriven_Guitar",i[i.Distortion_Guitar=30]="Distortion_Guitar",i[i.Guitar_harmonics=31]="Guitar_harmonics",i[i.Acoustic_Bass=32]="Acoustic_Bass",i[i.Electric_Bass_finger=33]="Electric_Bass_finger",i[i.Electric_Bass_pick=34]="Electric_Bass_pick",i[i.Fretless_Bass=35]="Fretless_Bass",i[i.Slap_Bass_1=36]="Slap_Bass_1",i[i.Slap_Bass_2=37]="Slap_Bass_2",i[i.Synth_Bass_1=38]="Synth_Bass_1",i[i.Synth_Bass_2=39]="Synth_Bass_2",i[i.Violin=40]="Violin",i[i.Viola=41]="Viola",i[i.Cello=42]="Cello",i[i.Contrabass=43]="Contrabass",i[i.Tremolo_Strings=44]="Tremolo_Strings",i[i.Pizzicato_Strings=45]="Pizzicato_Strings",i[i.Orchestral_Harp=46]="Orchestral_Harp",i[i.Timpani=47]="Timpani",i[i.String_Ensemble_1=48]="String_Ensemble_1",i[i.String_Ensemble_2=49]="String_Ensemble_2",i[i.Synth_Strings_1=50]="Synth_Strings_1",i[i.Synth_Strings_2=51]="Synth_Strings_2",i[i.Choir_Aahs=52]="Choir_Aahs",i[i.Voice_Oohs=53]="Voice_Oohs",i[i.Synth_Voice=54]="Synth_Voice",i[i.Orchestra_Hit=55]="Orchestra_Hit",i[i.Trumpet=56]="Trumpet",i[i.Trombone=57]="Trombone",i[i.Tuba=58]="Tuba",i[i.Muted_Trumpet=59]="Muted_Trumpet",i[i.French_Horn=60]="French_Horn",i[i.Brass_Section=61]="Brass_Section",i[i.Synth_Brass_1=62]="Synth_Brass_1",i[i.Synth_Brass_2=63]="Synth_Brass_2",i[i.Soprano_Sax=64]="Soprano_Sax",i[i.Alto_Sax=65]="Alto_Sax",i[i.Tenor_Sax=66]="Tenor_Sax",i[i.Baritone_Sax=67]="Baritone_Sax",i[i.Oboe=68]="Oboe",i[i.English_Horn=69]="English_Horn",i[i.Bassoon=70]="Bassoon",i[i.Clarinet=71]="Clarinet",i[i.Piccolo=72]="Piccolo",i[i.Flute=73]="Flute",i[i.Recorder=74]="Recorder",i[i.Pan_Flute=75]="Pan_Flute",i[i.Blown_Bottle=76]="Blown_Bottle",i[i.Shakuhachi=77]="Shakuhachi",i[i.Whistle=78]="Whistle",i[i.Ocarina=79]="Ocarina",i[i.Lead_1_square=80]="Lead_1_square",i[i.Lead_2_sawtooth=81]="Lead_2_sawtooth",i[i.Lead_3_calliope=82]="Lead_3_calliope",i[i.Lead_4_chiff=83]="Lead_4_chiff",i[i.Lead_5_charang=84]="Lead_5_charang",i[i.Lead_6_voice=85]="Lead_6_voice",i[i.Lead_7_fifths=86]="Lead_7_fifths",i[i.Lead_8_bass_lead=87]="Lead_8_bass_lead",i[i.Pad_1_new_age=88]="Pad_1_new_age",i[i.Pad_2_warm=89]="Pad_2_warm",i[i.Pad_3_polysynth=90]="Pad_3_polysynth",i[i.Pad_4_choir=91]="Pad_4_choir",i[i.Pad_5_bowed=92]="Pad_5_bowed",i[i.Pad_6_metallic=93]="Pad_6_metallic",i[i.Pad_7_halo=94]="Pad_7_halo",i[i.Pad_8_sweep=95]="Pad_8_sweep",i[i.FX_1_rain=96]="FX_1_rain",i[i.FX_2_soundtrack=97]="FX_2_soundtrack",i[i.FX_3_crystal=98]="FX_3_crystal",i[i.FX_4_atmosphere=99]="FX_4_atmosphere",i[i.FX_5_brightness=100]="FX_5_brightness",i[i.FX_6_goblins=101]="FX_6_goblins",i[i.FX_7_echoes=102]="FX_7_echoes",i[i.FX_8_scifi=103]="FX_8_scifi",i[i.Sitar=104]="Sitar",i[i.Banjo=105]="Banjo",i[i.Shamisen=106]="Shamisen",i[i.Koto=107]="Koto",i[i.Kalimba=108]="Kalimba",i[i.Bag_pipe=109]="Bag_pipe",i[i.Fiddle=110]="Fiddle",i[i.Shanai=111]="Shanai",i[i.Tinkle_Bell=112]="Tinkle_Bell",i[i.Agogo=113]="Agogo",i[i.Steel_Drums=114]="Steel_Drums",i[i.Woodblock=115]="Woodblock",i[i.Taiko_Drum=116]="Taiko_Drum",i[i.Melodic_Tom=117]="Melodic_Tom",i[i.Synth_Drum=118]="Synth_Drum",i[i.Reverse_Cymbal=119]="Reverse_Cymbal",i[i.Guitar_Fret_Noise=120]="Guitar_Fret_Noise",i[i.Breath_Noise=121]="Breath_Noise",i[i.Seashore=122]="Seashore",i[i.Bird_Tweet=123]="Bird_Tweet",i[i.Telephone_Ring=124]="Telephone_Ring",i[i.Helicopter=125]="Helicopter",i[i.Applause=126]="Applause",i[i.Gunshot=127]="Gunshot",i[i.Percussion=128]="Percussion",i))(MidiInstrument||{});const _KeyInstruction=class extends AbstractNotationInstruction{constructor(i=void 0,e=0,r=0){super(i),this.isTransposedBy=0,this.Key=e,this.keyTypeOriginal=e,this.mode=r,this.alteratedNotes=this.calcAlteratedNotes()}static copy(i){const e=new _KeyInstruction(i.parent,i.Key,i.Mode);return e.keyTypeOriginal=i.keyTypeOriginal,e}static getAllPossibleMajorKeyInstructions(){const i=[];for(let e=-7;e<7;e++){const r=new _KeyInstruction(void 0,e,0);i.push(r)}return i}get Key(){return this.keyType}set Key(i){this.keyType=i,this.alteratedNotes=this.calcAlteratedNotes()}get Mode(){return this.mode}set Mode(i){this.mode=i}get AlteratedNotes(){return this.alteratedNotes}calcAlteratedNotes(){const i=[];if(this.keyType>0)for(let e=0;e=0}getAlterationForPitch(i){return this.keyType>0&&this.alteratedNotes.indexOf(i.FundamentalNote)<=this.keyType?AccidentalEnum.SHARP:this.keyType<0&&this.alteratedNotes.indexOf(i.FundamentalNote)<=Math.abs(this.keyType)?AccidentalEnum.FLAT:AccidentalEnum.NONE}ToString(){return"Key: "+this.keyType+this.mode}OperatorEquals(i){const e=this;return e===i?!0:!e||!i?!1:e.Key===i.Key&&e.Mode===i.Mode}OperatorNotEqual(i){return!this.OperatorEquals(i)}};let KeyInstruction=_KeyInstruction;KeyInstruction.sharpPositionList=[NoteEnum.F,NoteEnum.C,NoteEnum.G,NoteEnum.D,NoteEnum.A,NoteEnum.E,NoteEnum.B];KeyInstruction.flatPositionList=[NoteEnum.B,NoteEnum.E,NoteEnum.A,NoteEnum.D,NoteEnum.G,NoteEnum.C,NoteEnum.F];var KeyEnum=(i=>(i[i.major=0]="major",i[i.minor=1]="minor",i[i.none=2]="none",i[i.dorian=3]="dorian",i[i.phrygian=4]="phrygian",i[i.lydian=5]="lydian",i[i.mixolydian=6]="mixolydian",i[i.aeolian=7]="aeolian",i[i.ionian=8]="ionian",i[i.locrian=9]="locrian",i))(KeyEnum||{});class SizeF2D{constructor(e=0,r=0){this.width=e,this.height=r}}class RectangleF2D{constructor(e,r,s,o){this.x=0,this.y=0,this.width=0,this.height=0,this.x=e,this.y=r,this.width=s,this.height=o}static createFromLocationAndSize(e,r){return new RectangleF2D(e.x,e.y,r.width,r.height)}get Location(){return new PointF2D(this.x,this.y)}get Size(){return new SizeF2D(this.width,this.height)}}class AClassHierarchyTrackable{isInstanceOfClass(e){let r=this.constructor.prototype;for(;r;){if(e===r.constructor.name)return!0;r=r.__proto__}return!1}}class GraphicalObject extends AClassHierarchyTrackable{get PositionAndShape(){return this.boundingBox}set PositionAndShape(e){this.boundingBox=e}}class Clickable extends GraphicalObject{}let BoundingBox$1=class{constructor(e=void 0,r=void 0,s=!1){this.isSymbol=!1,this.relativePositionHasBeenSet=!1,this.xBordersHaveBeenSet=!1,this.yBordersHaveBeenSet=!1,this.absolutePosition=new PointF2D,this.relativePosition=new PointF2D,this.size=new SizeF2D,this.marginSize=new SizeF2D,this.upperLeftCorner=new PointF2D,this.upperLeftMarginCorner=new PointF2D,this.borderLeft=0,this.borderRight=0,this.borderTop=0,this.borderBottom=0,this.borderMarginLeft=0,this.borderMarginRight=0,this.borderMarginTop=0,this.borderMarginBottom=0,this.childElements=[],this.parent=r,this.dataObject=e,this.isSymbol=s,this.xBordersHaveBeenSet=!1,this.yBordersHaveBeenSet=!1,r&&(this.Parent=r)}get RelativePositionHasBeenSet(){return this.relativePositionHasBeenSet}get XBordersHaveBeenSet(){return this.xBordersHaveBeenSet}set XBordersHaveBeenSet(e){this.xBordersHaveBeenSet=e}get YBordersHaveBeenSet(){return this.yBordersHaveBeenSet}set YBordersHaveBeenSet(e){this.yBordersHaveBeenSet=e}get AbsolutePosition(){return this.absolutePosition}set AbsolutePosition(e){this.absolutePosition=e}get RelativePosition(){return this.relativePosition}set RelativePosition(e){this.relativePosition=e,this.relativePositionHasBeenSet=!0}get Size(){return this.size}set Size(e){this.size=e}get MarginSize(){return this.marginSize}get UpperLeftCorner(){return this.upperLeftCorner}get UpperLeftMarginCorner(){return this.upperLeftMarginCorner}get BorderLeft(){return this.borderLeft}set BorderLeft(e){this.borderLeft=e,this.calculateRectangle()}get BorderRight(){return this.borderRight}set BorderRight(e){this.borderRight=e,this.calculateRectangle()}get BorderTop(){return this.borderTop}set BorderTop(e){this.borderTop=e,this.calculateRectangle()}get BorderBottom(){return this.borderBottom}set BorderBottom(e){this.borderBottom=e,this.calculateRectangle()}get BorderMarginLeft(){return this.borderMarginLeft>this.borderLeft?this.borderLeft:this.borderMarginLeft}set BorderMarginLeft(e){this.borderMarginLeft=e,this.calculateMarginRectangle()}get BorderMarginRight(){return this.borderMarginRightthis.borderTop?this.borderTop:this.borderMarginTop}set BorderMarginTop(e){this.borderMarginTop=e,this.calculateMarginRectangle()}get BorderMarginBottom(){return this.borderMarginBottom-1&&this.parent.ChildElements.splice(l,1)}this.parent=e,((s=(r=this.parent)==null?void 0:r.ChildElements)==null?void 0:s.indexOf(this))>-1?loglevelExports.error("BoundingBox of "+this.dataObject.constructor.name+" already in children list of "+this.parent.dataObject.constructor.name+"'s BoundingBox"):(a=(o=this.parent)==null?void 0:o.ChildElements)==null||a.push(this)}get DataObject(){return this.dataObject}get Center(){return new PointF2D(this.RelativePosition.x+(this.BorderMarginRight+this.BorderMarginLeft),this.RelativePosition.y+(this.BorderMarginBottom+this.BorderMarginTop))}setAbsolutePositionFromParent(){this.parent?(this.absolutePosition.x=this.parent.AbsolutePosition.x+this.relativePosition.x,this.absolutePosition.y=this.parent.AbsolutePosition.y+this.relativePosition.y):this.absolutePosition=this.relativePosition}calculateAbsolutePosition(){this.absolutePosition.x=this.relativePosition.x,this.absolutePosition.y=this.relativePosition.y;let e=this.parent;for(;e;)this.absolutePosition.x+=e.relativePosition.x,this.absolutePosition.y+=e.relativePosition.y,e=e.parent}calculateAbsolutePositionsRecursiveWithoutTopelement(){this.absolutePosition.x=0,this.absolutePosition.y=0;for(let e=0,r=this.ChildElements.length;e.001;break;case 2:case 3:o=this.relativePosition.y,e.calculateMarginPositionAlongDirection(this,r),a=Math.abs(o-this.relativePosition.y)>.001;break;default:throw new ArgumentOutOfRangeException("direction")}while(a)}collisionDetection(e){const r=Math.min(this.AbsolutePosition.x+this.borderRight,e.absolutePosition.x+e.borderRight)-Math.max(this.AbsolutePosition.x+this.borderLeft,e.absolutePosition.x+e.borderLeft),s=Math.min(this.AbsolutePosition.y+this.borderBottom,e.absolutePosition.y+e.borderBottom)-Math.max(this.AbsolutePosition.y+this.borderTop,e.absolutePosition.y+e.borderTop);return r>0&&s>0}liesInsideBorders(e){const r=this.AbsolutePosition.x+this.borderLeft<=e.absolutePosition.x+e.borderLeft&&e.absolutePosition.x+e.borderLeft<=this.AbsolutePosition.x+this.borderRight,s=this.AbsolutePosition.x+this.borderLeft<=e.absolutePosition.x+e.borderRight&&e.absolutePosition.x+e.borderRight<=this.AbsolutePosition.x+this.borderRight;if(r&&s){const o=this.AbsolutePosition.y+this.borderTop<=e.absolutePosition.y+e.borderTop&&e.absolutePosition.y+e.borderTop<=this.AbsolutePosition.y+this.borderBottom,a=this.AbsolutePosition.y+this.borderTop<=e.absolutePosition.y+e.borderBottom&&e.absolutePosition.y+e.borderBottom<=this.AbsolutePosition.y+this.borderBottom;if(o&&a)return!0}return!1}pointLiesInsideBorders(e){return this.AbsolutePosition.x+this.borderLeft<=e.x&&e.x<=this.AbsolutePosition.x+this.borderRight&&this.AbsolutePosition.y+this.borderTop<=e.y&&e.y<=this.AbsolutePosition.y+this.borderBottom}marginCollisionDetection(e){const r=Math.min(this.AbsolutePosition.x+this.borderMarginRight,e.absolutePosition.x+e.borderMarginRight)-Math.max(this.AbsolutePosition.x+this.borderMarginLeft,e.absolutePosition.x+e.borderMarginLeft),s=Math.min(this.AbsolutePosition.y+this.borderMarginBottom,e.absolutePosition.y+e.borderMarginBottom)-Math.max(this.AbsolutePosition.y+this.borderMarginTop,e.absolutePosition.y+e.borderMarginTop);return r>0&&s>0}liesInsideMargins(e){const r=this.AbsolutePosition.x+this.borderMarginLeft<=e.absolutePosition.x+e.borderMarginLeft&&e.absolutePosition.x+e.borderMarginLeft<=this.AbsolutePosition.x+this.borderMarginRight,s=this.AbsolutePosition.x+this.borderMarginLeft<=e.absolutePosition.x+e.borderMarginRight&&e.absolutePosition.x+e.borderMarginRight<=this.AbsolutePosition.x+this.borderMarginRight;if(r&&s){const o=this.AbsolutePosition.y+this.borderMarginTop<=e.absolutePosition.y+e.borderMarginTop&&e.absolutePosition.y+e.borderMarginTop<=this.AbsolutePosition.y+this.borderMarginBottom,a=this.AbsolutePosition.y+this.borderMarginTop<=e.absolutePosition.y+e.borderMarginBottom&&e.absolutePosition.y+e.borderMarginBottom<=this.AbsolutePosition.y+this.borderMarginBottom;if(o&&a)return!0}return!1}pointLiesInsideMargins(e){return this.AbsolutePosition.x+this.borderMarginLeft<=e.x&&e.x<=this.AbsolutePosition.x+this.borderMarginRight&&this.AbsolutePosition.y+this.borderMarginTop<=e.y&&e.y<=this.AbsolutePosition.y+this.borderMarginBottom}computeNonOverlappingPosition(e,r,s){this.RelativePosition=new PointF2D(s.x,s.y),this.setAbsolutePositionFromParent();let o=0,a=!1;do switch(r){case 0:case 1:o=this.relativePosition.x,e.calculatePositionAlongDirection(this,r),a=Math.abs(o-this.relativePosition.x)>1e-4;break;case 2:case 3:o=this.relativePosition.y,e.calculatePositionAlongDirection(this,r),a=Math.abs(o-this.relativePosition.y)>1e-4;break;default:throw new ArgumentOutOfRangeException("direction")}while(a)}getClickedObjectOfType(e){const r=this.dataObject;if(this.pointLiesInsideBorders(e)&&r)return r;for(let s=0,o=this.childElements.length;s(i[i.Left=0]="Left",i[i.Right=1]="Right",i[i.Up=2]="Up",i[i.Down=3]="Down",i[i.NotYetDefined=4]="NotYetDefined",i))(ColDirEnum||{});Array.prototype.last||Object.defineProperty(Array.prototype,"last",{enumerable:!1,writable:!0,value:function(){return this[this.length-1]}});Array.prototype.clear||Object.defineProperty(Array.prototype,"clear",{enumerable:!1,writable:!0,value:function(){this.length=0}});Array.prototype.contains||Object.defineProperty(Array.prototype,"contains",{enumerable:!1,writable:!0,value:function(i){return this.indexOf(i)!==-1}});class CollectionUtil{static contains2(e,r){for(let s=0;s(i[i.Down=0]="Down",i[i.Right=1]="Right",i[i.RightDown=2]="RightDown",i))(PagePlacementEnum||{}),TextAlignmentEnum=(i=>(i[i.LeftTop=0]="LeftTop",i[i.LeftCenter=1]="LeftCenter",i[i.LeftBottom=2]="LeftBottom",i[i.CenterTop=3]="CenterTop",i[i.CenterCenter=4]="CenterCenter",i[i.CenterBottom=5]="CenterBottom",i[i.RightTop=6]="RightTop",i[i.RightCenter=7]="RightCenter",i[i.RightBottom=8]="RightBottom",i))(TextAlignmentEnum||{});class TextAlignment{static IsLeft(e){return e===0||e===1||e===2}static IsCenterAligned(e){return e===3||e===4||e===5}static IsRight(e){return e===6||e===7||e===8}}var ColoringModes=(i=>(i[i.XML=0]="XML",i[i.AutoColoring=1]="AutoColoring",i[i.CustomColorSet=2]="CustomColorSet",i))(ColoringModes||{}),FontStyles=(i=>(i[i.Regular=0]="Regular",i[i.Bold=1]="Bold",i[i.Italic=2]="Italic",i[i.BoldItalic=3]="BoldItalic",i[i.Underlined=4]="Underlined",i))(FontStyles||{}),Fonts=(i=>(i[i.TimesNewRoman=0]="TimesNewRoman",i[i.Kokila=1]="Kokila",i[i.Gonville=2]="Gonville",i))(Fonts||{});const FontStringNames={0:"Times New Roman",1:"Kokila",2:"Gonville"};var TieTypes=(i=>(i.SIMPLE="",i.HAMMERON="H",i.PULLOFF="P",i.SLIDE="S",i.TAPPING="T",i))(TieTypes||{});class ChordSymbolContainer{constructor(e,r,s,o,a){this.rootPitch=e,this.chordKind=r,this.bassPitch=s,this.degrees=o,this.rules=a}get RootPitch(){return this.rootPitch}get ChordKind(){return this.chordKind}get BassPitch(){return this.bassPitch}get ChordDegrees(){return this.degrees}static calculateChordText(e,r,s){let o=e.RootPitch;if(MusicSheetCalculator.transposeCalculator&&(o=MusicSheetCalculator.transposeCalculator.transposePitch(e.RootPitch,s,r)),e.ChordKind===31)return e.getTextFromChordKindEnum(e.ChordKind);let a=Pitch.getNoteEnumString(o.FundamentalNote);o.Accidental!==AccidentalEnum.NONE&&(a+=e.getTextForAccidental(o.Accidental));const l={adds:[],alts:[],subs:[]};for(const g of e.ChordDegrees)if(g){let m="";switch(g.alteration!==AccidentalEnum.NONE&&(m+=e.getTextForAccidental(g.alteration)),m+=g.value,g.text){case 0:l.adds.push(m);break;case 1:l.alts.push(m);break;case 2:l.subs.push(m);break}}let c=e.getTextFromChordKindEnum(e.ChordKind);const u=["adds","alts","subs"],d=e.rules.CustomChords;for(const g of d){if(g.chordKind!==e.chordKind)continue;let m=!0;for(const y of u){for(const b of g.degrees[y]||[])if(l[y].indexOf(b)<0){m=!1;break}if(!m)break}if(m){for(const y of u)for(const b of g.degrees[y]||[])l[y].splice(l[y].indexOf(b),1);c=g.alternateName}}if(a+=c,l.adds.length>0&&(a+="("+l.adds.join(",")+")"),l.alts.length>0&&(a+="(alt "+l.alts.join(",")+")"),l.subs.length>0&&(a+="(omit "+l.subs.join(",")+")"),e.BassPitch){let g=e.BassPitch;MusicSheetCalculator.transposeCalculator&&(g=MusicSheetCalculator.transposeCalculator.transposePitch(e.BassPitch,s,r)),a+="/",a+=Pitch.getNoteEnumString(g.FundamentalNote),a+=e.getTextForAccidental(g.Accidental)}return a}getTextForAccidental(e){const r=this.rules.ChordAccidentalTexts.getValue(e);return r!==void 0?r:""}getTextFromChordKindEnum(e){var r;return(r=this.rules.ChordSymbolLabelTexts.getValue(e))!=null?r:""}}class Degree{constructor(e,r,s){this.value=e,this.alteration=r,this.text=s}}class CustomChord{constructor(e,r,s){this.alternateName=e,this.chordKind=r,this.degrees=s}static createCustomChord(e,r,s){return new CustomChord(e,r,s)}static renameCustomChord(e,r,s){for(const o of s)o.alternateName===e&&(o.alternateName=r)}}var ChordDegreeText=(i=>(i[i.add=0]="add",i[i.alter=1]="alter",i[i.subtract=2]="subtract",i))(ChordDegreeText||{}),ChordSymbolEnum=(i=>(i[i.major=0]="major",i[i.minor=1]="minor",i[i.augmented=2]="augmented",i[i.diminished=3]="diminished",i[i.dominant=4]="dominant",i[i.majorseventh=5]="majorseventh",i[i.minorseventh=6]="minorseventh",i[i.diminishedseventh=7]="diminishedseventh",i[i.augmentedseventh=8]="augmentedseventh",i[i.halfdiminished=9]="halfdiminished",i[i.majorminor=10]="majorminor",i[i.majorsixth=11]="majorsixth",i[i.minorsixth=12]="minorsixth",i[i.dominantninth=13]="dominantninth",i[i.majorninth=14]="majorninth",i[i.minorninth=15]="minorninth",i[i.dominant11th=16]="dominant11th",i[i.major11th=17]="major11th",i[i.minor11th=18]="minor11th",i[i.dominant13th=19]="dominant13th",i[i.major13th=20]="major13th",i[i.minor13th=21]="minor13th",i[i.suspendedsecond=22]="suspendedsecond",i[i.suspendedfourth=23]="suspendedfourth",i[i.Neapolitan=24]="Neapolitan",i[i.Italian=25]="Italian",i[i.French=26]="French",i[i.German=27]="German",i[i.pedal=28]="pedal",i[i.power=29]="power",i[i.Tristan=30]="Tristan",i[i.none=31]="none",i))(ChordSymbolEnum||{});class GraphicalNote extends GraphicalObject{constructor(e,r,s,o=void 0){super(),this.DrawnAccidental=AccidentalEnum.NONE,this.lineShift=0,this.sourceNote=e,this.parentVoiceEntry=r,this.PositionAndShape=new BoundingBox$1(this,r.PositionAndShape),o?this.graphicalNoteLength=o:this.graphicalNoteLength=e.Length,this.numberOfDots=this.calculateNumberOfNeededDots(this.graphicalNoteLength),this.rules=s,this.rules.addGraphicalNoteToNoteMap(e,this)}Transpose(e,r,s,o){let a=this.sourceNote.Pitch;return MusicSheetCalculator.transposeCalculator&&(a=MusicSheetCalculator.transposeCalculator.transposePitch(this.sourceNote.Pitch,e,s)),a}calculateNumberOfNeededDots(e){return!this.sourceNote||!this.sourceNote.NoteTuplet?e.calculateNumberOfNeededDots():0}get ParentMusicPage(){return this.parentVoiceEntry.parentStaffEntry.parentMeasure.ParentMusicSystem.Parent}static FromNote(e,r){return r.NoteToGraphicalNoteMap.getValue(e.NoteToGraphicalNoteObjectId)}ToStringShort(e=0){var r;return(r=this.sourceNote)==null?void 0:r.ToStringShort(e)}get ToStringShortGet(){return this.ToStringShort(0)}}const _EngravingRules=class{constructor(){this.DYSlursStartingAtSameStaffEntryYOffset=0,this.DYMinNoteWidth=0,this.DYWorkId=0,this.DYWorkSpecial=!1,this.DYContainerId="osmdCanvasPage",this.DYSVGContainerId="osmdSvgPage",this.DYMusicScoreType="staff",this.DYMusicScoreId="",this.DYCustomRepeatCount=0,this.DYMusicClientType="",this.NoteDistances=[1,1,1.3,1.6,2,2.5,3,4],this.NoteDistancesScalingFactors=[1,2,4,8,16,32,64,128],this.DurationDistanceDict={},this.DurationScalingDistanceDict={},this.NoteToGraphicalNoteMapObjectCount=0,this.RenderCount=0,this.PlayAlreadyStartedNotesFromCursorPosition=!1,this.PlaybackSkipNotesSafetyInterval=.02,this.UseDefaultVoiceInteractionListener=!0,this.LimitCursorPositionToCurrentMeasure=!0,this.loadDefaultValues()}loadDefaultValues(){this.SamplingUnit=_EngravingRules.unit*3,this.MpatMode=!0,this.SheetTitleHeight=4,this.SheetSubtitleHeight=2,this.SheetMinimumDistanceBetweenTitleAndSubtitle=1,this.SheetComposerHeight=2,this.SheetAuthorHeight=2,this.SheetCopyrightHeight=1.5,this.SheetCopyrightMargin=2,this.SheetComposerSubtitleUseLegacyParsing=!1,this.CompactMode=!1,this.PagePlacementEnum=PagePlacementEnum.Down,this.PageHeight=100001,this.PageTopMargin=5,this.PageTopMarginNarrow=0,this.PageBottomMargin=5,this.PageLeftMargin=5,this.PageRightMargin=5,this.TitleTopDistance=5,this.TitleBottomDistance=1,this.StaffDistance=7,this.BetweenStaffDistance=5,this.MinimumStaffLineDistance=4,this.MinSkyBottomDistBetweenStaves=1,this.StaffHeight=4,this.TabStaffInterlineHeight=1.1111,this.BetweenStaffLinesDistance=_EngravingRules.unit,this.SystemLeftMargin=0,this.SystemRightMargin=0,this.SystemLabelsRightMargin=2,this.SystemComposerDistance=2,this.SystemLyricistDistance=2,this.InstrumentLabelTextHeight=2,this.MinimumDistanceBetweenSystems=7,this.MinSkyBottomDistBetweenSystems=5,this.LastSystemMaxScalingFactor=1.4,this.AutoBeamNotes=!1,this.AutoBeamOptions={beam_middle_rests_only:!1,beam_rests:!1,maintain_stem_directions:!1},this.AutoBeamTabs=!1,this.BeamWidth=_EngravingRules.unit/2,this.BeamSpaceWidth=_EngravingRules.unit/3,this.BeamForwardLength=1.25*_EngravingRules.unit,this.FlatBeams=!1,this.FlatBeamOffset=20,this.FlatBeamOffsetPerBeam=10,this.ClefLeftMargin=.5,this.ClefRightMargin=.75,this.PercussionOneLineCutoff=3,this.PercussionForceVoicesOneLineCutoff=1,this.PercussionUseXMLDisplayStep=!0,this.PercussionXMLDisplayStepNoteValueShift=0,this.PercussionOneLineXMLDisplayStepOctaveOffset=0,this.PercussionUseCajon2NoteSystem=!1,this.BetweenKeySymbolsDistance=.2,this.KeyRightMargin=.75,this.RhythmRightMargin=1.25,this.ShowRhythmAgainAfterPartEndOrFinalBarline=!0,this.NewPartAndSystemAfterFinalBarline=!1,this.InStaffClefScalingFactor=.8,this.DistanceBetweenNaturalAndSymbolWhenCancelling=.4,this.NoteHelperLinesOffset=.25,this.MeasureLeftMargin=.7,this.MeasureRightMargin=0,this.DistanceBetweenLastInstructionAndRepetitionBarline=1,this.ArpeggioDistance=.6,this.StaccatoShorteningFactor=2,this.IdealStemLength=3,this.StemNoteHeadBorderYOffset=.2,this.StemMargin=.2,this.StemMinLength=2.5,this.StemMaxLength=4.5,this.BeamSlopeMaxAngle=10,this.StemMinAllowedDistanceBetweenNoteHeadAndBeamLine=1,this.SetWantedStemDirectionByXml=!0,this.GraceNoteScalingFactor=.6,this.GraceNoteXOffset=.2,this.GraceNoteGroupXMargin=0,this.WedgeOpeningLength=1.2,this.WedgeMeasureEndOpeningLength=.75,this.WedgeMeasureBeginOpeningLength=.75,this.WedgePlacementAboveY=-1.5,this.WedgePlacementBelowY=1.5,this.WedgeHorizontalMargin=.6,this.WedgeVerticalMargin=.5,this.DistanceOffsetBetweenTwoHorizontallyCrossedWedges=.3,this.WedgeMinLength=2,this.WedgeEndDistanceBetweenTimestampsFactor=1.75,this.SoftAccentWedgePadding=.4,this.SoftAccentSizeFactor=.6,this.DistanceBetweenAdjacentDynamics=.75,this.TempoChangeMeasureValidity=4,this.TempoContinousFactor=.7,this.StaccatoScalingFactor=.8,this.BetweenDotsDistance=.8,this.OrnamentAccidentalScalingFactor=.65,this.ChordSymbolTextHeight=2,this.ChordSymbolTextAlignment=TextAlignmentEnum.LeftBottom,this.ChordSymbolRelativeXOffset=-1,this.ChordSymbolExtraXShiftForShortChordSymbols=.3,this.ChordSymbolExtraXShiftWidthThreshold=2,this.ChordSymbolXSpacing=1,this.ChordOverlapAllowedIntoNextMeasure=0,this.ChordSymbolYOffset=.1,this.ChordSymbolYPadding=0,this.ChordSymbolYAlignment=!0,this.ChordSymbolYAlignmentScope="staffline",this.ChordSymbolWholeMeasureRestXOffset=0,this.ChordSymbolWholeMeasureRestXOffsetMeasure1=-2,this.ChordAccidentalTexts=new Dictionary,this.resetChordAccidentalTexts(this.ChordAccidentalTexts,!1),this.ChordSymbolLabelTexts=new Dictionary,this.resetChordSymbolLabelTexts(this.ChordSymbolLabelTexts),this.CustomChords=[],this.resetChordNames(),this.RepetitionSymbolsYOffset=0,this.RepetitionEndInstructionXShiftAsPercentOfStaveWidth=.4,this.RehearsalMarkXOffsetDefault=10,this.RehearsalMarkXOffset=0,this.RehearsalMarkXOffsetSystemStartMeasure=-20,this.RehearsalMarkYOffsetDefault=-15,this.RehearsalMarkYOffset=0,this.RehearsalMarkFontSize=10,this.MeasureNumberLabelHeight=1.5*_EngravingRules.unit,this.MeasureNumberLabelOffset=2,this.MeasureNumberLabelXOffset=-.5,this.TupletsRatioed=!1,this.TupletsBracketed=!1,this.TripletsBracketed=!1,this.TupletsBracketedUseXMLValue=!0,this.TupletNumberLabelHeight=1.5*_EngravingRules.unit,this.TupletNumberYOffset=.5,this.TupletNumberLimitConsecutiveRepetitions=!0,this.TupletNumberMaxConsecutiveRepetitions=2,this.TupletNumberAlwaysDisableAfterFirstMax=!0,this.TupletNumberUseShowNoneXMLValue=!0,this.LabelMarginBorderFactor=.1,this.TupletVerticalLineLength=.5,this.TupletNumbersInTabs=!0,this.TabTupletYOffsetBottom=1,this.TabTupletYOffsetTop=-3.5,this.TabTupletYOffsetEffects=1.5,this.TabTupletsBracketed=!0,this.TabBeamsRendered=!0,this.TabKeySignatureRendered=!1,this.TabKeySignatureSpacingAdded=!0,this.TabTimeSignatureRendered=!1,this.TabTimeSignatureSpacingAdded=!0,this.TabFingeringsRendered=!1,this.SlurPlacementFromXML=!0,this.SlurPlacementAtStems=!1,this.SlurPlacementUseSkyBottomLine=!1,this.BezierCurveStepSize=1e3,this.calculateCurveParametersArrays(),this.TieGhostObjectWidth=.75,this.TieYPositionOffsetFactor=.3,this.MinimumNeededXspaceForTieGhostObject=1,this.TieHeightMinimum=.28,this.TieHeightMaximum=1.2,this.TieHeightInterpolationK=.0288,this.TieHeightInterpolationD=.136,this.SlurNoteHeadYOffset=.5,this.SlurEndArticulationYOffset=.8,this.SlurStartArticulationYOffsetOfArticulation=.5,this.SlurStemXOffset=.3,this.SlurSlopeMaxAngle=15,this.SlurTangentMinAngle=30,this.SlurTangentMaxAngle=80,this.SlurHeightFactor=1,this.SlurHeightFlattenLongSlursFactorByWidth=.24,this.SlurHeightFlattenLongSlursFactorByAngle=.36,this.SlurHeightFlattenLongSlursCutoffAngle=47,this.SlurHeightFlattenLongSlursCutoffWidth=16,this.SlursStartingAtSameStaffEntryYOffset=.8,this.SlurMaximumYControlPointDistance=void 0,this.GlissandoNoteOffset=.5,this.GlissandoStafflineStartMinimumWidth=1,this.GlissandoStafflineStartYDistanceToNote=.8,this.GlissandoStafflineEndOffset=1,this.GlissandoDefaultWidth=.1,this.RepetitionAllowFirstMeasureBeginningRepeatBarline=!1,this.RepetitionEndingLabelHeight=2,this.RepetitionEndingLabelXOffset=.5,this.RepetitionEndingLabelYOffset=.3,this.RepetitionEndingLineYLowerOffset=.5,this.RepetitionEndingLineYUpperOffset=.3,this.VoltaOffset=2.5,this.LyricsAlignmentStandard=TextAlignmentEnum.LeftBottom,this.LyricsHeight=2,this.LyricsYOffsetToStaffHeight=0,this.LyricsYMarginToBottomLine=.2,this.LyricsExtraXShiftForShortLyrics=.5,this.LyricsExtraXShiftForShortLyricsWidthThreshold=1.4,this.LyricsUseXPaddingForLongLyrics=!0,this.LyricsXPaddingFactorForLongLyrics=1,this.LyricsXPaddingWidthThreshold=1.7,this.LyricsXPaddingReductionForLongNotes=.7,this.LyricsXPaddingReductionForLastNoteInMeasure=1.2,this.LyricsXPaddingForLastNoteInMeasure=!0,this.VerticalBetweenLyricsDistance=.5,this.HorizontalBetweenLyricsDistance=.2,this.BetweenSyllableMaximumDistance=10,this.BetweenSyllableMinimumDistance=.5,this.LyricOverlapAllowedIntoNextMeasure=3.4,this.MinimumDistanceBetweenDashes=10,this.MaximumLyricsElongationFactor=2.5,this.TempoYSpacing=.5,this.InstantaneousTempoTextHeight=2.3,this.ContinuousDynamicTextHeight=2.3,this.MoodTextHeight=2.3,this.UnknownTextHeight=2,this.ContinuousTempoTextHeight=2.3,this.DynamicExpressionMaxDistance=2,this.DynamicExpressionSpacer=.5,this.IgnoreRepeatedDynamics=!1,this.ExpressionsUseXMLColor=!0,this.VexFlowDefaultNotationFontScale=39,this.VexFlowDefaultTabFontScale=39,this.TremoloStrokeScale=1,this.TremoloYSpacingScale=1,this.TremoloBuzzRollThickness=.25,this.StemWidth=.15,this.StaffLineWidth=.1,this.StaffLineColor=void 0,this.LedgerLineWidth=1,this.LedgerLineStrokeStyle=void 0,this.LedgerLineColorDefault="#000000",this.WedgeLineWidth=.12,this.TupletLineWidth=.12,this.LyricUnderscoreLineWidth=.12,this.SystemThinLineWidth=.12,this.SystemBoldLineWidth=_EngravingRules.unit/2,this.SystemRepetitionEndingLineWidth=.12,this.SystemDotWidth=_EngravingRules.unit/2,this.DistanceBetweenVerticalSystemLines=.35,this.DistanceBetweenDotAndLine=.7,this.RepeatEndStartPadding=2,this.OctaveShiftLineWidth=.12,this.OctaveShiftVerticalLineLength=_EngravingRules.unit,this.OctaveShiftOnWholeMeasureNoteUntilEndOfMeasure=!1,this.GraceLineWidth=this.StaffLineWidth*this.GraceNoteScalingFactor,this.MultipleRestMeasureDefaultWidth=4,this.MultipleRestMeasureAddKeySignature=!0,this.FixedMeasureWidth=!1,this.FixedMeasureWidthFixedValue=void 0,this.FixedMeasureWidthUseForPickupMeasures=!1,this.MinimumCrossedBeamDifferenceMargin=1e-4,this.SheetMaximumWidth=32767,this.VoiceSpacingMultiplierVexflow=.85,this.VoiceSpacingAddendVexflow=3,this.PickupMeasureWidthMultiplier=1,this.PickupMeasureRepetitionSpacing=.8,this.PickupMeasureSpacingSingleNoteAddend=1.6,this.DisplacedNoteMargin=.1,this.MinNoteDistance=2,this.SubMeasureXSpacingThreshold=35,this.MeasureDynamicsMaxScalingFactor=2.5,this.WholeRestXShiftVexflow=-1.5,this.MetronomeMarksDrawn=!0,this.MetronomeMarkXShift=-6,this.MetronomeMarkYShift=-1,this.SoftmaxFactorVexFlow=15,this.StaggerSameWholeNotes=!0,this.AlignRests=AlignRestOption.Never,this.RestCollisionYPadding=0,this.FillEmptyMeasuresWithWholeRest=FillEmptyMeasuresWithWholeRests.No,this.ArpeggiosGoAcrossVoices=!1,this.RenderArpeggios=!0,this.RenderSlurs=!0,this.RenderGlissandi=!0,this.ColoringMode=ColoringModes.XML,this.ColoringEnabled=!0,this.ColorStemsLikeNoteheads=!1,this.ColorBeams=!0,this.ColorFlags=!0,this.applyDefaultColorMusic("#000000"),this.DefaultColorCursor="#33e02f",this.DefaultFontFamily="Times New Roman",this.DefaultFontStyle=FontStyles.Regular,this.DefaultVexFlowNoteFont="gonville",this.MaxMeasureToDrawIndex=Number.MAX_VALUE,this.MinMeasureToDrawIndex=0,this.MaxSystemToDrawNumber=Number.MAX_VALUE,this.MaxPageToDrawNumber=Number.MAX_VALUE,this.RenderComposer=!0,this.RenderTitle=!0,this.RenderSubtitle=!0,this.RenderLyricist=!0,this.RenderCopyright=!1,this.RenderPartNames=!0,this.RenderPartAbbreviations=!0,this.RenderSystemLabelsAfterFirstPage=!0,this.RenderFingerings=!0,this.RenderMeasureNumbers=!0,this.RenderMeasureNumbersOnlyAtSystemStart=!1,this.UseXMLMeasureNumbers=!0,this.RenderLyrics=!0,this.RenderChordSymbols=!0,this.RenderMultipleRestMeasures=!0,this.AutoGenerateMultipleRestMeasuresFromRestMeasures=!0,this.RenderRehearsalMarks=!0,this.RenderClefsAtBeginningOfStaffline=!0,this.RenderKeySignatures=!0,this.RenderTimeSignatures=!0,this.RenderPedals=!0,this.RenderWavyLines=!0,this.ArticulationPlacementFromXML=!0,this.BreathMarkDistance=.8,this.FingeringPosition=PlacementEnum.AboveOrBelow,this.FingeringPositionFromXML=!0,this.FingeringPositionGrace=PlacementEnum.Left,this.FingeringInsideStafflines=!1,this.FingeringLabelFontHeight=1.7,this.FingeringOffsetX=0,this.FingeringOffsetY=0,this.FingeringPaddingY=-.2,this.FingeringTextSize=1.5,this.RenderStringNumbersClassical=!0,this.StringNumberOffsetY=0,this.NewSystemAtXMLNewSystemAttribute=!1,this.NewPageAtXMLNewPageAttribute=!1,this.NewSystemAtXMLNewPageAttribute=!1,this.RestoreCursorAfterRerender=!0,this.StretchLastSystemLine=!1,this.IgnoreBracketsWords=!0,this.PlaceWordsInsideStafflineFromXml=!1,this.PlaceWordsInsideStafflineYOffset=.9,this.UseJustifiedBuilder=!0,this.PageFormat=PageFormat.UndefinedPageFormat,this.PageBackgroundColor=void 0,this.PerformanceMode=!1,this.RenderSingleHorizontalStaffline=!1,this.SpacingBetweenTextLines=0,this.NoteToGraphicalNoteMap=new Dictionary,this.NoteToGraphicalNoteMapObjectCount=0,this.SkyBottomLineBatchMinMeasures=5,this.SkyBottomLineWebGLMinMeasures=80,this.AlwaysSetPreferredSkyBottomLineBackendAutomatically=!0,this.DisableWebGLInFirefox=!0,this.DisableWebGLInSafariAndIOS=!0,this.setPreferredSkyBottomLineBackendAutomatically();try{this.MaxInstructionsConstValue=this.ClefLeftMargin+this.ClefRightMargin+this.KeyRightMargin+this.RhythmRightMargin+11}catch(i){loglevelExports.info("EngravingRules()",i)}this.MpatMode&&(this.NewPartAndSystemAfterFinalBarline=!0)}setPreferredSkyBottomLineBackendAutomatically(i=-1){var o,a,l,c;let e="",r="";typeof globalThis=="object"&&(e=(a=(o=globalThis.navigator)==null?void 0:o.vendor)!=null?a:"",r=(c=(l=globalThis.navigator)==null?void 0:l.userAgent)!=null?c:"");let s=!1;(this.DisableWebGLInSafariAndIOS&&/apple/i.test(e)||this.DisableWebGLInFirefox&&r.includes("Firefox"))&&(s=!0),this.PreferredSkyBottomLineBatchCalculatorBackend=SkyBottomLineBatchCalculatorBackendType.Plain,s||i>=this.SkyBottomLineWebGLMinMeasures&&(this.PreferredSkyBottomLineBatchCalculatorBackend=SkyBottomLineBatchCalculatorBackendType.WebGL)}applyDefaultColorMusic(i){this.DefaultColorMusic=i,this.DefaultColorNotehead=i,this.DefaultColorRest=i,this.DefaultColorStem=i,this.DefaultColorLabel=i,this.DefaultColorLyrics=i,this.DefaultColorTitle=i,this.LedgerLineColorDefault=i}addGraphicalNoteToNoteMap(i,e){i.NoteToGraphicalNoteObjectId=this.NoteToGraphicalNoteMapObjectCount,this.NoteToGraphicalNoteMap.setValue(i.NoteToGraphicalNoteObjectId,e),this.NoteToGraphicalNoteMapObjectCount++}GNote(i){return GraphicalNote.FromNote(i,this)}clearMusicSheetObjects(){this.NoteToGraphicalNoteMap=new Dictionary,this.NoteToGraphicalNoteMapObjectCount=0}resetChordAccidentalTexts(i,e){i.setValue(AccidentalEnum.SHARP,e?"♯":"#"),i.setValue(AccidentalEnum.FLAT,e?"♭":"b"),i.setValue(AccidentalEnum.DOUBLEFLAT,e?"𝄫":"bb"),i.setValue(AccidentalEnum.DOUBLESHARP,e?"𝄪":"x")}setChordSymbolLabelText(i,e){this.ChordSymbolLabelTexts.setValue(i,e)}resetChordSymbolLabelTexts(i){return i.setValue(ChordSymbolEnum.minor,"m"),i.setValue(ChordSymbolEnum.augmented,"aug"),i.setValue(ChordSymbolEnum.diminished,"dim"),i.setValue(ChordSymbolEnum.dominant,"7"),i.setValue(ChordSymbolEnum.majorseventh,"maj7"),i.setValue(ChordSymbolEnum.minorseventh,"m7"),i.setValue(ChordSymbolEnum.diminishedseventh,"dim7"),i.setValue(ChordSymbolEnum.augmentedseventh,"aug7"),i.setValue(ChordSymbolEnum.halfdiminished,`m7${this.ChordAccidentalTexts.getValue(AccidentalEnum.FLAT)}5`),i.setValue(ChordSymbolEnum.majorminor,"m(maj7)"),i.setValue(ChordSymbolEnum.majorsixth,"maj6"),i.setValue(ChordSymbolEnum.minorsixth,"m6"),i.setValue(ChordSymbolEnum.dominantninth,"9"),i.setValue(ChordSymbolEnum.majorninth,"maj9"),i.setValue(ChordSymbolEnum.minorninth,"m9"),i.setValue(ChordSymbolEnum.dominant11th,"11"),i.setValue(ChordSymbolEnum.major11th,"maj11"),i.setValue(ChordSymbolEnum.minor11th,"m11"),i.setValue(ChordSymbolEnum.dominant13th,"13"),i.setValue(ChordSymbolEnum.major13th,"maj13"),i.setValue(ChordSymbolEnum.minor13th,"m13"),i.setValue(ChordSymbolEnum.suspendedsecond,"sus2"),i.setValue(ChordSymbolEnum.suspendedfourth,"sus4"),i.setValue(ChordSymbolEnum.power,"5"),i.setValue(ChordSymbolEnum.none,"N.C."),i}addChordName(i,e,r,s,o){if(ChordSymbolEnum[e]!==void 0){const a={adds:r,alts:s,subs:o};this.CustomChords.push(CustomChord.createCustomChord(i,ChordSymbolEnum[e],a))}}renameChord(i,e){CustomChord.renameCustomChord(i,e,this.CustomChords)}resetChordNames(){const i=this.ChordAccidentalTexts.getValue(AccidentalEnum.SHARP),e=this.ChordAccidentalTexts.getValue(AccidentalEnum.FLAT);this.addChordName("alt","major",[`${i}5`,`${e}9`,`${i}9`],[`${e}5`],[]),this.addChordName("7alt","dominant",[`${i}5`,`${e}9`,`${i}9`],[`${e}5`],[]),this.addChordName("7sus4","dominant",["4"],[],["3"]),this.addChordName("7sus4","suspendedfourth",["7"],[],[]),this.addChordName("9sus4","dominantninth",["4"],[],["3"]),this.addChordName("9sus4","suspendedfourth",["9"],[],[]),this.addChordName("11sus4","dominant11th",["4"],[],["3"]),this.addChordName("11sus4","suspendedfourth",["11"],[],[]),this.addChordName("13sus4","dominant13th",["4"],[],["3"]),this.addChordName("13sus4","suspendedfourth",["13"],[],[]),this.addChordName("7sus2","dominant",["2"],[],["3"]),this.addChordName("7sus2","suspendedsecond",["7"],[],[]),this.addChordName(`m7${e}5`,"minorseventh",[],[`${e}5`],[]),this.addChordName("9sus2","dominantninth",["2"],[],["3"]),this.addChordName("9sus2","suspendedsecond",["9"],[],[]),this.addChordName("11sus2","dominant11th",["2"],[],["3"]),this.addChordName("11sus2","suspendedsecond",["11"],[],[]),this.addChordName("13sus2","dominant13th",["2"],[],["3"]),this.addChordName("13sus2","suspendedsecond",["13"],[],[]),this.addChordName("m(maj9)","majorminor",["9"],[],[]),this.addChordName("m(maj11)","majorminor",["11"],[],[]),this.addChordName("m(maj13)","majorminor",["13"],[],[]),this.addChordName("69","majorsixth",["9"],[],[]),this.addChordName("mi69","minorsixth",["9"],[],[])}calculateCurveParametersArrays(){this.TPower3=new Array(this.BezierCurveStepSize),this.OneMinusTPower3=new Array(this.BezierCurveStepSize),this.FactorOne=new Array(this.BezierCurveStepSize),this.FactorTwo=new Array(this.BezierCurveStepSize);for(let i=0;i{var s,o,a,l;return((o=(s=r.sourceNote.Pitch)==null?void 0:s.getHalfTone())!=null?o:0)-((l=(a=e.sourceNote.Pitch)==null?void 0:a.getHalfTone())!=null?l:0)}),this.notes}sortForVexflow(){return this.notes.sort((e,r)=>{var s,o,a;return((o=(s=e.sourceNote.Pitch)==null?void 0:s.getHalfTone())!=null?o:0)-((a=r.sourceNote.Pitch.getHalfTone())!=null?a:0)}),this.notes}color(){}}class GraphicalMusicSheet{constructor(e,r){this.musicPages=[],this.measureList=[],this.verticalGraphicalStaffEntryContainers=[],this.cursors=[],this.leadSheet=!1,this.musicSheet=e,this.numberOfStaves=this.musicSheet.Staves.length,this.calculator=r,this.calculator.initialize(this)}get ParentMusicSheet(){return this.musicSheet}get GetCalculator(){return this.calculator}get JianpuKeySignature(){return this.jianpuKeySignature}set JianpuKeySignature(e){this.jianpuKeySignature=e}get MusicPages(){return this.musicPages}set MusicPages(e){this.musicPages=e}get MeasureList(){return this.measureList}set MeasureList(e){this.measureList=e}get VerticalGraphicalStaffEntryContainers(){return this.verticalGraphicalStaffEntryContainers}set VerticalGraphicalStaffEntryContainers(e){this.verticalGraphicalStaffEntryContainers=e}get Title(){return this.title}set Title(e){this.title=e}get Subtitle(){return this.subtitle}set Subtitle(e){this.subtitle=e}get Composer(){return this.composer}set Composer(e){this.composer=e}get Lyricist(){return this.lyricist}set Lyricist(e){this.lyricist=e}get Copyright(){return this.copyright}set Copyright(e){this.copyright=e}get Cursors(){return this.cursors}get SelectionStartSymbol(){return this.selectionStartSymbol}get SelectionEndSymbol(){return this.selectionEndSymbol}get MinAllowedSystemWidth(){return this.minAllowedSystemWidth}set MinAllowedSystemWidth(e){this.minAllowedSystemWidth=e}get NumberOfStaves(){return this.numberOfStaves}get LeadSheet(){return this.leadSheet}set LeadSheet(e){this.leadSheet=e}static transformRelativeToAbsolutePosition(e){for(let r=0;r=0;o--){const a=(s=this.measureList[o])==null?void 0:s[r];if(a)return a}}findGraphicalStaffEntryFromMeasureList(e,r,s){for(let o=r;o0)return l.staffEntries[0]}}getFirstVisibleMeasuresListFromIndices(e,r){const s=[],o=this.measureList[0].length;for(let a=e;a<=r;a++)for(let l=0;l=0;r--){if(this.verticalGraphicalStaffEntryContainers[r].AbsoluteTimestamp.lt(e)){const s=new VerticalGraphicalStaffEntryContainer(this.numberOfStaves,e);return this.verticalGraphicalStaffEntryContainers.splice(r+1,0,s),s}if(this.verticalGraphicalStaffEntryContainers[r].AbsoluteTimestamp.Equals(e))return this.verticalGraphicalStaffEntryContainers[r]}}GetVerticalContainerFromTimestamp(e,r=0){const s=CollectionUtil.binarySearch(this.verticalGraphicalStaffEntryContainers,new VerticalGraphicalStaffEntryContainer(0,e),VerticalGraphicalStaffEntryContainer.compareByTimestamp,r);if(s>=0)return this.verticalGraphicalStaffEntryContainers[s]}GetInterpolatedIndexInVerticalContainers(e){const r=this.verticalGraphicalStaffEntryContainers;if(r.length===1)return 0;let s=0,o=r.length-1,a,l;if(e.lte(r[r.length-1].AbsoluteTimestamp)){for(;o-s>1;){const g=Math.floor((o+s)/2);if(r[s].AbsoluteTimestamp.Equals(e)){o=s;break}else if(r[o].AbsoluteTimestamp.Equals(e)){s=o;break}else{if(r[g].AbsoluteTimestamp.Equals(e))return this.verticalGraphicalStaffEntryContainers.indexOf(r[g]);e.lt(r[g].AbsoluteTimestamp)?o=g:s=g}}if(s===o)return this.verticalGraphicalStaffEntryContainers.indexOf(r[s]);a=r[s].AbsoluteTimestamp,l=r[o].AbsoluteTimestamp}else a=r[r.length-1].AbsoluteTimestamp,l=Fraction$1.plus(this.getLongestStaffEntryDuration(r.length-1),a),o=r.length;const c=l.RealValue-a.RealValue,u=l.RealValue-e.RealValue,d=o-u/c;return Math.min(d,this.verticalGraphicalStaffEntryContainers.length-1)}getVisibleStavesIndicesFromSourceMeasure(e){const r=[],s=[];for(let o=0,a=e.length;o=0;)o=this.measureList[--s][e];return this.measureList[s][e]}getMeasureIndex(e,r,s){for(r=0;r{var s;return((s=r.parentStaffEntry)==null?void 0:s.relInMeasureTimestamp)!==void 0})}GetNearestNote(e,r){const s=this.GetNearestVoiceEntry(e);if(!s)return;let o,a=Number.MAX_SAFE_INTEGER;for(const l of s.notes){const c=l.PositionAndShape.AbsolutePosition.y,u=Math.abs(l.PositionAndShape.AbsolutePosition.x-e.x),d=Math.abs(c-e.y);u+dl.PositionAndShape.RelativePosition.x&&(s=l):s=l)}}catch(o){loglevelExports.info("GraphicalMusicSheet.getStaffEntry",o)}return s}GetPreviousVisibleContainerIndex(e){for(let r=e-1;r>=0;r--){const s=this.verticalGraphicalStaffEntryContainers[r].StaffEntries;for(let o=0,a=s.length;o=0;a--)if(s=this.getStaffEntry(a),s)if(r){if(s.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return s}else return s}findClosestRightStaffEntry(e,r){let s;const o=Math.max(0,Math.ceil(e));for(let a=o;a1}isVisible(){return this.ParentStaff.ParentInstrument.Visible}getGraphicalMeasureDurationFromStaffEntries(){let e=new Fraction$1(0,1);const r=[];for(let s=0,o=this.staffEntries.length;s0&&l.Add(u.notes[0].graphicalNoteLength);e.lt(l)&&(e=Fraction$1.createFromFraction(l))}return e}addGraphicalStaffEntry(e){this.staffEntries.push(e)}addGraphicalStaffEntryAtTimestamp(e){if(e)if(this.staffEntries.length===0||this.staffEntries[this.staffEntries.length-1].relInMeasureTimestamp.lt(e.relInMeasureTimestamp))this.staffEntries.push(e);else for(let r=this.staffEntries.length-1;r>=0;r--){if(this.staffEntries[r].relInMeasureTimestamp.lt(e.relInMeasureTimestamp)){this.staffEntries.splice(r+1,0,e);break}r===0&&this.staffEntries.splice(r,0,e)}}isPianoRightHand(){return this.isUpperStaffOfInstrument()}isPianoLeftHand(){return this.isLowerStaffOfInstrument()}isUpperStaffOfInstrument(){return this.parentStaff.ParentInstrument.Staves.length===1?!0:this.ParentStaff===this.parentStaff.ParentInstrument.Staves[0]}isLowerStaffOfInstrument(){return this.parentStaff.ParentInstrument.Staves.length===1?!1:this.ParentStaff===this.ParentStaff.ParentInstrument.Staves.last()}beginsWithLineRepetition(){const e=this.parentSourceMeasure;return e?e.beginsWithLineRepetition():!1}endsWithLineRepetition(){const e=this.parentSourceMeasure;return e?e.endsWithLineRepetition():!1}beginsWithWordRepetition(){const e=this.parentSourceMeasure;return e?e.beginsWithWordRepetition():!1}endsWithWordRepetition(){const e=this.parentSourceMeasure;return e?e.endsWithWordRepetition():!1}getTransposedHalftones(){return this.parentStaff.ParentInstrument.GetMusicSheet.Transpose+this.parentStaff.ParentInstrument.Transpose}}const Vex=()=>{};Vex.L=(i,e)=>{if(!e)return;const r=Array.prototype.slice.call(e).join(" ");window.console.log(i+": "+r)};Vex.MakeException=i=>class extends Error{constructor(r,s){super(r),this.name=i,this.message=r,this.data=s}};class RuntimeError{constructor(e,r){this.code=e,this.message=r}toString(){return"[RuntimeError] "+this.code+":"+this.message}}Vex.RuntimeError=RuntimeError;Vex.RERR=Vex.RuntimeError;Vex.Merge=(i,e)=>{for(const r in e)i[r]=e[r];return i};Vex.Min=Math.min;Vex.Max=Math.max;Vex.forEach=(i,e)=>{for(let r=0;ri%e>=e/2?parseInt(i/e,10)*e+e:parseInt(i/e,10)*e;Vex.MidLine=(i,e)=>{let r=e+(i-e)/2;return r%2>0&&(r=Vex.RoundN(r*10,5)/10),r};Vex.SortAndUnique=(i,e,r)=>{if(i.length>1){const s=[];let o;i.sort(e);for(let a=0;a{let r=i.length;for(;r--;)if(i[r]===e)return!0;return!1};Vex.getCanvasContext=i=>{if(!i)throw new Vex.RERR("BadArgument","Invalid canvas selector: "+i);const e=document.getElementById(i);if(!(e&&e.getContext))throw new Vex.RERR("UnsupportedBrowserError","This browser does not support HTML5 Canvas");return e.getContext("2d")};Vex.drawDot=(i,e,r,s="#55")=>{i.save(),i.setFillStyle(s),i.beginPath(),i.arc(e,r,3,0,Math.PI*2,!0),i.closePath(),i.fill(),i.restore()};Vex.BM=(i,e)=>{const r=new Date().getTime();e();const s=new Date().getTime()-r;Vex.L(i+s+"ms")};Vex.StackTrace=()=>new Error().stack;Vex.W=(...i)=>{const e=i.join(" ");window.console.log("Warning: ",e,Vex.StackTrace())};Vex.Prefix=i=>Vex.Prefix.prefix+i;Vex.Prefix.prefix="vf-";class Fraction{static GCD(e,r){if(typeof e!="number"||typeof r!="number")throw new Vex.RERR("BadArgument",`Invalid numbers: ${e}, ${r}`);let s;for(;r!==0;)s=r,r=e%r,e=s;return e}static LCM(e,r){return e*r/Fraction.GCD(e,r)}static LCMM(e){if(e.length===0)return 0;if(e.length===1)return e[0];if(e.length===2)return Fraction.LCM(e[0],e[1]);{const r=e[0];return e.shift(),Fraction.LCM(r,Fraction.LCMM(e))}}constructor(e,r){this.set(e,r)}set(e,r){return this.numerator=e===void 0?1:e,this.denominator=r===void 0?1:r,this}value(){return this.numerator/this.denominator}simplify(){let e=this.numerator,r=this.denominator;const s=Fraction.GCD(e,r);return e/=s,r/=s,r<0&&(r=-r,e=-e),this.set(e,r)}add(e,r){let s,o;e instanceof Fraction?(s=e.numerator,o=e.denominator):(e!==void 0?s=e:s=0,r!==void 0?o=r:o=1);const a=Fraction.LCM(this.denominator,o),l=a/this.denominator,c=a/o,u=this.numerator*l+s*c;return this.set(u,a)}subtract(e,r){let s,o;e instanceof Fraction?(s=e.numerator,o=e.denominator):(e!==void 0?s=e:s=0,r!==void 0?o=r:o=1);const a=Fraction.LCM(this.denominator,o),l=a/this.denominator,c=a/o,u=this.numerator*l-s*c;return this.set(u,a)}multiply(e,r){let s,o;return e instanceof Fraction?(s=e.numerator,o=e.denominator):(e!==void 0?s=e:s=1,r!==void 0?o=r:o=1),this.set(this.numerator*s,this.denominator*o)}divide(e,r){let s,o;return e instanceof Fraction?(s=e.numerator,o=e.denominator):(e!==void 0?s=e:s=1,r!==void 0?o=r:o=1),this.set(this.numerator*o,this.denominator*s)}equals(e){const r=Fraction.__compareA.copy(e).simplify(),s=Fraction.__compareB.copy(this).simplify();return r.numerator===s.numerator&&r.denominator===s.denominator}greaterThan(e){const r=Fraction.__compareB.copy(this);return r.subtract(e),r.numerator>0}greaterThanEquals(e){const r=Fraction.__compareB.copy(this);return r.subtract(e),r.numerator>=0}lessThan(e){return!this.greaterThanEquals(e)}lessThanEquals(e){return!this.greaterThan(e)}clone(){return new Fraction(this.numerator,this.denominator)}copy(e){return typeof e=="number"?this.set(e||0,1):this.set(e.numerator,e.denominator)}quotient(){return Math.floor(this.numerator/this.denominator)}fraction(){return this.numerator%this.denominator}abs(){return this.denominator=Math.abs(this.denominator),this.numerator=Math.abs(this.numerator),this}toString(){return this.numerator+"/"+this.denominator}toSimplifiedString(){return Fraction.__tmp.copy(this).simplify().toString()}toMixedString(){let e="";const r=this.quotient(),s=Fraction.__tmp.copy(this);return r<0?s.abs().fraction():s.fraction(),r!==0?(e+=r,s.numerator!==0&&(e+=" "+s.toSimplifiedString())):s.numerator===0?e="0":e=s.toSimplifiedString(),e}parse(e){const r=e.split("/"),s=parseInt(r[0],10),o=r[1]?parseInt(r[1],10):1;return this.set(s,o)}}Fraction.__compareA=new Fraction;Fraction.__compareB=new Fraction;Fraction.__tmp=new Fraction;const X$3=Vex.MakeException("RegistryError");function setIndexValue(i,e,r,s,o){i[e][r]||(i[e][r]={}),i[e][r][s]=o}class Registry{static get INDEXES(){return["type"]}constructor(){this.clear()}static enableDefaultRegistry(e){Registry.defaultRegistry=e}static getDefaultRegistry(){return Registry.defaultRegistry}static disableDefaultRegistry(){Registry.defaultRegistry=null}clear(){return this.index={id:{},type:{},class:{}},this}updateIndex({id:e,name:r,value:s,oldValue:o}){const a=this.getElementById(e);o!==null&&this.index[r][o]&&delete this.index[r][o][e],s!==null&&setIndexValue(this.index,r,s,a.getAttribute("id"),a)}register(e,r){if(r=r||e.getAttribute("id"),!r)throw new X$3("Can't add element without `id` attribute to registry",e);return e.setAttribute("id",r),setIndexValue(this.index,"id",r,r,e),Registry.INDEXES.forEach(s=>{this.updateIndex({id:r,name:s,value:e.getAttribute(s),oldValue:null})}),e.onRegister(this),this}getElementById(e){return this.index.id[e]?this.index.id[e][e]:null}getElementsByAttribute(e,r){const s=this.index[e];return s&&s[r]?Object.keys(s[r]).map(o=>s[r][o]):[]}getElementsByType(e){return this.getElementsByAttribute("type",e)}getElementsByClass(e){return this.getElementsByAttribute("class",e)}onUpdate({id:e,name:r,value:s,oldValue:o}){function a(l,c){return l.filter(u=>u===c).length>0}return a(Registry.INDEXES.concat(["id","class"]),r)?(this.updateIndex({id:e,name:r,value:s,oldValue:o}),this):this}}Registry.defaultRegistry=null;let Element$1=class Ii{static newID(){return"auto"+Ii.ID++}constructor({type:e}={}){this.attrs={id:Ii.newID(),el:null,type:e||"Base",classes:{}},this.boundingBox=null,this.context=null,this.rendered=!1,Registry.getDefaultRegistry()&&Registry.getDefaultRegistry().register(this)}setStyle(e){return this.style=e,this}getStyle(){return this.style}applyStyle(e=this.context,r=this.getStyle()){return r?(e.save(),r.shadowColor&&e.setShadowColor(r.shadowColor),r.shadowBlur&&e.setShadowBlur(r.shadowBlur),r.fillStyle&&e.setFillStyle(r.fillStyle),r.strokeStyle&&e.setStrokeStyle(r.strokeStyle),r.lineWidth&&e.setLineWidth(r.lineWidth),this):this}restoreStyle(e=this.context,r=this.getStyle()){return r?(e.restore(),this):this}drawWithStyle(){this.checkContext(),this.applyStyle(),this.draw(),this.restoreStyle()}hasClass(e){return this.attrs.classes[e]===!0}addClass(e){return this.attrs.classes[e]=!0,this.registry&&this.registry.onUpdate({id:this.getAttribute("id"),name:"class",value:e,oldValue:null}),this}removeClass(e){return delete this.attrs.classes[e],this.registry&&this.registry.onUpdate({id:this.getAttribute("id"),name:"class",value:null,oldValue:e}),this}onRegister(e){return this.registry=e,this}isRendered(){return this.rendered}setRendered(e=!0){return this.rendered=e,this}getAttributes(){return this.attrs}getAttribute(e){return this.attrs[e]}setAttribute(e,r){const s=this.attrs.id,o=this.attrs[e];return this.attrs[e]=r,this.registry&&this.registry.onUpdate({id:s,name:e,value:r,oldValue:o}),this}getContext(){return this.context}setContext(e){return this.context=e,this}getBoundingBox(){return this.boundingBox}checkContext(){if(!this.context)throw new Vex.RERR("NoContext","No rendering context attached to instance");return this.context}};Element$1.ID=1e3;class BoundingBoxComputation{constructor(e,r,s,o){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN,this.addPoint(e,r),this.addPoint(s,o)}width(){return this.x2-this.x1}height(){return this.y2-this.y1}addPoint(e,r){e!=null&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),ethis.x2&&(this.x2=e)),r!=null&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=r,this.y2=r),rthis.y2&&(this.y2=r))}addX(e){this.addPoint(e,null)}addY(e){this.addPoint(null,e)}addQuadraticCurve(e,r,s,o,a,l){const c=e+.6666666666666666*(s-e),u=r+2/3*(o-r),d=c+1/3*(a-e),g=u+1/3*(l-r);this.addBezierCurve(e,r,c,u,d,g,a,l)}addBezierCurve(e,r,s,o,a,l,c,u){const d=[e,r],g=[s,o],m=[a,l],y=[c,u];let b;this.addPoint(d[0],d[1]),this.addPoint(y[0],y[1]);const A=(S,E)=>Math.pow(1-S,3)*d[E]+3*Math.pow(1-S,2)*S*g[E]+3*(1-S)*Math.pow(S,2)*m[E]+Math.pow(S,3)*y[E];for(b=0;b<=1;b++){const S=6*d[b]-12*g[b]+6*m[b],E=-3*d[b]+9*g[b]-9*m[b]+3*y[b],x=3*g[b]-3*d[b];if(E===0){if(S===0)continue;const k=-x/S;0{if(!i)throw new Vex.RERR("BadArgument","Invalid clef: "+i);const e=Flow.clefProperties.values[i];if(!e)throw new Vex.RERR("BadArgument","Invalid clef: "+i);return e};Flow.clefProperties.values={treble:{line_shift:0},bass:{line_shift:6},tenor:{line_shift:4},alto:{line_shift:3},soprano:{line_shift:1},percussion:{line_shift:0},"mezzo-soprano":{line_shift:2},"baritone-c":{line_shift:5},"baritone-f":{line_shift:5},subbass:{line_shift:7},french:{line_shift:-1}};Flow.keyProperties=(i,e,r)=>{e===void 0&&(e="treble");const s={octave_shift:0};typeof r=="object"&&Vex.Merge(s,r);const o=i.split("/");if(o.length<2)throw new Vex.RERR("BadArguments",`Key must have note + octave and an optional glyph: ${i}`);const a=o[0].toUpperCase(),l=Flow.keyProperties.note_values[a];if(!l)throw new Vex.RERR("BadArguments","Invalid key name: "+a);l.octave&&(o[1]=l.octave);let c=parseInt(o[1],10);c-=s.octave_shift;let d=(c*7-4*7+l.index)/2;d+=Flow.clefProperties(e).line_shift;let g=0;d<=0&&d*2%2===0&&(g=1),d>=6&&d*2%2===0&&(g=-1);const m=typeof l.int_val<"u"?c*12+l.int_val:null,y=l.code,b=l.shift_right;let A={};if(o.length>2&&o[2]){const S=o[2].toUpperCase();A=Flow.keyProperties.customNoteHeads[S]||{}}return{key:a,octave:c,line:d,int_value:m,accidental:l.accidental,code:y,stroke:g,shift_right:b,displaced:!1,...A}};Flow.keyProperties.note_values={C:{index:0,int_val:0,accidental:null},CN:{index:0,int_val:0,accidental:"n"},"C#":{index:0,int_val:1,accidental:"#"},"C##":{index:0,int_val:2,accidental:"##"},CB:{index:0,int_val:-1,accidental:"b"},CBB:{index:0,int_val:-2,accidental:"bb"},D:{index:1,int_val:2,accidental:null},DN:{index:1,int_val:2,accidental:"n"},"D#":{index:1,int_val:3,accidental:"#"},"D##":{index:1,int_val:4,accidental:"##"},DB:{index:1,int_val:1,accidental:"b"},DBB:{index:1,int_val:0,accidental:"bb"},E:{index:2,int_val:4,accidental:null},EN:{index:2,int_val:4,accidental:"n"},"E#":{index:2,int_val:5,accidental:"#"},"E##":{index:2,int_val:6,accidental:"##"},EB:{index:2,int_val:3,accidental:"b"},EBB:{index:2,int_val:2,accidental:"bb"},F:{index:3,int_val:5,accidental:null},FN:{index:3,int_val:5,accidental:"n"},"F#":{index:3,int_val:6,accidental:"#"},"F##":{index:3,int_val:7,accidental:"##"},FB:{index:3,int_val:4,accidental:"b"},FBB:{index:3,int_val:3,accidental:"bb"},G:{index:4,int_val:7,accidental:null},GN:{index:4,int_val:7,accidental:"n"},"G#":{index:4,int_val:8,accidental:"#"},"G##":{index:4,int_val:9,accidental:"##"},GB:{index:4,int_val:6,accidental:"b"},GBB:{index:4,int_val:5,accidental:"bb"},A:{index:5,int_val:9,accidental:null},AN:{index:5,int_val:9,accidental:"n"},"A#":{index:5,int_val:10,accidental:"#"},"A##":{index:5,int_val:11,accidental:"##"},AB:{index:5,int_val:8,accidental:"b"},ABB:{index:5,int_val:7,accidental:"bb"},B:{index:6,int_val:11,accidental:null},BN:{index:6,int_val:11,accidental:"n"},"B#":{index:6,int_val:12,accidental:"#"},"B##":{index:6,int_val:13,accidental:"##"},BB:{index:6,int_val:10,accidental:"b"},BBB:{index:6,int_val:9,accidental:"bb"},R:{index:6,int_val:9,rest:!0},X:{index:6,accidental:"",octave:4,code:"v3e",shift_right:5.5}};Flow.keyProperties.customNoteHeads={D0:{code:"v27",shift_right:0,stem_up_x_offset:0,stem_down_x_offset:0,stem_up_y_offset:-1,stem_down_y_offset:0},D1:{code:"v2d",shift_right:-.5},D2:{code:"v22",shift_right:-.5},D3:{code:"v70",shift_right:-.5},T0:{code:"v49",shift_right:-2,stem_up_y_offset:-4,stem_down_y_offset:4},T1:{code:"v93",shift_right:.5,stem_up_y_offset:-4,stem_down_y_offset:4},T2:{code:"v40",shift_right:.5,stem_up_y_offset:-4,stem_down_y_offset:4},T3:{code:"v7d",shift_right:.5,stem_up_y_offset:-4,stem_down_y_offset:4},TI:{code:"v11",shift_right:0,stem_up_y_shift:5,stem_down_y_shift:5,stem_up_x_offset:6,stem_down_x_offset:4},X0:{code:"v92",stem_up_x_offset:-2,stem_down_x_offset:0,stem_up_y_offset:4,stem_down_y_offset:4},X1:{code:"v95",shift_right:-.5,stem_up_y_offset:4,stem_down_y_offset:4},X2:{code:"v3e",shift_right:.5,stem_up_y_offset:4,stem_down_y_offset:4},X3:{code:"v3b",shift_right:0,stem_up_x_offset:-1.2,stem_down_x_offset:0,stem_up_y_offset:-1,stem_down_y_offset:2},S1:{code:"vd3",shift_right:0},S2:{code:"vd2",shift_right:0},R1:{code:"vd5",shift_right:0},R2:{code:"vd4",shift_right:0},rwl:{code:"rwl",shift_right:0},rhl:{code:"rhl",shift_right:0}};Flow.integerToNote=i=>{if(typeof i>"u")throw new Vex.RERR("BadArguments","Undefined integer for integerToNote");if(i<-2)throw new Vex.RERR("BadArguments",`integerToNote requires integer > -2: ${i}`);const e=Flow.integerToNote.table[i];if(!e)throw new Vex.RERR("BadArguments",`Unknown note value for integer: ${i}`);return e};Flow.integerToNote.table={0:"C",1:"C#",2:"D",3:"D#",4:"E",5:"F",6:"F#",7:"G",8:"G#",9:"A",10:"A#",11:"B"};Flow.tabToGlyph=(i,e=1)=>{let r=null,s=0,o=0;if(i.toString().toUpperCase()==="X"){const a=new Glyph("v7f",Flow.DEFAULT_TABLATURE_FONT_SCALE).getMetrics();r="v7f",s=a.width,o=-a.height/2}else s=Flow.textWidth(i.toString());return{text:i,code:r,getWidth:()=>s*e,shift_y:o}};Flow.textWidth=i=>7*i.toString().length;Flow.articulationCodes=i=>Flow.articulationCodes.articulations[i];Flow.articulationCodes.articulations={"a.":{code:"v23",between_lines:!0},av:{code:"v28",between_lines:!0},"a>":{code:"v42",between_lines:!0},"a-":{code:"v25",between_lines:!0},"a^":{code:"va",between_lines:!1},"a+":{code:"v8b",between_lines:!1},ao:{code:"v94",between_lines:!1},ah:{code:"vb9",between_lines:!1},"a@a":{code:"v43",between_lines:!1},"a@u":{code:"v5b",between_lines:!1},"a|":{code:"v75",between_lines:!1},am:{code:"v97",between_lines:!1},"a,":{code:"vb3",between_lines:!1}};Flow.accidentalCodes=i=>Flow.accidentalCodes.accidentals[i];Flow.accidentalCodes.accidentals={"#":{code:"v18",parenRightPaddingAdjustment:-1},"##":{code:"v7f",parenRightPaddingAdjustment:-1},b:{code:"v44",parenRightPaddingAdjustment:-2},bb:{code:"v26",parenRightPaddingAdjustment:-2},n:{code:"v4e",parenRightPaddingAdjustment:-1},"{":{code:"v9c",parenRightPaddingAdjustment:-1},"}":{code:"v84",parenRightPaddingAdjustment:-1},db:{code:"v9e",parenRightPaddingAdjustment:-1},d:{code:"vab",parenRightPaddingAdjustment:0},bbs:{code:"v90",parenRightPaddingAdjustment:-1},"++":{code:"v51",parenRightPaddingAdjustment:-1},"+":{code:"v78",parenRightPaddingAdjustment:-1},"+-":{code:"v8d",parenRightPaddingAdjustment:-1},"++-":{code:"v7a",parenRightPaddingAdjustment:-1},bs:{code:"vb7",parenRightPaddingAdjustment:-1},bss:{code:"v39",parenRightPaddingAdjustment:-1},o:{code:"vd0",parenRightPaddingAdjustment:-1},k:{code:"vd1",parenRightPaddingAdjustment:-1},ashs:{code:"vd6",parenRightPaddingAdjustment:-1},afhf:{code:"vd7",parenRightPaddingAdjustment:-1}};Flow.accidentalColumnsTable={1:{a:[1],b:[1]},2:{a:[1,2]},3:{a:[1,3,2],b:[1,2,1],second_on_bottom:[1,2,3]},4:{a:[1,3,4,2],b:[1,2,3,1],spaced_out_tetrachord:[1,2,1,2]},5:{a:[1,3,5,4,2],b:[1,2,4,3,1],spaced_out_pentachord:[1,2,3,2,1],very_spaced_out_pentachord:[1,2,1,2,1]},6:{a:[1,3,5,6,4,2],b:[1,2,4,5,3,1],spaced_out_hexachord:[1,3,2,1,3,2],very_spaced_out_hexachord:[1,2,1,2,1,2]}};Flow.ornamentCodes=i=>Flow.ornamentCodes.ornaments[i];Flow.ornamentCodes.ornaments={mordent:{code:"v1e"},mordent_inverted:{code:"v45"},turn:{code:"v72"},turn_inverted:{code:"v33"},tr:{code:"v1f"},upprall:{code:"v60"},downprall:{code:"vb4"},prallup:{code:"v6d"},pralldown:{code:"v2c"},upmordent:{code:"v29"},downmordent:{code:"v68"},lineprall:{code:"v20"},prallprall:{code:"v86"}};Flow.keySignature=i=>{const e=Flow.keySignature.keySpecs[i];if(!e)throw new Vex.RERR("BadKeySignature",`Bad key signature spec: '${i}'`);if(!e.acc)return[];const r=Flow.keySignature.accidentalList(e.acc),s=[];for(let o=0;o({b:[2,.5,2.5,1,3,1.5,3.5],"#":[0,1.5,-.5,1,2.5,.5,2]})[i];Flow.parseNoteDurationString=i=>{if(typeof i!="string")return null;const r=/(\d*\/?\d+|[a-z])(d*)([nrhms]|$)/.exec(i);if(!r)return null;const s=r[1],o=r[2].length;let a=r[3];return a.length===0&&(a="n"),{duration:s,dots:o,type:a}};Flow.parseNoteStruct=i=>{const e=i.duration,r=Flow.parseNoteDurationString(e);if(!r)return null;let s=Flow.durationToTicks(r.duration);if(s==null)return null;let o=i.type;const a=[];if(o){if(!Flow.getGlyphProps.validTypes[o])return null}else o=r.type||"n",i.keys!==void 0&&i.keys.forEach((u,d)=>{const g=u.split("/");g&&g.length===3&&(a[d]=g[2])});const l=i.dots?i.dots:r.dots;if(typeof l!="number")return null;let c=s;for(let u=0;u{const e=Flow.durationAliases[i];if(e!==void 0&&(i=e),Flow.durationToTicks.durations[i]===void 0)throw new Vex.RERR("BadArguments",`The provided duration is not valid: ${i}`);return i};Flow.durationToFraction=i=>new Fraction().parse(Flow.sanitizeDuration(i));Flow.durationToNumber=i=>Flow.durationToFraction(i).value();Flow.durationToTicks=i=>{i=Flow.sanitizeDuration(i);const e=Flow.durationToTicks.durations[i];return e===void 0?null:e};Flow.durationToTicks.durations={"1/2":Flow.RESOLUTION*2,1:Flow.RESOLUTION/1,2:Flow.RESOLUTION/2,4:Flow.RESOLUTION/4,8:Flow.RESOLUTION/8,16:Flow.RESOLUTION/16,32:Flow.RESOLUTION/32,64:Flow.RESOLUTION/64,128:Flow.RESOLUTION/128,256:Flow.RESOLUTION/256};Flow.durationAliases={w:"1",h:"2",q:"4",b:"256"};Flow.getGlyphProps=(i,e)=>{i=Flow.sanitizeDuration(i);const r=Flow.getGlyphProps.duration_codes[i];if(r===void 0)return null;e||(e="n");let s=r.type[e];if(s===void 0){const o=Flow.keyProperties.customNoteHeads[e.toUpperCase()];if(o===void 0)return null;s={code_head:o.code,...o}}return{...r.common,...s}};Flow.getGlyphProps.validTypes={n:{name:"note"},r:{name:"rest"},h:{name:"harmonic"},m:{name:"muted"},s:{name:"slash"}};Flow.getGlyphProps.duration_codes={"1/2":{common:{getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v53",i).getMetrics().width},stem:!1,stem_offset:0,flag:!1,stem_up_extension:-Flow.STEM_HEIGHT,stem_down_extension:-Flow.STEM_HEIGHT,tabnote_stem_up_extension:-Flow.STEM_HEIGHT,tabnote_stem_down_extension:-Flow.STEM_HEIGHT,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"v53"},h:{code_head:"v59"},m:{code_head:"vf",stem_offset:0},r:{code_head:"v31",rest:!0,position:"B/5",dot_shiftY:.5},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},1:{common:{getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v1d",i).getMetrics().width},stem:!1,stem_offset:0,flag:!1,stem_up_extension:-Flow.STEM_HEIGHT,stem_down_extension:-Flow.STEM_HEIGHT,tabnote_stem_up_extension:-Flow.STEM_HEIGHT,tabnote_stem_down_extension:-Flow.STEM_HEIGHT,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"v1d"},h:{code_head:"v46"},m:{code_head:"v92",stem_offset:-3},r:{code_head:"v5c",rest:!0,position:"D/5",dot_shiftY:.5},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},2:{common:{getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v81",i).getMetrics().width},stem:!0,stem_offset:0,flag:!1,stem_up_extension:0,stem_down_extension:0,tabnote_stem_up_extension:0,tabnote_stem_down_extension:0,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"v81"},h:{code_head:"v2d"},m:{code_head:"v95",stem_offset:-3},r:{code_head:"vc",stem:!1,rest:!0,position:"B/4",dot_shiftY:-.5},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},4:{common:{getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",i).getMetrics().width},stem:!0,stem_offset:0,flag:!1,stem_up_extension:0,stem_down_extension:0,tabnote_stem_up_extension:0,tabnote_stem_down_extension:0,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e",stem_offset:-3},r:{code_head:"v7c",stem:!1,rest:!0,position:"B/4",dot_shiftY:-.5,line_above:1.5,line_below:1.5},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},8:{common:{getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",i).getMetrics().width},stem:!0,stem_offset:0,flag:!0,beam_count:1,code_flag_upstem:"v54",code_flag_downstem:"v9a",stem_up_extension:0,stem_down_extension:0,tabnote_stem_up_extension:0,tabnote_stem_down_extension:0,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"va5",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:-.5,line_above:1,line_below:1},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},16:{common:{beam_count:2,getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",i).getMetrics().width},stem:!0,stem_offset:0,flag:!0,code_flag_upstem:"v3f",code_flag_downstem:"v8f",stem_up_extension:0,stem_down_extension:0,tabnote_stem_up_extension:0,tabnote_stem_down_extension:0,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"v3c",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:-.5,line_above:1,line_below:2},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},32:{common:{beam_count:3,getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",i).getMetrics().width},stem:!0,stem_offset:0,flag:!0,code_flag_upstem:"v47",code_flag_downstem:"v2a",stem_up_extension:9,stem_down_extension:9,tabnote_stem_up_extension:8,tabnote_stem_down_extension:5,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"v55",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:-1.5,line_above:2,line_below:2},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},64:{common:{beam_count:4,getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",i).getMetrics().width},stem:!0,stem_offset:0,flag:!0,code_flag_upstem:"va9",code_flag_downstem:"v58",stem_up_extension:13,stem_down_extension:13,tabnote_stem_up_extension:12,tabnote_stem_down_extension:9,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"v38",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:-1.5,line_above:2,line_below:3},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},128:{common:{beam_count:5,getWidth(i=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",i).getMetrics().width},stem:!0,stem_offset:0,flag:!0,code_flag_upstem:"v9b",code_flag_downstem:"v30",stem_up_extension:22,stem_down_extension:22,tabnote_stem_up_extension:21,tabnote_stem_down_extension:18,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"vaa",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:1.5,line_above:3,line_below:3},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}}};Flow.smufl={};Flow.smufl.to_code_points={bracketTop:"v1b",bracketBottom:"v10",barlineTick:"v6f",segno:"v8c",coda:"v4d",gClef:"v83",cClef:"vad",fClef:"v79",unpitchedPercussionClef1:"v59","6stringTabClef":"v2f",timeSig0:"v0",timeSig1:"v1",timeSig2:"v2",timeSig3:"v3",timeSig4:"v4",timeSig5:"v5",timeSig6:"v6",timeSig7:"v7",timeSig8:"v8",timeSig9:"v9",timeSigCommon:"v41",timeSigCutCommon:"vb6",noteheadDoubleWhole:"v53",noteheadWhole:"v1d",noteheadHalf:"v81",noteheadBlack:"vb",noteheadXWhole:"v92",noteheadXHalf:"v95",noteheadXBlack:"v3e",noteheadCircleX:"v3b",noteheadTriangleUpWhole:"v49",noteheadTriangleUpHalf:"v93",noteheadTriangleUpBlack:"v40",noteheadDiamondWhole:"v46",noteheadDiamondHalf:"v2d",noteheadDiamondBlack:"v22",augmentationDot:"v23",tremolo1:"v74",flag8thUp:"v54",flag8thDown:"v9a",flag16thUp:"v3f",flag16thDown:"v8f",flag32ndUp:"v47",flag32ndDown:"v2a",flag64thUp:"va9",flag64thDown:"v58",flag128thUp:"v9b",flag128thDown:"v30",accidentalFlat:"v44",accidentalNatural:"v4e",accidentalSharp:"v18",accidentalDoubleSharp:"v7f",accidentalDoubleFlat:"v26",accidentalParensLeft:"v9c",accidentalParensRight:"v84",accidentalQuarterToneFlatStein:"vab",accidentalThreeQuarterTonesFlatZimmermann:"v9e",accidentalQuarterToneSharpStein:"v78",accidentalThreeQuarterTonesSharpStein:"v51",accidentalBuyukMucennebFlat:"v39",accidentalBakiyeFlat:"vb7",accidentalKomaSharp:"v51",accidentalKucukMucennebSharp:"v8d",accidentalKoron:"vd1",accidentalSori:"vd0",articAccentAbove:"v42",articAccentBelow:"v42",articTenutoAbove:"v25",articTenutoBelow:"v25",articStaccatoAbove:"v23",articStaccatoBelow:"v23",articStaccatissimoAbove:"v28",articMarcatoAbove:"va",fermataAbove:"v43",fermataBelow:"v5b",breathMarkComma:"v6c",breathMarkUpbow:"v8a",caesura:"v34",caesuraCurved:"v4b",restMaxima:"v59",restDoubleWhole:"v31",restWhole:"v5c",restHalf:"vc",restQuarter:"v7c",rest8th:"va5",rest16th:"v3c",rest32nd:"v55",rest64th:"v38",rest128th:"vaa",dynamicPiano:"vbf",dynamicMezzo:"v62",dynamicForte:"vba",dynamicRinforzando:"vba",dynamicSforzando:"v4a",dynamicZ:"v80",ornamentTrill:"v1f",ornamentTurn:"v72",ornamentTurnSlash:"v33",ornamentMordent:"v45",ornamentMordentInverted:"v1e",ornamentTremblement:"v86",ornamentPrecompAppoggTrill:"v20",ornamentPrecompSlideTrillDAnglebert:"v60",ornamentPrecompSlideTrillBach:"v29",ornamentPrecompTrillSuffixDandrieu:"v6d",ornamentPrecompDoubleCadenceUpperPrefix:"vb4",ornamentPrecompDoubleCadenceUpperPrefixTurn:"v68",ornamentPrecompTrillLowerSuffix:"v2c",stringsDownBow:"v94",stringsUpBow:"v75",stringsHarmonic:"vb9",pluckedSnapPizzicatoAbove:"v94",pluckedLeftHandPizzicato:"v8b",keyboardPedalPed:"v36",keyboardPedalUp:"v5d",pictChokeCymbal:"vb3",wiggleArpeggiatoUp:"va3",arrowheadBlackUp:"vc3",arrowheadBlackDown:"v52"};Flow.TIME4_4={num_beats:4,beat_value:4,resolution:Flow.RESOLUTION};class CanvasContext{static get WIDTH(){return 600}static get HEIGHT(){return 400}static get CANVAS_BROWSER_SIZE_LIMIT(){return 32767}static SanitizeCanvasDims(e,r){return Math.max(e,r)>this.CANVAS_BROWSER_SIZE_LIMIT&&(Vex.W("Canvas dimensions exceed browser limit. Cropping to "+this.CANVAS_BROWSER_SIZE_LIMIT),e>this.CANVAS_BROWSER_SIZE_LIMIT&&(e=this.CANVAS_BROWSER_SIZE_LIMIT),r>this.CANVAS_BROWSER_SIZE_LIMIT&&(r=this.CANVAS_BROWSER_SIZE_LIMIT)),[e,r]}constructor(e){this.vexFlowCanvasContext=e,e.canvas?this.canvas=e.canvas:this.canvas={width:CanvasContext.WIDTH,height:CanvasContext.HEIGHT}}clear(){this.vexFlowCanvasContext.clearRect(0,0,this.canvas.width,this.canvas.height)}openGroup(){}closeGroup(){}add(){}setFont(e,r,s){return this.vexFlowCanvasContext.font=(s||"")+" "+r+"pt "+e,this}setRawFont(e){return this.vexFlowCanvasContext.font=e,this}setFillStyle(e){return this.vexFlowCanvasContext.fillStyle=e,this}setBackgroundFillStyle(e){return this.background_fillStyle=e,this}setStrokeStyle(e){return this.vexFlowCanvasContext.strokeStyle=e,this}setShadowColor(e){return this.vexFlowCanvasContext.shadowColor=e,this}setShadowBlur(e){return this.vexFlowCanvasContext.shadowBlur=e,this}setLineWidth(e){return this.vexFlowCanvasContext.lineWidth=e,this}setLineCap(e){return this.vexFlowCanvasContext.lineCap=e,this}setLineDash(e){return this.vexFlowCanvasContext.lineDash=e,this}scale(e,r){return this.vexFlowCanvasContext.scale(parseFloat(e),parseFloat(r))}resize(e,r){return[e,r]=this.SanitizeCanvasDims(parseInt(e,10),parseInt(r,10)),this.vexFlowCanvasContext.resize(e,r)}rect(e,r,s,o){return this.vexFlowCanvasContext.rect(e,r,s,o)}fillRect(e,r,s,o){return this.vexFlowCanvasContext.fillRect(e,r,s,o)}clearRect(e,r,s,o){return this.vexFlowCanvasContext.clearRect(e,r,s,o)}beginPath(){return this.vexFlowCanvasContext.beginPath()}moveTo(e,r){return this.vexFlowCanvasContext.moveTo(e,r)}lineTo(e,r){return this.vexFlowCanvasContext.lineTo(e,r)}bezierCurveTo(e,r,s,o,a,l){return this.vexFlowCanvasContext.bezierCurveTo(e,r,s,o,a,l)}quadraticCurveTo(e,r,s,o){return this.vexFlowCanvasContext.quadraticCurveTo(e,r,s,o)}arc(e,r,s,o,a,l){return this.vexFlowCanvasContext.arc(e,r,s,o,a,l)}glow(){return this.vexFlowCanvasContext.glow()}fill(){return this.vexFlowCanvasContext.fill()}stroke(){return this.vexFlowCanvasContext.stroke()}closePath(){return this.vexFlowCanvasContext.closePath()}measureText(e){return this.vexFlowCanvasContext.measureText(e)}fillText(e,r,s){return this.vexFlowCanvasContext.fillText(e,r,s)}save(){return this.vexFlowCanvasContext.save()}restore(){return this.vexFlowCanvasContext.restore()}}class RaphaelContext{constructor(e){this.element=e,this.paper=Raphael(e),this.path="",this.pen={x:0,y:0},this.lineWidth=1,this.state={scale:{x:1,y:1},font_family:"Arial",font_size:8,font_weight:800},this.attributes={"stroke-width":.3,fill:"black",stroke:"black",font:"10pt Arial"},this.background_attributes={"stroke-width":0,fill:"white",stroke:"white",font:"10pt Arial"},this.shadow_attributes={width:0,color:"black"},this.state_stack=[]}openGroup(){}closeGroup(){}add(){}setFont(e,r,s){return this.state.font_family=e,this.state.font_size=r,this.state.font_weight=s,this.attributes.font=(this.state.font_weight||"")+" "+this.state.font_size*this.state.scale.x+"pt "+this.state.font_family,this}setRawFont(e){return this.attributes.font=e,this}setFillStyle(e){return this.attributes.fill=e,this}setBackgroundFillStyle(e){return this.background_attributes.fill=e,this.background_attributes.stroke=e,this}setStrokeStyle(e){return this.attributes.stroke=e,this}setShadowColor(e){return this.shadow_attributes.color=e,this}setShadowBlur(e){return this.shadow_attributes.width=e,this}setLineWidth(e){this.attributes["stroke-width"]=e,this.lineWidth=e}setLineDash(){return this}setLineCap(){return this}scale(e,r){return this.state.scale={x:e,y:r},this.attributes.transform="S"+e+","+r+",0,0",this.attributes.scale=e+","+r+",0,0",this.attributes.font=this.state.font_size*this.state.scale.x+"pt "+this.state.font_family,this.background_attributes.transform="S"+e+","+r+",0,0",this.background_attributes.font=this.state.font_size*this.state.scale.x+"pt "+this.state.font_family,this}clear(){this.paper.clear()}resize(e,r){return this.element.style.width=e,this.paper.setSize(e,r),this}setViewBox(e){this.paper.canvas.setAttribute("viewBox",e)}rect(e,r,s,o){return o<0&&(r+=o,o=-o),this.paper.rect(e,r,s-.5,o-.5).attr(this.attributes).attr("fill","none").attr("stroke-width",this.lineWidth),this}fillRect(e,r,s,o){return o<0&&(r+=o,o=-o),this.paper.rect(e,r,s-.5,o-.5).attr(this.attributes),this}clearRect(e,r,s,o){return o<0&&(r+=o,o=-o),this.paper.rect(e,r,s-.5,o-.5).attr(this.background_attributes),this}beginPath(){return this.path="",this.pen.x=0,this.pen.y=0,this}moveTo(e,r){return this.path+="M"+e+","+r,this.pen.x=e,this.pen.y=r,this}lineTo(e,r){return this.path+="L"+e+","+r,this.pen.x=e,this.pen.y=r,this}bezierCurveTo(e,r,s,o,a,l){return this.path+="C"+e+","+r+","+s+","+o+","+a+","+l,this.pen.x=a,this.pen.y=l,this}quadraticCurveTo(e,r,s,o){return this.path+="Q"+e+","+r+","+s+","+o,this.pen.x=s,this.pen.y=o,this}arc(e,r,s,o,a,l){function c(d){for(;d<0;)d+=Math.PI*2;for(;d>Math.PI*2;)d-=Math.PI*2;return d}if(o=c(o),a=c(a),o>a){const d=o;o=a,a=d,l=!l}const u=a-o;return u>Math.PI?(this.arcHelper(e,r,s,o,o+u/2,l),this.arcHelper(e,r,s,o+u/2,a,l)):this.arcHelper(e,r,s,o,a,l),this}arcHelper(e,r,s,o,a,l){const c=e+s*Math.cos(o),u=r+s*Math.sin(o),d=e+s*Math.cos(a),g=r+s*Math.sin(a);let m=0,y=0;l?(y=1,a-oMath.PI&&(m=1),this.path+="M"+c+","+u+",A"+s+","+s+",0,"+m+","+y+","+d+","+g+"M"+this.pen.x+","+this.pen.y}glow(){const e=this.paper.set();if(this.shadow_attributes.width>0){const r=this.shadow_attributes,s=r.width/2;for(let o=1;o<=s;o++)e.push(this.paper.path(this.path).attr({stroke:r.color,"stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(r.width/s*o).toFixed(3),opacity:+((r.opacity||.3)/s).toFixed(3),transform:this.attributes.transform,scale:this.attributes.scale}))}return e}fill(){const e=this.paper.path(this.path).attr(this.attributes).attr("stroke-width",0);return this.glow(e),this}stroke(){const e=this.lineWidth*(this.state.scale.x+this.state.scale.y)/2,r=this.paper.path(this.path).attr(this.attributes).attr("fill","none").attr("stroke-width",e);return this.glow(r),this}closePath(){return this.path+="Z",this}measureText(e){const r=this.paper.text(0,0,e).attr(this.attributes).attr("fill","none").attr("stroke","none"),s=r.getBBox();return r.remove(),{width:s.width,height:s.height}}fillText(e,r,s){return this.paper.text(r+this.measureText(e).width/2,s-this.state.font_size/(2.25*this.state.scale.y),e).attr(this.attributes),this}save(){return this.state_stack.push({state:{font_family:this.state.font_family},attributes:{font:this.attributes.font,fill:this.attributes.fill,stroke:this.attributes.stroke,"stroke-width":this.attributes["stroke-width"]},shadow_attributes:{width:this.shadow_attributes.width,color:this.shadow_attributes.color}}),this}restore(){const e=this.state_stack.pop();return this.state.font_family=e.state.font_family,this.attributes.font=e.attributes.font,this.attributes.fill=e.attributes.fill,this.attributes.stroke=e.attributes.stroke,this.attributes["stroke-width"]=e.attributes["stroke-width"],this.shadow_attributes.width=e.shadow_attributes.width,this.shadow_attributes.color=e.shadow_attributes.color,this}}const attrNamesToIgnoreMap={path:{x:!0,y:!0,width:!0,height:!0},rect:{},text:{width:!0,height:!0}};{const i={"font-family":!0,"font-weight":!0,"font-style":!0,"font-size":!0};Vex.Merge(attrNamesToIgnoreMap.rect,i),Vex.Merge(attrNamesToIgnoreMap.path,i)}class SVGContext{constructor(e){this.element=e,this.svgNS="http://www.w3.org/2000/svg";const r=this.create("svg");this.element.appendChild(r),this.svg=r,this.groups=[this.svg],this.parent=this.svg,this.path="",this.pen={x:NaN,y:NaN},this.lineWidth=1,this.state={scale:{x:1,y:1},"font-family":"Arial","font-size":"8pt","font-weight":"normal"},this.attributes={"stroke-width":.3,fill:"black",stroke:"black","stroke-dasharray":"none","font-family":"Arial","font-size":"10pt","font-weight":"normal","font-style":"normal"},this.background_attributes={"stroke-width":0,fill:"white",stroke:"white","stroke-dasharray":"none","font-family":"Arial","font-size":"10pt","font-weight":"normal","font-style":"normal"},this.shadow_attributes={width:0,color:"black"},this.state_stack=[],this.iePolyfill()}create(e){return document.createElementNS(this.svgNS,e)}openGroup(e,r,s,o){const a=this.create("g");return this.groups.push(a),this.parent.appendChild(a),this.parent=a,e&&a.setAttribute("class",Vex.Prefix(e)),r&&a.setAttribute("id",Vex.Prefix(r)),s&&s.pointerBBox&&a.setAttribute("pointer-events","bounding-box"),o&&o==="isX"&&(a.style.transformOrigin="center",a.style.transformBox="content-box",a.style.transform="scale(1.5) translateY(-5px)"),a}closeGroup(e){if(e&&e==="transform"){const r=this.groups.pop();let s=r.getAttribute("class");s=s+" vf-stopDot",r.setAttribute("class",s)}else this.groups.pop();this.parent=this.groups[this.groups.length-1]}add(e){this.parent.appendChild(e)}iePolyfill(){typeof navigator<"u"&&(this.ie=/MSIE 9/i.test(navigator.userAgent)||/MSIE 10/i.test(navigator.userAgent)||/rv:11\.0/i.test(navigator.userAgent)||/Trident/i.test(navigator.userAgent))}setFont(e,r,s){let o=!1,a=!1,l="normal";typeof s=="string"&&(s.indexOf("italic")!==-1&&(s=s.replace(/italic/g,""),a=!0),s.indexOf("bold")!==-1&&(s=s.replace(/bold/g,""),o=!0),s=s.replace(/ /g,"")),s=o?"bold":s,s=typeof s>"u"||s===""?"normal":s,l=a?"italic":l;const c={"font-family":e,"font-size":r+"pt","font-weight":s,"font-style":l};return this.fontSize=Number(r),Vex.Merge(this.attributes,c),Vex.Merge(this.state,c),this}setRawFont(e){e=e.trim();const r=e.split(" ");return this.attributes["font-family"]=r[1],this.state["font-family"]=r[1],this.attributes["font-size"]=r[0],this.state["font-size"]=r[0],this.fontSize=Number(r[0].match(/\d+/)),this}setFillStyle(e){return this.attributes.fill=e,this}setBackgroundFillStyle(e){return this.background_attributes.fill=e,this.background_attributes.stroke=e,this}setStrokeStyle(e){return this.attributes.stroke=e,this}setShadowColor(e){return this.shadow_attributes.color=e,this}setShadowBlur(e){return this.shadow_attributes.width=e,this}setLineWidth(e){this.attributes["stroke-width"]=e,this.lineWidth=e}setLineDash(e){if(Object.prototype.toString.call(e)==="[object Array]")return e=e.join(", "),this.attributes["stroke-dasharray"]=e,this;throw new Vex.RERR("ArgumentError","lineDash must be an array of integers.")}setLineCap(e){return this.attributes["stroke-linecap"]=e,this}resize(e,r){this.width=e,this.height=r,this.element.style.width=e;const s={width:e,height:r};return this.applyAttributes(this.svg,s),this.scale(this.state.scale.x,this.state.scale.y),this}scale(e,r){this.state.scale={x:e,y:r};const s=this.width/e,o=this.height/r;return this.setViewBox(0,0,s,o),this}setViewBox(...e){if(e.length===1){const[r]=e;this.svg.setAttribute("viewBox",r)}else{const[r,s,o,a]=e,l=r+" "+s+" "+o+" "+a;this.svg.setAttribute("viewBox",l)}}applyAttributes(e,r){const s=attrNamesToIgnoreMap[e.nodeName];return Object.keys(r).forEach(o=>{var a;s&&s[o]||!o||!r[o]||o==="d"&&((a=r[o])==null?void 0:a.indexOf("NaN"))>-1||e.setAttributeNS(null,o,r[o])}),e}clear(){for(;this.svg.lastChild;)this.svg.removeChild(this.svg.lastChild);this.scale(this.state.scale.x,this.state.scale.y)}rect(e,r,s,o,a){o<0&&(r+=o,o*=-1);const l=this.create("rect");return typeof a>"u"&&(a={fill:"none","stroke-width":this.lineWidth,stroke:this.attributes.stroke}),Vex.Merge(a,{x:e,y:r,width:s,height:o}),this.applyAttributes(l,a),this.add(l),this}fillRect(e,r,s,o){return o<0&&(r+=o,o*=-1),this.rect(e,r,s,o,this.attributes),this}clearRect(e,r,s,o){return this.rect(e,r,s,o,this.background_attributes),this}beginPath(){return this.path="",this.pen.x=NaN,this.pen.y=NaN,this}moveTo(e,r){return this.path+="M"+e+" "+r,this.pen.x=e,this.pen.y=r,this}lineTo(e,r){return this.path+="L"+e+" "+r,this.pen.x=e,this.pen.y=r,this}bezierCurveTo(e,r,s,o,a,l){return this.path+="C"+e+" "+r+","+s+" "+o+","+a+" "+l,this.pen.x=a,this.pen.y=l,this}quadraticCurveTo(e,r,s,o){return this.path+="Q"+e+" "+r+","+s+" "+o,this.pen.x=s,this.pen.y=o,this}arc(e,r,s,o,a,l){function c(d){for(;d<0;)d+=Math.PI*2;for(;d>Math.PI*2;)d-=Math.PI*2;return d}if(o=c(o),a=c(a),o>a){const d=o;o=a,a=d,l=!l}const u=a-o;return u>Math.PI?(this.arcHelper(e,r,s,o,o+u/2,l),this.arcHelper(e,r,s,o+u/2,a,l)):this.arcHelper(e,r,s,o,a,l),this}arcHelper(e,r,s,o,a,l){const c=e+s*Math.cos(o),u=r+s*Math.sin(o),d=e+s*Math.cos(a),g=r+s*Math.sin(a);let m=0,y=0;l?(y=1,a-oMath.PI&&(m=1),this.path+="M"+c+" "+u+" A"+s+" "+s+" 0 "+m+" "+y+" "+d+" "+g,!isNaN(this.pen.x)&&!isNaN(this.pen.y)&&(this.peth+="M"+this.pen.x+" "+this.pen.y)}closePath(){return this.path+="Z",this}glow(){if(this.shadow_attributes.width>0){const e=this.shadow_attributes,r=e.width/2;for(let s=1;s<=r;s++){const o={stroke:e.color,"stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(e.width*.4/r*s).toFixed(3),opacity:+((e.opacity||.3)/r).toFixed(3)},a=this.create("path");o.d=this.path,this.applyAttributes(a,o),this.add(a)}}return this}fill(e){this.glow();const r=this.create("path");let s=e;return typeof e>"u"?(e={},Vex.Merge(e,this.attributes),e.stroke="none",s=e):(s=e,Vex.Merge(s,this.attributes),e.class&&(s.class=e.class),e.id&&(s.id=e.id)),e.d=this.path,this.applyAttributes(r,e),this.add(r),this}stroke(e=void 0){this.glow();const r=this.create("path"),s={};return Vex.Merge(s,this.attributes),e&&Vex.Merge(s,e),s.fill="none",s["stroke-width"]=this.lineWidth,s.d=this.path,this.applyAttributes(r,s),this.add(r),this}measureText(e){const r=this.create("text");if(typeof r.getBBox!="function")return{x:0,y:0,width:0,height:0};r.textContent=e,this.applyAttributes(r,this.attributes),this.svg.appendChild(r);let s=r.getBBox();return this.ie&&e!==""&&this.attributes["font-style"]==="italic"&&(s=this.ieMeasureTextFix(s,e)),this.svg.removeChild(r),s}ieMeasureTextFix(e){const r=Number(this.fontSize),s=1.196,o=1.9598,a=s*r+o,l=e.width-a,c=e.height-1.5;return{x:e.x,y:e.y,width:l,height:c}}fillText(e,r,s){if(!e||e.length<=0)return;const o={};Vex.Merge(o,this.attributes),o.stroke="none",o.x=r,o.y=s;const a=this.create("text");a.textContent=e,this.applyAttributes(a,o),this.add(a)}save(){return this.state_stack.push({state:{"font-family":this.state["font-family"],"font-weight":this.state["font-weight"],"font-style":this.state["font-style"],"font-size":this.state["font-size"],scale:this.state.scale},attributes:{"font-family":this.attributes["font-family"],"font-weight":this.attributes["font-weight"],"font-style":this.attributes["font-style"],"font-size":this.attributes["font-size"],fill:this.attributes.fill,stroke:this.attributes.stroke,"stroke-width":this.attributes["stroke-width"],"stroke-dasharray":this.attributes["stroke-dasharray"]},shadow_attributes:{width:this.shadow_attributes.width,color:this.shadow_attributes.color},lineWidth:this.lineWidth}),this}restore(){const e=this.state_stack.pop();return this.state["font-family"]=e.state["font-family"],this.state["font-weight"]=e.state["font-weight"],this.state["font-style"]=e.state["font-style"],this.state["font-size"]=e.state["font-size"],this.state.scale=e.state.scale,this.attributes["font-family"]=e.attributes["font-family"],this.attributes["font-weight"]=e.attributes["font-weight"],this.attributes["font-style"]=e.attributes["font-style"],this.attributes["font-size"]=e.attributes["font-size"],this.attributes.fill=e.attributes.fill,this.attributes.stroke=e.attributes.stroke,this.attributes["stroke-width"]=e.attributes["stroke-width"],this.attributes["stroke-dasharray"]=e.attributes["stroke-dasharray"],this.shadow_attributes.width=e.shadow_attributes.width,this.shadow_attributes.color=e.shadow_attributes.color,this.lineWidth=e.lineWidth,this}}let lastContext=null;class Renderer{static get Backends(){return{CANVAS:1,RAPHAEL:2,SVG:3,VML:4}}static get LineEndType(){return{NONE:1,UP:2,DOWN:3}}static get USE_CANVAS_PROXY(){return!1}static get lastContext(){return lastContext}static set lastContext(e){lastContext=e}static buildContext(e,r,s,o,a){const l=new Renderer(e,r);s&&o&&l.resize(s,o),a||(a="#FFF");const c=l.getContext();return c.setBackgroundFillStyle(a),Renderer.lastContext=c,c}static getCanvasContext(e,r,s,o){return Renderer.buildContext(e,Renderer.Backends.CANVAS,r,s,o)}static getRaphaelContext(e,r,s,o){return Renderer.buildContext(e,Renderer.Backends.RAPHAEL,r,s,o)}static getSVGContext(e,r,s,o){return Renderer.buildContext(e,Renderer.Backends.SVG,r,s,o)}static bolsterCanvasContext(e){if(Renderer.USE_CANVAS_PROXY)return new CanvasContext(e);const r=["clear","setFont","setRawFont","setFillStyle","setBackgroundFillStyle","setStrokeStyle","setShadowColor","setShadowBlur","setLineWidth","setLineCap","setLineDash","openGroup","closeGroup","getGroup"];return e.vexFlowCanvasContext=e,r.forEach(s=>{e[s]=e[s]||CanvasContext.prototype[s]}),e}static drawDashedLine(e,r,s,o,a,l){e.beginPath();const c=o-r,u=a-s,d=Math.atan2(u,c);let g=r,m=s;e.moveTo(r,s);let y=0,b=!0;for(;!((c<0?g<=o:g>=o)&&(u<0?m<=a:m>=a));){const A=l[y++%l.length],S=g+Math.cos(d)*A;g=c<0?Math.max(o,S):Math.min(o,S);const E=m+Math.sin(d)*A;m=u<0?Math.max(a,E):Math.min(a,E),b?e.lineTo(g,m):e.moveTo(g,m),b=!b}e.closePath(),e.stroke()}constructor(e,r){if(this.elementId=e,!this.elementId)throw new Vex.RERR("BadArgument","Invalid id for renderer.");if(this.element=document.getElementById(e),this.element||(this.element=e),this.ctx=null,this.paper=null,this.backend=r,this.backend===Renderer.Backends.CANVAS){if(!this.element.getContext)throw new Vex.RERR("BadElement",`Can't get canvas context from element: ${e}`);this.ctx=Renderer.bolsterCanvasContext(this.element.getContext("2d",{willReadFrequently:!0}))}else if(this.backend===Renderer.Backends.RAPHAEL)this.ctx=new RaphaelContext(this.element);else if(this.backend===Renderer.Backends.SVG)this.ctx=new SVGContext(this.element);else throw new Vex.RERR("InvalidBackend",`No support for backend: ${this.backend}`)}resize(e,r){if(this.backend===Renderer.Backends.CANVAS){if(!this.element.getContext)throw new Vex.RERR("BadElement",`Can't get canvas context from element: ${this.elementId}`);[e,r]=CanvasContext.SanitizeCanvasDims(e,r);const s=window.devicePixelRatio||1;this.element.width=e*s,this.element.height=r*s,this.element.style.width=e+"px",this.element.style.height=r+"px",this.ctx=Renderer.bolsterCanvasContext(this.element.getContext("2d",{willReadFrequently:!0})),this.ctx.scale(s,s)}else this.ctx.resize(e,r);return this}getContext(){return this.ctx}}function L$j(...i){Stem.DEBUG&&Vex.L("Vex.Flow.Stem",i)}class Stem extends Element$1{static get CATEGORY(){return"stem"}static get UP(){return 1}static get DOWN(){return-1}static get WIDTH(){return Flow.STEM_WIDTH}static get HEIGHT(){return Flow.STEM_HEIGHT}constructor(e={}){super(),this.setAttribute("type","Stem"),this.x_begin=e.x_begin||0,this.x_end=e.x_end||0,this.y_top=e.y_top||0,this.y_bottom=e.y_bottom||0,this.stem_extension=e.stem_extension||0,this.stem_direction=e.stem_direction||0,this.hide=e.hide||!1,this.isStemlet=e.isStemlet||!1,this.stemletHeight=e.stemletHeight||0,this.renderHeightAdjustment=0,this.setOptions(e)}setResetHeight(e){this.resetHeight=e}setOptions(e){this.stem_up_y_offset=e.stem_up_y_offset||0,this.stem_down_y_offset=e.stem_down_y_offset||0}setNoteHeadXBounds(e,r){return this.x_begin=e,this.x_end=r,this}setDirection(e){this.stem_direction=e}setExtension(e){this.stem_extension=e}getExtension(){return this.stem_extension}setYBounds(e,r){this.y_top=e,this.y_bottom=r}getCategory(){return Stem.CATEGORY}getHeight(){const e=this.stem_direction===Stem.UP?this.stem_up_y_offset:this.stem_down_y_offset;return(this.y_bottom-this.y_top)*this.stem_direction+(Stem.HEIGHT-e+this.stem_extension)*this.stem_direction}getBoundingBox(){throw new Vex.RERR("NotImplemented","getBoundingBox() not implemented.")}getExtents(){const e=this.stem_direction===Stem.UP,r=[this.y_top,this.y_bottom],s=Stem.HEIGHT+this.stem_extension,o=(e?Math.min:Math.max)(...r),a=(e?Math.max:Math.min)(...r);return{topY:o+s*-this.stem_direction,baseY:a}}setVisibility(e){return this.hide=!e,this}setStemlet(e,r){return this.isStemlet=e,this.stemletHeight=r,this}draw(){if(this.setRendered(),this.hide)return;const e=this.checkContext();let r,s;const o=this.stem_direction;o===Stem.DOWN?(r=this.x_begin,s=this.y_top+this.stem_down_y_offset):(r=this.x_end,s=this.y_bottom-this.stem_up_y_offset);const a=this.getHeight();L$j("Rendering stem - ","Top Y: ",this.y_top,"Bottom Y: ",this.y_bottom);const l=this.isStemlet?a-this.stemletHeight*this.stem_direction:0;if(e.save(),this.applyStyle(e),e.beginPath(),e.setLineWidth(Stem.WIDTH),e.moveTo(r,s-l),e.lineTo(r,s-a-this.renderHeightAdjustment*o),e.svg){const c={class:Vex.Prefix("stem")};this.id&&(c.id=this.id),e.stroke(c)}else e.stroke();this.restoreStyle(e),e.restore()}}let Tuplet$1=class ai extends Element$1{static get LOCATION_TOP(){return 1}static get LOCATION_BOTTOM(){return-1}static get NESTING_OFFSET(){return 15}constructor(e,r){if(super(),this.setAttribute("type","Tuplet"),!e||!e.length)throw new Vex.RuntimeError("BadArguments","No notes provided for tuplet.");this.options=Vex.Merge({},r),this.notes=e,this.num_notes="num_notes"in this.options?this.options.num_notes:e.length,this.options.beats_occupied&&this.beatsOccupiedDeprecationWarning(),this.notes_occupied=this.options.notes_occupied||this.options.beats_occupied||2,"bracketed"in this.options?this.bracketed=this.options.bracketed:this.bracketed=e.some(s=>s.beam===null),this.ratioed="ratioed"in this.options?this.options.ratioed:Math.abs(this.notes_occupied-this.num_notes)>1,this.point=28,this.y_pos=16,this.x_pos=100,this.width=200,this.location=this.options.location||ai.LOCATION_TOP,Formatter.AlignRestsToNotes(e,!0,!0),this.resolveGlyphs(),this.attach()}attach(){for(let e=0;e=1;)this.numerator_glyphs.unshift(new Glyph("v"+e%10,this.point)),e=parseInt(e/10,10);for(this.denom_glyphs=[],e=this.notes_occupied;e>=1;)this.denom_glyphs.unshift(new Glyph("v"+e%10,this.point)),e=parseInt(e/10,10)}getNestedTupletCount(){const e=this.location,r=this.notes[0];let s=a(r,e),o=a(r,e);function a(l,c){return l.tupletStack.filter(u=>u.location===c).length}return this.notes.forEach(l=>{const c=a(l,e);s=c>s?c:s,o=co&&(o=l)}}return o+e+r}draw(){this.checkContext(),this.setRendered();const e=this.notes[0],r=this.notes[this.notes.length-1];this.bracketed?(this.x_pos=e.getTieLeftX()-5,this.width=r.getTieRightX()-this.x_pos+5):(this.x_pos=e.getStemX(),this.width=r.getStemX()-this.x_pos),this.y_pos=this.getYPosition();const s=(c,u)=>c+u.getMetrics().width;let o=this.numerator_glyphs.reduce(s,0);this.ratioed&&(o=this.denom_glyphs.reduce(s,o),o+=this.point*.32);const l=this.x_pos+this.width/2-o/2;if(this.bracketed){const c=this.width/2-o/2-5;c>0&&(this.context.fillRect(this.x_pos,this.y_pos,c,1),this.context.fillRect(this.x_pos+this.width/2+o/2+5,this.y_pos,c,1),this.context.fillRect(this.x_pos,this.y_pos+(this.location===ai.LOCATION_BOTTOM),1,this.location*10),this.context.fillRect(this.x_pos+this.width,this.y_pos+(this.location===ai.LOCATION_BOTTOM),1,this.location*10))}if(this.RenderTupletNumber!==!1){let c=0;this.numerator_glyphs.forEach(u=>{u.render(this.context,l+c,this.y_pos+this.point/3-2),c+=u.getMetrics().width})}if(this.ratioed){const c=l+x_offset+this.point*.16,u=this.point*.06;this.context.beginPath(),this.context.arc(c,this.y_pos-this.point*.08,u,0,Math.PI*2,!0),this.context.closePath(),this.context.fill(),this.context.beginPath(),this.context.arc(c,this.y_pos+this.point*.12,u,0,Math.PI*2,!0),this.context.closePath(),this.context.fill(),x_offset+=this.point*.32,this.denom_glyphs.forEach(d=>{d.render(this.context,l+x_offset,this.y_pos+this.point/3-2),x_offset+=d.getMetrics().width})}}};function calculateStemDirection(i){let e=0;return i.forEach(r=>{r.keyProps&&r.keyProps.forEach(s=>{e+=s.line-3})}),e>=0?Stem.DOWN:Stem.UP}const getStemSlope=(i,e)=>{const r=i.getStemExtents().topY,s=i.getStemX(),o=e.getStemExtents().topY,a=e.getStemX();return(o-r)/(a-s)},BEAM_LEFT="L",BEAM_RIGHT="R",BEAM_BOTH="B";let Beam$1=class Bi extends Element$1{static getDefaultBeamGroups(e){(!e||e==="c")&&(e="4/4");const s={"1/2":["1/2"],"2/2":["1/2"],"3/2":["1/2"],"4/2":["1/2"],"1/4":["1/4"],"2/4":["1/4"],"3/4":["1/4"],"4/4":["1/4"],"1/8":["1/8"],"2/8":["2/8"],"3/8":["3/8"],"4/8":["2/8"],"1/16":["1/16"],"2/16":["2/16"],"3/16":["3/16"],"4/16":["2/16"]}[e];if(s===void 0){const o=parseInt(e.split("/")[0],10),a=parseInt(e.split("/")[1],10);if(o%3===0)return[new Fraction(3,a)];if(a>4)return[new Fraction(2,a)];if(a<=4)return[new Fraction(1,a)]}else return s.map(o=>new Fraction().parse(o));return[new Fraction(1,4)]}static applyAndGetBeams(e,r,s){return Bi.generateBeams(e.getTickables(),{groups:s,stem_direction:r})}static generateBeams(e,r){r||(r={}),(!r.groups||!r.groups.length)&&(r.groups=[new Fraction(2,8)]);const s=r.groups.map(T=>{if(!T.multiply)throw new Vex.RuntimeError("InvalidBeamGroups","The beam groups must be an array of Vex.Flow.Fractions");return T.clone().multiply(Flow.RESOLUTION,1)}),o=e;let a=0,l=[],c=[];function u(T){return T.reduce((k,I)=>I.getTicks().clone().add(k),new Fraction(0,1))}function d(){s.length-1>a?a+=1:a=0}function g(){let T=[];o.forEach(k=>{if(T=[],k.shouldIgnoreTicks()){l.push(c),c=T;return}c.push(k);const I=s[a].clone(),M=u(c),R=Flow.durationToNumber(k.duration)<8;R&&k.tuplet&&(I.numerator*=2),M.greaterThan(I)?(R||T.push(c.pop()),l.push(c),c=T,d()):M.equals(I)&&(l.push(c),c=T,d())}),c.length>0&&l.push(c)}function m(){return l.filter(T=>{if(T.length>1){let k=!0;return T.forEach(I=>{I.getIntrinsicTicks()>=Flow.durationToTicks("4")&&(k=!1)}),k}return!1})}function y(){const T=[];l.forEach(k=>{let I=[];k.forEach((M,R,B)=>{const _=R===0||R===B.length-1,V=B[R-1],D=!r.beam_rests&&M.isRest(),F=r.beam_rests&&r.beam_middle_only&&M.isRest()&&_;let N=!1;if(r.maintain_stem_directions&&V&&!M.isRest()&&!V.isRest()){const q=V.getStemDirection();N=M.getStemDirection()!==q}const K=parseInt(M.duration,10)<8;D||F||N||K?(I.length>0&&T.push(I),I=N?[M]:[]):I.push(M)}),I.length>0&&T.push(I)}),l=T}function b(){l.forEach(T=>{let k;if(r.maintain_stem_directions){const I=A(T);k=I?I.getStemDirection():Stem.UP}else r.stem_direction?k=r.stem_direction:k=calculateStemDirection(T);S(T,k)})}function A(T){for(let k=0;k{I.setStemDirection(k)})}function E(){const T=[];return l.forEach(k=>{let I=null;k.forEach(M=>{M.tuplet&&I!==M.tuplet&&(I=M.tuplet,T.push(I))})}),T}g(),y(),b();const x=m(),P=E(),C=[];return x.forEach(T=>{const k=new Bi(T);r.show_stemlets&&(k.render_options.show_stemlets=!0),r.secondary_breaks&&(k.render_options.secondary_break_ticks=Flow.durationToTicks(r.secondary_breaks)),r.flat_beams===!0&&(k.render_options.flat_beams=!0,k.render_options.flat_beam_offset=r.flat_beam_offset),C.push(k)}),P.forEach(T=>{const k=T.notes[0].stem_direction===Stem.DOWN?Tuplet$1.LOCATION_BOTTOM:Tuplet$1.LOCATION_TOP;T.setTupletLocation(k);let I=!1;for(let M=0;M=Flow.durationToTicks("4"))throw new Vex.RuntimeError("BadArguments","Beams can only be applied to notes shorter than a quarter note.");let s,o;for(this.stem_direction=Stem.UP,s=0;sc+u.stem_direction,0)>-1?Stem.UP:Stem.DOWN),s=0;ss.getGlyph().beam_count).reduce((s,o)=>o>s?o:s)}breakSecondaryAt(e){return this.break_on_indices=e,this}getSlopeY(e,r,s,o){return s+(e-r)*o}calculateSlope(){const{notes:e,stem_direction:r,render_options:{max_slope:s,min_slope:o,slope_iterations:a,slope_cost:l}}=this,c=e[0],u=getStemSlope(c,e[e.length-1]),d=(s-o)/a;let g=Number.MAX_VALUE,m=0,y=0;for(let b=o;b<=s;b+=d){let A=0,S=0;for(let C=1;CE)&&(d=E,c=Math.min(...S.getYs()),u=S.getBeamCount())}let g=l/e.length;const m=s*1.5,y=o+u*m,b=c+y*-r;r===Stem.DOWN&&gb&&(g=c-y),a+this.render_options.flat_beam_offset_per_beam>0?r===Stem.DOWN&&g>a&&!this.render_options.flat_beams?this.render_options.flat_beam_offset=g:r===Stem.UP&&g0){let o=this.render_options.flat_beam_offset;this.render_options.flat_beam_offset_per_beam&&(o+=this.render_options.flat_beam_offset_per_beam*this.getBeamCount());let a=this.notes[0].note_heads[0].y;const l=this.stem_direction>0?Math.min:Math.max;for(const c of this.notes)for(const u of c.note_heads)a=l(a,u.y);s=a+o*-this.stem_direction}return s}applyStemExtensions(){const{notes:e,slope:r,y_shift:s,stem_direction:o,beam_count:a,render_options:{show_stemlets:l,stemlet_extension:c,beam_width:u}}=this,d=e[0],g=this.getBeamYToDraw(),m=d.getStemX();for(let y=0;y=8&&(b=this.break_on_indices.indexOf(g)!==-1,this.render_options.secondary_break_ticks&&u>=this.render_options.secondary_break_ticks&&(u=0,b=!0));const A=m.getIntrinsicTicks(){e.getStem()&&(this.context.openGroup("stem",e.getAttribute("id")+"-stem"),e.getStem().setContext(this.context).draw(),this.context.closeGroup())},this)}drawBeamLines(){this.checkContext();const e=["4","8","16","32","64"],r=this.notes[0];let s=this.getBeamYToDraw();const o=r.getStemX(),a=this.render_options.beam_width*this.stem_direction,l={};for(const c of this.notes)l[c.getAttribute("id")]=0;for(let c=0;c{e.getStave()||e.setStave(this.stave)}),this.preFormatted=!0,this)}draw(e=this.context,r=this.stave){this.setRendered();let s=null;for(let o=0;o0&&s){const l=a.getBoundingBox();l&&s.mergeWith(l)}a.setContext(e),a.drawWithStyle()}this.boundingBox=s}};function drawBoldDoubleLine(i,e,r,s,o){if(e!==StaveConnector.type.BOLD_DOUBLE_LEFT&&e!==StaveConnector.type.BOLD_DOUBLE_RIGHT)throw new Vex.RERR("InvalidConnector","A REPEAT_BEGIN or REPEAT_END type must be provided.");let a=3,l=3.5;const c=2;e===StaveConnector.type.BOLD_DOUBLE_RIGHT&&(a=-5,l=3),i.fillRect(r+a,s,1,o-s),i.fillRect(r-c,s,l,o-s)}class StaveConnector extends Element$1{static get type(){return{SINGLE_RIGHT:0,SINGLE_LEFT:1,SINGLE:1,DOUBLE:2,BRACE:3,BRACKET:4,BOLD_DOUBLE_LEFT:5,BOLD_DOUBLE_RIGHT:6,THIN_DOUBLE:7,NONE:8}}static get typeString(){return{singleRight:StaveConnector.type.SINGLE_RIGHT,singleLeft:StaveConnector.type.SINGLE_LEFT,single:StaveConnector.type.SINGLE,double:StaveConnector.type.DOUBLE,brace:StaveConnector.type.BRACE,bracket:StaveConnector.type.BRACKET,boldDoubleLeft:StaveConnector.type.BOLD_DOUBLE_LEFT,boldDoubleRight:StaveConnector.type.BOLD_DOUBLE_RIGHT,thinDouble:StaveConnector.type.THIN_DOUBLE,none:StaveConnector.type.NONE}}constructor(e,r){super(),this.setAttribute("type","StaveConnector"),this.thickness=Flow.STAVE_LINE_THICKNESS,this.width=3,this.top_stave=e,this.bottom_stave=r,this.type=StaveConnector.type.DOUBLE,this.font={family:"times",size:16,weight:"normal"},this.x_shift=0,this.texts=[]}setType(e){return e=typeof e=="string"?StaveConnector.typeString[e]:e,e>=StaveConnector.type.SINGLE_RIGHT&&e<=StaveConnector.type.NONE&&(this.type=e),this}setText(e,r){return this.texts.push({content:e,options:Vex.Merge({shift_x:0,shift_y:0},r)}),this}setFont(e){Vex.Merge(this.font,e)}setXShift(e){if(typeof e!="number")throw Vex.RERR("InvalidType","x_shift must be a Number");return this.x_shift=e,this}draw(){const e=this.checkContext();this.setRendered();let r=this.top_stave.getYForLine(0),s=this.bottom_stave.getYForLine(this.bottom_stave.getNumLines()-1)+this.thickness,o=this.width,a=this.top_stave.getX();(this.type===StaveConnector.type.SINGLE_RIGHT||this.type===StaveConnector.type.BOLD_DOUBLE_RIGHT||this.type===StaveConnector.type.THIN_DOUBLE)&&(a=this.top_stave.getX()+this.top_stave.width);let c=s-r;switch(this.type){case StaveConnector.type.SINGLE:o=1;break;case StaveConnector.type.SINGLE_LEFT:o=1;break;case StaveConnector.type.SINGLE_RIGHT:o=1;break;case StaveConnector.type.DOUBLE:a-=this.width+2;break;case StaveConnector.type.BRACE:{o=12;const u=this.top_stave.getX()-2+this.x_shift,d=r,g=u,m=s,y=u-o,b=d+c/2,A=y-.9*o,S=d+.2*c,E=u+1.1*o,x=b-.135*c,P=E,C=b+.135*c,T=A,k=m-.2*c,I=y-o,M=k,R=u+.4*o,B=b+.135*c,_=R,V=b-.135*c,D=I,F=S;e.beginPath(),e.moveTo(u,d),e.bezierCurveTo(A,S,E,x,y,b),e.bezierCurveTo(P,C,T,k,g,m),e.bezierCurveTo(I,M,R,B,y,b),e.bezierCurveTo(_,V,D,F,u,d),e.fill(),e.stroke();break}case StaveConnector.type.BRACKET:r-=4,s+=4,c=s-r,Glyph.renderGlyph(e,a-5,r-3,40,"v1b",!0),Glyph.renderGlyph(e,a-5,s+3,40,"v10",!0),a-=this.width+2;break;case StaveConnector.type.BOLD_DOUBLE_LEFT:drawBoldDoubleLine(e,this.type,a+this.x_shift,r,s);break;case StaveConnector.type.BOLD_DOUBLE_RIGHT:drawBoldDoubleLine(e,this.type,a,r,s);break;case StaveConnector.type.THIN_DOUBLE:o=1;break;case StaveConnector.type.NONE:break;default:throw new Vex.RERR("InvalidType",`The provided StaveConnector.type (${this.type}) is invalid`)}this.type!==StaveConnector.type.BRACE&&this.type!==StaveConnector.type.BOLD_DOUBLE_LEFT&&this.type!==StaveConnector.type.BOLD_DOUBLE_RIGHT&&this.type!==StaveConnector.type.NONE&&e.fillRect(a,r,o,c),this.type===StaveConnector.type.THIN_DOUBLE&&e.fillRect(a-3,r,o,c),e.save(),e.lineWidth=2,e.setFont(this.font.family,this.font.size,this.font.weight);for(let u=0;u0){const E=S.space.deviation,x=E>=0?"+":"";e.setFillStyle("red"),e.fillText(x+Math.round(E),c+r.getXShift(),s-10)}e.restore()}constructor(e){if(super(),this.setAttribute("type","Note"),!e)throw new Vex.RuntimeError("BadArguments","Note must have valid initialization data to identify duration and type.");const r=Flow.parseNoteStruct(e);if(!r)throw new Vex.RuntimeError("BadArguments",`Invalid note initialization object: ${JSON.stringify(e)}`);if(this.duration=r.duration,this.dots=r.dots,this.noteType=r.type,this.customTypes=r.customTypes,this.DYMusicScoreType=e.DYMusicScoreType,e.duration_override?this.setDuration(e.duration_override):this.setIntrinsicTicks(r.ticks),this.modifiers=[],this.glyph=Flow.getGlyphProps(this.duration,this.noteType),this.customGlyphs=this.customTypes.map(s=>Flow.getGlyphProps(this.duration,s)),this.positions&&(typeof this.positions!="object"||!this.positions.length))throw new Vex.RuntimeError("BadArguments","Note keys must be array type.");this.playNote=null,this.tickContext=null,this.modifierContext=null,this.ignore_ticks=!1,this.width=0,this.extraLeftPx=0,this.extraRightPx=0,this.x_shift=0,this.left_modPx=0,this.right_modPx=0,this.voice=null,this.preFormatted=!1,this.ys=[],e.align_center&&this.setCenterAlignment(e.align_center),this.stave=null,this.render_options={annotation_spacing:5,stave_padding:Note.STAVEPADDING}}getPlayNote(){return this.playNote}setPlayNote(e){return this.playNote=e,this}isRest(){return!1}addStroke(e,r){return r.setNote(this),r.setIndex(e),this.modifiers.push(r),this.setPreFormatted(!1),this}getStave(){return this.stave}setStave(e){return this.stave=e,this.setYs([e.getYForLine(0)]),this.context=this.stave.context,this}getCategory(){return Note.CATEGORY}setContext(e){return this.context=e,this}getExtraLeftPx(){return this.extraLeftPx}getExtraRightPx(){return this.extraRightPx}setExtraLeftPx(e){return this.extraLeftPx=e,this}setExtraRightPx(e){return this.extraRightPx=e,this}shouldIgnoreTicks(){return this.ignore_ticks}getLineNumber(){return 0}getLineForRest(){return 0}getGlyph(){return this.glyph}getGlyphWidth(){return this.glyph.getWidth?this.glyph.getWidth(this.render_options.glyph_font_scale):15}setYs(e){return this.ys=e,this}getYs(){if(this.ys.length===0)throw new Vex.RERR("NoYValues","No Y-values calculated for this note.");return this.ys}getYForTopText(e){if(!this.stave)throw new Vex.RERR("NoStave","No stave attached to this note.");return this.stave.getYForTopText(e)}getBoundingBox(){return null}getVoice(){if(!this.voice)throw new Vex.RERR("NoVoice","Note has no voice.");return this.voice}setVoice(e){return this.voice=e,this.preFormatted=!1,this}getTickContext(){return this.tickContext}setTickContext(e){return this.tickContext=e,this.preFormatted=!1,this}getDuration(){return this.duration}isDotted(){return this.dots>0}hasStem(){return!1}getDots(){return this.dots}getNoteType(){return this.noteType}setBeam(){return this}setModifierContext(e){return this.modifierContext=e,this}addModifier(e,r=0){return e.setNote(this),e.setIndex(r),this.modifiers.push(e),this.setPreFormatted(!1),this}getModifierStartXY(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call GetModifierStartXY on an unformatted note");return{x:this.getAbsoluteX(),y:this.ys[0]}}getMetrics(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call getMetrics on an unformatted note.");let e=0,r=0;this.modifierContext!=null&&(e=this.modifierContext.state.left_shift,r=this.modifierContext.state.right_shift);const s=this.getWidth();return{width:s,noteWidth:s-e-r-this.extraLeftPx-this.extraRightPx,left_shift:this.x_shift,modLeftPx:e,modRightPx:r,extraLeftPx:this.extraLeftPx,extraRightPx:this.extraRightPx}}setWidth(e){this.width=e}getWidth(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call GetWidth on an unformatted note.");return this.width+(this.modifierContext?this.modifierContext.getWidth():0)}setXShift(e){return this.x_shift=e,this}getXShift(){return this.x_shift}getX(){if(!this.tickContext)throw new Vex.RERR("NoTickContext","Note needs a TickContext assigned for an X-Value");return this.tickContext.getX()+this.x_shift}getAbsoluteX(){if(!this.tickContext)throw new Vex.RERR("NoTickContext","Note needs a TickContext assigned for an X-Value");let e=this.tickContext.getX();return this.stave&&(e+=this.stave.getNoteStartX()+this.render_options.stave_padding),this.isCenterAligned()&&(this.DYMusicScoreType==="jianpu"||(e+=this.getCenterXShift())),e}setPreFormatted(e){if(this.preFormatted=e,this.preFormatted){const r=this.tickContext.getExtraPx();this.left_modPx=Math.max(this.left_modPx,r.left),this.right_modPx=Math.max(this.right_modPx,r.right)}}}function L$i(...i){NoteHead.DEBUG&&Vex.L("Vex.Flow.NoteHead",i)}function drawSlashNoteHead(i,e,r,s,o,a){const l=Flow.SLASH_NOTEHEAD_WIDTH;i.save(),i.setLineWidth(Flow.STEM_WIDTH);let c=!1;if(Flow.durationToNumber(e)>2&&(c=!0),c||(r-=Flow.STEM_WIDTH/2*o),i.beginPath(),i.moveTo(r,s+a),i.lineTo(r,s+1),i.lineTo(r+l,s-a),i.lineTo(r+l,s),i.lineTo(r,s+a),i.closePath(),c?i.fill():i.stroke(),Flow.durationToFraction(e).equals(.5)){const u=[-3,-1,l+1,l+3];for(let d=0;d5||this.line<0)&&(this.isLedgerLinedRest=!0,this.duration==="h"?(e.custom_glyph_code="rhl",this.x_shift_ledger_rest-=4):this.duration==="w"&&(e.custom_glyph_code="rwl",this.x_shift_ledger_rest-=4,this.y_shift_ledger_rest=-5)),e.custom_glyph_code&&(this.custom_glyph=!0,this.glyph_code=e.custom_glyph_code,this.stem_up_x_offset=e.stem_up_x_offset||0,this.stem_down_x_offset=e.stem_down_x_offset||0,this.stem_up_y_shift=e.stem_up_y_shift||0,this.stem_down_y_shift=e.stem_down_y_shift||0),this.style=e.style,this.slashed=e.slashed,Vex.Merge(this.render_options,{glyph_font_scale:e.glyph_font_scale||Flow.DEFAULT_NOTATION_FONT_SCALE,stroke_px:3}),this.setWidth(this.glyph.getWidth(this.render_options.glyph_font_scale))}getCategory(){return NoteHead.CATEGORY}getWidth(){return this.width}isDisplaced(){return this.displaced===!0}getGlyph(){return this.glyph}setX(e){return this.x=e,this}getY(){return this.y}setY(e){return this.y=e,this}getLine(){return this.line}setLine(e){return this.line=e,this}getAbsoluteX(){const e=this.preFormatted?super.getAbsoluteX():this.x,r=Stem.WIDTH/2;return e+(this.displaced?(this.width-r)*this.stem_direction:0)}getBoundingBox(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call getBoundingBox on an unformatted note.");const e=this.stave.getSpacingBetweenLines(),r=e/2,s=this.y-r;return new Flow.BoundingBox(this.getAbsoluteX(),s,this.width,e)}setStave(e){const r=this.getLine();return this.stave=e,this.setY(e.getYForNote(r)),this.context=this.stave.context,this}preFormat(){if(this.preFormatted)return this;const e=this.getWidth()+this.extraLeftPx+this.extraRightPx;return this.setWidth(e),this.setPreFormatted(!0),this}draw(){this.checkContext(),this.setRendered();const e=this.context;let r=this.getAbsoluteX(),s=this.y;this.custom_glyph&&(r+=this.x_shift_ledger_rest,this.stem_direction===Stem.UP?(r+=this.stem_up_x_offset,s+=this.stem_up_y_shift||0):this.stem_direction===Stem.DOWN&&(r+=this.stem_down_x_offset,s+=this.stem_down_y_shift||0),s+=this.y_shift_ledger_rest),L$i("Drawing note head '",this.note_type,this.duration,"' at",r,s);const o=this.stem_direction,a=this.render_options.glyph_font_scale;if(this.style&&this.applyStyle(e),this.note_type==="s"){const l=this.stave.getSpacingBetweenLines();drawSlashNoteHead(e,this.duration,r,s,o,l)}else Glyph.renderGlyph(e,r,s,a,this.glyph_code);this.style&&this.restoreStyle(e)}}class StemmableNote extends Note{constructor(e){super(e),this.setAttribute("type","StemmableNote"),this.stem=null,this.stemExtensionOverride=null,this.beam=null,this.renderFlag=!0}getStem(){return this.stem}setStem(e){return this.stem=e,this}buildStem(){const e=new Stem;return this.setStem(e),this}buildFlag(){const{glyph:e,beam:r}=this,s=r===null&&this.renderFlag;if(e&&e.flag&&s){const o=this.getStemDirection()===Stem.DOWN?e.code_flag_downstem:e.code_flag_upstem;this.flag=new Glyph(o,this.render_options.glyph_font_scale)}}getTopGlyph(){return this.getStemDirection()===Stem.DOWN?this.customGlyphs[this.customGlyphs.length-1]:this.customGlyphs[0]}getStemLength(){return Stem.HEIGHT+this.getStemExtension()}getBeamCount(){const e=this.getGlyph();return e?e.beam_count:0}getStemMinumumLength(){let r=Flow.durationToFraction(this.duration).value()<=1?0:20;switch(this.duration){case"8":this.beam==null&&(r=35);break;case"16":r=this.beam==null?35:25;break;case"32":r=this.beam==null?45:35;break;case"64":r=this.beam==null?50:40;break;case"128":r=this.beam==null?55:45;break}return r}getStemDirection(){return this.stem_direction}setStemDirection(e){if(e||(e=Stem.UP),e!==Stem.UP&&e!==Stem.DOWN)throw new Vex.RERR("BadArgument",`Invalid stem direction: ${e}`);if(this.stem_direction=e,this.stem){this.stem.setDirection(e),this.stem.setExtension(this.getStemExtension());const r=this.getTopGlyph()||this.getGlyph();this.stem.setOptions({stem_up_y_offset:r.stem_up_y_offset,stem_down_y_offset:r.stem_down_y_offset})}return this.reset(),this.flag&&this.renderFlag&&this.buildFlag(),this.beam=null,this.preFormatted&&this.preFormat(),this}getStemX(){const e=this.getAbsoluteX()+this.x_shift,r=this.getAbsoluteX()+this.x_shift+this.getGlyphWidth();return this.stem_direction===Stem.DOWN?e:r}getCenterGlyphX(){return this.getAbsoluteX()+this.x_shift+this.getGlyphWidth()/2}getStemExtension(){const e=this.getGlyph();return this.stemExtensionOverride!=null?this.stemExtensionOverride:e?this.getStemDirection()===1?e.stem_up_extension:e.stem_down_extension:0}setStemLength(e){return this.stemExtensionOverride=e-Stem.HEIGHT,this}getStemExtents(){return this.stem.getExtents()}setBeam(e){return this.beam=e,this}getYForTopText(e){const r=this.getStemExtents();return this.hasStem()?Math.min(this.stave.getYForTopText(e),r.topY-this.render_options.annotation_spacing*(e+1)):this.stave.getYForTopText(e)}getYForBottomText(e){const r=this.getStemExtents();return this.hasStem()?Math.max(this.stave.getYForTopText(e),r.baseY+this.render_options.annotation_spacing*e):this.stave.getYForBottomText(e)}hasFlag(){return this.renderFlag&&Flow.getGlyphProps(this.duration).flag&&!this.beam}postFormat(){return this.beam&&this.beam.postFormat(),this.postFormatted=!0,this}drawStem(e){this.checkContext(),this.setRendered(),this.setStem(new Stem(e)),this.stem.setContext(this.context).draw()}}class Modifier extends Element$1{static get CATEGORY(){return"none"}static get Position(){return{LEFT:1,RIGHT:2,ABOVE:3,BELOW:4}}static get PositionString(){return{above:Modifier.Position.ABOVE,below:Modifier.Position.BELOW,left:Modifier.Position.LEFT,right:Modifier.Position.RIGHT}}constructor(){super(),this.setAttribute("type","Modifier"),this.width=0,this.note=null,this.index=null,this.text_line=0,this.position=Modifier.Position.LEFT,this.modifier_context=null,this.x_shift=0,this.y_shift=0,this.spacingFromNextModifier=0}getCategory(){return Modifier.CATEGORY}getWidth(){return this.width}setWidth(e){return this.width=e,this}getNote(){return this.note}setNote(e){return this.note=e,this}getIndex(){return this.index}setIndex(e){return this.index=e,this}getModifierContext(){return this.modifier_context}setModifierContext(e){return this.modifier_context=e,this}getPosition(){return this.position}setPosition(e){return this.position=typeof e=="string"?Modifier.PositionString[e]:e,this}setTextLine(e){return this.text_line=e,this}setYShift(e){return this.y_shift=e,this}setSpacingFromNextModifier(e){this.spacingFromNextModifier=e}getSpacingFromNextModifier(){return this.spacingFromNextModifier}setXShift(e){this.x_shift=0,this.position===Modifier.Position.LEFT?this.x_shift-=e:this.x_shift+=e}getXShift(){return this.x_shift}draw(){throw this.checkContext(),new Vex.RERR("MethodNotImplemented","draw() not implemented for this modifier.")}alignSubNotesWithNote(e,r){const s=r.getTickContext(),o=s.getExtraPx(),a=s.getX()-o.left-o.extraLeft+this.getSpacingFromNextModifier();e.forEach(l=>{const c=l.getTickContext();l.setStave(r.stave),c.setXOffset(a)})}}class Dot extends Modifier{static get CATEGORY(){return"dots"}static format(e,r){const s=r.right_shift,o=1;if(!e||e.length===0)return!1;const a=[],l={};for(let b=0;bA.line-b.line);let c=s,u=0,d=null,g=null,m=null,y=0;for(let b=0;bu?c:u,d=x,g=S}return r.right_shift+=u,!0}constructor(){super(),this.setAttribute("type","Dot"),this.note=null,this.index=null,this.position=Modifier.Position.RIGHT,this.radius=2,this.setWidth(5),this.dot_shiftY=0}getCategory(){return Dot.CATEGORY}setNote(e){this.note=e,this.note.getCategory()==="gracenotes"&&(this.radius*=.5,this.setWidth(3))}setDotShiftY(e){return this.dot_shiftY=e,this}draw(){if(this.checkContext(),this.setRendered(),!this.note||this.index===null)throw new Vex.RERR("NoAttachedNote","Can't draw dot without a note and index.");const e=this.note.stave.options.spacing_between_lines_px,r=this.note.getModifierStartXY(this.position,this.index,{forceFlagRight:!0});this.note.getCategory()==="tabnotes"&&(r.y=this.note.getStemExtents().baseY+1);const s=r.x+this.x_shift+this.width-this.radius;let o=this.dot_shiftY*e;this.note&&this.note.DYMusicScoreType=="jianpu"&&(o=-5);const a=r.y+this.y_shift+o,l=this.context;l.beginPath(),l.arc(s,a,this.radius,0,Math.PI*2,!1),l.fill()}}function L$h(...i){StaveNote.DEBUG&&Vex.L("Vex.Flow.StaveNote",i)}const getStemAdjustment=i=>Stem.WIDTH/(2*-i.getStemDirection()),isInnerNoteIndex=(i,e)=>e===(i.getStemDirection()===Stem.UP?i.keyProps.length-1:0);function shiftRestVertical(i,e,r){if(i.note.shiftRestVerticalDisabled)return;const s=(e.isrest?0:1)*r;i.line+=s,i.maxLine+=s,i.minLine+=s,i.note.setKeyLine(0,i.note.getKeyLine(0)+s)}function centerRest(i,e,r){const s=i.line-Vex.MidLine(e.minLine,r.maxLine);i.note.setKeyLine(0,i.note.getKeyLine(0)-s),i.line-=s,i.maxLine-=s,i.minLine-=s}class StaveNote extends StemmableNote{static get CATEGORY(){return"stavenotes"}static get STEM_UP(){return Stem.UP}static get STEM_DOWN(){return Stem.DOWN}static get DEFAULT_LEDGER_LINE_OFFSET(){return 3}static renderVibrato(e,r,s,o){let{width:a,height:l,wave_width:c,wave_girth:u,wave_height:d,stem_direction:g}=o;const m=Math.floor(a/c);let y=l/(m/2)*g;y==0&&(g=1,y=.3),e.beginPath(),e.moveTo(r,s+u);for(let b=0;b2?s[1]:null;let u=a>2?s[2]:s[1];a===2&&l.stemDirection===-1&&u.stemDirection===1&&!l.isrest&&!u.isRest&&(l=s[1],u=s[0]);const d=Math.max(l.voice_shift,u.voice_shift);let g=0,m;if(a===2){const y=l.stemDirection===u.stemDirection?0:.5;if(l.stemDirection===u.stemDirection&&l.minLine<=u.maxLine&&(l.isrest||(m=Math.abs(l.line-(u.maxLine+.5)),m=Math.max(m,l.stemMin),l.minLine=l.line-m,l.note.setStemLength(m*10))),l.minLine<=u.maxLine+y)if(l.isrest)shiftRestVertical(l,u,1),l.note.hasLedgerLinedRest&&(l.note.shiftRestVerticalDisabled=!0);else if(u.isrest)shiftRestVertical(u,l,-1),u.note.hasLedgerLinedRest&&(u.note.shiftRestVerticalDisabled=!0);else{g=d;const b=Math.abs(l.line-u.line);let A=0,S=0;l.note.duration==="h"?A++:l.note.duration==="w"&&S++,u.note.duration==="h"?A++:u.note.duration==="w"&&S++;let E=A===1||S===1||l.note.dots!==u.note.dots;if(o&&(E=E||S===2),b===0&&E){if(u.note.setXShift(g),l.note.dots>0){let x=0;for(const P of l.note.modifiers)if(P instanceof Dot&&(x++,P.setYShift(-10*(u.maxLine-l.line+1)),x===l.note.dots))break}}else b<1&&b>0?u.note.setXShift(g):l.note.voice!==u.note.voice&&l.stemDirection===u.stemDirection&&(l.line>u.line?l.stemDirection===1?u.note.renderFlag=!1:l.note.renderFlag=!1:u.line>l.line?u.stemDirection===1?l.note.renderFlag=!1:u.note.renderFlag=!1:u.stemDirection===1&&(u.stemDirection=-1,u.note.setStemDirection(-1)))}return!0}if(c!==null&&c.minLiner.postFormat()),!0):!1}constructor(e){if(super(e),this.setAttribute("type","StaveNote"),this.keys=e.keys,this.clef=e.clef,this.octave_shift=e.octave_shift,this.beam=null,this.vibrato=null,this.slideNote=null,this.glyph=Flow.getGlyphProps(this.duration,this.noteType),!this.glyph)throw new Vex.RuntimeError("BadArguments",`Invalid note initialization data (No glyph found): ${JSON.stringify(e)}`);this.displaced=!1,this.dot_shiftY=0,this.addDotsCount=0,this.keyProps=[],this.use_default_head_x=!1,this.paddingRight=0,this.note_heads=[],this.modifiers=[],Vex.Merge(this.render_options,{glyph_font_scale:e.glyph_font_scale||Flow.DEFAULT_NOTATION_FONT_SCALE,stroke_px:e.stroke_px||StaveNote.DEFAULT_LEDGER_LINE_OFFSET}),this.calculateKeyProps(),this.buildStem(),e.auto_stem?this.autoStem():this.setStemDirection(e.stem_direction),this.reset(),this.buildFlag()}reset(){super.reset();const e=this.note_heads.map(s=>s.getStyle()),r=[];this.note_heads.forEach(s=>r.push(s.note_type)),this.buildNoteHeads(),this.note_heads.forEach((s,o)=>{s.setStyle(e[o]),r[o]&&(s.note_type=r[o])}),this.stave&&this.note_heads.forEach(s=>s.setStave(this.stave)),this.calcExtraPx()}setBeam(e){return this.beam=e,this.calcExtraPx(),this}setVibrato(e){this.vibrato=e}setSlideNote(e){this.slideNote=e}getCategory(){return StaveNote.CATEGORY}buildStem(){this.setStem(new Stem({hide:!!this.isRest()})),this.stem.id=Vex.Prefix(`${this.getAttribute("id")}-stem`)}buildNoteHeads(){this.note_heads=[];const e=this.getStemDirection(),r=this.getKeys();let s=null,o=null,a=!1,l,c,u;e===Stem.UP?(l=0,c=r.length,u=1):e===Stem.DOWN&&(l=r.length-1,c=-1,u=-1);for(let d=l;d!==c;d+=u){const g=this.keyProps[d],m=g.line;s===null?s=m:(o=Math.abs(s-m),o===0||o===.5?a=!a:(a=!1,this.use_default_head_x=!0)),s=m;const y=new NoteHead({duration:this.duration,note_type:this.noteType,displaced:a,stem_direction:e,custom_glyph_code:g.code,glyph_font_scale:this.render_options.glyph_font_scale,x_shift:g.shift_right,stem_up_x_offset:g.stem_up_x_offset,stem_down_x_offset:g.stem_down_x_offset,stem_up_y_shift:g.stem_up_y_shift,stem_down_y_shift:g.stem_down_y_shift,line:g.line});y.isLedgerLinedRest&&(this.hasLedgerLinedRest=!0),this.note_heads[d]=y}}autoStem(){this.minLine=this.keyProps[0].line,this.maxLine=this.keyProps[this.keyProps.length-1].line;const e=3,s=(this.minLine+this.maxLine)/20&&(this.keyProps[r-1].displaced=!0)),e=l,this.keyProps.push(a)}e=-1/0,this.keyProps.forEach(r=>{r.liner.line-s.line)}getBoundingBox(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call getBoundingBox on an unformatted note.");const{width:e,modLeftPx:r,extraLeftPx:s}=this.getMetrics(),o=this.getAbsoluteX()-r-s-this.paddingRight;let a=0,l=0;const c=this.getStave().getSpacingBetweenLines()/2,u=c*2;if(this.isRest()){const d=this.ys[0],g=Flow.durationToFraction(this.duration);g.equals(1)||g.equals(2)?(a=d-c,l=d+c):(a=d-this.glyph.line_above*u,l=d+this.glyph.line_below*u)}else if(this.glyph.stem){const d=this.getStemExtents();d.baseY+=c*this.stem_direction,a=Math.min(d.topY,d.baseY),l=Math.max(d.topY,d.baseY)}else{a=null,l=null;for(let d=0;dr&&(r=o):o1}hasStem(){return this.glyph.stem}hasFlag(){return super.hasFlag()&&!this.isRest()&&this.renderFlag}getStemX(){return this.noteType==="r"?this.getCenterGlyphX():super.getStemX()+getStemAdjustment(this)}getYForTopText(e){const r=this.getStemExtents();return Math.min(this.stave.getYForTopText(e),r.topY-this.render_options.annotation_spacing*(e+1))}getYForBottomText(e){const r=this.getStemExtents();return Math.max(this.stave.getYForTopText(e),r.baseY+this.render_options.annotation_spacing*e)}setStave(e){super.setStave(e);const r=this.note_heads.map(s=>(s.setStave(e),s.getY()));if(this.setYs(r),this.stem){const{y_top:s,y_bottom:o}=this.getNoteHeadBounds();this.stem.setYBounds(s,o)}return this}getKeys(){return this.keys}getKeyProps(){return this.keyProps}isDisplaced(){return this.displaced}setNoteDisplaced(e){return this.displaced=e,this}getTieRightX(){let e=this.getAbsoluteX();return e+=this.getGlyphWidth()+this.x_shift+this.extraRightPx,this.modifierContext&&(e+=this.modifierContext.getExtraRightPx()),e}getTieLeftX(){let e=this.getAbsoluteX();return e+=this.x_shift-this.extraLeftPx,e}getLineForRest(){let e=this.keyProps[0].line;if(this.keyProps.length>1){const r=this.keyProps[this.keyProps.length-1].line,s=Math.max(e,r),o=Math.min(e,r);e=Vex.MidLine(s,o)}return e}getModifierStartXY(e,r,s){if(s=s||{},!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call GetModifierStartXY on an unformatted note");if(this.ys.length===0)throw new Vex.RERR("NoYValues","No Y-Values calculated for this note.");const{ABOVE:o,BELOW:a,LEFT:l,RIGHT:c}=Modifier.Position;let u=0;return e===l?u=-1*2:e===c?(u=this.getGlyphWidth()+this.x_shift+2,this.stem_direction===Stem.UP&&this.hasFlag()&&(s.forceFlagRight||isInnerNoteIndex(this,r))&&(u+=this.flag.getMetrics().width)):(e===a||e===o)&&(u=this.getGlyphWidth()/2),{x:this.getAbsoluteX()+u,y:this.ys[r]}}setStyle(e){super.setStyle(e),this.note_heads.forEach(r=>r.setStyle(e)),this.stem&&this.stem.setStyle(e)}setStemStyle(e){this.stem&&this.getStem().setStyle(e)}getStemStyle(){return this.stem.getStyle()}setLedgerLineStyle(e){this.ledgerLineStyle=e}getLedgerLineStyle(){return this.ledgerLineStyle}setFlagStyle(e){this.flagStyle=e}getFlagStyle(){return this.flagStyle}setKeyStyle(e,r){return this.note_heads[e].setStyle(r),this}setKeyLine(e,r){return this.keyProps[e].line=r,this.reset(),this}getKeyLine(e){return this.keyProps[e].line}addToModifierContext(e){this.setModifierContext(e);for(let r=0;r{const y=m.getLine(),b=m.getY();(e===null||br)&&(r=b),o===null&&m.isDisplaced()&&(o=m.getAbsoluteX()),s===null&&!m.isDisplaced()&&(s=m.getAbsoluteX()),a=y>a?y:a,l=y{let k;T&&C?k=S-s:C?k=A-s:k=b-s;const I=C&&T?l:a;o.beginPath(),o.moveTo(k,P),o.lineTo(k+I,P),o.stroke()},x={...e.getStyle()||{},...this.getLedgerLineStyle()||{}};this.applyStyle(o,x);for(let P=6;P<=c;++P){const C=A!==null&&P<=g,T=b!==null&&P<=d;E(e.getYForNote(P),C,T)}for(let P=0;P>=u;--P){const C=A!==null&&P>=y,T=b!==null&&P>=m;E(e.getYForNote(P),C,T)}this.restoreStyle(o,x)}drawVibrato(){if(this.vibrato){const e=this.context,r=this.vibrato.getNoteHeadEndX()+2;let{y_bottom:s}=this.vibrato.getNoteHeadBounds(),{y_top:o}=this.getNoteHeadBounds();const a=s1&&l.getAttribute("type")==="Accidental"&&this.modifiers.findIndex(g=>g.getAttribute("type")==="GraceNoteGroup")>=0)&&!(l.note&&l.note.DYMusicScoreType=="jianpu"&&l.getAttribute("type")==="Dot"&&!l.note.formatterMetrics.duration)){if(l.note&&l.note.DYMusicScoreType=="jianpu"&&l.getAttribute("type")==="Dot")try{l.note.getModifierStartXY(l.position,0,{forceFlagRight:!0}).x-l.note.x<9&&(l.x_shift+=7)}catch(d){console.log("🚀 ~ error:",d)}l.note&&l.note.DYMusicScoreType=="jianpu"&&(((s=l==null?void 0:l.articulation)==null?void 0:s.code)==="v28"||((o=l==null?void 0:l.articulation)==null?void 0:o.code)==="v42")&&(r="transform"),c.applyStyle(e,u),l.setContext(e),l.drawWithStyle(),c.restoreStyle(e,u)}}e.closeGroup(r),this.drawVibrato(),this.drawSlide()}drawFlag(){const{stem:e,beam:r,context:s}=this;if(!s)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");const o=r===null&&this.renderFlag;if(this.getGlyph().flag&&o){const{y_top:l,y_bottom:c}=this.getNoteHeadBounds(),u=e.getHeight(),d=this.getStemX();let g=this.getStemDirection()===Stem.DOWN?l-u+2:c-u-2;if(e&&!r){const m=this.keyProps[0].line;(m>6.5||m<-.5)&&(g=g+(m>6.5?(m-6.5)*10:(m+.5)*10))}s.openGroup("flag",null,{pointerBBox:!0}),this.applyStyle(s,this.getFlagStyle()||!1),this.flag.render(s,d,g),this.restoreStyle(s,this.getFlagStyle()||!1),s.closeGroup()}}drawNoteHeads(){this.note_heads.forEach(e=>{this.context.openGroup("notehead",null,{pointerBBox:!0});try{if(this.isRest()&&this.duration==="w"){const r=this.stave.options.line_config.filter(o=>o.visible).length;this.keyProps[0].line===4&&r<5&&e.setY(e.getY()+10),r===1&&e.setLine(3)}}catch(r){}e.setContext(this.context).draw(),this.context.closeGroup()})}drawStem(e){if(!this.context)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");e&&this.setStem(new Stem(e)),this.stem.id=Vex.Prefix(`${this.getAttribute("id")}-stem`),this.stem&&(this.context.openGroup("stem",null,{pointerBBox:!0}),this.stem.setContext(this.context).draw(),this.context.closeGroup())}draw(){if(!this.context)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");if(!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");if(this.ys.length===0)throw new Vex.RERR("NoYValues","Can't draw note without Y values.");const e=this.stave.getLines();if(e===2||e===3||e===4)for(let o=0;oo.setX(r)),this.stem){let o=this.getStemX();const a=this.keyProps[0].line;(a>6.5||a<-.5)&&(this.beam||(this.stem.renderHeightAdjustment=a>6.5?(a-6.5)*10:Math.abs(a+.5)*10)),this.stem.setNoteHeadXBounds(o,o)}L$h("Rendering ",this.isChord()?"chord :":"note :",this.keys),this.drawLedgerLines(),this.applyStyle(),this.setAttribute("el",this.context.openGroup("stavenote",this.getAttribute("id"))),this.context.openGroup("note",null,{pointerBBox:!0}),s&&this.drawStem(),this.drawNoteHeads(),this.drawFlag(),this.context.closeGroup(),this.drawModifiers(),this.context.closeGroup(),this.restoreStyle(),this.setRendered()}}class FretHandFinger extends Modifier{static get CATEGORY(){return"frethandfinger"}static format(e,r){const{left_shift:s,right_shift:o}=r,a=1;if(!e||e.length===0)return!1;const l=[];let c=null,u=0,d=0;for(let E=0;Ex.line-E.line);let g=0,m=0,y=0,b=0,A=null,S=null;for(let E=0;Ey?x:y):C===Modifier.Position.RIGHT&&(T.setXShift(m),x=d+R,b=x>b?x:b),A=k,S=P}return r.left_shift+=y,r.right_shift+=b,!0}constructor(e){super(),this.setAttribute("type","FretHandFinger"),this.note=null,this.index=null,this.finger=e,this.width=7,this.position=Modifier.Position.LEFT,this.x_shift=0,this.y_shift=0,this.x_offset=0,this.y_offset=0,this.font={family:"sans-serif",size:9,weight:"bold"}}getCategory(){return FretHandFinger.CATEGORY}setFretHandFinger(e){return this.finger=e,this}setOffsetX(e){return this.x_offset=e,this}setOffsetY(e){return this.y_offset=e,this}draw(){if(this.checkContext(),!this.note||this.index==null)throw new Vex.RERR("NoAttachedNote","Can't draw string number without a note and index.");this.setRendered();const e=this.context,r=this.note.getModifierStartXY(this.position,this.index);let s=r.x+this.x_shift+this.x_offset,o=r.y+this.y_shift+this.y_offset+5;switch(this.position){case Modifier.Position.ABOVE:s-=4,o-=12;break;case Modifier.Position.BELOW:s-=2,o+=10;break;case Modifier.Position.LEFT:s-=this.width;break;case Modifier.Position.RIGHT:s+=1;break;default:throw new Vex.RERR("InvalidPostion",`The position ${this.position} does not exist`)}e.save(),e.setFont(this.font.family,this.font.size,this.font.weight),e.fillText(""+this.finger,s,o),e.restore()}}class Music{static get NUM_TONES(){return 12}static get roots(){return["c","d","e","f","g","a","b"]}static get root_values(){return[0,2,4,5,7,9,11]}static get root_indices(){return{c:0,d:1,e:2,f:3,g:4,a:5,b:6}}static get canonical_notes(){return["c","c#","d","d#","e","f","f#","g","g#","a","a#","b"]}static get diatonic_intervals(){return["unison","m2","M2","m3","M3","p4","dim5","p5","m6","M6","b7","M7","octave"]}static get diatonic_accidentals(){return{unison:{note:0,accidental:0},m2:{note:1,accidental:-1},M2:{note:1,accidental:0},m3:{note:2,accidental:-1},M3:{note:2,accidental:0},p4:{note:3,accidental:0},dim5:{note:4,accidental:-1},p5:{note:4,accidental:0},m6:{note:5,accidental:-1},M6:{note:5,accidental:0},b7:{note:6,accidental:-1},M7:{note:6,accidental:0},octave:{note:7,accidental:0}}}static get intervals(){return{u:0,unison:0,m2:1,b2:1,min2:1,S:1,H:1,2:2,M2:2,maj2:2,T:2,W:2,m3:3,b3:3,min3:3,M3:4,3:4,maj3:4,4:5,p4:5,"#4":6,b5:6,aug4:6,dim5:6,5:7,p5:7,"#5":8,b6:8,aug5:8,6:9,M6:9,maj6:9,b7:10,m7:10,min7:10,dom7:10,M7:11,maj7:11,8:12,octave:12}}static get scales(){return{major:[2,2,1,2,2,2,1],dorian:[2,1,2,2,2,1,2],mixolydian:[2,2,1,2,2,1,2],minor:[2,1,2,2,1,2,2]}}static get scaleTypes(){return{M:Music.scales.major,m:Music.scales.minor}}static get accidentals(){return["bb","b","n","#","##"]}static get noteValues(){return{c:{root_index:0,int_val:0},cn:{root_index:0,int_val:0},"c#":{root_index:0,int_val:1},"c##":{root_index:0,int_val:2},cb:{root_index:0,int_val:11},cbb:{root_index:0,int_val:10},d:{root_index:1,int_val:2},dn:{root_index:1,int_val:2},"d#":{root_index:1,int_val:3},"d##":{root_index:1,int_val:4},db:{root_index:1,int_val:1},dbb:{root_index:1,int_val:0},e:{root_index:2,int_val:4},en:{root_index:2,int_val:4},"e#":{root_index:2,int_val:5},"e##":{root_index:2,int_val:6},eb:{root_index:2,int_val:3},ebb:{root_index:2,int_val:2},f:{root_index:3,int_val:5},fn:{root_index:3,int_val:5},"f#":{root_index:3,int_val:6},"f##":{root_index:3,int_val:7},fb:{root_index:3,int_val:4},fbb:{root_index:3,int_val:3},g:{root_index:4,int_val:7},gn:{root_index:4,int_val:7},"g#":{root_index:4,int_val:8},"g##":{root_index:4,int_val:9},gb:{root_index:4,int_val:6},gbb:{root_index:4,int_val:5},a:{root_index:5,int_val:9},an:{root_index:5,int_val:9},"a#":{root_index:5,int_val:10},"a##":{root_index:5,int_val:11},ab:{root_index:5,int_val:8},abb:{root_index:5,int_val:7},b:{root_index:6,int_val:11},bn:{root_index:6,int_val:11},"b#":{root_index:6,int_val:0},"b##":{root_index:6,int_val:1},bb:{root_index:6,int_val:10},bbb:{root_index:6,int_val:9}}}isValidNoteValue(e){return!(e==null||e<0||e>=Music.NUM_TONES)}isValidIntervalValue(e){return this.isValidNoteValue(e)}getNoteParts(e){if(!e||e.length<1)throw new Vex.RERR("BadArguments","Invalid note name: "+e);if(e.length>3)throw new Vex.RERR("BadArguments","Invalid note name: "+e);const r=e.toLowerCase(),o=/^([cdefgab])(b|bb|n|#|##)?$/.exec(r);if(o!=null){const a=o[1],l=o[2];return{root:a,accidental:l}}else throw new Vex.RERR("BadArguments","Invalid note name: "+e)}getKeyParts(e){if(!e||e.length<1)throw new Vex.RERR("BadArguments","Invalid key: "+e);const r=e.toLowerCase(),o=/^([cdefgab])(b|#)?(mel|harm|m|M)?$/.exec(r);if(o!=null){const a=o[1],l=o[2];let c=o[3];return c||(c="M"),{root:a,accidental:l,type:c}}else throw new Vex.RERR("BadArguments",`Invalid key: ${e}`)}getNoteValue(e){const r=Music.noteValues[e];if(r==null)throw new Vex.RERR("BadArguments",`Invalid note name: ${e}`);return r.int_val}getIntervalValue(e){const r=Music.intervals[e];if(r==null)throw new Vex.RERR("BadArguments",`Invalid interval name: ${e}`);return r}getCanonicalNoteName(e){if(!this.isValidNoteValue(e))throw new Vex.RERR("BadArguments",`Invalid note value: ${e}`);return Music.canonical_notes[e]}getCanonicalIntervalName(e){if(!this.isValidIntervalValue(e))throw new Vex.RERR("BadArguments",`Invalid interval value: ${e}`);return Music.diatonic_intervals[e]}getRelativeNoteValue(e,r,s){if(s==null&&(s=1),s!==1&&s!==-1)throw new Vex.RERR("BadArguments",`Invalid direction: ${s}`);let o=(e+s*r)%Music.NUM_TONES;return o<0&&(o+=Music.NUM_TONES),o}getRelativeNoteName(e,r){const s=this.getNoteParts(e),o=this.getNoteValue(s.root);let a=r-o;if(Math.abs(a)>Music.NUM_TONES-3){let c=1;a>0&&(c=-1);const u=(r+1+(o+1))%Music.NUM_TONES*c;if(Math.abs(u)>2)throw new Vex.RERR("BadArguments",`Notes not related: ${e}, ${r})`);a=u}if(Math.abs(a)>2)throw new Vex.RERR("BadArguments",`Notes not related: ${e}, ${r})`);let l=s.root;if(a>0)for(let c=1;c<=a;++c)l+="#";else if(a<0)for(let c=-1;c>=a;--c)l+="b";return l}getScaleTones(e,r){const s=[e];let o=e;for(let a=0;ai.getMetrics().width;class Accidental extends Modifier{static get CATEGORY(){return"accidentals"}static format(e,r){const o=r.left_shift+1,a=3;if(!e||e.length===0)return;const l=[];let c=null,u=0,d;for(let P=0;PC.line-P.line);const g=[];let m=0,y=null;for(let P=0;Pm?C.shift:m,y=C.line}let b=0;for(let P=0;Pg[T+N],M=N=>N.map(I),R=(N,K)=>{const[G,q]=M([N,K]).map(O=>O.line);return G-q},B=(...N)=>N.map(M).every(K=>!this.checkCollision(...K)),_=k-T+1;let V=this.checkCollision(g[T],g[k])?"a":"b";switch(_){case 3:V==="a"&&R(1,2)===.5&&R(0,1)!==.5&&(V="second_on_bottom");break;case 4:B([0,2],[1,3])&&(V="spaced_out_tetrachord");break;case 5:V==="b"&&B([1,3])&&(V="spaced_out_pentachord",B([0,2],[2,4])&&(V="very_spaced_out_pentachord"));break;case 6:B([0,3],[1,4],[2,5])&&(V="spaced_out_hexachord"),B([0,2],[2,4],[1,3],[3,5])&&(V="very_spaced_out_hexachord");break}let D,F;if(_>=7){let N=2,K=!0;for(;K===!0;){K=!1;for(let G=0;G+NF?b:F}else for(D=P;D<=k;D++)F=Flow.accidentalColumnsTable[_][V][D-P],g[D].column=F,b=b>F?b:F;P=k}const A=[],S=[];for(let P=0;P<=b;P++)A[P]=0,S[P]=0;A[0]=m+o,S[0]=m+o,g.forEach(P=>{P.width>A[P.column]&&(A[P.column]=P.width)});for(let P=1;P{let C=0;const T=x+P.numAcc;for(x;x0?(o=r.flatLine||r.dblSharpLine?2.5:3,e.dblSharpLine&&(s-=.5)):(o=e.flatLine||e.dblSharpLine?2.5:3,r.dblSharpLine&&(s-=.5));const a=Math.abs(s){const u=new Fraction(0,1);c.getTickables().forEach(g=>{if(g.shouldIgnoreTicks())return;const m=o[u.value()];m?m.push(g):(s.push(u.value()),o[u.value()]=[g]),u.add(g.getTicks())})});const a=new Music;r||(r="C");const l=a.createScaleMap(r);s.forEach(c=>{const u=o[c],d=[],g=m=>{m.isRest()||m.shouldIgnoreTicks()||(m.keys.forEach((y,b)=>{const A=a.getNoteParts(y.split("/")[0]),S=A.accidental||"n",E=A.root+S,x=l[A.root]===E,P=d.indexOf(E)>-1;if(!x||x&&P){l[A.root]=E;const C=new Accidental(S);m.addAccidental(b,C),d.push(E)}}),m.getModifiers().forEach(y=>{y.getCategory()==="gracenotegroups"&&y.getGraceNotes().forEach(g)}))};u.forEach(g)})}constructor(e=null){if(super(),this.setAttribute("type","Accidental"),L$g("New accidental: ",e),this.note=null,this.index=null,this.type=e,this.position=Modifier.Position.LEFT,this.render_options={font_scale:38,stroke_px:3,parenLeftPadding:2,parenRightPadding:2},this.accidental=Flow.accidentalCodes(this.type),!this.accidental)throw new Vex.RERR("ArgumentError",`Unknown accidental type: ${e}`);this.cautionary=!1,this.parenLeft=null,this.parenRight=null,this.reset()}reset(){const e=this.render_options.font_scale;this.glyph=new Glyph(this.accidental.code,e),this.glyph.setOriginX(1),this.cautionary&&(this.parenLeft=new Glyph(Flow.accidentalCodes("{").code,e),this.parenRight=new Glyph(Flow.accidentalCodes("}").code,e),this.parenLeft.setOriginX(1),this.parenRight.setOriginX(1))}getCategory(){return Accidental.CATEGORY}getWidth(){const e=this.cautionary?getGlyphWidth(this.parenLeft)+getGlyphWidth(this.parenRight)+this.render_options.parenLeftPadding+this.render_options.parenRightPadding:0;return getGlyphWidth(this.glyph)+e}setNote(e){if(!e)throw new Vex.RERR("ArgumentError",`Bad note value: ${e}`);this.note=e,this.note.getCategory()==="gracenotes"&&(this.render_options.font_scale=25,this.reset())}setAsCautionary(){return this.cautionary=!0,this.render_options.font_scale=28,this.reset(),this}draw(){const{context:e,type:r,position:s,note:o,index:a,cautionary:l,x_shift:c,y_shift:u,glyph:d,parenLeft:g,parenRight:m,render_options:{parenLeftPadding:y,parenRightPadding:b}}=this;if(this.checkContext(),!(o&&a!=null))throw new Vex.RERR("NoAttachedNote","Can't draw accidental without a note and index.");const A=o.getModifierStartXY(s,a);let S=A.x+c;const E=A.y+u;L$g("Rendering: ",r,S,E),l?(m.render(e,S,E),S-=getGlyphWidth(m),S-=b,S-=this.accidental.parenRightPaddingAdjustment,d.render(e,S,E),S-=getGlyphWidth(d),S-=y,g.render(e,S,E)):d.render(e,S,E),this.setRendered()}}let NoteSubGroup$1=class ji extends Modifier{static get CATEGORY(){return"notesubgroup"}static format(e,r){if(!e||e.length===0)return!1;let s=0;for(let o=0;o{r.ignore_ticks=!1}),this.width=0,this.preFormatted=!1,this.formatter=new Formatter,this.voice=new Voice$1({num_beats:4,beat_value:4,resolution:Flow.RESOLUTION}).setStrict(!1),this.voice.addTickables(this.subNotes),this}getCategory(){return ji.CATEGORY}preFormat(){this.preFormatted||(this.formatter.joinVoices([this.voice]).format([this.voice],0),this.setWidth(this.formatter.getMinTotalWidth()),this.preFormatted=!0)}setNote(e){this.note=e}setWidth(e){this.width=e}getWidth(){return this.width}draw(){this.checkContext();const e=this.getNote();if(!(e&&this.index!==null))throw new Vex.RuntimeError("NoAttachedNote","Can't draw notes without a parent note and parent note index.");this.setRendered(),this.alignSubNotesWithNote(this.subNotes,e),this.subNotes.forEach(r=>r.setContext(this.context).drawWithStyle())}};class StaveTie extends Element$1{constructor(e,r){super(),this.setAttribute("type","StaveTie"),this.notes=e,this.context=null,this.text=r,this.direction=null,this.render_options={cp1:8,cp2:12,text_shift_x:0,first_x_shift:0,last_x_shift:0,y_shift:7,tie_spacing:0,font:{family:"Arial",size:15,style:""}},this.font=this.render_options.font,this.setNotes(e)}setFont(e){return this.font=e,this}setDirection(e){return this.direction=e,this}setNotes(e){if(!e.first_note&&!e.last_note)throw new Vex.RuntimeError("BadArguments","Tie needs to have either first_note or last_note set.");if(e.first_indices||(e.first_indices=[0]),e.last_indices||(e.last_indices=[0]),e.first_indices.length!==e.last_indices.length)throw new Vex.RuntimeError("BadArguments","Tied notes must have similar index sizes");return this.first_note=e.first_note,this.first_indices=e.first_indices,this.last_note=e.last_note,this.last_indices=e.last_indices,this}isPartial(){return!this.first_note||!this.last_note}renderTie(e){if(e.first_ys.length===0||e.last_ys.length===0)throw new Vex.RERR("BadArguments","No Y-values to render");const r=this.context;let s=this.render_options.cp1,o=this.render_options.cp2;Math.abs(e.last_x_px-e.first_x_px)<10&&(s=2,o=8);const a=this.render_options.first_x_shift,l=this.render_options.last_x_shift,c=this.render_options.y_shift*e.direction;for(let u=0;uy&&Math.abs(g-y)<10?-6:0;if(this.first_note&&this.first_note.DYMusicScoreType==="jianpu"){if(this.getAttribute("type")==="TabTie")continue;g1){const r=new Beam$1(e);r.render_options.beam_width=3,r.render_options.partial_beam_length=4,this.beams.push(r)}return this}setNote(e){this.note=e}setWidth(e){this.width=e}getWidth(){return this.width}getGraceNotes(){return this.grace_notes}draw(){this.checkContext();const e=this.getNote();if(L$f("Drawing grace note group for:",e),!(e&&this.index!==null))throw new Vex.RuntimeError("NoAttachedNote","Can't draw grace note without a parent note and parent note index.");if(this.setRendered(),this.alignSubNotesWithNote(this.getGraceNotes(),e),this.grace_notes.forEach(r=>{r.setContext(this.context).draw()}),this.beams.forEach(r=>{r.setContext(this.context).draw()}),this.show_slur){const r=this.getNote().getCategory()===StaveNote.CATEGORY,s=r?StaveTie:TabTie;this.slur=new s({last_note:this.grace_notes[0],first_note:e,first_indices:[0],last_indices:[0]}),this.slur.render_options.cp2=12,this.slur.render_options.y_shift=(r?7:5)+this.render_options.slur_y_shift,this.slur.setContext(this.context).draw()}}}class Stroke extends Modifier{static get CATEGORY(){return"strokes"}static get Type(){return{BRUSH_DOWN:1,BRUSH_UP:2,ROLL_DOWN:3,ROLL_UP:4,RASQUEDO_DOWN:5,RASQUEDO_UP:6,ARPEGGIO_DIRECTIONLESS:7}}static format(e,r){const s=r.left_shift,o=0;if(!e||e.length===0)return this;const a=e.map(u=>{const d=u.getNote();if(d instanceof StaveNote){const{line:g,displaced:m}=d.getKeyProps()[u.getIndex()],y=m?d.getExtraLeftPx():0;return{line:g,shift:y,stroke:u}}else{const{str:g}=d.getPositions()[u.getIndex()];return{line:g,shift:0,stroke:u}}}),l=s,c=a.reduce((u,{stroke:d,shift:g})=>(d.setXShift(l+g),Math.max(d.getWidth()+o,u)),0);return r.left_shift+=c,!0}constructor(e,r){super(),this.setAttribute("type","Stroke"),this.note=null,this.options=Vex.Merge({},r),this.all_voices="all_voices"in this.options?this.options.all_voices:!0,this.note_end=null,this.index=null,this.type=e,this.position=Modifier.Position.LEFT,this.render_options={font_scale:38,stroke_px:3,stroke_spacing:10},this.font={family:"serif",size:10,weight:"bold italic"},this.setXShift(0),this.setWidth(10)}getCategory(){return Stroke.CATEGORY}getPosition(){return this.position}addEndNote(e){return this.note_end=e,this}draw(){if(this.checkContext(),this.setRendered(),!(this.note&&this.index!=null))throw new Vex.RERR("NoAttachedNote","Can't draw stroke without a note and index.");const e=this.note.getModifierStartXY(this.position,this.index);let r=this.note.getYs(),s=e.y,o=e.y;const a=e.x-5,l=this.note.stave.options.spacing_between_lines_px,c=this.getModifierContext().getModifiers(this.note.getCategory());for(let b=0;bk.line-T.line);let S=0,E=0,x=0,P=null,C=null;for(g=0;gE?T:E):b===Modifier.Position.RIGHT&&(m.setXShift(S),T+=M,x=T>x?T:x),P=k,C=y}return r.left_shift+=E,r.right_shift+=x,!0}constructor(e){super(),this.setAttribute("type","StringNumber"),this.note=null,this.last_note=null,this.index=null,this.string_number=e,this.setWidth(20),this.position=Modifier.Position.ABOVE,this.x_shift=0,this.y_shift=0,this.x_offset=0,this.y_offset=0,this.dashed=!0,this.leg=Renderer.LineEndType.NONE,this.radius=8,this.font={family:"sans-serif",size:10,weight:"bold"}}getCategory(){return StringNumber.CATEGORY}getNote(){return this.note}setNote(e){return this.note=e,this}getIndex(){return this.index}setIndex(e){return this.index=e,this}setLineEndType(e){return e>=Renderer.LineEndType.NONE&&e<=Renderer.LineEndType.DOWN&&(this.leg=e),this}setStringNumber(e){return this.string_number=e,this}setOffsetX(e){return this.x_offset=e,this}setOffsetY(e){return this.y_offset=e,this}setLastNote(e){return this.last_note=e,this}setDashed(e){return this.dashed=e,this}draw(){const e=this.checkContext();if(!(this.note&&this.index!=null))throw new Vex.RERR("NoAttachedNote","Can't draw string number without a note and index.");this.setRendered();const r=this.note.stave.options.spacing_between_lines_px,s=this.note.getModifierStartXY(this.position,this.index);let o=s.x+this.x_shift+this.x_offset,a=s.y+this.y_shift+this.y_offset;switch(this.position){case Modifier.Position.ABOVE:case Modifier.Position.BELOW:{const c=this.note.getStemExtents();let u=c.topY,d=c.baseY+2;this.note.stem_direction===StaveNote.STEM_DOWN&&(u=c.baseY,d=c.topY-2),this.position===Modifier.Position.ABOVE?a=this.note.hasStem()?u-r*1.75:s.y-r*1.75:a=this.note.hasStem()?d+r*1.5:s.y+r*1.75,a+=this.y_shift+this.y_offset;break}case Modifier.Position.LEFT:o-=this.radius/2+5;break;case Modifier.Position.RIGHT:o+=this.radius/2+6;break;default:throw new Vex.RERR("InvalidPosition",`The position ${this.position} is invalid`)}e.save(),e.beginPath(),e.arc(o,a,this.radius,0,Math.PI*2,!1),e.lineWidth=1.5,e.stroke(),e.setFont(this.font.family,this.font.size,this.font.weight);const l=o-e.measureText(this.string_number).width/2;if(e.fillText(""+this.string_number,l,a+4.5),this.last_note!=null){const c=this.last_note.getStemX()-this.note.getX()+5;e.strokeStyle="#000000",e.lineCap="round",e.lineWidth=.6,this.dashed?Renderer.drawDashedLine(e,o+10,a,o+c,a,[3,3]):Renderer.drawDashedLine(e,o+10,a,o+c,a,[3,0]);let u,d;switch(this.leg){case Renderer.LineEndType.UP:u=-10,d=this.dashed?[3,3]:[3,0],Renderer.drawDashedLine(e,o+c,a,o+c,a+u,d);break;case Renderer.LineEndType.DOWN:u=10,d=this.dashed?[3,3]:[3,0],Renderer.drawDashedLine(e,o+c,a,o+c,a+u,d);break}}e.restore()}}class TickContext extends Tickable{static getNextContext(e){const r=e.tContexts,s=r.indexOf(e);return r[s+1]}constructor(){super(),this.setAttribute("type","TickContext"),this.currentTick=new Fraction(0,1),this.maxTicks=new Fraction(0,1),this.minTicks=null,this.padding=3,this.x=0,this.xBase=0,this.xOffset=0,this.tickables=[],this.notePx=0,this.extraLeftPx=0,this.extraRightPx=0,this.tContexts=[]}getX(){return this.x}setX(e){return this.x=e,this.xBase=e,this.xOffset=0,this}getXBase(){return this.xBase}setXBase(e){this.xBase=e,this.x=e+this.xOffset}getXOffset(){return this.xOffset}setXOffset(e){this.xOffset=e,this.x=this.xBase+e}getWidth(){return this.width+this.padding*2}setPadding(e){return this.padding=e,this}getMaxTicks(){return this.maxTicks}getMinTicks(){return this.minTicks}getTickables(){return this.tickables}getCenterAlignedTickables(){return this.tickables.filter(e=>e.isCenterAligned())}getMetrics(){const{width:e,notePx:r,extraLeftPx:s,extraRightPx:o}=this;return{width:e,notePx:r,extraLeftPx:s,extraRightPx:o}}getCurrentTick(){return this.currentTick}setCurrentTick(e){this.currentTick=e,this.preFormatted=!1}getExtraPx(){let e=0,r=0,s=0,o=0;for(let a=0;ai(e/.5)*.5,isWithinLines=(i,e)=>e===ABOVE?i<=5:i>=1,getRoundingFunction=(i,e)=>isWithinLines(i,e)?e===ABOVE?Math.ceil:Math.floor:Math.round,snapLineToStaff=(i,e,r,s)=>{const o=roundToNearestHalf(getRoundingFunction(e,r),e),a=i&&isWithinLines(o,r),l=o%1===0;return a&&l?o+.5*-s:o},isStaveNote=i=>{const e=i.getCategory();return e==="stavenotes"||e==="gracenotes"},isTabNote=i=>{const e=i.getCategory();return e==="tabnotes"||e==="numberednotes"},getTopY=(i,e)=>{const r=i.getStave(),s=i.getStemDirection(),{topY:o,baseY:a}=i.getStemExtents();if(isStaveNote(i))return i.hasStem()?s===Stem.UP?o:a:Math.min(...i.getYs());if(isTabNote(i))return i.hasStem()&&s===Stem.UP?o:r.getYForTopText(e);throw new Vex.RERR("UnknownCategory","Only can get the top and bottom ys of stavenotes and tabnotes")},getBottomY=(i,e)=>{const r=i.getStave(),s=i.getStemDirection(),{topY:o,baseY:a}=i.getStemExtents();if(isStaveNote(i))return i.hasStem()?s===Stem.UP?a:o:Math.max(...i.getYs());if(isTabNote(i))return i.hasStem()?s===Stem.UP?r.getYForBottomText(e):o:r.getYForBottomText(e);throw new Vex.RERR("UnknownCategory","Only can get the top and bottom ys of stavenotes and tabnotes")},getInitialOffset=(i,e)=>{const r=e===ABOVE&&i.getStemDirection()===Stem.UP||e===BELOW&&i.getStemDirection()===Stem.DOWN;return isStaveNote(i)?i.hasStem()&&r?.5:1:i.hasStem()&&r?1:0};let Articulation$1=class Ei extends Modifier{static get CATEGORY(){return"articulations"}static get INITIAL_OFFSET(){return-.5}static format(e,r){if(!e||e.length===0)return!1;const s=u=>u.getPosition()===ABOVE,o=u=>u.getPosition()===BELOW,a=.5,l=(u,d,g)=>roundToNearestHalf(getRoundingFunction(d,g),u.glyph.getMetrics().height/10+a);e.filter(s).forEach(u=>{u.setTextLine(r.top_text_line),r.top_text_line+=l(u,r.top_text_line,ABOVE)}),e.filter(o).forEach(u=>{u.setTextLine(r.text_line),r.text_line+=l(u,r.text_line,BELOW)});const c=e.map(u=>u.getWidth()).reduce((u,d)=>Math.max(d,u));return r.left_shift+=c/2,r.right_shift+=c/2,!0}static easyScoreHook({articulations:e},r,s){if(!e)return;const o={staccato:"a.",tenuto:"a-"};e.split(",").map(a=>a.trim().split(".")).map(([a,l])=>{const c={type:o[a]};return l&&(c.position=Modifier.PositionString[l]),s.getFactory().Articulation(c)}).map(a=>r.addModifier(0,a))}constructor(e){if(super(),this.setAttribute("type","Articulation"),this.note=null,this.index=null,this.type=e,this.position=BELOW,this.render_options={font_scale:38},this.breathMarkDistance=.8,this.articulation=Flow.articulationCodes(this.type),this.type==="abr"&&(this.articulation={code:"v6c",between_lines:!1}),!this.articulation)throw new Vex.RERR("ArgumentError",`Articulation not found: ${this.type}`);this.glyph=new Glyph(this.articulation.code,this.render_options.font_scale),this.setWidth(this.glyph.getMetrics().width)}getCategory(){return Ei.CATEGORY}draw(){const{note:e,index:r,position:s,glyph:o,articulation:{between_lines:a},text_line:l,context:c}=this;if(this.checkContext(),!e||r==null)throw new Vex.RERR("NoAttachedNote","Can't draw Articulation without a note and index.");this.setRendered();const u=e.getStave(),d=u.getSpacingBetweenLines(),g=e.getCategory()==="tabnotes";let{x:m}=e.getModifierStartXY(s,r);if(this.type==="abr"){let E=0;const x=e.getTickContext(),P=TickContext.getNextContext(x),C=e.getTickContext().getX();if(P)E=(P.getX()-C)*this.breathMarkDistance;else{const T=e.getStave();E=(T.getX()+T.getWidth()-C)*this.breathMarkDistance}m+=E}const y=this.getXShift();y&&(m+=y);const b=!a||g,A=getInitialOffset(e,s);let S={[ABOVE]:()=>{o.setOrigin(.5,1);const E=getTopY(e,l)-(l+A)*d+(this.y_shift||0);return b?Math.min(u.getYForTopText(Ei.INITIAL_OFFSET),E):E},[BELOW]:()=>{o.setOrigin(.5,0);const E=getBottomY(e,l)+(l+A)*d;return b?Math.max(u.getYForBottomText(Ei.INITIAL_OFFSET),E):E}}[s]();if(!g){const E=s===ABOVE?-1:1,x=g?e.positions[r].str:e.getKeyProps()[r].line,C=(e.getYs()[r]-S)/d+x,T=snapLineToStaff(a,C,s,E);isWithinLines(T,s)&&o.setOrigin(.5,.5),S+=Math.abs(T-C)*d*E}L$e(`Rendering articulation at (x: ${m}, y: ${S})`),o.render(c,m,S)}};function L$d(...i){Ornament.DEBUG&&Vex.L("Vex.Flow.Ornament",i)}class Ornament extends Modifier{static get CATEGORY(){return"ornaments"}static format(e,r){if(!e||e.length===0)return!1;let s=0;for(let o=0;o0&&o--;for(let u=0;u{L$b("Preformatting ModifierContext: ",e.CATEGORY),e.format(this.getModifiers(e.CATEGORY),this.state,this)}),this.width=this.state.left_shift+this.state.right_shift,this.preFormatted=!0)}postFormat(){this.postFormatted||this.POSTFORMAT.forEach(e=>{L$b("Postformatting ModifierContext: ",e.CATEGORY),e.postFormat(this.getModifiers(e.CATEGORY),this)})}}function L$a(...i){Formatter.DEBUG&&Vex.L("Vex.Flow.Formatter",i)}function getNext(i,e){var s,o;const r=i[e+1];return r&&((s=r==null?void 0:r.keys)!=null&&s.includes("b/4"))||(o=r==null?void 0:r.keys)!=null&&o.includes("r/4")?getNext(i,e+1):r}function lookAhead(i,e,r,s){let o=e;for(r+=1;r{if(u.getMode()===Voice$1.Mode.STRICT&&!u.isComplete())throw new Vex.RERR("IncompleteVoice","Voice does not have enough notes.");return Math.max(c,Fraction.LCM(c,u.getResolutionMultiplier()))},1),o={},a=[],l=[];return i.forEach(c=>{const u=new Fraction(0,s);c.getTickables().forEach(d=>{const g=u.numerator;if(!o[g]){const m=new e;l.push(m),o[g]=m}r(d,o[g]),a.push(g),u.add(d.getTicks())})}),{map:o,array:l,list:Vex.SortAndUnique(a,(c,u)=>c-u,(c,u)=>c===u),resolutionMultiplier:s}}class Formatter{static SimpleFormat(e,r=0,{paddingBetween:s=10}={}){e.reduce((o,a)=>{a.addToModifierContext(new ModifierContext);const l=new TickContext().addTickable(a).preFormat(),c=l.getExtraPx();return l.setX(o+c.left),o+l.getWidth()+c.right+s},r)}static plotDebugging(e,r,s,o,a){const l=s+Note.STAVEPADDING,c=r.contextGaps;function u(d,g,m){e.beginPath(),e.setStrokeStyle(m),e.setFillStyle(m),e.setLineWidth(1),e.fillRect(d,o,g-d,a-o)}e.save(),e.setFont("Arial",8,""),c.gaps.forEach(d=>{u(l+d.x1,l+d.x2,"#aaa"),e.fillText(Math.round(d.x2-d.x1),l+d.x1,a+12)}),e.fillText(Math.round(c.total)+"px",l-20,a+12),e.setFillStyle("red"),e.fillText("Loss: "+r.lossHistory.map(d=>Math.round(d)),l-20,a+22),e.restore()}static FormatAndDraw(e,r,s,o){const a={auto_beam:!1,align_rests:!1};typeof o=="object"?Vex.Merge(a,o):typeof o=="boolean"&&(a.auto_beam=o);const l=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(s),c=a.auto_beam?Beam$1.applyAndGetBeams(l):[];return new Formatter().joinVoices([l],{align_rests:a.align_rests}).formatToStave([l],r,{align_rests:a.align_rests,stave:r}),l.setStave(r).draw(e,r),c.forEach(u=>u.setContext(e).draw()),l.getBoundingBox()}static FormatAndDrawTab(e,r,s,o,a,l,c){const u={auto_beam:l,align_rests:!1};typeof c=="object"?Vex.Merge(u,c):typeof c=="boolean"&&(u.auto_beam=c);const d=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(a),g=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(o),m=u.auto_beam?Beam$1.applyAndGetBeams(d):[];new Formatter().joinVoices([d],{align_rests:u.align_rests}).joinVoices([g]).formatToStave([d,g],s,{align_rests:u.align_rests}),d.draw(e,s),g.draw(e,r),m.forEach(y=>y.setContext(e).draw()),new StaveConnector(s,r).setContext(e).draw()}static AlignRestsToNotes(e,r,s){return e.forEach((o,a)=>{if(o instanceof StaveNote&&o.isRest()){if(o.tuplet&&!s)return;const l=o.getGlyph().position.toUpperCase();if(l!=="R/4"&&l!=="B/4")return;if(r||o.beam!=null){const c=o.getKeyProps()[0];if(a===0)c.line=lookAhead(e,c.line,a,!1),o.setKeyLine(0,c.line);else if(a>0&&a0){const S=b<1.5?Math.abs(b-1.5)*c:0;A.setResetHeight(S)}else{const S=b>4.5?Math.abs(b-4.5)*c:0;A.setResetHeight(S)}}}}}}),this}constructor(){this.minTotalWidth=0,this.hasMinTotalWidth=!1,this.totalTicks=new Fraction(0,1),this.tickContexts=null,this.modiferContexts=null,this.contextGaps={total:0,gaps:[]},this.voices=[]}alignRests(e,r){if(!e||!e.length)throw new Vex.RERR("BadArgument","No voices to format rests");e.forEach(s=>Formatter.AlignRestsToNotes(s.getTickables(),r))}preCalculateMinTotalWidth(e){if(this.hasMinTotalWidth)return this.minTotalWidth;if(!this.tickContexts){if(!e)throw new Vex.RERR("BadArgument","'voices' required to run preCalculateMinTotalWidth");this.createTickContexts(e)}const{list:r,map:s}=this.tickContexts;return this.minTotalWidth=r.map(o=>{const a=s[o];return a.preFormat(),a.getWidth()}).reduce((o,a)=>o+a,0),this.hasMinTotalWidth=!0,this.minTotalWidth}getMinTotalWidth(){if(!this.hasMinTotalWidth)throw new Vex.RERR("NoMinTotalWidth","Call 'preCalculateMinTotalWidth' or 'preFormat' before calling 'getMinTotalWidth'");return this.minTotalWidth}createModifierContexts(e){const r=createContexts(e,ModifierContext,(s,o)=>s.addToModifierContext(o));return this.modiferContexts=r,r}createTickContexts(e){const r=createContexts(e,TickContext,(s,o)=>o.addTickable(s));return r.array.forEach(s=>{s.tContexts=r.array}),this.totalTicks=e[0].getTicksUsed().clone(),this.tickContexts=r,r}preFormat(e=0,r,s,o){const a=this.tickContexts,{list:l,map:c,resolutionMultiplier:u}=a;s&&o&&s.forEach(E=>E.setStave(o).preFormat());let d=0,g=0;const m=e/2;if(this.minTotalWidth=0,l.forEach(E=>{const x=c[E];r&&x.setContext(r),x.preFormat();const P=x.getWidth();this.minTotalWidth+=P;const C=x.getMetrics();d=d+g+C.extraLeftPx,x.setX(d),g=P-C.extraLeftPx}),this.minTotalWidth=d+g,this.hasMinTotalWidth=!0,e<=0)return;const y=e-this.minTotalWidth;let b=this.totalTicks.value();b===0&&(b=1);const A=y/(b*u);let S=0;l.forEach((E,x)=>{const P=l[x-1]||0,C=c[E],T=(E-P)*A;S+=T,C.setX(C.getX()+S),C.getCenterAlignedTickables().forEach(k=>{k.center_x_shift=m-C.getX()})}),l.length!==1&&(this.justifyWidth=e,this.lossHistory=[],this.evaluate())}evaluate(){const e=this.justifyWidth;this.contextGaps={total:0,gaps:[]},this.tickContexts.list.forEach((a,l)=>{if(l===0)return;const c=this.tickContexts.list[l-1],u=this.tickContexts.map[c],d=this.tickContexts.map[a],g=u.getMetrics(),m=u.getX()+g.width,y=d.getX(),b=y-m;this.contextGaps.total+=b,this.contextGaps.gaps.push({x1:m,x2:y}),d.getFormatterMetrics().freedom.left=b,u.getFormatterMetrics().freedom.right=b});const r=this.durationStats={};function s(a,l){const c=r[a];c===void 0?r[a]={mean:l,count:1}:(c.count+=1,c.mean=(c.mean+l)/2)}this.voices.forEach(a=>{a.getTickables().forEach((l,c,u)=>{const d=l.getTicks().clone().simplify().toString(),g=l.getMetrics(),m=l.getFormatterMetrics(),y=l.getX()+g.noteWidth+g.modRightPx+g.extraRightPx;let b=0;if(c{a.getTickables().forEach(l=>{const c=l.getTicks().clone().simplify().toString(),u=l.getFormatterMetrics();u.iterations+=1,u.space.deviation=u.space.used-r[c].mean,u.duration=c,u.space.mean=r[c].mean,o+=Math.pow(r[c].mean,2)})}),this.totalCost=Math.sqrt(o),this.lossHistory.push(this.totalCost),this}tune(){const e=o=>o.reduce((a,l)=>a+l);function r(o,a,l,c){o.setX(o.getX()+c),o.getFormatterMetrics().freedom.left+=c,o.getFormatterMetrics().freedom.right-=c,a&&(a.getFormatterMetrics().freedom.right+=c),l&&(l.getFormatterMetrics().freedom.left-=c)}let s=0;return this.tickContexts.list.forEach((o,a,l)=>{const c=this.tickContexts.map[o],u=a>0?this.tickContexts.map[l[a-1]]:null,d=ay.getFormatterMetrics().space.deviation));g>0?s=-Math.min(c.getFormatterMetrics().freedom.right,Math.abs(g)):g<0&&(d?s=Math.min(d.getFormatterMetrics().freedom.right,Math.abs(g)):s=0);const m=Math.min(5,Math.abs(s));s=s>0?m:-m}),this.evaluate()}postFormat(){const e=r=>r.list.forEach(s=>r.map[s].postFormat());return e(this.modiferContexts),e(this.tickContexts),this}joinVoices(e){return this.createModifierContexts(e),this.hasMinTotalWidth=!1,this}format(e,r,s){const o={align_rests:!1,context:null,stave:null};return Vex.Merge(o,s),this.voices=e,this.alignRests(e,o.align_rests),this.createTickContexts(e),this.preFormat(r,o.context,e,o.stave),this}formatToStave(e,r,s){const o=r.getNoteEndX()-r.getNoteStartX()-10;L$a("Formatting voices to width: ",o);const a={context:r.getContext()};return Vex.Merge(a,s),this.format(e,o,a)}}class StaveModifier extends Element$1{static get Position(){return{LEFT:1,RIGHT:2,ABOVE:3,BELOW:4,BEGIN:5,END:6}}constructor(){super(),this.setAttribute("type","StaveModifier"),this.padding=10,this.position=StaveModifier.Position.ABOVE,this.layoutMetrics=null}getPosition(){return this.position}setPosition(e){return this.position=e,this}getStave(){return this.stave}setStave(e){return this.stave=e,this}getWidth(){return this.width}setWidth(e){return this.width=e,this}getX(){return this.x}setX(e){return this.x=e,this}getCategory(){return""}makeSpacer(e){return{getContext(){return!0},setStave(){},renderToStave(){},getMetrics(){return{width:e}}}}placeGlyphOnLine(e,r,s){e.setYShift(r.getYForLine(s)-r.getYForGlyphs())}getPadding(e){return e!==void 0&&e<2?0:this.padding}setPadding(e){return this.padding=e,this}setLayoutMetrics(e){return this.layoutMetrics=e,this}getLayoutMetrics(){return this.layoutMetrics}}class Barline extends StaveModifier{static get CATEGORY(){return"barlines"}static get type(){return{SINGLE:1,DOUBLE:2,END:3,REPEAT_BEGIN:4,REPEAT_END:5,REPEAT_BOTH:6,NONE:7}}static get typeString(){return{single:Barline.type.SINGLE,double:Barline.type.DOUBLE,end:Barline.type.END,repeatBegin:Barline.type.REPEAT_BEGIN,repeatEnd:Barline.type.REPEAT_END,repeatBoth:Barline.type.REPEAT_BOTH,none:Barline.type.NONE}}constructor(e){super(),this.setAttribute("type","Barline"),this.thickness=Flow.STAVE_LINE_THICKNESS;const r=Barline.type;this.widths={},this.widths[r.SINGLE]=5,this.widths[r.DOUBLE]=5,this.widths[r.END]=5,this.widths[r.REPEAT_BEGIN]=5,this.widths[r.REPEAT_END]=5,this.widths[r.REPEAT_BOTH]=5,this.widths[r.NONE]=5,this.paddings={},this.paddings[r.SINGLE]=0,this.paddings[r.DOUBLE]=0,this.paddings[r.END]=0,this.paddings[r.REPEAT_BEGIN]=15,this.paddings[r.REPEAT_END]=15,this.paddings[r.REPEAT_BOTH]=15,this.paddings[r.NONE]=0,this.layoutMetricsMap={},this.layoutMetricsMap[r.SINGLE]={xMin:0,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[r.DOUBLE]={xMin:-3,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[r.END]={xMin:-5,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[r.REPEAT_END]={xMin:-10,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[r.REPEAT_BEGIN]={xMin:-2,xMax:10,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[r.REPEAT_BOTH]={xMin:-10,xMax:10,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[r.NONE]={xMin:0,xMax:0,paddingLeft:5,paddingRight:5},this.setPosition(StaveModifier.Position.BEGIN),this.setType(e)}getCategory(){return Barline.CATEGORY}getType(){return this.type}setType(e){return this.type=typeof e=="string"?Barline.typeString[e]:e,this.setWidth(this.widths[this.type]),this.setPadding(this.paddings[this.type]),this.setLayoutMetrics(this.layoutMetricsMap[this.type]),this}draw(e){switch(e.checkContext(),this.setRendered(),this.type){case Barline.type.SINGLE:this.drawVerticalBar(e,this.x,!1);break;case Barline.type.DOUBLE:this.drawVerticalBar(e,this.x,!0);break;case Barline.type.END:this.drawVerticalEndBar(e,this.x);break;case Barline.type.REPEAT_BEGIN:this.drawRepeatBar(e,this.x,!0),e.getX()!==this.x&&this.drawVerticalBar(e,e.getX());break;case Barline.type.REPEAT_END:this.drawRepeatBar(e,this.x,!1);break;case Barline.type.REPEAT_BOTH:this.drawRepeatBar(e,this.x,!1),this.drawRepeatBar(e,this.x,!0);break}}drawVerticalBar(e,r,s){e.checkContext();const o=e.getTopLineTopY(),a=e.getBottomLineBottomY();s&&e.context.fillRect(r-3,o,1,a-o),e.context.fillRect(r,o,1,a-o)}drawVerticalEndBar(e,r){e.checkContext();const s=e.getTopLineTopY(),o=e.getBottomLineBottomY();e.context.fillRect(r-5,s,1,o-s),e.context.fillRect(r-2,s,3,o-s)}drawRepeatBar(e,r,s){e.checkContext();const o=e.getTopLineTopY(),a=e.getBottomLineBottomY();let l=3;s||(l=-5),e.context.fillRect(r+l,o,1,a-o),e.context.fillRect(r-2,o,3,a-o);const c=2;s?l+=4:l-=4;const u=r+l+c/2;let d=(e.getNumLines()-1)*e.getSpacingBetweenLines();d=d/2-e.getSpacingBetweenLines()/2;let g=o+d+c/2;e.context.beginPath(),e.context.arc(u,g,c,0,Math.PI*2,!1),e.context.fill(),g+=e.getSpacingBetweenLines(),e.context.beginPath(),e.context.arc(u,g,c,0,Math.PI*2,!1),e.context.fill()}}let Repetition$1=class Ot extends StaveModifier{static get CATEGORY(){return"repetitions"}static get type(){return{NONE:1,CODA_LEFT:2,CODA_RIGHT:3,SEGNO_LEFT:4,SEGNO_RIGHT:5,DC:6,DC_AL_CODA:7,DC_AL_FINE:8,DS:9,DS_AL_CODA:10,DS_AL_FINE:11,FINE:12,TO_CODA:13}}constructor(e,r,s){super(),this.setAttribute("type","Repetition"),this.symbol_type=e,this.x=r,this.x_shift=0,this.y_shift=s,this.font={family:"times",size:12,weight:"bold italic"}}getCategory(){return Ot.CATEGORY}setShiftX(e){return this.x_shift=e,this}setShiftY(e){return this.y_shift=e,this}setX(e){return this.x=e,this}draw(e,r){switch(this.setRendered(),this.symbol_type){case Ot.type.CODA_RIGHT:this.drawCodaFixed(e,r+e.width);break;case Ot.type.CODA_LEFT:this.drawSymbolText(e,r,"Coda",!0);break;case Ot.type.SEGNO_LEFT:this.drawSignoFixed(e,r);break;case Ot.type.SEGNO_RIGHT:this.drawSignoFixed(e,r+e.width);break;case Ot.type.DC:this.drawSymbolText(e,r,"D.C.",!1);break;case Ot.type.DC_AL_CODA:this.drawSymbolText(e,r,"D.C. al",!0);break;case Ot.type.DC_AL_FINE:this.drawSymbolText(e,r,"D.C. al Fine",!1);break;case Ot.type.DS:this.drawSymbolText(e,r,"D.S.",!1);break;case Ot.type.DS_AL_CODA:this.drawSymbolText(e,r,"D.S. al",!0);break;case Ot.type.DS_AL_FINE:this.drawSymbolText(e,r,"D.S. al Fine",!1);break;case Ot.type.FINE:this.drawSymbolText(e,r,"Fine",!1);break;case Ot.type.TO_CODA:this.drawSymbolText(e,r,"To",!0);break}return this}drawCodaFixed(e,r){const s=e.getYForTopText(e.options.num_lines)+this.y_shift;return Glyph.renderGlyph(e.context,this.x+r+this.x_shift,s+25,40,"v4d",!0),this}drawSignoFixed(e,r){const s=e.getYForTopText(e.options.num_lines)+this.y_shift;return Glyph.renderGlyph(e.context,this.x+r+this.x_shift,s+25,30,"v8c",!0),this}drawSymbolText(e,r,s,o){const a=e.checkContext();a.save(),a.setFont(this.font.family,this.font.size,this.font.weight);let l=0+this.x_shift,c=r+this.x_shift;if(this.symbol_type===Ot.type.CODA_LEFT?(l=this.x+this.x_shift,c=l+a.measureText(s).width+12):(this.x_shift=-(l+a.measureText(s).width+12+e.options.vertical_bar_width+12),l=this.x+this.x_shift+e.options.vertical_bar_width,c=l+a.measureText(s).width+12),this.xShiftAsPercentOfStaveWidth){const d=e.width*this.xShiftAsPercentOfStaveWidth;(this.symbol_type===Ot.type.DC_AL_FINE||this.symbol_type===Ot.type.FINE||this.symbol_type===Ot.type.DC||this.symbol_type===Ot.type.DS_AL_FINE||this.symbol_type===Ot.type.DS||this.symbol_type===Ot.type.FINE)&&(l+=d)}const u=e.getYForTopText(e.options.num_lines)+this.y_shift+25;return o&&Glyph.renderGlyph(a,c,u,40,"v4d",!0),a.fillText(s,l,u+5),a.restore(),this}};class StaveSection extends StaveModifier{static get CATEGORY(){return"stavesection"}constructor(e,r,s){super(),this.setAttribute("type","StaveSection"),this.setWidth(16),this.section=e,this.x=r,this.shift_x=0,this.shift_y=s,this.font={family:"sans-serif",size:12,weight:"bold"}}getCategory(){return StaveSection.CATEGORY}setStaveSection(e){return this.section=e,this}setShiftX(e){return this.shift_x=e,this}setShiftY(e){return this.shift_y=e,this}draw(e,r){const s=e.checkContext();this.setRendered(),s.save(),s.lineWidth=2,s.setFont(this.font.family,this.font.size,this.font.weight);const o=s.measureText(""+this.section),a=o.width;let l=o.height;!l&&o.emHeightAscent>=0&&(l=o.emHeightAscent+2),l||(l=o.fontBoundingBoxAscent+3);let c=a+6;c<18&&(c=18);const u=l+this.font.size/10,d=e.getYForTopText(3)+19-u*1.15+this.shift_y;let g=this.x+r;return s.beginPath(),s.lineWidth=2,s.rect(g,d+l/4,c,u),s.stroke(),g+=(c-a)/2,s.fillText(""+this.section,g,d+u),s.restore(),this}}class StaveTempo extends StaveModifier{static get CATEGORY(){return"stavetempo"}constructor(e,r,s){super(),this.setAttribute("type","StaveTempo"),this.tempo=e,this.position=Modifier.Position.ABOVE,this.x=r,this.shift_x=10,this.shift_y=s,this.font={family:"times",size:14,weight:"bold"},this.render_options={glyph_font_scale:30}}getCategory(){return StaveTempo.CATEGORY}setTempo(e){return this.tempo=e,this}setShiftX(e){return this.shift_x=e,this}setShiftY(e){return this.shift_y=e,this}draw(e,r){const s=e.checkContext();this.setRendered();const o=this.render_options,a=o.glyph_font_scale/38,l=this.tempo.name,c=this.tempo.duration,u=this.tempo.dots,d=this.tempo.bpm,g=this.font;let m=this.x+this.shift_x+r;const y=e.getYForTopText(1)+this.shift_y;if(s.save(),s.openGroup("stavetempo",null,{}),l&&(s.setFont(g.family,g.size,g.weight),s.fillText(l,m,y),m+=s.measureText(l).width),c&&d){s.setFont(g.family,g.size,"normal"),l&&(m+=s.measureText(" ").width,s.fillText("(",m,y),m+=s.measureText("(").width);const b=Flow.getGlyphProps(c);if(m+=3*a,Glyph.renderGlyph(s,m,y,o.glyph_font_scale,b.code_head),m+=b.getWidth()*a,b.stem){let A=30;b.beam_count&&(A+=3*(b.beam_count-1)),A*=a;const S=y-A;s.fillRect(m-a,S,a,A),b.flag&&(Glyph.renderGlyph(s,m,S,o.glyph_font_scale,b.code_flag_upstem),u||(m+=6*a))}for(let A=0;A=e.line?u.above:u.below)}this.placeGlyphOnLine(o,this.stave,e.line),this.glyphs.push(o);const l=this.xPositions[this.xPositions.length-1],c=o.getMetrics().width+a;this.xPositions.push(l+c),this.width+=c}cancelKey(e){return this.formatted=!1,this.cancelKeySpec=e,this}convertToCancelAccList(e){const r=Flow.keySignature(e),s=this.accList.length>0&&r.length>0&&r[0].type!==this.accList[0].type,o=s?r.length:r.length-this.accList.length;if(o<1)return;const a=[];for(let l=0;l0?e[0].type:null;let s;if(this.cancelKeySpec&&(s=this.convertToCancelAccList(this.cancelKeySpec)),this.alterKeySpec&&this.convertToAlterAccList(this.alterKeySpec),this.accList.length>0){const o=(this.position===StaveModifier.Position.END?this.stave.endClef:this.stave.clef)||this.stave.clef;s&&this.convertAccLines(o,s.type,s.accList),this.convertAccLines(o,r,e);for(let a=0;a0){const e=this.stave.context.openGroup("keysignature");for(let r=0;r{const e=i.split("/").filter(r=>r!=="");if(e.length!==2)throw new Vex.RERR("BadTimeSignature",`Invalid time spec: ${i}. Must be in the form "/"`);e.forEach(r=>{if(isNaN(Number(r)))throw new Vex.RERR("BadTimeSignature",`Invalid time spec: ${i}. Must contain two valid numbers.`)})};class TimeSignature extends StaveModifier{static get CATEGORY(){return"timesignatures"}static get glyphs(){return{C:{code:"v41",point:40,line:2},"C|":{code:"vb6",point:40,line:2}}}constructor(e=null,r=15,s=!0){if(super(),this.setAttribute("type","TimeSignature"),this.validate_args=s,e===null)return;const o=r;this.point=40,this.topLine=2,this.bottomLine=4,this.setPosition(StaveModifier.Position.BEGIN),this.setTimeSig(e),this.setWidth(this.timeSig.glyph.getMetrics().width),this.setPadding(o)}getCategory(){return TimeSignature.CATEGORY}parseTimeSpec(e){if(e==="C"||e==="C|"){const{line:o,code:a,point:l}=TimeSignature.glyphs[e];return{line:o,num:!1,glyph:new Glyph(a,l)}}this.validate_args&&assertIsValidFraction(e);const[r,s]=e.split("/").map(o=>o.split(""));return{num:!0,glyph:this.makeTimeSignatureGlyph(r,s)}}makeTimeSignatureGlyph(e,r){const s=new Glyph("v0",this.point);s.topGlyphs=[],s.botGlyphs=[];let o=0;for(let m=0;ma?o:a,c=s.getMetrics().x_min;s.getMetrics=()=>({x_min:c,x_max:c+l,width:l});const u=(l-o)/2,d=(l-a)/2,g=this;return s.renderToStave=function(y){let b=y+u;for(let A=0;Ar.visible).filter(Boolean).length}formatBegModifiers(e){let r=0;e.forEach(s=>{s.getNoteStartX()>r&&(r=s.getNoteStartX())}),e.forEach(s=>{s.setNoteStartX(r)}),r=0,e.forEach(s=>{s.getModifiers(StaveModifier.Position.BEGIN,Barline.CATEGORY).forEach(a=>{a.getType()==Barline.type.REPEAT_BEGIN&&a.getX()>r&&(r=a.getX())})}),e.forEach(s=>{s.getModifiers(StaveModifier.Position.BEGIN,Barline.CATEGORY).forEach(a=>{a.getType()==Barline.type.REPEAT_BEGIN&&a.setX(r)})}),r=0,e.forEach(s=>{s.getModifiers(StaveModifier.Position.BEGIN,TimeSignature.CATEGORY).forEach(a=>{a.getX()>r&&(r=a.getX())})}),e.forEach(s=>{s.getModifiers(StaveModifier.Position.BEGIN,TimeSignature.CATEGORY).forEach(a=>{a.setX(r)})})}getOptions(){return this.options}setNoteStartX(e){return this.formatted||this.format(),this.setStartX(e),this}setStartX(e){this.start_x=e}getNoteStartX(){return this.formatted||this.format(),this.start_x}getNoteEndX(){return this.formatted||this.format(),this.end_x}getTieStartX(){return this.start_x}getTieEndX(){return this.x+this.width}getX(){return this.x}getNumLines(){return this.options.num_lines}setNumLines(e){return this.options.num_lines=parseInt(e,10),this.resetLines(),this}setY(e){return this.y=e,this}getTopLineTopY(){return this.getYForLine(0)-Flow.STAVE_LINE_THICKNESS/2}getBottomLineBottomY(){return this.getLines()===2?this.getYForLine(6)+Flow.STAVE_LINE_THICKNESS/2:this.getYForLine(this.getNumLines()-1)+Flow.STAVE_LINE_THICKNESS/2}setX(e){const r=e-this.x;this.formatted=!1,this.x=e,this.start_x+=r,this.end_x+=r;for(let s=0;ss.getWidth()&&(r-=s.getWidth()),r}setRepetitionTypeLeft(e,r){return this.modifiers.push(new Repetition$1(e,this.x,r)),this}setRepetitionTypeRight(e,r){return this.modifiers.push(new Repetition$1(e,this.x,r)),this}setVoltaType(e,r,s){if(e===2)volta.type===2&&volta.stave.modifiers.push(new Volta(volta.type,volta.number_t,volta.x,volta.y)),volta={stave:this,type:e,number_t:r,MeasureNumber:this.MeasureNumber,y:s,x:this.x};else if(e===4){let o=this.MeasureNumber-volta.MeasureNumber,a=Math.max(volta.y,s);for(let l=0;l<=o;l++)voltaMeasureNumber[volta.MeasureNumber+l]={type:l===0?2:l===o?4:0,number_t:r,y:a};volta={}}else this.modifiers.push(new Volta(e,r,this.x,s));return this}drawVolta(){let e=voltaMeasureNumber[this.MeasureNumber];e&&(this.modifiers.push(new Volta(e.type,e.number_t,this.x,e.y)),delete voltaMeasureNumber[this.MeasureNumber]),volta.type&&volta.MeasureNumber==this.MeasureNumber&&(this.modifiers.push(new Volta(volta.type,volta.number_t,this.x,volta.y)),volta={})}setSection(e,r,s=0,o=12){const a=new StaveSection(e,this.x+s,r);return a.font.size=o,this.modifiers.push(a),this}setTempo(e,r){return this.modifiers.push(new StaveTempo(e,this.x,r)),this}setText(e,r,s){let o=new StaveText(e,r,s);return o.setFont({family:"Arial",size:14,weight:"normal"}),this.modifiers.push(o),this}getHeight(){return this.height}getSpacingBetweenLines(){return this.options.spacing_between_lines_px}getBoundingBox(){return new BoundingBox(this.x,this.y,this.width,this.getBottomY()-this.y)}getBottomY(){const e=this.options,r=e.spacing_between_lines_px;return this.getYForLine(e.num_lines)+e.space_below_staff_ln*r}getBottomLineY(){return this.getYForLine(this.options.num_lines)}getYForLine(e){const r=this.options,s=r.spacing_between_lines_px,o=r.space_above_staff_ln;return this.y+e*s+o*s}getLineForY(e){const r=this.options,s=r.spacing_between_lines_px,o=r.space_above_staff_ln;return(e-this.y)/s-o}getYForTopText(e){const r=e||0;return this.getYForLine(-r-this.options.top_text_position)}getYForBottomText(e){const r=e||0;return this.getYForLine(this.options.bottom_text_position+r)}getYForNote(e){const r=this.options,s=r.spacing_between_lines_px,o=r.space_above_staff_ln;return this.y+o*s+5*s-e*s}getYForGlyphs(){return this.getYForLine(3)}addModifier(e,r,s){return r!==void 0&&e.setPosition(r),s&&(this.timeSignature.numerator=s.numerator,this.timeSignature.denominator=s.denominator),e.setStave(this),this.formatted=!1,this.modifiers.push(e),this}addEndModifier(e){return this.addModifier(e,StaveModifier.Position.END),this}setBegBarType(e){const{SINGLE:r,REPEAT_BEGIN:s,NONE:o}=Barline.type;return(e===r||e===s||e===o)&&(this.modifiers[0].setType(e),this.formatted=!1),this}setEndBarType(e){return e!==Barline.type.REPEAT_BEGIN&&(this.modifiers[1].setType(e),this.formatted=!1),this}setClef(e,r,s,o){o===void 0&&(o=StaveModifier.Position.BEGIN),o===StaveModifier.Position.END?this.endClef=e:this.clef=e;const a=this.getModifiers(o,Clef.CATEGORY);return a.length===0?this.addClef(e,r,s,o):a[0].setType(e,r,s),this}setEndClef(e,r,s){return this.setClef(e,r,s,StaveModifier.Position.END),this}setKeySignature(e,r,s){this.options.keySignature=e,s===void 0&&(s=StaveModifier.Position.BEGIN);const o=this.getModifiers(s,KeySignature.CATEGORY);return o.length===0?this.options.DYMusicScoreType!=="jianpu"&&this.addKeySignature(e,r,s):o[0].setKeySig(e,r),this}setEndKeySignature(e,r){return this.setKeySignature(e,r,StaveModifier.Position.END),this}setTimeSignature(e,r,s){s===void 0&&(s=StaveModifier.Position.BEGIN);const o=this.getModifiers(s,TimeSignature.CATEGORY);return o.length===0?this.addTimeSignature(e,r,s):o[0].setTimeSig(e),this}setEndTimeSignature(e,r){return this.setTimeSignature(e,r,StaveModifier.Position.END),this}addKeySignature(e,r,s){return s===void 0&&(s=StaveModifier.Position.BEGIN),this.addModifier(new KeySignature(e,r).setPosition(s),s),this}addClef(e,r,s,o){return o===void 0||o===StaveModifier.Position.BEGIN?this.clef=e:o===StaveModifier.Position.END&&(this.endClef=e),this.addModifier(new Clef(e,r,s),o),this}addEndClef(e,r,s){return this.addClef(e,r,s,StaveModifier.Position.END),this}addTimeSignature(e,r,s){return this.addModifier(new TimeSignature(e,r),s),this}addEndTimeSignature(e,r){return this.addTimeSignature(e,r,StaveModifier.Position.END),this}addTrebleGlyph(){return this.addClef("treble"),this}getModifiers(e,r){return e===void 0&&r===void 0?this.modifiers:this.modifiers.filter(s=>(e===void 0||e===s.getPosition())&&(r===void 0||r===s.getCategory()))}sortByCategory(e,r){for(let s=e.length-1;s>=0;s--)for(let o=0;or[e[o+1].getCategory()]){const a=e[o];e[o]=e[o+1],e[o+1]=a}}format(){const e=this.modifiers[0],r=this.modifiers[1],s=this.getModifiers(StaveModifier.Position.BEGIN),o=this.getModifiers(StaveModifier.Position.END);this.sortByCategory(s,{barlines:0,clefs:1,keysignatures:2,timesignatures:3}),this.sortByCategory(o,{timesignatures:0,keysignatures:1,barlines:2,clefs:3}),s.length>1&&e.getType()===Barline.type.REPEAT_BEGIN&&(s.push(s.splice(0,1)[0]),s.splice(0,0,new Barline(Barline.type.SINGLE))),o.indexOf(r)>0&&o.splice(0,0,new Barline(Barline.type.NONE));let a,l,c,u=0,d=this.x;for(let y=0;yd?d=b:c.setX(d),d+=a,l+a===0&&u--}d>this.start_x&&this.setStartX(d),d=this.x+this.width;const g={left:0,right:0,paddingRight:0,paddingLeft:0};let m=0;for(let y=0;y{l.includes(u)?c.visible=!0:c.visible=!1})}for(let l=0;lthis.drawStaveTempo()),this.measure>0){this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.weight);const l=this.context.measureText(""+this.measure).width;o=this.getYForTopText(0)+3,this.context.fillText(""+this.measure,this.x-l/2,o),this.context.restore()}return this}drawStaveTempo(){if(!this.staveTempos.length)return;const e=document.querySelector(`#${this.attrs.id}`);if(!e)return;const r=e.parentElement.getBBox(),s=this.getYForLine(0),o=e.parentElement.parentElement.querySelectorAll(".vf-curve");if(o.length){const a=this.x+this.staveTempos[0].shift_x+this.getModifierXShift(0),l=this.getYForTopText(1)+r.y-s+5;o.forEach(c=>{const u=c.getBBox();u.x-10a&&u.y-10l&&(r.y=u.y+5)})}for(let a=0;a1&&(hideTrackTune$1=!0)}}else this.options.keySignature!=_keySignature&&this.setText(`1=${r}`,1,{justification:1,shift_x:50,shift_y:-50});_keySignature=this.options.keySignature}if(this.MeasureNumber>=0&&this.timeSignature.numerator){let r=40,s=0;this.MeasureNumber<2&&(r=70,s=-72),this.setText(`${this.timeSignature.numerator}`,1,{justification:1,shift_x:r,shift_y:s-13}),this.setText("ᅳ",1,{justification:1,shift_x:r+3,shift_y:s-2}),this.setText(`${this.timeSignature.denominator}`,1,{justification:1,shift_x:r,shift_y:s+8})}}drawVertical(e,r){this.drawVerticalFixed(this.x+e,r)}drawVerticalFixed(e,r){this.checkContext();const s=this.getYForLine(0),o=this.getYForLine(this.options.num_lines-1);r&&this.context.fillRect(e-3,s,1,o-s+1),this.context.fillRect(e,s,1,o-s+1)}drawVerticalBar(e){this.drawVerticalBarFixed(this.x+e,!1)}drawVerticalBarFixed(e){this.checkContext();const r=this.getYForLine(0),s=this.getYForLine(this.options.num_lines-1);this.context.fillRect(e,r,1,s-r+1)}getConfigForLines(){return this.options.line_config}setConfigForLine(e,r){if(e>=this.options.num_lines||e<0)throw new Vex.RERR("StaveConfigError","The line number must be within the range of the number of lines in the Stave.");if(r.visible===void 0)throw new Vex.RERR("StaveConfigError","The line configuration object is missing the 'visible' property.");if(typeof r.visible!="boolean")throw new Vex.RERR("StaveConfigError","The line configuration objects 'visible' property must be true or false.");return this.options.line_config[e]=r,this}setConfigForLines(e){if(e.length!==this.options.num_lines)throw new Vex.RERR("StaveConfigError","The length of the lines configuration array must match the number of lines in the Stave");for(const r in e)e[r]||(e[r]=this.options.line_config[r]),Vex.Merge(this.options.line_config[r],e[r]);return this.options.line_config=e,this}}class TabStave extends Stave{constructor(e,r,s,o){const a={spacing_between_lines_px:13,num_lines:6,top_text_position:1};Vex.Merge(a,o),super(e,r,s,a),this.setAttribute("type","TabStave")}getYForGlyphs(){return this.getYForLine(2.5)}addTabGlyph(){return this.addClef("tab"),this}}function getUnusedStringGroups(i,e){const r=[];let s=[];for(let o=1;o<=i;o++)e.indexOf(o)>-1?(r.push(s),s=[]):s.push(o);return s.length>0&&r.push(s),r}function getPartialStemLines(i,e,r,s){const o=s!==1,a=s!==-1,l=r.getSpacingBetweenLines(),c=r.getNumLines(),u=[];return e.forEach(d=>{const g=d.indexOf(c)>-1,m=d.indexOf(1)>-1;if(o&&m||a&&g)return;d.length===1&&d.push(d[0]);const y=[];d.forEach((b,A,S)=>{const E=b===1,x=b===c;let P=r.getYForLine(b-1);A===0&&!E?P-=l/2-1:A===S.length-1&&!x&&(P+=l/2-1),y.push(P),s===1&&E?y.push(i-2):s===-1&&x&&y.push(i+2)}),u.push(y.sort((b,A)=>b-A))}),u}let TabNote$1=class Yi extends StemmableNote{static get CATEGORY(){return"tabnotes"}constructor(e,r){if(super(e),this.setAttribute("type","TabNote"),this.ghost=!1,this.positions=e.positions,Vex.Merge(this.render_options,{glyph_font_scale:Flow.DEFAULT_TABLATURE_FONT_SCALE,draw_stem:r,draw_dots:r,draw_stem_through_stave:!1,y_shift:0,scale:1,font:"10pt Arial"}),this.glyph=Flow.getGlyphProps(this.duration,this.noteType),!this.glyph)throw new Vex.RuntimeError("BadArguments",`Invalid note initialization data (No glyph found): ${JSON.stringify(e)}`);this.buildStem(),e.stem_direction?this.setStemDirection(e.stem_direction):this.setStemDirection(Stem.UP),this.ghost=!1,this.updateWidth()}reset(){this.stave&&this.setStave(this.stave)}getCategory(){return Yi.CATEGORY}setGhost(e){return this.ghost=e,this.updateWidth(),this}hasStem(){return this.render_options.draw_stem}getStemExtension(){const e=this.getGlyph();return this.stem_extension_override!=null?this.stem_extension_override:e?this.getStemDirection()===1?e.tabnote_stem_up_extension:e.tabnote_stem_down_extension:0}addDot(){const e=new Dot;return this.dots+=1,this.addModifier(e,0)}updateWidth(){this.glyphs=[],this.width=0;for(let e=0;ethis.width}setStave(e){super.setStave(e),this.context=e.context;let r;if(this.context){const o=this.context;for(this.width=0,r=0;ra.width),this.width=Math.max(a.getWidth(),this.width)}this.glyph.getWidth=()=>this.width}const s=this.positions.map(({str:o})=>e.getYForLine(o-1));return this.setYs(s),this.stem&&this.stem.setYBounds(this.getStemY(),this.getStemY()),this}getPositions(){return this.positions}addToModifierContext(e){this.setModifierContext(e);for(let r=0;r{e.getCategory()==="dots"&&!this.render_options.draw_dots||(e.setContext(this.context),e.drawWithStyle())})}drawStemThrough(){const e=this.getStemX(),r=this.getStemY(),s=this.context,o=this.render_options.draw_stem_through_stave;if(this.render_options.draw_stem&&o){const l=this.stave.getNumLines(),c=this.positions.map(g=>g.str),u=getUnusedStringGroups(l,c),d=getPartialStemLines(r,u,this.getStave(),this.getStemDirection());s.save(),s.setLineWidth(Stem.WIDTH),d.forEach(g=>{g.length!==0&&(s.beginPath(),s.moveTo(e,g[0]),s.lineTo(e,g[g.length-1]),s.stroke(),s.closePath())}),s.restore()}}drawPositions(){const e=this.context,r=this.getAbsoluteX(),s=this.ys;for(let o=0;oparseInt(o,10)?TabSlide.SLIDE_DOWN:TabSlide.SLIDE_UP}this.slide_direction=r,this.render_options.cp1=11,this.render_options.cp2=14,this.render_options.y_shift=.5,this.setFont({font:"Times",size:10,style:"bold italic"}),this.setNotes(e)}renderTie(e){if(e.first_ys.length===0||e.last_ys.length===0)throw new Vex.RERR("BadArguments","No Y-values to render");const r=this.context,s=e.first_x_px,o=e.first_ys,a=e.last_x_px,l=this.slide_direction;if(l!==TabSlide.SLIDE_UP&&l!==TabSlide.SLIDE_DOWN)throw new Vex.RERR("BadSlide","Invalid slide direction");for(let c=0;cthis.numStrings)throw new Vex.RERR("BadArguments",`String number must be between 1 and ${this.numStrings}:${e}`);return this.tuningValues[r-1]}getValueForFret(e,r){const s=this.getValueForString(r),o=parseInt(e,10);if(o<0)throw new Vex.RERR("BadArguments","Fret number must be 0 or higher: "+e);return s+o}getNoteForFret(e,r){const s=this.getValueForFret(e,r),o=Math.floor(s/12),a=s%12;return Flow.integerToNote(a)+"/"+o}}class KeyManager{constructor(e){this.music=new Music,this.setKey(e)}setKey(e){return this.key=e,this.reset(),this}getKey(){return this.key}reset(){if(this.keyParts=this.music.getKeyParts(this.key),this.keyString=this.keyParts.root,this.keyParts.accidental&&(this.keyString+=this.keyParts.accidental),!Music.scaleTypes[this.keyParts.type])throw new Vex.RERR("BadArguments",`Unsupported key type: ${this.key}`);this.scale=this.music.getScaleTones(this.music.getNoteValue(this.keyString),Music.scaleTypes[this.keyParts.type]),this.scaleMap={},this.scaleMapByValue={},this.originalScaleMapByValue={};const r=Music.root_indices[this.keyParts.root];for(let s=0;s{const s=TextDynamics.GLYPHS[r];if(!s)throw new Vex.RERR("Invalid dynamics character: "+r);const o=this.render_options.glyph_font_size,a=new Glyph(s.code,o);this.glyphs.push(a),e+=s.width}),this.setWidth(e),this.preFormatted=!0,this}draw(){this.setRendered();const e=this.getAbsoluteX(),r=this.stave.getYForLine(this.line+-3);L$7("Rendering Dynamics: ",this.sequence);let s=e;this.glyphs.forEach((o,a)=>{const l=this.sequence[a];o.render(this.context,s,r),s+=TextDynamics.GLYPHS[l].width})}}function drawArrowHead(i,e,r,s,o,a,l){i.beginPath(),i.moveTo(e,r),i.lineTo(s,o),i.lineTo(a,l),i.lineTo(e,r),i.closePath(),i.fill()}function drawArrowLine(i,e,r,s){const o=s.draw_start_arrow&&s.draw_end_arrow,a=e.x,l=e.y,c=r.x,u=r.y,d=Math.sqrt((c-a)*(c-a)+(u-l)*(u-l)),g=(d-s.arrowhead_length/3)/d;let m,y,b,A;s.draw_end_arrow||o?(m=Math.round(a+(c-a)*g),y=Math.round(l+(u-l)*g)):(m=c,y=u),s.draw_start_arrow||o?(b=a+(c-a)*(1-g),A=l+(u-l)*(1-g)):(b=a,A=l),s.color&&(i.setStrokeStyle(s.color),i.setFillStyle(s.color)),i.beginPath(),i.moveTo(b,A),i.lineTo(m,y),i.stroke(),i.closePath();const S=Math.atan2(u-l,c-a),E=Math.abs(s.arrowhead_length/Math.cos(s.arrowhead_angle));let x,P,C,T,k,I;(s.draw_end_arrow||o)&&(x=S+Math.PI+s.arrowhead_angle,C=c+Math.cos(x)*E,T=u+Math.sin(x)*E,P=S+Math.PI-s.arrowhead_angle,k=c+Math.cos(P)*E,I=u+Math.sin(P)*E,drawArrowHead(i,C,T,c,u,k,I)),(s.draw_start_arrow||o)&&(x=S+s.arrowhead_angle,C=a+Math.cos(x)*E,T=l+Math.sin(x)*E,P=S-s.arrowhead_angle,k=a+Math.cos(P)*E,I=l+Math.sin(P)*E,drawArrowHead(i,C,T,a,l,k,I))}class StaveLine extends Element$1{static get TextVerticalPosition(){return{TOP:1,BOTTOM:2}}static get TextJustification(){return{LEFT:1,CENTER:2,RIGHT:3}}constructor(e){super(),this.setAttribute("type","StaveLine"),this.notes=e,this.text="",this.font={family:"Arial",size:10,weight:""},this.render_options={padding_left:4,padding_right:3,line_width:1,line_dash:null,rounded_end:!0,color:null,draw_start_arrow:!1,draw_end_arrow:!1,arrowhead_length:10,arrowhead_angle:Math.PI/8,text_position_vertical:StaveLine.TextVerticalPosition.TOP,text_justification:StaveLine.TextJustification.CENTER},this.setNotes(e)}setFont(e){return this.font=e,this}setText(e){return this.text=e,this}setNotes(e){if(!e.first_note&&!e.last_note)throw new Vex.RuntimeError("BadArguments","Notes needs to have either first_note or last_note set.");if(e.first_indices||(e.first_indices=[0]),e.last_indices||(e.last_indices=[0]),e.first_indices.length!==e.last_indices.length)throw new Vex.RuntimeError("BadArguments","Connected notes must have similar index sizes");return this.first_note=e.first_note,this.first_indices=e.first_indices,this.last_note=e.last_note,this.last_indices=e.last_indices,this}applyLineStyle(){const e=this.checkContext(),r=this.render_options;r.line_dash&&e.setLineDash(r.line_dash),r.line_width&&e.setLineWidth(r.line_width),r.rounded_end?e.setLineCap("round"):e.setLineCap("square")}applyFontStyle(){const e=this.checkContext();this.font&&e.setFont(this.font.family,this.font.size,this.font.weight),this.render_options.color&&(e.setStrokeStyle(this.render_options.color),e.setFillStyle(this.render_options.color))}draw(){const e=this.checkContext();this.setRendered();const r=this.first_note,s=this.last_note,o=this.render_options;e.save(),this.applyLineStyle();let a,l;this.first_indices.forEach((y,b)=>{const A=this.last_indices[b];a=r.getModifierStartXY(2,y),l=s.getModifierStartXY(1,A);const S=a.y>l.y;a.x+=r.getMetrics().modRightPx+o.padding_left,l.x-=s.getMetrics().modLeftPx+o.padding_right;const E=r.getGlyph().getWidth();r.getKeyProps()[y].displaced&&r.getStemDirection()===1&&(a.x+=E+o.padding_left),s.getKeyProps()[A].displaced&&s.getStemDirection()===-1&&(l.x-=E+o.padding_right),a.y+=S?-3:1,l.y+=S?2:0,drawArrowLine(e,a,l,this.render_options)}),e.restore();const c=e.measureText(this.text).width,u=o.text_justification;let d=0;u===StaveLine.TextJustification.LEFT?d=a.x:u===StaveLine.TextJustification.CENTER?d=(l.x-a.x)/2+a.x-c/2:u===StaveLine.TextJustification.RIGHT&&(d=l.x-c);let g;const m=o.text_position_vertical;return m===StaveLine.TextVerticalPosition.TOP?g=r.getStave().getYForTopText():m===StaveLine.TextVerticalPosition.BOTTOM&&(g=r.getStave().getYForBottomText(Flow.TEXT_HEIGHT_OFFSET_HACK)),e.save(),this.applyFontStyle(),e.fillText(this.text,d,g),e.restore(),this}}function L$6(...i){PedalMarking.DEBUG&&Vex.L("Vex.Flow.PedalMarking",i)}function drawPedalGlyph(i,e,r,s,o){const a=PedalMarking.GLYPHS[i];new Glyph(a.code,o).render(e,r+a.x_shift,s+a.y_shift)}class PedalMarking extends Element$1{static get GLYPHS(){return{pedal_depress:{code:"v36",x_shift:-10,y_shift:0},pedal_release:{code:"v5d",x_shift:-2,y_shift:3}}}static get Styles(){return{TEXT:1,BRACKET:2,MIXED:3,MIXED_OPEN_END:4,BRACKET_OPEN_BEGIN:5,BRACKET_OPEN_END:6,BRACKET_OPEN_BOTH:7}}static get StylesString(){return{text:PedalMarking.Styles.TEXT,bracket:PedalMarking.Styles.BRACKET,mixed:PedalMarking.Styles.MIXED,mixed_open_end:PedalMarking.Styles.MIXED_OPEN_END,bracket_open_begin:PedalMarking.Styles.BRACKET_OPEN_BEGIN,bracket_open_end:PedalMarking.Styles.BRACKET_OPEN_END,bracket_open_both:PedalMarking.Styles.BRACKET_OPEN_BOTH}}static createSustain(e){return new PedalMarking(e)}static createSostenuto(e){const r=new PedalMarking(e);return r.setStyle(PedalMarking.Styles.MIXED),r.setCustomText("Sost. Ped."),r}static createUnaCorda(e){const r=new PedalMarking(e);return r.setStyle(PedalMarking.Styles.TEXT),r.setCustomText("una corda","tre corda"),r}constructor(e){super(),this.setAttribute("type","PedalMarking"),this.EndsStave=!1,this.ChangeBegin=!1,this.ChangeEnd=!1,this.notes=e,this.style=PedalMarking.TEXT,this.line=0,this.custom_depress_text="",this.custom_release_text="",this.font={family:"Times New Roman",size:12,weight:"italic bold"},this.render_options={bracket_height:10,text_margin_right:6,bracket_line_width:1,glyph_point_size:40,color:"black"}}setEndStave(e){if(this.endStave=e,this.endStaveAddedWidth=0,this.startMargin=0,this.endMargin=0,Array.isArray(this.endStave.modifiers))for(let r=0;r3)throw new Vex.RERR("InvalidParameter","The style must be one found in PedalMarking.Styles");return this.style=e,this}setLine(e){return this.line=e,this}drawBracketed(){const e=this.context;let r=!1,s,o;const a=this;this.notes.forEach((l,c,u)=>{r=!r;let d=0;if(l?(d=l.getNoteHeadBeginX(),this.BeginsStave&&(d=l.getStave().getNoteStartX())):d=this.endStave.end_x+this.endStaveAddedWidth,this.EndsStave)r?this.ChangeBegin&&(d=l.getAbsoluteX()):(l?this.ChangeEnd?d=l.getAbsoluteX():d=l.getStave().end_x+this.endStaveAddedWidth-a.render_options.text_margin_right:d=this.endStave.end_x+this.endStaveAddedWidth-a.render_options.text_margin_right,this.endMargin=-a.render_options.text_margin_right);else if(l)if(r)this.ChangeBegin&&(d=l.getAbsoluteX());else switch(a.style){case PedalMarking.Styles.BRACKET_OPEN_END:case PedalMarking.Styles.BRACKET_OPEN_BOTH:case PedalMarking.Styles.MIXED_OPEN_END:d=l.getNoteHeadEndX();break;default:this.ChangeEnd?d=l.getAbsoluteX():(d=l.getNoteHeadBeginX()-a.render_options.text_margin_right,this.startMargin=-a.render_options.text_margin_right);break}let g=this.endStave;l&&(g=l.getStave());let m=g.getYForBottomText(a.line+3);o&&o>m&&(m=o);const y=u[c+1]===l,b=u[c-1]===l;let A=0;if(r)if(A=b?5:0,(a.style===PedalMarking.Styles.MIXED||a.style===PedalMarking.Styles.MIXED_OPEN_END)&&!b)if(a.custom_depress_text){const S=e.measureText(a.custom_depress_text).width;e.fillText(a.custom_depress_text,d-S/2,m),A=S/2+a.render_options.text_margin_right}else drawPedalGlyph("pedal_depress",e,d,m,a.render_options.glyph_point_size),A=20+a.render_options.text_margin_right;else e.beginPath(),a.style===PedalMarking.Styles.BRACKET_OPEN_BEGIN||a.style===PedalMarking.Styles.BRACKET_OPEN_BOTH?e.moveTo(d+A,m):(this.ChangeBegin&&(d+=5),e.moveTo(d,m-a.render_options.bracket_height),this.ChangeBegin&&(d+=5),e.lineTo(d+A,m)),e.stroke(),e.closePath();else A=y&&!this.EndsStave?-5:0,e.beginPath(),e.moveTo(s,o),e.lineTo(d+A,m),a.style!==PedalMarking.Styles.BRACKET_OPEN_END&&a.style!==PedalMarking.Styles.MIXED_OPEN_END&&a.style!==PedalMarking.Styles.BRACKET_OPEN_BOTH&&(this.ChangeEnd&&(d+=5),e.lineTo(d,m-a.render_options.bracket_height)),e.stroke(),e.closePath();s=d+A,o=m})}drawText(){const e=this.context;let r=!1;const s=this,o=s.render_options.glyph_point_size;this.notes.forEach(a=>{if(!a)return;r=!r;const l=a.getStave(),c=a.getAbsoluteX(),u=l.getYForBottomText(s.line+3);let d=0;r?s.custom_depress_text?(d=e.measureText(s.custom_depress_text).width,e.fillText(s.custom_depress_text,c-d/2,u)):drawPedalGlyph("pedal_depress",e,c,u,o):s.custom_release_text?(d=e.measureText(s.custom_release_text).width,e.fillText(s.custom_release_text,c-d/2,u)):drawPedalGlyph("pedal_release",e,c,u,o)})}draw(){const e=this.checkContext();this.setRendered(),e.save(),e.setStrokeStyle(this.render_options.color),e.setFillStyle(this.render_options.color),e.setFont(this.font.family,this.font.size,this.font.weight),L$6("Rendering Pedal Marking"),this.style===PedalMarking.Styles.BRACKET||this.style===PedalMarking.Styles.MIXED||this.style===PedalMarking.Styles.MIXED_OPEN_END||this.style===PedalMarking.Styles.BRACKET_OPEN_BEGIN||this.style===PedalMarking.Styles.BRACKET_OPEN_END||this.style===PedalMarking.Styles.BRACKET_OPEN_BOTH?(e.setLineWidth(this.render_options.bracket_line_width),this.drawBracketed()):this.style===PedalMarking.Styles.TEXT&&this.drawText(),e.restore()}}function L$5(...i){TextBracket.DEBUG&&Vex.L("Vex.Flow.TextBracket",i)}class TextBracket extends Element$1{static get Positions(){return{TOP:1,BOTTOM:-1}}static get PositionString(){return{top:TextBracket.Positions.TOP,bottom:TextBracket.Positions.BOTTOM}}constructor({start:e,stop:r,text:s="",superscript:o="",position:a=TextBracket.Positions.TOP}){super(),this.setAttribute("type","TextBracket"),this.start=e,this.stop=r,this.text=s,this.superscript=o,this.position=typeof a=="string"?TextBracket.PositionString[a]:a,this.line=1,this.font={family:"Serif",size:15,weight:"italic"},this.render_options={dashed:!0,dash:[5],color:"black",line_width:1,show_bracket:!0,bracket_height:8,underline_superscript:!0}}applyStyle(e){return e.setFont(this.font.family,this.font.size,this.font.weight),e.setStrokeStyle(this.render_options.color),e.setFillStyle(this.render_options.color),e.setLineWidth(this.render_options.line_width),this}setDashed(e,r){return this.render_options.dashed=e,r&&(this.render_options.dash=r),this}setFont(e){return this.font={...this.font,...e},this}setLine(e){return this.line=e,this}draw(){const e=this.context;this.setRendered();let r=0;switch(this.position){case TextBracket.Positions.TOP:r=this.start.getStave().getYForTopText(this.line);break;case TextBracket.Positions.BOTTOM:r=this.start.getStave().getYForBottomText(this.line+Flow.TEXT_HEIGHT_OFFSET_HACK);break;default:throw new Vex.RERR("InvalidPosition",`The position ${this.position} is invalid`)}const s={x:this.start.getAbsoluteX(),y:r},o={x:this.stop.getAbsoluteX(),y:r};L$5("Rendering TextBracket: start:",s,"stop:",o,"y:",r);const a=this.render_options.bracket_height*this.position;e.save(),this.applyStyle(e),e.fillText(this.text,s.x,s.y);let l=e.measureText(this.text).width;l>0||(l=10*this.text.length);let c=e.measureText("M").width;c>0||(c=20);const u=s.y-c/2.5;e.setFont(this.font.family,this.font.size/1.4,this.font.weight),e.fillText(this.superscript,s.x+l+1,u);let d=e.measureText(this.superscript).width;d>0||(d=12,this.superscript.includes("m")&&(d+=5));let g=e.measureText("M").width;g>0||(g=10);let m=s.x,y=u,b=o.x+this.stop.getGlyph().getWidth();this.position===TextBracket.Positions.TOP?(m+=l+d+5,y-=g/2.7):this.position===TextBracket.Positions.BOTTOM&&(y+=g/2.7,m+=l+2,this.render_options.underline_superscript||(m+=d)),this.render_options.dashed?(b0||r===!0;return r&&!(a>0)&&(this.pos=o),c?this.matchSuccess():this.matchFail(o),{success:c,results:s,numMatches:a}}expectZeroOrMore(e){return this.expectOneOrMore(e,!0)}expect(e){L$2("Evaluating rules:",e);let r;if(!e)throw new X$2("Invalid Rule: "+e,e);const s=e.bind(this.grammar)();if(s.token)r=this.matchToken(s.token,s.noSpace===!0),r.success&&(this.pos+=r.incrementPos);else if(s.expect)s.oneOrMore?r=this.expectOneOrMore(s):s.zeroOrMore?r=this.expectZeroOrMore(s):r=this.expectOne(s);else throw new X$2("Bad grammar! No `token` or `expect` property",s);return r.matches=[],r.results&&r.results.forEach(o=>r.matches.push(flattenMatches(o))),s.run&&r.success&&s.run(r),r}}function L$1(...i){EasyScore.DEBUG&&Vex.L("Vex.Flow.EasyScore",i)}const X$1=Vex.MakeException("EasyScoreError");class Grammar{constructor(e){this.builder=e}begin(){return this.LINE}LINE(){return{expect:[this.PIECE,this.PIECES,this.EOL]}}PIECE(){return{expect:[this.CHORDORNOTE,this.PARAMS],run:()=>this.builder.commitPiece()}}PIECES(){return{expect:[this.COMMA,this.PIECE],zeroOrMore:!0}}PARAMS(){return{expect:[this.DURATION,this.TYPE,this.DOTS,this.OPTS]}}CHORDORNOTE(){return{expect:[this.CHORD,this.SINGLENOTE],or:!0}}CHORD(){return{expect:[this.LPAREN,this.NOTES,this.RPAREN],run:e=>this.builder.addChord(e.matches[1])}}NOTES(){return{expect:[this.NOTE],oneOrMore:!0}}NOTE(){return{expect:[this.NOTENAME,this.ACCIDENTAL,this.OCTAVE]}}SINGLENOTE(){return{expect:[this.NOTENAME,this.ACCIDENTAL,this.OCTAVE],run:e=>this.builder.addSingleNote(e.matches[0],e.matches[1],e.matches[2])}}ACCIDENTAL(){return{expect:[this.ACCIDENTALS],maybe:!0}}DOTS(){return{expect:[this.DOT],zeroOrMore:!0,run:e=>this.builder.setNoteDots(e.matches[0])}}TYPE(){return{expect:[this.SLASH,this.MAYBESLASH,this.TYPES],maybe:!0,run:e=>this.builder.setNoteType(e.matches[2])}}DURATION(){return{expect:[this.SLASH,this.DURATIONS],maybe:!0,run:e=>this.builder.setNoteDuration(e.matches[1])}}OPTS(){return{expect:[this.LBRACKET,this.KEYVAL,this.KEYVALS,this.RBRACKET],maybe:!0}}KEYVALS(){return{expect:[this.COMMA,this.KEYVAL],zeroOrMore:!0}}KEYVAL(){const e=r=>r.slice(1,-1);return{expect:[this.KEY,this.EQUALS,this.VAL],run:r=>this.builder.addNoteOption(r.matches[0],e(r.matches[2]))}}VAL(){return{expect:[this.SVAL,this.DVAL],or:!0}}KEY(){return{token:"[a-zA-Z][a-zA-Z0-9]*"}}DVAL(){return{token:'["][^"]*["]'}}SVAL(){return{token:"['][^']*[']"}}NOTENAME(){return{token:"[a-gA-G]"}}OCTAVE(){return{token:"[0-9]+"}}ACCIDENTALS(){return{token:"bbs|bb|bss|bs|b|db|d|##|#|n|\\+\\+-|\\+-|\\+\\+|\\+|k|o"}}DURATIONS(){return{token:"[0-9whq]+"}}TYPES(){return{token:"[rRsSxX]"}}LPAREN(){return{token:"[(]"}}RPAREN(){return{token:"[)]"}}COMMA(){return{token:"[,]"}}DOT(){return{token:"[.]"}}SLASH(){return{token:"[/]"}}MAYBESLASH(){return{token:"[/]?"}}EQUALS(){return{token:"[=]"}}LBRACKET(){return{token:"\\["}}RBRACKET(){return{token:"\\]"}}EOL(){return{token:"$"}}}class Builder{constructor(e){this.factory=e,this.commitHooks=[],this.reset()}reset(e={}){this.options={stem:"auto",clef:"treble"},this.elements={notes:[],accidentals:[]},this.rollingDuration="8",this.resetPiece(),Object.assign(this.options,e)}getFactory(){return this.factory}getElements(){return this.elements}addCommitHook(e){this.commitHooks.push(e)}resetPiece(){L$1("resetPiece"),this.piece={chord:[],duration:this.rollingDuration,dots:0,type:void 0,options:{}}}setNoteDots(e){L$1("setNoteDots:",e),e&&(this.piece.dots=e.length)}setNoteDuration(e){L$1("setNoteDuration:",e),this.rollingDuration=this.piece.duration=e||this.rollingDuration}setNoteType(e){L$1("setNoteType:",e),e&&(this.piece.type=e)}addNoteOption(e,r){L$1("addNoteOption: key:",e,"value:",r),this.piece.options[e]=r}addNote(e,r,s){L$1("addNote:",e,r,s),this.piece.chord.push({key:e,accid:r,octave:s})}addSingleNote(e,r,s){L$1("addSingleNote:",e,r,s),this.addNote(e,r,s)}addChord(e){L$1("startChord"),typeof e[0]!="object"?this.addSingleNote(e[0]):e.forEach(r=>{r&&this.addNote(...r)}),L$1("endChord")}commitPiece(){L$1("commitPiece");const{factory:e}=this;if(!e)return;const r={...this.options,...this.piece.options},{stem:s,clef:o}=r,a=s.toLowerCase()==="auto",l=!a&&s.toLowerCase()==="up"?StaveNote.STEM_UP:StaveNote.STEM_DOWN,{chord:c,duration:u,dots:d,type:g}=this.piece,m=c.map(A=>A.key+"/"+A.octave),y=e.StaveNote({keys:m,duration:u,dots:d,type:g,clef:o,auto_stem:a});a||y.setStemDirection(l);const b=c.map(A=>A.accid||null);b.forEach((A,S)=>{A&&y.addAccidental(S,e.Accidental({type:A}))});for(let A=0;AA(r,y,this)),this.elements.notes.push(y),this.elements.accidentals.concat(b),this.resetPiece()}}function setId({id:i},e){i!==void 0&&e.setAttribute("id",i)}function setClass(i,e){if(!i.class)return;const r=/\s*,\s*/;i.class.split(r).forEach(s=>e.addClass(s))}class EasyScore{constructor(e={}){this.setOptions(e),this.defaults={clef:"treble",time:"4/4",stem:"auto"}}set(e){return Object.assign(this.defaults,e),this}setOptions(e){return this.options={factory:null,builder:null,commitHooks:[setId,setClass,Articulation$1.easyScoreHook],throwOnError:!1,...e},this.factory=this.options.factory,this.builder=this.options.builder||new Builder(this.factory),this.grammar=new Grammar(this.builder),this.parser=new Parser(this.grammar),this.options.commitHooks.forEach(r=>this.addCommitHook(r)),this}setContext(e){return this.factory&&this.factory.setContext(e),this}parse(e,r={}){this.builder.reset(r);const s=this.parser.parse(e);if(!s.success&&this.options.throwOnError)throw new X$1("Error parsing line: "+e,s);return s}beam(e,r={}){return this.factory.Beam({notes:e,options:r}),e}tuplet(e,r={}){return this.factory.Tuplet({notes:e,options:r}),e}notes(e,r={}){return r={clef:this.defaults.clef,stem:this.defaults.stem,...r},this.parse(e,r),this.builder.getElements().notes}voice(e,r){return r={time:this.defaults.time,...r},this.factory.Voice(r).addTickables(e)}addCommitHook(e){return this.builder.addCommitHook(e)}}function initGroup(){return{notes:[],finish:!1,total:0,staveId:""}}let _text_width=null,tone="C",group=initGroup(),_denominator="",_numerator="",ornamentGroup="";class NumberedNote extends StaveNote{static get CATEGORY(){return"numberednotes"}static accidentalAndKey(e){switch(e){case"G":return{4:"#"};case"D":return{1:"#",4:"#"};case"A":return{1:"#",4:"#",5:"#"};case"E":return{1:"#",2:"#",4:"#",5:"#"};case"B":return{1:"#",2:"#",4:"#",5:"#",6:"#"};case"F#":return{1:"#",2:"#",3:"#",4:"#",5:"#",6:"#"};case"C#":return{1:"#",2:"#",3:"#",4:"#",5:"#",6:"#",7:"#"};case"F":return{7:"b"};case"Bb":return{7:"b",3:"b"};case"Eb":return{7:"b",3:"b",6:"b"};case"Ab":return{7:"b",2:"b",3:"b",6:"b"};case"Db":return{7:"b",2:"b",3:"b",5:"b",6:"b"};case"Gb":return{7:"b",1:"b",2:"b",3:"b",5:"b",6:"b"};case"Cb":return{7:"b",1:"b",2:"b",3:"b",4:"b",5:"b",6:"b"};default:return{}}}static accidentalMap(e){switch(e){case"C":return"";case"F":case"Bb":case"Eb":case"Ab":case"Db":case"Gb":case"Cb":return{bb:"b",b:"",n:"#","#":"##"};default:return{b:"bb",n:"b","#":"","##":"#"}}}static get noteLift(){switch(tone){case"G":return["7"];case"D":return["7","3"];case"A":return["7","3","6"];case"E":return["2","6","3","7"];case"B":return["5","2","6","3","7"];case"F#":return["1","5","2","6","3","7"];case"C#":return["4","1","5","2","6","3","7"];case"F":return["4"];case"Bb":return["1","4"];case"Eb":return["5","1","4"];case"Ab":return["2","5","1","4"];case"Db":return["6","2","5","1","4"];case"Gb":return["3","6","2","5","1","4"];case"Cb":return["7","3","6","2","5","1","4"]}}static get longDurationLine(){return{1:3,2:1,6:2}}static get numberedDurationLine(){return{8:1,16:2,32:3,64:4,128:5}}static get durationTime(){return{8:6144,4:4096}}constructor(e){super(e),this.setAttribute("type","NumberedNote"),tone=e.keyString,this.ornament=!!e.ornament,this.line=0,this.keys=e.keys||[],this.fontSize=20,this.offset_x=0,this.offset_y=0,this.note_tones=[],this.duration_lines=0,this.long_duration_lines=0,this.note_size=e.note_size||16;const r=Flow.sanitizeDuration(this.duration);var s=NumberedNote.numberedDurationLine[r.toString()];if(s&&(this.duration_lines=s),s=NumberedNote.longDurationLine[r.toString()],s&&(this.long_duration_lines=s),!_text_width){var o="__$text_wraper$$__";let l=document.createElement("canvas");l.id=o,document.body.append(l);const c=document.getElementById(o),u=c.getContext("2d");u.font="Arial 22px";var a=u.measureText("5");_text_width=a.width+2,document.body.removeChild(c)}}getCategory(){return NumberedNote.CATEGORY}setKeySignature(e){this.keySignature=e}preFormat(){this.preFormatted||(this.modifierContext&&this.modifierContext.preFormat(),this.setWidth(this.full_width),this.setPreFormatted(!0))}filterNote(){if(window&&window.sett&&window.sett.keySignature||!this.keys||!this.keys.length)return;const e=NumberedNote.accidentalMap(tone);if(!e)return;const r=NumberedNote.noteLift;if(!r)return;var s=this.keys[0].split("/"),o=s[0];o==="b"&&(o="R"),o=o.replace(new RegExp("#","g"),""),o=o.replace(new RegExp("n","g"),""),o.length>1&&(o=o.replace(new RegExp("b","g"),""));const a=NumberedNoteHead.numberedNotationMapping[o.toUpperCase()];if(r.includes(a))for(let l=0;l{switch(s.getAttribute("type")){case"Accidental":s.render_options.font_scale=this.note_width*1.4,s.x_shift=2,s.y_shift=this.unit_height/2,this.ornament&&(s.render_options.font_scale=this.note_width,s.x_shift=14,s.y_shift=-10);break;case"Stroke":s.x_shift=-1*e,s.y_shift=1*this.unit_height;break;case"Dot":s.x_shift=r*this.duration_dot_width+7,s.y_shift=1*this.unit_height,r++;break;case"Ornament":s.y_shift=-3;break;default:s.y_shift=1*this.unit_height}s.reset&&s.reset(),e+=s.getWidth()/2})}handleDeleteDot(){for(let e=0;ec),s=r.length?r[0]/r[1]:0;if(this.ornament)return;if(s===0)return this.long_duration_lines=this.intrinsicTicks/e-1,this.long_duration_lines>=_numerator&&(this.long_duration_lines=_numerator-1),_denominator==8&&(this.long_duration_lines=0,_numerator==3&&this.draw_dot(this.context,this.bottom_x+25,this.bottom_y-30,this.dot_width),_numerator==6&&(this.draw_dot(this.context,this.bottom_x+25,this.bottom_y-30,this.dot_width),new Glyph("v0",40).render(this.context,this.bottom_x+40,this.top_y),this.draw_dot(this.context,this.bottom_x+65,this.bottom_y-30,this.dot_width))),group=initGroup();let o={lines:this.duration_lines,duration:s,id:this.attrs.id,x:this.x-this.duration_line_space/2-this.left_width,y:this.y,width:this.full_width};s>e*2&&(this.long_duration_lines=parseInt(s/e)-1,this.handleDeleteDot()),ornamentGroup&&(o.x+=this.note_width),group.notes.push(o);let a=group.notes.reduce((c,u)=>c+u.duration,0);a=parseInt(a),a>e&&(a-=e),a>e-10&&au.lines===0).length&&(this.drawDurationLoneLine(),group=initGroup()))}draw(){if(this.checkContext(),!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");let e=this.context;e.save(),e.setFont("Arial",this.note_height,"normal"),this.setAttribute("el",e.openGroup("stavenote",this.getAttribute("id"))),e.openGroup("note",null,{pointerBBox:!0});let r=this.getAbsoluteX()+2.5;this.x=r;let s=this.stave.getYForLine(2)+this.note_height/2;this.y=s,this.buildToneHeads(),this.preFormatModifier(),this.applyStyle(),this.note_tones.forEach(o=>{o!=null&&o.key.includes("X2")?o.draw(e,"isX"):o.draw(e)}),e.openGroup("modifier",null,{pointerBBox:!0}),this.drawModifiers(),e.closeGroup(),e.closeGroup(),e.closeGroup(),this.calcGroup(),group.staveId=this.stave.attrs.id,this.drawDurationLine(e,{}),this.drawLongDurationLines(e),this.restoreStyle(),this.setRendered(),this.ornament?ornamentGroup?ornamentGroup=Object.assign(ornamentGroup,{lines:this.duration_lines,id:this.attrs.id,x:this.x-this.duration_line_space/2-this.left_width,width:this.full_width}):ornamentGroup={lines:this.duration_lines,id:this.attrs.id,x:this.x-this.duration_line_space/2-this.left_width,width:this.full_width}:ornamentGroup=""}drawDurationLoneLine(e,r){e=e||this.context;let s=r||this.y+this.duration_line_space;for(let o=0;o<5;o++){let a=[],l=0;for(let c=0;co)a.push(u),l++;else{if(a.length>1){let d=a.length-1;s=a[0].y+this.duration_line_space,e.rect(a[0].x,s+o*3,a[d].x-a[0].x+a[d].width,.5)}a=[],l=c+1}}if(a.length>1){let c=a.length-1;s=a[0].y+this.duration_line_space,e.rect(a[0].x,s+o*3,a[c].x-a[0].x+a[c].width,.5)}}}draw_dot(e,r,s,o){e.openGroup("numbered-note-dot"),e.beginPath(),e.arc(r,s,o,0,2*Math.PI),e.closePath(),e.fill(),e.closeGroup()}drawDurationLine(e,r){var s=this.attrs.id+"-lines";e.openGroup("numbered_note_lines",s);var o,a;if(this.duration_lines>0){const u=this.duration_line_space;var l=this.full_width;if(r&&r.width&&(l=r.width),l<0&&(l=this.note_width),!r||typeof r.startX>"u"?o=this.x-u/2-this.left_width:o=r.startX,!r||typeof r.startY>"u"?a=this.y+this.duration_line_space:a=r.startY,group.finish&&(this.drawDurationLoneLine(e,a),group=initGroup()),this.ornament?(o+=12,a-=22,l=15,ornamentGroup&&(o-=10,l+=10)):ornamentGroup&&(o+=this.note_width,l-=this.note_width),l>0){for(var c=0;cu.getAttribute("type")==="Dot"),l=this.modifiers.findIndex(u=>u.getAttribute("type")==="Accidental"),c=this.modifiers.findIndex(u=>u.getAttribute("type")==="GraceNoteGroup");o&&l>-1?this.modifiers[l].accidental.code=o==="#"?"v18":"v44":a>=0||c>=0?a>=0&&this.modifiers.splice(a+1,1):this.modifiers.splice(l,1)}}catch(o){console.log("🚀 ~ error",o)}}this.setYs(e)}getFullWidth(){return this.full_width}getFullHeight(){return this.full_height}getLine(){return this.keyProps[0].line}get full_width(){return this.note_width+this.left_width+this.right_width+this.long_duration_line_width}get long_duration_line_width(){return(this.long_duration_width+this.long_duration_space)*this.long_duration_lines}get full_height(){return this.bottom_y-this.top_y}get note_width(){return this.note_size||0}get note_dot_width(){return 6}get note_height(){return this.unit_height}get unit_height(){return this.note_size||0}get note_x(){return this.x||0}get top_x(){return this.x||0}get top_y(){var e=this;return(this.y||0)-(e.note_tones.map(s=>(s.td+s.bd)*(e.dot_space+e.dot_width)).reduce((s,o)=>s+o,0)+this.note_height*this.note_tones.length-this.unit_height-this.note_tones[0].bd*(e.dot_space+e.dot_width)+(this.note_tones.length-1)*this.head_space)}get bottom_x(){return this.x||0}get bottom_y(){return(this.y||0)+this.unit_height+this.duration_lines*(this.duration_line_height+this.duration_line_space)+this.note_tones[0].meta.bd*(this.dot_width+this.dot_space)}get left_width(){return this.modifiers_width}get right_width(){return this.full_duration_dot_width}get duration_dot_width(){return 6}get full_duration_dot_width(){return this.duration_dot_width*this.getModifiersByCategory(Dot.CATEGORY).length}getModifiersByCategory(e){var r=[];return this.modifiers.forEach(s=>{s.getCategory()===e&&r.push(s)}),r}get head_space(){return 6}get duration_line_height(){return 2}get duration_line_space(){return 4}get dot_width(){return 2}get dot_space(){return 2}get long_duration_space(){return 10}get long_duration_width(){return 20}getWidth(){return this.full_width}get modifiers_width(){let e=0;return this.modifiers.forEach(r=>{e+=r.getWidth()}),e}}class NumberedNoteHead{static get numberedNotationMapping(){let e=tone;switch(window&&window.sett&&window.sett.keySignature&&(e="C"),e){case"A":return{C:"3",D:"4",E:"5",F:"6",G:"7",A:"1",B:"2",R:"0",X:"x",min:2.5,max:5.5};case"B":return{C:"2",D:"3",E:"4",F:"5",G:"6",A:"7",B:"1",R:"0",X:"x",min:-.5,max:2.5};case"D":return{C:"7",D:"1",E:"2",F:"3",G:"4",A:"5",B:"6",R:"0",X:"x",min:.5,max:3.5};case"E":return{C:"6",D:"7",E:"1",F:"2",G:"3",A:"4",B:"5",R:"0",X:"x",min:1,max:4};case"F":return{C:"5",D:"6",E:"7",F:"1",G:"2",A:"3",B:"4",R:"0",X:"x",min:1.5,max:4.5};case"G":case"Gb":return{C:"4",D:"5",E:"6",F:"7",G:"1",A:"2",B:"3",R:"0",X:"x",min:2,max:5};case"Eb":return{C:"6",D:"7",E:"1",F:"2",G:"3",A:"4",B:"5",R:"0",X:"x",min:1,max:4};case"D#":case"Db":return{C:"7",D:"1",E:"2",F:"3",G:"4",A:"5",B:"6",R:"0",X:"x",min:.5,max:3.5};case"F#":return{C:"5",D:"6",E:"7",F:"1",G:"2",A:"3",B:"4",R:"0",X:"x",min:1.5,max:4.5};case"Ab":case"G#":return{C:"3",D:"4",E:"5",F:"6",G:"7",A:"1",B:"2",R:"0",X:"x",min:-1,max:2};case"Bb":case"A#":return{C:"2",D:"3",E:"4",F:"5",G:"6",A:"7",B:"1",R:"0",X:"x",min:-.5,max:2.5};case"C#":case"Cb":default:return{C:"1",D:"2",E:"3",F:"4",G:"5",A:"6",B:"7",R:"0",X:"x",min:0,max:3}}}tone_to_numbered_key(){var e=this.key.split("/"),r=e[0];r==="b"&&(r="R"),r=r.replace(new RegExp("#","g"),""),r=r.replace(new RegExp("n","g"),""),r.length>1&&(r=r.replace(new RegExp("b","g"),"")),e.includes("X2")&&(r="X");let s=0,o=0;this.note.stave&&this.note.stave.options&&this.note.stave.options.keySignature&&(tone=this.note.stave.options.keySignature);const a=this.note.getLine();return aNumberedNoteHead.numberedNotationMapping.max&&(o=Math.ceil((a-NumberedNoteHead.numberedNotationMapping.max)/3.5)),r.toUpperCase()==="R"&&(s=0,o=0),{key:NumberedNoteHead.numberedNotationMapping[r.toUpperCase()],td:o,bd:s}}constructor(e){this.key=e.key,this.x=e.x||0,this.y=e.y||0,this.idx=e.idx||0,this.note=e.note||0,this.meta=this.tone_to_numbered_key(),this.noteSize=e.noteSize||16,this.td=this.meta.td,this.bd=this.meta.bd}draw(e,r){let s=this.y;r&&r==="isX"?e.openGroup("numbered-note-head","","","isX"):e.openGroup("numbered-note-head");var o=this.x+(this.note.ornament?-2:0);let a=s-this.note.unit_height-this.note.dot_space-(this.note.ornament?-4:2);for(let c=0;c1&&(u-=this.note.duration_line_space),s+=u}this.draw_dot(e,o+_text_width,s,this.note.dot_width),s+=this.note.dot_width+this.note.dot_space}e.closeGroup()}get height(){return this.note.note_height+(this.meta.bd+this.meta.td)*(this.note.dot_width+this.note.dot_space)}draw_dot(e,r,s,o){e.openGroup("numbered-note-dot"),e.beginPath(),e.arc(r,s,o,0,2*Math.PI),e.closePath(),e.fill(),e.closeGroup()}}function L(...i){Factory.DEBUG&&Vex.L("Vex.Flow.Factory",i)}const X=Vex.MakeException("FactoryError");function setDefaults$1(i={},e){const r=e.options;return i=Object.assign(e,i),i.options=Object.assign(r,i.options),i}class Factory{constructor(e){L("New factory: ",e);const r={stave:{space:10},renderer:{context:null,elementId:"",backend:Renderer.Backends.SVG,width:500,height:200,background:"#FFF"},font:{face:"Arial",point:10,style:""}};this.options=r,this.setOptions(e)}static newFromElementId(e,r=500,s=200){return new Factory({renderer:{elementId:e,width:r,height:s}})}reset(){this.renderQ=[],this.systems=[],this.staves=[],this.voices=[],this.stave=null}getOptions(){return this.options}setOptions(e){for(const r of["stave","renderer","font"])Object.assign(this.options[r],e[r]);(this.options.renderer.elementId!==null||this.options.renderer.context)&&this.initRenderer(),this.reset()}initRenderer(){const{elementId:e,backend:r,width:s,height:o,background:a}=this.options.renderer;if(e==="")throw new X("HTML DOM element not set in Factory");this.context=Renderer.buildContext(e,r,s,o,a)}getContext(){return this.context}setContext(e){return this.context=e,this}getStave(){return this.stave}getVoices(){return this.voices}space(e){return this.options.stave.space*e}Stave(e){e=setDefaults$1(e,{x:0,y:0,width:this.options.renderer.width-this.space(1),options:{spacing_between_lines_px:this.options.stave.space}});const r=new Stave(e.x,e.y,e.width,e.options);return this.staves.push(r),r.setContext(this.context),this.stave=r,r}TabStave(e){e=setDefaults$1(e,{x:0,y:0,width:this.options.renderer.width-this.space(1),options:{spacing_between_lines_px:this.options.stave.space*1.3}});const r=new TabStave(e.x,e.y,e.width,e.options);return this.staves.push(r),r.setContext(this.context),this.stave=r,r}StaveNote(e){const r=new StaveNote(e);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}GhostNote(e){const r=new GhostNote(e);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}TextNote(e){const r=new TextNote(e);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}NumberedNote(e){const r=new NumberedNote(e);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}BarNote(e){e=setDefaults$1(e,{type:"single",options:{}});const r=new BarNote(e.type);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}ClefNote(e){e=setDefaults$1(e,{type:"treble",options:{size:"default"}});const r=new ClefNote(e.type,e.options.size,e.options.annotation);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}TimeSigNote(e){e=setDefaults$1(e,{time:"4/4",options:{}});const r=new TimeSigNote(e.time);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}KeySigNote(e){const r=new KeySigNote(e.key,e.cancelKey,e.alterKey);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}TabNote(e){const r=new TabNote$1(e);return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}GraceNote(e){const r=new GraceNote(e);return this.stave&&r.setStave(this.stave),r.setContext(this.context),r}GraceNoteGroup(e){const r=new GraceNoteGroup(e.notes,e.slur);return r.setContext(this.context),r}Accidental(e){e=setDefaults$1(e,{type:null,options:{}});const r=new Accidental(e.type);return r.setContext(this.context),r}Annotation(e){e=setDefaults$1(e,{text:"p",vJustify:"below",hJustify:"center",fontFamily:"Times",fontSize:14,fontWeight:"bold italic",options:{}});const r=new Annotation(e.text);return r.setJustification(e.hJustify),r.setVerticalJustification(e.vJustify),r.setFont(e.fontFamily,e.fontSize,e.fontWeight),r.setContext(this.context),r}Articulation(e){e=setDefaults$1(e,{type:"a.",position:"above",options:{}});const r=new Articulation$1(e.type);return r.setPosition(e.position),r.setContext(this.context),r}TextDynamics(e){e=setDefaults$1(e,{text:"p",duration:"q",dots:0,line:0,options:{}});const r=new TextDynamics({text:e.text,line:e.line,duration:e.duration,dots:e.dots});return this.stave&&r.setStave(this.stave),r.setContext(this.context),this.renderQ.push(r),r}Fingering(e){e=setDefaults$1(e,{number:"0",position:"left",options:{}});const r=new FretHandFinger(e.number);return r.setPosition(e.position),r.setContext(this.context),r}StringNumber(e){e=setDefaults$1(e,{number:"0",position:"left",options:{}});const r=new StringNumber(e.number);return r.setPosition(e.position),r.setContext(this.context),r}TickContext(){return new TickContext().setContext(this.context)}ModifierContext(){return new ModifierContext}MultiMeasureRest(e){const r=new MultiMeasureRest(e.number_of_measures,e);return r.setContext(this.context),this.renderQ.push(r),r}Voice(e){e=setDefaults$1(e,{time:"4/4",options:{}});const r=new Voice$1(e.time);return this.voices.push(r),r}StaveConnector(e){e=setDefaults$1(e,{top_stave:null,bottom_stave:null,type:"double",options:{}});const r=new StaveConnector(e.top_stave,e.bottom_stave);return r.setType(e.type).setContext(this.context),this.renderQ.push(r),r}Formatter(){return new Formatter}Tuplet(e){e=setDefaults$1(e,{notes:[],options:{}});const r=new Tuplet$1(e.notes,e.options).setContext(this.context);return this.renderQ.push(r),r}Beam(e){e=setDefaults$1(e,{notes:[],options:{autoStem:!1,secondaryBeamBreaks:[]}});const r=new Beam$1(e.notes,e.options.autoStem).setContext(this.context);return r.breakSecondaryAt(e.options.secondaryBeamBreaks),this.renderQ.push(r),r}Curve(e){e=setDefaults$1(e,{from:null,to:null,options:{}});const r=new Curve(e.from,e.to,e.options).setContext(this.context);return this.renderQ.push(r),r}StaveTie(e){e=setDefaults$1(e,{from:null,to:null,first_indices:[0],last_indices:[0],text:null,options:{direction:void 0}});const r=new StaveTie({first_note:e.from,last_note:e.to,first_indices:e.first_indices,last_indices:e.last_indices},e.text);return e.options.direction&&r.setDirection(e.options.direction),r.setContext(this.context),this.renderQ.push(r),r}StaveLine(e){e=setDefaults$1(e,{from:null,to:null,first_indices:[0],last_indices:[0],options:{}});const r=new StaveLine({first_note:e.from,last_note:e.to,first_indices:e.first_indices,last_indices:e.last_indices});return e.options.text&&r.setText(e.options.text),e.options.font&&r.setFont(e.options.font),r.setContext(this.context),this.renderQ.push(r),r}VibratoBracket(e){e=setDefaults$1(e,{from:null,to:null,options:{harsh:!1}});const r=new VibratoBracket({start:e.from,stop:e.to});return e.options.line&&r.setLine(e.options.line),e.options.harsh&&r.setHarsh(e.options.harsh),r.setContext(this.context),this.renderQ.push(r),r}TextBracket(e){e=setDefaults$1(e,{from:null,to:null,text:"",options:{superscript:"",position:1}});const r=new TextBracket({start:e.from,stop:e.to,text:e.text,superscript:e.options.superscript,position:e.options.position});return e.options.line&&r.setLine(e.options.line),e.options.font&&r.setFont(e.options.font),r.setContext(this.context),this.renderQ.push(r),r}System(e={}){e.factory=this;const r=new System(e).setContext(this.context);return this.systems.push(r),r}EasyScore(e={}){return e.factory=this,new EasyScore(e)}PedalMarking(e={}){e=setDefaults$1(e,{notes:[],options:{style:"mixed"}});const r=new PedalMarking(e.notes);return r.setStyle(PedalMarking.StylesString[e.options.style]),r.setContext(this.context),this.renderQ.push(r),r}NoteSubGroup(e={}){e=setDefaults$1(e,{notes:[],options:{}});const r=new NoteSubGroup$1(e.notes);return r.setContext(this.context),r}draw(){this.systems.forEach(e=>e.setContext(this.context).format()),this.staves.forEach(e=>e.setContext(this.context).draw()),this.voices.forEach(e=>e.setContext(this.context).draw()),this.renderQ.forEach(e=>{e.isRendered()||e.setContext(this.context).draw()}),this.systems.forEach(e=>e.setContext(this.context).draw()),this.reset()}}function setDefaults(i,e){const r=e.options;return i=Object.assign(e,i),i.options=Object.assign(r,i.options),i}class System extends Element$1{constructor(e={}){super(),this.setAttribute("type","System"),this.setOptions(e),this.parts=[]}setOptions(e={}){this.options=setDefaults(e,{x:10,y:10,width:500,connector:null,spaceBetweenStaves:12,factory:null,debugFormatter:!1,formatIterations:0,options:{}}),this.factory=this.options.factory||new Factory({renderer:{el:null}})}setContext(e){return super.setContext(e),this.factory.setContext(e),this}addConnector(e="double"){return this.connector=this.factory.StaveConnector({top_stave:this.parts[0].stave,bottom_stave:this.parts[this.parts.length-1].stave,type:e}),this.connector}addStave(e){return e=setDefaults(e,{stave:null,voices:[],spaceAbove:0,spaceBelow:0,debugNoteMetrics:!1,options:{left_bar:!1}}),e.stave||(e.stave=this.factory.Stave({x:this.options.x,y:this.options.y,width:this.options.width,options:e.options})),e.voices.forEach(r=>r.setContext(this.context).setStave(e.stave).getTickables().forEach(s=>s.setStave(e.stave))),this.parts.push(e),e.stave}format(){const e=new Formatter;this.formatter=e;let r=this.options.y,s=0,o=[];const a=[];this.parts.forEach(c=>{r=r+c.stave.space(c.spaceAbove),c.stave.setY(r),e.joinVoices(c.voices),r=r+c.stave.space(c.spaceBelow),r=r+c.stave.space(this.options.spaceBetweenStaves),c.debugNoteMetrics&&(a.push({y:r,voice:c.voices[0]}),r+=15),o=o.concat(c.voices),s=Math.max(s,c.stave.getNoteStartX())}),this.parts.forEach(c=>c.stave.setNoteStartX(s));const l=this.options.width-(s-this.options.x)-Note.STAVEPADDING;e.format(o,l);for(let c=0;c{r.voice.getTickables().forEach(s=>Note.plotMetrics(e,s,r.y))})}}Vex.Flow=Flow;Vex.Flow.Element=Element$1;Vex.Flow.Fraction=Fraction;Vex.Flow.Renderer=Renderer;Vex.Flow.Formatter=Formatter;Vex.Flow.Music=Music;Vex.Flow.Glyph=Glyph;Vex.Flow.Stave=Stave;Vex.Flow.StaveNote=StaveNote;Vex.Flow.StaveModifier=StaveModifier;Vex.Flow.StaveTempo=StaveTempo;Vex.Flow.Voice=Voice$1;Vex.Flow.Accidental=Accidental;Vex.Flow.Beam=Beam$1;Vex.Flow.StaveTie=StaveTie;Vex.Flow.TabStave=TabStave;Vex.Flow.TabNote=TabNote$1;Vex.Flow.Bend=Bend;Vex.Flow.Vibrato=Vibrato;Vex.Flow.VibratoBracket=VibratoBracket;Vex.Flow.Note=Note;Vex.Flow.ModifierContext=ModifierContext;Vex.Flow.MultiMeasureRest=MultiMeasureRest;Vex.Flow.TickContext=TickContext;Vex.Flow.Articulation=Articulation$1;Vex.Flow.Annotation=Annotation;Vex.Flow.Barline=Barline;Vex.Flow.NoteHead=NoteHead;Vex.Flow.StaveConnector=StaveConnector;Vex.Flow.ClefNote=ClefNote;Vex.Flow.KeySignature=KeySignature;Vex.Flow.KeySigNote=KeySigNote;Vex.Flow.TimeSignature=TimeSignature;Vex.Flow.TimeSigNote=TimeSigNote;Vex.Flow.Stem=Stem;Vex.Flow.TabTie=TabTie;Vex.Flow.Clef=Clef;Vex.Flow.Dot=Dot;Vex.Flow.Modifier=Modifier;Vex.Flow.TabSlide=TabSlide;Vex.Flow.Tuplet=Tuplet$1;Vex.Flow.GraceNote=GraceNote;Vex.Flow.GraceTabNote=GraceTabNote;Vex.Flow.Tuning=Tuning;Vex.Flow.KeyManager=KeyManager;Vex.Flow.StaveHairpin=StaveHairpin;Vex.Flow.BoundingBox=BoundingBox;Vex.Flow.Stroke=Stroke;Vex.Flow.TextNote=TextNote;Vex.Flow.Curve=Curve;Vex.Flow.TextDynamics=TextDynamics;Vex.Flow.StaveLine=StaveLine;Vex.Flow.Ornament=Ornament;Vex.Flow.PedalMarking=PedalMarking;Vex.Flow.TextBracket=TextBracket;Vex.Flow.FretHandFinger=FretHandFinger;Vex.Flow.Repetition=Repetition$1;Vex.Flow.BarNote=BarNote;Vex.Flow.GhostNote=GhostNote;Vex.Flow.NoteSubGroup=NoteSubGroup$1;Vex.Flow.GraceNoteGroup=GraceNoteGroup;Vex.Flow.Tremolo=Tremolo;Vex.Flow.StringNumber=StringNumber;Vex.Flow.Crescendo=Crescendo;Vex.Flow.Volta=Volta;Vex.Flow.Font=Font;Vex.Flow.System=System;Vex.Flow.Factory=Factory;Vex.Flow.Parser=Parser;Vex.Flow.EasyScore=EasyScore;Vex.Flow.Registry=Registry;var SystemLinesEnum=(i=>(i[i.SingleThin=0]="SingleThin",i[i.DoubleThin=1]="DoubleThin",i[i.ThinBold=2]="ThinBold",i[i.BoldThinDots=3]="BoldThinDots",i[i.DotsThinBold=4]="DotsThinBold",i[i.DotsBoldBoldDots=5]="DotsBoldBoldDots",i[i.None=6]="None",i[i.Dotted=7]="Dotted",i[i.Dashed=8]="Dashed",i[i.Bold=9]="Bold",i[i.BoldThin=10]="BoldThin",i[i.DoubleBold=11]="DoubleBold",i[i.Tick=12]="Tick",i[i.Short=13]="Short",i))(SystemLinesEnum||{});class SystemLinesEnumHelper{static xmlBarlineStyleToSystemLinesEnum(e){return e==="regular"?0:e==="dotted"?7:e==="dashed"?8:e==="heavy"?9:e==="light-light"?1:e==="light-heavy"?2:e==="heavy-light"?10:e==="heavy-heavy"?11:e==="tick"?12:e==="short"?13:e==="none"?6:0}}class Matrix2D{constructor(){this.matrix=[];for(let e=0;e<2;e++){this.matrix[e]=[];for(let r=0;r<2;r++)this.matrix[e][r]=0}}static getRotationMatrix(e){const r=new Matrix2D,s=Math.cos(e),o=Math.sin(e);return r.matrix[0][0]=s,r.matrix[0][1]=-o,r.matrix[1][0]=o,r.matrix[1][1]=s,r}scalarMultiplication(e){for(let r=0;r<2;r++)for(let s=0;s<2;s++)this.matrix[r][s]*=e}getTransposeMatrix(){const e=new Matrix2D;for(let r=0;r<2;r++)for(let s=0;s<2;s++)e.matrix[r][s]=this.matrix[s][r];return e}vectorMultiplication(e){const r=new PointF2D;return r.x=e.x*this.matrix[0][0]+e.y*this.matrix[0][1],r.y=e.x*this.matrix[1][0]+e.y*this.matrix[1][1],r}}class MusicSheetErrors{constructor(){this.measureErrors={},this.errors=[],this.tempErrors=[]}finalizeMeasure(e){let r=this.measureErrors[e];r||(r=[]),this.measureErrors[e]=r.concat(this.tempErrors),this.tempErrors=[]}pushMeasureError(e){this.tempErrors.push(e)}push(e){this.errors.push(e)}}class Arpeggio{constructor(e,r=7){this.parentVoiceEntry=e,this.type=r,this.notes=[]}addNote(e){this.notes.push(e),e.Arpeggio=this}}var ArpeggioType=(i=>(i[i.BRUSH_DOWN=1]="BRUSH_DOWN",i[i.BRUSH_UP=2]="BRUSH_UP",i[i.ROLL_DOWN=3]="ROLL_DOWN",i[i.ROLL_UP=4]="ROLL_UP",i[i.RASQUEDO_DOWN=5]="RASQUEDO_DOWN",i[i.RASQUEDO_UP=6]="RASQUEDO_UP",i[i.ARPEGGIO_DIRECTIONLESS=7]="ARPEGGIO_DIRECTIONLESS",i))(ArpeggioType||{});class Beam{constructor(e=1,r=0){this.notes=[],this.extendedNoteList=[],this.BeamNumberOffsetToXML=0,this.AutoGenerated=!1,this.BeamNumber=e,this.BeamNumberOffsetToXML=r}get Notes(){return this.notes}set Notes(e){this.notes=e}get ExtendedNoteList(){return this.extendedNoteList}set ExtendedNoteList(e){this.extendedNoteList=e}addNoteToBeam(e){e&&(e.NoteBeam=this,this.notes.push(e),this.extendedNoteList.push(e))}}class Glissando{constructor(e){this.notes=[],this.XMLNumber=1,this.AddNote(e),this.StartNote=e,this.Direction=ColDirEnum.NotYetDefined}get Notes(){return this.notes}get Duration(){const e=new Fraction$1;for(const r of this.notes)e.Add(r.Length);return e}get Pitch(){return this.StartNote.Pitch}AddNote(e){this.notes.push(e),e.NoteGlissando=this,this.notes.length===2&&(this.notes[0].Pitch.getHalfTone()2:(loglevelExports.warn("notehead: sourceNote and filledXmlAttribute undefined."),s=!0)),this.filled=s}get SourceNote(){return this.sourceNote}get Shape(){return this.shape}get Filled(){return this.filled}static ShapeTypeXmlToShape(e){switch(e.toLowerCase()){case"normal":return 2;case"x":return 8;case"slash":return 4;case"diamond":return 1;case"square":return 5;case"la":return 5;case"do":case"triangle":return 6;case"inverted triangle":return 7;case"rectangle":return 3;case"circle-x":return 0;default:return loglevelExports.info("unsupported/unhandled xml notehead '"+e+"'. Using normal notehead."),2}}}var NoteHeadShape=(i=>(i[i.CIRCLEX=0]="CIRCLEX",i[i.DIAMOND=1]="DIAMOND",i[i.NORMAL=2]="NORMAL",i[i.RECTANGLE=3]="RECTANGLE",i[i.SLASH=4]="SLASH",i[i.SQUARE=5]="SQUARE",i[i.TRIANGLE=6]="TRIANGLE",i[i.TRIANGLE_INVERTED=7]="TRIANGLE_INVERTED",i[i.X=8]="X",i))(NoteHeadShape||{});class ITextTranslation{static translateText(e,r){if(!this.defaultTextTranslation)return r}}var NoteType=(i=>(i[i.UNDEFINED=0]="UNDEFINED",i[i._1024th=1]="_1024th",i[i._512th=2]="_512th",i[i._256th=3]="_256th",i[i._128th=4]="_128th",i[i._64th=5]="_64th",i[i._32nd=6]="_32nd",i[i._16th=7]="_16th",i[i.EIGTH=8]="EIGTH",i[i.QUARTER=9]="QUARTER",i[i.HALF=10]="HALF",i[i.WHOLE=11]="WHOLE",i[i.BREVE=12]="BREVE",i[i.LONG=13]="LONG",i[i.MAXIMA=14]="MAXIMA",i))(NoteType||{});class NoteTypeHandler{static NoteTypeToString(e){return this.NoteTypeXmlValues[e]}static StringToNoteType(e){const r=this.NoteTypeXmlValues.indexOf(e);return r!==-1?r:0}static getNoteDurationFromType(e){switch(e){case"1024th":return new Fraction$1(1,1024);case"512th":return new Fraction$1(1,512);case"256th":return new Fraction$1(1,256);case"128th":return new Fraction$1(1,128);case"64th":return new Fraction$1(1,64);case"32th":case"32nd":return new Fraction$1(1,32);case"16th":return new Fraction$1(1,16);case"eighth":return new Fraction$1(1,8);case"quarter":return new Fraction$1(1,4);case"half":return new Fraction$1(1,2);case"whole":return new Fraction$1(1,1);case"breve":return new Fraction$1(2,1);case"long":return new Fraction$1(4,1);case"maxima":return new Fraction$1(8,1);default:{const r=ITextTranslation.translateText("ReaderErrorMessages/NoteDurationError","Invalid note duration.");throw new MusicSheetReadingException(r)}}}}NoteTypeHandler.NoteTypeXmlValues=["","1024th","512th","256th","128th","64th","32nd","16th","eigth","quarter","half","whole","breve","long","maxima"];class OrnamentContainer{constructor(e){this.placement=PlacementEnum.Above,this.accidentalAbove=AccidentalEnum.NONE,this.accidentalBelow=AccidentalEnum.NONE,this.ornament=e}get GetOrnament(){return this.ornament}get AccidentalAbove(){return this.accidentalAbove}set AccidentalAbove(e){this.accidentalAbove=e}get AccidentalBelow(){return this.accidentalBelow}set AccidentalBelow(e){this.accidentalBelow=e}}var OrnamentEnum=(i=>(i[i.Trill=0]="Trill",i[i.Turn=1]="Turn",i[i.InvertedTurn=2]="InvertedTurn",i[i.DelayedTurn=3]="DelayedTurn",i[i.DelayedInvertedTurn=4]="DelayedInvertedTurn",i[i.Mordent=5]="Mordent",i[i.InvertedMordent=6]="InvertedMordent",i))(OrnamentEnum||{});class VerticalSourceStaffEntryContainer{constructor(e,r,s){this.staffEntries=[],this.comments=[],this.timestamp=r,this.staffEntries=new Array(s),this.parentMeasure=e}$get$(e){return this.staffEntries[e]}$set$(e,r){this.staffEntries[e]=r}get Timestamp(){return this.timestamp}set Timestamp(e){this.timestamp=e}get StaffEntries(){return this.staffEntries}set StaffEntries(e){this.staffEntries=e}get Comments(){return this.comments}set Comments(e){this.comments=e}get ParentMeasure(){return this.parentMeasure}set ParentMeasure(e){this.parentMeasure=e}getAbsoluteTimestamp(){return Fraction$1.plus(this.timestamp,this.parentMeasure.AbsoluteTimestamp)}}class SourceStaffEntry{constructor(e,r){this.voiceEntries=[],this.instructions=[],this.chordSymbolContainers=[],this.verticalContainerParent=e,this.parentStaff=r}get ParentStaff(){return this.parentStaff}get VerticalContainerParent(){return this.verticalContainerParent}get Timestamp(){if(this.VerticalContainerParent)return this.VerticalContainerParent.Timestamp}get AbsoluteTimestamp(){if(this.VerticalContainerParent)return Fraction$1.plus(this.VerticalContainerParent.ParentMeasure.AbsoluteTimestamp,this.VerticalContainerParent.Timestamp)}get VoiceEntries(){return this.voiceEntries}set VoiceEntries(e){this.voiceEntries=e}get Link(){return this.staffEntryLink}set Link(e){this.staffEntryLink=e}get Instructions(){return this.instructions}set Instructions(e){this.instructions=e}get ChordContainers(){return this.chordSymbolContainers}set ChordContainers(e){this.chordSymbolContainers=e}removeAllInstructionsOfTypeClefInstruction(){let e=0,r=0;for(;e0)return!0;return!1}hasTie(){for(let e=0,r=this.VoiceEntries.length;er.parentRepetition.StartIndex)return-1}if(e.alignment===0&&r.alignment===0){if(e.parentRepetition.EndIndexr.parentRepetition.EndIndex)return-1}}return 0}}class RepetitionInstruction{constructor(e,r,s=1,o=void 0,a=void 0){this.endingIndices=void 0,this.measureIndex=e,a&&(this.endingIndices=a.slice()),this.type=r,this.alignment=s,this.parentRepetition=o}CompareTo(e){const r=e;if(this.measureIndex>r.measureIndex)return 1;if(this.measureIndex(i[i.StartLine=0]="StartLine",i[i.ForwardJump=1]="ForwardJump",i[i.BackJumpLine=2]="BackJumpLine",i[i.Ending=3]="Ending",i[i.DaCapo=4]="DaCapo",i[i.DalSegno=5]="DalSegno",i[i.Fine=6]="Fine",i[i.ToCoda=7]="ToCoda",i[i.DalSegnoAlFine=8]="DalSegnoAlFine",i[i.DaCapoAlFine=9]="DaCapoAlFine",i[i.DalSegnoAlCoda=10]="DalSegnoAlCoda",i[i.DaCapoAlCoda=11]="DaCapoAlCoda",i[i.Coda=12]="Coda",i[i.Segno=13]="Segno",i[i.None=14]="None",i))(RepetitionInstructionEnum||{}),AlignmentType=(i=>(i[i.Begin=0]="Begin",i[i.End=1]="End",i))(AlignmentType||{});let prevSourceMeasure=null;class SourceMeasure{constructor(e,r){this.printNewSystemXml=!1,this.printNewPageXml=!1,this.IsSystemStartMeasure=!1,this.hasLyrics=!1,this.hasMoodExpressions=!1,this.allRests=!1,this.isReducedToMultiRest=!1,this.multipleRestMeasureNumber=0,this.staffLinkedExpressions=[],this.tempoExpressions=[],this.verticalSourceStaffEntryContainers=[],this.graphicalMeasureErrors=[],this.firstRepetitionInstructions=[],this.lastRepetitionInstructions=[],this.metronomeNoteIndex=0,this.WasRendered=!1,this.completeNumberOfStaves=e,this.implicitMeasure=!1,this.hasEndLine=!1,this.endingBarStyleXml="",this.endingBarStyleEnum=SystemLinesEnum.SingleThin,this.firstInstructionsStaffEntries=new Array(e),this.lastInstructionsStaffEntries=new Array(e),this.rules=r,this.TempoInBPM=0;for(let s=0;s1)return e[this.measureListIndex-1]}get Rules(){return this.rules}get VerticalMeasureList(){return this.verticalMeasureList}set VerticalMeasureList(e){this.verticalMeasureList=e}get TempoInBPM(){return this.tempoInBPM}set TempoInBPM(e){this.tempoInBPM=e}findOrCreateStaffEntry(e,r,s){let o,a;for(const c of this.verticalSourceStaffEntryContainers)if(c.Timestamp.Equals(e)){a=c;break}if(a)return a.StaffEntries[r]?o=a.StaffEntries[r]:(o=new SourceStaffEntry(a,s),a.StaffEntries[r]=o),{createdNewContainer:!1,staffEntry:o};const l=this.verticalSourceStaffEntryContainers[this.verticalSourceStaffEntryContainers.length-1];if(this.verticalSourceStaffEntryContainers.length===0||l.Timestamp.lt(e)){const c=new VerticalSourceStaffEntryContainer(this,e.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.push(c),o=new SourceStaffEntry(c,s),c.StaffEntries[r]=o}else for(let c=this.verticalSourceStaffEntryContainers.length-1;c>=0;c--){if(this.verticalSourceStaffEntryContainers[c].Timestamp.lt(e)){const u=new VerticalSourceStaffEntryContainer(this,e.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.splice(c+1,0,u),o=new SourceStaffEntry(u,s),u.StaffEntries[r]=o;break}if(c===0){const u=new VerticalSourceStaffEntryContainer(this,e.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.splice(c,0,u),o=new SourceStaffEntry(u,s),u.StaffEntries[r]=o;break}}return{createdNewContainer:!0,staffEntry:o}}findOrCreateVoiceEntry(e,r){let s,o=!1;for(const a of e.VoiceEntries)if(a.ParentVoice===r){s=a;break}return s||(s=new VoiceEntry(e.Timestamp,r,e),o=!0),{createdVoiceEntry:o,voiceEntry:s}}getPreviousSourceStaffEntryFromIndex(e,r){for(let s=r-1;s>=0;s--)if(this.verticalSourceStaffEntryContainers[s][e])return this.verticalSourceStaffEntryContainers[s][e]}getVerticalContainerIndexByTimestamp(e){for(let r=0,s=this.VerticalSourceStaffEntryContainers.length;r=0;m--){const y=this.verticalSourceStaffEntryContainers[m][c+u];if(y!==void 0&&y.hasTie()&&l.lt(Fraction$1.plus(y.Timestamp,y.calculateMaxNoteLength()))){l=Fraction$1.plus(y.Timestamp,y.calculateMaxNoteLength());break}}}}o.push(l)}for(let a=0,l=o.length;a0)return!0}return!1}beginsWithLineRepetition(){for(let e=0,r=this.FirstRepetitionInstructions.length;e=0;o--)if(s=this.verticalSourceStaffEntryContainers[o].StaffEntries[e],s&&(!r||s.VoiceEntries.length>0))return s}canBeReducedToMultiRest(){var s,o,a,l,c,u;if(this.firstRepetitionInstructions.length>0||this.lastRepetitionInstructions.length>0)return!1;let e=!0,r=!1;for(const d of this.verticalSourceStaffEntryContainers)if(d){for(const g of d.StaffEntries)if(!(!g||!g.ParentStaff.ParentInstrument.Visible)){if(g.ChordContainers.length>0)return!1;g.ParentStaff.hasLyrics&&(r=!0);for(const m of g.VoiceEntries){for(const y of m.Notes)if(!y.isRest()){e=!1;break}if(!e)break}}}if(!e||r||this.hasMoodExpressions||this.tempoExpressions.length>0)return!1;for(const d of this.staffLinkedExpressions)if(d.length>0)return!1;for(const d of this.lastInstructionsStaffEntries)for(let g=0,m=d==null?void 0:d.Instructions.length;g=0;r--)for(let s=0;s(i[i.Fingering=0]="Fingering",i[i.String=1]="String",i))(TechnicalInstructionType||{});class TechnicalInstruction{}class PlaybackNote{constructor(e,r){this.parentEntry=e,this.parentNote=r,this.ParentNote.PlaybackNote=this,this.Length=this.ParentNote.Length,r.Pitch!==void 0?this.ParentNote.ParentStaff.ParentInstrument.MidiInstrumentId===MidiInstrument.Percussion?this.MidiKey=PlaybackNote.noteToMidiDrumKey(r):this.MidiKey=r.Pitch.getHalfTone()+12:this.MidiKey=0}setLength(){this.ParentNote.NoteTie!==void 0&&this.ParentNote.NoteTie.StartNote===this.ParentNote&&(this.Length=this.ParentNote.NoteTie.Duration)}get ParentEntry(){return this.parentEntry}get ParentNote(){return this.parentNote}static noteToMidiDrumKey(e){var o;const r=e.Pitch.getHalfTone()-12,s=(o=e.Notehead)==null?void 0:o.Shape;switch(e.Pitch.Octave){case 1:switch(e.Pitch.FundamentalNote){case NoteEnum.D:switch(s){default:return 44}case NoteEnum.E:switch(s){default:return 35}case NoteEnum.F:switch(s){default:return 36}case NoteEnum.G:switch(s){default:return 41}case NoteEnum.A:switch(s){default:return 43}case NoteEnum.B:switch(s){case NoteHeadShape.TRIANGLE:return 54;default:return 47}default:return r}case 2:switch(e.Pitch.FundamentalNote){case NoteEnum.C:switch(s){case NoteHeadShape.X:return 37;default:return 38}case NoteEnum.D:switch(s){case NoteHeadShape.X:return 59;default:return 48}case NoteEnum.E:switch(s){case NoteHeadShape.X:return 42;case NoteHeadShape.CIRCLEX:return 46;case NoteHeadShape.TRIANGLE:return 56;default:return 50}case NoteEnum.F:switch(s){case NoteHeadShape.DIAMOND:return 53;default:return 51}case NoteEnum.G:switch(s){case NoteHeadShape.CIRCLEX:case NoteHeadShape.DIAMOND:return 46;default:return 42}case NoteEnum.A:switch(s){default:return 49}case NoteEnum.B:switch(s){default:return 57}default:return r}case 3:switch(e.Pitch.FundamentalNote){case NoteEnum.C:switch(s){case NoteHeadShape.CIRCLEX:return 52;default:return 55}default:return r}default:return r}}}class PlaybackEntry{constructor(e){this.notes=[],this.TimestampShift=new Fraction$1,this.parentVoiceEntry=e;for(const r of e.Notes)this.Notes.push(new PlaybackNote(this,r))}get ParentVoiceEntry(){return this.parentVoiceEntry}get Notes(){return this.notes}get Length(){if(this.Notes.length>0)return this.Notes[0].Length}set Length(e){for(const r of this.Notes)r.Length=e}get HasNotes(){return this.Notes.length>0}}class VoiceEntry{constructor(e,r,s,o=!0,a=!1,l=!1,c=!1){if(this.notes=[],this.graceVoiceEntriesBefore=[],this.graceVoiceEntriesAfter=[],this.articulations=[],this.playbackEntries=[],this.technicalInstructions=[],this.lyricsEntries=new Dictionary,this.wantedStemDirection=-1,this.stemDirectionXml=-1,this.stemDirection=-1,this.timestamp=e,this.parentVoice=r,this.parentSourceStaffEntry=s,this.isGrace=a,this.graceAfterMainNote=!1,this.graceNoteSlash=l,this.graceSlur=c,a||r.VoiceEntries.push(this),o&&s!==void 0){const u=s.VoiceEntries;u.indexOf(this)===-1&&u.push(this)}this.mainPlaybackEntry=new PlaybackEntry(this),this.PlaybackEntries.push(this.mainPlaybackEntry)}get ParentSourceStaffEntry(){return this.parentSourceStaffEntry}get ParentVoice(){return this.parentVoice}get Timestamp(){return this.timestamp}set Timestamp(e){this.timestamp=e}get Notes(){return this.notes}addNote(e){this.notes.push(e),!e.isRest()&&(e.NoteTie===void 0||e.NoteTie.StartNote===e)&&this.MainPlaybackEntry.Notes.push(new PlaybackNote(this.MainPlaybackEntry,e))}get GraceVoiceEntriesBefore(){return this.graceVoiceEntriesBefore}set GraceVoiceEntriesBefore(e){this.graceVoiceEntriesBefore=e;for(const r of this.graceVoiceEntriesBefore)r.parentSourceStaffEntry=this.ParentSourceStaffEntry}get GraceVoiceEntriesAfter(){return this.graceVoiceEntriesAfter}set GraceVoiceEntriesAfter(e){this.graceVoiceEntriesAfter=e;for(const r of this.graceVoiceEntriesAfter)r.parentSourceStaffEntry=this.ParentSourceStaffEntry}get IsGrace(){return this.isGrace}set IsGrace(e){this.isGrace=e}get GraceAfterMainNote(){return this.graceAfterMainNote}set GraceAfterMainNote(e){this.graceAfterMainNote=e}get GraceNoteSlash(){return this.graceNoteSlash}set GraceNoteSlash(e){this.graceNoteSlash=e}get GraceSlur(){return this.graceSlur}set GraceSlur(e){this.graceSlur=e}get Articulations(){return this.articulations}get PlaybackEntries(){return this.playbackEntries}get Fermata(){return this.fermata}get MainPlaybackEntry(){return this.mainPlaybackEntry}set MainPlaybackEntry(e){this.mainPlaybackEntry=e}removeMainPlaybackEntry(){this.mainPlaybackEntry!==void 0&&this.removePlaybackEntry(this.mainPlaybackEntry)}removePlaybackEntry(e){this.mainPlaybackEntry===e&&(this.mainPlaybackEntry=void 0);const r=this.playbackEntries.indexOf(e);r>-1&&this.playbackEntries.splice(r,1)}set Articulations(e){this.articulations=e}get TechnicalInstructions(){return this.technicalInstructions}get LyricsEntries(){return this.lyricsEntries}get Arpeggio(){return this.arpeggio}set Arpeggio(e){this.arpeggio=e}get OrnamentContainer(){return this.ornamentContainer}set OrnamentContainer(e){this.ornamentContainer=e}set WantedStemDirection(e){this.wantedStemDirection=e}get WantedStemDirection(){return this.wantedStemDirection}set StemDirectionXml(e){this.stemDirectionXml=e}get StemDirectionXml(){return this.stemDirectionXml}set StemDirection(e){this.stemDirection=e}get StemDirection(){return this.stemDirection}get StemColorXml(){return this.stemColorXml}set StemColorXml(e){this.stemColorXml=e}get StemColor(){return this.stemColor}set StemColor(e){this.stemColor=e}get VolumeModifier(){return this.volumeModifier}set VolumeModifier(e){this.volumeModifier=e}get DurationModifier(){return this.durationModifier}set DurationModifier(e){this.durationModifier=e}hasArticulation(e){for(const r of this.articulations)if(r.Equals(e))return!0;return!1}static isSupportedArticulation(e){switch(e){case 0:case 1:case 2:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 27:return!0;default:return!1}}hasTie(){for(let e=0,r=this.Notes.length;e0)return!0;return!1}isStaccato(){for(const e of this.Articulations)if(e.articulationEnum===6)return!0;return!1}isAccent(){for(const e of this.Articulations)if(e.articulationEnum===0||e.articulationEnum===1)return!0;return!1}getVerseNumberForLyricEntry(e){let r="1";return this.lyricsEntries.forEach((s,o)=>{e===o&&(r=s)}),r}}var ArticulationEnum=(i=>(i[i.accent=0]="accent",i[i.strongaccent=1]="strongaccent",i[i.softaccent=2]="softaccent",i[i.marcatoup=3]="marcatoup",i[i.marcatodown=4]="marcatodown",i[i.invertedstrongaccent=5]="invertedstrongaccent",i[i.staccato=6]="staccato",i[i.staccatissimo=7]="staccatissimo",i[i.spiccato=8]="spiccato",i[i.tenuto=9]="tenuto",i[i.fermata=10]="fermata",i[i.invertedfermata=11]="invertedfermata",i[i.breathmark=12]="breathmark",i[i.caesura=13]="caesura",i[i.lefthandpizzicato=14]="lefthandpizzicato",i[i.naturalharmonic=15]="naturalharmonic",i[i.snappizzicato=16]="snappizzicato",i[i.upbow=17]="upbow",i[i.downbow=18]="downbow",i[i.scoop=19]="scoop",i[i.plop=20]="plop",i[i.doit=21]="doit",i[i.falloff=22]="falloff",i[i.stress=23]="stress",i[i.unstress=24]="unstress",i[i.detachedlegato=25]="detachedlegato",i[i.otherarticulation=26]="otherarticulation",i[i.bend=27]="bend",i))(ArticulationEnum||{}),StemDirectionType=(i=>(i[i.Undefined=-1]="Undefined",i[i.Up=0]="Up",i[i.Down=1]="Down",i[i.None=2]="None",i[i.Double=3]="Double",i))(StemDirectionType||{}),SystemLinePosition=(i=>(i[i.MeasureBegin=0]="MeasureBegin",i[i.MeasureEnd=1]="MeasureEnd",i))(SystemLinePosition||{});class GraphicalLabel extends Clickable{constructor(e,r,s,o,a=void 0){super(),this.CenteringXShift=0,this.label=e,this.boundingBox=new BoundingBox$1(this,a),this.label.fontHeight=r,this.label.textAlignment=s,this.rules=o,this.rules.MpatMode&&this.label.text==="TRIO"&&(this.label.fontFamily="Arial")}get Label(){return this.label}toString(){return`${this.label.text} (${this.boundingBox.RelativePosition.x},${this.boundingBox.RelativePosition.y})`}setLabelPositionAndShapeBorders(){var c,u;if(this.Label.text.trim()==="")return;this.TextLines=[];const e=(u=(c=this.rules)==null?void 0:c.LabelMarginBorderFactor)!=null?u:.1,r=this.Label.text.split(/[\n\r]+/g),s=r.length;let o=0;for(let d=0;d0&&this.TextLines.length>1&&(a+=this.rules.SpacingBetweenTextLines*s/10);const l=this.PositionAndShape;switch(this.Label.textAlignment){case TextAlignmentEnum.CenterBottom:l.BorderTop=-a,l.BorderLeft=-o/2,l.BorderBottom=0,l.BorderRight=o/2;break;case TextAlignmentEnum.CenterCenter:l.BorderTop=-a/2,l.BorderLeft=-o/2,l.BorderBottom=a/2,l.BorderRight=o/2;break;case TextAlignmentEnum.CenterTop:l.BorderTop=0,l.BorderLeft=-o/2,l.BorderBottom=a,l.BorderRight=o/2;break;case TextAlignmentEnum.LeftBottom:l.BorderTop=-a,l.BorderLeft=0,l.BorderBottom=0,l.BorderRight=o;break;case TextAlignmentEnum.LeftCenter:l.BorderTop=-a/2,l.BorderLeft=0,l.BorderBottom=a/2,l.BorderRight=o;break;case TextAlignmentEnum.LeftTop:l.BorderTop=0,l.BorderLeft=0,l.BorderBottom=a,l.BorderRight=o;break;case TextAlignmentEnum.RightBottom:l.BorderTop=-a,l.BorderLeft=-o,l.BorderBottom=0,l.BorderRight=0;break;case TextAlignmentEnum.RightCenter:l.BorderTop=-a/2,l.BorderLeft=-o,l.BorderBottom=a/2,l.BorderRight=0;break;case TextAlignmentEnum.RightTop:l.BorderTop=0,l.BorderLeft=-o,l.BorderBottom=a,l.BorderRight=0;break}l.BorderMarginTop=l.BorderTop-a*e,l.BorderMarginLeft=l.BorderLeft-a*e,l.BorderMarginBottom=l.BorderBottom+a*e,l.BorderMarginRight=l.BorderRight+a*e}}class Label{constructor(e="",r=TextAlignmentEnum.CenterBottom,s=void 0,o=!0){this.IsCreditLabel=!1,this.isLyricText=!1,this.text=e,this.print=o,this.textAlignment=r,this.font=s,this.fontFamily=void 0}set font(e){this.fontEnumValue=e,this.fontFamily=FontStringNames[e]}get font(){return this.fontEnumValue}ToString(){return this.text}}const SpeedTag={Grava:40,Largo:46,Lento:52,Adagio:56,Larghetto:60,Andante:66,Anderato:69,Andantino:69,Moderato:88,Allegretto:108,"Allegro Moderato":108,Allegro:132,Vivace:152,Vivo:160,Vivacissimo:168,Presto:184,Prestissimo:208},SpecialMarks=["纯律","纯律结束"],HideWords=["跳过下一个","b","#","§","º","X"],GradientWords=["poco rit.","rall.","rit.","accel.","molto rit.","molto rall","lentando","poco accel.","calando"],GRADIENT_SPEED_CLOSE_TAG="结束范围速度",GRADIENT_SPEED_RESET_TAG="a tempo",SpecialWords=[GRADIENT_SPEED_CLOSE_TAG],SpeedKeyword="速度 ",SpeedHiddenKeyword="仅文本速度 ";function isSpeedKeyword(i){return i.indexOf(SpeedKeyword)===0}function isSpeedHiddenKeyword(i){return i.indexOf(SpeedHiddenKeyword)===0}function formatSpeedKeyword(i){return i.replace(SpeedHiddenKeyword,"").replace(SpeedKeyword,"")}function isGradientWords(i){return GradientWords.includes(i)}function isSpecialMark(i){return[...Object.keys(SpeedTag),...SpecialMarks,...SpecialWords,...HideWords].map(e=>e.trim().toLocaleUpperCase()).includes(i.toLocaleUpperCase().trim())}function isTopFont(i){return[TextAlignmentEnum.CenterTop,TextAlignmentEnum.RightTop].includes(i)}var MusicSymbol=(i=>(i[i.Unused_first_Symbol=0]="Unused_first_Symbol",i[i.BLACK_HEAD=1]="BLACK_HEAD",i[i.UPWARDS_TAIL=2]="UPWARDS_TAIL",i[i.DOWNWARDS_TAIL=3]="DOWNWARDS_TAIL",i[i.UPWARDS_DOUBLE_TAIL=4]="UPWARDS_DOUBLE_TAIL",i[i.DOWNWARDS_DOUBLE_TAIL=5]="DOWNWARDS_DOUBLE_TAIL",i[i.UPWARDS_TRIPLE_TAIL=6]="UPWARDS_TRIPLE_TAIL",i[i.DOWNWARDS_TRIPLE_TAIL=7]="DOWNWARDS_TRIPLE_TAIL",i[i.UPWARDS_QUAD_TAIL=8]="UPWARDS_QUAD_TAIL",i[i.DOWNWARDS_QUAD_TAIL=9]="DOWNWARDS_QUAD_TAIL",i[i.ROUND_HEAD=10]="ROUND_HEAD",i[i.WHITE_HEAD=11]="WHITE_HEAD",i[i.G_CLEF=12]="G_CLEF",i[i.F_CLEF=13]="F_CLEF",i[i.C_CLEF=14]="C_CLEF",i[i.BREVE=15]="BREVE",i[i.BREVE_REST=16]="BREVE_REST",i[i.COMMON_TIME=17]="COMMON_TIME",i[i.CUT_TIME=18]="CUT_TIME",i[i.WHOLE_REST=19]="WHOLE_REST",i[i.HALF_REST=20]="HALF_REST",i[i.QUARTER_REST=21]="QUARTER_REST",i[i.EIGHTH_REST=22]="EIGHTH_REST",i[i.SIXTEENTH_REST=23]="SIXTEENTH_REST",i[i.THIRTYSECOND_REST=24]="THIRTYSECOND_REST",i[i.SIXTYFOURTH_REST=25]="SIXTYFOURTH_REST",i[i.FLAT=26]="FLAT",i[i.SHARP=27]="SHARP",i[i.NATURAL=28]="NATURAL",i[i.DOUBLE_FLAT=29]="DOUBLE_FLAT",i[i.DOUBLE_SHARP=30]="DOUBLE_SHARP",i[i.ZERO=31]="ZERO",i[i.ONE=32]="ONE",i[i.TWO=33]="TWO",i[i.THREE=34]="THREE",i[i.FOUR=35]="FOUR",i[i.FIVE=36]="FIVE",i[i.SIX=37]="SIX",i[i.SEVEN=38]="SEVEN",i[i.EIGHT=39]="EIGHT",i[i.NINE=40]="NINE",i[i.DOT=41]="DOT",i[i.FERMATA=42]="FERMATA",i[i.INVERTED_FERMATA=43]="INVERTED_FERMATA",i[i.SPICCATO=44]="SPICCATO",i[i.TENUTO=45]="TENUTO",i[i.MARCATO=46]="MARCATO",i[i.MARCATISSIMO=47]="MARCATISSIMO",i[i.INVERTED_MARCATISSIMO=48]="INVERTED_MARCATISSIMO",i[i.P=49]="P",i[i.F=50]="F",i[i.S=51]="S",i[i.Z=52]="Z",i[i.M=53]="M",i[i.R=54]="R",i[i.SEGNO=55]="SEGNO",i[i.CODA=56]="CODA",i[i.DRUM_CLEF=57]="DRUM_CLEF",i[i.G_CLEF_SUB8=58]="G_CLEF_SUB8",i[i.G_CLEF_SUPER8=59]="G_CLEF_SUPER8",i[i.G_CLEF_SUB15=60]="G_CLEF_SUB15",i[i.G_CLEF_SUPER15=61]="G_CLEF_SUPER15",i[i.F_CLEF_SUB8=62]="F_CLEF_SUB8",i[i.F_CLEF_SUPER8=63]="F_CLEF_SUPER8",i[i.F_CLEF_SUB15=64]="F_CLEF_SUB15",i[i.F_CLEF_SUPER15=65]="F_CLEF_SUPER15",i[i.DOWN_BOW=66]="DOWN_BOW",i[i.MORDENT=67]="MORDENT",i[i.INVERTED_MORDENT=68]="INVERTED_MORDENT",i[i.TURN=69]="TURN",i[i.INVERTED_TURN=70]="INVERTED_TURN",i[i.LEFTHAND_PIZZICATO=71]="LEFTHAND_PIZZICATO",i[i.RELEASE_PED=72]="RELEASE_PED",i[i.ENGAGE_PED=73]="ENGAGE_PED",i[i.VA8=74]="VA8",i[i.VB8=75]="VB8",i[i.TRILL=76]="TRILL",i[i.MA15=77]="MA15",i[i.MB15=78]="MB15",i[i.HIGH=79]="HIGH",i[i.PLAY=80]="PLAY",i[i.MIC=81]="MIC",i[i.SNAP_PIZZICATO=82]="SNAP_PIZZICATO",i[i.NATURAL_HARMONIC=83]="NATURAL_HARMONIC",i[i.EditPen=84]="EditPen",i[i.PEDAL_BRACKET=85]="PEDAL_BRACKET",i[i.PEDAL_MIXED=86]="PEDAL_MIXED",i[i.PEDAL_SYMBOL=87]="PEDAL_SYMBOL",i))(MusicSymbol||{}),MusicSymbolDrawingStyle=(i=>(i[i.Normal=0]="Normal",i[i.Disabled=1]="Disabled",i[i.Selected=2]="Selected",i[i.Clickable=3]="Clickable",i[i.PlaybackSymbols=4]="PlaybackSymbols",i[i.FollowSymbols=5]="FollowSymbols",i[i.QFeedbackNotFound=6]="QFeedbackNotFound",i[i.QFeedbackOk=7]="QFeedbackOk",i[i.QFeedbackPerfect=8]="QFeedbackPerfect",i[i.Debug1=9]="Debug1",i[i.Debug2=10]="Debug2",i[i.Debug3=11]="Debug3",i))(MusicSymbolDrawingStyle||{}),PhonicScoreModes=(i=>(i[i.Following=0]="Following",i[i.Midi=1]="Midi",i[i.Manual=2]="Manual",i))(PhonicScoreModes||{});class LabelRenderSpecs{}class MusicSheetDrawer{constructor(e,r){this.drawableBoundingBoxElement="None",this.skyLineVisible=!1,this.bottomLineVisible=!1,this.needSpecialArrTs=[],this.phonicScoreMode=PhonicScoreModes.Manual,this.textMeasurer=e,this.splitScreenLineColor=-1,this.drawingParameters=r,this.rules=r.Rules}set Mode(e){this.phonicScoreMode=e}drawSheet(e){if(this.graphicalMusicSheet=e,this.rules=e.ParentMusicSheet.Rules,this.drawSplitScreenLine(),this.drawingParameters.drawCursors)for(const s of e.Cursors){if(!s)continue;const o=new BoundingBox$1(s);o.AbsolutePosition=s.Start,o.BorderBottom=s.End.y-s.Start.y,o.BorderRight=s.Width/2,o.BorderLeft=-s.Width/2,this.isVisible(o)&&this.drawLineAsVerticalRectangle(s,GraphicalLayers.Cursor)}this.drawingParameters.drawScrollIndicator&&this.drawScrollIndicator();const r=Math.min(this.graphicalMusicSheet.MusicPages.length,this.rules.MaxPageToDrawNumber);for(let s=0;sY[0]).filter(Boolean))||[],U=[];let $=!1;for(let Y=0;YY.x-Q.x))==null?void 0:k[0])==null?void 0:I.measure;break}}}catch(G){console.log("🚀 ~ error",G)}let N=0;F?N=((M=F.stave)==null?void 0:M.end_x)||0:N=((R=s.sourceNote.SourceMeasure.VerticalMeasureList[0])==null?void 0:R.getVFStave()).end_x;const K=0;a.ScreenPosition.x=N,a.ScreenPosition.y=V===0?(e.PositionAndShape.Parent.AbsolutePosition.y-3-K)*10:V*10}const u=["C","G","D","A","E","B","F#","C#","G#","F","Bb","Eb","Ab","Db","Gb","Cb","Fb","D#","A#","E#"];u.includes(o.text)&&(a.ScreenPosition.y=(e.PositionAndShape.Parent.AbsolutePosition.y+e.PositionAndShape.Parent.BorderTop+e.PositionAndShape.Parent.BorderMarginTop)*10),["play","listen"].includes(o.text.toLocaleLowerCase())&&o.textAlignment===TextAlignmentEnum.LeftBottom&&(a.ScreenPosition.y=(e.PositionAndShape.Parent.AbsolutePosition.y-1+e.PositionAndShape.Parent.BorderBottom)*10);const d=["ffp","p-f","sfzp","szf","sffzp"];for(let V=0;V0&&(isTopFont(e.Label.textAlignment)||[TextAlignmentEnum.CenterBottom].includes(e.Label.textAlignment))){let V=-1,D=!1;for(const F of(c==null?void 0:c.AbstractExpressions)||[])if(F.Label===e?V=(B=F==null?void 0:F.parentMeasure)==null?void 0:B.measureListIndex:(_=F.expression)!=null&&_.TempoInBpm&&(D=F.expression.TempoInBpm>0),D&&V>-1){a.ScreenPosition.y-=4*10;break}}this.renderLabel(e,r,a)}calculateLabel(e){var c,u;const r=new LabelRenderSpecs,s=e.Label;r.ScreenPosition=this.applyScreenTransformation(e.PositionAndShape.AbsolutePosition),r.FontHeightInPixel=this.calculatePixelDistance(s.fontHeight);const o=this.calculatePixelDistance(e.PositionAndShape.Size.width);switch(r.BitmapWidth=Math.ceil(o),r.BitmapHeight=e.TextLines?Math.ceil(r.FontHeightInPixel*(.2+e.TextLines.length)):10,s.textAlignment){case TextAlignmentEnum.LeftTop:break;case TextAlignmentEnum.LeftCenter:r.ScreenPosition.y-=r.BitmapHeight/2;break;case TextAlignmentEnum.LeftBottom:r.ScreenPosition.y-=r.BitmapHeight;break;case TextAlignmentEnum.CenterTop:r.ScreenPosition.x-=r.BitmapWidth/2;break;case TextAlignmentEnum.CenterCenter:r.ScreenPosition.x-=r.BitmapWidth/2,r.ScreenPosition.y-=r.BitmapHeight/2;break;case TextAlignmentEnum.CenterBottom:r.ScreenPosition.x-=r.BitmapWidth/2,r.ScreenPosition.y-=r.BitmapHeight,s.text==="筒音作5"&&this.rules.DYMusicScoreType==="jianpu"&&(r.ScreenPosition.x=80);break;case TextAlignmentEnum.RightTop:r.ScreenPosition.x-=r.BitmapWidth;break;case TextAlignmentEnum.RightCenter:r.ScreenPosition.x-=r.BitmapWidth,r.ScreenPosition.y-=r.BitmapHeight/2;break;case TextAlignmentEnum.RightBottom:r.ScreenPosition.x-=r.BitmapWidth,r.ScreenPosition.y-=r.BitmapHeight;break;default:throw new ArgumentOutOfRangeException("")}const a=e.PositionAndShape.Parent.DataObject,l=[1,3,7,9,15,20,22,24,28,30,36,41];this.rules.DYMusicScoreId&&this.rules.DYMusicScoreId==="1722157850347765762"&&(s.text==="."&&(r.ScreenPosition.x=142,r.ScreenPosition.y=134),s.text==="T"&&(this.needSpecialArrTs.push(r),((u=(c=a==null?void 0:a.measures)==null?void 0:c[0])==null?void 0:u.MeasureNumber)===1?r.ScreenPosition.y+=20:r.ScreenPosition.y-=20));for(let d in this.needSpecialArrTs)l.includes(Number(d))&&(this.needSpecialArrTs[d].ScreenPosition.x-=20);return r}applyScreenTransformations(e){const r=[];for(const s of e)r.push(this.applyScreenTransformation(s));return r}drawSplitScreenLine(){}renderRectangle(e,r,s,o=void 0,a=1){throw new Error("not implemented")}drawScrollIndicator(){}drawSelectionStartSymbol(e){}drawSelectionEndSymbol(e){}renderLabel(e,r,s){throw new Error("not implemented")}renderSystemToScreen(e,r,s){}drawSkyLine(e){}drawBottomLine(e){}drawInstrumentBrace(e,r){}drawGroupBracket(e,r){}isVisible(e){return!0}drawMusicSystem(e){const r=this.getSystemAbsBoundingRect(e),s=this.getSytemBoundingBoxInPixels(r);this.drawMusicSystemComponents(e,s,r)}getSytemBoundingBoxInPixels(e){const r=this.applyScreenTransformationForRect(e);return r.x=Math.round(r.x),r.y=Math.round(r.y),r}getSystemAbsBoundingRect(e){const r=e.PositionAndShape.BoundingRectangle;return new RectangleF2D(e.PositionAndShape.AbsolutePosition.x+e.PositionAndShape.BorderLeft-1,e.PositionAndShape.AbsolutePosition.y+e.PositionAndShape.BorderTop-1,r.width+6,r.height+2)}drawMusicSystemComponents(e,r,s){const o=this.graphicalMusicSheet.SelectionStartSymbol,a=this.graphicalMusicSheet.SelectionEndSymbol;this.drawingParameters.drawSelectionStartSymbol&&o!==void 0&&this.isVisible(o.PositionAndShape)&&this.drawSelectionStartSymbol(o),this.drawingParameters.drawSelectionEndSymbol&&a!==void 0&&this.isVisible(a.PositionAndShape)&&this.drawSelectionEndSymbol(a);for(const u of e.StaffLines)this.drawStaffLine(u),this.rules.RenderLyrics&&(u.LyricsDashes.length>0&&this.drawDashes(u.LyricsDashes),u.LyricLines.length>0&&this.drawLyricLines(u.LyricLines,u));for(const u of e.SystemLines)this.drawSystemLineObject(u);if(this.rules.RenderSystemLabelsAfterFirstPage||e.Parent===e.Parent.Parent.MusicPages[0])for(const u of e.Labels)u.SVGNode=this.drawLabel(u,GraphicalLayers.Notes);const l=this.graphicalMusicSheet.ParentMusicSheet.Instruments,c=l.filter(u=>u.Visible).length;for(const u of e.InstrumentBrackets)this.drawInstrumentBrace(u,e);if(l.length>0)if(c>1)for(const u of e.GroupBrackets)this.drawGroupBracket(u,e);else for(const u of e.GroupBrackets)u.Visible=!1;if(!this.leadSheet)for(const u of e.MeasureNumberLabels)u.SVGNode=this.drawLabel(u,GraphicalLayers.Notes);for(const u of e.StaffLines)this.drawStaffLineSymbols(u);this.drawingParameters.drawMarkedAreas&&this.drawMarkedAreas(e)}activateSystemRendering(e,r,s,o){return!0}drawSystemLineObject(e){}drawStaffLine(e){for(const r of e.Measures)this.drawMeasure(r),r.parentSourceMeasure&&(r.parentSourceMeasure.WasRendered=!0);this.rules.RenderLyrics&&e.LyricsDashes.length>0&&this.drawDashes(e.LyricsDashes),this.drawOctaveShifts(e),this.drawPedals(e),this.drawWavyLines(e),this.drawExpressions(e),this.skyLineVisible&&this.drawSkyLine(e),this.bottomLineVisible&&this.drawBottomLine(e)}drawLyricLines(e,r){r.LyricLines.forEach(s=>{s.Start.y+=r.PositionAndShape.AbsolutePosition.y,s.End.y+=r.PositionAndShape.AbsolutePosition.y,s.Start.x+=r.PositionAndShape.AbsolutePosition.x,s.End.x+=r.PositionAndShape.AbsolutePosition.x,this.drawGraphicalLine(s,this.rules.LyricUnderscoreLineWidth,s.colorHex)})}drawExpressions(e){}drawGraphicalLine(e,r,s="black"){return this.drawLine(e.Start,e.End,s,r)}drawLine(e,r,s="#FF0000FF",o){}drawDashes(e){e.forEach(r=>r.SVGNode=this.drawLabel(r,GraphicalLayers.Notes))}drawOctaveShifts(e){}drawStaffLines(e){if(e.StaffLines){const r=e.PositionAndShape.AbsolutePosition;for(let s=0;s<5;s++)this.drawLineAsHorizontalRectangleWithOffset(e.StaffLines[s],r,GraphicalLayers.Notes)}}drawSymbol(e,r,s,o=1,a=GraphicalLayers.Notes){}get leadSheet(){return this.graphicalMusicSheet.LeadSheet}set leadSheet(e){this.graphicalMusicSheet.LeadSheet=e}drawPage(e){if(this.isVisible(e.PositionAndShape)){for(const r of e.MusicSystems)this.isVisible(r.PositionAndShape)&&this.drawMusicSystem(r);if(e===e.Parent.MusicPages[0])for(const r of e.Labels)r.SVGNode=this.drawLabel(r,GraphicalLayers.Notes);this.drawableBoundingBoxElement&&this.drawBoundingBoxes(e.PositionAndShape,0,this.drawableBoundingBoxElement)}}drawBoundingBoxes(e,r=0,s="all"){const o=e.DataObject.constructor.name;let a=!1;s==="all"&&(a=!0),(a||o===s)&&this.drawBoundingBox(e,void 0,!0,o,r),r++,e.ChildElements.forEach(l=>this.drawBoundingBoxes(l,r,s))}drawBoundingBox(e,r=void 0,s=!1,o=void 0,a=0){let l=new RectangleF2D(e.AbsolutePosition.x+e.BorderMarginLeft,e.AbsolutePosition.y+e.BorderMarginTop,e.BorderMarginRight-e.BorderMarginLeft,e.BorderMarginBottom-e.BorderMarginTop);s&&(this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(e.AbsolutePosition.x-1,e.AbsolutePosition.y),new PointF2D(e.AbsolutePosition.x+1,e.AbsolutePosition.y),.1,OutlineAndFillStyleEnum.BaseWritingColor,r),a-1),this.drawLineAsVerticalRectangle(new GraphicalLine(new PointF2D(e.AbsolutePosition.x,e.AbsolutePosition.y-1),new PointF2D(e.AbsolutePosition.x,e.AbsolutePosition.y+1),.1,OutlineAndFillStyleEnum.BaseWritingColor,r),a-1)),l=this.applyScreenTransformationForRect(l);const c=this.renderRectangle(l,GraphicalLayers.Background,a,r,.5);if(o){const u=new Label(o),d=new LabelRenderSpecs;d.BitmapWidth=l.width,d.BitmapHeight=l.height,d.FontHeightInPixel=l.height,d.ScreenPosition=new PointF2D(l.x,l.y+12),this.renderLabel(new GraphicalLabel(u,.8,TextAlignmentEnum.CenterCenter,this.rules),a,d)}return c}drawMarkedAreas(e){for(const r of e.GraphicalMarkedAreas)r&&(r.systemRectangle&&this.drawRectangle(r.systemRectangle,GraphicalLayers.Background),r.settings&&(r.settings.SVGNode=this.drawLabel(r.settings,GraphicalLayers.Comment)),r.labelRectangle&&this.drawRectangle(r.labelRectangle,GraphicalLayers.Background),r.label&&(r.label.SVGNode=this.drawLabel(r.label,GraphicalLayers.Comment)))}drawStaffLineSymbols(e){const r=e.ParentStaff.ParentInstrument,s=e.PositionAndShape.AbsolutePosition.x,o=e.PositionAndShape.AbsolutePosition.y+2,a=e.PositionAndShape.BorderRight;r.highlight&&this.drawingParameters.drawHighlights&&this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(s,o),new PointF2D(s+a,o),4,OutlineAndFillStyleEnum.Highlighted),GraphicalLayers.Highlight);let l=MusicSymbolDrawingStyle.Disabled,c=MusicSymbol.PLAY,u=this.drawingParameters.drawActivitySymbols;switch(this.phonicScoreMode){case PhonicScoreModes.Midi:c=MusicSymbol.PLAY,this.midiPlaybackAvailable&&e.ParentStaff.audible&&(l=MusicSymbolDrawingStyle.PlaybackSymbols);break;case PhonicScoreModes.Following:c=MusicSymbol.MIC,e.ParentStaff.following&&(l=MusicSymbolDrawingStyle.FollowSymbols);break;default:u=!1;break}if(u){const d=new PointF2D(s+a+2,o);this.drawSymbol(c,l,d)}if(this.drawingParameters.drawErrors)for(const d of e.Measures){const g=d.PositionAndShape,m=g.AbsolutePosition.x,y=g.AbsolutePosition.y+2;d.hasError&&this.graphicalMusicSheet.ParentMusicSheet.DrawErroneousMeasures&&this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(m,y),new PointF2D(m+g.BorderRight,y),4,OutlineAndFillStyleEnum.ErrorUnderlay),GraphicalLayers.MeasureError)}}}class VexFlowTextMeasurer{constructor(e){this.fontSize=20,this.fontSizeStandard=this.fontSize;const r=document.createElement("canvas");this.context=r.getContext("2d"),this.rules=e}computeTextWidthToHeightRatio(e,r,s,o=void 0,a=this.fontSize){return this.context.font=VexFlowConverter.font(a,s,r,this.rules,o),this.context.measureText(e).width/a}setFontSize(e=this.fontSizeStandard){return this.fontSize=e,e}}class AbstractGraphicalExpression extends GraphicalObject{constructor(e,r,s){super(),this.expression=r,this.parentMeasure=s,this.boundingBox=new BoundingBox$1(this,e.PositionAndShape),this.parentStaffLine=e,this.parentStaffLine.AbstractExpressions.push(this),this.rules=e.ParentMusicSystem.rules}get Label(){return this.label}get ParentStaffLine(){return this.parentStaffLine}get SourceExpression(){return this.expression}get Placement(){return this.expression.Placement}}class GraphicalInstantaneousTempoExpression extends AbstractGraphicalExpression{constructor(e,r){super(r.PositionAndShape.Parent.DataObject,e,e.parentMeasure),this.label=r}get GraphicalLabel(){return this.label}updateSkyBottomLine(){}}class GraphicalInstantaneousDynamicExpression extends AbstractGraphicalExpression{constructor(e,r,s){super(r,e,s.parentSourceMeasure),this.mInstantaneousDynamicExpression=e,this.mMeasure=s}updateSkyBottomLine(){const e=this.parentStaffLine.SkyBottomLineCalculator,r=this.PositionAndShape.RelativePosition.x+this.PositionAndShape.BorderMarginLeft,s=this.PositionAndShape.RelativePosition.x+this.PositionAndShape.BorderMarginRight;let o=0;switch(this.Placement){case PlacementEnum.Above:o=this.PositionAndShape.RelativePosition.y+this.PositionAndShape.BorderMarginTop,e.updateSkyLineInRange(r,s,o);break;case PlacementEnum.Below:o=this.PositionAndShape.RelativePosition.y+this.PositionAndShape.BorderMarginBottom,e.updateBottomLineInRange(r,s,o);break;default:loglevelExports.error("Placement for GraphicalInstantaneousDynamicExpression is unknown")}}}class GraphicalContinuousDynamicExpression extends AbstractGraphicalExpression{constructor(e,r,s){super(r,e,s),this.lines=[],this.isSplittedPart=!1,this.notToBeRemoved=!1}get StartMeasure(){return this.startMeasure}set StartMeasure(e){this.startMeasure=e}get EndMeasure(){return this.endMeasure}set EndMeasure(e){this.endMeasure=e}get EndStaffLine(){return this.endMeasure?this.endMeasure.ParentStaffLine:void 0}get IsSplittedPart(){return this.isSplittedPart}set IsSplittedPart(e){this.isSplittedPart=e}get IsVerbal(){return this.ContinuousDynamic.Label&&this.ContinuousDynamic.Label.length>0}get NotToBeRemoved(){return this.notToBeRemoved}set NotToBeRemoved(e){this.notToBeRemoved=e}get Lines(){return this.lines}get ContinuousDynamic(){return this.SourceExpression}updateSkyBottomLine(){var o;const e=this.parentStaffLine.SkyBottomLineCalculator,r=this.IsVerbal?this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginLeft:0,s=this.IsVerbal?this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginRight:0;switch(!this.IsSoftAccent&&!this.IsVerbal&&this.lines.length<2&&loglevelExports.warn("Not enough lines for SkyBottomLine calculation"),this.IsVerbal||this.ContinuousDynamic.DynamicType!==ContDynamicEnum.crescendo&&this.ContinuousDynamic.DynamicType!==ContDynamicEnum.diminuendo&&loglevelExports.warn("GraphicalContinuousDynamicExpression.updateSkyBottomLine(): unhandled continuous dynamic type. start measure: "+((o=this.startMeasure)==null?void 0:o.MeasureNumber)),this.Placement){case PlacementEnum.Above:if(this.IsSoftAccent)e.updateSkyLineWithWedge(this.lines[0].Start,this.lines[0].End),e.updateSkyLineWithWedge(this.lines[2].End,this.lines[2].Start),e.updateSkyLineWithLine(this.lines[0].End,this.lines[2].End,this.lines[0].End.y);else if(!this.IsVerbal)this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?e.updateSkyLineWithWedge(this.lines[0].Start,this.lines[0].End):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&e.updateSkyLineWithWedge(this.lines[0].End,this.lines[0].Start);else{const a=this.label.PositionAndShape.BorderMarginTop+this.label.PositionAndShape.RelativePosition.y;e.updateSkyLineInRange(r,s,a)}break;case PlacementEnum.Below:if(!this.IsVerbal)this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?e.updateBottomLineWithWedge(this.lines[1].Start,this.lines[1].End):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&e.updateBottomLineWithWedge(this.lines[1].End,this.lines[1].Start);else{const a=this.label.PositionAndShape.BorderMarginBottom+this.label.PositionAndShape.RelativePosition.y;e.updateBottomLineInRange(r,s,a)}break;default:loglevelExports.error("Placement for GraphicalContinuousDynamicExpression is unknown")}}createCrescendoLines(e,r,s,o=this.rules.WedgeOpeningLength,a=this.rules.WedgeLineWidth){const l=new PointF2D(e,s),c=new PointF2D(r,s-o/2),u=new PointF2D(r,s+o/2);this.addWedgeLines(l,c,u,a)}createFirstHalfCrescendoLines(e,r,s,o=this.rules.WedgeMeasureEndOpeningLength,a=this.rules.WedgeLineWidth){const l=new PointF2D(e,s),c=new PointF2D(r,s-o/2),u=new PointF2D(r,s+o/2);this.addWedgeLines(l,c,u,a)}createSecondHalfCrescendoLines(e,r,s,o=this.rules.WedgeMeasureBeginOpeningLength,a=this.rules.WedgeOpeningLength,l=this.rules.WedgeLineWidth){const c=new PointF2D(e,s-o/2),u=new PointF2D(e,s+o/2),d=new PointF2D(r,s-a/2),g=new PointF2D(r,s+a/2);this.addDoubleLines(c,d,u,g,l)}recalculateCrescendoLines(e,r,s){const o=Math.abs(this.lines[0].Start.y-this.lines[1].Start.y)>1e-4;this.lines.clear(),o?this.createSecondHalfCrescendoLines(e,r,s):this.isSplittedPart?this.createFirstHalfCrescendoLines(e,r,s):this.createCrescendoLines(e,r,s)}createDiminuendoLines(e,r,s,o=this.rules.WedgeOpeningLength,a=this.rules.WedgeLineWidth){const l=new PointF2D(e,s-o/2),c=new PointF2D(e,s+o/2),u=new PointF2D(r,s);this.addWedgeLines(u,l,c,a)}createFirstHalfDiminuendoLines(e,r,s,o=this.rules.WedgeOpeningLength,a=this.rules.WedgeMeasureEndOpeningLength,l=this.rules.WedgeLineWidth){const c=new PointF2D(e,s-o/2),u=new PointF2D(e,s+o/2),d=new PointF2D(r,s-a/2),g=new PointF2D(r,s+a/2);this.addDoubleLines(c,d,u,g,l)}createSecondHalfDiminuendoLines(e,r,s,o=this.rules.WedgeMeasureBeginOpeningLength,a=this.rules.WedgeLineWidth){const l=new PointF2D(e,s-o/2),c=new PointF2D(e,s+o/2),u=new PointF2D(r,s);this.addWedgeLines(u,l,c,a)}recalculateDiminuendoLines(e,r,s){const o=Math.abs(this.lines[0].End.y-this.lines[1].End.y)>1e-4;this.lines.clear(),o?this.createFirstHalfDiminuendoLines(e,r,s):this.isSplittedPart?this.createSecondHalfDiminuendoLines(e,r,s):this.createDiminuendoLines(e,r,s)}createFirstHalfLines(e,r,s,o=this.rules.WedgeOpeningLength,a=this.rules.WedgeMeasureEndOpeningLength,l=this.rules.WedgeLineWidth){this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?this.createFirstHalfCrescendoLines(e,r,s,a,l):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&this.createFirstHalfDiminuendoLines(e,r,s,o,a,l)}createSecondHalfLines(e,r,s,o=this.rules.WedgeMeasureBeginOpeningLength,a=this.rules.WedgeOpeningLength,l=this.rules.WedgeLineWidth){this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?this.createSecondHalfCrescendoLines(e,r,s,o,a,l):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&this.createSecondHalfDiminuendoLines(e,r,s,o,l)}createLines(e,r,s,o=this.rules.WedgeOpeningLength,a=this.rules.WedgeLineWidth){this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?this.createCrescendoLines(e,r,s,o,a):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&this.createDiminuendoLines(e,r,s,o,a)}calcPsi(){if(this.IsVerbal){this.PositionAndShape.calculateBoundingBox();return}this.PositionAndShape.RelativePosition=this.lines[0].Start,this.PositionAndShape.BorderMarginTop=this.lines[0].End.y-this.lines[0].Start.y,this.PositionAndShape.BorderMarginBottom=this.lines[1].End.y-this.lines[1].Start.y,this.PositionAndShape.Center.y=(this.PositionAndShape.BorderMarginTop+this.PositionAndShape.BorderMarginBottom)/2,this.IsSoftAccent?(this.PositionAndShape.BorderMarginLeft=0,this.PositionAndShape.BorderMarginRight=this.lines[3].Start.x-this.lines[0].Start.x):this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?(this.PositionAndShape.BorderMarginLeft=0,this.PositionAndShape.BorderMarginRight=this.lines[0].End.x-this.lines[0].Start.x):(this.PositionAndShape.BorderMarginLeft=this.lines[0].End.x-this.lines[0].Start.x,this.PositionAndShape.BorderMarginRight=0)}cleanUp(){this.lines.clear()}shiftYPosition(e){this.IsVerbal?(this.PositionAndShape.RelativePosition.y+=e,this.PositionAndShape.calculateBoundingBox()):(this.lines[0].Start.y+=e,this.lines[0].End.y+=e,this.lines[1].End.y+=e)}squeeze(e){this.IsVerbal||Math.abs(this.lines[0].End.x-this.lines[0].Start.x)0?this.lines[0].Start.x+=e:(this.lines[0].End.x+=e,this.lines[1].End.x+=e):e<0?this.lines[0].Start.x+=e:(this.lines[0].End.x+=e,this.lines[1].End.x+=e),this.calcPsi())}addWedgeLines(e,r,s,o){const a=new GraphicalLine(e,r,o),l=new GraphicalLine(e,s,o);this.rules.DefaultColorMusic&&(a.colorHex=this.rules.DefaultColorMusic,l.colorHex=this.rules.DefaultColorMusic),this.lines.push(a),this.lines.push(l)}addDoubleLines(e,r,s,o,a){const l=new GraphicalLine(e,r,a),c=new GraphicalLine(s,o,a);this.rules.DefaultColorMusic&&(l.colorHex=this.rules.DefaultColorMusic,c.colorHex=this.rules.DefaultColorMusic),this.lines.push(l),this.lines.push(c)}}class DrawingParameters{constructor(e=DrawingParametersEnum.default,r){this.drawCursors=!0,this.drawTitle=!0,this.drawSubtitle=!0,this.drawLyricist=!0,this.drawComposer=!0,this.drawCopyright=!1,this.drawCredits=!0,this.drawPartNames=!0,this.fingeringPosition=PlacementEnum.Left,this.drawHiddenNotes=!1,this.rules=r,this.rules||(this.rules=new EngravingRules),this.DrawingParametersEnum=e}set DrawingParametersEnum(e){switch(this.drawingParametersEnum=e,e){case DrawingParametersEnum.allon:this.setForAllOn();break;case DrawingParametersEnum.thumbnail:this.setForThumbnail();break;case DrawingParametersEnum.leadsheet:this.setForLeadsheet();break;case DrawingParametersEnum.compact:this.setForCompactMode();break;case DrawingParametersEnum.compacttight:this.setForCompactTightMode();break;case DrawingParametersEnum.default:default:this.setForDefault()}}get DrawingParametersEnum(){return this.drawingParametersEnum}setForAllOn(){this.drawHighlights=!0,this.drawErrors=!0,this.drawSelectionStartSymbol=!0,this.drawSelectionEndSymbol=!0,this.drawCursors=!0,this.drawActivitySymbols=!0,this.drawScrollIndicator=!0,this.drawAnnotations=!0,this.drawComments=!0,this.drawMarkedAreas=!0,this.DrawTitle=!0,this.DrawSubtitle=!0,this.DrawComposer=!0,this.DrawLyricist=!0,this.drawCredits=!0,this.DrawPartNames=!0,this.drawHiddenNotes=!0,this.rules.CompactMode=!1}setForDefault(){this.rules.loadDefaultValues(),this.setForAllOn(),this.drawHiddenNotes=!1}setForThumbnail(){this.drawHighlights=!1,this.drawErrors=!1,this.drawSelectionStartSymbol=!1,this.drawSelectionStartSymbol=!1,this.drawCursors=!1,this.drawActivitySymbols=!1,this.drawScrollIndicator=!1,this.drawAnnotations=!0,this.drawComments=!0,this.drawMarkedAreas=!0,this.drawHiddenNotes=!1}setForCompactMode(){this.rules.CompactMode=!0,this.DrawCredits=!1,this.drawHiddenNotes=!1}setForCompactTightMode(){this.setForCompactMode(),this.DrawPartNames=!1,this.rules.VoiceSpacingMultiplierVexflow=.65,this.rules.VoiceSpacingAddendVexflow=2,this.rules.MinSkyBottomDistBetweenStaves=1,this.rules.MinSkyBottomDistBetweenSystems=1,this.rules.BetweenStaffDistance=2.5,this.rules.StaffDistance=3.5,this.rules.MinimumDistanceBetweenSystems=1,this.rules.PageBottomMargin=0,this.rules.PageLeftMargin=2,this.rules.PageRightMargin=2}setForLeadsheet(){this.drawHighlights=!1,this.drawErrors=!1,this.drawSelectionStartSymbol=!0,this.drawSelectionEndSymbol=!0,this.drawCursors=!0,this.drawActivitySymbols=!1,this.drawScrollIndicator=!0,this.drawAnnotations=!0,this.drawComments=!0,this.drawMarkedAreas=!0}get DrawCredits(){return this.drawCredits}set DrawCredits(e){this.drawCredits=e,this.DrawComposer=e,this.DrawTitle=e,this.DrawSubtitle=e,this.DrawLyricist=e,this.DrawCopyright=e}get DrawTitle(){return this.drawTitle}set DrawTitle(e){this.drawTitle=e,this.rules.RenderTitle=e,e||(this.DrawSubtitle=!1)}get DrawSubtitle(){return this.drawSubtitle}set DrawSubtitle(e){this.drawSubtitle=e,this.rules.RenderSubtitle=e,e&&(this.DrawTitle=!0)}get DrawComposer(){return this.drawComposer}set DrawComposer(e){this.drawComposer=e,this.rules.RenderComposer=e}get DrawLyricist(){return this.drawLyricist}set DrawLyricist(e){this.drawLyricist=e,this.rules.RenderLyricist=e}get DrawCopyright(){return this.drawCopyright}set DrawCopyright(e){this.drawCopyright=e,this.rules.RenderCopyright=e}get DrawPartNames(){return this.drawPartNames}set DrawPartNames(e){this.drawPartNames=e,this.rules.RenderPartNames=e,this.rules.RenderPartNames||(this.rules.RenderPartAbbreviations=!1)}get FingeringPosition(){return this.fingeringPosition}set FingeringPosition(e){this.fingeringPosition=e,this.rules.FingeringPosition=e}get Rules(){return this.rules}set Rules(e){this.rules=e}}class GraphicalUnknownExpression extends AbstractGraphicalExpression{constructor(e,r,s,o,a=void 0){super(e,new AbstractExpression(s),o),this.label=r,this.sourceMultiExpression=a}updateSkyBottomLine(){const e=this.parentStaffLine.SkyBottomLineCalculator,r=this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginLeft,s=this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginRight;switch(this.Placement){case PlacementEnum.Above:const o=this.label.PositionAndShape.BorderMarginTop+this.label.PositionAndShape.RelativePosition.y;e.updateSkyLineInRange(r,s,o);break;case PlacementEnum.Below:const a=this.label.PositionAndShape.BorderMarginBottom+this.label.PositionAndShape.RelativePosition.y;e.updateBottomLineInRange(r,s,a);break;default:loglevelExports.error("Placement for GraphicalUnknownExpression is unknown")}}}const VF$c=Vex.Flow;class VexFlowBackend{getInnerElement(){return this.inner}getCanvas(){return this.canvas}getRenderElement(){let e=this.canvas;return this.getVexflowBackendType()===VF$c.Renderer.Backends.CANVAS&&(e=this.inner),e}getRenderer(){return this.renderer}removeAllChildrenFromContainer(e){for(;e.children.length!==0;)e.removeChild(e.children.item(0))}removeFromContainer(e){const r=this.getRenderElement();for(let s=0;s \r<`)),a.download="opensheetmusicdisplay_download.svg",a.innerHTML=window.location.href+"/download",document.body.appendChild(a)}}const unitInPixels=10;class VexFlowMusicSheetDrawer extends MusicSheetDrawer{constructor(e=new DrawingParameters){super(new VexFlowTextMeasurer(e.Rules),e),this.backends=[],this.zoom=1,this.pageIdx=0,this.getDotId=(r,s)=>s?String(r.Label.PositionAndShape.RelativePosition[s]):String(r.Label.PositionAndShape.RelativePosition.x)+String(r.Label.PositionAndShape.RelativePosition.y),this.hasDot=(r,s,o,a)=>{const l=s||Object.values(a);for(const c of l){if(o)return r.x===c.x&&r.y===c.y;if(r.x===c.x)return!0}return!1}}get Zoom(){return this.zoom}get Backends(){return this.backends}initializeBackendForPage(e){this.backend=this.backends[e.PageNumber-1]}drawSheet(e){var r,s,o;this.rules.DefaultVexFlowNoteFont==="gonville"&&(Vex.Flow.DEFAULT_FONT_STACK=[(r=Vex.Flow.Fonts)==null?void 0:r.Gonville,(s=Vex.Flow.Fonts)==null?void 0:s.Bravura,(o=Vex.Flow.Fonts)==null?void 0:o.Custom]),Vex.Flow.STAVE_LINE_THICKNESS=this.rules.StaffLineWidth*unitInPixels,Vex.Flow.STEM_WIDTH=this.rules.StemWidth*unitInPixels,Vex.Flow.DEFAULT_NOTATION_FONT_SCALE=this.rules.VexFlowDefaultNotationFontScale,Vex.Flow.DEFAULT_TAB_FONT_SCALE=this.rules.VexFlowDefaultTabFontScale,this.pageIdx=0;for(const a of e.MusicPages){if(a.PageNumber>this.rules.MaxPageToDrawNumber)break;const l=this.backends[this.pageIdx];l.graphicalMusicPage=a,l.scale(this.zoom),this.pageIdx+=1}this.pageIdx=0,this.backend=this.backends[0],super.drawSheet(e)}drawPage(e){e&&(this.backend=this.backends[e.PageNumber-1],super.drawPage(e),this.pageIdx+=1)}clear(){for(const e of this.backends)e.clear()}setZoom(e){this.zoom=e}calculatePixelDistance(e){return e*unitInPixels}drawStaffLine(e){const r=this.backend.getContext().openGroup();r&&r.classList.add("staffline"),super.drawStaffLine(e);const s=e.PositionAndShape.AbsolutePosition;this.rules.RenderSlurs&&this.drawSlurs(e,s),this.backend.getContext().closeGroup(),this.rules.RenderGlissandi&&this.drawGlissandi(e,s)}drawSlurs(e,r){var o,a,l,c;const s=(o=window.GYM)==null?void 0:o.vfcurveItem;for(let u=0;u(m.index?m.index===u:!0)&&m.MeasureNumberXML==d.staffEntries[d.staffEntries.length-1].parentMeasure.MeasureNumber);g&&(d.bezierEndControlPt.y+=(a=g==null?void 0:g.bezierEndControlPt)!=null&&a.y?g.bezierEndControlPt.y:0,d.bezierEndPt.y+=(l=g==null?void 0:g.bezierEndPt)!=null&&l.y?g.bezierEndPt.y:0,d.bezierStartControlPt.y+=(c=g==null?void 0:g.bezierStartControlPt)!=null&&c.y?g.bezierStartControlPt.y:0)}catch(g){console.log(g)}this.drawSlur(d,r)}}}drawGlissandi(e,r){for(const s of e.GraphicalGlissandi)this.drawGlissando(s,r)}drawGlissando(e,r){if(e.StaffLine.ParentStaff.isTab||e.calculateLine(this.rules),e.Line){const s=new PointF2D(e.Line.Start.x+r.x,e.Line.Start.y),o=new PointF2D(e.Line.End.x+r.x,e.Line.End.y);this.drawLine(s,o,e.Color,e.Width)}else{const s=e.vfTie;if(s){const o=this.backend.getContext();s.setContext(o),s.draw()}}}drawSlur(e,r){const s=[];let o,a,l,c;this.rules.DYMusicScoreType==="jianpu"?((e.placement>0||e.bezierStartPt.y>0)&&(e.bezierStartPt.y=-.8,e.bezierStartControlPt.y=-2.5),o=new PointF2D(e.bezierStartPt.x+r.x,e.bezierStartPt.y+r.y),a=new PointF2D(e.bezierStartControlPt.x+r.x,e.bezierStartControlPt.y+r.y),l=new PointF2D(e.bezierEndControlPt.x+r.x,e.bezierStartControlPt.y+r.y),c=new PointF2D(e.bezierEndPt.x+r.x,e.bezierStartPt.y+r.y)):(o=new PointF2D(e.bezierStartPt.x+r.x,e.bezierStartPt.y+r.y),a=new PointF2D(e.bezierStartControlPt.x+r.x,e.bezierStartControlPt.y+r.y),l=new PointF2D(e.bezierEndControlPt.x+r.x,e.bezierEndControlPt.y+r.y),c=new PointF2D(e.bezierEndPt.x+r.x,e.bezierEndPt.y+r.y)),s.push(this.applyScreenTransformation(o)),s.push(this.applyScreenTransformation(a)),s.push(this.applyScreenTransformation(l)),s.push(this.applyScreenTransformation(c)),e.placement===PlacementEnum.Above?(o.y-=.05,a.y-=.3,l.y-=.3,c.y-=.05):(o.y+=.05,a.y+=.3,l.y+=.3,c.y+=.05),s.push(this.applyScreenTransformation(o)),s.push(this.applyScreenTransformation(a)),s.push(this.applyScreenTransformation(l)),s.push(this.applyScreenTransformation(c)),e.SVGElement=this.backend.renderCurve(s)}drawMeasure(e){e.setAbsoluteCoordinates(e.PositionAndShape.AbsolutePosition.x*unitInPixels,e.PositionAndShape.AbsolutePosition.y*unitInPixels);const r=this.backend.getContext();try{e.draw(r)}catch(o){loglevelExports.warn("VexFlowMusicSheetDrawer.drawMeasure",o)}let s=0;for(const o of e.staffEntries)this.drawStaffEntry(o),s=this.drawBuzzRolls(o,s)}drawBuzzRolls(e,r){var s;for(const o of e.graphicalVoiceEntries)for(const a of o.notes)if((s=a.sourceNote.TremoloInfo)!=null&&s.tremoloUnmeasured){const l=this.rules.TremoloBuzzRollThickness,c=.9,u=.5,d=a;let g,m;const y=d.vfnote[0].getStemDirection();let b;if(this.backend instanceof SvgVexFlowBackend&&(b=d.getStemSVG()),(b==null?void 0:b.getBbox)!==void 0){const k=b.getBBox();g=new PointF2D(k.x/10,k.y/10),m=k.height/10}else m=d.vfnote[0].getStemLength()/10,g=new PointF2D(d.vfnote[0].getStem().x_begin/10,d.vfnote[0].getStem().y_top/10),y===1&&(g.y-=m);let S=g.y+m/3;d.vfnote[0].getBeamCount()>1&&(S=g.y+m/2,y===-1&&(S-=u+.2));const E=g.x-.5,x=S,P=[],C=[new PointF2D(0,-l),new PointF2D(c-l,0),new PointF2D(-c+l,-u),new PointF2D(0,-l),new PointF2D(c,0),new PointF2D(0,l),new PointF2D(-c+l,0),new PointF2D(c-l,u),new PointF2D(0,l),new PointF2D(-c,0)];let T=new PointF2D(E,x);P.push(T);for(const k of C)T=P.last(),P.push(new PointF2D(T.x+k.x,T.y-k.y));this.DrawPath(P,d.ParentMusicPage,!0,`buzzRoll${r}`),r++}return r}drawLine(e,r,s="#000000FF",o=.2){return e=this.applyScreenTransformation(e),r=this.applyScreenTransformation(r),this.backend.renderLine(e,r,s,o*unitInPixels)}DrawOverlayLine(e,r,s,o="#FF0000FF",a=.2,l){if(!s.PageNumber||s.PageNumber>this.backends.length||s.PageNumber<1){console.log("VexFlowMusicSheetDrawer.drawOverlayLine: invalid page number / music page number doesn't correspond to an existing backend.");return}const c=s.PageNumber-1,u=this.backends[c];return e=this.applyScreenTransformation(e),r=this.applyScreenTransformation(r),l||(l=`overlayLine ${e.x}/${e.y}`),u.renderLine(e,r,o,a*unitInPixels,l)}DrawPath(e,r,s=!0,o){const a=r.PageNumber-1,l=this.backends[a],c=[];for(const u of e)c.push(this.applyScreenTransformation(u));return l.renderPath(c,s,o)}drawSkyLine(e){const r=e.PositionAndShape.AbsolutePosition,s=e.PositionAndShape.Size.width;this.drawSampledLine(e.SkyLine,r,s)}drawBottomLine(e){const r=new PointF2D(e.PositionAndShape.AbsolutePosition.x,e.PositionAndShape.AbsolutePosition.y),s=e.PositionAndShape.Size.width;this.drawSampledLine(e.BottomLine,r,s,"#0000FFFF")}drawSampledLine(e,r,s,o="#FF0000FF"){const a=[];let l=0;for(let u=0;u0){const u=this.rules.SamplingUnit;let d=new PointF2D(c.x,c.y),g=new PointF2D(a[0]/u+c.x,c.y);this.drawLine(d,g,o);let m,y;e[0]>=0&&(m=new PointF2D(a[0]/u+c.x,c.y),y=new PointF2D(a[0]/u+c.x,c.y+e[a[0]]),this.drawLine(m,y,o));for(let b=1;b0)for(const r of e.FingeringEntries)r.SVGNode=this.drawLabel(r,GraphicalLayers.Notes);if(e.graphicalChordContainers!==void 0&&e.graphicalChordContainers.length>0)for(const r of e.graphicalChordContainers){const s=r.GraphicalLabel;s.SVGNode=this.drawLabel(s,GraphicalLayers.Notes)}this.rules.RenderLyrics&&e.LyricsEntries.length>0&&this.drawLyrics(e.LyricsEntries,GraphicalLayers.Notes)}drawLyrics(e,r){e.forEach(s=>{const o=s.GraphicalLabel;o.Label.colorDefault=this.rules.DefaultColorLyrics,o.SVGNode=this.drawLabel(o,r)})}drawInstrumentBrace(e,r){e.draw(this.backend.getContext())}drawGroupBracket(e,r){e.draw(this.backend.getContext())}drawOctaveShifts(e){for(const r of e.OctaveShifts)if(r){const s=r,o=this.backend.getContext(),a=s.getTextBracket();this.rules.DefaultColorMusic&&(a.render_options.color=this.rules.DefaultColorMusic),a.setContext(o);try{a.draw()}catch(l){loglevelExports.warn(l)}}}drawPedals(e){for(const r of e.Pedals)if(r){const s=r,o=this.backend.getContext(),a=s.getPedalMarking();a.render_options.color=this.rules.DefaultColorMusic,a.setContext(o),a.draw()}}drawWavyLines(e){for(const r of e.WavyLines)if(r){const s=r,o=this.backend.getContext(),a=s.getVibratoBracket();a.setContext(o),a.draw()}}getMaxExpressionsYAndDots(e){var u,d;const r=[];let s=0;for(const g of e.measures)r.push(g.measureNumber);const o={},a={},l={};for(const g of e.AbstractExpressions)if(g instanceof GraphicalUnknownExpression&&r.includes(g.parentMeasure.MeasureNumber)){const m=this.getDotId(g),y=this.getDotId(g,"x");a[m]||(a[m]=[]),l[y]||(l[y]=[]),this.hasDot(g.Label.PositionAndShape.RelativePosition,a[m],!0)||(a[m].push(g.Label.PositionAndShape.RelativePosition),l[y].push(g.Label.PositionAndShape.RelativePosition)),o[m]=g.Label.PositionAndShape.RelativePosition}let c=0;for(const g of e.AbstractExpressions){const m=(u=g.parentMeasure)==null?void 0:u.MeasureNumber;if(g instanceof GraphicalUnknownExpression&&r.includes(m)){const y=(d=g.parentMeasure.verticalMeasureList[0])==null?void 0:d.stave,b=(y==null?void 0:y.end_x)-(y==null?void 0:y.x),A=this.getDotId(g,"x");if((l[A]||[]).length===1&&c!==m){const S=g.Label.PositionAndShape.AbsolutePosition.y;s=s===0?S:Math.min(s,S)}(l[A]||[]).length!==1&&b/10Number.EPSILON){let o=Math.min(...e.Lines.map(l=>l.Start.x)),a=Math.min(...e.Lines.map(l=>l.Start.y));e.Lines[0].Start.x=o,e.Lines[1].Start.x=o,e.Lines[0].Start.y=a+this.rules.WedgeOpeningLength/2,e.Lines[1].Start.y=a+this.rules.WedgeOpeningLength*2,e.Lines[0].End.y+=this.rules.WedgeOpeningLength/2,e.Lines[1].End.y+=this.rules.WedgeOpeningLength}}catch(o){}const s=this.backend.getContext();s.openGroup("lineGroup");for(const o of e.Lines){const a=new PointF2D(e.ParentStaffLine.PositionAndShape.AbsolutePosition.x+o.Start.x,e.ParentStaffLine.PositionAndShape.AbsolutePosition.y+o.Start.y),l=new PointF2D(e.ParentStaffLine.PositionAndShape.AbsolutePosition.x+o.End.x,e.ParentStaffLine.PositionAndShape.AbsolutePosition.y+o.End.y);this.drawLine(a,l,(r=o.colorHex)!=null?r:"#000000",o.Width)}s.closeGroup()}}renderLabel(e,r,s){return this._renderLabel(e,s)}_renderLabel(e,r){var d,g;if(!e.Label.print)return;const s=e.Label.fontHeight*unitInPixels,{font:o}=e.Label;let a;this.rules.ColoringEnabled&&(a=e.Label.colorDefault,e.ColorXML&&(a=e.ColorXML),e.Label.color&&(a=e.Label.color.toString()),a||(a=this.rules.DefaultColorLabel));let{fontStyle:l,fontFamily:c}=e.Label;l||(l=this.rules.DefaultFontStyle),c||(c=this.rules.DefaultFontFamily);let u;for(let m=0;m<((d=e.TextLines)==null?void 0:d.length);m++){const y=e.TextLines[m],b=this.calculatePixelDistance(y.xOffset),A=new PointF2D(r.ScreenPosition.x+b,r.ScreenPosition.y),S=this.backend.renderText(s,l,o,y.text,r.FontHeightInPixel,A,a,e.Label.fontFamily,(g=e.Label)==null?void 0:g.lyricExtendNoteId);u?u.appendChild(S):u=S,r.ScreenPosition.y=r.ScreenPosition.y+r.FontHeightInPixel,e.TextLines.length>1&&(r.ScreenPosition.y+=this.rules.SpacingBetweenTextLines)}return u}renderRectangle(e,r,s,o,a){return this.backend.renderRectangle(e,s,o,a)}applyScreenTransformation(e){return new PointF2D(e.x*unitInPixels,e.y*unitInPixels)}applyScreenTransformationForRect(e){return new RectangleF2D(e.x*unitInPixels,e.y*unitInPixels,e.width*unitInPixels,e.height*unitInPixels)}}class TabNote extends Note$1{constructor(e,r,s,o,a,l,c,u){super(e,r,s,o,a),this.stringNumberTab=l,this.fretNumber=c,this.bendArray=u}get StringNumberTab(){return this.stringNumberTab}get FretNumber(){return this.fretNumber}get BendArray(){return this.bendArray}hasTabEffects(){var e;return((e=this.bendArray)==null?void 0:e.length)>0}}const VF$a=Vex.Flow,_VexFlowConverter=class{static durations(i,e){const r=[],s=i.clone();for(;s.RealValue>1e-4;){const o=s.RealValue;if(o>=2)r.push("1/2"),s.Sub(new Fraction$1(2,1));else if(o>=1)r.push("w"),s.Sub(new Fraction$1(1,1));else if(o<1&&o>=.5){if(e&&o>.5)return["w"];r.push("h"),s.Sub(new Fraction$1(1,2))}else if(o<.5&&o>=.25){if(e&&o>.25)return["h"];r.push("q"),s.Sub(new Fraction$1(1,4))}else if(o<.25&&o>=.125){if(e&&o>.125)return["q"];r.push("8"),s.Sub(new Fraction$1(1,8))}else if(o<.125&&o>=.0625){if(e&&o>.0625)return["8"];r.push("16"),s.Sub(new Fraction$1(1,16))}else if(o<.0625&&o>=.03125){if(e&&o>.03125)return["16"];r.push("32"),s.Sub(new Fraction$1(1,32))}else if(o<.03125&&o>=.015625){if(e&&o>.015625)return["32"];r.push("64"),s.Sub(new Fraction$1(1,64))}else{if(e)return["64"];r.push("128"),s.Sub(new Fraction$1(1,128))}}return r}static pitch(i,e,r,s=void 0,o=void 0){let a=o;o===void 0&&(a=3),e&&o===void 0&&(a=0,r.ClefType===ClefEnum.F&&(a=2),r.ClefType===ClefEnum.C&&(a=2));const l=NoteEnum[i.FundamentalNote].toLowerCase(),c=Pitch.accidentalVexflow(i.Accidental),u=i.Octave-r.OctaveOffset+a;let d="";return s&&(d=this.NoteHeadCode(s)),[l+"n/"+u+d,c,r]}static restToNotePitch(i,e){let r=i.Octave;switch(e){case ClefEnum.C:case ClefEnum.F:{r+=2;break}case ClefEnum.G:}return new Pitch(i.FundamentalNote,r,AccidentalEnum.NONE)}static NoteHeadCode(i){const e="/",r=i.Filled?"2":"1";switch(i.Shape){case NoteHeadShape.NORMAL:return"";case NoteHeadShape.DIAMOND:return e+"D"+r;case NoteHeadShape.TRIANGLE:return e+"T"+r;case NoteHeadShape.TRIANGLE_INVERTED:return e+"TI";case NoteHeadShape.X:return e+"X"+r;case NoteHeadShape.CIRCLEX:return e+"X3";case NoteHeadShape.RECTANGLE:return e+"R"+r;case NoteHeadShape.SQUARE:return e+"S"+r;case NoteHeadShape.SLASH:return"";default:return""}}static GhostNotes(i){const e=[],r=_VexFlowConverter.durations(i,!1);for(const s of r)e.push(new VF$a.GhostNote({duration:s}));return e}static StaveNote(i){var I,M,R,B,_,V,D,F,N,K,G,q,O,U,$,Y,Q,xe,ue;i.sortForVexflow();const e=i.notes,r=i.parentStaffEntry.parentMeasure.parentSourceMeasure.Rules,s=e[0];let o=[],a;const l=[],c=s.graphicalNoteLength,u=s.sourceNote.NoteTuplet!==void 0;let d=_VexFlowConverter.durations(c,u)[0];_VexFlowConverter.idx+=1,s.sourceNote.TypeLength!==void 0&&s.sourceNote.TypeLength!==c&&s.sourceNote.TypeLength.RealValue!==0&&(d=_VexFlowConverter.durations(s.sourceNote.TypeLength,u)[0],s.numberOfDots=s.sourceNote.DotsXml);let g,m=s.numberOfDots,y=!1,b=0,A=!1,S;for(const W of e){if(m=1&&Te.length-1>=ae+1&&(De=(_=(B=Te[ae-1])==null?void 0:B.graphicalVoiceEntries[0])==null?void 0:_.parentVoiceEntry,te=(D=(V=Te[ae+1])==null?void 0:V.graphicalVoiceEntries[0])==null?void 0:D.parentVoiceEntry,De&&te)){const H=De.Notes[0],ve=te.Notes[0];if((F=H.NoteBeam)!=null&&F.Notes.includes(ve)&&ve.ParentStaffEntry.ParentStaff.StafflineCount!==1){const pe=De.Notes.last().Pitch,ee=W.Clef(),ne=_VexFlowConverter.pitch(_VexFlowConverter.restToNotePitch(pe.getTransposedPitch(-2),ee.ClefType),!1,ee);pe.FundamentalNote===4&&(o=[ne[0]])}}}}if((W.sourceNote.IsWholeMeasureRest||c.RealValue===W.sourceNote.SourceMeasure.ActiveTimeSignature.RealValue)&&(o=r.DYMusicScoreType==="staff"?["d/5"]:["R/5"],d="w",m=0,y=!0,b=r.WholeRestXShiftVexflow*unitInPixels),[...W.sourceNote.ParentStaff.Voices].filter(Ee=>(Ee==null?void 0:Ee.VoiceId)!=1).length){const Ee=W.parentVoiceEntry.parentStaffEntry.graphicalVoiceEntries,Te=W.parentVoiceEntry.parentVoiceEntry.ParentVoice.VoiceId;let De,te;for(const ae of Ee)for(const H of ae.notes){if(H===W||H.sourceNote.isRest()||!H.sourceNote.PrintObject){W.lineShift=-2;continue}const ve=H.parentVoiceEntry.parentVoiceEntry.WantedStemDirection,pe=Te===1||Te===5,ee=pe?1:-1,me=H.sourceNote.Pitch.getHalfTone(),Be=ee===1&&me>De,oe=ee===-1&&me0){let ae=3;const H=W.Clef();switch(H.ClefType){case ClefEnum.F:ae=5;break;case ClefEnum.C:ae=4;break}S=Pitch.fromHalftone(De),o=[_VexFlowConverter.pitch(S,!0,H,void 0,ae)[0]]}}break}W.sourceNote.Notehead&&(W.sourceNote.Notehead.Shape,NoteHeadShape.SLASH);const J=W.vfpitch;if((K=(N=J[2])==null?void 0:N.Parent)!=null&&K.Instructions)for(let ce=0,ge=J[2].Parent.Instructions.length;ce0&&r.RenderLyrics&&r.LyricsUseXPaddingForLongLyrics){const ge=i.parentStaffEntry.parentMeasure,Ee=ge.staffEntries.indexOf(i.parentStaffEntry),Te=[];for(let ae=Ee+1;ae.25){J=!1;break}if(ae.LyricsEntries.length>0)break;const ve=Fraction$1.minus(H,te);ce+=ve.RealValue*32,te=H}}if(r.RenderLyrics&&r.LyricsUseXPaddingForLongLyrics&&W.length>0&&J){let ge=!1,Ee=0;for(const De of e)if(De.sourceNote.Length.RealValue<=.125){ge=!0;break}let Te=!1;for(const De of W){const te=r.LyricsXPaddingWidthThreshold;let ae=De.GraphicalLabel.PositionAndShape.Size.width;if(De.hasDashFromLyricWord()&&(ae+=.5),ae>te){Ee+=ae-te;const H=i.parentStaffEntry,ve=H.parentMeasure.staffEntries,ee=ve.indexOf(H)===ve.length-1;ee&&(ce+=r.LyricsXPaddingReductionForLastNoteInMeasure),ge||(ce+=r.LyricsXPaddingReductionForLongNotes),(r.LyricsXPaddingForLastNoteInMeasure||!ee)&&ae>te+ce&&(Te=!0,Ee-=ce);break}}Te&&(E.paddingRight=10*r.LyricsXPaddingFactorForLongLyrics*Ee)}}const C=i.notes[0].lineShift;if(C!==0&&(E.getKeyProps()[0].line+=C),e.length>1)for(let W=0;W1&&i.notes[0].sourceNote.ParentVoiceEntry.ParentVoice.VoiceId==1&&(E.getKeyProps()[0].line=4.5);const k=(Y=window.GYM)==null?void 0:Y.customBassDrum;if(k&&E.isRest()&&(E.getDuration()==="q"&&(E.getKeyProps()[0].line=k),E.getDuration()==="h"&&(E.getKeyProps()[0].line=k-1)),E.getKeyProps().forEach(({line:W},J)=>i.notes[J].staffLine=W),(r.LedgerLineWidth||r.LedgerLineStrokeStyle)&&(E.ledgerLineStyle||(E.ledgerLineStyle={}),r.LedgerLineWidth&&(E.ledgerLineStyle.lineWidth=r.LedgerLineWidth),r.LedgerLineStrokeStyle&&(E.ledgerLineStyle.strokeStyle=r.LedgerLineStrokeStyle)),r.ColoringEnabled){const W=r.DefaultColorStem;let J=i.parentVoiceEntry.StemColor;!J&&W&&(J=W);const ce={fillStyle:J,strokeStyle:J};J&&(E.setStemStyle(ce),E.flag&&r.ColorFlags&&E.setFlagStyle(ce))}if(E.x_shift=b,i.parentVoiceEntry.IsGrace&&i.notes[0].sourceNote.NoteBeam&&(i.parentVoiceEntry.WantedStemDirection=i.notes[0].sourceNote.NoteBeam.Notes[0].ParentVoiceEntry.WantedStemDirection),i.parentVoiceEntry){let W=i.parentVoiceEntry.WantedStemDirection;const J=((Q=window.GYM)==null?void 0:Q.stemDirectionNote)||[],ce=J==null?void 0:J.find(ge=>ge.id===i.notes[0].sourceNote.NoteToGraphicalNoteObjectId);switch(ce&&typeof(ce==null?void 0:ce.direction)=="number"&&(W=ce.direction),W){case StemDirectionType.Up:E.setStemDirection(VF$a.Stem.UP),i.parentVoiceEntry.StemDirection=StemDirectionType.Up;break;case StemDirectionType.Down:E.setStemDirection(VF$a.Stem.DOWN),i.parentVoiceEntry.StemDirection=StemDirectionType.Down;break}}for(let W=0,J=e.length;W0&&ge==="single"){const Ee=new VF$a.Tremolo(ce);Ee.extra_stroke_scale=r.TremoloStrokeScale,Ee.y_spacing_scale=r.TremoloYSpacingScale,E&&E.duration==="w"&&E.stem.setExtension(-9),E.addModifier(W,Ee)}if(ce>0&&ge==="start"&&this.noteTremoloList.push(E),ce>0&&ge==="stop"){if(this.noteTremoloList.push(E),this.noteTremoloList.filter(De=>De.duration==="w").length===this.noteTremoloList.length)try{this.noteTremoloList[0].keyProps&&this.noteTremoloList[1].keyProps&&((xe=(this.noteTremoloList[0].keyProps[0].line>this.noteTremoloList[1].keyProps[0].line?this.noteTremoloList[1]:this.noteTremoloList[0]).stem)==null||xe.setResetHeight(30))}catch(De){console.error("设置都是全音符,stem的高度失败")}const Te=new VF$a.Tremolo(ce,[...this.noteTremoloList]);Te.extra_stroke_scale=1.2,Te.y_spacing_scale=1.2,Te.x_shift=-30,E.addModifier(W,Te),this.noteTremoloList=[]}this.glissandoList.length&&(E.setVibrato(this.glissandoList[0].vfnote[0]),this.glissandoList=[]),e[W].sourceNote.glissandoType==="start"&&this.glissandoList.push(e[W])}if(this.slideNote){try{E.setSlideNote(this.slideNote)}catch(W){console.error(W)}this.slideNote=null}if(i.notes[0].sourceNote.slideType==="start"&&(this.slideNote=E),P.Length.RealValue===.25&&P.Notehead&&P.Notehead.Filled===!1){const W=E.getKeyProps();for(let J=0;J1){let W=E.getKeyProps().filter(ce=>!ce.code&&ce.line>3);!((ue=window.GYM)==null?void 0:ue.stemDirectionNote)&&W.length===o.length&&E.setStemDirection(-1)}r.DYMusicScoreType==="jianpu"&&window&&window.sett&&window.sett.keySignature&&E.addAccidental(0,new VF$a.Accidental("#"));try{const W=["b","#","§","º","X"],J={b:"b","#":"#","§":"n",º:"bb",X:"##"};for(const ce of e){const ge=ce.sourceNote.voiceEntry.Timestamp;for(const Ee of ce.sourceNote.SourceMeasure.StaffLinkedExpressions)for(const Te of Ee){const De=Fraction$1.Equal(ge,Te.Timestamp),ae=Te.EntriesList.map(H=>H.label).filter(H=>W.includes(H)).map(H=>J[H]);if(De){for(const H of ae)H&&E.addAnnotation(0,new VF$a.Annotation(H));break}}}}catch(W){}return E}static generateArticulations(i,e,r){var s,o,a,l,c,u;if(!(!i||i.getAttribute("type")==="GhostNote"))for(const d of e.sourceNote.ParentVoiceEntry.Articulations){let g=VF$a.Modifier.Position.ABOVE;i.getStemDirection()===VF$a.Stem.UP&&(g=VF$a.Modifier.Position.BELOW);let m;const y=d.articulationEnum;switch(r.ArticulationPlacementFromXML&&(d.placement===PlacementEnum.Above?g=VF$a.Modifier.Position.ABOVE:d.placement===PlacementEnum.Below&&(g=VF$a.Modifier.Position.BELOW)),y){case ArticulationEnum.accent:{m=new VF$a.Articulation("a>");const b=e.sourceNote.NoteSlurs;for(const A of b)A.StartNote===e.sourceNote&&(A.PlacementXml===PlacementEnum.Above?m.setYShift(-r.SlurStartArticulationYOffsetOfArticulation*10):A.PlacementXml===PlacementEnum.Below&&m.setYShift(r.SlurStartArticulationYOffsetOfArticulation*10));break}case ArticulationEnum.breathmark:{m=new VF$a.Articulation("abr"),d.placement===PlacementEnum.Above&&(g=VF$a.Modifier.Position.ABOVE),m.breathMarkDistance=r.BreathMarkDistance;break}case ArticulationEnum.downbow:{m=new VF$a.Articulation("am"),d.placement===void 0&&(g=VF$a.Modifier.Position.ABOVE,d.placement=PlacementEnum.Above);break}case ArticulationEnum.fermata:{m=new VF$a.Articulation("a@a"),g=VF$a.Modifier.Position.ABOVE,d.placement=PlacementEnum.Above;break}case ArticulationEnum.marcatodown:{m=new VF$a.Articulation("a|");break}case ArticulationEnum.marcatoup:{m=new VF$a.Articulation("a^"),g=VF$a.Modifier.Position.ABOVE;break}case ArticulationEnum.invertedfermata:{const b=e.sourceNote.ParentVoiceEntry,A=e.sourceNote;if(b!==A.ParentVoiceEntry.ParentSourceStaffEntry.VoiceEntries.last()){b.Articulations=b.Articulations.slice(b.Articulations.indexOf(d)),b.ParentSourceStaffEntry.VoiceEntries.last().Articulations.push(d);continue}m=new VF$a.Articulation("a@u"),g=VF$a.Modifier.Position.BELOW,d.placement=PlacementEnum.Below;break}case ArticulationEnum.lefthandpizzicato:{m=new VF$a.Articulation("a+");break}case ArticulationEnum.naturalharmonic:{m=new VF$a.Articulation("ah");break}case ArticulationEnum.snappizzicato:{m=new VF$a.Articulation("ao");break}case ArticulationEnum.staccatissimo:{m=new VF$a.Articulation("av");break}case ArticulationEnum.staccato:{m=new VF$a.Articulation("a.");break}case ArticulationEnum.tenuto:{m=new VF$a.Articulation("a-");break}case ArticulationEnum.upbow:{m=new VF$a.Articulation("a|"),d.placement===void 0&&(g=VF$a.Modifier.Position.ABOVE,d.placement=PlacementEnum.Above);break}case ArticulationEnum.strongaccent:{m=new VF$a.Articulation("a^");break}}m&&(!i.hasStem()&&!i.isRest()&&y==ArticulationEnum.accent&&i.getLineNumber()>=3&&(g=VF$a.Modifier.Position.ABOVE,(o=(s=i==null?void 0:i.modifiers)==null?void 0:s.filter(S=>["TREMOLO"].includes(S.getCategory().toLocaleUpperCase())))!=null&&o.length&&m.setYShift(-16)),y===ArticulationEnum.strongaccent&&(g=VF$a.Modifier.Position.ABOVE,(a=window.GYM)!=null&&a.customArtPosition&&(i.getStemDirection()===1?g=VF$a.Modifier.Position.ABOVE:(g=VF$a.Modifier.Position.BELOW,m=new VF$a.Articulation("a|")))),(l=window.GYM)!=null&&l.customAccentItem&&y===ArticulationEnum.accent&&(g=VF$a.Modifier.Position.ABOVE),(c=window.GYM)!=null&&c.customLefthandpizzicatoItem&&(y===ArticulationEnum.lefthandpizzicato||y===ArticulationEnum.naturalharmonic)&&(g=VF$a.Modifier.Position.ABOVE),y===ArticulationEnum.tenuto&&i.getDuration()==="w"&&((u=window.GYM)!=null&&u.customTenutoItem)&&(g=VF$a.Modifier.Position.ABOVE),m.setPosition(g),i.addModifier(0,m))}}static generateOrnaments(i,e){let r=VF$a.Modifier.Position.ABOVE;e.placement===PlacementEnum.Below&&(r=VF$a.Modifier.Position.BELOW);let s;switch(e.GetOrnament){case OrnamentEnum.DelayedInvertedTurn:{s=new VF$a.Ornament("turn_inverted"),s.setDelayed(!0);break}case OrnamentEnum.DelayedTurn:{s=new VF$a.Ornament("turn"),s.setDelayed(!0);break}case OrnamentEnum.InvertedMordent:{s=new VF$a.Ornament("mordent"),s.setDelayed(!1);break}case OrnamentEnum.InvertedTurn:{s=new VF$a.Ornament("turn_inverted"),s.setDelayed(!1);break}case OrnamentEnum.Mordent:{s=new VF$a.Ornament("mordent_inverted"),s.setDelayed(!1);break}case OrnamentEnum.Trill:{s=new VF$a.Ornament("tr"),s.setDelayed(!1);break}case OrnamentEnum.Turn:{s=new VF$a.Ornament("turn"),s.setDelayed(!1);break}default:{loglevelExports.warn("unhandled OrnamentEnum type: "+e.GetOrnament);return}}s&&(e.AccidentalBelow!==AccidentalEnum.NONE&&s.setLowerAccidental(Pitch.accidentalVexflow(e.AccidentalBelow)),e.AccidentalAbove!==AccidentalEnum.NONE&&s.setUpperAccidental(Pitch.accidentalVexflow(e.AccidentalAbove)),s.setPosition(r),i.addModifier(0,s))}static StrokeTypeFromArpeggioType(i){switch(i){case ArpeggioType.ARPEGGIO_DIRECTIONLESS:return VF$a.Stroke.Type.ARPEGGIO_DIRECTIONLESS;case ArpeggioType.BRUSH_DOWN:return VF$a.Stroke.Type.BRUSH_UP;case ArpeggioType.BRUSH_UP:return VF$a.Stroke.Type.BRUSH_DOWN;case ArpeggioType.RASQUEDO_DOWN:return VF$a.Stroke.Type.RASQUEDO_UP;case ArpeggioType.RASQUEDO_UP:return VF$a.Stroke.Type.RASQUEDO_DOWN;case ArpeggioType.ROLL_DOWN:return VF$a.Stroke.Type.ROLL_UP;case ArpeggioType.ROLL_UP:return VF$a.Stroke.Type.ROLL_DOWN;default:return VF$a.Stroke.Type.ARPEGGIO_DIRECTIONLESS}}static CreateTabNote(i){const e=[],r=i.notes.reverse(),s=[],o=i.notes[0].graphicalNoteLength,a=i.notes[0].sourceNote.NoteTuplet!==void 0;let l=_VexFlowConverter.durations(o,a)[0],c=0;for(const d of i.notes){const g=d.sourceNote;let m={str:g.StringNumberTab,fret:g.FretNumber};d.sourceNote instanceof TabNote||(loglevelExports.info(`invalid tab note: ${d.sourceNote.Pitch.ToString()} in measure ${i.parentStaffEntry.parentMeasure.MeasureNumber}, likely missing XML string+fret number.`),m={str:1,fret:0}),e.push(m),g.BendArray&&g.BendArray.forEach(function(y){let b;const A=y.bendalter-m.fret;A>1?b="Full":A===1?b="1/2":b="1/4",y.direction==="up"?s.push({type:VF$a.Bend.UP,text:b,width:10}):s.push({type:VF$a.Bend.DOWN,text:b,width:10})}),c(i[i.VA8=0]="VA8",i[i.VB8=1]="VB8",i[i.MA15=2]="MA15",i[i.MB15=3]="MB15",i[i.NONE=4]="NONE",i))(OctaveEnum||{});class AbstractTempoExpression extends AbstractExpression{constructor(e,r,s,o){super(r),this.label=e,this.staffNumber=s,this.parentMultiTempoExpression=o}get Label(){return this.label}set Label(e){this.label=e}get Placement(){return this.placement}set Placement(e){this.placement=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get ParentMultiTempoExpression(){return this.parentMultiTempoExpression}static isStringInStringList(e,r){for(const s of e)if(AbstractTempoExpression.stringContainsSeparatedWord(r.toLowerCase().trim(),s.toLowerCase().trim()))return!0;return!1}static stringContainsSeparatedWord(e,r){return e===r||e.indexOf(" "+r)!==-1||e.indexOf(r+" ")!==-1}}const _InstantaneousTempoExpression=class extends AbstractTempoExpression{constructor(i,e,r,s,o,a=!1){super(i,e,r,o),this.isMetronomeMark=a,this.setTempoAndTempoType(s)}static getDefaultValueForTempoType(i){switch(i){case 1:return 20;case 2:return 30;case 3:return 48;case 4:return 52;case 5:return 63;case 6:return 70;case 7:return 75;case 8:return 88;case 9:return 92;case 10:return 96;case 11:return 106;case 12:return 112;case 13:return 118;case 14:return 130;case 15:return 140;case 16:return 155;case 17:return 170;case 18:return 184;case 19:return 200;default:throw new ArgumentOutOfRangeException("tempoEnum")}}static isInputStringInstantaneousTempo(i){return i?_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghissimo,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoGrave,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLento,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLargo,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghetto,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagio,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagietto,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndanteModerato,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndante,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndantino,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoModerato,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegretto,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegro,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivace,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivacissimo,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegrissimo,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPresto,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPrestissimo,i)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral,i):!1}get Label(){return this.label}set Label(i){this.label=i}get Placement(){return this.placement}set Placement(i){this.placement=i}get StaffNumber(){return this.staffNumber}set StaffNumber(i){this.staffNumber=i}get Enum(){return this.tempoEnum}get TempoInBpm(){return this.tempoInBpm}set TempoInBpm(i){this.tempoInBpm=i}get ParentMultiTempoExpression(){return this.parentMultiTempoExpression}getAbsoluteTimestamp(){return Fraction$1.plus(this.ParentMultiTempoExpression.SourceMeasureParent.AbsoluteTimestamp,this.ParentMultiTempoExpression.Timestamp)}getAbsoluteFloatTimestamp(){return Fraction$1.plus(this.ParentMultiTempoExpression.SourceMeasureParent.AbsoluteTimestamp,this.ParentMultiTempoExpression.Timestamp).RealValue}setTempoAndTempoType(i){if(!this.label){this.tempoInBpm=i,this.tempoEnum=23;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghissimo,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(1)),this.tempoInBpm=i,this.tempoEnum=1;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoGrave,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(2)),this.tempoInBpm=i,this.tempoEnum=2;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLento,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(3)),this.tempoInBpm=i,this.tempoEnum=3;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLargo,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(4)),this.tempoInBpm=i,this.tempoEnum=4;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghetto,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(5)),this.tempoInBpm=i,this.tempoEnum=5;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagio,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(6)),this.tempoInBpm=i,this.tempoEnum=6;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagietto,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(7)),this.tempoInBpm=i,this.tempoEnum=7;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndanteModerato,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(8)),this.tempoInBpm=i,this.tempoEnum=8;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndante,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(9)),this.tempoInBpm=i,this.tempoEnum=9;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndantino,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(10)),this.tempoInBpm=i,this.tempoEnum=10;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoModerato,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(11)),this.tempoInBpm=i,this.tempoEnum=11;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegretto,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(12)),this.tempoInBpm=i,this.tempoEnum=12;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(13)),this.tempoInBpm=i,this.tempoEnum=13;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegro,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(14)),this.tempoInBpm=i,this.tempoEnum=14;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivace,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(15)),this.tempoInBpm=i,this.tempoEnum=15;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivacissimo,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(16)),this.tempoInBpm=i,this.tempoEnum=16;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegrissimo,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(17)),this.tempoInBpm=i,this.tempoEnum=17;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPresto,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(18)),this.tempoInBpm=i,this.tempoEnum=18;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPrestissimo,this.label)){i===0&&(i=_InstantaneousTempoExpression.getDefaultValueForTempoType(19)),this.tempoInBpm=i,this.tempoEnum=19;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAddons,this.label)){this.tempoInBpm=0,this.tempoEnum=21;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral,this.label)){this.tempoInBpm=0,this.tempoEnum=22;return}}};let InstantaneousTempoExpression=_InstantaneousTempoExpression;InstantaneousTempoExpression.listInstantaneousTempoLarghissimo=["Larghissimo","Sehr breit","very, very slow"];InstantaneousTempoExpression.listInstantaneousTempoGrave=["Grave","Schwer","slow and solemn"];InstantaneousTempoExpression.listInstantaneousTempoLento=["Lento","Lent","Langsam","slowly"];InstantaneousTempoExpression.listInstantaneousTempoLargo=["Largo","Breit","broadly"];InstantaneousTempoExpression.listInstantaneousTempoLarghetto=["Larghetto","Etwas breit","rather broadly"];InstantaneousTempoExpression.listInstantaneousTempoAdagio=["Adagio","Langsam","Ruhig","slow and stately"];InstantaneousTempoExpression.listInstantaneousTempoAdagietto=["Adagietto","Ziemlich ruhig","Ziemlich langsam","rather slow"];InstantaneousTempoExpression.listInstantaneousTempoAndanteModerato=["Andante moderato"];InstantaneousTempoExpression.listInstantaneousTempoAndante=["Andante","Gehend","Schreitend","at a walking pace"];InstantaneousTempoExpression.listInstantaneousTempoAndantino=["Andantino","Maestoso"];InstantaneousTempoExpression.listInstantaneousTempoModerato=["Moderato","Mäßig","Modéré","moderately"];InstantaneousTempoExpression.listInstantaneousTempoAllegretto=["Allegretto","Animato","fast"];InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato=["Allegro moderato"];InstantaneousTempoExpression.listInstantaneousTempoAllegro=["Allegro","Rapide","Vite","Rasch","Schnell","Fröhlich"];InstantaneousTempoExpression.listInstantaneousTempoVivace=["Vivace","Allegro Assai","Lebhaft","Lebendig","lively and fast"];InstantaneousTempoExpression.listInstantaneousTempoVivacissimo=["Vivacissimo","Sehr lebhaft","Sehr lebendig"];InstantaneousTempoExpression.listInstantaneousTempoAllegrissimo=["Allegrissimo","very fast"];InstantaneousTempoExpression.listInstantaneousTempoPresto=["Presto","Sehr schnell","Geschwind"];InstantaneousTempoExpression.listInstantaneousTempoPrestissimo=["Prestissimo","äußerst schnell"];InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral=["tempo primo","a tempo","tempo i","rubato","doppio movimento","rallentando","ritardando","ritard.","rit.","ritard","rall...","accelerando","accel"];InstantaneousTempoExpression.listInstantaneousTempoAddons=["assai","amoroso","cantabile","con brio","con dolore","con espressione","con fuoco","con moto","con spirito","spiritoso","espressivo","giocoso","giusto","grazioso","lesto","lugubre","maestoso","ma non troppo","marcato","molto","morendo","mosso","non tanto","piu","un poco","poco","quasi","risoluto","scherzando","sostenuto","teneramente","tempo giusto","tranquillo","sehr","lieblich","liebevoll","mit Leidenschaft","mit Liebe","amourös","gesanglich","mit Schwung","mit Feuer","mit Schmerz","mit Ausdruck","mit Bewegung","geistvoll","ausdrucksvoll","freudig","verspielt","angemessen","graziös","mit Grazie","flink","behände","traurig","klagend","majestätisch","aber nicht zu sehr","markant","gemäßigt","viel","sehr","ersterbend","bewegt","nicht zu sehr","mehr","ein wenig","gleichsam","entschlossen","zupackend","heiter","nachdrücklich","getragen","gewichtig","zart","zärtlich","im angemessenen Zeitmaß","ruhig","ein wenig","alla marcia","ad libitum","alla breve"];var TempoEnum=(i=>(i[i.none=0]="none",i[i.larghissimo=1]="larghissimo",i[i.grave=2]="grave",i[i.lento=3]="lento",i[i.largo=4]="largo",i[i.larghetto=5]="larghetto",i[i.adagio=6]="adagio",i[i.adagietto=7]="adagietto",i[i.andanteModerato=8]="andanteModerato",i[i.andante=9]="andante",i[i.andantino=10]="andantino",i[i.moderato=11]="moderato",i[i.allegretto=12]="allegretto",i[i.allegroModerato=13]="allegroModerato",i[i.allegro=14]="allegro",i[i.vivace=15]="vivace",i[i.vivacissimo=16]="vivacissimo",i[i.allegrissimo=17]="allegrissimo",i[i.presto=18]="presto",i[i.prestissimo=19]="prestissimo",i[i.lastRealTempo=20]="lastRealTempo",i[i.addon=21]="addon",i[i.changes=22]="changes",i[i.metronomeMark=23]="metronomeMark",i))(TempoEnum||{});const _MoodExpression=class extends AbstractExpression{constructor(i,e,r){super(e),this.label=i,this.staffNumber=r,this.setMoodType()}static isInputStringMood(i){return i?_MoodExpression.isStringInStringList(_MoodExpression.listMoodAffettuoso,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAgitato,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAnimato,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAppassionato,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodBrillante,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodCantabile,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodDolce,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEnergico,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEroico,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEspressivo,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodFurioso,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGiocoso,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGioioso,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrandioso,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrazioso,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodLacrimoso,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodLeggiero,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMaestoso,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMalinconico,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarcato,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarziale,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMesto,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMorendo,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodNobilmente,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodPatetico,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodPesante,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSaltando,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSautille,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodScherzando,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSostenuto,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSpiccato,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTenerezza,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTranquillamente,i)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTrionfante,i):!1}get Label(){return this.label}set Label(i){this.label=i}get Mood(){return this.moodType}set Mood(i){this.moodType=i}get StaffNumber(){return this.staffNumber}set StaffNumber(i){this.staffNumber=i}get Placement(){return this.placement}set Placement(i){this.placement=i}setMoodType(){_MoodExpression.isStringInStringList(_MoodExpression.listMoodAffettuoso,this.label)?this.moodType=0:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAgitato,this.label)?this.moodType=1:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAnimato,this.label)?this.moodType=3:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAppassionato,this.label)?this.moodType=2:_MoodExpression.isStringInStringList(_MoodExpression.listMoodBrillante,this.label)?this.moodType=4:_MoodExpression.isStringInStringList(_MoodExpression.listMoodCantabile,this.label)?this.moodType=5:_MoodExpression.isStringInStringList(_MoodExpression.listMoodDolce,this.label)?this.moodType=6:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEnergico,this.label)?this.moodType=7:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEroico,this.label)?this.moodType=8:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEspressivo,this.label)?this.moodType=9:_MoodExpression.isStringInStringList(_MoodExpression.listMoodFurioso,this.label)?this.moodType=10:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGiocoso,this.label)?this.moodType=11:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGioioso,this.label)?this.moodType=12:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrandioso,this.label)?this.moodType=14:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrazioso,this.label)?this.moodType=15:_MoodExpression.isStringInStringList(_MoodExpression.listMoodLacrimoso,this.label)?this.moodType=13:_MoodExpression.isStringInStringList(_MoodExpression.listMoodLeggiero,this.label)?this.moodType=16:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMaestoso,this.label)?this.moodType=17:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMalinconico,this.label)?this.moodType=18:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarcato,this.label)?this.moodType=19:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarziale,this.label)?this.moodType=20:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMesto,this.label)?this.moodType=21:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMorendo,this.label)?this.moodType=22:_MoodExpression.isStringInStringList(_MoodExpression.listMoodNobilmente,this.label)?this.moodType=23:_MoodExpression.isStringInStringList(_MoodExpression.listMoodPatetico,this.label)?this.moodType=24:_MoodExpression.isStringInStringList(_MoodExpression.listMoodPesante,this.label)?this.moodType=25:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSaltando,this.label)?this.moodType=27:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSautille,this.label)?this.moodType=26:_MoodExpression.isStringInStringList(_MoodExpression.listMoodScherzando,this.label)?this.moodType=28:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSostenuto,this.label)?this.moodType=29:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSpiccato,this.label)?this.moodType=30:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTenerezza,this.label)?this.moodType=31:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTranquillamente,this.label)?this.moodType=32:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTrionfante,this.label)&&(this.moodType=33)}};let MoodExpression=_MoodExpression;MoodExpression.listMoodAffettuoso=["affettuoso"];MoodExpression.listMoodAgitato=["agitato"];MoodExpression.listMoodAppassionato=["appassionato"];MoodExpression.listMoodAnimato=["animato","lively"];MoodExpression.listMoodBrillante=["brillante"];MoodExpression.listMoodCantabile=["cantabile"];MoodExpression.listMoodDolce=["dolce"];MoodExpression.listMoodEnergico=["energico"];MoodExpression.listMoodEroico=["eroico"];MoodExpression.listMoodEspressivo=["espressivo"];MoodExpression.listMoodFurioso=["furioso"];MoodExpression.listMoodGiocoso=["giocoso"];MoodExpression.listMoodGioioso=["gioioso"];MoodExpression.listMoodLacrimoso=["lacrimoso"];MoodExpression.listMoodGrandioso=["grandioso"];MoodExpression.listMoodGrazioso=["grazioso"];MoodExpression.listMoodLeggiero=["leggiero"];MoodExpression.listMoodMaestoso=["maestoso"];MoodExpression.listMoodMalinconico=["malinconico"];MoodExpression.listMoodMarcato=["marcato"];MoodExpression.listMoodMarziale=["marziale"];MoodExpression.listMoodMesto=["mesto"];MoodExpression.listMoodMorendo=["morendo"];MoodExpression.listMoodNobilmente=["nobilmente"];MoodExpression.listMoodPatetico=["patetico"];MoodExpression.listMoodPesante=["pesante"];MoodExpression.listMoodSautille=["sautille"];MoodExpression.listMoodSaltando=["saltando"];MoodExpression.listMoodScherzando=["scherzando"];MoodExpression.listMoodSostenuto=["sostenuto"];MoodExpression.listMoodSpiccato=["spiccato"];MoodExpression.listMoodTenerezza=["tenerezza"];MoodExpression.listMoodTranquillamente=["tranquillamente"];MoodExpression.listMoodTrionfante=["trionfante"];class UnknownExpression extends AbstractExpression{constructor(e,r,s,o){super(r),this.label=e,this.staffNumber=o,s===void 0&&(s=TextAlignmentEnum.LeftBottom),this.textAlignment=s}get Label(){return this.label}get Placement(){return this.placement}set Placement(e){this.placement=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get TextAlignment(){return this.textAlignment}}class MultiExpression{constructor(e,r){this.unknownList=[],this.moodList=[],this.expressions=[],this.sourceMeasure=e,this.timestamp=r}get SourceMeasureParent(){return this.sourceMeasure}set SourceMeasureParent(e){this.sourceMeasure=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get Timestamp(){return this.timestamp}set Timestamp(e){this.timestamp=e}get AbsoluteTimestamp(){return Fraction$1.plus(this.timestamp,this.sourceMeasure.AbsoluteTimestamp)}get InstantaneousDynamic(){return this.instantaneousDynamic}set InstantaneousDynamic(e){this.instantaneousDynamic=e}get EndingContinuousDynamic(){return this.endingContinuousDynamic}set EndingContinuousDynamic(e){this.endingContinuousDynamic=e}get StartingContinuousDynamic(){return this.startingContinuousDynamic}set StartingContinuousDynamic(e){this.startingContinuousDynamic=e}get MoodList(){return this.moodList}get UnknownList(){return this.unknownList}get EntriesList(){return this.expressions}get OctaveShiftStart(){return this.octaveShiftStart}set OctaveShiftStart(e){this.octaveShiftStart=e}get OctaveShiftEnd(){return this.octaveShiftEnd}set OctaveShiftEnd(e){this.octaveShiftEnd=e}get CombinedExpressionsText(){return this.combinedExpressionsText}set CombinedExpressionsText(e){this.combinedExpressionsText=e}getPlacementOfFirstEntry(){let e=PlacementEnum.Above;return this.expressions.length>0&&(this.expressions[0].expression instanceof InstantaneousDynamicExpression?e=this.expressions[0].expression.Placement:this.expressions[0].expression instanceof ContinuousDynamicExpression?e=this.expressions[0].expression.Placement:this.expressions[0].expression instanceof MoodExpression?e=this.expressions[0].expression.Placement:this.expressions[0].expression instanceof UnknownExpression&&(e=this.expressions[0].expression.Placement)),e}getFontstyleOfFirstEntry(){var r;let e=FontStyles.Regular;return this.expressions.length>0&&(this.expressions[0].expression instanceof ContinuousDynamicExpression||this.expressions[0].expression instanceof MoodExpression?e=FontStyles.Italic:this.expressions[0].expression instanceof UnknownExpression&&(e=(r=this.expressions[0].expression.fontStyle)!=null?r:FontStyles.Regular)),e}addExpression(e,r){e instanceof InstantaneousDynamicExpression?(this.instantaneousDynamic&&this.removeExpressionFromEntryList(this.InstantaneousDynamic),this.instantaneousDynamic=e,this.instantaneousDynamic.ParentMultiExpression=this):e instanceof ContinuousDynamicExpression?this.startingContinuousDynamic=e:e instanceof MoodExpression?this.moodList.push(e):e instanceof UnknownExpression&&this.unknownList.push(e),this.addExpressionToEntryList(e,r)}CompareTo(e){return this.Timestamp.RealValue>e.Timestamp.RealValue?1:this.Timestamp.RealValue=5&&i<=12}get TempoType(){return this.tempoType}set TempoType(i){this.tempoType=i}get StartTempo(){return this.startTempo}set StartTempo(i){this.startTempo=i}get EndTempo(){return this.endTempo}set EndTempo(i){this.endTempo=i}get AbsoluteEndTimestamp(){return this.absoluteEndTimestamp}set AbsoluteEndTimestamp(i){this.absoluteEndTimestamp=i}get AbsoluteTimestamp(){return this.ParentMultiTempoExpression.AbsoluteTimestamp}getAbsoluteFloatTimestamp(){return this.ParentMultiTempoExpression.AbsoluteTimestamp.RealValue}getInterpolatedTempo(i){const e=Fraction$1.plus(this.parentMultiTempoExpression.SourceMeasureParent.AbsoluteTimestamp,this.parentMultiTempoExpression.Timestamp);if(i.lt(e))return-1;if(this.absoluteEndTimestamp.lt(i))return-2;const r=Fraction$1.minus(i,e).RealValue/Fraction$1.minus(this.absoluteEndTimestamp,e).RealValue;return Math.max(0,Math.min(250,this.startTempo+(this.endTempo-this.startTempo)*r))}setTempoType(){_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoFaster,this.label)?this.tempoType=0:_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoSlower,this.label)&&(this.tempoType=9)}};let ContinuousTempoExpression=_ContinuousTempoExpression;ContinuousTempoExpression.listContinuousTempoFaster=["accelerando","piu mosso","poco piu","stretto"];ContinuousTempoExpression.listContinuousTempoSlower=["poco meno","meno mosso","piu lento","calando","allargando","rallentando","ritardando","ritenuto","ritard.","ritard","rit.","rit","riten.","riten"];class MultiTempoExpression{constructor(e,r){this.expressions=[],this.sourceMeasure=e,this.timestamp=r}get Timestamp(){return this.timestamp}get AbsoluteTimestamp(){return Fraction$1.plus(this.sourceMeasure.AbsoluteTimestamp,this.timestamp)}get SourceMeasureParent(){return this.sourceMeasure}set SourceMeasureParent(e){this.sourceMeasure=e}get InstantaneousTempo(){return this.instantaneousTempo}get ContinuousTempo(){return this.continuousTempo}get EntriesList(){return this.expressions}get CombinedExpressionsText(){return this.combinedExpressionsText}set CombinedExpressionsText(e){this.combinedExpressionsText=e}getPlacementOfFirstEntry(){let e=PlacementEnum.Above;return this.expressions.length>0&&(this.expressions[0].Expression instanceof InstantaneousTempoExpression?e=this.expressions[0].Expression.Placement:this.expressions[0].Expression instanceof ContinuousTempoExpression&&(e=this.expressions[0].Expression.Placement)),e}getFontstyleOfFirstEntry(){let e=FontStyles.Regular;return this.expressions[0].Expression instanceof InstantaneousTempoExpression?e=FontStyles.Bold:this.expressions[0].Expression instanceof ContinuousTempoExpression&&(e=FontStyles.Italic),e}addExpression(e,r){if(this.checkIfAlreadyExists(e))return;e instanceof InstantaneousTempoExpression?this.instantaneousTempo=e:e instanceof ContinuousTempoExpression&&(this.continuousTempo=e);const s=new TempoExpressionEntry;s.prefix=r,s.Expression=e,s.label=e.Label,this.expressions.push(s)}CompareTo(e){return this.Timestamp.RealValue>e.Timestamp.RealValue?1:this.Timestamp.RealValue0){if(this.rules.MaxSystemToDrawNumber===this.musicSystems.length)return this.finalizeCurrentSystem(this.measureList[this.measureList.length-1],!this.rules.StretchLastSystemLine,!1),this.musicSystems;this.finalizeCurrentAndCreateNewSystem(this.measureList[this.measureList.length-1],!this.rules.StretchLastSystemLine,!1)}return this.musicSystems}calculateSystemYLayout(){for(const e of this.musicSystems)this.optimizeDistanceBetweenStaffLines(e);this.calculateMusicSystemsRelativePositions()}setMeasureWidth(e,r,s,o){for(let a=0,l=e.length;a0&&(c.beginInstructionsWidth=s),o>0&&(c.endInstructionsWidth=o)}}finalizeCurrentAndCreateNewSystem(e,r=!1,s=!0,o=!1){this.finalizeCurrentSystem(e,r,s,o),this.currentSystemParams=new SystemBuildParameters,e!==void 0&&this.measureListIndex=1){const r=this.currentSystemParams.currentSystem.GraphicalMeasures[this.currentSystemParams.currentSystem.GraphicalMeasures.length-1];let s=0;const o=e[e.length-1];o.endLine===SystemLinesEnum.DotsBoldBoldDots&&(o.endLine=SystemLinesEnum.DotsThinBold,s=r[0].getLineWidth(SystemLinesEnum.DotsBoldBoldDots)/2-r[0].getLineWidth(SystemLinesEnum.DotsThinBold)),this.currentSystemParams.currentSystemFixWidth-=s;for(let a=0,l=r.length;a1){l=!0;break}}let c=0;for(let u=0;u=0&&this.measureList[I]){const R=(C=this.measureList[I][0])==null?void 0:C.parentSourceMeasure;R!=null&&R.ImplicitMeasure&&(R!=null&&R.RhythmPrinted)&&(T=!1)}T&&(r.addRhythmAtBegin(d,s),r.parentSourceMeasure.RhythmPrinted=d,b=!0)}return(m||y||b)&&(l+=r.beginInstructionsWidth,b&&(l+=this.rules.RhythmRightMargin)),l}addInstructionsAtMeasureEnd(e,r,s){if(!e||!e.Instructions||e.Instructions.length===0)return 0;for(let o=0,a=e.Instructions.length;o0&&(this.currentSystemParams.systemMeasures.push({beginLine:SystemLinesEnum.None,endLine:SystemLinesEnum.None}),this.currentSystemParams.currentWidth+=o,this.currentSystemParams.currentSystemFixWidth+=o)}addExtraInstructionMeasure(e,r,s){const o=this.currentSystemParams.currentSystem,a=MusicSheetCalculator.symbolFactory.createExtraGraphicalMeasure(o.StaffLines[e]);r&&a.addKeyAtBegin(r,this.activeKeys[e],this.activeClefs[e]),s!==void 0&&s.PrintObject&&a.addRhythmAtBegin(s),a.PositionAndShape.BorderLeft=0,a.PositionAndShape.BorderTop=0,a.PositionAndShape.BorderBottom=this.rules.StaffHeight;const l=this.rules.MeasureLeftMargin+a.beginInstructionsWidth+this.rules.MeasureRightMargin;return a.PositionAndShape.BorderRight=l,o.StaffLines[e].Measures.push(a),l}addStaveMeasuresToSystem(e){if(e[0]){const r=[];for(let o=0;o1){const c=Math.min(this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length-1,e.measureListIndex+e.multipleRestMeasures-1);e=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[c]}}finally{}const r=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures,s=r[this.measureListIndex];let o=!1;return s.allRests&&(o=(l=(a=r[this.measureListIndex+s.multipleRestMeasures-1])==null?void 0:a.endsWithLineRepetition)==null?void 0:l.call(a)),this.nextMeasureBeginsLineRepetition()&&this.thisMeasureEndsLineRepetition()?SystemLinesEnum.DotsBoldBoldDots:this.thisMeasureEndsLineRepetition()||o?SystemLinesEnum.DotsThinBold:this.nextMeasureHasKeyInstructionChange()||this.thisMeasureEndsWordRepetition()||this.nextMeasureBeginsWordRepetition()?SystemLinesEnum.DoubleThin:e&&e.endingBarStyleEnum!==void 0?e.endingBarStyleEnum:SystemLinesEnum.SingleThin}getLineWidth(e,r,s){let o=e.getLineWidth(r);return r===SystemLinesEnum.DotsBoldBoldDots&&(o/=2),s&&r===SystemLinesEnum.BoldThinDots&&(o+=this.rules.DistanceBetweenLastInstructionAndRepetitionBarline),o}previousMeasureEndsLineRepetition(){if(this.measureListIndex===0)return!1;for(let e=0,r=this.measureList[this.measureListIndex-1].length;e=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length||!this.measureList[e])return!1;for(let r=0,s=this.measureList[e].length;r=u)l=g,u=g.multipleRestMeasureNumber;else break}return l.endsWithLineRepetition()}}return!1}nextMeasureBeginsWordRepetition(){const e=this.measureListIndex+1;if(e>=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length||e>this.measureList.length-1)return!1;for(let r=0,s=this.measureList[e].length;r1)for(let c=1;ca&&(a=g)}for(let c=0;cthis.rules.PageHeight-this.rules.PageBottomMargin&&(o++,o<=4&&console.log(`warning: could not fit a single system on page ${e.PageNumber} and measure number ${s.GraphicalMeasures[0][0].MeasureNumber}. The PageFormat may be too small for this sheet." Will not give further warnings for all pages, only total.`))}else{const u=this.musicSystems[c-1],d=u.StaffLines[u.StaffLines.length-1],g=d.PositionAndShape;let m=this.findRequiredDistanceWithSkyBottomLine(u,s);m=Math.max(a,m),m+=this.rules.MinSkyBottomDistBetweenSystems,((l=window==null?void 0:window.appName)==null?void 0:l.toLocaleUpperCase())==="GYM"&&(m=m<16?16:m);const y=this.hasExpressionCounts(s);y.TempoCount>0&&this.rules.MetronomeMarksDrawn&&(m+=2),y.OtherCount>0&&this.rules.MetronomeMarksDrawn&&(m+=2),m=Math.max(m,this.rules.MinimumDistanceBetweenSystems+d.StaffHeight);const b=r+g.RelativePosition.y+m,A=b+s.PositionAndShape.BorderMarginBottom;if(!(this.rules.NewPageAtXMLNewPageAttribute&&u.breaksPage)&&A0&&console.log(`total amount of pages that couldn't fit a single music system: ${o} of ${e.PageNumber}`)}findRequiredDistanceWithSkyBottomLine(e,r){const s=e.StaffLines[e.StaffLines.length-1],o=r.StaffLines[0],a=s.BottomLine,l=o.SkyLine,c=s.PositionAndShape,u=o.PositionAndShape,d=1/this.rules.SamplingUnit;let g=0;for(let m=0;m=l.length)break;const A=Math.max(0,b-6),S=Math.min(l.length-1,b+6);let E=0;for(let P=A;P<=S;P++)E=Math.min(E,l[P]);const x=y-E;g=Math.max(x,g)}return g===0&&(g=c.BorderBottom-u.BorderTop),g}}class SystemBuildParameters{constructor(){this.systemMeasures=[],this.systemMeasureIndex=0,this.currentWidth=0,this.currentSystemFixWidth=0,this.currentSystemVarWidth=0,this.maxLabelLength=0}IsSystemStartMeasure(){return this.systemMeasureIndex===0}}class OctaveShiftParams{constructor(e,r,s){this.getOpenOctaveShift=e,this.getAbsoluteStartTimestamp=r,this.getAbsoluteEndTimestamp=s}}class AccidentalCalculator{constructor(){this.keySignatureNoteAlterationsDict=new Dictionary,this.currentAlterationsComparedToKeyInstructionList=[],this.currentInMeasureNoteAlterationsDict=new Dictionary}get ActiveKeyInstruction(){return this.activeKeyInstruction}set ActiveKeyInstruction(e){this.activeKeyInstruction=e,this.reactOnKeyInstructionChange()}doCalculationsAtEndOfMeasure(){this.currentInMeasureNoteAlterationsDict.clear(),this.currentAlterationsComparedToKeyInstructionList.clear();for(const e of this.keySignatureNoteAlterationsDict.keys())this.currentInMeasureNoteAlterationsDict.setValue(e,this.keySignatureNoteAlterationsDict.getValue(e))}checkAccidental(e,r){if(!r)return;const s=r.FundamentalNote+r.Octave*12,o=this.currentAlterationsComparedToKeyInstructionList.indexOf(s)>=0;if(this.currentInMeasureNoteAlterationsDict.containsKey(s)){if(o&&this.currentAlterationsComparedToKeyInstructionList.splice(this.currentAlterationsComparedToKeyInstructionList.indexOf(s),1),this.currentInMeasureNoteAlterationsDict.getValue(s)!==r.AccidentalHalfTones){this.keySignatureNoteAlterationsDict.containsKey(s)&&this.keySignatureNoteAlterationsDict.getValue(s)!==r.AccidentalHalfTones?(this.currentAlterationsComparedToKeyInstructionList.push(s),this.currentInMeasureNoteAlterationsDict.setValue(s,r.AccidentalHalfTones)):r.Accidental!==AccidentalEnum.NONE&&this.currentInMeasureNoteAlterationsDict.remove(s);const a=this.currentInMeasureNoteAlterationsDict.getValue(s);if(r.Accidental===AccidentalEnum.NONE&&(Math.abs(a)===.5?r=new Pitch(r.FundamentalNote,r.Octave,AccidentalEnum.NONE):r=new Pitch(r.FundamentalNote,r.Octave,AccidentalEnum.NATURAL)),this.isAlterAmbiguousAccidental(r.Accidental)&&!r.AccidentalXml)return;MusicSheetCalculator.symbolFactory.addGraphicalAccidental(e,r)}}else if(r.Accidental!==AccidentalEnum.NONE){if(o||this.currentAlterationsComparedToKeyInstructionList.push(s),this.currentInMeasureNoteAlterationsDict.setValue(s,r.AccidentalHalfTones),this.isAlterAmbiguousAccidental(r.Accidental)&&!r.AccidentalXml)return;MusicSheetCalculator.symbolFactory.addGraphicalAccidental(e,r)}else o&&(r=new Pitch(r.FundamentalNote,r.Octave,AccidentalEnum.NATURAL),this.currentAlterationsComparedToKeyInstructionList.splice(this.currentAlterationsComparedToKeyInstructionList.indexOf(s),1),MusicSheetCalculator.symbolFactory.addGraphicalAccidental(e,r))}isAlterAmbiguousAccidental(e){return e===AccidentalEnum.SLASHFLAT||e===AccidentalEnum.QUARTERTONEFLAT}reactOnKeyInstructionChange(){const e=this.activeKeyInstruction.AlteratedNotes;let r;this.activeKeyInstruction.Key>0?r=AccidentalEnum.SHARP:r=AccidentalEnum.FLAT,this.keySignatureNoteAlterationsDict.clear(),this.currentAlterationsComparedToKeyInstructionList.length=0;for(let s=-9;s<9;s++)for(let o=0;o0?(s=d-1,e.push({startIndex:r,endIndex:s}),r=d):y.HasEndLine&&this.rules.NewPartAndSystemAfterFinalBarline&&(s=d,e.push({startIndex:r,endIndex:s}),r=d+1)}r0?Number(V):6,T===V||C+R>A&&T%2===0?(a.push(T),C=M,T=1):T++}else C>A?(a.push(T),C=M,T=1):T++;M>A?B=k+1:B=Math.ceil(B),x===B?P+=1:(o.push(P),x=B,P=1)}o.push(P),a.push(T),a=a.filter(Boolean)}return a.length>1&&a[a.length-1]===1&&(a[a.length-2]=a[a.length-2]-1,a[a.length-1]=a[a.length-1]+1),console.log(a,o),this.buildPreparedMusicSystems(a)}buildPreparedMusicSystems(e){let r=!1;this.currentSystemParams=new SystemBuildParameters,this.currentSystemParams.currentSystem=this.initMusicSystem();for(let s=0,o=this.measureList.length;s0&&this.rules.RenderMultipleRestMeasures){m.isReducedToMultiRest=!0,m.multipleRestMeasureNumber=1;const b=m.multipleRestMeasures-1;d+=b;for(let A=1;A<=b;A++){const S=e.SourceMeasures.indexOf(m)+A;if(S>=e.SourceMeasures.length)break;const E=e.SourceMeasures[S];E.multipleRestMeasureNumber=A+1,E.isReducedToMultiRest=!0,r.push([void 0])}}}if(this.rules.AutoGenerateMultipleRestMeasuresFromRestMeasures&&this.rules.RenderMultipleRestMeasures){let d,g=0;for(let m=0,y=e.SourceMeasures.length;m0){d.isReducedToMultiRest=!0,d.multipleRestMeasureNumber=1,g++,b.multipleRestMeasureNumber=g,b.isReducedToMultiRest=!0;for(let A=0;A1){d.multipleRestMeasures=g;const A=this.createGraphicalMeasuresForSourceMeasure(d,s,a,c,o);r[d.measureListIndex]=A,g=0,d=void 0}else g=0,d=void 0}if(g>1){d.multipleRestMeasures=g,d.isReducedToMultiRest=!0;const m=this.createGraphicalMeasuresForSourceMeasure(d,s,a,c,o);r[d.measureListIndex]=m,g=0,d=void 0}}const u=o.map(d=>d.ClefType===ClefEnum.percussion);this.handleStaffEntries(u),this.calculateVerticalContainersList(),this.setIndicesToVerticalGraphicalContainers()}calculate(){this.musicSystems=[],this.clearSystemsAndMeasures(),this.clearRecreatedObjects(),this.createGraphicalTies(),this.calculateSheetLabelBoundingBoxes(),this.calculateXLayout(this.graphicalMusicSheet,this.maxInstrNameLabelLength()),this.graphicalMusicSheet.MusicPages.length=0,this.calculateMusicSystems(),GraphicalMusicSheet.transformRelativeToAbsolutePosition(this.graphicalMusicSheet)}calculateXLayout(e,r){var s;if(this.graphicalMusicSheet.MeasureList.length>0){let o=0,a;for(let l=0;lo&&(o=c),MusicSheetCalculator.setMeasuresMinStaffEntriesWidth(a,c)}if(this.rules.FixedMeasureWidth){let l=o;this.rules.FixedMeasureWidthFixedValue&&(l=this.rules.FixedMeasureWidthFixedValue);for(let c=0;c1;if(a===1&&r.Measures[0].parentSourceMeasure.ImplicitMeasure&&(c=!1),c)return;(l.MeasureNumber===0||l.MeasureNumber===1)&&(s=l.MeasureNumber),l!==r.Measures[0]&&this.rules.MeasureNumberLabelXOffset?o=this.rules.MeasureNumberLabelXOffset:o=0;const u=this.rules.UseXMLMeasureNumbers&&l.MeasureNumber===1&&l.parentSourceMeasure.getPrintedMeasureNumber()!==1;((l.MeasureNumber===s||l.MeasureNumber>=s+this.rules.MeasureNumberLabelOffset)&&!l.parentSourceMeasure.ImplicitMeasure||u)&&((l.MeasureNumber!==1||l.MeasureNumber===1&&l!==r.Measures[0]||u)&&this.calculateSingleMeasureNumberPlacement(l,r,e,o),s=l.MeasureNumber)}}calculateSingleMeasureNumberPlacement(e,r,s,o=0){const a=e.parentSourceMeasure.getPrintedMeasureNumber().toString(),l=new Label(a),c=new GraphicalLabel(l,this.rules.MeasureNumberLabelHeight,TextAlignmentEnum.LeftBottom,this.rules),u=r.SkyBottomLineCalculator;c.setLabelPositionAndShapeBorders(),c.PositionAndShape.Parent=s.PositionAndShape;const d=r.PositionAndShape.RelativePosition.x+e.PositionAndShape.RelativePosition.x-c.PositionAndShape.BorderMarginLeft+o;let g,m=d,y=d-c.PositionAndShape.BorderLeft+c.PositionAndShape.BorderRight;m-=r.PositionAndShape.RelativePosition.x,y-=r.PositionAndShape.RelativePosition.x;const b=m+.5,A=y-.5,S=u.getSkyLineMinInRange(b,A);if(e===r.Measures[0]){let E=0;if(s.GroupBrackets.length>0)for(const x of s.GroupBrackets)E=Math.min(E,x.PositionAndShape.BorderTop);else e.ParentStaff.ParentInstrument.Parent&&(E=-1);g=Math.min(S,E)}else g=S;g=Math.min(0,g),c.PositionAndShape.RelativePosition=new PointF2D(d,g),s.MeasureNumberLabels.push(c)}calculateMeasureNumberSkyline(e){const r=e.StaffLines[0];for(const s of e.MeasureNumberLabels){let o=s.PositionAndShape.RelativePosition.x,a=o-s.PositionAndShape.BorderLeft+s.PositionAndShape.BorderRight;o-=r.PositionAndShape.RelativePosition.x,a-=r.PositionAndShape.RelativePosition.x,r.SkyBottomLineCalculator.updateSkyLineInRange(o,a,s.PositionAndShape.RelativePosition.y+s.PositionAndShape.BorderMarginTop)}}layoutGraphicalTie(e,r,s){throw new Error(this.abstractNotImplementedErrorMessage)}calculateSingleStaffLineLyricsPosition(e,r){let s=0,o=this.rules.StaffHeight;const a=new Map,l=[],c=e.SkyBottomLineCalculator;let u=e.Measures.length;for(let g=0;g0){l.push(S),s=Math.max(s,S.LyricsEntries.length);const x=S.PositionAndShape.RelativePosition.x+y.x;let P=Number.MAX_VALUE,C=Number.MIN_VALUE;for(let k=0;k0){const g=e.PositionAndShape.Size.width;let m=l[0].PositionAndShape.RelativePosition.x+l[0].PositionAndShape.BorderMarginLeft+l[0].parentMeasure.PositionAndShape.RelativePosition.x;m=m>g?g:m,c.updateBottomLineInRange(m,g,d)}return l}calculateLyricsExtendsAndDashes(e){for(let r=0,s=e.length;r0||e.UnknownList.length>0){let g="";for(let S=0,E=e.EntriesList.length;S-50){let S=c/10;S+=this.rules.PlaceWordsInsideStafflineYOffset,A.PositionAndShape.RelativePosition.y=S}new GraphicalUnknownExpression(m,A,b,(d=a[s])==null?void 0:d.parentSourceMeasure,e)}}clearRecreatedObjects(){for(let e=0,r=this.staffEntriesWithGraphicalTies.length;ee.length-1&&(loglevelExports.debug("minimum measure to draw index out of range. resetting min measure index to limit."),this.rules.MinMeasureToDrawIndex=e.length-1);const r=[];for(let l=this.rules.MinMeasureToDrawIndex,c=e.length;l0){let x=0;l.staffEntries[0].relInMeasureTimestamp.RealValue===0&&(x=l.staffEntries[0].PositionAndShape.RelativePosition.x,l.MeasureNumber===1&&(x+=this.rules.ChordSymbolWholeMeasureRestXOffsetMeasure1));const P=l.PositionAndShape.Size.width-l.endInstructionsWidth,C=u.relInMeasureTimestamp.RealValue/l.parentSourceMeasure.Duration.RealValue;let T=x+(P-x)*C+g.PositionAndShape.BorderMarginLeft;c&&(T=Math.max(T,c.PositionAndShape.RelativePosition.x+c.GraphicalLabel.PositionAndShape.Size.width+this.rules.ChordSymbolXSpacing)),g.PositionAndShape.RelativePosition.x=T,g.PositionAndShape.Parent=l.staffEntries[0].PositionAndShape.Parent}const m=g.PositionAndShape,y=m.Parent;if(y.DataObject instanceof GraphicalMeasure&&u.relInMeasureTimestamp.RealValue===0&&(m.RelativePosition.x=Math.max(l.beginInstructionsWidth,m.RelativePosition.x),l.MeasureNumber===1&&m.RelativePosition.x>3&&(m.RelativePosition.x+=this.rules.ChordSymbolWholeMeasureRestXOffsetMeasure1)),u.PositionAndShape.RelativePosition.x===0){const x=e.GraphicalMeasures[a];for(const P of x){let C=!1;for(const T of P.staffEntries)if(T.relInMeasureTimestamp===u.relInMeasureTimestamp&&T.PositionAndShape.RelativePosition.x!==0){m.RelativePosition.x=T.PositionAndShape.RelativePosition.x,C=!0;break}if(C)break}}const b=m.BorderMarginLeft+y.AbsolutePosition.x+m.RelativePosition.x,A=m.BorderMarginRight+y.AbsolutePosition.x+m.RelativePosition.x;(!this.rules.ChordSymbolYAlignment||o>0)&&(o=s.getSkyLineMinInRange(b,A));let S=0;d===0?(S+=this.rules.ChordSymbolYOffset,S+=.1):S+=this.rules.ChordSymbolYPadding,S*=-1;const E=g.GraphicalLabel;E.PositionAndShape.RelativePosition.y=o+S,E.setLabelPositionAndShapeBorders(),E.PositionAndShape.calculateBoundingBox(),s.updateSkyLineInRange(b,A,o+E.PositionAndShape.BorderMarginTop),c=g}}}}calculateAlignedChordSymbolsOffset(e,r){let s=Number.MAX_SAFE_INTEGER;for(const o of e)for(const a of o.graphicalChordContainers){const l=a.PositionAndShape,c=l.Parent;let u=l.BorderMarginLeft+c.AbsolutePosition.x,d=l.BorderMarginRight+c.AbsolutePosition.x;c.DataObject instanceof GraphicalMeasure&&(u+=c.DataObject.beginInstructionsWidth,d+=c.DataObject.beginInstructionsWidth),s=Math.min(s,r.getSkyLineMinInRange(u,d))}return s}layoutMeasureWithWholeRest(e,r,s){}layoutBeams(e){}layoutArticulationMarks(e,r,s){}layoutOrnament(e,r,s){}calculateRestNotePlacementWithinGraphicalBeam(e,r,s,o,a){}calculateTupletNumbers(){if(!this.rules.TupletNumberLimitConsecutiveRepetitions)return;let e=-1,r,s=0,o,a;const l={};for(const c of this.graphicalMusicSheet.ParentMusicSheet.Instruments)for(const u of c.Voices){s=0,l[u.VoiceId]={};for(const d of u.VoiceEntries)if(d.Notes.length>0){const g=d.Notes[0];if(!g.NoteTuplet||g.NoteTuplet.shouldBeBracketed(this.rules.TupletsBracketedUseXMLValue,this.rules.TupletsBracketed,this.rules.TripletsBracketed)){e=-1,s=0,o=void 0,r=void 0;continue}if(g.NoteTuplet===a)continue;let m=g.TypeLength;if(m||(loglevelExports.warn("note missing TypeLength"),m=g.NoteTuplet.Fractions[0]),g.NoteTuplet!==o&&l[u.VoiceId][g.NoteTuplet.TupletLabelNumber]&&l[u.VoiceId][g.NoteTuplet.TupletLabelNumber][m.RealValue]){g.NoteTuplet.RenderTupletNumber=!1,a=g.NoteTuplet;continue}(g.NoteTuplet.TupletLabelNumber!==e||!m.Equals(r)||g.NoteTuplet.Bracket)&&(e=g.NoteTuplet.TupletLabelNumber,r=m,s=0),o=g.NoteTuplet,s++,s<=this.rules.TupletNumberMaxConsecutiveRepetitions&&(g.NoteTuplet.RenderTupletNumber=!0),s>this.rules.TupletNumberMaxConsecutiveRepetitions&&(g.NoteTuplet.RenderTupletNumber=!1,this.rules.TupletNumberAlwaysDisableAfterFirstMax&&(l[u.VoiceId][e]||(l[u.VoiceId][e]={}),l[u.VoiceId][e][m.RealValue]=!0)),a=o}}}calculateSlurs(){}calculateGlissandi(){}calculateDynamicExpressionsForMultiExpression(e,r,s){}calculateGraphicalVerbalContinuousDynamic(e,r){const s=e.Label,o=r.x+s.PositionAndShape.BorderMarginLeft,a=r.x+s.PositionAndShape.BorderMarginRight,l=e.ContinuousDynamic.Placement,u=e.ParentStaffLine.SkyBottomLineCalculator;let d;l===PlacementEnum.Below?(d=u.getBottomLineMaxInRange(o,a),s.PositionAndShape.RelativePosition=new PointF2D(r.x,d-s.PositionAndShape.BorderMarginTop)):(d=u.getSkyLineMinInRange(o,a),s.PositionAndShape.RelativePosition=new PointF2D(r.x,d-s.PositionAndShape.BorderMarginBottom))}calculateGraphicalContinuousDynamic(e,r){var $;const s=e.IsSoftAccent,o=e.ParentStaffLine.ParentStaff.idInMusicSheet,a=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(e.ContinuousDynamic.EndMultiExpression.SourceMeasureParent,o);if(!a){loglevelExports.warn("MusicSheetCalculator.calculateGraphicalContinuousDynamic: No endMeasure found");return}e.EndMeasure=a;const l=e.ParentStaffLine,c=a.ParentStaffLine,u=c&&l===c;let d=!1;c?d=c==null?void 0:c.isPartOfMultiStaffInstrument():l&&(d=l==null?void 0:l.isPartOfMultiStaffInstrument());const g=Fraction$1.createFromFraction(e.ContinuousDynamic.EndMultiExpression.AbsoluteTimestamp),m=this.graphicalMusicSheet.GetVerticalContainerFromTimestamp(g),y=m.getFirstNonNullStaffEntry().parentMeasure,b=y.PositionAndShape.AbsolutePosition.x+y.PositionAndShape.BorderRight;let A=new Fraction$1(0,0,0);for(const Y of m.StaffEntries){const Q=($=Y==null?void 0:Y.sourceStaffEntry)==null?void 0:$.calculateMaxNoteLength(!1);Q!=null&&Q.gt(A)&&(A=Q)}const S=!s&&e.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo,E=this.getRelativePositionInStaffLineFromTimestamp(g,o,c,d,0,S),x=Fraction$1.plus(g,A),P=this.getRelativePositionInStaffLineFromTimestamp(x,o,c,d,0,e.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo),C=this.rules.SoftAccentWedgePadding,T=m.getFirstNonNullStaffEntry().PositionAndShape.Size.width,k=this.rules.SoftAccentSizeFactor;s?(r.x-=T/2*k+C,E.x=r.x+T/2*k):P.x>E.x&&P.xR){const ue=M.StaffLines[Y].PositionAndShape.RelativePosition.y-l.PositionAndShape.RelativePosition.y-this.rules.StaffHeight;O=this.rules.StaffHeight+ue/2}else O=this.rules.WedgePlacementBelowY;O-=this.rules.WedgeOpeningLength/2,u||(U=O);let Q=B.getBottomLineMaxInRange(F,K);if(Q>O&&(O=Q),RU&&(U=Q),U+=this.rules.WedgeOpeningLength/2,U+=this.rules.WedgeVerticalMargin),O+=this.rules.WedgeOpeningLength/2,O+=this.rules.WedgeVerticalMargin}else if(_===PlacementEnum.Above){if(l.ParentStaff.ParentInstrument.Staves.length===1)O=this.rules.WedgePlacementAboveY;else{let Q=0;R>0&&(Q=R-1);const xe=M.StaffLines[Q];O=-(l.PositionAndShape.RelativePosition.y-xe.PositionAndShape.RelativePosition.y-this.rules.StaffHeight)/2}O+=this.rules.WedgeOpeningLength/2,u||(U=O);let Y=B.getSkyLineMinInRange(F,K);if(Y1&&R>0){const Q=l.findClosestStaffEntry(F),xe=l.findClosestStaffEntry(K);Q&&xe&&Q.parentVerticalContainer}u||(Y=c.SkyBottomLineCalculator.getSkyLineMinInRange(N,G),Yue&&(ue=W),ue+=this.rules.WedgeOpeningLength/2,ue+=this.rules.WedgeVerticalMargin}else if(_===PlacementEnum.Above){const W=xe.SkyBottomLineCalculator.getSkyLineMinInRange(N,G);W-m/2?u=-m/2:u=d-e.PositionAndShape.BorderMarginBottom}else u=d-e.PositionAndShape.BorderMarginBottom;e.PositionAndShape.RelativePosition=new PointF2D(r.x,u)}else if(e.Placement===PlacementEnum.Below){const d=c.getBottomLineMaxInRange(a,l),g=o.ParentStaff.ParentInstrument.Staves[o.ParentStaff.ParentInstrument.Staves.length-1];if(o.isPartOfMultiStaffInstrument()&&o.ParentStaff!==g){const y=o.ParentMusicSystem.StaffLines[o.ParentMusicSystem.StaffLines.indexOf(o)+1].PositionAndShape.RelativePosition.y-o.PositionAndShape.RelativePosition.y-this.rules.StaffHeight,b=e.PositionAndShape.BorderMarginBottom;d+be.PositionAndShape.Size.width&&(b=e.PositionAndShape.Size.width-this.rules.MeasureRightMargin,y=b-g.PositionAndShape.MarginSize.width,r.x=y-g.PositionAndShape.BorderMarginLeft);let A;const S=e.SkyBottomLineCalculator;return a===PlacementEnum.Below?A=S.getBottomLineMaxInRange(y,b)+u:A=S.getSkyLineMinInRange(y,b)-u,g.PositionAndShape.RelativePosition=new PointF2D(r.x,A),a===PlacementEnum.Below?S.updateBottomLineInRange(y,b,g.PositionAndShape.BorderMarginBottom+A):S.updateSkyLineInRange(y,b,g.PositionAndShape.BorderMarginTop+A),g}calculateTempoExpressionsForMultiTempoExpression(e,r,s,o){metronomeMarks={};const a=Fraction$1.plus(e.AbsoluteTimestamp,r.Timestamp),l=this.graphicalMusicSheet.MeasureList[s];let c=new PointF2D;if(r.ContinuousTempo||r.InstantaneousTempo){if(this.rules.MinMeasureToDrawIndex>0||!l[0])return;let u=l[0].ParentStaffLine,d=l[0].PositionAndShape.RelativePosition.x,g=0;for(let m=0;m0){u=l[m].ParentStaffLine,d=l[m].PositionAndShape.RelativePosition.x,g=m;break}if(c=this.getRelativePositionInStaffLineFromTimestamp(a,g,u,u.isPartOfMultiStaffInstrument(),d),r.EntriesList.length>0&&r.EntriesList[0].Expression instanceof InstantaneousTempoExpression){const m=r.EntriesList[0].Expression;if(m.Placement=PlacementEnum.Above,u.Measures[0].staffEntries.length>0&&Math.abs(c.x-u.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x)===0&&u.ParentMusicSystem===this.musicSystems[0]){const y=u.Measures[0].FirstInstructionStaffEntry;if(y){const b=y.GraphicalInstructions.last();c.x=b.PositionAndShape.RelativePosition.x}this.rules.CompactMode&&(c.x=u.PositionAndShape.RelativePosition.x+u.Measures[0].PositionAndShape.RelativePosition.x)}}for(const m of r.EntriesList){let y=TextAlignmentEnum.CenterBottom;this.rules.CompactMode&&(y=TextAlignmentEnum.LeftBottom);const b=this.calculateLabel(u,c,m.label,r.getFontstyleOfFirstEntry(),m.Expression.Placement,this.rules.UnknownTextHeight,y,this.rules.TempoYSpacing);if(m.Expression.ColorXML&&this.rules.ExpressionsUseXMLColor&&(b.ColorXML=m.Expression.ColorXML),m.Expression instanceof InstantaneousTempoExpression){for(const S of u.AbstractExpressions)S instanceof GraphicalInstantaneousTempoExpression&&(S.SourceExpression.Label,m.Expression.Label);new GraphicalInstantaneousTempoExpression(m.Expression,b).ParentStaffLine||loglevelExports.warn("Adding staffline didn't work"),m.Expression.Enum===TempoEnum.metronomeMark&&(metronomeMarks[s]=m.Expression)}else m.Expression instanceof ContinuousTempoExpression;if(o===e.TempoExpressions.length-1)for(const A of Object.values(metronomeMarks))this.createMetronomeMark(A,s);else if(m.Expression instanceof ContinuousTempoExpression){for(const A of u.AbstractExpressions)A instanceof GraphicalInstantaneousTempoExpression&&(A.SourceExpression.Label,m.Expression.Label);u.AbstractExpressions.push(new GraphicalInstantaneousTempoExpression(m.Expression,b))}}}}createMetronomeMark(e,r){throw new Error(this.abstractNotImplementedErrorMessage)}graphicalMeasureCreatedCalculations(e){}clearSystemsAndMeasures(){for(let e=0,r=this.graphicalMusicSheet.MusicPages.length;e-1&&y.PositionAndShape.ChildElements.splice(b,1),y.FirstInstructionStaffEntry=void 0,y.beginInstructionsWidth=0}if(y.LastInstructionStaffEntry){const b=y.PositionAndShape.ChildElements.indexOf(y.LastInstructionStaffEntry.PositionAndShape);b>-1&&y.PositionAndShape.ChildElements.splice(b,1),y.LastInstructionStaffEntry=void 0,y.endInstructionsWidth=0}}d.Measures=[],d.PositionAndShape.ChildElements=[]}l.StaffLines.length=0,l.PositionAndShape.ChildElements=[]}s.MusicSystems=[],s.PositionAndShape.ChildElements=[]}this.graphicalMusicSheet.MusicPages=[]}handleVoiceEntry(e,r,s,o,a,l,c,u,d,g=void 0,m=void 0){e.StemDirectionXml!==StemDirectionType.Undefined&&this.rules.SetWantedStemDirectionByXml&&e.StemDirectionXml!==void 0?e.WantedStemDirection=e.StemDirectionXml:this.calculateStemDirectionFromVoices(e);const y=r.findOrCreateGraphicalVoiceEntry(e);y.octaveShiftValue=u;const b=r.tabStaffEntry;let A;b&&(A=b.findOrCreateGraphicalVoiceEntry(e));for(let S=0,E=e.Notes.length;S-1)continue;let P;if(e.IsGrace?P=MusicSheetCalculator.symbolFactory.createGraceNote(x,y,a,this.rules,u):(P=MusicSheetCalculator.symbolFactory.createNote(x,y,a,u,this.rules,void 0),MusicSheetCalculator.stafflineNoteCalculator.trackNote(P)),x.Pitch&&this.checkNoteForAccidental(P,s,a,u),this.resetYPositionForLeadSheet(P.PositionAndShape),r.addGraphicalNoteToListAtCorrectYPosition(y,P),P.PositionAndShape.calculateBoundingBox(),this.leadSheet||(x.NoteBeam!==void 0&&x.PrintObject&&(!(x instanceof TabNote)||this.rules.TabBeamsRendered)&&this.handleBeam(P,x.NoteBeam,c),x.NoteTuplet!==void 0&&x.PrintObject&&this.handleTuplet(P,x.NoteTuplet,l)),A){const C=MusicSheetCalculator.symbolFactory.createNote(x,A,a,u,this.rules,void 0);b.addGraphicalNoteToListAtCorrectYPosition(A,C),C.PositionAndShape.calculateBoundingBox(),this.leadSheet||x.NoteTuplet&&this.handleTuplet(C,x.NoteTuplet,l)}}return e.Articulations.length>0&&this.handleVoiceEntryArticulations(e.Articulations,e,r),e.TechnicalInstructions.length>0&&this.handleVoiceEntryTechnicalInstructions(e.TechnicalInstructions,e,r),e.LyricsEntries.size()>0&&this.handleVoiceEntryLyrics(e,r,o),e.OrnamentContainer&&this.handleVoiceEntryOrnaments(e.OrnamentContainer,e,r),u}resetYPositionForLeadSheet(e){this.leadSheet&&(e.RelativePosition=new PointF2D(e.RelativePosition.x,0))}layoutVoiceEntries(e,r){if(e.PositionAndShape.RelativePosition=new PointF2D(0,0),!this.leadSheet)for(const s of e.graphicalVoiceEntries){const o=s.notes;if(o.length===0)continue;const a=o[0].sourceNote.ParentVoiceEntry,l=o[0].sourceNote.Pitch!==void 0;this.layoutVoiceEntry(a,o,e,l)}}maxInstrNameLabelLength(){var r;let e=0;for(const s of this.graphicalMusicSheet.ParentMusicSheet.Instruments)if((r=s.NameLabel)!=null&&r.print&&s.Voices.length>0&&s.Voices[0].Visible){let o=s.NameLabel;this.rules.RenderPartNames||(o=new Label("",o.textAlignment,o.font));const a=new GraphicalLabel(o,this.rules.InstrumentLabelTextHeight,TextAlignmentEnum.LeftCenter,this.rules);a.setLabelPositionAndShapeBorders(),e=Math.max(e,a.PositionAndShape.MarginSize.width)}return this.rules.RenderPartNames?e:0}calculateSheetLabelBoundingBoxes(){var o;const e=this.graphicalMusicSheet.ParentMusicSheet,r=this.rules.DefaultColorTitle;if(e.Title!==void 0&&this.rules.RenderTitle){const a=new GraphicalLabel(e.Title,this.rules.SheetTitleHeight,TextAlignmentEnum.CenterBottom,this.rules);a.Label.IsCreditLabel=!0,a.Label.colorDefault=r,this.graphicalMusicSheet.Title=a,a.setLabelPositionAndShapeBorders()}else this.rules.RenderTitle||(this.graphicalMusicSheet.Title=void 0);if(e.Subtitle!==void 0&&this.rules.RenderSubtitle){const a=new GraphicalLabel(e.Subtitle,this.rules.SheetSubtitleHeight,TextAlignmentEnum.CenterCenter,this.rules);a.Label.IsCreditLabel=!0,a.Label.colorDefault=r,this.graphicalMusicSheet.Subtitle=a,a.setLabelPositionAndShapeBorders()}else this.rules.RenderSubtitle||(this.graphicalMusicSheet.Subtitle=void 0);if(e.Composer!==void 0&&this.rules.RenderComposer){const a=new GraphicalLabel(e.Composer,this.rules.SheetComposerHeight,TextAlignmentEnum.RightCenter,this.rules);a.Label.IsCreditLabel=!0,a.Label.colorDefault=r,this.graphicalMusicSheet.Composer=a,a.setLabelPositionAndShapeBorders()}else this.rules.RenderComposer||(this.graphicalMusicSheet.Composer=void 0);if(e.Lyricist!==void 0&&this.rules.RenderLyricist){const a=new GraphicalLabel(e.Lyricist,this.rules.SheetAuthorHeight,TextAlignmentEnum.RightCenter,this.rules);a.Label.IsCreditLabel=!0,a.Label.colorDefault=r,this.graphicalMusicSheet.Lyricist=a,a.setLabelPositionAndShapeBorders()}else this.rules.RenderLyricist||(this.graphicalMusicSheet.Lyricist=void 0);if(e.Copyright!==void 0&&this.rules.RenderCopyright){const a=new GraphicalLabel(e.Copyright,this.rules.SheetCopyrightHeight,TextAlignmentEnum.CenterBottom,this.rules);a.Label.IsCreditLabel=!0,a.Label.colorDefault=r,this.graphicalMusicSheet.Copyright=a,a.setLabelPositionAndShapeBorders()}else this.rules.RenderCopyright||(this.graphicalMusicSheet.Copyright=void 0);const s=(o=this.graphicalMusicSheet.musicSheet.sourceMeasures)==null?void 0:o[0];if(s&&s.FirstInstructionsStaffEntries.length>0){const a=s.FirstInstructionsStaffEntries[0];let l,c;for(let u=0,d=a.Instructions.length;u0&&g.graphicalVoiceEntries[0].notes.length===1){const m=g.graphicalVoiceEntries[0].notes[0];!m.sourceNote.Pitch&&new Fraction$1(1,2).lt(m.sourceNote.Length)&&this.layoutMeasureWithWholeRest(m,g,d)}}}}}}optimizeRestNotePlacement(e,r){if(e.graphicalVoiceEntries.length===0)return;const s=e.graphicalVoiceEntries[0].notes;if(s.length===0)return;const o=s[0],a=o.sourceNote.isRest();if(e.graphicalVoiceEntries.length===2){let l=!1;const c=e.graphicalVoiceEntries[1].notes;c.length>0&&(l=c[0].sourceNote.isRest()),a&&l?this.calculateTwoRestNotesPlacementWithCollisionDetection(e):(a||l)&&this.calculateRestNotePlacementWithCollisionDetectionFromGraphicalNote(e)}else if(a&&e!==r.staffEntries[0]&&e!==r.staffEntries[r.staffEntries.length-1]){const l=r.staffEntries.indexOf(e),c=r.staffEntries[l-1],u=r.staffEntries[l+1];if(c.graphicalVoiceEntries.length===1){const d=c.graphicalVoiceEntries[0].notes[0];if(d.sourceNote.NoteBeam!==void 0&&u.graphicalVoiceEntries.length===1){const g=u.graphicalVoiceEntries[0].notes[0];g.sourceNote.NoteBeam!==void 0&&d.sourceNote.NoteBeam===g.sourceNote.NoteBeam&&(this.calculateRestNotePlacementWithinGraphicalBeam(e,o,d,u,g),e.PositionAndShape.calculateBoundingBox())}}}}getRelativePositionInStaffLineFromTimestamp(e,r,s,o,a=0,l=!1){let c=new PointF2D,u,d;const g=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length,m=this.graphicalMusicSheet.GetInterpolatedIndexInVerticalContainers(e),y=Math.min(Math.floor(m),g-1),b=Math.min(Math.ceil(m),g-1);if(y<0||r<0)return c;if(u=this.getFirstLeftNotNullStaffEntryFromContainer(y,r,o),d=this.getFirstRightNotNullStaffEntryFromContainer(b,r,o),u&&d){let A=u.parentMeasure.PositionAndShape.RelativePosition.x;a>0&&(A=a);let S=u.PositionAndShape.RelativePosition.x+A,E=d.PositionAndShape.RelativePosition.x+d.parentMeasure.PositionAndShape.RelativePosition.x;const x=e.RealValue>d.getAbsoluteTimestamp().RealValue;a>0?E=d.PositionAndShape.RelativePosition.x+A:l&&(u.getAbsoluteTimestamp().RealValue===e.RealValue||x)&&(S=u.PositionAndShape.RelativePosition.x+u.PositionAndShape.BorderLeft+A,E=S);let P=0;if(u!==d){const C=u.getAbsoluteTimestamp(),T=d.getAbsoluteTimestamp();P=Fraction$1.minus(e,C).RealValue/Fraction$1.minus(T,C).RealValue}u.parentMeasure.ParentStaffLine!==d.parentMeasure.ParentStaffLine&&(u.parentMeasure.ParentStaffLine===s?E=s.PositionAndShape.Size.width:S=s.PositionAndShape.RelativePosition.x),c=new PointF2D(S+(E-S)*P,0)}return c}getRelativeXPositionFromTimestamp(e){const r=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length,s=this.graphicalMusicSheet.GetInterpolatedIndexInVerticalContainers(e),o=Math.max(0,Math.min(Math.round(s),r-1)),a=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[o].getFirstNonNullStaffEntry();return a.PositionAndShape.RelativePosition.x+a.parentMeasure.PositionAndShape.RelativePosition.x}calculatePageLabels(e){var g,m;this.rules.RenderSingleHorizontalStaffline&&(e.PositionAndShape.BorderRight=e.PositionAndShape.Size.width,e.PositionAndShape.calculateBoundingBox(),this.graphicalMusicSheet.ParentMusicSheet.pageWidth=e.PositionAndShape.Size.width);let r=10,s=-1;if(e.MusicSystems.length>0){const y=e.MusicSystems[0];r=y.PositionAndShape.RelativePosition.y+y.PositionAndShape.BorderTop;const b=e.MusicSystems[e.MusicSystems.length-1];s=b.PositionAndShape.RelativePosition.y+b.PositionAndShape.BorderBottom}if(this.graphicalMusicSheet.Title&&this.rules.RenderTitle){const y=this.graphicalMusicSheet.Title;y.PositionAndShape.Parent=e.PositionAndShape;const b=new PointF2D;b.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth/2,b.y=this.rules.TitleTopDistance+this.rules.SheetTitleHeight,y.PositionAndShape.RelativePosition=b,e.Labels.push(y)}if(this.graphicalMusicSheet.Subtitle&&this.rules.RenderTitle&&this.rules.RenderSubtitle){const y=this.graphicalMusicSheet.Subtitle;y.PositionAndShape.Parent=e.PositionAndShape;const b=new PointF2D;b.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth/2,b.y=this.rules.TitleTopDistance+this.rules.SheetTitleHeight+this.rules.SheetMinimumDistanceBetweenTitleAndSubtitle;const A=(g=y.TextLines)==null?void 0:g.length;A>1&&(b.y+=y.PositionAndShape.BorderBottom*(A-1)/A),y.PositionAndShape.RelativePosition=b,e.Labels.push(y)}const o=this.graphicalMusicSheet.Composer;let a;const c=this.graphicalMusicSheet.Composer&&this.rules.RenderComposer&&this.graphicalMusicSheet.Lyricist&&this.rules.RenderLyricist?2:0;if(o&&this.rules.RenderComposer){o.PositionAndShape.Parent=e.PositionAndShape,o.setLabelPositionAndShapeBorders();const y=new PointF2D;y.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth-this.rules.PageRightMargin,y.y=r,y.y-=this.rules.SystemComposerDistance;const b=(m=o.TextLines)==null?void 0:m.length;b>1&&(y.y-=o.PositionAndShape.BorderBottom*(b-1)/b),a=y.y,y.y-=c,o.PositionAndShape.RelativePosition=y,e.Labels.push(o)}const u=this.graphicalMusicSheet.Lyricist;if(u&&this.rules.RenderLyricist){u.PositionAndShape.Parent=e.PositionAndShape,u.setLabelPositionAndShapeBorders();const y=new PointF2D;y.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth-this.rules.PageRightMargin,y.y=r,y.y-=this.rules.SystemLyricistDistance,y.y+=u.PositionAndShape.BorderBottom,y.y=Math.min(y.y,a!=null?a:Number.MAX_SAFE_INTEGER),y.y+=c,u.PositionAndShape.RelativePosition=y,e.Labels.push(u)}const d=this.graphicalMusicSheet.Copyright;if(d&&this.rules.RenderCopyright){d.PositionAndShape.Parent=e.PositionAndShape,d.setLabelPositionAndShapeBorders();const y=new PointF2D;y.x=e.PositionAndShape.Size.width/2,y.y=s+this.rules.SheetCopyrightMargin,y.y-=d.PositionAndShape.BorderTop,d.PositionAndShape.RelativePosition=y,e.Labels.push(d)}}createGraphicalTies(){for(let e=0;e=0&&this.staffEntriesWithGraphicalTies.push(a)}a=c}}setTieDirections(e){if(!e)return;const r=e.ties;if(r.length===1){const s=r[0];if(s.TieDirection===PlacementEnum.NotYetDefined){const o=s.Notes[0].ParentVoiceEntry.ParentVoice.VoiceId;(o===2||o===6)&&(s.TieDirection=PlacementEnum.Below)}}if(r.length>1){let s;for(const o of r){const a=o.Notes[0];(!s||a.Pitch.getHalfTone()>s.Pitch.getHalfTone())&&(s=a)}for(const o of r)o.TieDirection===PlacementEnum.NotYetDefined&&(o.Notes[0]===s?o.TieDirection=PlacementEnum.Above:o.TieDirection=PlacementEnum.Below)}}createAccidentalCalculators(){const e=[],r=this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();if(r)for(let s=0;s1)return;m=MusicSheetCalculator.symbolFactory.createGraphicalMeasure(e,g)}if(m.hasError=e.getErrorInMeasure(u),e.FirstInstructionsStaffEntries[u])for(let x=0,P=e.FirstInstructionsStaffEntries[u].Instructions.length;x0){const I=P.Instructions[0];MusicSheetCalculator.symbolFactory.createInStaffClef(C,I)}this.rules.RenderChordSymbols&&((E=P.ChordContainers)==null?void 0:E.length)>0&&(P.ParentStaff.ParentInstrument.HasChordSymbols=!0,MusicSheetCalculator.symbolFactory.createChordSymbols(P,C,o.ActiveKeyInstruction,this.graphicalMusicSheet.ParentMusicSheet.Transpose))}}if(o.doCalculationsAtEndOfMeasure(),e.LastInstructionsStaffEntries[u]){const x=e.LastInstructionsStaffEntries[u];for(let P=0,C=x.Instructions.length;P=1&&m.staffEntries.length===0){const x=new SourceStaffEntry(new VerticalSourceStaffEntryContainer(m.parentSourceMeasure,m.parentSourceMeasure.AbsoluteTimestamp,m.parentSourceMeasure.CompleteNumberOfStaves),g);if(g.Voices.length===0){const R=new Voice(m.ParentStaff.ParentInstrument,-1);g.Voices.push(R)}const P=new VoiceEntry(new Fraction$1(0,1),g.Voices[0],x);let C=e.Duration;C.RealValue===0&&(C=e.ActiveTimeSignature.clone());const T=new Note$1(P,x,C,void 0,e,!0);T.IsWholeMeasureRest=!0,T.PrintObject=this.rules.FillEmptyMeasuresWithWholeRest===FillEmptyMeasuresWithWholeRests.YesVisible,P.addNote(T);const k=MusicSheetCalculator.symbolFactory.createStaffEntry(x,m);m.addGraphicalStaffEntry(k),k.relInMeasureTimestamp=P.Timestamp;const I=MusicSheetCalculator.symbolFactory.createVoiceEntry(P,k);k.graphicalVoiceEntries.push(I);const M=MusicSheetCalculator.symbolFactory.createNote(T,I,new ClefInstruction,OctaveEnum.NONE,this.rules);MusicSheetCalculator.stafflineNoteCalculator.trackNote(M),I.notes.push(M)}m.hasOnlyRests=!0;for(const x of m.staffEntries)if(m.hasOnlyRests=x.hasOnlyRests(),!m.hasOnlyRests)break;return m}checkNoteForAccidental(e,r,s,o){let a=e.sourceNote.Pitch;const l=e.parentVoiceEntry.parentStaffEntry.parentMeasure.getTransposedHalftones();l!==0&&e.sourceNote.ParentStaffEntry.ParentStaff.ParentInstrument.MidiInstrumentId!==MidiInstrument.Percussion&&(a=e.Transpose(r.ActiveKeyInstruction,s,l,o),e.sourceNote.TransposedPitch=a),e.sourceNote.halfTone=a.getHalfTone(),r.checkAccidental(e,a)}handleStaffEntries(e){for(let r=0,s=this.graphicalMusicSheet.MeasureList.length;r0&&!this.rules.PercussionUseCajon2NoteSystem&&e[a]&&(this.rules.PercussionOneLineCutoff===-1||MusicSheetCalculator.stafflineNoteCalculator.getStafflineUniquePositionCount(a)0&&u.graphicalVoiceEntries[0].notes.length>0&&(this.layoutVoiceEntries(u,a),this.layoutStaffEntry(u));this.graphicalMeasureCreatedCalculations(c)}}}}calculateSkyBottomLines(){for(const e of this.musicSystems)for(const r of e.StaffLines)r.SkyBottomLineCalculator.calculateLines()}calculateExpressionAlignements(){}calculateStaffEntryArticulationMarks(){for(let e=0,r=this.musicSystems.length;e0&&this.layoutArticulationMarks(S.Articulations,S,y)}}}}}}calculateOrnaments(){for(let e=0,r=this.musicSystems.length;e0&&o.LyricVersesNumbers.sort()}for(let r=0,s=this.musicSystems.length;r=0&&(o=r.GraphicalLyricsEntries[s+1]),!o)return;const a=e.StaffEntryParent.parentMeasure.ParentStaffLine,l=o.StaffEntryParent.parentMeasure.ParentStaffLine,c=e.StaffEntryParent,u=o.StaffEntryParent;if(e.StaffEntryParent.parentMeasure.ParentStaffLine===o.StaffEntryParent.parentMeasure.ParentStaffLine){const d=c.parentMeasure.PositionAndShape.RelativePosition.x+c.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.BorderMarginRight-e.GraphicalLabel.CenteringXShift,g=u.parentMeasure.PositionAndShape.RelativePosition.x+u.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.RelativePosition.x+o.GraphicalLabel.PositionAndShape.BorderMarginLeft,m=e.GraphicalLabel.PositionAndShape.RelativePosition.y;let y=1;g-d>this.rules.MinimumDistanceBetweenDashes*3&&(y=Math.floor((g-d)/this.rules.MinimumDistanceBetweenDashes)-1),y===1?this.calculateSingleDashForLyricWord(a,d,g,m):this.calculateDashes(a,d,g,m)}else{const d=c.parentMeasure.PositionAndShape.RelativePosition.x+c.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.BorderMarginRight,g=a.Measures[a.Measures.length-1],m=g.PositionAndShape.RelativePosition.x+g.PositionAndShape.Size.width;let y=e.GraphicalLabel.PositionAndShape.RelativePosition.y;if(this.calculateDashes(a,d,m,y),l&&l.Measures[0]&&u.parentMeasure.ParentStaffLine&&!(u===u.parentMeasure.staffEntries[0]&&u.parentMeasure===u.parentMeasure.ParentStaffLine.Measures[0])){const b=l.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x,A=u.parentMeasure.PositionAndShape.RelativePosition.x+u.PositionAndShape.RelativePosition.x+o.GraphicalLabel.PositionAndShape.BorderMarginLeft;y=o.GraphicalLabel.PositionAndShape.RelativePosition.y,this.calculateDashes(l,b,A,y)}}}calculateDashes(e,r,s,o){let a=s-r;if(ar;)a=this.calculateRightAndLeftDashesForLyricWord(e,r,s,o),r+=c,s-=c,u++;a>c*2&&this.calculateSingleDashForLyricWord(e,r,s,o)}}calculateSingleDashForLyricWord(e,r,s,o){const a=new Label("-");a.colorDefault=this.rules.DefaultColorLyrics;let l=this.rules.LyricsHeight;s-r<.8&&(l*=.8,o-=.1*l);const c=new GraphicalLabel(a,l,TextAlignmentEnum.CenterBottom,this.rules);c.setLabelPositionAndShapeBorders(),e.LyricsDashes.push(c),this.staffLinesWithLyricWords.indexOf(e)===-1&&this.staffLinesWithLyricWords.push(e),c.PositionAndShape.Parent=e.PositionAndShape;const u=new PointF2D(r+(s-r)/2,o);c.PositionAndShape.RelativePosition=u}calculateLyricExtend(e){let r=e.GraphicalLabel.PositionAndShape.RelativePosition.y;const s=e.StaffEntryParent,o=s.parentMeasure.ParentStaffLine;let a,l;const c=s.parentMeasure.ParentStaff.idInMusicSheet;for(let u=s.parentVerticalContainer.Index+1;u0)break;a=d,l=a.parentMeasure.ParentStaffLine,l||(l=s.parentMeasure.ParentStaffLine)}}if(!(!a||!l))if(o===l&&a.parentMeasure.ParentStaffLine){const u=s.parentMeasure.PositionAndShape.RelativePosition.x+s.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.BorderMarginRight,d=a.parentMeasure.PositionAndShape.RelativePosition.x+a.PositionAndShape.RelativePosition.x+a.PositionAndShape.BorderMarginRight;r-=e.GraphicalLabel.PositionAndShape.Size.height/4,this.calculateSingleLyricWordWithUnderscore(o,u,d,r)}else{const u=o.Measures[o.Measures.length-1].PositionAndShape,d=s.parentMeasure.PositionAndShape.RelativePosition.x+s.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.BorderMarginRight,g=u.RelativePosition.x+u.Size.width;if(r-=e.GraphicalLabel.PositionAndShape.Size.height/4,this.calculateSingleLyricWordWithUnderscore(o,d,g,r),!a)return;if(a.parentMeasure.ParentStaffLine&&a.parentMeasure.staffEntries&&!(a===a.parentMeasure.staffEntries[0]&&a.parentMeasure===a.parentMeasure.ParentStaffLine.Measures[0])){const m=l.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x,y=a.parentMeasure.PositionAndShape.RelativePosition.x+a.PositionAndShape.RelativePosition.x+a.PositionAndShape.BorderMarginRight;this.calculateSingleLyricWordWithUnderscore(l,m,y,r)}}}calculateSingleLyricWordWithUnderscore(e,r,s,o){const a=new PointF2D(r,o),l=new PointF2D(s,o),c=new GraphicalLine(a,l,this.rules.LyricUnderscoreLineWidth);c.colorHex=this.rules.DefaultColorLyrics,e.LyricLines.push(c),this.staffLinesWithLyricWords.indexOf(e)===-1&&this.staffLinesWithLyricWords.push(e)}calculateRightAndLeftDashesForLyricWord(e,r,s,o){const a=new Label("-");a.colorDefault=this.rules.DefaultColorLyrics;const l=new GraphicalLabel(a,this.rules.LyricsHeight,TextAlignmentEnum.CenterBottom,this.rules);l.setLabelPositionAndShapeBorders(),e.LyricsDashes.push(l),this.staffLinesWithLyricWords.indexOf(e)===-1&&this.staffLinesWithLyricWords.push(e),l.PositionAndShape.Parent=e.PositionAndShape;const c=new PointF2D(r,o);l.PositionAndShape.RelativePosition=c;const u=new Label("-"),d=new GraphicalLabel(u,this.rules.LyricsHeight,TextAlignmentEnum.CenterBottom,this.rules);d.setLabelPositionAndShapeBorders(),e.LyricsDashes.push(d),d.PositionAndShape.Parent=e.PositionAndShape;const g=new PointF2D(s,o);return d.PositionAndShape.RelativePosition=g,d.PositionAndShape.RelativePosition.x-l.PositionAndShape.RelativePosition.x}calculateDynamicExpressions(){const e=Math.min(this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length-1,this.rules.MaxMeasureToDrawIndex),r=Math.min(this.rules.MinMeasureToDrawIndex,this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length);for(let s=r;s<=e;s++){const o=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[s];this.dynamicExpressionMap.clear();for(let a=0;a=0;o--)if(this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[o].StaffEntries[r])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[o].StaffEntries[r]}getFirstRightNotNullStaffEntryFromContainer(e,r,s){if(this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[e].StaffEntries[r])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[e].StaffEntries[r];for(let o=e+1;o0||r.StaffLinkedExpressions[s][o].UnknownList.length>0)&&this.calculateMoodAndUnknownExpression(r.StaffLinkedExpressions[s][o],e,s)}}calculateStemDirectionFromVoices(e){if(e.ParentSourceStaffEntry.Link!==void 0)if(e===e.ParentSourceStaffEntry.VoiceEntries[0]){e.WantedStemDirection=StemDirectionType.Up;return}else{e.WantedStemDirection=StemDirectionType.Down;return}else e.ParentVoice instanceof LinkedVoice?e.WantedStemDirection=StemDirectionType.Down:e.ParentSourceStaffEntry.VoiceEntries.length>1&&(e.WantedStemDirection=StemDirectionType.Up)}setBeamNotesWantedStemDirections(e){if(!(e.Notes.length>0))return;const r=e.Notes[0].NoteBeam;if(r){for(const s of r.Notes)if(s.ParentVoiceEntry.WantedStemDirection!==StemDirectionType.Undefined&&s.ParentVoiceEntry.ParentSourceStaffEntry.ParentStaff.Id===e.ParentSourceStaffEntry.ParentStaff.Id){e.WantedStemDirection=s.ParentVoiceEntry.WantedStemDirection;break}}}}class InstrumentalGroup{constructor(e,r,s){this.instrumentalGroups=[],this.name=e,this.musicSheet=r,this.parent=s}get InstrumentalGroups(){return this.instrumentalGroups}get Parent(){return this.parent}get Name(){return this.name}set Name(e){this.name=e}get GetMusicSheet(){return this.musicSheet}}class Instrument extends InstrumentalGroup{constructor(e,r,s,o){super(void 0,s,o),this.Transpose=0,this.voices=[],this.staves=[],this.hasLyrics=!1,this.hasChordSymbols=!1,this.playbackTranspose=0,this.lyricVersesNumbers=[],this.subInstruments=[],this.id=e,this.idString=r,this.nameLabel=new Label(r)}get Voices(){return this.voices}get Staves(){return this.staves}get NameLabel(){return this.nameLabel}get HasLyrics(){return this.hasLyrics}set HasLyrics(e){this.hasLyrics=e}get HasChordSymbols(){return this.hasChordSymbols}set HasChordSymbols(e){this.hasChordSymbols=e}get LyricVersesNumbers(){return this.lyricVersesNumbers}set LyricVersesNumbers(e){this.lyricVersesNumbers=e}get Name(){return this.nameLabel.text}set Name(e){this.nameLabel.text=e}get IdString(){return this.idString}get Id(){return this.id}get MidiInstrumentId(){return this.subInstruments[0].midiInstrumentID}set MidiInstrumentId(e){this.subInstruments[0].midiInstrumentID=e}get Volume(){return this.subInstruments[0].volume}set Volume(e){for(let r=0,s=this.subInstruments.length;r0?this.Voices[0].Visible:!1}set Visible(e){for(let r=0,s=this.Voices.length;r-1&&this.parent.MusicSystems.splice(r,1)}this.parent=e,this.boundingBox.Parent=e.PositionAndShape}get NextSystem(){const e=this.Parent.MusicSystems.indexOf(this);return e!==this.Parent.MusicSystems.length?this.Parent.MusicSystems[e+1]:void 0}get StaffLines(){return this.staffLines}get GraphicalMeasures(){return this.graphicalMeasures}get MeasureNumberLabels(){return this.measureNumberLabels}get Labels(){return this.labels.values()}get ObjectsToRedraw(){return this.objectsToRedraw}get InstrumentBrackets(){return this.instrumentBrackets}get GroupBrackets(){return this.groupBrackets}get GraphicalMarkedAreas(){return this.graphicalMarkedAreas}get SystemLines(){return this.systemLines}get Id(){return this.id}createSystemLeftLine(e,r,s){let o=-e/2;s&&(o=this.maxLabelLength+r-e/2);const a=this.staffLines[0].Measures[0];let l;this.staffLines.length>1&&(l=this.staffLines[this.staffLines.length-1].Measures[0]);const c=this.createSystemLine(o,e,SystemLinesEnum.SingleThin,SystemLinePosition.MeasureBegin,this,a,l);this.SystemLines.push(c),c.PositionAndShape.RelativePosition=new PointF2D(o,0),c.PositionAndShape.BorderLeft=0,c.PositionAndShape.BorderRight=e,c.PositionAndShape.BorderTop=c.PositionAndShape.Parent.BorderTop,c.PositionAndShape.BorderBottom=c.PositionAndShape.Parent.BorderBottom,this.createLinesForSystemLine(c)}createVerticalLineForMeasure(e,r,s,o,a,l){const c=l.ParentStaffLine,u=new PointF2D(c.PositionAndShape.RelativePosition.x,c.PositionAndShape.RelativePosition.y),d=c.ParentStaff.ParentInstrument.Staves;if(c.ParentStaff===d[0]){let g;d.length>1&&(g=this.getBottomStaffLine(c).Measures[a]);const m=this.createSystemLine(e,r,s,o,this,l,g),y=u.x+e;m.PositionAndShape.RelativePosition=new PointF2D(y,0),m.PositionAndShape.BorderLeft=0,m.PositionAndShape.BorderRight=r,this.SystemLines.push(m)}}setYPositionsToVerticalLineObjectsAndCreateLines(e){}calculateBorders(e){}alignBeginInstructions(){}GetLeftBorderAbsoluteXPosition(){return this.StaffLines[0].PositionAndShape.AbsolutePosition.x+this.StaffLines[0].Measures[0].beginInstructionsWidth}GetRightBorderAbsoluteXPosition(){return this.StaffLines[0].PositionAndShape.AbsolutePosition.x+this.StaffLines[0].StaffLines[0].End.x}AddGraphicalMeasures(e){for(let r=0,s=e.length;r1){let l,c;for(let u=0,d=this.staffLines.length;uthis.maxLabelLength&&(this.maxLabelLength=g.PositionAndShape.Size.width,r=a)}this.updateMusicSystemStaffLineXPosition(r)}setMusicSystemLabelsYPosition(){this.labels.forEach((e,r)=>{let s=0,o=0;for(let a=0;a0&&(r.PositionAndShape.RelativePosition=new PointF2D(0,s/o+2))})}checkStaffEntriesForStaffEntryLink(){let e=!1,r=!1;for(let s=0;s=0;s--){if(r=e.InstrumentalGroups[s],r instanceof Instrument){if(r.Visible===!0)return r;continue}return this.findLastVisibleInstrumentInInstrumentalGroup(r)}}updateMusicSystemStaffLineXPosition(e){for(let r=0,s=this.StaffLines.length;r0){const a=(o=window.GYM)==null?void 0:o.multitrack;a&&a>1&&(hideTrackTune=!0)}else hideTrackTune=!1;const s=VexFlowConverter.TimeSignature(e);hideTrackTune||this.stave.addModifier(s,VF$7.StaveModifier.Position.BEGIN,{numerator:e.Rhythm.Numerator,denominator:e.Rhythm.Denominator}),(!this.ShowTimeSignature||this.isTabMeasure&&!this.rules.TabTimeSignatureRendered)&&(s.setStyle({fillStyle:"#00000000"}),s.hidden=!0),this.updateInstructionWidth()}addClefAtEnd(e,r=!0){const s=VexFlowConverter.Clef(e,"small");if(!(!r&&this.stave.endClef)){this.stave.setEndClef(s.type,s.size,s.annotation);for(const o of this.stave.getModifiers())if(r){const a=o.originalStrokeStyle,l=o.originalFillStyle;o.getStyle()&&(a&&l?(o.getStyle().strokeStyle=a,o.getStyle().fillStyle=l):(o.getStyle().strokeStyle=null,o.getStyle().fillStyle=null))}else if(o.getCategory()==="clefs"&&o.getPosition()===VF$7.StaveModifier.Position.END&&o.type===s.type){const a="#12345600",l=o.getStyle();l&&(o.originalStrokeStyle=l.strokeStyle,o.originalFillStyle=l.fillStyle),o.setStyle({strokeStyle:a,fillStyle:a})}return this.parentSourceMeasure.hasEndClef=!0,this.updateInstructionWidth()}}addMeasureLine(e,r,s=!0){switch(r){case SystemLinePosition.MeasureBegin:switch(e){case SystemLinesEnum.BoldThinDots:s||(this.stave.modifiers[0].draw=function(o){switch(o.checkContext(),this.setRendered(),this.type){case VF$7.Barline.type.SINGLE:this.drawVerticalBar(o,this.x,!1);break;case VF$7.Barline.type.DOUBLE:this.drawVerticalBar(o,this.x,!0);break;case VF$7.Barline.type.END:this.drawVerticalEndBar(o,this.x);break;case VF$7.Barline.type.REPEAT_BEGIN:this.drawRepeatBar(o,this.x,!0);break;case VF$7.Barline.type.REPEAT_END:this.drawRepeatBar(o,this.x,!1);break;case VF$7.Barline.type.REPEAT_BOTH:this.drawRepeatBar(o,this.x,!1),this.drawRepeatBar(o,this.x,!0);break}}),this.stave.setBegBarType(VF$7.Barline.type.REPEAT_BEGIN);break}break;case SystemLinePosition.MeasureEnd:switch(e){case SystemLinesEnum.DotsBoldBoldDots:this.stave.setEndBarType(VF$7.Barline.type.REPEAT_BOTH);break;case SystemLinesEnum.DotsThinBold:this.stave.setEndBarType(VF$7.Barline.type.REPEAT_END);break;case SystemLinesEnum.DoubleThin:this.stave.setEndBarType(VF$7.Barline.type.DOUBLE);break;case SystemLinesEnum.ThinBold:this.stave.setEndBarType(VF$7.Barline.type.END);break;case SystemLinesEnum.None:this.stave.setEndBarType(VF$7.Barline.type.NONE);break}break}}addMeasureNumber(){const e=this.MeasureNumber.toString(),r=3;this.stave.setText(e,r,{justification:1,shift_x:0,shift_y:0})}addWordRepetition(e){let r,s=VF$7.StaveModifier.Position.END;const o=this.beginInstructionsWidth;switch(e.type){case RepetitionInstructionEnum.Segno:r=VF$7.Repetition.type.SEGNO_LEFT,s=VF$7.StaveModifier.Position.LEFT;break;case RepetitionInstructionEnum.Coda:r=VF$7.Repetition.type.CODA_LEFT,s=VF$7.StaveModifier.Position.LEFT;break;case RepetitionInstructionEnum.DaCapo:r=VF$7.Repetition.type.DC;break;case RepetitionInstructionEnum.DalSegno:r=VF$7.Repetition.type.DS;break;case RepetitionInstructionEnum.Fine:r=VF$7.Repetition.type.FINE;break;case RepetitionInstructionEnum.ToCoda:r=VF$7.Repetition.type.TO_CODA;break;case RepetitionInstructionEnum.DaCapoAlFine:r=VF$7.Repetition.type.DC_AL_FINE;break;case RepetitionInstructionEnum.DaCapoAlCoda:r=VF$7.Repetition.type.DC_AL_CODA;break;case RepetitionInstructionEnum.DalSegnoAlFine:r=VF$7.Repetition.type.DS_AL_FINE;break;case RepetitionInstructionEnum.DalSegnoAlCoda:r=VF$7.Repetition.type.DS_AL_CODA;break}if(r){if(this.stave.getModifiers().find(u=>u.symbol_type===r))return;const c=new VF$7.Repetition(r,o,-this.rules.RepetitionSymbolsYOffset);c.xShiftAsPercentOfStaveWidth=this.rules.RepetitionEndInstructionXShiftAsPercentOfStaveWidth,this.stave.addModifier(c,s);return}this.addVolta(e)}addVolta(e){var s;let r=VF$7.Volta.type.BEGIN;if(e.type===RepetitionInstructionEnum.Ending){switch(e.alignment){case AlignmentType.Begin:this.parentSourceMeasure.endsRepetitionEnding()?r=VF$7.Volta.type.BEGIN_END:r=VF$7.Volta.type.BEGIN;break;case AlignmentType.End:if(this.parentSourceMeasure.beginsRepetitionEnding())return;r=VF$7.Volta.type.END;break}const o=this.ParentStaffLine.SkyBottomLineCalculator,a=this.PositionAndShape.AbsolutePosition.x+this.PositionAndShape.BorderMarginLeft+.4,l=Math.max(this.PositionAndShape.AbsolutePosition.x+this.PositionAndShape.BorderMarginRight,a+.4),c=o.getSkyLineMinInRange(a,l)-2;let u=-6.1+this.rules.VoltaOffset,d=this.rules.VoltaOffset;if(c0){loglevelExports.trace(`Ghost Found in between (measure ${this.MeasureNumber})`);const m=this.createGhostGves(g);s.splice(l,0,...m),l+=m.length}}else{const g=Fraction$1.minus(u,this.parentSourceMeasure.AbsoluteTimestamp);if(g.RealValue>0){loglevelExports.trace(`Ghost Found at start (measure ${this.MeasureNumber})`);const m=this.createGhostGves(g);s.splice(0,0,...m),l+=m.length}}r=d}const o=Fraction$1.plus(this.parentSourceMeasure.AbsoluteTimestamp,this.parentSourceMeasure.Duration),a=Fraction$1.minus(o,r);if(a.RealValue>0){loglevelExports.trace(`Ghost Found at end (measure ${this.MeasureNumber})`);const l=this.createGhostGves(a);s=s.concat(l)}return s}createGhostGves(e){const r=VexFlowConverter.GhostNotes(e),s=[];for(const o of r){const a=new VexFlowVoiceEntry(void 0,void 0,this.rules);a.vfStaveNote=o,s.push(a)}return s}handleBeam(e,r){const s=e.sourceNote.ParentVoiceEntry.ParentVoice.VoiceId;let o=this.beams[s];o||(o=this.beams[s]=[]);let a;for(const c of o)c[0]===r&&(a=c);a||(a=[r,[]],o.push(a));const l=e.parentVoiceEntry;a[1].indexOf(l)<0&&a[1].push(l)}handleTuplet(e,r){const s=e.sourceNote.ParentVoiceEntry.ParentVoice.VoiceId;r=e.sourceNote.NoteTuplet;let o=this.tuplets[s];o||(o=this.tuplets[s]=[]);let a;for(const c of o)c[0]===r&&(a=c);a||(a=[r,[]],o.push(a));const l=e.parentVoiceEntry;a[1].indexOf(l)<0&&a[1].push(l)}finalizeBeams(){if(this.vfbeams={},this.isTabMeasure&&!this.rules.TabBeamsRendered)return;const e=[];for(const r in this.beams)if(this.beams.hasOwnProperty(r)){let s=this.vfbeams[r];s||(s=this.vfbeams[r]=[]);for(const o of this.beams[r]){let a=!1;for(const b of o[0].Notes)if(b.Length.RealValue>=new Fraction$1(1,4).RealValue&&(!b.TypeLength||b.TypeLength.RealValue>.125)){a=!0;break}if(a){loglevelExports.debug("Beam between note >= quarter, likely tremolo, currently unsupported. continuing.");continue}const l=[],c=o[0],u=o[1];let d=!0;for(const b of u)b.parentVoiceEntry.ParentVoice===c.Notes[0].ParentVoiceEntry.ParentVoice&&(d=b.parentVoiceEntry.WantedStemDirection===StemDirectionType.Undefined);let g=!1,m;const y=[];for(const b of u){const A=b.vfStaveNote;A&&(l.push(A),e.push(A)),b.parentVoiceEntry.IsGrace&&(g=!0),b.parentVoiceEntry.StemColor&&this.rules.ColoringEnabled&&y.push(b.parentVoiceEntry.StemColor)}if(l.length>1){const b=new VF$7.Beam(l,d);if(g&&(b.render_options.beam_width=3,b.render_options.partial_beam_length=4),y.length>=2&&this.rules.ColorBeams){m=y[0];for(const A of y)if(A!==m){m=void 0;break}b.setStyle({fillStyle:m,strokeStyle:m})}this.rules.FlatBeams&&(b.render_options.flat_beams=!0,b.render_options.flat_beam_offset=this.rules.FlatBeamOffset,b.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),s.push(b)}else loglevelExports.debug("Warning! Beam with no notes!")}}this.rules.AutoBeamNotes&&this.autoBeamNotes(e)}autoBeamNotes(e){if(!this.rules.AutoBeamTabs&&this.isTabMeasure)return;let r=60,s=[],o=[],a,l=[];this.autoTupletVfBeams=[];const c=[];this.autoVfBeams=[];let u=this.parentSourceMeasure.ActiveTimeSignature;u||(u=this.parentSourceMeasure.Duration);for(const m of this.staffEntries)for(const y of m.graphicalVoiceEntries){const b=y.vfStaveNote,A=y.notes[0],S={vfStaveNote:b,sourceNote:A.sourceNote},E=m.relInMeasureTimestamp.isOnBeat(u),x=o.length>=2,P=A.sourceNote.Length.RealValue-new Fraction$1(1,4).RealValue>-Fraction$1.FloatInaccuracyTolerance,C=y.parentVoiceEntry.IsGrace||P||e.contains(b);if(C||E){if(x){for(const k of o)s.push(k);c.push(s.slice()),s=[]}if(o=[],C)continue}const T=y.notes[0].sourceNote.NoteTuplet;if(T){let k=!1;for(const I of T.Notes){for(const M of I)if(M.NoteTypeXml>=NoteType.QUARTER||M.ParentVoiceEntry.IsGrace||M.isRest()&&!this.rules.AutoBeamOptions.beam_rests){k=!0;break}if(k)break}if(!a)a=T;else if(a!==T){if(l.length>1){const I=[];for(const B of l)I.push(B.vfStaveNote);const M=new VF$7.Beam(I,!0);this.rules.FlatBeams&&(M.render_options.flat_beams=!0,M.render_options.flat_beam_offset=this.rules.FlatBeamOffset,M.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoTupletVfBeams.push(M);const R=new Beam(r++);R.AutoGenerated=!0;for(const B of l)R.addNoteToBeam(B.sourceNote)}l=[],a=T}k||l.push(S);continue}else a=void 0;o.push(S)}if(l.length>=2){const m=[];for(const A of l)m.push(A.vfStaveNote);const y=new VF$7.Beam(m,!0);this.rules.FlatBeams&&(y.render_options.flat_beams=!0,y.render_options.flat_beam_offset=this.rules.FlatBeamOffset,y.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoTupletVfBeams.push(y);const b=new Beam(r++);b.AutoGenerated=!0;for(const A of l)b.addNoteToBeam(A.sourceNote)}if(o.length>=2){for(const m of o)s.push(m);c.push(s)}const d=this.rules.AutoBeamOptions,g={beam_middle_only:d.beam_middle_rests_only,beam_rests:d.beam_rests,maintain_stem_directions:d.maintain_stem_directions};if(d.groups&&d.groups.length){const m=[];for(const y of d.groups)m.push(new VF$7.Fraction(y[0],y[1]));g.groups=m}for(const m of c){const y=[];for(const A of m)y.push(A.vfStaveNote);const b=VF$7.Beam.generateBeams(y,g);for(const A of b)this.rules.FlatBeams&&(A.render_options.flat_beams=!0,A.render_options.flat_beam_offset=this.rules.FlatBeamOffset,A.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoVfBeams.push(A)}}finalizeTuplets(){this.vftuplets={};for(const e in this.tuplets)if(this.tuplets.hasOwnProperty(e)){let r=this.vftuplets[e];r||(r=this.vftuplets[e]=[]);for(const s of this.tuplets[e]){const o=[],a=s[1];for(const l of a)o.push(l.vfStaveNote);if(o.length>1){const l=s[0],c=l.Notes[0][0].NormalNotes,u=l.shouldBeBracketed(this.rules.TupletsBracketedUseXMLValue,this.rules.TupletsBracketed,this.rules.TripletsBracketed,this.isTabMeasure,this.rules.TabTupletsBracketed);let d=VF$7.Tuplet.LOCATION_TOP;l.tupletLabelNumberPlacement===PlacementEnum.Below&&(d=VF$7.Tuplet.LOCATION_BOTTOM);let g=0;if(this.isTabMeasure&&(g=this.rules.TabTupletYOffsetBottom*10,d===VF$7.Tuplet.LOCATION_TOP)){g=this.rules.TabTupletYOffsetTop*-10;const y=l.Notes[0][0];y!=null&&y.hasTabEffects()&&(g-=this.rules.TabTupletYOffsetEffects*10)}const m=new VF$7.Tuplet(o,{bracketed:u,location:d,notes_occupied:c,num_notes:l.TupletLabelNumber,ratioed:this.rules.TupletsRatioed,y_offset:g});r.push(m)}else loglevelExports.debug("Warning! Tuplet with no notes! Trying to ignore, but this is a serious problem.")}}}layoutStaffEntry(e){}graphicalMeasureCreatedCalculations(){let e,r=[];const s=[];for(const a of this.staffEntries){e=!1,r=[];for(const l of a.graphicalVoiceEntries){if(l.parentVoiceEntry.IsGrace){r.push(l),s.push(l),e||(e=l.parentVoiceEntry.GraceSlur);continue}if(l.vfStaveNote=VexFlowConverter.StaveNote(l),r.length>0){const c=[];for(let d=0;d0&&(g.GraceSlash=!1);const m=VexFlowConverter.StaveNote(g);g.vfStaveNote=m,c.push(m)}const u=new VF$7.GraceNoteGroup(c,e);u.spacing=this.rules.GraceNoteGroupXMargin*10,l.vfStaveNote.addModifier(0,u),r=[]}}}if(r.length>0)for(const a of r)a.vfStaveNote=VexFlowConverter.StaveNote(a),a.parentVoiceEntry.GraceAfterMainNote=!0;this.finalizeBeams(),this.finalizeTuplets();const o=this.getVoicesWithinMeasure();if(this.rules.RenderFingerings)for(const a of this.staffEntries)a.setModifierXOffsets();for(const a of o){if(!a)continue;this.vfVoices[a.VoiceId]=new VF$7.Voice({beat_value:this.parentSourceMeasure.ActiveTimeSignature.Denominator,num_beats:this.parentSourceMeasure.ActiveTimeSignature.Numerator,resolution:VF$7.RESOLUTION}).setMode(VF$7.Voice.Mode.SOFT);const l=this.getRestFilledVexFlowStaveNotesPerVoice(a);for(const c of l){if(c.parentVoiceEntry&&c.parentVoiceEntry.IsGrace&&!c.parentVoiceEntry.GraceAfterMainNote)continue;const u=c;if(u.vfStaveNote.getTicks().denominator===0&&(u.vfStaveNote.getTicks().denominator=1),c.notes.length===0||!c.notes[0]||!c.notes[0].sourceNote.PrintObject){this.vfVoices[a.VoiceId].addTickable(u.vfStaveNote);continue}const d=u.parentStaffEntry;if(d&&d.vfClefBefore){const g=new NoteSubGroup([d.vfClefBefore]);u.vfStaveNote.getCategory&&u.vfStaveNote.getCategory()==="stavenotes"&&u.vfStaveNote.addModifier(0,g)}c.parentVoiceEntry&&this.rules.RenderFingerings&&((this.rules.FingeringPosition===PlacementEnum.Left||this.rules.FingeringPosition===PlacementEnum.Right)&&this.createFingerings(c),this.createStringNumber(c)),this.createArpeggio(c),this.vfVoices[a.VoiceId].addTickable(u.vfStaveNote)}}this.setStemDirectionFromVexFlow();for(const a of s)this.createFingerings(a),this.createStringNumber(a),this.createArpeggio(a);this.createArticulations(),this.createOrnaments()}createArpeggio(e){if(e.parentVoiceEntry&&e.parentVoiceEntry.Arpeggio){const r=e.parentVoiceEntry.Arpeggio;if(e.notes&&e.notes.length>1){const s=VexFlowConverter.StrokeTypeFromArpeggioType(r.type),o=new VF$7.Stroke(s,{all_voices:this.rules.ArpeggiosGoAcrossVoices});this.rules.RenderArpeggios&&e.vfStaveNote.addStroke(0,o)}else loglevelExports.debug(`[OSMD] arpeggio in measure ${this.MeasureNumber} could not be drawn. voice entry had less than two notes, arpeggio is likely between voice entries, not currently supported in Vexflow.`)}}setStemDirectionFromVexFlow(){for(const e of this.staffEntries)for(const r of e.graphicalVoiceEntries)for(const s of r.notes){const o=s.vfnote;if(!o||!o[0])continue;switch(o[0].getStemDirection()){case VF$7.Stem.UP:r.parentVoiceEntry.StemDirection=StemDirectionType.Up;break;case VF$7.Stem.DOWN:r.parentVoiceEntry.StemDirection=StemDirectionType.Down;break}}}createArticulations(){for(let e=0,r=this.staffEntries.length;es){for(const l of e.notes)if(!l.sourceNote.Fingering&&(l.sourceNote.Fingering=o.pop(),s++,o.length===0))break}let a=-1;for(const l of e.notes){const c=l.sourceNote.Fingering;if(!c){a++;continue}a++;let u=this.rules.FingeringPosition;this.rules.FingeringPositionGrace===PlacementEnum.AboveOrBelow&&(this.isUpperStaffOfInstrument()?u=PlacementEnum.Above:this.isLowerStaffOfInstrument()&&(u=PlacementEnum.Below)),c.placement!==PlacementEnum.NotYetDefined&&(u=c.placement);let d=this.rules.FingeringOffsetX,g;switch(u){default:case PlacementEnum.Left:g=VF$7.StaveModifier.Position.LEFT,d-=l.baseFingeringXOffset*unitInPixels;break;case PlacementEnum.Right:g=VF$7.StaveModifier.Position.RIGHT,d+=l.baseFingeringXOffset*unitInPixels;break;case PlacementEnum.Above:g=VF$7.StaveModifier.Position.ABOVE;break;case PlacementEnum.Below:g=VF$7.StaveModifier.Position.BELOW;break;case PlacementEnum.NotYetDefined:const y=e.parentStaffEntry.sourceStaffEntry.ParentStaff;e.notes.length>1||e.parentStaffEntry.graphicalVoiceEntries.length>1?g=VF$7.StaveModifier.Position.LEFT:y.idInMusicSheet===0?(g=VF$7.StaveModifier.Position.ABOVE,u=PlacementEnum.Above):(g=VF$7.StaveModifier.Position.BELOW,u=PlacementEnum.Below)}const m=new VF$7.FretHandFinger(c.value);if(m.setPosition(g),m.setOffsetX(d),u===PlacementEnum.Above||u===PlacementEnum.Below){const y=u===PlacementEnum.Above?-1:1,b=u===PlacementEnum.Above?a:s-1-a;if(this.rules.FingeringInsideStafflines&&s>1){const A=m.getWidth()/2,S=s*2.5;m.setOffsetY(y*(b+S)*A)}else if(!this.rules.FingeringInsideStafflines){const A=new VF$7.StringNumber(c.value);A.radius=0,A.setPosition(g),A.setOffsetY(y*b*A.getWidth()*2/3),r.vfStaveNote.addModifier(a,A);continue}}r.vfStaveNote.addModifier(a,m)}}createStringNumber(e){if(!this.rules.RenderStringNumbersClassical)return;const r=e;e.notes.forEach((s,o)=>{const a=s.sourceNote.StringInstruction;if(a){let l=a.value;switch(l){case"1":l="I";break;case"2":l="II";break;case"3":l="III";break;case"4":l="IV";break;case"5":l="V";break;case"6":l="VI";break}const c=new VF$7.StringNumber(l);c.radius=0;const u=-this.rules.StringNumberOffsetY;e.notes.length>1||e.parentStaffEntry.graphicalVoiceEntries.length>1?(c.setOffsetX(s.baseStringNumberXOffset*13),c.setPosition(VF$7.Modifier.Position.RIGHT)):c.setPosition(VF$7.Modifier.Position.ABOVE),c.setOffsetY(u),r.vfStaveNote.addModifier(o,c)}})}lineTo(e,r){const s=new VF$7.StaveConnector(e.getVFStave(),this.stave);s.setType(r),this.connectors.push(s)}getVFStave(){return this.stave}updateInstructionWidth(){let e=0,r=0;const s=this.stave.getModifiers();for(const o of s)o.getPosition()===5?e+=o.getWidth()+o.getPadding(void 0):o.getPosition()===6&&(r+=o.getWidth()+o.getPadding(void 0));this.beginInstructionsWidth=(e!=null?e:0)/unitInPixels,this.endInstructionsWidth=(r!=null?r:0)/unitInPixels}addStaveTie(e,r){this.vfTies.push(e),r.vfTie=e,r.Tie.TieDirection===PlacementEnum.Below&&e.setDirection(1)}}class GraphicalStaffEntry extends GraphicalObject{constructor(e,r=void 0,s=void 0){super(),this.graphicalChordContainers=[],this.tabStaffEntry=void 0,this.MaxAccidentals=0,this.graphicalInstructions=[],this.ties=[],this.graphicalTies=[],this.lyricsEntries=[],this.parentMeasure=e,this.graphicalVoiceEntries=[],this.sourceStaffEntry=r,s?(this.staffEntryParent=s,this.parentVerticalContainer=s.parentVerticalContainer,this.PositionAndShape=new BoundingBox$1(this,s.PositionAndShape)):this.PositionAndShape=new BoundingBox$1(this,e.PositionAndShape),r&&(this.relInMeasureTimestamp=r.Timestamp),this.FingeringEntries=[]}get GraphicalInstructions(){return this.graphicalInstructions}get GraphicalTies(){return this.graphicalTies}get LyricsEntries(){return this.lyricsEntries}set LyricsEntries(e){this.lyricsEntries=e}getAbsoluteTimestamp(){const e=this.parentMeasure.parentSourceMeasure.AbsoluteTimestamp.clone();return this.relInMeasureTimestamp&&e.Add(this.relInMeasureTimestamp),e}findTieGraphicalNoteFromNote(e){var s;const r=((s=window.GYM)==null?void 0:s.graceCustom)||!1;for(const o of this.graphicalVoiceEntries)for(const a of o.notes){const l=a.sourceNote;if(r){if(e.NoteToGraphicalNoteObjectId==l.NoteToGraphicalNoteObjectId)return a}else if(!l.isRest()&&l.Pitch.FundamentalNote===e.Pitch.FundamentalNote&&l.Pitch.Octave===e.Pitch.Octave&&l.getAbsoluteTimestamp().Equals(e.getAbsoluteTimestamp()))return a}}findEndTieGraphicalNoteFromNoteWithStartingSlur(e,r){if(e){for(const s of this.graphicalVoiceEntries)if(s.parentVoiceEntry===e.ParentVoiceEntry)for(const o of s.notes){const a=o.sourceNote;if(a.NoteTie&&a.NoteSlurs.indexOf(r)!==-1)return o}}}findGraphicalNoteFromGraceNote(e){if(e){for(const r of this.graphicalVoiceEntries)if(r.parentVoiceEntry===e.ParentVoiceEntry){for(const s of r.notes)if(s.sourceNote===e)return s}}}findGraphicalNoteFromNote(e){if(e){for(const r of this.graphicalVoiceEntries)if(r.parentVoiceEntry===e.ParentVoiceEntry){for(const s of r.notes)if(s.sourceNote===e&&this.getAbsoluteTimestamp().Equals(e.getAbsoluteTimestamp()))return s}}}getGraphicalNoteDurationFromVoice(e){for(const r of this.graphicalVoiceEntries)if(r.parentVoiceEntry.ParentVoice===e)return r.notes[0].graphicalNoteLength;return new Fraction$1(0,1)}findVoiceEntryGraphicalNotes(e){for(const r of this.graphicalVoiceEntries)if(r.parentVoiceEntry===e)return r.notes}isVoiceEntryPartOfLinkedVoiceEntry(e){if(this.sourceStaffEntry.Link)for(let r=0,s=this.sourceStaffEntry.Link.LinkStaffEntries.length;r0&&(e=o)}return e}findStaffEntryMaxNoteLength(){let e=new Fraction$1(0,1);for(const r of this.graphicalVoiceEntries)for(const s of r.notes){const o=s.graphicalNoteLength;e.lt(o)&&o.GetExpandedNumerator()>0&&(e=o)}return e}findOrCreateGraphicalVoiceEntry(e){for(const s of this.graphicalVoiceEntries)if(s.parentVoiceEntry===e)return s;const r=MusicSheetCalculator.symbolFactory.createVoiceEntry(e,this);return this.graphicalVoiceEntries.push(r),r}findOrCreateGraphicalVoiceEntryFromGraphicalNote(e){for(const s of this.graphicalVoiceEntries)if(s===e.parentVoiceEntry)return s;const r=MusicSheetCalculator.symbolFactory.createVoiceEntry(e.sourceNote.ParentVoiceEntry,this);return this.graphicalVoiceEntries.push(r),r}addGraphicalNoteToListAtCorrectYPosition(e,r){const s=e.notes;if(s.length===0||r.PositionAndShape.RelativePosition.y=0;o--){if(s[o].PositionAndShape.RelativePosition.y>r.PositionAndShape.RelativePosition.y){s.splice(o+1,0,r);break}if(o===0){s.splice(0,0,r);break}}}hasOnlyRests(){return this.sourceStaffEntry.hasOnlyRests}getSkylineMin(){var o;const e=(o=this.parentMeasure)==null?void 0:o.ParentStaffLine.SkyBottomLineCalculator;if(!e)return;const[r,s]=this.getAbsoluteStartAndEnd();return e.getSkyLineMinInRange(r,s)}getHighestYAtEntry(){return this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.y+this.getSkylineMin()}getLowestYAtEntry(){return this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.y+this.getBottomlineMax()}getBottomlineMax(){var o;const e=(o=this.parentMeasure)==null?void 0:o.ParentStaffLine.SkyBottomLineCalculator;if(!e)return;const[r,s]=this.getAbsoluteStartAndEnd();return e.getBottomLineMaxInRange(r,s)}getAbsoluteStartAndEnd(){let e=this.PositionAndShape.AbsolutePosition.x;e-=this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.x;const r=e+this.PositionAndShape.Size.width;return[e,r]}}class VexFlowStaffEntry extends GraphicalStaffEntry{constructor(e,r,s){super(e,r,s)}calculateXPosition(){const e=this.parentMeasure.getVFStave();let r=0;for(const s of this.graphicalVoiceEntries)if(s.vfStaveNote){if(s.vfStaveNote.setStave(e),!s.vfStaveNote.preFormatted)continue;s.applyBordersFromVexflow();let o=!1,a=this.PositionAndShape;s.notes[0].sourceNote.isWholeRest()&&!this.hasOnlyRests()&&(o=!0,a=s.PositionAndShape),this.parentMeasure.ParentStaff.isTab?a.RelativePosition.x=(s.vfStaveNote.getAbsoluteX()+s.vfStaveNote.glyph.getWidth())/unitInPixels:(a.RelativePosition.x=s.vfStaveNote.getBoundingBox().getX()/unitInPixels,o&&(a.RelativePosition.x-=e.getNoteStartX()/unitInPixels,a.RelativePosition.x-=1.3));const l=s.notes[0].sourceNote;l.isRest()&&l.Length.RealValue===this.parentMeasure.parentSourceMeasure.ActiveTimeSignature.RealValue&&(a.RelativePosition.x+=this.parentMeasure.parentSourceMeasure.Rules.WholeRestXShiftVexflow-.1,s.PositionAndShape.BorderLeft=-.7,s.PositionAndShape.BorderRight=.7),s.PositionAndShape.BorderLefta.staffLine),s=this.calculateModifierXOffsets(r,1),o=this.calculateModifierXOffsets(r,.5);e.forEach((a,l)=>{a.baseFingeringXOffset=o[l],a.baseStringNumberXOffset=s[l]})}calculateModifierXOffsets(e,r){const s=[];for(let o=0;o=0;c--){if(Math.abs(e[o]-e[c])<=r&&a===s[c]){a++,l=!0;break}l=!1}s.push(a)}return s}}class VexFlowGraphicalNote extends GraphicalNote{constructor(e,r,s,o=OctaveEnum.NONE,a,l=void 0){if(super(e,r,a,l),this.clef=s,this.octaveShift=o,e.Pitch){const c=e.isRest()?e.Pitch:OctaveShift.getPitchFromOctaveShift(e.Pitch,o);this.vfpitch=VexFlowConverter.pitch(c,e.isRest(),this.clef,this.sourceNote.Notehead),this.vfpitch[1]=void 0}}setAccidental(e){const r=this.drawPitch(e);this.vfpitch=VexFlowConverter.pitch(r,this.sourceNote.isRest(),this.clef,this.sourceNote.Notehead),this.DrawnAccidental=r.Accidental}drawPitch(e){return OctaveShift.getPitchFromOctaveShift(e,this.octaveShift)}Transpose(e,r,s,o){const a=super.Transpose(e,r,s,o),l=OctaveShift.getPitchFromOctaveShift(a,this.octaveShift);return this.vfpitch=VexFlowConverter.pitch(l,this.sourceNote.isRest(),this.clef,this.sourceNote.Notehead),this.vfpitch[1]=void 0,l}setIndex(e,r){this.vfnote=[e,r],this.vfnoteIndex=r}notehead(e=void 0){let r=e;r||(r=this.vfnote[0]);const s=r.note_heads;return s&&s.length>this.vfnoteIndex&&s[this.vfnoteIndex]?r.note_heads[this.vfnoteIndex]:{line:0}}Clef(){return this.clef}getSVGId(){if(this.vfnote)return this.vfnote[0].getAttribute("id")}getSVGGElement(){if(this.vfnote)return this.vfnote[0].getAttribute("el")}getStemSVG(){return document.getElementById("vf-"+this.getSVGId()+"-stem")}getBeamSVGs(){const e=[];for(let r=0;;r++){const s=document.getElementById(`vf-${this.getSVGId()}-beam${r}`);if(!s)break;e.push(s)}return e}}class GraphicalChordSymbolContainer extends GraphicalObject{constructor(e,r,s,o,a,l){super(),this.chordSymbolContainer=e,this.boundingBox=new BoundingBox$1(this,r),this.rules=l,this.calculateLabel(s,a,o)}get GetChordSymbolContainer(){return this.chordSymbolContainer}get GraphicalLabel(){return this.graphicalLabel}calculateLabel(e,r,s){const o=ChordSymbolContainer.calculateChordText(this.chordSymbolContainer,r,s);this.graphicalLabel=new GraphicalLabel(new Label(o),e,this.rules.ChordSymbolTextAlignment,this.rules,this.boundingBox),this.graphicalLabel.PositionAndShape.RelativePosition=new PointF2D(this.rules.ChordSymbolRelativeXOffset,0),this.graphicalLabel.Label.colorDefault=this.rules.DefaultColorChordSymbol}}const VF$6=Vex.Flow;class VexFlowTabMeasure extends VexFlowMeasure{constructor(e,r=void 0,s=void 0){super(e,r,s),this.isTabMeasure=!0}resetLayout(){var r;const e=(r=this.ParentStaff.StafflineCount)!=null?r:6;this.stave=new VF$6.TabStave(0,0,0,{space_above_staff_ln:0,space_below_staff_ln:0,num_lines:e}),this.updateInstructionWidth()}graphicalMeasureCreatedCalculations(){for(let r=0,s=this.staffEntries.length;r1){const c=VexFlowConverter.StrokeTypeFromArpeggioType(l.type),u=new VF$6.Stroke(c,{all_voices:this.rules.ArpeggiosGoAcrossVoices});this.rules.RenderArpeggios&&a.vfStaveNote.addStroke(0,u)}else loglevelExports.debug(`[OSMD] arpeggio in measure ${this.MeasureNumber} could not be drawn. voice entry had less than two notes, arpeggio is likely between voice entries, not currently supported in Vexflow.`)}if(a.vfGhostNotes)for(const l of a.vfGhostNotes)this.vfVoices[r.VoiceId].addTickable(l);else this.vfVoices[r.VoiceId].addTickable(a.vfStaveNote)}}}}class StaffLineActivitySymbol extends GraphicalObject{constructor(e){super(),this.parentStaffLine=e;const r=e.PositionAndShape;this.boundingBox=new BoundingBox$1(this,r),this.boundingBox.BorderRight=6,this.boundingBox.BorderBottom=4.5,this.boundingBox.BorderLeft=-1.5,this.boundingBox.BorderTop=-1.5}}class StaffLine extends GraphicalObject{constructor(e,r){super(),this.measures=[],this.staffLines=new Array(5),this.octaveShifts=[],this.lyricLines=[],this.lyricsDashes=[],this.abstractExpressions=[],this.graphicalSlurs=[],this.graphicalGlissandi=[],this.Pedals=[],this.WavyLines=[],this.parentMusicSystem=e,this.parentStaff=r,this.boundingBox=new BoundingBox$1(this,e.PositionAndShape),this.skyBottomLine=MusicSheetCalculator.symbolFactory.createSkyBottomLineCalculator(this),this.staffHeight=this.parentMusicSystem.rules.StaffHeight,this.topLineOffset=0,this.bottomLineOffset=4,this.calculateStaffLineOffsets()}calculateStaffLineOffsets(){if(this.ParentStaff.isTab)switch(this.ParentStaff.StafflineCount){case 5:this.staffHeight=this.bottomLineOffset=this.ParentStaff.ParentInstrument.GetMusicSheet.Rules.TabStaffInterlineHeight*6;break;default:this.staffHeight=this.bottomLineOffset=this.ParentStaff.ParentInstrument.GetMusicSheet.Rules.TabStaffInterlineHeight*this.ParentStaff.StafflineCount;break}else switch(this.ParentStaff.StafflineCount){case 4:this.bottomLineOffset=1;break;case 3:this.topLineOffset=1,this.bottomLineOffset=1;break;case 2:this.topLineOffset=2,this.bottomLineOffset=1;break;case 1:this.topLineOffset=2,this.bottomLineOffset=2;break}}get Measures(){return this.measures}set Measures(e){this.measures=e}get StaffLines(){return this.staffLines}set StaffLines(e){this.staffLines=e}get Index(){return this.parentMusicSystem.StaffLines.indexOf(this)}get NextStaffLine(){const e=this.Index;return e!==this.parentMusicSystem.StaffLines.length?this.parentMusicSystem.StaffLines[e+1]:void 0}get LyricLines(){return this.lyricLines}get AbstractExpressions(){return this.abstractExpressions}set AbstractExpressions(e){this.abstractExpressions=e}set LyricLines(e){this.lyricLines=e}get LyricsDashes(){return this.lyricsDashes}set LyricsDashes(e){this.lyricsDashes=e}get ParentMusicSystem(){return this.parentMusicSystem}set ParentMusicSystem(e){this.parentMusicSystem=e}get ParentStaff(){return this.parentStaff}set ParentStaff(e){this.parentStaff=e}get SkyBottomLineCalculator(){return this.skyBottomLine}get SkyLine(){return this.skyBottomLine.SkyLine}get BottomLine(){return this.skyBottomLine.BottomLine}get OctaveShifts(){return this.octaveShifts}set OctaveShifts(e){this.octaveShifts=e}get StaffHeight(){return this.staffHeight}get TopLineOffset(){return this.topLineOffset}get BottomLineOffset(){return this.bottomLineOffset}get GraphicalSlurs(){return this.graphicalSlurs}get GraphicalGlissandi(){return this.graphicalGlissandi}addSlurToStaffline(e){this.graphicalSlurs.push(e)}addGlissandoToStaffline(e){this.graphicalGlissandi.push(e),e.StaffLine=this}addActivitySymbolClickArea(){const e=new StaffLineActivitySymbol(this),r=this.PositionAndShape;e.PositionAndShape.RelativePosition=new PointF2D(r.RelativePosition.x+r.BorderRight+.5,r.RelativePosition.y+.5),e.PositionAndShape.Parent=this.parentMusicSystem.PositionAndShape}isPartOfMultiStaffInstrument(){return this.parentStaff.ParentInstrument.Staves.length>1}findClosestStaffEntry(e){let r;for(let s=0,o=this.Measures.length;s0){const u=c.map(y=>y.PositionAndShape.Center.y),d=Math.max(...u),g=((a=window.GYM)==null?void 0:a.noNeedContinuousDynamic)||!1,m=((l=window.GYM)==null?void 0:l.noNeedGraphicalContinuousDynamic)||!1;for(let y=0;y0?c[y-1]:void 0;if(S){const x=this.getOverlap(b.PositionAndShape,S.PositionAndShape);b.squeeze(-(x.x+this.rules.DynamicExpressionSpacer))}if(E){const x=this.getOverlap(E.PositionAndShape,b.PositionAndShape);b.squeeze(x.x+this.rules.DynamicExpressionSpacer)}}}}}getDistance(e,r){const s=e.RelativePosition.x+e.BorderMarginRight,o=r.RelativePosition.x+r.BorderMarginLeft,a=e.RelativePosition.y+e.BorderMarginBottom,l=r.RelativePosition.y+r.BorderMarginTop;return new PointF2D(o-s,l-a)}getOverlap(e,r){return new PointF2D(e.RelativePosition.x+e.BorderMarginRight-(r.RelativePosition.x+r.BorderMarginLeft),e.RelativePosition.y+e.BorderMarginBottom-(r.RelativePosition.y+r.BorderMarginTop))}}class VexFlowStaffLine extends StaffLine{constructor(e,r){super(e,r),this.slursInVFStaffLine=[],this.alignmentManager=new AlignmentManager(this)}get SlursInVFStaffLine(){return this.slursInVFStaffLine}addVFSlurToVFStaffline(e){this.slursInVFStaffLine.push(e)}get AlignmentManager(){return this.alignmentManager}}const VF$5=Vex.Flow;class VexFlowMultiRestMeasure extends VexFlowMeasure{constructor(e,r=void 0,s=void 0){super(e,r,s),this.minimumStaffEntriesWidth=-1,s?this.rules=s.ParentMusicSystem.rules:r&&(this.rules=r.Rules),this.resetLayout(),this.multiRestElement=new VF$5.MultiMeasureRest(r.multipleRestMeasures,{})}draw(e){var a,l,c,u,d;const r=e.openGroup();(a=r==null?void 0:r.classList)==null||a.add("vf-measure");const s=e.openGroup();(l=s==null?void 0:s.classList)==null||l.add("vf-stave"),s==null||s.setAttribute("id",(u=(c=this.stave)==null?void 0:c.attrs)==null?void 0:u.id),this.stave.setContext(e).draw(),e.closeGroup();const o=e.openGroup();(d=o==null?void 0:o.classList)==null||d.add("vf-voices"),this.multiRestElement.setStave(this.stave),this.multiRestElement.setContext(e),this.multiRestElement.draw(),e.closeGroup();for(const g of this.connectors)g.setContext(e).draw();return e.closeGroup(),r}format(){}getVoicesWithinMeasure(){return[]}getGraphicalVoiceEntriesPerVoice(e){return[]}getRestFilledVexFlowStaveNotesPerVoice(e){return[]}handleBeam(e,r){}handleTuplet(e,r){}finalizeBeams(){}finalizeTuplets(){}layoutStaffEntry(e){}graphicalMeasureCreatedCalculations(){}createArticulations(){}createOrnaments(){}createFingerings(e){}getVFStave(){return this.stave}}class SkyBottomLineCalculationResult{constructor(e,r){this.skyLine=e,this.bottomLine=r}}const VF$4=Vex.Flow;class CanvasVexFlowBackend extends VexFlowBackend{constructor(e){super(),this.rules=e}getVexflowBackendType(){return VF$4.Renderer.Backends.CANVAS}getOSMDBackendType(){return BackendType.Canvas}getCanvasSize(){var e;return(e=document.getElementById("osmdCanvasPage"+this.graphicalMusicPage.PageNumber))==null?void 0:e.offsetHeight}initialize(e,r){this.zoom=r,this.canvas=document.createElement("canvas"),this.graphicalMusicPage||(this.graphicalMusicPage=new GraphicalMusicPage(void 0),this.graphicalMusicPage.PageNumber=1),this.canvas.id="osmdCanvasVexFlowBackendCanvas"+this.graphicalMusicPage.PageNumber,this.inner=document.createElement("div"),this.inner.id="osmdCanvasPage"+this.graphicalMusicPage.PageNumber,this.inner.style.position="relative",this.canvas.style.zIndex="0",this.inner.appendChild(this.canvas),e.appendChild(this.inner),this.renderer=new VF$4.Renderer(this.canvas,this.getVexflowBackendType()),this.ctx=this.renderer.getContext()}initializeHeadless(e=300,r=300){this.graphicalMusicPage||(this.graphicalMusicPage=new GraphicalMusicPage(void 0),this.graphicalMusicPage.PageNumber=1),this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=r,this.renderer=new VF$4.Renderer(this.canvas,this.getVexflowBackendType()),this.ctx=this.renderer.getContext()}getContext(){return this.ctx}free(){this.canvas&&(this.canvas.width=0,this.canvas.height=0,this.canvas.remove(),delete this.canvas,this.canvas=null)}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.rules.PageBackgroundColor&&(this.ctx.save(),this.ctx.setFillStyle(this.rules.PageBackgroundColor),this.zoom=1,this.ctx.fillRect(0,0,this.canvas.width/this.zoom,this.canvas.height/this.zoom),this.ctx.restore())}scale(e){this.ctx.scale(e,e)}translate(e,r){this.CanvasRenderingCtx.translate(e,r)}renderText(e,r,s,o,a,l,c=void 0,u=void 0){const d=this.CanvasRenderingCtx.font;this.CanvasRenderingCtx.save(),this.CanvasRenderingCtx.font=VexFlowConverter.font(e,r,s,this.rules,u),this.CanvasRenderingCtx.fillStyle=c,this.CanvasRenderingCtx.strokeStyle=c,this.CanvasRenderingCtx.fillText(o,l.x,l.y+a),this.CanvasRenderingCtx.restore(),this.CanvasRenderingCtx.font=d}renderRectangle(e,r,s,o=1){const a=this.CanvasRenderingCtx.fillStyle;s?this.CanvasRenderingCtx.fillStyle=s:this.CanvasRenderingCtx.fillStyle=VexFlowConverter.style(r),this.CanvasRenderingCtx.globalAlpha=o,this.ctx.fillRect(e.x,e.y,e.width,e.height),this.CanvasRenderingCtx.fillStyle=a,this.CanvasRenderingCtx.globalAlpha=1}renderLine(e,r,s="#FF0000FF",o=2,a){const l=this.CanvasRenderingCtx.strokeStyle;this.CanvasRenderingCtx.strokeStyle=s,this.CanvasRenderingCtx.beginPath(),this.CanvasRenderingCtx.moveTo(e.x,e.y),this.CanvasRenderingCtx.lineTo(r.x,r.y),this.CanvasRenderingCtx.stroke(),this.CanvasRenderingCtx.strokeStyle=l}renderCurve(e){this.ctx.beginPath(),this.ctx.moveTo(e[0].x,e[0].y),this.ctx.bezierCurveTo(e[1].x,e[1].y,e[2].x,e[2].y,e[3].x,e[3].y),this.ctx.lineTo(e[7].x,e[7].y),this.ctx.bezierCurveTo(e[6].x,e[6].y,e[5].x,e[5].y,e[4].x,e[4].y),this.ctx.lineTo(e[0].x,e[0].y),this.ctx.closePath(),this.ctx.fill()}renderPath(e,r=!0,s){this.ctx.beginPath();let o;for(const a of e){if(!o){this.ctx.moveTo(a.x,a.y),o=a;continue}this.ctx.lineTo(a.x,a.y)}this.ctx.closePath(),r?this.ctx.fill():this.ctx.stroke()}get CanvasRenderingCtx(){return this.ctx.vexFlowCanvasContext}}class SkyBottomLineCalculator{constructor(e){this.mStaffLineParent=e,this.mRules=e.ParentMusicSystem.rules}updateLines(e){const r=this.StaffLineParent.Measures;if(e.length!==r.length)if(loglevelExports.warn("SkyBottomLineCalculator: lengths of calculation result array and measure array do not match"),e.length(d-c)/unitInPixels+this.StaffLineParent.TopLineOffset);const u=Math.min(...this.mBottomLine);this.mBottomLine=this.mBottomLine.map(d=>(d-u)/unitInPixels+this.StaffLineParent.BottomLineOffset)}calculateLines(){const e=Math.max(Math.ceil(this.StaffLineParent.PositionAndShape.Size.width*this.SamplingUnit),1);this.mSkyLine=[],this.mBottomLine=[];const r=new CanvasVexFlowBackend(this.StaffLineParent.ParentMusicSystem.rules);for(const l of this.StaffLineParent.Measures){l.PositionAndShape.calculateAbsolutePositionsRecursive(0,0);const c=l.getVFStave();let u=c.getWidth();if(!(u>0)&&!l.IsExtraGraphicalMeasure&&(loglevelExports.warn("SkyBottomLineCalculator: width not > 0 in measure "+l.MeasureNumber),u=50),!(u>=50)&&l.IsExtraGraphicalMeasure)continue;r.initializeHeadless(u);const d=r.getContext(),g=r.getCanvas();u=g.width;const m=g.height;this.mRules.DYMusicScoreType==="jianpu"||c.setY(c.y+100);const y=c.getWidth();c.setWidth(u),l.format(),c.setWidth(y);try{l.draw(d)}catch(P){loglevelExports.warn("SkyBottomLineCalculator.calculateLines.draw",P)}const b=d.getImageData(0,0,u,m),A=4,S=Math.max(Math.ceil(l.PositionAndShape.Size.width*this.mRules.SamplingUnit),1),E=new Array(S),x=new Array(S);for(let P=0;P0){E[P]=C;break}}for(let C=m;C>0;C--){const k=C*u*A+P*A;if(b.data[k+3]>0){x[P]=C;break}}}for(let P=0;P(l-Math.max(...this.mSkyLine))/unitInPixels+this.StaffLineParent.TopLineOffset),this.mBottomLine=this.mBottomLine.map(l=>(l-Math.min(...this.mBottomLine))/unitInPixels+this.StaffLineParent.BottomLineOffset)}updateSkyLineWithLine(e,r,s){const o=Math.floor(e.x*this.SamplingUnit),a=Math.ceil(r.x*this.SamplingUnit);for(let l=o+1;l=this.BottomLine.length&&(s=this.BottomLine.length-1),o<0&&(o=0),o>=this.BottomLine.length&&(o=this.BottomLine.length),this.SkyLine[s]=e.y;for(let l=s+1;l=this.BottomLine.length&&(s=this.BottomLine.length-1),o<0&&(o=0),o>=this.BottomLine.length&&(o=this.BottomLine.length),this.BottomLine[s]=e.y;for(let l=s+1;le)}setBottomLineWithValue(e){this.BottomLine.forEach(r=>e)}getLeftIndexForPointX(e,r){const s=Math.floor(e*this.SamplingUnit);return s<0?0:s>=r?r-1:s}getRightIndexForPointX(e,r){const s=Math.ceil(e*this.SamplingUnit);return s<0?0:s>=r?r-1:s}updateStaffLineBorders(){this.mStaffLineParent.PositionAndShape.BorderTop=this.getSkyLineMin(),this.mStaffLineParent.PositionAndShape.BorderMarginTop=this.getSkyLineMin(),this.mStaffLineParent.PositionAndShape.BorderBottom=this.getBottomLineMax(),this.mStaffLineParent.PositionAndShape.BorderMarginBottom=this.getBottomLineMax()}getSkyLineMin(){return Math.min(...this.SkyLine.filter(e=>!isNaN(e)))}getSkyLineMinAtPoint(e){const r=Math.round(e*this.SamplingUnit);return this.mSkyLine[r]}getSkyLineMinInRange(e,r){return this.getMinInRange(this.SkyLine,e,r)}getBottomLineMax(){return Math.max(...this.BottomLine.filter(e=>!isNaN(e)))}getBottomLineMaxAtPoint(e){const r=Math.round(e*this.SamplingUnit);return this.mBottomLine[r]}getBottomLineMaxInRange(e,r){return this.getMaxInRange(this.BottomLine,e,r)}getBottomLineMaxInBoundingBox(e){const r=Math.floor(e.AbsolutePosition.x+e.BorderLeft),s=Math.ceil(e.AbsolutePosition.x+e.BorderRight);return this.getMaxInRange(this.mBottomLine,r,s)}updateWithBoundingBoxRecursively(e){if(e.ChildElements&&e.ChildElements.length>0)for(const r of e.ChildElements)this.updateWithBoundingBoxRecursively(r);else{const r=e.BorderTop+e.AbsolutePosition.y,s=e.BorderBottom+e.AbsolutePosition.y;if(r<0){const o=Math.floor(e.AbsolutePosition.x+e.BorderLeft),a=Math.ceil(e.AbsolutePosition.x+e.BorderRight);this.updateInRange(this.mSkyLine,o,a,r)}else if(s>this.StaffLineParent.StaffHeight){const o=Math.floor(e.AbsolutePosition.x+e.BorderLeft),a=Math.ceil(e.AbsolutePosition.x+e.BorderRight);this.updateInRange(this.mBottomLine,o,a,s)}}}findPreviousValidNumber(e,r){for(let s=e;s>=0;s--)if(!isNaN(r[s]))return r[s];return 0}findNextValidNumber(e,r){if(e>=r.length)return r[e-1];for(let s=e;se.length&&(s=e.length);for(let a=r;aMath.abs(e[a])?o:e[a]}setInRange(e,r=0,s=e.length,o=0){if(r=Math.floor(r*this.SamplingUnit),s=Math.ceil(s*this.SamplingUnit),se.length&&(s=e.length);for(let a=r;a=e.length&&(r=e.length-1),s<0&&(s=0),s>=e.length&&(s=e.length),r>=0&&s<=e.length)return Math.min(...e.slice(r,s+1))}getMaxInRange(e,r,s){if(r=Math.floor(r*this.SamplingUnit),s=Math.ceil(s*this.SamplingUnit),!e)return Number.MIN_VALUE;if(r<0&&(r=0),r>=e.length&&(r=e.length-1),s<0&&(s=0),s>=e.length&&(s=e.length),r>=0&&s<=e.length)return Math.max(...e.slice(r,s+1))}get SamplingUnit(){return this.mRules.SamplingUnit}get StaffLineParent(){return this.mStaffLineParent}get SkyLine(){return this.mSkyLine}get BottomLine(){return this.mBottomLine}}var parserExports$1={},parser$2={get exports(){return parserExports$1},set exports(i){parserExports$1=i}};/*! * d-path-parser - v1.0.0 * by Massimo Artizzu (MaxArt2501) * * https://github.com/MaxArt2501/d-path-parser * * Licensed under the MIT License * See LICENSE for details */(function(i,e){(function(r,s){i.exports=s()})(commonjsGlobal,function(){return function(s){for(var o={command:/\s*([achlmqstvz])/gi,number:/\s*([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/gi,comma:/\s*(?:(,)|\s)/g,flag:/\s*([01])/g},a={number:function(S){return+b("number",S)},"coordinate pair":function(S){var E=b("number",S);if(E===null&&!S)return null;b("comma");var x=b("number",!0);return{x:+E,y:+x}},"arc definition":function(S){var E=a["coordinate pair"](S);if(!E&&!S)return null;b("comma");var x=+b("number",!0);b("comma",!0);var P=!!+b("flag",!0);b("comma");var C=!!+b("flag",!0);b("comma");var T=a["coordinate pair"](!0);return{radii:E,rotation:x,large:P,clockwise:C,end:T}}},l=0,c=[];lr.bottom)switch(e.tagName.toLowerCase()){case"g":for(const y of e.children)this.recursiveUpdate(y,r,s,o);break;case"circle":case"rect":case"line":case"path":let g=Math.floor((a.x-s.x)/unitInPixels*this.mRules.SamplingUnit);const m=g+Math.ceil(a.width/unitInPixels*this.mRules.SamplingUnit);if(e.parentElement.classList.contains("vf-beams")&&e.hasAttribute("d")){const y=parserExports$1(e.getAttribute("d"));if(y.length===5){const b=y[0],A=y[3],S=(A.end.y-b.end.y)/(A.end.x-b.end.x);let E=b.end.y/unitInPixels;for(g;g<=m;g++)Ed[g]&&(d[g]=E),E+=S/this.mRules.SamplingUnit}}else for(g;g<=m;g++)ld[g]&&(d[g]=c);break}}calculateLinesForMeasure(e,r){var I,M,R;const s=r.getBBox(),o=Math.max(Math.round(e.PositionAndShape.Size.width*this.mRules.SamplingUnit),1),a=s.height/unitInPixels,c=r.getElementsByClassName("vf-stave")[0].getBBox();let u=(c==null?void 0:c.height)/unitInPixels,d=(c==null?void 0:c.y)/unitInPixels;const g=e.getVFStave();let m=((I=g.options)!=null&&I.num_lines?g.options.num_lines:5)-1,y=-1,b=0;const A=[m];for(const B of(M=g.options)==null?void 0:M.line_config)B.visible?(y===-1&&(y=b),A.push(b)):m--,b++;const S=A.pop();y===-1&&(y=0),m=S-y;const E=(R=g.options)==null?void 0:R.spacing_between_lines_px,x=m*E/unitInPixels;u-x>.2&&(u=x,d=y*E/unitInPixels);const P=d+u,C=new Array(o).fill(d),T=new Array(o).fill(P),k=[C,T];if(a>u)for(const B of r.children)this.recursiveUpdate(B,{top:d,bottom:P},s,[C,T]);return k}calculateLines(){this.mSkyLine=[],this.mBottomLine=[];const e=document.createElement("div");document.body.append(e);const r=new SvgVexFlowBackend(this.mRules);r.initialize(e,1,"0");const s=r.getContext(),o=s.openGroup();o.classList.add("staffline");for(const a of this.StaffLineParent.Measures){a.PositionAndShape.calculateAbsolutePositionsRecursive(0,0),a.setAbsoluteCoordinates(a.PositionAndShape.AbsolutePosition.x*unitInPixels,a.PositionAndShape.AbsolutePosition.y*unitInPixels);const l=a.draw(s),[c,u]=this.calculateLinesForMeasure(a,l);this.mSkyLine.push(...c),this.mBottomLine.push(...u)}s.closeGroup();for(const a of o.getElementsByClassName("vf-ties"))for(const l of a.childNodes)if(l.nodeName.toLowerCase()==="path"){const c=l.getBBox();let u=Math.floor(c.x/unitInPixels*this.mRules.SamplingUnit);const d=u+Math.ceil(c.width/unitInPixels*this.mRules.SamplingUnit),g=c.y/unitInPixels,m=c.height/unitInPixels+g;for(u;u<=d;u++)gthis.mBottomLine[u]&&(this.mBottomLine[u]=m)}r.clear(),e.remove()}}const VF$3=Vex.Flow;class VexFlowGraphicalSymbolFactory{constructor(){this.hasBBox=!1,document.createElementNS("http://www.w3.org/2000/svg","g").getBBox!==void 0&&(this.hasBBox=!0)}createMusicSystem(e,r){return new VexFlowMusicSystem(e,r)}createStaffLine(e,r){return new VexFlowStaffLine(e,r)}createSkyBottomLineCalculator(e){return e.ParentMusicSystem.rules.PerformanceMode&&this.hasBBox?new SkyBottomLineCalculatorSVG(e):new SkyBottomLineCalculator(e)}createGraphicalMeasure(e,r,s=!1){return new VexFlowMeasure(r,e,void 0)}createMultiRestMeasure(e,r,s){return new VexFlowMultiRestMeasure(r,e,s)}createTabStaffMeasure(e,r){return new VexFlowTabMeasure(r,e)}createExtraGraphicalMeasure(e){const r=new VexFlowMeasure(e.ParentStaff,void 0,e);return r.IsExtraGraphicalMeasure=!0,r.ExtraGraphicalMeasurePreviousMeasure=e.Measures.last(),r}createStaffEntry(e,r){return new VexFlowStaffEntry(r,e,void 0)}createVoiceEntry(e,r){return new VexFlowVoiceEntry(e,r)}createNote(e,r,s,o=OctaveEnum.NONE,a,l=void 0){return new VexFlowGraphicalNote(e,r,s,o,a,l)}createGraceNote(e,r,s,o,a=OctaveEnum.NONE){return new VexFlowGraphicalNote(e,r,s,a,o)}addGraphicalAccidental(e,r){e.setAccidental(r)}addFermataAtTiedEndNote(e,r){}createInStaffClef(e,r){const s=e,o=VexFlowConverter.Clef(r,"small");s.vfClefBefore=new VF$3.ClefNote(o.type,o.size,o.annotation)}createChordSymbols(e,r,s,o){const a=r.parentMeasure.parentSourceMeasure.Rules;let l=0;const c=a.ChordSymbolXSpacing;for(const u of e.ChordContainers){let d=r.PositionAndShape;r.graphicalVoiceEntries.length===1&&r.graphicalVoiceEntries[0].notes.length===1&&r.graphicalVoiceEntries[0].notes[0].sourceNote.isWholeRest()&&(d=r.parentMeasure.PositionAndShape,l+=r.parentMeasure.beginInstructionsWidth,l+=a.ChordSymbolWholeMeasureRestXOffset);const g=new GraphicalChordSymbolContainer(u,d,a.ChordSymbolTextHeight,s,o,r.parentMeasure.parentSourceMeasure.Rules),m=g.GraphicalLabel;m.PositionAndShape.RelativePosition.y-=a.ChordSymbolYOffset,m.setLabelPositionAndShapeBorders();let y=0;m.PositionAndShape.Size.width=4&&e.Parent.Notes[0].Length.Denominator>4&&TextAlignmentEnum.LeftBottom;const l=new Label(e.Text);l.isLyricText=!0,l.lyricExtendNoteId=(d=(u=e==null?void 0:e.Parent)==null?void 0:u.Notes[0])==null?void 0:d.NoteToGraphicalNoteObjectId;const c=this.graphicalStaffEntry.parentMeasure.parentSourceMeasure.Rules;this.graphicalLabel=new GraphicalLabel(l,s,a,c,r.PositionAndShape),this.graphicalLabel.Label.colorDefault=c.DefaultColorLyrics,this.graphicalLabel.PositionAndShape.RelativePosition=new PointF2D(0,o),this.graphicalLabel.setLabelPositionAndShapeBorders(),this.graphicalLabel.PositionAndShape.Size.width1&&e=_GraphicalCurve.bezierCurveStepSize?new PointF2D:new PointF2D(_GraphicalCurve.oneMinusTPow3[e]*this.bezierStartPt.x+_GraphicalCurve.bezierFactorOne[e]*this.bezierStartControlPt.x+_GraphicalCurve.bezierFactorTwo[e]*this.bezierEndControlPt.x+_GraphicalCurve.tPow3[e]*this.bezierEndPt.x,_GraphicalCurve.oneMinusTPow3[e]*this.bezierStartPt.y+_GraphicalCurve.bezierFactorOne[e]*this.bezierStartControlPt.y+_GraphicalCurve.bezierFactorTwo[e]*this.bezierEndControlPt.y+_GraphicalCurve.tPow3[e]*this.bezierEndPt.y)}};let GraphicalCurve=_GraphicalCurve;GraphicalCurve.bezierCurveStepSize=1e3;const VF$1=Vex.Flow,_GraphicalSlur=class extends GraphicalCurve{constructor(i,e){super(),this.staffEntries=[],this.slur=i,this.rules=e}static Compare(i,e){if(i.staffEntries.length<1)return-1;if(e.staffEntries.length<1)return 1;const r=Fraction$1.minus(i.staffEntries[i.staffEntries.length-1].getAbsoluteTimestamp(),i.staffEntries[0].getAbsoluteTimestamp()),s=Fraction$1.minus(e.staffEntries[e.staffEntries.length-1].getAbsoluteTimestamp(),e.staffEntries[0].getAbsoluteTimestamp());return r.RealValue>s.RealValue?1:s.RealValue>r.RealValue?-1:0}calculateCurve(i){const e=this.staffEntries[0],r=this.staffEntries[this.staffEntries.length-1];let s=e.findGraphicalNoteFromNote(this.slur.StartNote);!s&&this.graceStart&&(s=e.findGraphicalNoteFromGraceNote(this.slur.StartNote)),s||(s=e.findEndTieGraphicalNoteFromNoteWithStartingSlur(this.slur.StartNote,this.slur));let o=r.findGraphicalNoteFromNote(this.slur.EndNote);!o&&this.graceEnd&&(o=r.findGraphicalNoteFromGraceNote(this.slur.EndNote));const a=e.parentMeasure.ParentStaffLine,l=a.SkyBottomLineCalculator;this.calculatePlacement(l,a);const c=this.calculateStartAndEnd(s,o,a,i,l),u=c.startX,d=c.endX;let g=c.startY,m=c.endY;const y=i.SlurTangentMinAngle,b=i.SlurTangentMaxAngle;let A;if(this.placement===PlacementEnum.Above){g-=i.SlurNoteHeadYOffset,m-=i.SlurNoteHeadYOffset;const S=new PointF2D(this.staffEntries[0].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[0].PositionAndShape.RelativePosition.x,g);s?S.x+=this.staffEntries[0].PositionAndShape.BorderRight:S.x=this.staffEntries[0].parentMeasure.beginInstructionsWidth,this.graceStart&&(S.x+=r.PositionAndShape.RelativePosition.x);const E=new PointF2D(this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].PositionAndShape.RelativePosition.x,m);if(o?E.x+=this.staffEntries[this.staffEntries.length-1].PositionAndShape.BorderLeft:E.x=this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.Size.width,this.graceEnd&&(E.x+=r.staffEntryParent.PositionAndShape.RelativePosition.x),A=this.calculateTopPoints(S,E,a,l),A.length===0){const J=new PointF2D((E.x-S.x)/2+S.x,(E.y-S.y)/2+S.y);A.push(J)}const x=Math.atan((m-g)/(d-u)),P=new PointF2D(0,0);let C=new PointF2D(d-u,-(m-g));const T=Matrix2D.getRotationMatrix(x),k=T.getTransposeMatrix();C=T.vectorMultiplication(C);const I=this.calculateTranslatedAndRotatedPointListAbove(A,u,g,T),M=this.calculateMaxLeftSlope(I,P,C),R=this.calculateMaxRightSlope(I,P,C),B=P.y-P.x*M,_=C.y-C.x*R,V=new PointF2D;let D=!1;Math.abs(Math.abs(M)-Math.abs(R))<1e-4?(V.x=C.x/2,V.y=0,D=!0):(V.x=(_-B)/(M-R),V.y=M*V.x+B);const F=this.calculateHeightWidthRatio(C.x,I),N=0,K=0;let G=y,q=-y;if(!D){const J=this.calculateAngles(y,M,R,b);G=J.startAngle,q=J.endAngle}const O=this.calculateControlPoints(C.x,G,q,I,F,g,m);let U=O.startControlPoint,$=O.endControlPoint;U=k.vectorMultiplication(U),U.x+=u,U.y=-U.y+g,$=k.vectorMultiplication($),$.x+=u,$.y=-$.y+g,this.bezierStartPt=new PointF2D(u,g-N),this.bezierStartControlPt=new PointF2D(U.x,U.y-N),this.bezierEndControlPt=new PointF2D($.x,$.y-K),this.bezierEndPt=new PointF2D(d,m-K);const Y=a.SkyLine.length,Q=l.getLeftIndexForPointX(this.bezierStartPt.x,Y),xe=l.getLeftIndexForPointX(this.bezierEndPt.x,Y),ue=this.bezierEndPt.x-this.bezierStartPt.x,W=l.SamplingUnit;for(let J=Q;J=Q&&(a.SkyLine[Ee]=Math.min(a.SkyLine[Ee],ge.y)),Ee++,Ee=Q&&(a.BottomLine[Ee]=Math.max(a.BottomLine[Ee],ge.y)),Ee++,Ee0){this.placement=PlacementEnum.Above;return}const r=this.staffEntries[0],s=this.staffEntries[this.staffEntries.length-1],o=r.graphicalVoiceEntries[0].parentVoiceEntry.StemDirection,a=s.graphicalVoiceEntries[0].parentVoiceEntry.StemDirection;if(o===a)this.placement=o===StemDirectionType.Up?PlacementEnum.Below:PlacementEnum.Above,this.rules.SlurPlacementAtStems&&(this.placement=o===StemDirectionType.Up?PlacementEnum.Above:PlacementEnum.Below);else{let l=r.PositionAndShape.BorderLeft+r.PositionAndShape.RelativePosition.x+r.parentMeasure.PositionAndShape.RelativePosition.x,c=s.PositionAndShape.BorderRight+s.PositionAndShape.RelativePosition.x+s.parentMeasure.PositionAndShape.RelativePosition.x;this.graceStart&&(l+=s.PositionAndShape.RelativePosition.x),this.graceEnd&&(c+=s.staffEntryParent.PositionAndShape.RelativePosition.x);const u=i.getSkyLineMinInRange(l,c)*-1;i.getBottomLineMaxInRange(l,c)-e.StaffHeight>u?this.placement=PlacementEnum.Above:this.placement=PlacementEnum.Below}}calculateTopPoints(i,e,r,s){const o=[];let a=s.getRightIndexForPointX(i.x,r.SkyLine.length),l=s.getLeftIndexForPointX(e.x,r.SkyLine.length);a<0&&(a=0),l>=r.SkyLine.length&&(l=r.SkyLine.length-1);for(let c=a;c=r.BottomLine.length&&(l=r.BottomLine.length-1);for(let c=a;cd&&i>g&&(u+=i/70*this.rules.SlurHeightFlattenLongSlursFactorByWidth,u*=1+e/30*this.rules.SlurHeightFlattenLongSlursFactorByAngle,c/=u);const m=Math.min(.5,Math.max(.1,1.7*e/80*c*Math.pow(Math.max(o,.05),.4))),y=Math.min(.5,Math.max(.1,1.7*-r/80*c*Math.pow(Math.max(o,.05),.4))),b=new PointF2D;b.x=i*m*Math.cos(e*_GraphicalSlur.degreesToRadiansFactor),b.y=i*m*Math.sin(e*_GraphicalSlur.degreesToRadiansFactor);const A=new PointF2D;A.x=i-i*y*Math.cos(r*_GraphicalSlur.degreesToRadiansFactor),A.y=-(i*y*Math.sin(r*_GraphicalSlur.degreesToRadiansFactor));let S=b.y-A.y;for(;this.rules.SlurMaximumYControlPointDistance&&Math.abs(S)>this.rules.SlurMaximumYControlPointDistance;)S<0?(b.y+=1,A.y-=1):(b.y-=1,A.y+=1),S=b.y-A.y;return{startControlPoint:b,endControlPoint:A}}calculateAngles(i,e,r,s){let a=Math.atan(e)/_GraphicalSlur.degreesToRadiansFactor;e>0?a+=20:a-=20;let l=Math.atan(r)/_GraphicalSlur.degreesToRadiansFactor;r<0?l-=20:l+=20;const c=Math.min(Math.max(i,a),s),u=Math.max(Math.min(-i,l),-s);return{startAngle:c,endAngle:u}}};let GraphicalSlur=_GraphicalSlur;GraphicalSlur.degreesToRadiansFactor=Math.PI/180;class VexflowStafflineNoteCalculator{constructor(e){this.staffPitchListMapping=new Dictionary,this.baseLineNote=NoteEnum.B,this.baseLineOctave=1,this.rules=e}trackNote(e){if(!(e instanceof VexFlowGraphicalNote)||e.Clef().ClefType!==ClefEnum.percussion||e.sourceNote.isRest()||this.rules.PercussionOneLineCutoff===0||this.rules.PercussionForceVoicesOneLineCutoff===-1)return;const r=e.parentVoiceEntry.parentStaffEntry.sourceStaffEntry.ParentStaff.idInMusicSheet;let s;this.staffPitchListMapping.containsKey(r)||this.staffPitchListMapping.setValue(r,new Array),s=this.staffPitchListMapping.getValue(r);const o=e.sourceNote.Pitch;VexflowStafflineNoteCalculator.findOrInsert(s,o)}static PitchIndexOf(e,r,s=0){if(s>e.length-1)return-1;for(let o=s;othis.rules.PercussionOneLineCutoff&&!o&&!this.rules.PercussionUseCajon2NoteSystem)return e;const a=e,l=e.sourceNote.Pitch;let c=this.baseLineNote,u=this.baseLineOctave;if(this.rules.PercussionUseCajon2NoteSystem?l.FundamentalNote===NoteEnum.C&&(c=NoteEnum.G,u=1):this.rules.PercussionUseXMLDisplayStep&&e.sourceNote.displayStepUnpitched!==void 0&&(c=e.sourceNote.displayStepUnpitched,u=e.sourceNote.displayOctaveUnpitched+this.rules.PercussionOneLineXMLDisplayStepOctaveOffset),s.length<=this.rules.PercussionForceVoicesOneLineCutoff)a.setAccidental(new Pitch(c,u,l.Accidental));else{const d=VexflowStafflineNoteCalculator.PitchIndexOf(s,l);if(d>-1){const g=Math.ceil(s.length/2);if(!this.rules.PercussionUseXMLDisplayStep)if(d>=g)switch(u=2,(d-g)%5){case 1:c=NoteEnum.E;break;case 2:c=NoteEnum.G;break;case 3:c=NoteEnum.B;break;case 4:c=NoteEnum.D,u=3;break;default:c=NoteEnum.C;break}else switch(d%5){case 1:c=NoteEnum.F;break;case 2:c=NoteEnum.D;break;case 3:c=NoteEnum.B,u=0;break;case 4:c=NoteEnum.G,u=0;break;default:c=NoteEnum.A;break}const m=new Pitch(c,u,l.Accidental);a.setAccidental(m);const y=a.parentVoiceEntry.parentVoiceEntry;!this.rules.SetWantedStemDirectionByXml&&y.Notes.length<2&&(m.Octave>this.baseLineOctave||m.FundamentalNote===this.baseLineNote&&m.Octave===this.baseLineOctave?a.parentVoiceEntry.parentVoiceEntry.WantedStemDirection=StemDirectionType.Up:a.parentVoiceEntry.parentVoiceEntry.WantedStemDirection=StemDirectionType.Down)}}return a}getStafflineUniquePositionCount(e){return this.staffPitchListMapping.containsKey(e)?this.staffPitchListMapping.getValue(e).length:0}}class GraphicalPedal extends GraphicalObject{constructor(e,r){super(),this.getPedal=e,this.setSymbol(),this.PositionAndShape=new BoundingBox$1(this,r)}setSymbol(){!this.getPedal.IsLine&&this.getPedal.IsSign?this.pedalSymbol=MusicSymbol.PEDAL_SYMBOL:this.getPedal.IsLine&&this.getPedal.IsSign?this.pedalSymbol=MusicSymbol.PEDAL_MIXED:this.pedalSymbol=MusicSymbol.PEDAL_BRACKET}}class VexFlowPedal extends GraphicalPedal{constructor(e,r,s=!1,o=!1){switch(super(e,r),this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET,this.ChangeBegin=!1,this.ChangeEnd=!1,this.line=-3,this.EndSymbolPositionAndShape=void 0,this.ChangeBegin=e.ChangeBegin,this.ChangeEnd=e.ChangeEnd,this.pedalSymbol){case MusicSymbol.PEDAL_SYMBOL:this.vfStyle=Vex.Flow.PedalMarking.Styles.TEXT,this.EndSymbolPositionAndShape=new BoundingBox$1(this,r);break;case MusicSymbol.PEDAL_MIXED:s&&o?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BOTH:s?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BEGIN:o?this.vfStyle=Vex.Flow.PedalMarking.Styles.MIXED_OPEN_END:this.vfStyle=Vex.Flow.PedalMarking.Styles.MIXED;break;case MusicSymbol.PEDAL_BRACKET:default:s&&o?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BOTH:s?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BEGIN:o?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_END:this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET;break}}setStartNote(e){if(!e)return!1;for(const r of e.graphicalVoiceEntries){const s=r;if(s!=null&&s.vfStaveNote)return this.startNote=s.vfStaveNote,this.startVfVoiceEntry=s,!0}return!1}setEndNote(e){if(!e)return!1;for(const r of e.graphicalVoiceEntries){const s=r;if(s!=null&&s.vfStaveNote)return this.endNote=s.vfStaveNote,this.endVfVoiceEntry=s,!0}return!1}setEndMeasure(e){this.endMeasure=e}CalculateBoundingBox(){}setLine(e){this.line=e}getPedalMarking(){const e=new Vex.Flow.PedalMarking([this.startNote,this.endNote]);return this.endMeasure&&e.setEndStave(this.endMeasure.getVFStave()),e.setStyle(this.vfStyle),e.setLine(this.line),e.setCustomText(this.DepressText,this.ReleaseText),(!this.endVfVoiceEntry||this.getPedal.EndsStave)&&(e.EndsStave=!0),this.getPedal.BeginsStave&&(e.BeginsStave=!0),e.ChangeBegin=this.ChangeBegin,e.ChangeEnd=this.ChangeEnd,e}setEndsStave(e,r){r!=null&&r.gte(e.parentSourceMeasure.Duration)&&(this.getPedal.EndsStave=!0)}setBeginsStave(e,r){e&&r.RealValue===0&&(this.getPedal.BeginsStave=!0)}}class GraphicalGlissando{constructor(e){this.Glissando=e,this.staffEntries=[]}calculateLine(e){const r=this.staffEntries[0],s=this.staffEntries[this.staffEntries.length-1],o=r.findGraphicalNoteFromNote(this.Glissando.StartNote),a=s.findGraphicalNoteFromNote(this.Glissando.EndNote);if(!o&&!a)return;const l=r.parentMeasure.ParentStaffLine;let c,u,d,g;if(o&&r.parentMeasure.ParentStaffLine===this.StaffLine)c=o.PositionAndShape.RelativePosition.x+o.parentVoiceEntry.parentStaffEntry.PositionAndShape.RelativePosition.x+o.parentVoiceEntry.parentStaffEntry.parentMeasure.PositionAndShape.RelativePosition.x+e.GlissandoNoteOffset,d=o.PositionAndShape.AbsolutePosition.y;else{c=s.parentMeasure.beginInstructionsWidth-.4;const b=this.Glissando.Direction===ColDirEnum.Down?-1:1;d=a.PositionAndShape.AbsolutePosition.y+b*e.GlissandoStafflineStartYDistanceToNote}if(a&&s.parentMeasure.ParentStaffLine===this.StaffLine)u=a.PositionAndShape.RelativePosition.x+a.parentVoiceEntry.parentStaffEntry.PositionAndShape.RelativePosition.x+a.parentVoiceEntry.parentStaffEntry.parentMeasure.PositionAndShape.RelativePosition.x-.5-e.GlissandoNoteOffset,c>u&&(c=u-e.GlissandoStafflineStartMinimumWidth),g=a.PositionAndShape.AbsolutePosition.y;else{if(l.Measures.last().parentSourceMeasure.HasEndLine)return;u=l.PositionAndShape.Size.width,u-c>e.GlissandoStafflineEndOffset&&(c=u-e.GlissandoStafflineEndOffset);const b=this.Glissando.Direction===ColDirEnum.Down?1:-1;g=o.PositionAndShape.AbsolutePosition.y+b*e.GlissandoStafflineStartYDistanceToNote}const m=new PointF2D(c,d),y=new PointF2D(u,g);this.Width===void 0&&(this.Width=e.GlissandoDefaultWidth),this.Line=new GraphicalLine(m,y,this.Width)}}class VexFlowGlissando extends GraphicalGlissando{}class GraphicalWavyLine extends GraphicalObject{constructor(e,r){super(),this.getWavyLine=e,this.PositionAndShape=new BoundingBox$1(this,r)}}class VexflowVibratoBracket extends GraphicalWavyLine{constructor(e,r,s=!1){super(e,r),this.line=1,this.isVibrato=!1,this.toEndOfStopStave=!1,this.isVibrato=s}get ToEndOfStopStave(){return this.toEndOfStopStave}setStartNote(e){for(const r of e.graphicalVoiceEntries){const s=r;if(s!=null&&s.vfStaveNote)return this.startNote=s.vfStaveNote,this.startVfVoiceEntry=s,!0}return!1}setEndNote(e){for(const r of e.graphicalVoiceEntries){const s=r;if(s!=null&&s.vfStaveNote){this.endNote=s.vfStaveNote,this.endVfVoiceEntry=s;const o=this.endVfVoiceEntry.parentStaffEntry.parentMeasure.staffEntries,a=o[o.length-1];return this.toEndOfStopStave=a===this.endVfVoiceEntry.parentStaffEntry,!0}}return!1}CalculateBoundingBox(){const e=this.getVibratoBracket();this.boundingBox.Size.height=e.render_options.wave_height*.2}getVibratoBracket(){const e=new Vex.Flow.VibratoBracket({start:this.startNote,stop:this.endNote,toEndOfStopStave:this.toEndOfStopStave});return e.setLine(this.line),this.isVibrato?e.render_options.vibrato_width=20:e.render_options.wave_girth=4,e}}const VF=Vex.Flow;class VexFlowMusicSheetCalculator extends MusicSheetCalculator{constructor(e){var r,s,o,a,l,c,u,d;super(),this.beamsNeedUpdate=!1,this.rules=e,MusicSheetCalculator.symbolFactory=new VexFlowGraphicalSymbolFactory,MusicSheetCalculator.TextMeasurer=new VexFlowTextMeasurer(this.rules),MusicSheetCalculator.stafflineNoteCalculator=new VexflowStafflineNoteCalculator(this.rules),((r=this.rules.DefaultVexFlowNoteFont)==null?void 0:r.toLowerCase())==="gonville"?Vex.Flow.DEFAULT_FONT_STACK=[(s=Vex.Flow.Fonts)==null?void 0:s.Gonville,(o=Vex.Flow.Fonts)==null?void 0:o.Bravura,(a=Vex.Flow.Fonts)==null?void 0:a.Custom]:((l=this.rules.DefaultVexFlowNoteFont)==null?void 0:l.toLowerCase())==="petaluma"&&(Vex.Flow.DEFAULT_FONT_STACK=[(c=Vex.Flow.Fonts)==null?void 0:c.Petaluma,(u=Vex.Flow.Fonts)==null?void 0:u.Gonville,(d=Vex.Flow.Fonts)==null?void 0:d.Bravura])}clearRecreatedObjects(){super.clearRecreatedObjects(),MusicSheetCalculator.stafflineNoteCalculator=new VexflowStafflineNoteCalculator(this.rules);for(const e of this.graphicalMusicSheet.MeasureList)for(const r of e)r==null||r.clean()}formatMeasures(){for(const e of this.graphicalMusicSheet.MeasureList){if(!e||!e[0])continue;e.find(s=>s==null?void 0:s.isVisible()).format();for(const s of e){for(const o of s.staffEntries)o.calculateXPosition();s.finalizeBeams()}}this.beamsNeedUpdate=!1}calculateMeasureXLayout(e){const r=[];for(const g of e)g!=null&&g.isVisible()&&r.push(g);if(r.length===0)return 0;e=r;const s=[],o=new VF.Formatter({softmaxFactor:this.rules.SoftmaxFactorVexFlow});let a=e[0].staffEntries.length,l=1;for(const g of e){if(!g)continue;let m=0;for(const A of g.staffEntries)m+=A.setMaxAccidentals();g.parentSourceMeasure.ImplicitMeasure&&(a=Math.max(g.staffEntries.length,a),l=Math.max(g.staffEntries.length+m,l));const y=g.vfVoices,b=[];for(const A in y)if(y.hasOwnProperty(A)){const S=y[A];g.hasOnlyRests&&!S.ticksUsed.equals(S.totalTicks)&&(S.ticksUsed=S.totalTicks),b.push(S),s.push(S)}if(b.length===0){loglevelExports.debug("Found a measure with no voices. Continuing anyway.",y);continue}o.joinVoices(b)}let c=12;const u=e[0].parentSourceMeasure,d=.3;if(s.length>0){if(c=o.preCalculateMinTotalWidth(s)/unitInPixels*this.rules.VoiceSpacingMultiplierVexflow+this.rules.VoiceSpacingAddendVexflow+a*d,u!=null&&u.ImplicitMeasure){c=u.Duration.RealValue/u.ActiveTimeSignature.RealValue*c;let y=0;const b=u.measureListIndex;if(b>1)for(const A of this.graphicalMusicSheet.MeasureList[b-1]){const S=A==null?void 0:A.parentSourceMeasure.endingBarStyleEnum;if(S===SystemLinesEnum.ThinBold||S===SystemLinesEnum.DotsThinBold){y=this.rules.PickupMeasureRepetitionSpacing;break}}c+=y,a>1?c+=l*d*1.5:b>1&&a===1&&(c+=this.rules.PickupMeasureSpacingSingleNoteAddend),c*=this.rules.PickupMeasureWidthMultiplier}MusicSheetCalculator.setMeasuresMinStaffEntriesWidth(e,c);const g=(y,b)=>{o.formatToStave(s,b.getVFStave())},m=(y,b)=>{o.formatToStave(s,b.getVFStave(),{align_rests:!0,context:void 0})};for(const y of e){if(this.rules.AlignRests===AlignRestOption.Never)y.formatVoices=g;else if(this.rules.AlignRests===AlignRestOption.Always)y.formatVoices=m;else if(this.rules.AlignRests===AlignRestOption.Auto){let b=!1;for(const A of y.staffEntries){let S=0,E=0;for(const x of A.graphicalVoiceEntries)if(x.parentVoiceEntry.IsGrace||x&&x.notes&&x.notes[0]&&x.notes[0].sourceNote&&x.notes[0].sourceNote.PrintObject&&S++,x&&x.notes&&x.notes[0]&&x.notes[0].sourceNote&&x.notes[0].sourceNote.isRest()&&x.notes[0].sourceNote.PrintObject&&E++,S>1&&E>=1){b=!0;break}if(b)break}b?y.formatVoices=m:y.formatVoices=g}if(y===e[0]){const b=y;b.formatVoices(c*unitInPixels,b)}}}for(const g of e)if(g)for(const m of g.staffEntries)m.calculateXPosition();for(const g of e){if(!g)continue;const m=g.vfVoices,y=[];for(const b in m)m.hasOwnProperty(b)&&y.push(m[b]);if(y.length===0){loglevelExports.debug("Found a measure with no voices. Continuing anyway.",m);continue}o.joinVoices(y)}return c}calculateElongationFactor(e,r,s,o,a,l,c,u){let d=a,g=0;for(const m of e){const y=m.GraphicalLabel.Label.textAlignment;let b=c,A=u;if(m instanceof GraphicalLyricEntry&&m.ParentLyricWord){m.LyricsEntry.SyllableIndex>0&&(b=this.rules.BetweenSyllableMinimumDistance,TextAlignment.IsCenterAligned(y)&&(b+=1));const F=m.ParentLyricWord.GetLyricWord.Syllables;F.length>1&&m.LyricsEntry.SyllableIndex4&&(V*=1.1)}}else s[g]&&(V=T/k);B=Math.max(_,V),d=Math.max(d,B);let D=Math.max(T-k||0,0);s[g]&&(D+=s[g].cumulativeOverlap),s[g]={cumulativeOverlap:D,extend:m instanceof GraphicalLyricEntry?m.LyricsEntry.extend:!1,labelWidth:E,measureNumber:l,sourceNoteDuration:m instanceof GraphicalLyricEntry?m.LyricsEntry&&m.LyricsEntry.Parent.Notes[0].Length:!1,text:m instanceof GraphicalLyricEntry?m.LyricsEntry.Text:m.GraphicalLabel.Label.text,xPosition:C},g++}return d}calculateElongationFactorFromStaffEntries(e,r,s,o){let a=s;const l={},c={};for(const u of e)u.LyricsEntries.length>0&&this.rules.RenderLyrics&&(a=this.calculateElongationFactor(u.LyricsEntries,u,l,r,a,o,this.rules.HorizontalBetweenLyricsDistance,this.rules.LyricOverlapAllowedIntoNextMeasure)),u.graphicalChordContainers.length>0&&this.rules.RenderChordSymbols&&(a=this.calculateElongationFactor(u.graphicalChordContainers,u,c,r,a,o,this.rules.ChordSymbolXSpacing,this.rules.ChordOverlapAllowedIntoNextMeasure));return a}calculateMeasureWidthFromStaffEntries(e,r){var l;let s=1;if(!((l=window.GYM)==null?void 0:l.multitrack))for(const c of e)!c||c.staffEntries.length===0||(s=this.calculateElongationFactorFromStaffEntries(c.staffEntries,r,s,c.MeasureNumber),s=1);return s=Math.min(s,this.rules.MaximumLyricsElongationFactor),r*s}createGraphicalTie(e,r,s,o,a){return new GraphicalTie(e,o,a)}updateStaffLineBorders(e){e.SkyBottomLineCalculator.updateStaffLineBorders()}graphicalMeasureCreatedCalculations(e){e.rules=this.rules,e.graphicalMeasureCreatedCalculations()}layoutVoiceEntry(e,r,s,o){for(let a=0;a=2&&(l=o.vfnote[0],c=o.vfnote[1]);let u,d=0;if(a&&a.vfnote&&a.vfnote.length>=2&&(u=a.vfnote[0],d=a.vfnote[1]),r){if(l){const E=new VF.StaveTie({first_indices:[c],first_note:l}),x=o.parentVoiceEntry.parentStaffEntry.parentMeasure;if(u){u.getDuration()==="w"&&((m=(g=u.keyProps)==null?void 0:g[0])==null?void 0:m.line)>=3&&u.setStemDirection(-1);let P=((y=window.GYM)==null?void 0:y.tieDirection)||0;Math.abs(P)===1&&(((A=(b=u.keyProps)==null?void 0:b[0])==null?void 0:A.line)>=3?u.setStemDirection(-P):u.setStemDirection(P)),E==null||E.setDirection(u.getStemDirection())}if(x.vfTies.length>0){const P=x.vfTies[0].direction;E==null||E.setDirection(P?-P:1)}x.addStaveTie(E,e)}if(u){const E=new VF.StaveTie({last_indices:[d],last_note:u}),x=a.parentVoiceEntry.parentStaffEntry.parentMeasure;if(x.vfTies.length>0){const P=x.vfTies[0].direction;E==null||E.setDirection(P?-P:1)}x.addStaveTie(E,e)}}else if(l||u){let E;if(s)if(e.Tie.Type==="S"){const C=e.StartNote.sourceNote,T=e.EndNote.sourceNote;let k=1;C.FretNumber>T.FretNumber&&(k=-1),E=new VF.TabSlide({first_indices:[c],first_note:l,last_indices:[d],last_note:u},k)}else E=new VF.TabTie({first_indices:[c],first_note:l,last_indices:[d],last_note:u},e.Tie.Type);else{E=new VF.StaveTie({first_indices:[c],first_note:l,last_indices:[d],last_note:u});const C=e.Tie.getTieDirection(o.sourceNote);C===PlacementEnum.Below?E.setDirection(1):C===PlacementEnum.Above&&E.setDirection(-1)}const x=a.parentVoiceEntry.parentStaffEntry.parentMeasure,P=((S=window.GYM)==null?void 0:S.graceCustom)||!1;P&&E.setDirection(P.direction),x.addStaveTie(E,e)}}calculateDynamicExpressionsForMultiExpression(e,r,s){if(rthis.rules.MaxMeasureToDrawIndex)return;const o=e.AbsoluteTimestamp,a=this.graphicalMusicSheet.MeasureList[r],l=a[s].ParentStaffLine,c=a[s];if(!l)return;const u=e.StartingContinuousDynamic,d=u!==void 0&&!u.IsStartOfSoftAccent,g=this.getRelativePositionInStaffLineFromTimestamp(o,s,l,l==null?void 0:l.isPartOfMultiStaffInstrument(),void 0,d);if(g.x<=0&&(g.x=c.beginInstructionsWidth+this.rules.RhythmRightMargin),e.InstantaneousDynamic){const m=new VexFlowInstantaneousDynamicExpression(e.InstantaneousDynamic,l,c);this.calculateGraphicalInstantaneousDynamicExpression(m,g,o),this.dynamicExpressionMap.set(o.RealValue,m.PositionAndShape)}if(u){const m=new VexFlowContinuousDynamicExpression(u,l,c.parentSourceMeasure);if(m.StartMeasure=c,m.IsSoftAccent=e.StartingContinuousDynamic.IsStartOfSoftAccent,!m.IsVerbal&&u.EndMultiExpression)try{this.calculateGraphicalContinuousDynamic(m,g),m.updateSkyBottomLine()}catch(y){}else m.IsVerbal?this.calculateGraphicalVerbalContinuousDynamic(m,g):loglevelExports.warn("This continuous dynamic is not covered. measure"+e.SourceMeasureParent.MeasureNumber)}}createMetronomeMark(e,r){var P,C,T,k,I,M,R,B,_,V,D;const s=Math.max(e.ParentMultiTempoExpression.SourceMeasureParent.MeasureNumber-1,0),o=r||s,a=Math.max(e.StaffNumber-1,0),l=this.graphicalMusicSheet.MeasureList[o][a].getVFStave();let c="q";if(e.beatUnit){const F=NoteTypeHandler.getNoteDurationFromType(e.beatUnit);c=VexFlowConverter.durations(F,!1)[0]}let u=this.rules.MetronomeMarkYShift,d=!1;const g=[];if(e.parentMeasure){for(const F of e.parentMeasure.StaffLinkedExpressions)for(const N of F)N&&N instanceof UnknownExpression&&g.push(N);for(const F of e.parentMeasure.TempoExpressions){const N=((P=F.InstantaneousTempo)==null?void 0:P.Enum)===TempoEnum.metronomeMark;if(!e.beatUnit&&F.InstantaneousTempo.beatUnit){const K=NoteTypeHandler.getNoteDurationFromType(e.beatUnit);c=VexFlowConverter.durations(K,!1)[0]}if(F.getPlacementOfFirstEntry()===PlacementEnum.Above&&!N){d=!0;break}}}d&&(u-=1.4);const m=(C=this.graphicalMusicSheet.MeasureList[0][0].ParentStaffLine)==null?void 0:C.SkyLine;let y=e.TempoInBpm,b="",A="",S="";for(const F of this.graphicalMusicSheet.MeasureList[o][a].parentSourceMeasure.TempoExpressions){if(A=F.CombinedExpressionsText,isSpecialMark(F.CombinedExpressionsText)){b=F.CombinedExpressionsText;break}if(isSpeedKeyword(F.CombinedExpressionsText)||isSpeedHiddenKeyword(F.CombinedExpressionsText)){b=formatSpeedKeyword(F.CombinedExpressionsText),y=F.sourceMeasure.TempoInBPM,isSpeedKeyword(F.CombinedExpressionsText)&&(S=c);break}}const E={bpm:e.TempoInBpm,dots:e.dotted,duration:c,name:b};b&&(E.bpm=y/(E.dots?1.5:1),isSpeedKeyword(A)?E.duration=S:(y===SpeedTag[b]||!SpeedTag[b])&&(E.duration=""));const x=((M=(I=(k=(T=this.graphicalMusicSheet.MeasureList[o][a])==null?void 0:T.vfVoices)==null?void 0:k[1])==null?void 0:I.boundingBox)==null?void 0:M.y)||0;if(this.rules.MetronomeMarksDrawn){if(m){const G=((B=(R=this.graphicalMusicSheet.MeasureList[0])==null?void 0:R[a])==null?void 0:B.ParentStaffLine).Measures.map(q=>q.MeasureNumber-1);if(x&&G.includes(o)&&(isSpeedKeyword(A)||isSpeedHiddenKeyword(A))){const q=m.slice(0,9);let O=Math.min(...q);O=O<0?O-1:O,u+=O}G.includes(o)&&g.length?m[0]=Math.min(m[0],-4.5+u-4):m[0]=Math.min(m[0],-4.5+u)}l.options.line_config.reduce((K,G)=>(G.visible&&K++,K),0)<5&&(u-=2),l.setTempo(E,u*unitInPixels);let N=0;try{const K=(D=(V=(_=this.graphicalMusicSheet.MeasureList[o][a])==null?void 0:_.vfVoices)==null?void 0:V[1])==null?void 0:D.getTickables();N+=K[e.parentMeasure.metronomeNoteIndex].getBoundingBox().getX()-l.getNoteStartX()}catch(K){}l.getModifiers()[l.getModifiers().length-1].setShiftX(N)}}calculateRehearsalMark(e){var d,g,m,y,b,A,S,E,x;const r=e.rehearsalExpression;if(!r)return;const s=(m=(g=(d=e.VerticalMeasureList)==null?void 0:d[0])==null?void 0:g.getVFStave)==null?void 0:m.call(g);if(!s)return;const o=-this.rules.RehearsalMarkYOffsetDefault-this.rules.RehearsalMarkYOffset;let a=this.rules.RehearsalMarkXOffsetDefault+this.rules.RehearsalMarkXOffset;e.IsSystemStartMeasure&&(a+=this.rules.RehearsalMarkXOffsetSystemStartMeasure);const l=this.rules.RehearsalMarkFontSize,c=s.getModifiers(),u=c.find(P=>P.getCategory().toLocaleLowerCase()==="repetitions");if(u&&u.setShiftY(u.y_shift-10),s.setSection(r.label,o,a,l),(A=(b=(y=e.VerticalMeasureList)==null?void 0:y[0])==null?void 0:b.ParentStaffLine)!=null&&A.AbstractExpressions){const P=c.find(C=>C.getCategory().toLocaleLowerCase()==="stavesection");for(let C of((x=(E=(S=e==null?void 0:e.VerticalMeasureList)==null?void 0:S[0])==null?void 0:E.ParentStaffLine)==null?void 0:x.AbstractExpressions)||[])C instanceof GraphicalUnknownExpression&&(P&&(C.Label.PositionAndShape.RelativePosition.y-=.5),u&&(C.Label.PositionAndShape.RelativePosition.y-=1.7))}}calculateSingleOctaveShift(e,r,s,o){var A;const a=r.OctaveShiftStart,l=a.ParentStartMultiExpression.Timestamp,c=(A=a.ParentEndMultiExpression)==null?void 0:A.Timestamp,u=this.rules.MinMeasureToDrawIndex,d=this.rules.MaxMeasureToDrawIndex;let g=this.graphicalMusicSheet.MeasureList[s][o].ParentStaffLine;g||(g=this.graphicalMusicSheet.MeasureList[u][o].ParentStaffLine);let m;a.ParentEndMultiExpression?m=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(a.ParentEndMultiExpression.SourceMeasureParent,o):m=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(o,!0),m.MeasureNumber>d+1&&(m=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(o,!0));let y;if(a.ParentEndMultiExpression?y=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(a.ParentStartMultiExpression.SourceMeasureParent,o):y=this.graphicalMusicSheet.MeasureList[u][o],y.MeasureNumberd||m.parentSourceMeasure.measureListIndexd)return;let b=m.ParentStaffLine;if(b||(b=g),m&&g&&b){const S=new VexFlowOctaveShift(a,g.PositionAndShape);if(!S.startNote){let P;for(const C of y.staffEntries)if(C){P=C;break}if(!P||(S.setStartNote(P),!S.startNote))return}if(!S.endNote){let P;for(let C=m.staffEntries.length-1;C>=0;C++)if(m.staffEntries[C]){P=m.staffEntries[C];break}if(!P){S.graphicalEndAtMeasureEnd=!0;return}if(S.setEndNote(P),!S.endNote)return}let E=y.findGraphicalStaffEntryFromTimestamp(l);E||(E=y.staffEntries[0]);let x=m.findGraphicalStaffEntryFromTimestamp(c);if(x||(x=m.staffEntries[m.staffEntries.length-1]),S.setStartNote(E),b!==g){S.endsOnDifferentStaffLine=!0;let P=this.findLastStafflineMeasure(g);P===void 0&&(P=m);const C=P.staffEntries[P.staffEntries.length-1];S.setEndNote(C),S.graphicalEndAtMeasureEnd=!0,S.endMeasure=P;const T=b.ParentMusicSystem.Id-g.ParentMusicSystem.Id;if(T>0)for(let k=g.ParentMusicSystem.Id;k=0;r--){const s=e.Measures[r];if(s.staffEntries.length>0)return s}}calculateSinglePedal(e,r,s,o){var A;const a=r.PedalStart,l=a.ParentStartMultiExpression.Timestamp,c=(A=a.ParentEndMultiExpression)==null?void 0:A.Timestamp,u=this.rules.MinMeasureToDrawIndex,d=this.rules.MaxMeasureToDrawIndex;let g=this.graphicalMusicSheet.MeasureList[s][o].ParentStaffLine;g||(g=this.graphicalMusicSheet.MeasureList[u][o].ParentStaffLine);let m;a.ParentEndMultiExpression?m=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(a.ParentEndMultiExpression.SourceMeasureParent,o):m=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(o,!0),m||(m=a.ParentStartMultiExpression.SourceMeasureParent.VerticalMeasureList[o]),m.MeasureNumber>d+1&&(m=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(o,!0));let y;if(a.ParentEndMultiExpression?y=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(a.ParentStartMultiExpression.SourceMeasureParent,o):(y=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(a.ParentStartMultiExpression.SourceMeasureParent,o),y||(y=this.graphicalMusicSheet.MeasureList[u][o])),y.MeasureNumberd||m.parentSourceMeasure.measureListIndexd)return;let b=m.ParentStaffLine;if(b||(b=g),m&&g&&b){let S=!1;g!==b&&(S=!0);const E=new VexFlowPedal(a,g.PositionAndShape,!1,S);E.setEndsStave(m,c);let x=y.findGraphicalStaffEntryFromTimestamp(l);x||(x=y.staffEntries[0]);let P=m.findGraphicalStaffEntryFromTimestamp(c);if(P||(P=m.staffEntries[m.staffEntries.length-1]),!E.setStartNote(x))return;if(E.setBeginsStave(E.startNote.isRest(),l),b!==g)if(E.pedalSymbol===MusicSymbol.PEDAL_SYMBOL){E.setEndNote(P),E.setEndMeasure(m),E.ReleaseText=" ",E.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(E.startVfVoiceEntry,E.endVfVoiceEntry,E,g);const C=b.Measures[0],T=new VexFlowPedal(a,C.PositionAndShape);E.setEndsStave(m,c);const k=C.staffEntries[0];if(!T.setStartNote(k))return;T.setEndNote(P),T.setEndMeasure(m),E.setEndMeasure(m),b.Pedals.push(T),T.CalculateBoundingBox(),T.DepressText=" ",this.calculatePedalSkyBottomLine(T.startVfVoiceEntry,T.endVfVoiceEntry,T,b)}else{let C=this.findLastStafflineMeasure(g);C===void 0&&(C=m);const T=C.staffEntries[C.staffEntries.length-1];E.setEndNote(T),E.setEndMeasure(m),E.ChangeEnd=!1;const k=b.ParentMusicSystem.Id-g.ParentMusicSystem.Id;if(k>0){let I=1;for(let M=g.ParentMusicSystem.Id;Md+1&&(m=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(o,!0));let y;if(a.ParentEndMultiExpression?y=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(a.ParentStartMultiExpression.SourceMeasureParent,o):y=this.graphicalMusicSheet.MeasureList[u][o],y.MeasureNumberd||m.parentSourceMeasure.measureListIndexd)return;let b=m.ParentStaffLine;if(b||(b=g),m&&g&&b){const S=new VexflowVibratoBracket(a,g.PositionAndShape,y.ParentStaff.isTab);let E=y.findGraphicalStaffEntryFromTimestamp(l);E||(E=y.staffEntries[0]);let x=m.findGraphicalStaffEntryFromTimestamp(c);if(x||(x=m.staffEntries[m.staffEntries.length-1]),S.setStartNote(E),b!==g){let P=g.Measures[g.Measures.length-1];P===void 0&&(P=m);const C=P.staffEntries[P.staffEntries.length-1];if(S.setEndNote(C),b.ParentMusicSystem.Id-g.ParentMusicSystem.Id>0)for(let k=g.ParentMusicSystem.Id;km){const C=m;m=g,g=C}o.SkyBottomLineCalculator.updateBottomLineInRange(g,m,y+x)}for(const x of o.Pedals){const P=x,C=P.getPedalMarking(),T=C.line+3+(o.StaffLines.length-1);if(y>T){const k=C.render_options.text_margin_right/10;let I=P.startVfVoiceEntry.PositionAndShape.AbsolutePosition.x-k,M;P.setLine(y-3-(o.StaffLines.length-1));let R=(A=P.endVfVoiceEntry)==null?void 0:A.PositionAndShape;if(R||(R=P.endMeasure.PositionAndShape),P.EndSymbolPositionAndShape){const B=c.render_options.glyph_point_size/20;M=I+3.4;const _=R.AbsolutePosition.x-k,V=_+1.5;o.SkyBottomLineCalculator.updateBottomLineInRange(I,M,y+B),o.SkyBottomLineCalculator.updateBottomLineInRange(_,V,y+B)}else{const B=C.render_options.bracket_height/10;if(C.EndsStave)M=R.AbsolutePosition.x+R.Size.width-k;else switch(c.style){case l.BRACKET_OPEN_END:case l.BRACKET_OPEN_BOTH:case l.MIXED_OPEN_END:M=R.AbsolutePosition.x+R.BorderRight-k;break;default:M=R.AbsolutePosition.x+R.BorderLeft-k;break}const _=(E=(S=P.endVfVoiceEntry)==null?void 0:S.parentStaffEntry)==null?void 0:E.vfClefBefore;if(_){const V=_.getWidth()/10;M+=V}if(I>M){const V=I;I=M,M=V}o.SkyBottomLineCalculator.updateBottomLineInRange(I,M,y+B)}}}}calculateOctaveShiftSkyBottomLine(e,r,s,o){if(!r){loglevelExports.warn("octaveshift: no endStaffEntry");return}let a=r.PositionAndShape;s.graphicalEndAtMeasureEnd&&(a=r.parentMeasure.PositionAndShape);let l=e.PositionAndShape.Size.width,c=a.Size.width;e.hasOnlyRests()?l=-l:l/=2,s.graphicalEndAtMeasureEnd||(r.hasOnlyRests()?c*=2:c/=2,e===r&&(c*=2));let u=e.PositionAndShape.AbsolutePosition.x-l,d=a.AbsolutePosition.x+c;if(u>d){const y=u;u=d,d=y}s.PositionAndShape.Size.width=d-u;const g=s.getTextBracket(),m=g.font.size/10;if(g.position===VF.TextBracket.Positions.TOP){const y=Math.ceil(o.SkyBottomLineCalculator.getSkyLineMinInRange(u,d));if(y===1/0)return;g.start.getStave().options.top_text_position=Math.abs(y),o.SkyBottomLineCalculator.updateSkyLineInRange(u,d,y-m*2)}else{const y=o.SkyBottomLineCalculator.getBottomLineMaxInRange(u,d);if(y===1/0)return;g.start.getStave().options.bottom_text_position=y,e.parentMeasure!==r.parentMeasure&&(g.stop.getStave().options.bottom_text_position=y),o.SkyBottomLineCalculator.updateBottomLineInRange(u,d,y+m*1.5)}}calculateWordRepetitionInstruction(e,r){let s;const o=this.graphicalMusicSheet.MeasureList[r];for(let a=0,l=o.length;as.StaffLines));let r=0;for(const s of e)for(const o of s.Measures)o&&r++;this.rules.AlwaysSetPreferredSkyBottomLineBackendAutomatically&&this.rules.setPreferredSkyBottomLineBackendAutomatically(r);for(const s of e)s.SkyBottomLineCalculator.calculateLines()}calculateExpressionAlignements(){for(const e of this.musicSystems)for(const r of e.StaffLines)try{r.AlignmentManager.alignDynamicExpressions(),r.AbstractExpressions.forEach(s=>{s.updateSkyBottomLine()})}catch(s){}}handleTiedGraphicalNote(e,r,s,o,a,l,c,u){}handleBeam(e,r,s){e.parentVoiceEntry.parentStaffEntry.parentMeasure.handleBeam(e,r)}handleVoiceEntryLyrics(e,r,s){e.LyricsEntries.forEach((o,a)=>{const l=new GraphicalLyricEntry(a,r,this.rules.LyricsHeight,this.rules.StaffHeight);if(r.LyricsEntries.push(l),l.GraphicalLabel.setLabelPositionAndShapeBorders(),a.Word){const u=a.Word.Syllables.indexOf(a);let d=s.indexOf(a.Word);if(d===-1&&(s.push(a.Word),d=s.indexOf(a.Word)),this.graphicalLyricWords.length===0||d>this.graphicalLyricWords.length-1){const g=new GraphicalLyricWord(a.Word);l.ParentLyricWord=g,g.GraphicalLyricsEntries[u]=l,this.graphicalLyricWords.push(g)}else{const g=this.graphicalLyricWords[d];l.ParentLyricWord=g,g.GraphicalLyricsEntries[u]=l,g.isFilled()&&(s.splice(d,1),this.graphicalLyricWords.splice(this.graphicalLyricWords.indexOf(g),1))}}})}handleVoiceEntryOrnaments(e,r,s){}handleVoiceEntryArticulations(e,r,s){}handleVoiceEntryTechnicalInstructions(e,r,s){}handleTuplet(e,r,s){e.parentVoiceEntry.parentStaffEntry.parentMeasure.handleTuplet(e,r)}findIndexGraphicalSlurFromSlur(e,r){for(let s=0;s=0){const m=o[g];m.staffEntries.indexOf(l)===-1&&m.staffEntries.push(l),o.splice(g,1)}}}for(const c of o)c.staffEntries.indexOf(l)===-1&&c.staffEntries.push(l)}}for(const r of this.musicSystems)for(const s of r.StaffLines){const o=s.GraphicalSlurs.sort(GraphicalSlur.Compare);for(const a of o)a.slur.isCrossed()||a.calculateCurve(this.rules)}}calculateGlissandi(){const e={};for(const r of this.graphicalMusicSheet.MeasureList[0])e[r.ParentStaff.idInMusicSheet]=[];for(const r of this.musicSystems)for(const s of r.StaffLines){const o=e[s.ParentStaff.idInMusicSheet];for(let a=0;a=0){const m=o[g];m.staffEntries.indexOf(l)===-1&&m.staffEntries.push(l),o.splice(g,1)}}}}for(const c of o)c.staffEntries.indexOf(l)===-1&&c.staffEntries.push(l)}}for(const r of this.musicSystems)for(const s of r.StaffLines)for(const o of s.GraphicalGlissandi)if(s.ParentStaff.isTab){const l=o.Glissando.StartNote,c=o.Glissando.EndNote,u=o.staffEntries[0].findGraphicalNoteFromNote(l),d=o.staffEntries.last().findGraphicalNoteFromNote(c);if(!u&&!d)return;let g=1;l.FretNumber>c.FretNumber&&(g=-1);let m,y,b;u&&u.vfnote&&u.vfnote.length>=2&&(b=u.vfnote[0],m=[0]);let A;d&&d.vfnote&&d.vfnote.length>=2&&(A=d.vfnote[0],y=[0]);const S=new VF.TabSlide({first_indices:m,first_note:b,last_indices:y,last_note:A},g),E=u==null?void 0:u.parentVoiceEntry.parentStaffEntry.parentMeasure;E&&(E.vfTies.push(S),o.vfTie=S);const x=d==null?void 0:d.parentVoiceEntry.parentStaffEntry.parentMeasure;x&&(x.vfTies.push(S),o.vfTie=S)}}}class MusicPartManager{constructor(e){this.musicSheet=e}reInit(){this.init()}init(){this.parts=this.musicSheet.Repetitions.slice(),this.sheetStart=this.musicSheet.SelectionStart=new Fraction$1(0,1),this.sheetEnd=this.musicSheet.SelectionEnd=this.musicSheet.SheetEndTimestamp,this.calcMapping()}getCurrentRepetitionTimestampTransform(e){let r;for(let s=this.timestamps.length-1;s>=0;s--)if(r=this.timestamps[s],e.gte(r.from))return r;return this.timestamps[0]}absoluteEnrolledToSheetTimestamp(e){if(this.timestamps.length===0)return e;const r=this.getCurrentRepetitionTimestampTransform(e);return Fraction$1.plus(e,Fraction$1.minus(r.to,r.from))}get Parts(){return this.parts}get MusicSheet(){return this.musicSheet}getIterator(e){return e?new MusicPartManagerIterator(this.musicSheet,e,void 0):new MusicPartManagerIterator(this.musicSheet,this.musicSheet.SelectionStart,this.musicSheet.SelectionEnd)}setSelectionStart(e){this.musicSheet.SelectionStart=e,this.musicSheet.SelectionEnd=void 0}setSelectionRange(e,r){this.musicSheet.SelectionStart=e!=null?e:this.sheetStart,this.musicSheet.SelectionEnd=r!=null?r:this.sheetEnd}calcMapping(){this.timestamps=[];const e=this.getIterator();let r=e.CurrentRepetition,s=new TimestampTransform(e.CurrentEnrolledTimestamp.clone(),e.CurrentSourceTimestamp.clone(),void 0,0);for(this.timestamps.push(s);!e.EndReached;){if(e.JumpOccurred||r!==e.CurrentRepetition){if(r=e.CurrentRepetition,e.backJumpOccurred){const o=e.JumpResponsibleRepetition;s.nextBackJump=e.CurrentEnrolledTimestamp,s.curRepetition=o,s.curRepetitionIteration=e.CurrentJumpResponsibleRepetitionIterationBeforeJump;for(let a=this.timestamps.length-2;a>=0&&!(o.AbsoluteTimestamp.gt(this.timestamps[a].to)||this.timestamps[a].curRepetition);a--)this.timestamps[a].nextBackJump=s.nextBackJump,this.timestamps[a].curRepetition=o,this.timestamps[a].curRepetitionIteration=s.curRepetitionIteration}s=new TimestampTransform(e.CurrentEnrolledTimestamp.clone(),e.CurrentSourceTimestamp.clone(),void 0,0),this.timestamps.push(s)}e.moveToNext()}}}class TimestampTransform{constructor(e,r,s,o){this.from=e,this.to=r,this.curRepetition=s,this.curRepetitionIteration=o,this.nextBackJump=void 0,this.nextForwardJump=void 0}}class PartListEntry{constructor(e){this.enrolledTimestamps=[],this.visible=!0,this.musicSheet=e}get Visible(){return this.visible}set Visible(e){this.visible=e}getFirstSourceMeasure(){return this.musicSheet.SourceMeasures[this.startIndex]}getLastSourceMeasure(){return this.musicSheet.SourceMeasures[this.endIndex]}}class SourceMusicPart extends PartListEntry{constructor(e,r,s){super(e),this.musicSheet=e,this.startIndex=r,this.endIndex=s}get MeasuresCount(){return this.endIndex-this.startIndex+1}get StartIndex(){return this.startIndex}get EndIndex(){return this.endIndex}get ParentRepetition(){return this.parentRepetition}set ParentRepetition(e){this.parentRepetition=e}get AbsoluteTimestamp(){return Fraction$1.createFromFraction(this.musicSheet.SourceMeasures[this.startIndex].AbsoluteTimestamp)}setStartIndex(e){this.startIndex=e}setEndIndex(e){this.endIndex=e}}class Repetition extends PartListEntry{constructor(e,r=!1){super(e),this.backwardJumpInstructions=[],this.endingParts=[],this.endingIndexDict={},this.userNumberOfRepetitions=0,this.visibles=[],this.fromWords=!1,this.repetitonIterationOrder=[],this.numberOfEndings=1,this.musicSheet2=e,this.virtualOverallRepetition=r}get BackwardJumpInstructions(){return this.backwardJumpInstructions}get EndingIndexDict(){return this.endingIndexDict}get EndingParts(){return this.endingParts}get Visibles(){return this.visibles}set Visibles(e){this.visibles=e}get DefaultNumberOfRepetitions(){let e=2;return this.virtualOverallRepetition&&(e=1),Math.max(e,Object.keys(this.endingIndexDict).length,this.checkRepetitionForMultipleLyricVerses())}get UserNumberOfRepetitions(){return this.userNumberOfRepetitions}set UserNumberOfRepetitions(e){this.userNumberOfRepetitions=e,this.repetitonIterationOrder=[];const r=this.userNumberOfRepetitions-this.NumberOfEndings;for(let s=1;s<=this.userNumberOfRepetitions;s++)s<=r?this.repetitonIterationOrder.push(1):this.repetitonIterationOrder.push(s-r)}getForwardJumpTargetForIteration(e){const r=this.repetitonIterationOrder[e-1];return this.endingIndexDict[r]?this.endingIndexDict[r].part.StartIndex:-1}getBackwardJumpTarget(){return this.startMarker.measureIndex}setEndingsStartIndex(e,r){const s=new RepetitionEndingPart(new SourceMusicPart(this.musicSheet2,r,r));this.endingParts.push(s);for(const o of e)try{this.endingIndexDict[o]=s,s.endingIndices.push(o),this.numberOfEndings0&&(o=1),a.Add(new Fraction$1(o,r)),a}}class MusicSheet{constructor(){this.idString="uninitialized",this.sourceMeasures=[],this.repetitions=[],this.dynListStaves=[],this.timestampSortedDynamicExpressionsList=[],this.timestampSortedTempoExpressionsList=[],this.instrumentalGroups=[],this.instruments=[],this.musicPartManager=void 0,this.musicSheetErrors=new MusicSheetErrors,this.staves=[],this.playbackDataDict=new Dictionary,this.transpose=0,this.defaultStartTempoInBpm=0,this.drawErroneousMeasures=!1,this.hasBeenOpenedForTheFirstTime=!1,this.currentEnrolledPosition=new Fraction$1(0,1),this.soundTempos=new Map,this.userStartTempoInBPM=100,this.playbackSettings=new PlaybackSettings(new Fraction$1(4,4,0,!1),this.userStartTempoInBPM),this.pageWidth=120,this.MusicPartManager=new MusicPartManager(this),this.hasBPMInfo=!1}get SoundTempos(){return this.soundTempos}set SoundTempos(e){this.soundTempos=e}static getIndexFromStaff(e){return e.idInMusicSheet}get CurrentKeyInstruction(){return this.currentKeyInstruction}set CurrentKeyInstruction(e){this.currentKeyInstruction=e}get SourceMeasures(){return this.sourceMeasures}set SourceMeasures(e){this.sourceMeasures=e}get Repetitions(){return this.repetitions}set Repetitions(e){this.repetitions=e}get DynListStaves(){return this.dynListStaves}get TimestampSortedTempoExpressionsList(){return this.timestampSortedTempoExpressionsList}get TimestampSortedDynamicExpressionsList(){return this.timestampSortedDynamicExpressionsList}get InstrumentalGroups(){return this.instrumentalGroups}get Parts(){return this.instruments}get Instruments(){return this.instruments}get SheetPlaybackSetting(){return this.playbackSettings}set SheetPlaybackSetting(e){this.playbackSettings=e}get DrawErroneousMeasures(){return this.drawErroneousMeasures}set DrawErroneousMeasures(e){this.drawErroneousMeasures=e}get HasBeenOpenedForTheFirstTime(){return this.hasBeenOpenedForTheFirstTime}set HasBeenOpenedForTheFirstTime(e){this.hasBeenOpenedForTheFirstTime=e}InitializeStartTempoInBPM(e){this.playbackSettings.BeatsPerMinute=e,this.userStartTempoInBPM=e}get DefaultStartTempoInBpm(){return this.defaultStartTempoInBpm}set DefaultStartTempoInBpm(e){this.defaultStartTempoInBpm=e,this.InitializeStartTempoInBPM(e)}get Path(){return this.path}set Path(e){this.path=e}get Staves(){return this.staves}get TitleString(){return this.title?this.title.text:""}set TitleString(e){this.Title=new Label(e)}get SubtitleString(){return this.subtitle?this.subtitle.text:""}set SubtitleString(e){this.Subtitle=new Label(e)}get ComposerString(){return this.composer?this.composer.text:""}set ComposerString(e){this.Composer=new Label(e)}get LyricistString(){return this.lyricist?this.lyricist.text:""}set LyricistString(e){this.Lyricist=new Label(e)}get CopyrightString(){return this.copyright?this.copyright.text:""}set CopyrightString(e){this.Copyright=new Label(e,TextAlignmentEnum.CenterBottom,void 0,!0)}get Title(){return this.title}set Title(e){this.title=e}get Subtitle(){return this.subtitle}set Subtitle(e){this.subtitle=e}get Composer(){return this.composer}set Composer(e){this.composer=e}get Lyricist(){return this.lyricist}set Lyricist(e){this.lyricist=e}get Copyright(){return this.copyright}set Copyright(e){this.copyright=e}get Rules(){return this.rules||(loglevelExports.debug("warning: sheet.Rules was undefined. Creating new EngravingRules."),this.rules=new EngravingRules),this.rules}set Rules(e){this.rules=e}get SheetErrors(){return this.musicSheetErrors}get PlaybackDataDict(){return this.playbackDataDict}get SelectionStart(){return this.selectionStart}set SelectionStart(e){this.selectionStart=e.clone(),this.currentEnrolledPosition=e.clone()}get SelectionEnd(){return this.selectionEnd}set SelectionEnd(e){this.selectionEnd=e}set HasBPMInfo(e){this.hasBPMInfo=e}get HasBPMInfo(){return this.hasBPMInfo}addMeasure(e){this.sourceMeasures.push(e),e.measureListIndex=this.sourceMeasures.length-1}checkForInstrumentWithNoVoice(){for(let e=0,r=this.instruments.length;e0){const e=this.TimestampSortedTempoExpressionsList[0];if(e.InstantaneousTempo)return e.InstantaneousTempo.TempoInBpm;if(e.ContinuousTempo)return e.ContinuousTempo.StartTempo}return this.userStartTempoInBPM}get Errors(){return this.musicSheetErrors.measureErrors}get FirstMeasureNumber(){try{return this.getFirstSourceMeasure().MeasureNumber}catch(e){return loglevelExports.info("MusicSheet.FirstMeasureNumber: ",e),0}}get LastMeasureNumber(){try{return this.getLastSourceMeasure().MeasureNumber}catch(e){return loglevelExports.info("MusicSheet.LastMeasureNumber: ",e),0}}get CurrentEnrolledPosition(){return this.currentEnrolledPosition.clone()}set CurrentEnrolledPosition(e){this.currentEnrolledPosition=e.clone()}get Transpose(){return this.transpose}set Transpose(e){this.transpose=e}get FullNameString(){return this.ComposerString+" "+this.TitleString}get IdString(){return this.idString}set IdString(e){this.idString=e}getEnrolledSelectionStartTimeStampWorkaround(){const e=this.MusicPartManager.getIterator(this.SelectionStart);return Fraction$1.createFromFraction(e.CurrentEnrolledTimestamp)}get SheetEndTimestamp(){const e=this.getLastSourceMeasure();return Fraction$1.plus(e.AbsoluteTimestamp,e.Duration)}getSourceMeasureFromTimeStamp(e){for(let r=0,s=this.sourceMeasures.length;r0&&o.Voices[0].Visible&&e.push(o)}return e}}MusicSheet.defaultTitle="defaultTitle";class LyricWord{constructor(){this.syllables=[]}get Syllables(){return this.syllables}containsVoiceEntry(e){for(let r=0,s=this.Syllables.length;r=0&&(this.syllableIndex=a)}get Text(){return this.text}set Text(e){this.text=e}get Word(){return this.word}get Parent(){return this.parent}set Parent(e){this.parent=e}get VerseNumber(){return this.verseNumber}get SyllableIndex(){return this.syllableIndex}get IsTranslation(){return this.VerseNumber.endsWith("translation")}get IsChorus(){return this.VerseNumber.startsWith("chorus")}get FontStyle(){return this.IsChorus||this.IsTranslation?FontStyles.Italic:FontStyles.Regular}}class LyricsReader{constructor(e){this.openLyricWords={},this.musicSheet=e}addLyricEntry(e,r){var s,o;if(e){const a=e;for(let l=0,c=a.length;l0)for(let C=E;C0){const a=e.elements();for(let l=0,c=a.length;l0&&r.Articulations[0].articulationEnum!==ArticulationEnum.staccato&&r.Articulations.splice(0,0,b);else if(d==="breathmark")m===PlacementEnum.NotYetDefined&&(b.placement=PlacementEnum.Above);else if(d==="strongaccent"){const A=(o=u==null?void 0:u.attribute("type"))==null?void 0:o.value;A==="up"?b.articulationEnum=ArticulationEnum.marcatoup:A==="down"&&(b.articulationEnum=ArticulationEnum.marcatodown)}else if(g===ArticulationEnum.softaccent){const A=r.ParentSourceStaffEntry.ParentStaff.Id-1;m===PlacementEnum.NotYetDefined&&(m=PlacementEnum.Above,A>0&&(m=PlacementEnum.Below));const S=r.ParentSourceStaffEntry.VerticalContainerParent.ParentMeasure,E=new MultiExpression(S,r.Timestamp);E.StartingContinuousDynamic=new ContinuousDynamicExpression(ContDynamicEnum.crescendo,m,A,S,null,-1),E.StartingContinuousDynamic.IsStartOfSoftAccent=!0,E.StartingContinuousDynamic.StartMultiExpression=E,E.StartingContinuousDynamic.EndMultiExpression=E,E.EndingContinuousDynamic=new ContinuousDynamicExpression(ContDynamicEnum.diminuendo,m,A,S,null,-1),E.EndingContinuousDynamic.StartMultiExpression=E,E.EndingContinuousDynamic.EndMultiExpression=E,S.StaffLinkedExpressions[A].push(E)}if(!r.hasArticulation(b))switch(r.Articulations.push(b),b.articulationEnum){case ArticulationEnum.staccato:case ArticulationEnum.staccatissimo:r.DurationModifier=b;break;case ArticulationEnum.accent:case ArticulationEnum.strongaccent:r.VolumeModifier=b;break;default:break}}}catch(g){const m="Invalid note articulation.";loglevelExports.debug("addArticulationExpression",m,g);return}}}}addFermata(e,r){var a;let s=ArticulationEnum.fermata;e.attributes().length>0&&e.attribute("type")&&e.attribute("type").value==="inverted"&&(s=ArticulationEnum.invertedfermata);let o=PlacementEnum.Above;((a=e.attribute("placement"))==null?void 0:a.value)==="below"&&(o=PlacementEnum.Below),r.Articulations.push(new Articulation(s,o))}addTechnicalArticulations(e,r,s){var c,u;const o={bend:ArticulationEnum.bend,"down-bow":ArticulationEnum.downbow,"open-string":ArticulationEnum.naturalharmonic,"snap-pizzicato":ArticulationEnum.snappizzicato,stopped:ArticulationEnum.lefthandpizzicato,"up-bow":ArticulationEnum.upbow,harmonic:ArticulationEnum.naturalharmonic};for(const d in o){if(!o.hasOwnProperty(d))continue;const g=o[d],m=e.element(d);if(m){let y;((c=m.attribute("placement"))==null?void 0:c.value)==="above"&&(y=PlacementEnum.Above),((u=m.attribute("placement"))==null?void 0:u.value)==="below"&&(y=PlacementEnum.Below);const b=new Articulation(g,y);r.hasArticulation(b)||r.Articulations.push(b)}}const a=e.elements("fingering");for(const d of a){const g=this.createTechnicalInstruction(d,s);g.type=TechnicalInstructionType.Fingering,s.Fingering||(s.Fingering=g),r.TechnicalInstructions.push(g)}const l=e.element("string");if(l){const d=this.createTechnicalInstruction(l,s);d.type=TechnicalInstructionType.String,s.StringInstruction=d,r.TechnicalInstructions.push(d)}}createTechnicalInstruction(e,r){const s=new TechnicalInstruction;s.sourceNote=r,s.value=e.value;const o=e.attribute("placement");return this.rules.FingeringPositionFromXML&&(s.placement=this.getPlacement(o)),s}getPlacement(e,r=PlacementEnum.NotYetDefined){if(r!==PlacementEnum.NotYetDefined)return r;if(e)switch(e.value){case"above":return PlacementEnum.Above;case"below":return PlacementEnum.Below;case"left":return PlacementEnum.Left;case"right":return PlacementEnum.Right;default:return PlacementEnum.NotYetDefined}else return PlacementEnum.NotYetDefined}addOrnament(e,r){if(e){let s;const o={"delayed-inverted-turn":OrnamentEnum.DelayedInvertedTurn,"delayed-turn":OrnamentEnum.DelayedTurn,"inverted-mordent":OrnamentEnum.InvertedMordent,"inverted-turn":OrnamentEnum.InvertedTurn,mordent:OrnamentEnum.Mordent,"trill-mark":OrnamentEnum.Trill,turn:OrnamentEnum.Turn};for(const a in o){if(!o.hasOwnProperty(a))continue;const l=e.element(a);if(l){s=new OrnamentContainer(o[a]);const c=l.attribute("placement");c&&c.value==="below"&&(s.placement=PlacementEnum.Below)}}if(s){const a=e.elements("accidental-mark");if(a){let l=PlacementEnum.Below,c=AccidentalEnum.NONE;const u=a;for(let d=0,g=u.length;d0&&(this.currentVoiceEntry.GraceVoiceEntriesBefore=this.graceVoiceEntriesTempList,this.graceVoiceEntriesTempList=[]))}finalizeReadingMeasure(){this.graceVoiceEntriesTempList.length>0&&this.currentNormalVoiceEntry!==void 0&&this.currentNormalVoiceEntry.GraceVoiceEntriesAfter.concat(this.graceVoiceEntriesTempList),this.graceVoiceEntriesTempList=[],this.pluginManager.processVoiceMeasureReadPlugins(this.currMeasureVoiceEntries,this.activeKey,this.activeRhythm),this.currMeasureVoiceEntries.length=0,this.openBeams.length>1&&this.handleOpenBeam()}read(e,r,s,o,a,l,c,u,d,g,m,y,b,A,S,E,x,P,C,T,k,I,M){this.currentStaffEntry=c,this.currentMeasure=u;try{this.currentNote=l?this.addRestNote(e.element("rest"),r,o,s,a,b,A,C,e):this.addSingleNote(e,r,o,s,a,m,y,b,A,S,E,x,P,C,k,I,M),this.currentNote.DotsXml=T;const R=e.elements("lyric");this.lyricsReader!==void 0&&R&&(this.lyricsReader.addLyricEntry(R,this.currentVoiceEntry),this.voice.Parent.HasLyrics=!0);let B=!1;const _=e.element("notations");if(_){this.articulationReader&&this.readArticulations(_,this.currentVoiceEntry,this.currentNote);const V=_.elements("slur"),D=_.elements("slide"),F=_.elements("glissando");this.slurReader!==void 0&&(V.length>0||D.length>0)&&!this.currentNote.ParentVoiceEntry.IsGrace&&(this.slurReader.addSlur(V,this.currentNote),D.length>0&&this.slurReader.addSlur(D,this.currentNote),F.length>0&&this.slurReader.addSlur(F,this.currentNote));const N=_.elements("tuplet");N.length>0&&(this.openTupletNumber=this.addTuplet(e,N),B=!0);const K=_.element("arpeggiate");if(K!==void 0){let O;if(this.currentVoiceEntry.Arpeggio)O=this.currentVoiceEntry.Arpeggio;else{let U=!1;for(const $ of this.currentStaffEntry.VoiceEntries)if($.Arpeggio){U=!0,O=$.Arpeggio;break}if(!U){let $=ArpeggioType.ARPEGGIO_DIRECTIONLESS;const Y=K.attribute("direction");if(Y)switch(Y.value){case"up":$=ArpeggioType.ROLL_UP;break;case"down":$=ArpeggioType.ROLL_DOWN;break;default:$=ArpeggioType.ARPEGGIO_DIRECTIONLESS}O=new Arpeggio(this.currentVoiceEntry,$),this.currentVoiceEntry.Arpeggio=O}}O.addNote(this.currentNote)}const G=_.elements("tied");G.length>0&&this.addTie(G,d,g,TieTypes.SIMPLE);const q=_.element("technical");if(q){const O=q.elements("hammer-on");O.length>0&&this.addTie(O,d,g,TieTypes.HAMMERON);const U=q.elements("pull-off");U.length>0&&this.addTie(U,d,g,TieTypes.PULLOFF)}}e.element("time-modification")!==void 0&&!B&&this.handleTimeModificationNode(e)}catch(R){loglevelExports.warn(R);const B=ITextTranslation.translateText("ReaderErrorMessages/NoteError","Ignored erroneous Note.");this.musicSheet.SheetErrors.pushMeasureError(B),this.musicSheet.SheetErrors.pushMeasureError(R)}return this.currentNote}checkForStaffEntryLink(e,r,s,o){const a=new StaffEntryLink(this.currentVoiceEntry);a.LinkStaffEntries.push(s),s.Link=a;const l=this.currentVoiceEntry.Timestamp.clone(),c=o.getVerticalContainerByTimestamp(l);return s=c.StaffEntries[e],s||(s=new SourceStaffEntry(c,r),c.StaffEntries[e]=s),s.VoiceEntries.push(this.currentVoiceEntry),a.LinkStaffEntries.push(s),s.Link=a,s}checkForOpenBeam(){this.openBeams.length>0&&this.currentNote&&this.handleOpenBeam()}checkOpenTies(){const e=this.openTieDict;for(const r in e)if(e.hasOwnProperty(r)){const s=e[r];Fraction$1.plus(s.StartNote.ParentStaffEntry.Timestamp,s.Duration).lt(s.StartNote.SourceMeasure.Duration)&&delete e[r]}}hasVoiceEntry(){return this.currentVoiceEntry!==void 0}readArticulations(e,r,s){const o=e.element("articulations");o&&this.articulationReader.addArticulationExpression(o,r);const a=e.element("fermata");a&&this.articulationReader.addFermata(a,r);const l=e.element("technical");l&&this.articulationReader.addTechnicalArticulations(l,r,s);const c=e.element("ornaments");c&&this.articulationReader.addOrnament(c,r)}addSingleNote(e,r,s,o,a,l,c,u,d,g,m,y,b,A,S,E,x){var xe;let P=0,C,T=AccidentalEnum.NONE,k=NoteEnum.C,I=NoteEnum.C,M=0,R=0,B,_,V;const D=e.elements();for(let ue=0,W=D.length;ue{const W=ue.getAttribute("begin"),J=ue.getAttribute("end");$.push({begin:W?W/1e3:0,end:J?J/1e3:0})}),this.addNoteInfo(K,s,u,d,a,I,R,A,A,$),K.TypeLength=o,K.IsGraceNote=g,K.StemDirectionXml=m,K.TremoloInfo=y,K.PlaybackInstrumentId=B,(_!==void 0&&_!=="normal"||V!==void 0)&&(K.Notehead=new Notehead(K,_,V)),K.NoteheadColorXml=A,K.NoteheadColor=A,K.PlaybackInstrumentId=B,K.TremoloType=S,K.glissandoType=E,K.slideType=x,this.currentVoiceEntry.addNote(K),m===StemDirectionType.None&&(b="#00000000"),this.currentVoiceEntry.StemDirectionXml=m,b&&(this.currentVoiceEntry.StemColorXml=b,this.currentVoiceEntry.StemColor=b,K.StemColorXml=b),e.elements("beam")&&!l&&this.createBeam(e,K),K}addRestNote(e,r,s,o,a,l,c,u,d){var T;const g=Fraction$1.createFromFraction(r),m=e.element("display-step"),y=e.element("display-octave");let b,A,S;m&&y&&(b=NoteEnum[m.value.toUpperCase()],A=parseInt(y.value,10),S=new Pitch(b,A,AccidentalEnum.NONE,void 0,!0));const E=new Note$1(this.currentVoiceEntry,this.currentStaffEntry,g,S,this.currentMeasure,!0);let x=[];const P=e.element("times")||d.element("times"),C=(T=P==null?void 0:P.elem)==null?void 0:T.getElementsByTagName("time");return C&&C.length&&Array.from(C).forEach(k=>{const I=k.getAttribute("begin"),M=k.getAttribute("end");x.push({begin:I?I/1e3:0,end:M?M/1e3:0})}),this.addNoteInfo(E,s,l,c,a,b,A,u,u,x),E.TypeLength=o,this.currentVoiceEntry.Notes.push(E),this.openBeams.length>0&&this.openBeams.last().ExtendedNoteList.push(E),E}addNoteInfo(e,r,s,o,a,l,c,u,d,g){e.NoteTypeXml=r,e.PrintObject=s,e.IsCueNote=o,e.NormalNotes=a,e.displayStepUnpitched=l,e.displayOctaveUnpitched=c,e.NoteheadColorXml=u,e.NoteheadColor=u,e.noteTimeInfo=g}createBeam(e,r){var s;try{const o=e.element("beam");let a;if(o!==void 0&&o.hasAttributes&&(a=o.attribute("number")),a){let l=parseInt(a.value,10);const c=e.elements("beam"),u=c[0].value;c&&(u==="begin"?(l===((s=this.openBeams.last())==null?void 0:s.BeamNumber)?(this.beamNumberOffset++,l+=this.beamNumberOffset):this.openBeams.last()&&this.handleOpenBeam(),this.openBeams.push(new Beam(l,this.beamNumberOffset))):l+=this.beamNumberOffset);let d=!1;if(!(l>0&&l<=this.openBeams.length)||!this.openBeams[l-1]){loglevelExports.debug("[OSMD] invalid beamnumber");return}for(let g=0,m=this.openBeams[l-1].Notes.length;g1){let a=e.element("time-modification");a&&(a=a.element("actual-notes"));const l=r;for(let c=0,u=l.length;c1&&this.openTupletNumber--),this.tupletDict[b]=S;const x=[];x.push(this.currentNote),S.Notes.push(x),S.Fractions.push(this.getTupletNoteDurationFromType(e)),this.currentNote.NoteTuplet=S,this.openTupletNumber=b}else if(y.value==="stop"){let b=1;d.attribute("number")&&(b=parseInt(d.attribute("number").value,10));const A=this.tupletDict[b];if(A){const S=d.attribute("placement");S&&(S.value==="below"?A.tupletLabelNumberPlacement=PlacementEnum.Below:A.tupletLabelNumberPlacement=PlacementEnum.Above,A.PlacementFromXml=!0);const E=[];if(E.push(this.currentNote),A.Notes.push(E),!A.PlacementFromXml){let x=!1;for(const P of A.Notes){for(const C of P)if(!C.isRest()){C.StemDirectionXml===StemDirectionType.Down?A.tupletLabelNumberPlacement=PlacementEnum.Below:A.tupletLabelNumberPlacement=PlacementEnum.Above,x=!0;break}if(x)break}}A.Fractions.push(this.getTupletNoteDurationFromType(e)),this.currentNote.NoteTuplet=A,delete this.tupletDict[b],Object.keys(this.tupletDict).length===0?this.openTupletNumber=0:Object.keys(this.tupletDict).length>1&&this.openTupletNumber--}}}}}else if(r[0]){const a=r[0];if(a.hasAttributes){const l=a.attribute("type").value;let c=1;a.attribute("number")&&(c=parseInt(a.attribute("number").value,10));const u=isNaN(c),d=this.readShowNumberNoneGiven(a),g=a.attribute("bracket");if(g&&g.value==="yes"?(s=!0,o=!0):g&&g.value==="no"&&(o=!1),l==="start"){let m=0,y=e.element("time-modification");if(y&&(y=y.element("actual-notes")),y&&(m=parseInt(y.value,10),isNaN(m))){const E=ITextTranslation.translateText("ReaderErrorMessages/TupletNoteDurationError","Invalid tuplet note duration.");throw this.musicSheet.SheetErrors.pushMeasureError(E),new MusicSheetReadingException(E)}u&&(this.openTupletNumber++,c=this.openTupletNumber);let b=this.tupletDict[c];b||(b=this.tupletDict[c]=new Tuplet(m,s),b.BracketedXmlValue=o,b.ShowNumberNoneGivenInXml=d,b.tupletLabelNumberPlacement=PlacementEnum.Above);const A=a.attribute("placement");A&&(A.value==="below"?b.tupletLabelNumberPlacement=PlacementEnum.Below:b.tupletLabelNumberPlacement=PlacementEnum.Above,b.PlacementFromXml=!0);const S=[];S.push(this.currentNote),b.Notes.push(S),b.Fractions.push(this.getTupletNoteDurationFromType(e)),this.currentNote.NoteTuplet=b,this.openTupletNumber=c}else if(l==="stop"){u&&(c=this.openTupletNumber);const m=this.tupletDict[this.openTupletNumber];if(m){const y=a.attribute("placement");y&&(y.value==="below"?m.tupletLabelNumberPlacement=PlacementEnum.Below:m.tupletLabelNumberPlacement=PlacementEnum.Above,m.PlacementFromXml=!0);const b=[];if(b.push(this.currentNote),m.Notes.push(b),!m.PlacementFromXml){let A=!1;for(const S of m.Notes){for(const E of S)if(!E.isRest()){E.StemDirectionXml===StemDirectionType.Down?m.tupletLabelNumberPlacement=PlacementEnum.Below:m.tupletLabelNumberPlacement=PlacementEnum.Above,A=!0;break}if(A)break}}m.Fractions.push(this.getTupletNoteDurationFromType(e)),this.currentNote.NoteTuplet=m,Object.keys(this.tupletDict).length===0?this.openTupletNumber=0:Object.keys(this.tupletDict).length>1&&this.openTupletNumber--,delete this.tupletDict[c]}}}}return this.openTupletNumber}readShowNumberNoneGiven(e){const r=e.attribute("show-number");return!!(r!=null&&r.value&&r.value==="none")}handleTimeModificationNode(e){if(this.tupletDict[this.openTupletNumber])try{const r=this.tupletDict[this.openTupletNumber],s=CollectionUtil.last(r.Notes),o=s[0].ParentVoiceEntry;let a;o.Timestamp.Equals(this.currentVoiceEntry.Timestamp)?a=s:(a=[],r.Notes.push(a),r.Fractions.push(this.getTupletNoteDurationFromType(e))),a.push(this.currentNote),this.currentNote.NoteTuplet=r}catch(r){const s=ITextTranslation.translateText("ReaderErrorMessages/TupletNumberError","Invalid tuplet number.");throw this.musicSheet.SheetErrors.pushMeasureError(s),r}else if(this.currentVoiceEntry.Notes.length>0){const r=this.currentVoiceEntry.Notes[0];if(r.NoteTuplet){const s=r.NoteTuplet;CollectionUtil.last(s.Notes).push(this.currentNote),this.currentNote.NoteTuplet=s}}}addTie(e,r,s,o){if(e){if(e.length===1){const a=e[0];if(a!==void 0&&a.attributes()){const l=this.getTieDirection(a),c=a.attribute("type").value;try{if(c==="start"){const u=this.findCurrentNoteInTieDict(this.currentNote);u<0&&delete this.openTieDict[u];const d=this.getNextAvailableNumberForTie(),g=new Tie(this.currentNote,o);this.openTieDict[d]=g,g.TieNumber=d,g.TieDirection=l}else if(c==="stop"){const u=this.findCurrentNoteInTieDict(this.currentNote),d=this.openTieDict[u];d&&(d.AddNote(this.currentNote),delete this.openTieDict[u])}}catch(u){const d=ITextTranslation.translateText("ReaderErrorMessages/TieError","Error while reading tie.");this.musicSheet.SheetErrors.pushMeasureError(d)}}}else if(e.length===2){const a=this.findCurrentNoteInTieDict(this.currentNote);if(a>=0){const l=this.openTieDict[a];l.AddNote(this.currentNote);for(const c of e)if(c.attribute("type").value==="start"){const d=this.getTieDirection(c);l.NoteIndexToTieDirection[l.Notes.length-1]=d}}}}}getTieDirection(e){let r=PlacementEnum.NotYetDefined;const s=e.attribute("placement");s&&(s.value==="above"?r=PlacementEnum.Above:s.value==="below"&&(r=PlacementEnum.Below));const o=e.attribute("orientation");return o&&(o.value==="over"?r=PlacementEnum.Above:o.value==="under"&&(r=PlacementEnum.Below)),r}getNextAvailableNumberForTie(){const e=Object.keys(this.openTieDict);if(e.length===0)return 1;e.sort((r,s)=>+r-+s);for(let r=0;r0?o.RealValue>0?(d=Fraction$1.multiply(Fraction$1.minus(o,a),d),this.directionTimestamp=Fraction$1.plus(d,o)):this.directionTimestamp=Fraction$1.createFromFraction(d):this.offsetDivisions<0&&(o.RealValue>0?(d=Fraction$1.multiply(Fraction$1.minus(o,a),d),this.directionTimestamp=Fraction$1.minus(o,d)):this.directionTimestamp=Fraction$1.createFromFraction(d));let g;const m=e.element("direction-type");let y;if(m&&(y=m.element("wedge"),y)){const A=y.attribute("default-y");A&&(g=this.readPosition(A))}this.WedgeYPosXml=g;const b=e.attribute("placement");if(b)try{const A=b.value;A==="below"?this.placement=PlacementEnum.Below:A==="above"&&(this.placement=PlacementEnum.Above)}catch(A){const S=ITextTranslation.translateText("ReaderErrorMessages/ExpressionPlacementError","Invalid expression placement -> set to default.");loglevelExports.debug("ExpressionReader.readExpressionParameters",S,A),this.musicSheet.SheetErrors.pushMeasureError(S),this.placement=PlacementEnum.Below}if(this.placement===PlacementEnum.NotYetDefined)try{if(m){const A=m.element("dynamics");if(A){const x=A.attribute("default-y");x&&this.readExpressionPlacement(x,"read dynamics y pos")}if(y){const x=y.attribute("default-y");x&&this.readExpressionPlacement(x,"read wedge y pos")}const S=m.element("words");if(S){const x=S.attribute("default-y");x&&this.readExpressionPlacement(x,"read words y pos")}const E=m.element("rehearsal");if(E){const x=E.attribute("default-y");x&&this.readExpressionPlacement(x,"read rehearsal pos")}}}catch(A){const S=ITextTranslation.translateText("ReaderErrorMessages/ExpressionPlacementError","Invalid expression placement. Set to default.");loglevelExports.debug("ExpressionReader.readExpressionParameters",S,A),this.musicSheet.SheetErrors.pushMeasureError(S),this.placement=PlacementEnum.Below}this.placement===PlacementEnum.NotYetDefined&&(r.Staves.length>1?this.placement=PlacementEnum.Below:r.HasLyrics?this.placement=PlacementEnum.Above:this.placement=PlacementEnum.Below)}read(e,r,s,o=void 0,a=0,l){let c=!1,u=!1;const d=e.element("sound");if(d){const y=d.attribute("tempo"),b=d.attribute("dynamics");if(y){const A=y.value.match(/^(\d+)(\.\d+)?$/);(A==null?void 0:A.length)>0?this.soundTempo=Math.round(Number.parseFloat(y.value)):(loglevelExports.info("invalid xml tempo: "+y.value),this.soundTempo=100),r.TempoInBPM=this.soundTempo,this.musicSheet.DefaultStartTempoInBpm===0&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),this.musicSheet.HasBPMInfo=!0,c=!0}if(b){const A=b.value.match(/\d+/);this.soundDynamic=A!==void 0?parseInt(A[0],10):100,u=!0}}const g=e.element("direction-type");if(!g)return;let m=g.element("metronome");if(m){r.metronomeNoteIndex=a;const y=m.element("beat-unit"),b=m.element("beat-unit-dot")!==void 0,A=m.element("per-minute");if(y!==void 0&&A){m.hasAttributes&&m.attribute("default-x")!==void 0&&(this.directionTimestamp=Fraction$1.createFromFraction(s));const E=parseFloat(A.value);!l&&this.createNewTempoExpressionIfNeeded(r);const x=new InstantaneousTempoExpression(void 0,this.placement,this.staffNumber,E,this.currentMultiTempoExpression,!0);x.parentMeasure=r,this.soundTempo=E,r.TempoInBPM=this.soundTempo*(b?1.5:1),this.musicSheet.DefaultStartTempoInBpm===0&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),r.MeasureNumberXML===1&&this.musicSheet.SourceMeasures.length===0&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),this.musicSheet.HasBPMInfo=!0,x.dotted=b,x.beatUnit=y.value,this.currentMultiTempoExpression.addExpression(x,""),this.currentMultiTempoExpression.CombinedExpressionsText="test"}return}if(m=g.element("dynamics"),m){const y=e.element("notations")!==void 0;this.interpretInstantaneousDynamics(m,r,s,y);return}if(m=g.element("words"),m){const y=g.elements("words");let b="";for(const A of y)b+=A.value;if(m.value=b,c||isSpeedKeyword(m.value)||isSpeedHiddenKeyword(m.value)){this.createNewTempoExpressionIfNeeded(r),this.currentMultiTempoExpression.CombinedExpressionsText=m.value,(isSpeedKeyword(m.value)||isSpeedHiddenKeyword(m.value))&&(m.value=void 0);const A=new InstantaneousTempoExpression(m.value,this.placement,this.staffNumber,this.soundTempo,this.currentMultiTempoExpression);this.currentMultiTempoExpression.addExpression(A,"")}else u||this.interpretWords(m,r,s);return}if(m=g.element("wedge"),m){this.interpretWedge(m,r,o,r.MeasureNumber);return}if(m=g.element("rehearsal"),m){this.interpretRehearsalMark(m,r,s,r.MeasureNumber);return}}closeOpenExpressions(e,r){for(const s of this.openContinuousDynamicExpressions)this.createNewMultiExpressionIfNeeded(e,s.NumberXml,r),this.closeOpenContinuousDynamic(s,e,r);this.openContinuousTempoExpression&&this.closeOpenContinuousTempo(Fraction$1.plus(e.AbsoluteTimestamp,r))}addOctaveShift(e,r,s){var c;let o=1;const a=e.element("staff");if(a)try{o=parseInt(a.value,10)}catch(u){const d=ITextTranslation.translateText("ReaderErrorMessages/OctaveShiftStaffError","Invalid octave shift staff number. Set to default");this.musicSheet.SheetErrors.pushMeasureError(d),o=1,loglevelExports.debug("ExpressionReader.addOctaveShift",d,u)}const l=e.element("direction-type");if(l){const u=l.element("octave-shift"),d=this.readPlacement(e);if(u!==void 0&&u.hasAttributes)try{const g=this.readNumber(u);if(u.attribute("size")){const m=parseInt(u.attribute("size").value,10);let y=0;m===8?y=1:m===15&&(y=2);let b=(c=u.attribute("type"))==null?void 0:c.value;if(b||(d===PlacementEnum.Above?b="down":d===PlacementEnum.Below&&(b="up")),b==="up"||b==="down"){const A=new OctaveShift(b,y);A.StaffNumber=o,this.getMultiExpression=this.createNewMultiExpressionIfNeeded(r,g),this.getMultiExpression.OctaveShiftStart=A,A.ParentStartMultiExpression=this.getMultiExpression,this.openOctaveShift=A}else if(b==="stop"){if(this.openOctaveShift){this.getMultiExpression=this.createNewMultiExpressionIfNeeded(r,this.openOctaveShift.numberXml,s);const A=this.getMultiExpression;A.OctaveShiftEnd=this.openOctaveShift,this.openOctaveShift.ParentEndMultiExpression=this.getMultiExpression,this.openOctaveShift=void 0}}else b||loglevelExports.debug("octave-shift missing type in xml")}}catch(g){const m=ITextTranslation.translateText("ReaderErrorMessages/OctaveShiftError","Error while reading octave shift.");this.musicSheet.SheetErrors.pushMeasureError(m),loglevelExports.debug("ExpressionReader.addOctaveShift",m,g)}}}addPedalMarking(e,r,s){var a,l,c;const o=e.element("direction-type");if(o){const u=o.element("pedal");if(u!==void 0&&u.hasAttributes){let d=!1,g=!1;try{switch(((a=u.attribute("line"))==null?void 0:a.value)==="yes"?g=!0:((l=u.attribute("line"))==null?void 0:l.value)==="no"?(g=!1,d=!0):((c=u.attribute("sign"))==null?void 0:c.value)==="yes"?d=!0:(d=!1,g=!0),u.attribute("type").value){case"start":this.openPedal&&this.openPedal.IsLine&&this.endOpenPedal(r),this.createNewMultiExpressionIfNeeded(r,-1),this.openPedal=new Pedal(g,d),this.getMultiExpression.PedalStart=this.openPedal,this.openPedal.ParentStartMultiExpression=this.getMultiExpression;break;case"stop":this.openPedal&&this.endOpenPedal(r,s);break;case"change":this.openPedal&&this.openPedal.IsLine&&(this.openPedal.ChangeEnd=!0,this.createNewMultiExpressionIfNeeded(r,-1),this.getMultiExpression.PedalEnd=this.openPedal,this.openPedal.ParentEndMultiExpression=this.getMultiExpression,this.createNewMultiExpressionIfNeeded(r,-1),this.openPedal=new Pedal(g,d),this.openPedal.ChangeBegin=!0,this.getMultiExpression.PedalStart=this.openPedal,this.openPedal.ParentStartMultiExpression=this.getMultiExpression);break;case"continue":break;default:break}}catch(m){const y=ITextTranslation.translateText("ReaderErrorMessages/PedalError","Error while reading pedal.");this.musicSheet.SheetErrors.pushMeasureError(y),loglevelExports.debug("ExpressionReader.addPedalMarking",y,m)}}}}endOpenPedal(e,r){this.createNewMultiExpressionIfNeeded(e,-1,r),this.getMultiExpression.PedalEnd=this.openPedal,this.openPedal.ParentEndMultiExpression=this.getMultiExpression,this.openPedal=void 0}addWavyLine(e,r,s,o){if(e&&e.hasAttributes)try{switch(e.attribute("type").value){case"start":this.createNewMultiExpressionIfNeeded(r,-1),this.openWavyLine=new WavyLine(this.placement),this.getMultiExpression.WavyLineStart=this.openWavyLine,this.openWavyLine.ParentStartMultiExpression=this.getMultiExpression;break;case"stop":this.openWavyLine&&(this.createNewMultiExpressionIfNeeded(r,-1,s),this.getMultiExpression.WavyLineEnd=this.openWavyLine,this.openWavyLine.ParentEndMultiExpression=this.getMultiExpression,this.openWavyLine=void 0);break;case"continue":break;default:break}}catch(a){const l=ITextTranslation.translateText("ReaderErrorMessages/WavyLineError","Error while reading wavy-line.");this.musicSheet.SheetErrors.pushMeasureError(l),loglevelExports.debug("ExpressionReader.addWavyLine",l,a)}}initialize(){this.placement=PlacementEnum.NotYetDefined,this.soundTempo=0,this.soundDynamic=0,this.offsetDivisions=0}readPlacement(e){var s;const r=(s=e.attribute("placement"))==null?void 0:s.value;return r==="above"?PlacementEnum.Above:r==="below"?PlacementEnum.Below:PlacementEnum.NotYetDefined}readExpressionPlacement(e,r){try{const s=this.readPosition(e);s<0?this.placement=PlacementEnum.Below:s>0&&(this.placement=PlacementEnum.Above)}catch(s){loglevelExports.debug("ExpressionReader.readExpressionParameters",r,s)}}readPosition(e){try{const r=parseInt(e.value,10);return r<0?this.placement=PlacementEnum.Below:r>0&&(this.placement=PlacementEnum.Above),r}catch(r){loglevelExports.debug("ExpressionReader.readExpressionParameters",r)}}interpretInstantaneousDynamics(e,r,s,o){var a,l,c;if(e.hasElements){e.hasAttributes&&e.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(s));const u=this.readNumber(e);let d=(a=e.elements()[0])==null?void 0:a.name;if(d==="other-dynamics"&&(d=e.elements()[0].value),d){if((l=r.Rules)!=null&&l.IgnoreRepeatedDynamics){let m;try{m=DynamicEnum[d]}catch(y){const b=ITextTranslation.translateText("ReaderErrorMessages/DynamicError","Error while reading dynamic.");this.musicSheet.SheetErrors.pushMeasureError(b);return}if(((c=this.activeInstantaneousDynamic)==null?void 0:c.DynEnum)===m)return}o?this.createNewMultiExpressionIfNeeded(r,u,Fraction$1.createFromFraction(s)):this.createNewMultiExpressionIfNeeded(r,u);const g=new InstantaneousDynamicExpression(d,this.soundDynamic,this.placement,this.staffNumber,r);g.InMeasureTimestamp=s.clone(),this.getMultiExpression.addExpression(g,""),this.initialize(),this.activeInstantaneousDynamic?this.activeInstantaneousDynamic.DynEnum=g.DynEnum:this.activeInstantaneousDynamic=new InstantaneousDynamicExpression(d,0,PlacementEnum.NotYetDefined,1,r)}}}interpretWords(e,r,s){var b;const o=e.value;if(r.Rules.IgnoreBracketsWords&&(/^\(\s*\)$/.test(o)||/^\[\s*\]$/.test(o)))return;let a;const l=e.attribute("font-style");let c,u,d;l&&(c=l.value,c==="italic"&&(a=FontStyles.Italic));const g=e.attribute("font-weight");g&&(u=g.value,u==="bold"&&(a=FontStyles.Bold,c==="italic"&&(a=FontStyles.BoldItalic)));const m=e.attribute("color");m&&(d=m.value);let y;if(r.Rules.PlaceWordsInsideStafflineFromXml){const A=(b=e.attribute("default-y"))==null?void 0:b.value;(A==null?void 0:A.length)>0&&(y=Number.parseInt(A,10))}if(o.length>0){if(e.hasAttributes&&e.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(s)),this.checkIfWordsNodeIsRepetitionInstruction(o))return;this.fillMultiOrTempoExpression(o,r,s,a,d,y),this.initialize()}}readNumber(e){var o;let r=1;const s=(o=e.attribute("number"))==null?void 0:o.value;return s&&(r=Number.parseInt(s,10)),r}interpretWedge(e,r,s,o){var c,u;e!==void 0&&e.hasAttributes&&e.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(s));const a=this.readNumber(e),l=(u=(c=e.attribute("type"))==null?void 0:c.value)==null?void 0:u.toLowerCase();this.lastWedge&&this.lastWedge.parentMeasure.MeasureNumberXML===r.MeasureNumberXML&&this.lastWedge.StaffNumber===this.staffNumber&&this.placement===this.lastWedge.Placement&&this.WedgeYPosXml!==void 0&&this.lastWedge.YPosXml===this.WedgeYPosXml&&this.lastWedge.StartMultiExpression.Timestamp.Equals(this.directionTimestamp)&&this.lastWedge.DynamicType===ContDynamicEnum[l]||(l==="stop"?this.createNewMultiExpressionIfNeeded(r,a,s):this.createNewMultiExpressionIfNeeded(r,a),this.addWedge(e,r,s),this.initialize())}interpretRehearsalMark(e,r,s,o){r.rehearsalExpression=new RehearsalExpression(e.value,this.placement)}createNewMultiExpressionIfNeeded(e,r,s=void 0){s||(s=this.directionTimestamp);let o=this.getMultiExpression;return(!o||o&&(o.SourceMeasureParent!==e||o.numberXml!==r||o.SourceMeasureParent===e&&o.Timestamp!==s))&&(this.getMultiExpression=o=new MultiExpression(e,Fraction$1.createFromFraction(s)),e.StaffLinkedExpressions[this.globalStaffIndex].push(o)),o}createNewTempoExpressionIfNeeded(e){(!this.currentMultiTempoExpression||this.currentMultiTempoExpression.SourceMeasureParent!==e||this.currentMultiTempoExpression.Timestamp!==this.directionTimestamp)&&(this.currentMultiTempoExpression=new MultiTempoExpression(e,Fraction$1.createFromFraction(this.directionTimestamp)),e.TempoExpressions.push(this.currentMultiTempoExpression))}addWedge(e,r,s){if(e!==void 0&&e.hasAttributes){const o=this.readNumber(e),a=e.attribute("type").value.toLowerCase();try{if(a==="crescendo"||a==="diminuendo"){const l=new ContinuousDynamicExpression(ContDynamicEnum[a],this.placement,this.staffNumber,r,this.activeInstantaneousDynamic,o);this.lastWedge=l,this.lastWedge.YPosXml=this.WedgeYPosXml,this.openContinuousDynamicExpressions.push(l);let c=this.getMultiExpression;c||(c=this.createNewMultiExpressionIfNeeded(r,o)),c.StartingContinuousDynamic=l,l.StartMultiExpression=c,this.activeInstantaneousDynamic!==void 0&&this.activeInstantaneousDynamic.StaffNumber===l.StaffNumber&&(this.activeInstantaneousDynamic=void 0)}else if(a==="stop")for(const l of this.openContinuousDynamicExpressions)l.NumberXml===o&&this.closeOpenContinuousDynamic(l,r,s)}catch(l){const c="ReaderErrorMessages/WedgeError, Error while reading Crescendo / Diminuendo.";this.musicSheet.SheetErrors.pushMeasureError(c),loglevelExports.debug("ExpressionReader.addWedge",c,l)}}}fillMultiOrTempoExpression(e,r,s,o,a,l=void 0){if(!e)return;const c=e.trim();this.createExpressionFromString("",c,r,s,e,o,a,l)}createExpressionFromString(e,r,s,o,a,l,c,u=void 0){if(InstantaneousTempoExpression.isInputStringInstantaneousTempo(r)||ContinuousTempoExpression.isInputStringContinuousTempo(r)){if(s.TempoExpressions.length>0)for(let y=0,b=s.TempoExpressions.length;y0)for(let y=0,b=s.TempoExpressions.length;y0&&!this.hasDigit(r)&&this.globalStaffIndex>0){if(A.EntriesList[0].label.indexOf(r)>=0)return!1;break}}let g=TextAlignmentEnum.CenterBottom;this.musicSheet.Rules.CompactMode&&(g=TextAlignmentEnum.LeftBottom);const m=new UnknownExpression(r,this.placement,g,this.staffNumber);return m.fontStyle=l,m.ColorXML=c,m.defaultYXml=u,d.addExpression(m,e),!1}closeOpenContinuousDynamic(e,r,s){if(!e)return;const o=e.NumberXml;e.EndMultiExpression=this.createNewMultiExpressionIfNeeded(r,o,s),e.StartMultiExpression.EndingContinuousDynamic=e,this.openContinuousDynamicExpressions=this.openContinuousDynamicExpressions.filter(a=>a!==e)}closeOpenContinuousTempo(e){this.openContinuousTempoExpression.AbsoluteEndTimestamp=e,this.openContinuousTempoExpression=void 0}checkIfWordsNodeIsRepetitionInstruction(e){return e=e.trim().toLowerCase(),e==="coda"||e==="tocoda"||e==="to coda"||e==="fine"||e==="d.c."||e==="dacapo"||e==="da capo"||e==="d.s."||e==="dalsegno"||e==="dal segno"||e==="d.c. al fine"||e==="d.s. al fine"||e==="d.c. al coda"||e==="d.s. al coda"}hasDigit(e){return/\d/.test(e)}}class SlurReader{constructor(e){this.openSlurDict={},this.musicSheet=e}addSlur(e,r,s){try{if(e){for(const o of e)if(o.attributes().length>0){const a=o.attribute("type").value;let l=1;try{o.attribute("number")&&(l=parseInt(o.attribute("number").value,10))}catch(g){loglevelExports.debug("VoiceGenerator.addSlur number: ",g)}let c=PlacementEnum.NotYetDefined;const u=o.attribute("placement");u&&u.value&&(u.value==="above"?c=PlacementEnum.Above:u.value==="below"&&(c=PlacementEnum.Below));const d=o.attribute("orientation");if(d&&d.value&&(d.value==="over"?c=PlacementEnum.Above:d.value==="under"&&(c=PlacementEnum.Below)),a==="start"){let g=new Slur;this.openSlurDict[l]=g,g.StartNote=r,g.idx=s,g.PlacementXml=c}else if(a==="stop"){const g=this.openSlurDict[l];if(g){const m=o.name;if(m==="slide"||m==="glissando"){const y=g.StartNote,b=new Glissando(y);b.AddNote(r),b.EndNote=r,r.NoteGlissando=b,delete this.openSlurDict[l]}else g.idx=s,g.EndNote=r,r.isDuplicateSlur(g)||(r.NoteSlurs.push(g),g.StartNote.NoteSlurs.push(g)),delete this.openSlurDict[l]}}}}}catch(o){const a=ITextTranslation.translateText("ReaderErrorMessages/SlurError","Error while reading slur.");this.musicSheet.SheetErrors.pushMeasureError(a)}}}class InstrumentReader{constructor(e,r,s,o){this.voiceGeneratorsDict={},this.staffMainVoiceGeneratorDict={},this.divisions=0,this.currentClefNumber=1,this.currentXmlMeasureIndex=0,this.activeKeyHasBeenInitialized=!1,this.abstractInstructions=[],this.soundTempos=new Map,this.xmlNotes=[],this.repetitionInstructionReader=r,this.xmlMeasureList=s,this.musicSheet=o.GetMusicSheet,this.instrument=o,this.activeClefs=new Array(o.Staves.length),this.activeClefsHaveBeenInitialized=new Array(o.Staves.length);for(let a=0;a=this.xmlMeasureList.length)return!1;this.currentMeasure=e,this.followingMultirestMeasures=Math.max(this.followingMultirestMeasures-1,0),this.inSourceMeasureInstrumentIndex=this.musicSheet.getGlobalStaffIndexOfFirstStaff(this.instrument),this.repetitionInstructionReader&&this.repetitionInstructionReader.prepareReadingMeasure(e,this.currentXmlMeasureIndex);let o=new Fraction$1(0,1),a=new Fraction$1(0,1),l=!1;this.maxTieNoteFraction=new Fraction$1(0,1);let c=!1;const u=[];let d=!1;try{const C=this.xmlMeasureList[this.currentXmlMeasureIndex],T=C.elements();if(e.Rules.UseXMLMeasureNumbers&&!Number.isInteger(e.MeasureNumberXML)){const I=parseInt((g=C.attribute("number"))==null?void 0:g.value,10);Number.isInteger(I)&&(e.MeasureNumberXML=I)}let k;for(let I=0;I0&&(k=T[I-1]),M.name==="print"){const R=M.attribute("new-system");(R==null?void 0:R.value)==="yes"&&(e.printNewSystemXml=!0);const B=M.attribute("new-page");(B==null?void 0:B.value)==="yes"&&(e.printNewPageXml=!0)}else if(M.name==="attributes"){const R=M.element("divisions");if(R&&(this.divisions=parseInt(R.value,10),isNaN(this.divisions))){const V=ITextTranslation.translateText("ReaderErrorMessages/DivisionError","Invalid divisions value at Instrument: ");if(loglevelExports.debug("InstrumentReader.readNextXmlMeasure",V),this.divisions=this.readDivisionsFromNotes(),this.divisions>0)this.musicSheet.SheetErrors.push(V+this.instrument.Name);else throw l=!0,new MusicSheetReadingException(V+this.instrument.Name)}if(!M.element("divisions")&&this.divisions===0&&this.currentXmlMeasureIndex===0){const V=ITextTranslation.translateText("ReaderErrorMessages/DivisionError","Invalid divisions value at Instrument: ");if(this.divisions=this.readDivisionsFromNotes(),this.divisions>0)this.musicSheet.SheetErrors.push(V+this.instrument.Name);else throw l=!0,new MusicSheetReadingException(V+this.instrument.Name)}this.addAbstractInstruction(M,s,k,o.clone()),o.Equals(new Fraction$1(0,1))&&this.isAttributesNodeAtBeginOfMeasure(this.xmlMeasureList[this.currentXmlMeasureIndex],M)&&this.saveAbstractInstructionList(this.instrument.Staves.length,!0),this.isAttributesNodeAtEndOfMeasure(this.xmlMeasureList[this.currentXmlMeasureIndex],M,o)&&this.saveClefInstructionAtEndOfMeasure();const B=M.elements("staff-details");for(const V of B){const D=V.element("staff-lines");if(D){let F=1;const N=V.attribute("number");N&&(F=parseInt(N.value,10)),this.instrument.Staves[F-1].StafflineCount=parseInt(D.value,10)}}const _=M.element("measure-style");if(_){const V=_.element("multiple-rest");if(V){const D=V.value;let F=0;try{F=Number.parseInt(D,10),e.multipleRestMeasures!==void 0&&F!==e.multipleRestMeasures?e.multipleRestMeasures=0:(e.multipleRestMeasures=F,this.currentMultirestStartMeasure=e,this.followingMultirestMeasures=F+1)}catch(N){console.log("multirest parse error: "+N)}}}}else if(M.name==="note"){let R=!0;((m=M.attribute("print-object"))==null?void 0:m.value)==="no"&&(R=!1);const B=this.getNoteStaff(M);this.currentStaff=this.instrument.Staves[B-1];const _=M.element("chord")!==void 0;if(M.element("voice")){const H=parseInt(M.element("voice").value,10);this.currentVoiceGenerator=this.getOrCreateVoiceGenerator(H,B-1)}else(!_||!this.currentVoiceGenerator)&&(this.currentVoiceGenerator=this.getOrCreateVoiceGenerator(1,B-1));let V=0,D=new Fraction$1(0,1),F=2,N,K=!1;if(M.element("duration")){if(V=parseInt(M.element("duration").value,10),isNaN(V)){const H=ITextTranslation.translateText("ReaderErrorMessages/NoteDurationError","Invalid Note Duration.");this.musicSheet.SheetErrors.pushMeasureError(H),loglevelExports.debug("InstrumentReader.readNextXmlMeasure",H);continue}else if(D=new Fraction$1(V,4*this.divisions),V===0?D=this.getNoteDurationFromTypeNode(M):N=this.getNoteDurationFromTypeNode(M),M.element("time-modification")){D=this.getNoteDurationForTuplet(M);const H=M.element("time-modification");H!=null&&H.element("normal-notes")&&(F=parseInt(H.element("normal-notes").value,10)),K=!0}}const G=M.element("rest")!==void 0,q=M.combinedElement("notations"),O=M.element("grace")!==void 0||V===0||_&&c;let U=!1,$=!1;if(O){const H=M.element("duration"),ve=M.element("grace");ve&&ve.attributes()&&ve.attribute("slash")&&ve.attribute("slash").value==="yes"&&(U=!0),H||(D=this.getNoteDurationFromTypeNode(M)),q&&q.element("slur")&&($=!0)}const[Y,Q]=this.getCueNoteAndNoteTypeXml(M),[xe,ue,W]=this.getStemDirectionAndColors(M);let J,ce=0,ge="",Ee="",Te="";if(q){const H=q.element("ornaments");if(H){J=this.getTremoloInfo(H),this.getWavyLines(H,M,o,a);const me=H.element("tremolo");if(me){const oe=me.attribute("type");if(ge=oe.value,oe){const be=parseInt(me.value,10);be>0&&(ce=be),(oe.value==="start"||oe.value==="stop")&&(D=new Fraction$1(parseInt(M.element("duration").value,10),4*this.divisions))}}const Be=H.elements("wavy-line");if(Be!==void 0)for(const oe of Be){const be=this.expressionReaders[this.readExpressionStaffNumber(M)-1];be&&(be.readExpressionParameters(oe,this.instrument,this.divisions,o,a,this.currentMeasure.MeasureNumber,!1),be.addWavyLine(oe,this.currentMeasure,o,a))}}q.elements("glissando").find(me=>me.attribute("type").value==="start")&&(Ee="start"),q.elements("slide").find(me=>me.attribute("type").value==="start")&&(Te="start")}const De=_?a.clone():o.clone();this.currentStaffEntry=this.currentMeasure.findOrCreateStaffEntry(De,this.inSourceMeasureInstrumentIndex+B-1,this.currentStaff).staffEntry,(!this.currentVoiceGenerator.hasVoiceEntry()||!_&&!O&&!c||O&&!c||O&&!_||!O&&c)&&this.currentVoiceGenerator.createVoiceEntry(De,this.currentStaffEntry,this.activeKey,this.ActiveRhythm,O,U,$),!O&&!_&&(a=o.clone(),o.Add(D)),_&&this.currentStaffEntry!==void 0&&this.currentStaffEntry.ParentStaff!==this.currentStaff&&(this.currentStaffEntry=this.currentVoiceGenerator.checkForStaffEntryLink(this.inSourceMeasureInstrumentIndex+B-1,this.currentStaff,this.currentStaffEntry,this.currentMeasure));const te=this.currentStaffEntry!==void 0&&this.currentStaffEntry.Timestamp!==void 0&&this.currentStaffEntry.Timestamp.Equals(new Fraction$1(0,1))&&!this.currentStaffEntry.hasNotes();this.saveAbstractInstructionList(this.instrument.Staves.length,te),this.activeRhythm,!K&&!O&&(D=new Fraction$1(V,4*this.divisions));const ae=M.elements("dot").length;if(this.currentVoiceGenerator.read(M,D,N,Q,F,G,this.currentStaffEntry,this.currentMeasure,r,this.maxTieNoteFraction,_,s,R,Y,O,xe,J,ue,W,ae,ge,Ee,Te),q!==void 0&&q.element("dynamics")){const H=this.expressionReaders[this.readExpressionStaffNumber(M)-1];H&&(H.readExpressionParameters(M,this.instrument,this.divisions,o,a,this.currentMeasure.MeasureNumber,!1),H.read(M,this.currentMeasure,a,void 0,u.length))}c=O}else if(M.name==="forward"){const R=parseInt(M.element("duration").value,10);o.Add(new Fraction$1(R,4*this.divisions))}else if(M.name==="backup"){const R=parseInt(M.element("duration").value,10);o.Sub(new Fraction$1(R,4*this.divisions)),o.IsNegative()&&(o=new Fraction$1(0,1)),a.Sub(new Fraction$1(R,4*this.divisions)),a.IsNegative()&&(a=new Fraction$1(0,1))}else if(M.name==="direction"){const R=M.elements("direction-type"),B=M.element("direction-type");let _=Math.min(1,o.RealValue);this.activeRhythm!==void 0&&this.activeRhythm.Rhythm&&(_/=this.activeRhythm.Rhythm.RealValue);let V=!1;if(this.repetitionInstructionReader&&(V=this.repetitionInstructionReader.handleRepetitionInstructionsFromWordsOrSymbols(B,_)),!V){let D=this.expressionReaders[0];const F=this.readExpressionStaffNumber(M)-1;if(FG==null?void 0:G.toLocaleLowerCase()).includes((y=N.value)==null?void 0:y.toLocaleLowerCase())&&(this.currentGradualChangeMeasure=this.currentMeasure,this.currentMeasure.speedInfo={startWord:(b=N.value)==null?void 0:b.toLocaleLowerCase(),startXmlNoteIndex:u.length,endXmlNoteIndex:0,resetXmlNoteIndex:0,startMeasureListIndex:this.currentXmlMeasureIndex,endMeasureListIndex:0,resetMeasureListIndex:0},this.xmlNotes=[]),N.value.startsWith(GRADIENT_SPEED_CLOSE_TAG)&&((A=this.currentGradualChangeMeasure)!=null&&A.speedInfo)&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:this.xmlNotes.length,endMeasureListIndex:this.currentXmlMeasureIndex}),((S=N.value)==null?void 0:S.toLocaleLowerCase())==="a tempo".toLocaleLowerCase()&&((E=this.currentGradualChangeMeasure)!=null&&E.speedInfo)){const{endXmlNoteIndex:G,resetXmlNoteIndex:q,endMeasureListIndex:O}=this.currentGradualChangeMeasure.speedInfo;q===0&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:G||this.xmlNotes.length,endMeasureListIndex:O||this.currentXmlMeasureIndex,resetXmlNoteIndex:this.xmlNotes.length,resetMeasureListIndex:this.currentXmlMeasureIndex}),this.xmlNotes=[]}N.value&&N.value.toLocaleLowerCase()==="hiddenspeed"?d=!0:d=!1}if(R.find(K=>K.element("metronome"))&&((x=this.currentGradualChangeMeasure)!=null&&x.speedInfo)){const{endXmlNoteIndex:K,resetXmlNoteIndex:G,endMeasureListIndex:q}=this.currentGradualChangeMeasure.speedInfo;G===0&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:K||this.xmlNotes.length,endMeasureListIndex:q||this.currentXmlMeasureIndex,resetXmlNoteIndex:this.xmlNotes.length,resetMeasureListIndex:this.currentXmlMeasureIndex}),this.xmlNotes=[]}D.readExpressionParameters(M,this.instrument,this.divisions,o,a,this.currentMeasure.MeasureNumber,!1),D.read(M,this.currentMeasure,o,a.clone(),u.length,d)}}}else if(M.name==="barline"){this.repetitionInstructionReader&&this.repetitionInstructionReader.handleLineRepetitionInstructions(M)&&(this.currentMeasure.HasEndLine=!0);const R=M.attribute("location");if(I===T.length-1||R&&R.value==="right"){const _=(P=M.element("bar-style"))==null?void 0:P.value;_&&(this.currentMeasure.endingBarStyleXml=_,this.currentMeasure.endingBarStyleEnum=SystemLinesEnumHelper.xmlBarlineStyleToSystemLinesEnum(_))}}else if(M.name==="sound")try{if(M.attribute("tempo")){const R=parseFloat(M.attribute("tempo").value);M.element("offset")&&(this.soundTempos.has(this.currentXmlMeasureIndex)||this.soundTempos.set(this.currentXmlMeasureIndex,[]),this.soundTempos.get(this.currentXmlMeasureIndex).push(R)),this.currentXmlMeasureIndex===0&&(this.musicSheet.DefaultStartTempoInBpm=R,this.musicSheet.HasBPMInfo=!0)}}catch(R){loglevelExports.debug("InstrumentReader.readTempoInstruction",R)}else if(M.name==="harmony"){const R=this.getNoteStaff(M);this.currentStaff=this.instrument.Staves[R-1];const B=o.clone();this.currentStaffEntry=this.currentMeasure.findOrCreateStaffEntry(B,this.inSourceMeasureInstrumentIndex+R-1,this.currentStaff).staffEntry,this.currentStaffEntry.ChordContainers.push(ChordSymbolReader.readChordSymbol(M,this.musicSheet,this.activeKey))}}for(const I in this.voiceGeneratorsDict)this.voiceGeneratorsDict.hasOwnProperty(I)&&this.voiceGeneratorsDict[I].checkForOpenBeam();if(this.currentXmlMeasureIndex===this.xmlMeasureList.length-1){for(let I=0;I{this.voiceGeneratorsDict[I].finalizeReadingMeasure()}),this.musicSheet.HasBPMInfo?e.TempoInBPM===0&&this.previousMeasure&&(this.currentMeasure.TempoInBPM=this.previousMeasure.TempoInBPM):this.currentMeasure.TempoInBPM=120}catch(C){if(l)throw new MusicSheetReadingException(C.Message);const T=ITextTranslation.translateText("ReaderErrorMessages/MeasureError","Error while reading Measure.");this.musicSheet.SheetErrors.pushMeasureError(T),loglevelExports.debug("InstrumentReader.readNextXmlMeasure",T,C)}return this.previousMeasure=this.currentMeasure,this.currentXmlMeasureIndex+=1,!0}getStemDirectionAndColors(e){let r=StemDirectionType.Undefined,s;const o=e.element("stem");if(o){r=this.getStemDirectionType(o);const c=o.attribute("color");c&&(s=this.parseXmlColor(c.value))}let a=this.getNoteHeadColorXml(e);const l=this.getNoteColorXml(e);return l&&!a&&(a=l),l&&!s&&(s=l),[r,s,a]}parseXmlColor(e){if(e)return e.length===7?e:e.length===9?"#"+e.substr(3):void 0}doCalculationsAfterDurationHasBeenSet(){for(const e in this.voiceGeneratorsDict)this.voiceGeneratorsDict.hasOwnProperty(e)&&this.voiceGeneratorsDict[e].checkOpenTies()}getOrCreateVoiceGenerator(e,r){const s=this.instrument.Staves[r];let o=this.voiceGeneratorsDict[e];if(o)s.Voices.indexOf(o.GetVoice)===-1&&s.Voices.push(o.GetVoice);else{const a=this.staffMainVoiceGeneratorDict[r];a?(o=new VoiceGenerator(this.pluginManager,s,e,this.slurReader,a.GetVoice),s.Voices.push(o.GetVoice),this.voiceGeneratorsDict[e]=o):(o=new VoiceGenerator(this.pluginManager,s,e,this.slurReader),s.Voices.push(o.GetVoice),this.voiceGeneratorsDict[e]=o,this.staffMainVoiceGeneratorDict[r]=o)}return o}createExpressionGenerators(e){this.expressionReaders=new Array(e);for(let r=0;r0?r=this.musicSheet.SourceMeasures[0]:r=this.currentMeasure;const s=new ClefInstruction(ClefEnum.G,0,2);let o;r.FirstInstructionsStaffEntries[e]?(o=r.FirstInstructionsStaffEntries[e],o.removeFirstInstructionOfTypeClefInstruction()):(o=new SourceStaffEntry(void 0,void 0),r.FirstInstructionsStaffEntries[e]=o),s.Parent=o,o.Instructions.splice(0,0,s)}createDefaultKeyInstruction(){let e;this.musicSheet.SourceMeasures.length>0?e=this.musicSheet.SourceMeasures[0]:e=this.currentMeasure;const r=new KeyInstruction(void 0,0,KeyEnum.major);for(let s=this.inSourceMeasureInstrumentIndex;s0&&s[o-1].name==="backup")return!0;let a=-1;for(let l=0;l0||a<0}isAttributesNodeAtEndOfMeasure(e,r,s){var c;if(s.Equals((c=this.ActiveRhythm)==null?void 0:c.Rhythm))return!0;const o=e.elements().slice();let a=0;for(let u=0;ul}getNoteDurationFromTypeNode(e){const r=e.element("type");if(r){const s=r.value;return NoteTypeHandler.getNoteDurationFromType(s)}return new Fraction$1(0,4*this.divisions)}addAbstractInstruction(e,r,s,o){if(e.element("divisions")&&e.elements().length===1)return;const a=e.element("transpose");if(a){const u=a.element("chromatic");u&&(this.instrument.PlaybackTranspose=parseInt(u.value,10))}const l=e.elements("clef");let c;if(l.length>0)for(let u=0,d=l.length;uthis.currentClefNumber&&(b=this.currentClefNumber),this.currentClefNumber=b+1}catch(C){c=ITextTranslation.translateText("ReaderErrorMessages/ClefError","Invalid clef. Using default."),this.musicSheet.SheetErrors.pushMeasureError(c),b=1,this.currentClefNumber=b+1}const P=new ClefInstruction(m,A,y);this.abstractInstructions.push([b,P,o])}if(e.element("key")!==void 0&&this.instrument.MidiInstrumentId!==MidiInstrument.Percussion){let u=0;const d=e.element("key").element("fifths");if(d)try{u=parseInt(d.value,10)}catch(b){c=ITextTranslation.translateText("ReaderErrorMessages/KeyError","Invalid key. Set to default."),this.musicSheet.SheetErrors.pushMeasureError(c),u=0,loglevelExports.debug("InstrumentReader.addAbstractInstruction",c,b)}let g=KeyEnum.none,m=e.element("key");if(m&&(m=m.element("mode")),m)try{g=KeyEnum[m.value]}catch(b){c=ITextTranslation.translateText("ReaderErrorMessages/KeyError","Invalid key/mode. Set to default."),this.musicSheet.SheetErrors.pushMeasureError(c),g=KeyEnum.major,loglevelExports.debug("InstrumentReader.addAbstractInstruction",c,b)}const y=new KeyInstruction(void 0,u,g);this.abstractInstructions.push([1,y,o])}if(e.element("time")){const u=e.element("time");let d=RhythmSymbolEnum.NONE,g=!0;if(u!==void 0&&u.hasAttributes){const x=u.attribute("symbol");x&&(x.value==="common"?d=RhythmSymbolEnum.COMMON:x.value==="cut"&&(d=RhythmSymbolEnum.CUT));const P=u.attribute("print-object");P&&P.value==="no"&&(g=!1)}let m=0,y=0;const b=u&&u.element("senza-misura")!==void 0,A=e.elements("time"),S=[],E=[];for(let x=0,P=A.length;x0&&E!==void 0&&S.length===E.length){const P=S.length,C=new Array(P);let T=0;for(let k=0;k=0;s--){const o=this.abstractInstructions[s],a=o[0],l=o[1],c=o[2];if(l instanceof ClefInstruction){const u=l;if(this.currentXmlMeasureIndex===0||a<=this.activeClefs.length&&u!==this.activeClefs[a-1])if(!r&&this.currentStaffEntry!==void 0&&!this.currentStaffEntry.hasNotes()&&a-1===this.instrument.Staves.indexOf(this.currentStaffEntry.ParentStaff)){const d=u,g=this.currentStaffEntry;if(c&&Math.abs(c.RealValue-g.Timestamp.RealValue)>.01)continue;d.Parent=g,g.removeFirstInstructionOfTypeClefInstruction(),g.Instructions.push(d),this.activeClefs[a-1]=u,this.abstractInstructions.splice(s,1)}else if(r){if(c.RealValue!==0)continue;let d;if(this.currentMeasure){const g=u,m=this.inSourceMeasureInstrumentIndex+a-1,y=this.currentMeasure.FirstInstructionsStaffEntries[m];if(this.currentXmlMeasureIndex===0)if(!y)d=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[m]=d,g.Parent=d,d.Instructions.push(g),this.activeClefsHaveBeenInitialized[a-1]=!0;else if(this.currentMeasure.FirstInstructionsStaffEntries[m]!==void 0&&!(y.Instructions[0]instanceof ClefInstruction))d=y,g.Parent=d,d.removeFirstInstructionOfTypeClefInstruction(),d.Instructions.splice(0,0,g),this.activeClefsHaveBeenInitialized[a-1]=!0;else{const b=new SourceStaffEntry(void 0,void 0);this.currentMeasure.LastInstructionsStaffEntries[m]=b,g.Parent=b,b.Instructions.push(g)}else if(this.activeClefsHaveBeenInitialized[a-1]){let b=this.previousMeasure;this.followingMultirestMeasures>0&&this.currentMeasure.Rules.RenderMultipleRestMeasures&&(b=this.currentMultirestStartMeasure);const A=new SourceStaffEntry(void 0,void 0);b.LastInstructionsStaffEntries[m]=A,g.Parent=A,A.Instructions.push(g)}else{const b=this.musicSheet.SourceMeasures[0];b.FirstInstructionsStaffEntries[m]?(d=b.FirstInstructionsStaffEntries[m],d.removeFirstInstructionOfTypeClefInstruction()):d=new SourceStaffEntry(void 0,void 0),g.Parent=d,d.Instructions.splice(0,0,g),this.activeClefsHaveBeenInitialized[a-1]=!0}this.activeClefs[a-1]=u,this.abstractInstructions.splice(s,1)}}else{let d;const g=this.activeRhythm.Rhythm;g.RealValue>0&&c.RealValue/g.RealValue>.9&&g.RealValue!==c.RealValue&&(this.currentMeasure.LastInstructionsStaffEntries[a-1]||(this.currentMeasure.LastInstructionsStaffEntries[a-1]=new SourceStaffEntry(void 0,this.instrument.Staves[a-1])),d=this.currentMeasure.LastInstructionsStaffEntries[a-1]),d&&(u.Parent=d,d.Instructions.push(u),this.activeClefs[a-1]=u,this.abstractInstructions.splice(s,1))}else a<=this.activeClefs.length&&u===this.activeClefs[a-1]&&this.abstractInstructions.splice(s,1)}if(l instanceof KeyInstruction){const u=l;if(!this.activeKey||this.activeKey.Key!==u.Key){this.activeKey=u,this.abstractInstructions.splice(s,1);let d;if(this.activeKeyHasBeenInitialized?d=this.currentMeasure:(this.activeKeyHasBeenInitialized=!0,this.currentXmlMeasureIndex>0?d=this.musicSheet.SourceMeasures[0]:d=this.currentMeasure),d)for(let g=this.inSourceMeasureInstrumentIndex;g=0;e--){const r=this.abstractInstructions[e][0],s=this.abstractInstructions[e][1];if(s instanceof ClefInstruction){const o=s;if(!this.activeClefs[r-1]||o.ClefType!==this.activeClefs[r-1].ClefType||o.ClefType===this.activeClefs[r-1].ClefType&&o.Line!==this.activeClefs[r-1].Line){const a=new SourceStaffEntry(void 0,void 0);this.currentMeasure.LastInstructionsStaffEntries[this.inSourceMeasureInstrumentIndex+r-1]=a;const l=o;l.Parent=a,a.Instructions.push(l),this.activeClefs[r-1]=o,this.abstractInstructions.splice(e,1)}}}}getNoteDurationForTuplet(e){let r=new Fraction$1(0,1);const s=this.getNoteDurationFromTypeNode(e);if(e.element("time-modification")){const o=e.element("time-modification");if(o&&o.element("actual-notes")!==void 0&&o.element("normal-notes")){const a=o.element("actual-notes"),l=o.element("normal-notes");if(a!==void 0&&l){const c=parseInt(a.value,10),u=parseInt(l.value,10);r=new Fraction$1(u*s.Numerator,c*s.Denominator)}}}return r}readExpressionStaffNumber(e){let r=1;if(e.element("staff")){const s=e.element("staff");if(s)try{r=parseInt(s.value,10)}catch(o){const a=ITextTranslation.translateText("ReaderErrorMessages/ExpressionStaffError","Invalid Expression staff number. Set to default.");this.musicSheet.SheetErrors.pushMeasureError(a),r=1,loglevelExports.debug("InstrumentReader.readExpressionStaffNumber",a,o)}}return r}readDivisionsFromNotes(){let e=0,r=this.currentXmlMeasureIndex,s=!1;for(;!s;){const o=this.xmlMeasureList[r].elements();for(let a=0,l=o.length;a0){s=!0;break}}if(e===0&&(r++,r===this.xmlMeasureList.length)){const a=ITextTranslation.translateText("ReaderErrorMEssages/DivisionsError","Invalid divisions value at Instrument: ");throw new MusicSheetReadingException(a+this.instrument.Name)}}return e}getCueNoteAndNoteTypeXml(e){const r=e.element("cue");let s=!1;r&&(s=!0);const o=e.element("type");let a=NoteType.UNDEFINED;if(o){const l=o.attribute("size");(l==null?void 0:l.value)==="cue"&&(s=!0),a=NoteTypeHandler.StringToNoteType(o.value)}return[s,a]}getStemDirectionType(e){switch(e.value){case"down":return StemDirectionType.Down;case"up":return StemDirectionType.Up;case"double":return StemDirectionType.Double;case"none":return StemDirectionType.None;default:return StemDirectionType.Undefined}}getNoteHeadColorXml(e){const r=e.element("notehead");if(r){const s=r.attribute("color");if(s)return this.parseXmlColor(s.value)}return null}getNoteColorXml(e){const r=e.attribute("color");return r?this.parseXmlColor(r.value):null}getTremoloInfo(e){let r,s;const o=e.element("tremolo");if(o){const a=o.attribute("type");if(a){if(a.value==="single"){const l=parseInt(o.value,10);l>0&&(r=l)}else r=0;a.value==="unmeasured"&&(s=!0)}}return{tremoloStrokes:r,tremoloUnmeasured:s}}getWavyLines(e,r,s,o){const a=e.elements("wavy-line");if(a)for(const l of a){const c=this.expressionReaders[this.readExpressionStaffNumber(r)-1];c&&(c.readExpressionParameters(l,this.instrument,this.divisions,s,o,this.currentMeasure.MeasureNumber,!1),c.addWavyLine(l,this.currentMeasure,s,o))}}getNoteStaff(e){let r=1;return this.instrument.Staves.length>1&&e.element("staff")&&(r=parseInt(e.element("staff").value,10),isNaN(r)&&(loglevelExports.debug("InstrumentReader.readNextXmlMeasure.get staff number"),r=1)),r}}class InstrumentNames{}InstrumentNames.MidiInstrument={banjo:MidiInstrument.Banjo,blockfloete:MidiInstrument.Recorder,brass:MidiInstrument.Trombone,bratsche:MidiInstrument.Viola,cello:MidiInstrument.Cello,clarinet:MidiInstrument.Clarinet,contrabass:MidiInstrument.Contrabass,"steel drum":MidiInstrument.Steel_Drums,drums:MidiInstrument.Percussion,flute:MidiInstrument.Flute,floete:MidiInstrument.Flute,frenchhorn:MidiInstrument.French_Horn,gitarre:MidiInstrument.Acoustic_Guitar_nylon,guitar:MidiInstrument.Acoustic_Guitar_nylon,harfe:MidiInstrument.Orchestral_Harp,harp:MidiInstrument.Orchestral_Harp,klarinette:MidiInstrument.Clarinet,klavier:MidiInstrument.Acoustic_Grand_Piano,kontrabass:MidiInstrument.Contrabass,oboe:MidiInstrument.Oboe,organ:MidiInstrument.Church_Organ,orgel:MidiInstrument.Church_Organ,orgue:MidiInstrument.Church_Organ,percussion:MidiInstrument.Percussion,piano:MidiInstrument.Acoustic_Grand_Piano,piccolo:MidiInstrument.Piccolo,posaune:MidiInstrument.Trombone,recorder:MidiInstrument.Recorder,sax:MidiInstrument.Tenor_Sax,schlagwerk:MidiInstrument.Percussion,schlagzeug:MidiInstrument.Percussion,steeldrum:MidiInstrument.Steel_Drums,streicher:MidiInstrument.String_Ensemble_1,strings:MidiInstrument.String_Ensemble_1,tpt:MidiInstrument.Trumpet,trombone:MidiInstrument.Trombone,trompete:MidiInstrument.Trumpet,trumpet:MidiInstrument.Trumpet,tuba:MidiInstrument.Tuba,unnamed:MidiInstrument.Acoustic_Grand_Piano,viola:MidiInstrument.Viola,violin:MidiInstrument.Violin,"violon-c":MidiInstrument.Cello,"violon.":MidiInstrument.Violin,voice:MidiInstrument.Synth_Voice,woodblock:MidiInstrument.Woodblock,alt:MidiInstrument.Synth_Voice,alto:MidiInstrument.Synth_Voice,bariton:MidiInstrument.Synth_Voice,baritone:MidiInstrument.Synth_Voice,bass:MidiInstrument.Synth_Voice,sopran:MidiInstrument.Synth_Voice,tenor:MidiInstrument.Synth_Voice};InstrumentNames.MidiInstrumentSounds={"brass.alphorn":MidiInstrument.French_Horn,"brass.alto-horn":MidiInstrument.French_Horn,"brass.baritone-horn":MidiInstrument.French_Horn,"brass.bugle":MidiInstrument.Trumpet,"brass.bugle.alto":MidiInstrument.Trumpet,"brass.bugle.baritone":MidiInstrument.Trombone,"brass.bugle.contrabass":MidiInstrument.Trombone,"brass.bugle.euphonium-bugle":MidiInstrument.French_Horn,"brass.bugle.mellophone-bugle":MidiInstrument.French_Horn,"brass.bugle.soprano":MidiInstrument.Trumpet,"brass.cimbasso":MidiInstrument.Trombone,"brass.conch-shell":MidiInstrument.Flute,"brass.cornet":MidiInstrument.Trumpet,"brass.cornet.soprano":MidiInstrument.Trumpet,"brass.cornett":MidiInstrument.Trumpet,"brass.cornett.tenor":MidiInstrument.Trumpet,"brass.cornettino":MidiInstrument.Trumpet,"brass.didgeridoo":MidiInstrument.Flute,"brass.euphonium":MidiInstrument.French_Horn,"brass.fiscorn":MidiInstrument.French_Horn,"brass.flugelhorn":MidiInstrument.French_Horn,"brass.french-horn":MidiInstrument.French_Horn,"brass.group":MidiInstrument.Brass_Section,"brass.group.synth":MidiInstrument.Synth_Brass_1,"brass.helicon":MidiInstrument.French_Horn,"brass.horagai":MidiInstrument.Trumpet,"brass.kuhlohorn":MidiInstrument.French_Horn,"brass.mellophone":MidiInstrument.French_Horn,"brass.natural-horn":MidiInstrument.French_Horn,"brass.ophicleide":MidiInstrument.French_Horn,"brass.posthorn":MidiInstrument.French_Horn,"brass.saxhorn":MidiInstrument.French_Horn,"brass.sousaphone":MidiInstrument.Tuba,"brass.trombone":MidiInstrument.Trombone,"brass.trombone.alto":MidiInstrument.Trombone,"brass.trombone.bass":MidiInstrument.Trombone,"brass.trombone.contrabass":MidiInstrument.Trombone,"brass.trombone.tenor":MidiInstrument.Trombone,"brass.trumpet":MidiInstrument.Trumpet,"brass.trumpet.baroque":MidiInstrument.Trumpet,"brass.trumpet.bass":MidiInstrument.Trombone,"brass.trumpet.bflat":MidiInstrument.Trumpet,"brass.trumpet.c":MidiInstrument.Trumpet,"brass.trumpet.d":MidiInstrument.Trumpet,"brass.trumpet.piccolo":MidiInstrument.Trumpet,"brass.trumpet.pocket":MidiInstrument.Trumpet,"brass.trumpet.slide":MidiInstrument.Trumpet,"brass.trumpet.tenor":MidiInstrument.Trumpet,"brass.tuba":MidiInstrument.Tuba,"brass.tuba.bass":MidiInstrument.Tuba,"brass.tuba.subcontrabass":MidiInstrument.Tuba,"brass.vienna-horn":MidiInstrument.French_Horn,"brass.wagner-tuba":MidiInstrument.French_Horn,"drum.ashiko":MidiInstrument.Shakuhachi,"drum.bass-drum":MidiInstrument.Percussion,"drum.bongo":MidiInstrument.Percussion,"drum.bougarabou":MidiInstrument.Percussion,"drum.buffalo-drum":MidiInstrument.Percussion,"drum.cajon":MidiInstrument.Percussion,"drum.chenda":MidiInstrument.Percussion,"drum.chu-daiko":MidiInstrument.Percussion,"drum.conga":MidiInstrument.Percussion,"drum.cuica":MidiInstrument.Percussion,"drum.dabakan":MidiInstrument.Percussion,"drum.daff":MidiInstrument.Percussion,"drum.dafli":MidiInstrument.Percussion,"drum.daibyosi":MidiInstrument.Percussion,"drum.damroo":MidiInstrument.Percussion,"drum.darabuka":MidiInstrument.Percussion,"drum.def":MidiInstrument.Percussion,"drum.dhol":MidiInstrument.Percussion,"drum.dholak":MidiInstrument.Percussion,"drum.djembe":MidiInstrument.Percussion,"drum.doira":MidiInstrument.Percussion,"drum.dondo":MidiInstrument.Percussion,"drum.doun-doun-ba":MidiInstrument.Percussion,"drum.duff":MidiInstrument.Percussion,"drum.dumbek":MidiInstrument.Percussion,"drum.fontomfrom":MidiInstrument.Percussion,"drum.frame-drum":MidiInstrument.Percussion,"drum.frame-drum.arabian":MidiInstrument.Percussion,"drum.geduk":MidiInstrument.Percussion,"drum.ghatam":MidiInstrument.Percussion,"drum.gome":MidiInstrument.Percussion,"drum.group":MidiInstrument.Percussion,"drum.group.chinese":MidiInstrument.Percussion,"drum.group.ewe":MidiInstrument.Percussion,"drum.group.indian":MidiInstrument.Percussion,"drum.group.set":MidiInstrument.Percussion,"drum.hand-drum":MidiInstrument.Percussion,"drum.hira-daiko":MidiInstrument.Percussion,"drum.ibo":MidiInstrument.Percussion,"drum.igihumurizo":MidiInstrument.Percussion,"drum.inyahura":MidiInstrument.Percussion,"drum.ishakwe":MidiInstrument.Percussion,"drum.jang-gu":MidiInstrument.Percussion,"drum.kagan":MidiInstrument.Percussion,"drum.kakko":MidiInstrument.Percussion,"drum.kanjira":MidiInstrument.Percussion,"drum.kendhang":MidiInstrument.Percussion,"drum.kendhang.ageng":MidiInstrument.Percussion,"drum.kendhang.ciblon":MidiInstrument.Percussion,"drum.kenkeni":MidiInstrument.Percussion,"drum.khol":MidiInstrument.Percussion,"drum.kick-drum":MidiInstrument.Percussion,"drum.kidi":MidiInstrument.Percussion,"drum.ko-daiko":MidiInstrument.Percussion,"drum.kpanlogo":MidiInstrument.Percussion,"drum.kudum":MidiInstrument.Percussion,"drum.lambeg":MidiInstrument.Percussion,"drum.lion-drum":MidiInstrument.Percussion,"drum.log-drum":MidiInstrument.Percussion,"drum.log-drum.african":MidiInstrument.Percussion,"drum.log-drum.native":MidiInstrument.Percussion,"drum.log-drum.nigerian":MidiInstrument.Percussion,"drum.madal":MidiInstrument.Percussion,"drum.maddale":MidiInstrument.Percussion,"drum.mridangam":MidiInstrument.Percussion,"drum.naal":MidiInstrument.Percussion,"drum.nagado-daiko":MidiInstrument.Percussion,"drum.nagara":MidiInstrument.Percussion,"drum.naqara":MidiInstrument.Percussion,"drum.o-daiko":MidiInstrument.Percussion,"drum.okawa":MidiInstrument.Percussion,"drum.okedo-daiko":MidiInstrument.Percussion,"drum.pahu-hula":MidiInstrument.Percussion,"drum.pakhawaj":MidiInstrument.Percussion,"drum.pandeiro":MidiInstrument.Percussion,"drum.pandero":MidiInstrument.Percussion,"drum.powwow":MidiInstrument.Percussion,"drum.pueblo":MidiInstrument.Percussion,"drum.repinique":MidiInstrument.Percussion,"drum.riq":MidiInstrument.Percussion,"drum.rototom":MidiInstrument.Percussion,"drum.sabar":MidiInstrument.Percussion,"drum.sakara":MidiInstrument.Percussion,"drum.sampho":MidiInstrument.Percussion,"drum.sangban":MidiInstrument.Percussion,"drum.shime-daiko":MidiInstrument.Percussion,"drum.slit-drum":MidiInstrument.Percussion,"drum.slit-drum.krin":MidiInstrument.Percussion,"drum.snare-drum":MidiInstrument.Percussion,"drum.snare-drum.electric":MidiInstrument.Synth_Drum,"drum.sogo":MidiInstrument.Percussion,"drum.surdo":MidiInstrument.Percussion,"drum.tabla":MidiInstrument.Percussion,"drum.tabla.bayan":MidiInstrument.Percussion,"drum.tabla.dayan":MidiInstrument.Percussion,"drum.tabor":MidiInstrument.Percussion,"drum.taiko":MidiInstrument.Taiko_Drum,"drum.talking":MidiInstrument.Percussion,"drum.tama":MidiInstrument.Percussion,"drum.tamborim":MidiInstrument.Percussion,"drum.tamborita":MidiInstrument.Percussion,"drum.tambourine":MidiInstrument.Percussion,"drum.tamte":MidiInstrument.Percussion,"drum.tangku":MidiInstrument.Percussion,"drum.tan-tan":MidiInstrument.Percussion,"drum.taphon":MidiInstrument.Percussion,"drum.tar":MidiInstrument.Percussion,"drum.tasha":MidiInstrument.Percussion,"drum.tenor-drum":MidiInstrument.Percussion,"drum.teponaxtli":MidiInstrument.Percussion,"drum.thavil":MidiInstrument.Percussion,"drum.the-box":MidiInstrument.Percussion,"drum.timbale":MidiInstrument.Percussion,"drum.timpani":MidiInstrument.Timpani,"drum.tinaja":MidiInstrument.Percussion,"drum.toere":MidiInstrument.Percussion,"drum.tombak":MidiInstrument.Percussion,"drum.tom-tom":MidiInstrument.Melodic_Tom,"drum.tom-tom.synth":MidiInstrument.Melodic_Tom,"drum.tsuzumi":MidiInstrument.Percussion,"drum.tumbak":MidiInstrument.Percussion,"drum.uchiwa-daiko":MidiInstrument.Percussion,"drum.udaku":MidiInstrument.Percussion,"drum.udu":MidiInstrument.Percussion,"drum.zarb":MidiInstrument.Percussion,"effect.applause":MidiInstrument.Applause,"effect.gunshot":MidiInstrument.Gunshot,"effect.helicopter":MidiInstrument.Helicopter,"effect.telephone-ring":MidiInstrument.Telephone_Ring,"keyboard.accordion":MidiInstrument.Accordion,"keyboard.bandoneon":MidiInstrument.Accordion,"keyboard.celesta":MidiInstrument.Celesta,"keyboard.clavichord":MidiInstrument.Harpsichord,"keyboard.clavichord.synth":MidiInstrument.Harpsichord,"keyboard.concertina":MidiInstrument.Accordion,"keyboard.fortepiano":MidiInstrument.Acoustic_Grand_Piano,"keyboard.harmonium":MidiInstrument.Drawbar_Organ,"keyboard.harpsichord":MidiInstrument.Harpsichord,"keyboard.ondes-martenot":MidiInstrument.Pad_3_polysynth,"keyboard.organ":MidiInstrument.Church_Organ,"keyboard.organ.drawbar":MidiInstrument.Percussive_Organ,"keyboard.organ.percussive":MidiInstrument.Rock_Organ,"keyboard.organ.pipe":MidiInstrument.Church_Organ,"keyboard.organ.reed":MidiInstrument.Church_Organ,"keyboard.organ.rotary":MidiInstrument.Rock_Organ,"keyboard.piano":MidiInstrument.Acoustic_Grand_Piano,"keyboard.piano.electric":MidiInstrument.Electric_Grand_Piano,"keyboard.piano.grand":MidiInstrument.Acoustic_Grand_Piano,"keyboard.piano.honky-tonk":MidiInstrument.Honky_tonk_Piano,"keyboard.piano.prepared":MidiInstrument.Acoustic_Grand_Piano,"keyboard.piano.toy":MidiInstrument.Honky_tonk_Piano,"keyboard.piano.upright":MidiInstrument.Acoustic_Grand_Piano,"keyboard.virginal":MidiInstrument.Acoustic_Grand_Piano,"metal.adodo":MidiInstrument.Xylophone,"metal.anvil":MidiInstrument.Xylophone,"metal.babendil":MidiInstrument.Xylophone,"metal.bells.agogo":MidiInstrument.Agogo,"metal.bells.almglocken":MidiInstrument.Tubular_Bells,"metal.bells.bell-plate":MidiInstrument.Tubular_Bells,"metal.bells.bell-tree":MidiInstrument.Tubular_Bells,"metal.bells.carillon":MidiInstrument.Tubular_Bells,"metal.bells.chimes":MidiInstrument.Tinkle_Bell,"metal.bells.chimta":MidiInstrument.Tubular_Bells,"metal.bells.chippli":MidiInstrument.Tubular_Bells,"metal.bells.church":MidiInstrument.Tubular_Bells,"metal.bells.cowbell":MidiInstrument.Percussion,"metal.bells.dawuro":MidiInstrument.Percussion,"metal.bells.gankokwe":MidiInstrument.Percussion,"metal.bells.ghungroo":MidiInstrument.Percussion,"metal.bells.hatheli":MidiInstrument.Percussion,"metal.bells.jingle-bell":MidiInstrument.Percussion,"metal.bells.khartal":MidiInstrument.Percussion,"metal.bells.mark-tree":MidiInstrument.Percussion,"metal.bells.sistrum":MidiInstrument.Percussion,"metal.bells.sleigh-bells":MidiInstrument.Percussion,"metal.bells.temple":MidiInstrument.Percussion,"metal.bells.tibetan":MidiInstrument.Percussion,"metal.bells.tinklebell":MidiInstrument.Percussion,"metal.bells.trychel":MidiInstrument.Percussion,"metal.bells.wind-chimes":MidiInstrument.Percussion,"metal.bells.zills":MidiInstrument.Percussion,"metal.berimbau":MidiInstrument.Flute,"metal.brake-drums":MidiInstrument.Percussion,"metal.crotales":MidiInstrument.Percussion,"metal.cymbal.bo":MidiInstrument.Percussion,"metal.cymbal.ceng-ceng":MidiInstrument.Percussion,"metal.cymbal.chabara":MidiInstrument.Percussion,"metal.cymbal.chinese":MidiInstrument.Percussion,"metal.cymbal.ching":MidiInstrument.Percussion,"metal.cymbal.clash":MidiInstrument.Percussion,"metal.cymbal.crash":MidiInstrument.Percussion,"metal.cymbal.finger":MidiInstrument.Percussion,"metal.cymbal.hand":MidiInstrument.Percussion,"metal.cymbal.kesi":MidiInstrument.Percussion,"metal.cymbal.manjeera":MidiInstrument.Percussion,"metal.cymbal.reverse":MidiInstrument.Percussion,"metal.cymbal.ride":MidiInstrument.Percussion,"metal.cymbal.sizzle":MidiInstrument.Percussion,"metal.cymbal.splash":MidiInstrument.Percussion,"metal.cymbal.suspended":MidiInstrument.Percussion,"metal.cymbal.tebyoshi":MidiInstrument.Percussion,"metal.cymbal.tibetan":MidiInstrument.Percussion,"metal.cymbal.tingsha":MidiInstrument.Percussion,"metal.flexatone":MidiInstrument.Percussion,"metal.gong":MidiInstrument.Percussion,"metal.gong.ageng":MidiInstrument.Percussion,"metal.gong.agung":MidiInstrument.Percussion,"metal.gong.chanchiki":MidiInstrument.Percussion,"metal.gong.chinese":MidiInstrument.Percussion,"metal.gong.gandingan":MidiInstrument.Percussion,"metal.gong.kempul":MidiInstrument.Percussion,"metal.gong.kempyang":MidiInstrument.Percussion,"metal.gong.ketuk":MidiInstrument.Percussion,"metal.gong.kkwenggwari":MidiInstrument.Percussion,"metal.gong.luo":MidiInstrument.Percussion,"metal.gong.singing":MidiInstrument.Percussion,"metal.gong.thai":MidiInstrument.Percussion,"metal.guira":MidiInstrument.Percussion,"metal.hang":MidiInstrument.Percussion,"metal.hi-hat":MidiInstrument.Percussion,"metal.jaw-harp":MidiInstrument.Percussion,"metal.kengong":MidiInstrument.Percussion,"metal.murchang":MidiInstrument.Percussion,"metal.musical-saw":MidiInstrument.Percussion,"metal.singing-bowl":MidiInstrument.Percussion,"metal.spoons":MidiInstrument.Percussion,"metal.steel-drums":MidiInstrument.Percussion,"metal.tamtam":MidiInstrument.Percussion,"metal.thundersheet":MidiInstrument.Percussion,"metal.triangle":MidiInstrument.Percussion,"metal.washboard":MidiInstrument.Percussion,"pitched-percussion.angklung":MidiInstrument.Xylophone,"pitched-percussion.balafon":MidiInstrument.Xylophone,"pitched-percussion.bell-lyre":MidiInstrument.Xylophone,"pitched-percussion.bells":MidiInstrument.Tubular_Bells,"pitched-percussion.bianqing":MidiInstrument.Xylophone,"pitched-percussion.bianzhong":MidiInstrument.Xylophone,"pitched-percussion.bonang":MidiInstrument.Xylophone,"pitched-percussion.cimbalom":MidiInstrument.Xylophone,"pitched-percussion.crystal-glasses":MidiInstrument.Xylophone,"pitched-percussion.dan-tam-thap-luc":MidiInstrument.Xylophone,"pitched-percussion.fangxiang":MidiInstrument.Xylophone,"pitched-percussion.gandingan-a-kayo":MidiInstrument.Xylophone,"pitched-percussion.gangsa":MidiInstrument.Xylophone,"pitched-percussion.gender":MidiInstrument.Xylophone,"pitched-percussion.giying":MidiInstrument.Xylophone,"pitched-percussion.glass-harmonica":MidiInstrument.Xylophone,"pitched-percussion.glockenspiel":MidiInstrument.Glockenspiel,"pitched-percussion.glockenspiel.alto":MidiInstrument.Glockenspiel,"pitched-percussion.glockenspiel.soprano":MidiInstrument.Glockenspiel,"pitched-percussion.gyil":MidiInstrument.Xylophone,"pitched-percussion.hammer-dulcimer":MidiInstrument.Dulcimer,"pitched-percussion.handbells":MidiInstrument.Tubular_Bells,"pitched-percussion.handchimes":MidiInstrument.Tubular_Bells,"pitched-percussion.kalimba":MidiInstrument.Kalimba,"pitched-percussion.kantil":MidiInstrument.Xylophone,"pitched-percussion.khim":MidiInstrument.Xylophone,"pitched-percussion.kulintang":MidiInstrument.Xylophone,"pitched-percussion.kulintang-a-kayo":MidiInstrument.Xylophone,"pitched-percussion.kulintang-a-tiniok":MidiInstrument.Xylophone,"pitched-percussion.likembe":MidiInstrument.Xylophone,"pitched-percussion.luntang":MidiInstrument.Xylophone,"pitched-percussion.marimba":MidiInstrument.Marimba,"pitched-percussion.marimba.bass":MidiInstrument.Marimba,"pitched-percussion.mbira":MidiInstrument.Marimba,"pitched-percussion.mbira.array":MidiInstrument.Marimba,"pitched-percussion.metallophone":MidiInstrument.Xylophone,"pitched-percussion.metallophone.alto":MidiInstrument.Xylophone,"pitched-percussion.metallophone.bass":MidiInstrument.Xylophone,"pitched-percussion.metallophone.soprano":MidiInstrument.Xylophone,"pitched-percussion.music-box":MidiInstrument.Glockenspiel,"pitched-percussion.pelog-panerus":MidiInstrument.Xylophone,"pitched-percussion.pemade":MidiInstrument.Xylophone,"pitched-percussion.penyacah":MidiInstrument.Xylophone,"pitched-percussion.ranat.ek":MidiInstrument.Xylophone,"pitched-percussion.ranat.ek-lek":MidiInstrument.Xylophone,"pitched-percussion.ranat.thum":MidiInstrument.Xylophone,"pitched-percussion.ranat.thum-lek":MidiInstrument.Xylophone,"pitched-percussion.reyong":MidiInstrument.Xylophone,"pitched-percussion.sanza":MidiInstrument.Xylophone,"pitched-percussion.saron-barung":MidiInstrument.Xylophone,"pitched-percussion.saron-demong":MidiInstrument.Xylophone,"pitched-percussion.saron-panerus":MidiInstrument.Xylophone,"pitched-percussion.slendro-panerus":MidiInstrument.Xylophone,"pitched-percussion.slentem":MidiInstrument.Xylophone,"pitched-percussion.tsymbaly":MidiInstrument.Xylophone,"pitched-percussion.tubes":MidiInstrument.Tubular_Bells,"pitched-percussion.tubular-bells":MidiInstrument.Tubular_Bells,"pitched-percussion.vibraphone":MidiInstrument.Vibraphone,"pitched-percussion.xylophone":MidiInstrument.Xylophone,"pitched-percussion.xylophone.alto":MidiInstrument.Xylophone,"pitched-percussion.xylophone.bass":MidiInstrument.Xylophone,"pitched-percussion.xylophone.soprano":MidiInstrument.Xylophone,"pitched-percussion.xylorimba":MidiInstrument.Xylophone,"pitched-percussion.yangqin":MidiInstrument.Xylophone,"pluck.archlute":MidiInstrument.Acoustic_Guitar_nylon,"pluck.autoharp":MidiInstrument.Orchestral_Harp,"pluck.baglama":MidiInstrument.Orchestral_Harp,"pluck.bajo":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.alto":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.bass":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.contrabass":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.piccolo":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.prima":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.secunda":MidiInstrument.Acoustic_Guitar_steel,"pluck.bandola":MidiInstrument.Acoustic_Guitar_steel,"pluck.bandura":MidiInstrument.Acoustic_Guitar_steel,"pluck.bandurria":MidiInstrument.Acoustic_Guitar_steel,"pluck.banjo":MidiInstrument.Banjo,"pluck.banjo.tenor":MidiInstrument.Banjo,"pluck.banjolele":MidiInstrument.Banjo,"pluck.barbat":MidiInstrument.Acoustic_Guitar_steel,"pluck.bass":MidiInstrument.Electric_Bass_finger,"pluck.bass.acoustic":MidiInstrument.Acoustic_Bass,"pluck.bass.bolon":MidiInstrument.Electric_Bass_finger,"pluck.bass.electric":MidiInstrument.Electric_Bass_finger,"pluck.bass.fretless":MidiInstrument.Fretless_Bass,"pluck.bass.guitarron":MidiInstrument.Acoustic_Bass,"pluck.bass.synth":MidiInstrument.Synth_Bass_1,"pluck.bass.synth.lead":MidiInstrument.Synth_Bass_2,"pluck.celtic-harp":MidiInstrument.Orchestral_Harp,"pluck.charango":MidiInstrument.Acoustic_Guitar_nylon,"pluck.chitarra-battente":MidiInstrument.Acoustic_Guitar_nylon,"pluck.cithara":MidiInstrument.Acoustic_Guitar_nylon,"pluck.cittern":MidiInstrument.Acoustic_Guitar_nylon,"pluck.cuatro":MidiInstrument.Acoustic_Guitar_nylon,"pluck.dulcimer":MidiInstrument.Dulcimer,"pluck.dutar":MidiInstrument.Acoustic_Grand_Piano,"pluck.duxianqin":MidiInstrument.Dulcimer,"pluck.ektara":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.acoustic":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.electric":MidiInstrument.Electric_Guitar_clean,"pluck.guitar.nylon-string":MidiInstrument.Electric_Guitar_clean,"pluck.guitar.pedal-steel":MidiInstrument.Electric_Guitar_clean,"pluck.guitar.portuguese":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.requinto":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.resonator":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.steel-string":MidiInstrument.Acoustic_Guitar_steel,"pluck.harp":MidiInstrument.Orchestral_Harp,"pluck.harp-guitar":MidiInstrument.Orchestral_Harp,"pluck.huapanguera":MidiInstrument.Orchestral_Harp,"pluck.lute":MidiInstrument.Acoustic_Grand_Piano,"pluck.lyre":MidiInstrument.Orchestral_Harp,"pluck.mandobass":MidiInstrument.Acoustic_Guitar_nylon,"pluck.mandocello":MidiInstrument.Acoustic_Guitar_nylon,"pluck.mandola":MidiInstrument.Acoustic_Guitar_nylon,"pluck.mandolin":MidiInstrument.Acoustic_Guitar_nylon,"pluck.mandolin.octave":MidiInstrument.Acoustic_Guitar_nylon,"pluck.setar":MidiInstrument.Acoustic_Guitar_nylon,"pluck.shamisen":MidiInstrument.Shamisen,"pluck.sitar":MidiInstrument.Sitar,"pluck.synth":MidiInstrument.Electric_Bass_pick,"pluck.synth.charang":MidiInstrument.Electric_Bass_pick,"pluck.synth.chiff":MidiInstrument.Electric_Bass_pick,"pluck.synth.stick":MidiInstrument.Electric_Bass_pick,"pluck.tambura":MidiInstrument.Acoustic_Grand_Piano,"pluck.ukulele":MidiInstrument.Banjo,"pluck.ukulele.tenor":MidiInstrument.Banjo,"strings.arpeggione":MidiInstrument.Cello,"strings.cello":MidiInstrument.Cello,"strings.cello.piccolo":MidiInstrument.Cello,"strings.contrabass":MidiInstrument.Contrabass,"strings.fiddle":MidiInstrument.Fiddle,"strings.fiddle.hardanger":MidiInstrument.Fiddle,"strings.group":MidiInstrument.String_Ensemble_1,"strings.group.synth":MidiInstrument.Synth_Strings_1,"strings.octobass":MidiInstrument.Contrabass,"strings.tromba-marina":MidiInstrument.Contrabass,"strings.vielle":MidiInstrument.Violin,"strings.viol":MidiInstrument.Violin,"strings.viol.alto":MidiInstrument.Violin,"strings.viol.bass":MidiInstrument.Violin,"strings.viol.tenor":MidiInstrument.Violin,"strings.viol.treble":MidiInstrument.Violin,"strings.viol.violone":MidiInstrument.Violin,"strings.viola":MidiInstrument.Viola,"strings.viola-damore":MidiInstrument.Viola,"strings.violin":MidiInstrument.Violin,"strings.violono.piccolo":MidiInstrument.Violin,"strings.violotta":MidiInstrument.Viola,"synth.group":MidiInstrument.Pad_3_polysynth,"synth.group.fifths":MidiInstrument.Pad_3_polysynth,"synth.group.orchestra":MidiInstrument.Orchestra_Hit,"synth.pad":MidiInstrument.Pad_1_new_age,"synth.pad.bowed":MidiInstrument.Pad_1_new_age,"synth.pad.choir":MidiInstrument.Pad_4_choir,"synth.pad.halo":MidiInstrument.Acoustic_Grand_Piano,"synth.pad.polysynth":MidiInstrument.Pad_3_polysynth,"voice.alto":MidiInstrument.Voice_Oohs,"voice.baritone":MidiInstrument.Voice_Oohs,"voice.bass":MidiInstrument.Voice_Oohs,"voice.female":MidiInstrument.Synth_Voice,"voice.kazoo":MidiInstrument.Flute,"voice.male":MidiInstrument.Voice_Oohs,"voice.mezzo-soprano":MidiInstrument.Voice_Oohs,"voice.soprano":MidiInstrument.Voice_Oohs,"voice.synth":MidiInstrument.Synth_Voice,"voice.tenor":MidiInstrument.Voice_Oohs,"voice.vocals":MidiInstrument.Choir_Aahs,"wind.flutes.flute":MidiInstrument.Flute,"wind.flutes.flute.alto":MidiInstrument.Flute,"wind.flutes.flute.bass":MidiInstrument.Flute,"wind.flutes.flute.contra-alto":MidiInstrument.Flute,"wind.flutes.flute.contrabass":MidiInstrument.Flute,"wind.flutes.flute.double-contrabass":MidiInstrument.Flute,"wind.flutes.flute.irish":MidiInstrument.Flute,"wind.flutes.flute.piccolo":MidiInstrument.Piccolo,"wind.flutes.flute.subcontrabass":MidiInstrument.Flute,"wind.flutes.ocarina":MidiInstrument.Ocarina,"wind.flutes.panpipes":MidiInstrument.Pan_Flute,"wind.flutes.recorder":MidiInstrument.Acoustic_Grand_Piano,"wind.flutes.recorder.alto":MidiInstrument.Recorder,"wind.flutes.recorder.bass":MidiInstrument.Recorder,"wind.flutes.recorder.contrabass":MidiInstrument.Recorder,"wind.flutes.recorder.descant":MidiInstrument.Recorder,"wind.flutes.recorder.garklein":MidiInstrument.Recorder,"wind.flutes.recorder.great-bass":MidiInstrument.Recorder,"wind.flutes.recorder.sopranino":MidiInstrument.Recorder,"wind.flutes.recorder.soprano":MidiInstrument.Recorder,"wind.flutes.recorder.tenor":MidiInstrument.Recorder,"wind.flutes.shakuhachi":MidiInstrument.Shakuhachi,"wind.flutes.whistle":MidiInstrument.Whistle,"wind.flutes.whistle.alto":MidiInstrument.Whistle,"wind.flutes.whistle.low-irish":MidiInstrument.Whistle,"wind.flutes.whistle.shiva":MidiInstrument.Whistle,"wind.flutes.whistle.slide":MidiInstrument.Whistle,"wind.flutes.whistle.tin":MidiInstrument.Whistle,"wind.flutes.whistle.tin.bflat":MidiInstrument.Whistle,"wind.flutes.whistle.tin.c":MidiInstrument.Whistle,"wind.flutes.whistle.tin.d":MidiInstrument.Whistle,"wind.group":MidiInstrument.Flute,"wind.pipes.bagpipes":MidiInstrument.Bag_pipe,"wind.reed.basset-horn":MidiInstrument.Bassoon,"wind.reed.bassoon":MidiInstrument.Bassoon,"wind.reed.bombarde":MidiInstrument.Bassoon,"wind.reed.clarinet":MidiInstrument.Clarinet,"wind.reed.clarinet.a":MidiInstrument.Clarinet,"wind.reed.clarinet.alto":MidiInstrument.Clarinet,"wind.reed.clarinet.bass":MidiInstrument.Clarinet,"wind.reed.clarinet.basset":MidiInstrument.Clarinet,"wind.reed.clarinet.bflat":MidiInstrument.Clarinet,"wind.reed.clarinet.contra-alto":MidiInstrument.Clarinet,"wind.reed.clarinet.contrabass":MidiInstrument.Clarinet,"wind.reed.clarinet.d":MidiInstrument.Clarinet,"wind.reed.clarinet.eflat":MidiInstrument.Clarinet,"wind.reed.clarinet.g":MidiInstrument.Clarinet,"wind.reed.clarinet.piccolo":MidiInstrument.Clarinet,"wind.reed.clarinet.piccolo.aflat":MidiInstrument.Clarinet,"wind.reed.clarinette-damour":MidiInstrument.Clarinet,"wind.reed.contrabass":MidiInstrument.Clarinet,"wind.reed.contrabassoon":MidiInstrument.Clarinet,"wind.reed.cornamuse":MidiInstrument.Bag_pipe,"wind.reed.english-horn":MidiInstrument.English_Horn,"wind.reed.harmonica":MidiInstrument.Harmonica,"wind.reed.harmonica.bass":MidiInstrument.Harmonica,"wind.reed.oboe":MidiInstrument.Oboe,"wind.reed.oboe.bass":MidiInstrument.Oboe,"wind.reed.oboe.piccolo":MidiInstrument.Oboe,"wind.reed.oboe-da-caccia":MidiInstrument.Oboe,"wind.reed.oboe-damore":MidiInstrument.Oboe,"wind.reed.saxonette":MidiInstrument.Soprano_Sax,"wind.reed.saxophone":MidiInstrument.Alto_Sax,"wind.reed.saxophone.alto":MidiInstrument.Alto_Sax,"wind.reed.saxophone.aulochrome":MidiInstrument.Alto_Sax,"wind.reed.saxophone.baritone":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.bass":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.contrabass":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.melody":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.mezzo-soprano":MidiInstrument.Alto_Sax,"wind.reed.saxophone.sopranino":MidiInstrument.Soprano_Sax,"wind.reed.saxophone.sopranissimo":MidiInstrument.Soprano_Sax,"wind.reed.saxophone.soprano":MidiInstrument.Soprano_Sax,"wind.reed.saxophone.subcontrabass":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.tenor":MidiInstrument.Tenor_Sax,"wood.bones":MidiInstrument.Woodblock,"wood.castanets":MidiInstrument.Woodblock,"wood.claves":MidiInstrument.Woodblock,"wood.drum-sticks":MidiInstrument.Woodblock,"wood.gourd":MidiInstrument.Woodblock,"wood.granite-block":MidiInstrument.Woodblock,"wood.guban":MidiInstrument.Woodblock,"wood.guiro":MidiInstrument.Woodblock,"wood.hyoushigi":MidiInstrument.Woodblock,"wood.ipu":MidiInstrument.Woodblock,"wood.jam-block":MidiInstrument.Woodblock,"wood.kaekeeke":MidiInstrument.Woodblock,"wood.kagul":MidiInstrument.Woodblock,"wood.kalaau":MidiInstrument.Woodblock,"wood.kashiklar":MidiInstrument.Woodblock,"wood.kubing":MidiInstrument.Woodblock,"wood.pan-clappers":MidiInstrument.Woodblock,"wood.sand-block":MidiInstrument.Woodblock,"wood.slapstick":MidiInstrument.Woodblock,"wood.stir-drum":MidiInstrument.Woodblock,"wood.temple-block":MidiInstrument.Woodblock,"wood.tic-toc-block":MidiInstrument.Woodblock,"wood.tonetang":MidiInstrument.Woodblock,"wood.wood-block":MidiInstrument.Woodblock};class SubInstrument{constructor(e){this.parentInstrument=e,this.fixedKey=-1,this.name=this.parseMidiInstrument(this.parentInstrument.Name),this.midiInstrumentID=InstrumentNames.MidiInstrument[this.name],this.volume=1}get ParentInstrument(){return this.parentInstrument}static isPianoInstrument(e){return e===MidiInstrument.Acoustic_Grand_Piano||e===MidiInstrument.Bright_Acoustic_Piano||e===MidiInstrument.Electric_Grand_Piano||e===MidiInstrument.Electric_Piano_1||e===MidiInstrument.Electric_Piano_2}setMidiInstrumentSound(e){this.midiInstrumentID=InstrumentNames.MidiInstrumentSounds[e]}setMidiInstrument(e){this.midiInstrumentID=InstrumentNames.MidiInstrument[this.parseMidiInstrument(e)]}parseMidiInstrument(e){try{if(e){const r=e.toLowerCase().trim();for(const s in InstrumentNames.MidiInstrument)if(r.indexOf(s)!==-1)return s}if(this.parentInstrument.Name){const r=this.parentInstrument.Name.toLowerCase().trim();for(const s in InstrumentNames.MidiInstrument)if(r.indexOf(s)!==-1)return s}}catch(r){loglevelExports.error("Error parsing MIDI Instrument. Default to Grand Piano.")}return"unnamed"}}class StringUtil{static StringContainsSeparatedWord(e,r,s=!1){return new RegExp("( |^)"+r+"([ .]|$)",s?"i":void 0).test(e)}}class RepetitionInstructionReader{set MusicSheet(e){this.musicSheet=e,this.xmlMeasureList=new Array(this.musicSheet.Instruments.length),this.repetitionInstructions=[]}prepareReadingMeasure(e,r){this.currentMeasureIndex=r}handleLineRepetitionInstructions(e){let r=!1;if(e.elements().length>0){let s="",o=!1,a="",l="",c="";const u=[],d=e.element("bar-style");d&&(c=d.value),e.attributes().length>0&&e.attribute("location")?s=e.attribute("location").value:s="right";const g=e.elements();for(let m=0,y=g.length;m0)if(s==="left"){if(l==="start"){const m=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Ending,AlignmentType.Begin,void 0,u);this.addInstruction(this.repetitionInstructions,m)}if(a==="forward"){const m=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.StartLine);this.addInstruction(this.repetitionInstructions,m)}}else{if(l==="stop"){const m=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Ending,AlignmentType.End,void 0,u);this.addInstruction(this.repetitionInstructions,m)}if(a==="backward"){const m=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.BackJumpLine);this.addInstruction(this.repetitionInstructions,m)}}}return r}handleRepetitionInstructionsFromWordsOrSymbols(e,r){const s=e.element("words"),o=this.currentMeasureIndex;if(s){const a="d\\s?\\.s\\.",l=s.value.trim().toLowerCase();if(StringUtil.StringContainsSeparatedWord(l,a+" al fine",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.DalSegnoAlFine);return this.addInstruction(this.repetitionInstructions,u),!0}if(StringUtil.StringContainsSeparatedWord(l,a+" al coda",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.DalSegnoAlCoda);return this.addInstruction(this.repetitionInstructions,u),!0}const c="d\\.\\s?c\\.";if(StringUtil.StringContainsSeparatedWord(l,c+" al fine",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.DaCapoAlFine);return this.addInstruction(this.repetitionInstructions,u),!0}if(StringUtil.StringContainsSeparatedWord(l,c+" al coda",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.DaCapoAlCoda);return this.addInstruction(this.repetitionInstructions,u),!0}if(StringUtil.StringContainsSeparatedWord(l,c)||StringUtil.StringContainsSeparatedWord(l,"da\\s?capo",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.DaCapo);return this.addInstruction(this.repetitionInstructions,u),!0}if(StringUtil.StringContainsSeparatedWord(l,a,!0)||StringUtil.StringContainsSeparatedWord(l,"dal\\s?segno",!0)){let u;return StringUtil.StringContainsSeparatedWord(l,"al\\s?coda",!0)?u=new RepetitionInstruction(o,RepetitionInstructionEnum.DalSegnoAlCoda):u=new RepetitionInstruction(o,RepetitionInstructionEnum.DalSegno),this.addInstruction(this.repetitionInstructions,u),!0}if(StringUtil.StringContainsSeparatedWord(l,"to\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(l,"a (la )?coda",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.ToCoda);return this.addInstruction(this.repetitionInstructions,u),!0}if(StringUtil.StringContainsSeparatedWord(l,"fine",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.Fine);return this.addInstruction(this.repetitionInstructions,u),!0}if(StringUtil.StringContainsSeparatedWord(l,"coda",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.Coda);return this.addInstruction(this.repetitionInstructions,u),!0}if(StringUtil.StringContainsSeparatedWord(l,"segno",!0)){const u=new RepetitionInstruction(o,RepetitionInstructionEnum.Segno);return this.addInstruction(this.repetitionInstructions,u),!0}}else if(e.element("segno")){const a=new RepetitionInstruction(o,RepetitionInstructionEnum.Segno);return this.addInstruction(this.repetitionInstructions,a),!0}else if(e.element("coda")){const a=new RepetitionInstruction(o,RepetitionInstructionEnum.Coda);return this.addInstruction(this.repetitionInstructions,a),!0}return!1}removeRedundantInstructions(){let e=0,r=0,s=0,o=0;for(let a=0;a0&&this.findInstructionInPreviousMeasure(a,l.measureIndex,RepetitionInstructionEnum.ToCoda)&&(l.type=RepetitionInstructionEnum.None),r===0&&s===0&&(l.type=RepetitionInstructionEnum.ToCoda,l.alignment=AlignmentType.End,l.measureIndex--);break;case RepetitionInstructionEnum.Segno:if(e-o>0){let c=!1;for(let u=0,d=this.repetitionInstructions.length;u0?g.type=RepetitionInstructionEnum.DalSegnoAlCoda:g.type=RepetitionInstructionEnum.DalSegno,l.type=RepetitionInstructionEnum.None,c=!0;break;case RepetitionInstructionEnum.DalSegno:case RepetitionInstructionEnum.DalSegnoAlFine:case RepetitionInstructionEnum.DalSegnoAlCoda:l.type=RepetitionInstructionEnum.None,c=!0;break}if(c)break}if(c)break;s-r>0?l.type=RepetitionInstructionEnum.DalSegnoAlCoda:l.type=RepetitionInstructionEnum.DalSegno,l.alignment=AlignmentType.End,l.measureIndex--}break}if(this.backwardSearchForPreviousIdenticalInstruction(a,l)||l.type===RepetitionInstructionEnum.None)this.repetitionInstructions.splice(a,1),a--;else switch(l.type){case RepetitionInstructionEnum.Fine:break;case RepetitionInstructionEnum.ToCoda:s++;break;case RepetitionInstructionEnum.Coda:r++;break;case RepetitionInstructionEnum.Segno:e++;break;case RepetitionInstructionEnum.DalSegnoAlFine:case RepetitionInstructionEnum.DalSegnoAlCoda:o++;break}}this.repetitionInstructions.sort(RepetitionInstructionComparer.Compare)}findInstructionInPreviousMeasure(e,r,s){for(let o=e-1;o>=0;o--){const a=this.repetitionInstructions[o];if(r-a.measureIndex===1&&a.type===s)return!0}return!1}backwardSearchForPreviousIdenticalInstruction(e,r){for(let s=e-1;s>=0;s--)if(this.repetitionInstructions[s].equals(r))return!0;return!1}addInstruction(e,r){let s=!0;for(let o=0,a=e.length;o0;)try{const u=this.openRepetitions.last();if(u.RepetitonUnderConstruction.FromWords){if(u.WaitingForCoda){let d=u.RepetitonUnderConstruction.BackwardJumpInstructions.last().measureIndex+1;d>=this.musicSheet.SourceMeasures.length&&(d=-1),u.RepetitonUnderConstruction.setEndingStartIndex(2,d)}else if(u.RepetitonUnderConstruction.BackwardJumpInstructions.length===0){this.openRepetitions.splice(this.openRepetitions.length-1,1);continue}}else if(u.RepetitonUnderConstruction.BackwardJumpInstructions.length===0){const d=o.length-1,g=new RepetitionInstruction(d,RepetitionInstructionEnum.BackJumpLine,AlignmentType.End,u.RepetitonUnderConstruction);u.RepetitonUnderConstruction.BackwardJumpInstructions.push(g),o[d].LastRepetitionInstructions.push(g)}this.finalizeRepetition(this.openRepetitions.last())}catch(u){try{const d=this.openRepetitions.last().RepetitonUnderConstruction;for(const g of this.repetitionInstructions)g.parentRepetition===d&&(g.parentRepetition=void 0);this.openRepetitions.splice(this.openRepetitions.length-1,1)}catch(d){loglevelExports.error("RepetitionCalculator: calculateRepetitions2",d)}}let a=!1;const l=0,c=this.musicSheet.SourceMeasures.length-1;for(const u of this.musicSheet.Repetitions)if(u.StartIndex===l&&u.EndIndex===c){a=!0;break}if(!a){const u=new Repetition(this.musicSheet,!0);u.FromWords=!0,u.startMarker=new RepetitionInstruction(l,RepetitionInstructionEnum.StartLine),u.startMarker.parentRepetition=u,this.musicSheet.SourceMeasures[l].FirstRepetitionInstructions.push(u.startMarker),u.endMarker=new RepetitionInstruction(c,RepetitionInstructionEnum.BackJumpLine),u.endMarker.parentRepetition=u,u.BackwardJumpInstructions.push(u.endMarker),u.UserNumberOfRepetitions=u.DefaultNumberOfRepetitions,this.musicSheet.Repetitions.push(u)}for(let u=0,d=this.musicSheet.SourceMeasures.length;u1&&g.FirstRepetitionInstructions.sort(RepetitionInstructionComparer.Compare),g.LastRepetitionInstructions.length>1&&g.LastRepetitionInstructions.sort(RepetitionInstructionComparer.Compare)}}handleRepetitionInstructions(e){var s,o,a,l,c,u,d;let r;switch(e.type){case RepetitionInstructionEnum.StartLine:r=this.createNewRepetition(this.currentMeasureIndex),e.parentRepetition=r.RepetitonUnderConstruction,r.RepetitonUnderConstruction.FromWords=!1,r.RepetitonUnderConstruction.startMarker=e,(s=this.currentMeasure)==null||s.FirstRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.BackJumpLine:r=this.getOrCreateCurrentRepetition2(!1),e.parentRepetition=r.RepetitonUnderConstruction,r.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),(o=this.currentMeasure)==null||o.LastRepetitionInstructions.push(e),r.RepetitonUnderConstruction.EndingParts.length===0&&this.finalizeRepetition(r);break;case RepetitionInstructionEnum.Ending:if(r=this.getOrCreateCurrentRepetition(),e.parentRepetition=r.RepetitonUnderConstruction,e.endingIndices.contains(1)&&e.alignment===AlignmentType.Begin){if(r.RepetitonUnderConstruction.BackwardJumpInstructions.length>0||r.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)){r=void 0;for(let m=this.openRepetitions.length-1;m>=0;m--){const y=this.openRepetitions[m];if(y.RepetitonUnderConstruction.BackwardJumpInstructions.length===0)for(r=y;this.openRepetitions.length-1>m;){const b=this.openRepetitions.last();this.finalizeRepetition(b)}}r===void 0&&(r=this.createNewRepetition(0),r.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None))}r.RepetitonUnderConstruction.forwardJumpInstruction===void 0&&(r.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(this.currentMeasureIndex-1,RepetitionInstructionEnum.ForwardJump,AlignmentType.End,r.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[this.currentMeasureIndex-1].LastRepetitionInstructions.push(r.RepetitonUnderConstruction.forwardJumpInstruction))}if(e.alignment===AlignmentType.Begin)r.RepetitonUnderConstruction.setEndingsStartIndex(e.endingIndices,this.currentMeasureIndex),(a=this.currentMeasure)==null||a.FirstRepetitionInstructions.push(e);else for(let m=0,y=e.endingIndices.length;m0&&Math.abs(r.RepetitonUnderConstruction.BackwardJumpInstructions.last().measureIndex-this.currentMeasureIndex)<=1||this.openRepetitions.length&&((d=(u=(c=this.openRepetitions)==null?void 0:c.find(m=>m.RepetitonUnderConstruction.startMarker.type===RepetitionInstructionEnum.StartLine))==null?void 0:u.RepetitonUnderConstruction)==null?void 0:d.StartIndex)===this.currentMeasureIndex)break;r=this.createNewRepetition(this.currentMeasureIndex),e.parentRepetition=r.RepetitonUnderConstruction,r.RepetitonUnderConstruction.FromWords=!0,r.SegnoFound=!0,r.RepetitonUnderConstruction.startMarker=e,this.currentMeasure.FirstRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.Fine:if(this.openRepetitions.length===0||(r=this.getCurrentRepetition(!0),r===void 0))break;e.parentRepetition=r.RepetitonUnderConstruction,r.RepetitonUnderConstruction.FromWords=!0,r.RepetitonUnderConstruction.forwardJumpInstruction===void 0?(r.FineFound=!0,r.RepetitonUnderConstruction.forwardJumpInstruction=e,r.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.currentMeasure.LastRepetitionInstructions.push(e)):this.currentMeasure.LastRepetitionInstructions.push(new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Fine,AlignmentType.End,void 0));break;case RepetitionInstructionEnum.ToCoda:if(this.openRepetitions.length===0||(r=this.getCurrentRepetition(!0),r===void 0))break;r.RepetitonUnderConstruction.forwardJumpInstruction===void 0&&(e.parentRepetition=r.RepetitonUnderConstruction,r.RepetitonUnderConstruction.FromWords=!0,r.ToCodaFound=!0,r.RepetitonUnderConstruction.forwardJumpInstruction=e,this.currentMeasure.LastRepetitionInstructions.push(e));break;case RepetitionInstructionEnum.Coda:if(this.openRepetitions.length===0)break;r=this.getOrCreateCurrentRepetition2(!0),e.parentRepetition=r.RepetitonUnderConstruction,r.WaitingForCoda?(r.CodaFound=!0,r.RepetitonUnderConstruction.setEndingStartIndex(2,this.currentMeasureIndex),this.currentMeasure.LastRepetitionInstructions.push(e),this.finalizeRepetition(r),this.currentMeasureIndex>0&&(this.musicSheet.SourceMeasures[this.currentMeasureIndex-1].printNewSystemXml=!0)):r.ToCodaFound||(r.RepetitonUnderConstruction.BackwardJumpInstructions.length===0?(r.ToCodaFound=!0,r.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.ToCoda,AlignmentType.End,r.RepetitonUnderConstruction),this.currentMeasure.LastRepetitionInstructions.push(r.RepetitonUnderConstruction.forwardJumpInstruction)):this.currentMeasure.LastRepetitionInstructions.push(new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Coda,AlignmentType.Begin,void 0)));break;case RepetitionInstructionEnum.DaCapo:r=this.getOrCreateCurrentRepetition(),r.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&this.finalizeRepetition(r),r.RepetitonUnderConstruction.StartIndex!==0&&(r=this.createNewRepetition(0)),e.parentRepetition=r.RepetitonUnderConstruction,r.RepetitonUnderConstruction.FromWords=!0,r.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,r.RepetitonUnderConstruction),r.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e),r.RepetitonUnderConstruction.EndingParts.length===0&&this.finalizeRepetition(r);break;case RepetitionInstructionEnum.DalSegno:if(r=this.getOrCreateCurrentRepetition2(!0),r.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&(this.finalizeRepetition(r),r=this.createNewRepetition(0),r.RepetitonUnderConstruction.FromWords=!0,r.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,r.RepetitonUnderConstruction)),e.parentRepetition=r.RepetitonUnderConstruction,!r.SegnoFound){const m=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,e.measureIndex);m>=0&&(r.SegnoFound=!0,r.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(m,RepetitionInstructionEnum.Segno,AlignmentType.Begin,r.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[m].FirstRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.startMarker))}r.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)&&r.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),r.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.DalSegnoAlFine:if(this.openRepetitions.length===0)break;if(r=this.getOrCreateCurrentRepetition2(!0),e.parentRepetition=r.RepetitonUnderConstruction,!r.SegnoFound){const m=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,e.measureIndex);m>=0&&(r.SegnoFound=!0,r.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(m,RepetitionInstructionEnum.Segno,AlignmentType.Begin,r.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[m].FirstRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.startMarker))}if(!r.FineFound){const m=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Fine,e.measureIndex);m>=0&&(r.FineFound=!0,r.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(m,RepetitionInstructionEnum.Fine,AlignmentType.Begin,r.RepetitonUnderConstruction),r.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.musicSheet.SourceMeasures[m].LastRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.forwardJumpInstruction))}r.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||r.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),r.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.DaCapoAlFine:if(r=this.getOrCreateCurrentRepetition(),r.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&(this.finalizeRepetition(r),r=this.createNewRepetition(0)),r.RepetitonUnderConstruction.startMarker!==void 0&&r.RepetitonUnderConstruction.StartIndex!==0&&(r=this.createNewRepetition(0)),r.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,r.RepetitonUnderConstruction),r.RepetitonUnderConstruction.FromWords=!0,e.parentRepetition=r.RepetitonUnderConstruction,!r.FineFound){const m=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Fine,e.measureIndex);m>=0&&(r.FineFound=!0,r.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(m,RepetitionInstructionEnum.Fine,AlignmentType.Begin,r.RepetitonUnderConstruction),r.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.musicSheet.SourceMeasures[m].LastRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.forwardJumpInstruction))}r.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||r.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),r.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.DalSegnoAlCoda:if(this.openRepetitions.length===0)break;if(r=this.getOrCreateCurrentRepetition2(!0),e.parentRepetition=r.RepetitonUnderConstruction,!r.SegnoFound){const m=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,e.measureIndex);m>=0&&(r.SegnoFound=!0,r.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(m,RepetitionInstructionEnum.Segno,AlignmentType.Begin,r.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[m].FirstRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.startMarker))}if(!r.ToCodaFound){const m=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.ToCoda,e.measureIndex);if(m>=0)r.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(m,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,r.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[m].LastRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.forwardJumpInstruction),r.ToCodaFound=!0;else{const y=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Coda,e.measureIndex);y>=0&&(r.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(y,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,r.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[y].LastRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.forwardJumpInstruction),r.ToCodaFound=!0)}}r.ToCodaFound&&(r.WaitingForCoda=!0),r.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||r.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),r.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.DaCapoAlCoda:if(r=this.getOrCreateCurrentRepetition(),r.RepetitonUnderConstruction.BackwardJumpInstructions.length>0?(this.finalizeRepetition(r),r=this.createNewRepetition(0)):r.RepetitonUnderConstruction.EndingParts.length===0&&(this.finalizeRepetition(r),r=this.createNewRepetition(0)),r.RepetitonUnderConstruction.startMarker!==void 0&&r.RepetitonUnderConstruction.StartIndex!==0&&(r=this.createNewRepetition(0)),r.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,r.RepetitonUnderConstruction),r.RepetitonUnderConstruction.FromWords=!0,e.parentRepetition=r.RepetitonUnderConstruction,!r.ToCodaFound){const m=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.ToCoda,e.measureIndex);if(m>=0)r.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(m,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,r.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[m].LastRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.forwardJumpInstruction),r.ToCodaFound=!0;else{const y=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Coda,e.measureIndex);y>=0&&(r.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(y,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,r.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[y].LastRepetitionInstructions.splice(0,0,r.RepetitonUnderConstruction.forwardJumpInstruction),r.ToCodaFound=!0)}}r.ToCodaFound&&(r.WaitingForCoda=!0),r.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||r.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),r.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.None:break;default:throw new ArgumentOutOfRangeException("currentRepetitionInstruction")}return!0}findInstructionInMainListBackwards(e,r){for(let s=this.repetitionInstructions.length-1;s>=0;s--){const o=this.repetitionInstructions[s];if(o.measureIndex<=r&&o.type===e)return o.measureIndex}return-1}finalizeRepetition(e){const r=e.RepetitonUnderConstruction;if(r.BackwardJumpInstructions.length>0){let s=!0;const o=this.getLastFinalizedRepetition();if(o!==void 0&&r.coversIdenticalMeasures(o)){if(r.NumberOfEndings>o.NumberOfEndings){const a=this.musicSheet.Repetitions.indexOf(o,0);a>-1&&this.musicSheet.Repetitions.splice(a,1),o.removeFromRepetitionInstructions(),this.musicSheet.Repetitions.push(r)}s=!1,r.removeFromRepetitionInstructions()}else this.musicSheet.Repetitions.push(r);if(s){r.startMarker.type===RepetitionInstructionEnum.None&&this.musicSheet.SourceMeasures[r.StartIndex].FirstRepetitionInstructions.push(r.startMarker),console.log("设置循环次数3",window==null?void 0:window.DYCustomRepeatCount,this.rules.DYCustomRepeatCount,r.DefaultNumberOfRepetitions);const a=(window==null?void 0:window.DYCustomRepeatCount)>r.DefaultNumberOfRepetitions?window==null?void 0:window.DYCustomRepeatCount:r.DefaultNumberOfRepetitions;r.UserNumberOfRepetitions=a||this.rules.DYCustomRepeatCount||r.DefaultNumberOfRepetitions}}this.openRepetitions.splice(this.openRepetitions.length-1,1)}getCurrentRepetition(e){let r;for(let s=this.openRepetitions.length-1;s>=0;s--)if(this.openRepetitions[s].RepetitonUnderConstruction.FromWords===e){for(r=this.openRepetitions[s];s0)return this.openRepetitions.last();const e=this.createNewRepetition(0);return e.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,e.RepetitonUnderConstruction),e}getOrCreateCurrentRepetition2(e){let r;if(this.openRepetitions.length&&this.openRepetitions.last().RepetitonUnderConstruction.EndingParts.length<2){for(let o=this.openRepetitions.length-1;o>=0;o--)if(r=this.openRepetitions[o],r.RepetitonUnderConstruction.FromWords===e){for(;o0){const s=this.openRepetitions.last(),o=s.RepetitonUnderConstruction;if(o.BackwardJumpInstructions.length>0){const a=Object.keys(o.EndingIndexDict);(a.length===0||o.EndingIndexDict[a[a.length-1]].part.EndIndex>=0)&&this.finalizeRepetition(s)}}const r=new RepetitionBuildingContainer(this.musicSheet);return this.lastRepetitionCommonPartStartIndex=e,this.openRepetitions.push(r),r}getLastFinalizedRepetition(){if(this.musicSheet.Repetitions.length>0)return this.musicSheet.Repetitions.last()}}class RepetitionBuildingContainer{constructor(e){this.RepetitonUnderConstruction=new Repetition(e)}}class MusicSymbolModuleFactory{static createRepetitionInstructionReader(){return new RepetitionInstructionReader}static createRepetitionCalculator(){return new RepetitionCalculator}}class ReaderPluginManager{constructor(){this.voiceMeasureReadPlugins=[]}addVoiceMeasureReadPlugin(e){this.voiceMeasureReadPlugins.push(e)}processVoiceMeasureReadPlugins(e,r,s){for(const o of this.voiceMeasureReadPlugins)try{o.measureReadCalculations(e,r,s)}catch(a){loglevelExports.info("VoiceGenerator.addSingleNote: ",a)}}}class MusicSheetReader{constructor(e=void 0,r=new EngravingRules){this.completeNumberOfStaves=0,this.pluginManager=new ReaderPluginManager,e?this.afterSheetReadingModules=e:this.afterSheetReadingModules=[],this.repetitionInstructionReader=MusicSymbolModuleFactory.createRepetitionInstructionReader(),this.repetitionCalculator=MusicSymbolModuleFactory.createRepetitionCalculator(),this.rules=r}get PluginManager(){return this.pluginManager}get CompleteNumberOfStaves(){return this.completeNumberOfStaves}static doCalculationsAfterDurationHasBeenSet(e){for(const r of e)r.doCalculationsAfterDurationHasBeenSet()}createMusicSheet(e,r){try{return this._createMusicSheet(e,r)}catch(s){loglevelExports.error("MusicSheetReader.CreateMusicSheet",s);return}}_removeFromArray(e,r){const s=e.indexOf(r);s!==-1&&e.splice(s,1)}trimString(e){return e.replace(/^\s+|\s+$/g,"")}_lastElement(e){return e[e.length-1]}_createMusicSheet(e,r){const s=[];let o=0;if(this.musicSheet=new MusicSheet,this.musicSheet.Path=r,this.musicSheet.Rules=this.rules,!e)throw new MusicSheetReadingException("Undefined root element");this.pushSheetLabels(e,r);const a=e.element("part-list");if(!a)throw new MusicSheetReadingException("Undefined partListNode");const l=e.elements("part"),c=a.elements();this.initializeReading(c,l,s);let u=!0;this.currentFraction=new Fraction$1(0,1);let d=!1,g=e.element("identification");for(g&&(g=g.element("encoding")),g&&(g=g.element("software")),g!==void 0&&g.value==="Guitar Pro 5"&&(d=!0);u;){this.currentMeasure!==void 0&&this.currentMeasure.HasEndLine&&this.rules.NewPartAndSystemAfterFinalBarline&&(o=0),this.currentMeasure=new SourceMeasure(this.completeNumberOfStaves,this.musicSheet.Rules);for(const m of s)try{u=u&&m.readNextXmlMeasure(this.currentMeasure,this.currentFraction,d)}catch(y){const b=ITextTranslation.translateText("ReaderErrorMessages/InstrumentError","Error while reading instruments.");throw new MusicSheetReadingException(b,y)}u&&(this.musicSheet.addMeasure(this.currentMeasure),this.checkIfRhythmInstructionsAreSetAndEqual(s),this.checkSourceMeasureForNullEntries(),o=this.setSourceMeasureDuration(s,o),MusicSheetReader.doCalculationsAfterDurationHasBeenSet(s),this.currentMeasure.AbsoluteTimestamp=this.currentFraction.clone(),this.musicSheet.SheetErrors.finalizeMeasure(this.currentMeasure.MeasureNumber),this.currentFraction.Add(this.currentMeasure.Duration),this.previousMeasure=this.currentMeasure)}this.repetitionInstructionReader&&(this.repetitionInstructionReader.removeRedundantInstructions(),this.repetitionCalculator&&this.repetitionCalculator.calculateRepetitions(this.musicSheet,this.repetitionInstructionReader.repetitionInstructions)),this.musicSheet.DefaultStartTempoInBpm===0&&(this.musicSheet.DefaultStartTempoInBpm=100),this.musicSheet.checkForInstrumentWithNoVoice(),this.musicSheet.fillStaffList();for(let m=0,y=this.afterSheetReadingModules.length;ms){if(this.areRhythmInstructionsMixed(r)&&c.SymbolEnum!==RhythmSymbolEnum.NONE)continue;s=c.Rhythm.RealValue,o=r.indexOf(c)}}if(r.length>0&&r.lengthe.Denominator){const s=r.Denominator/e.Denominator;e.expand(s)}}checkIfMeasureIsImplicit(e,r){return!this.previousMeasure&&e.lt(r)?!0:this.previousMeasure?Fraction$1.plus(this.previousMeasure.Duration,e).Equals(r):!1}allInstrumentsHaveSameDuration(e,r){let s=0;for(let o=0,a=e.length;o=0;e--)for(let r=this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries.length-1;r>=0;r--){const s=this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries[r];if(s)for(let o=s.VoiceEntries.length-1;o>=0;o--){const a=s.VoiceEntries[o];a.Notes.length===0&&(this._removeFromArray(a.ParentVoice.VoiceEntries,a),this._removeFromArray(s.VoiceEntries,a))}s!==void 0&&s.VoiceEntries.length===0&&s.ChordContainers.length===0&&(this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries[r]=void 0)}for(let e=this.currentMeasure.VerticalSourceStaffEntryContainers.length-1;e>=0;e--){let r=0;for(let s=0,o=this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries.length;s0){const o=r[0].elements("rights");if(o.length>0)for(let a=0,l=o.length;ar||C){if(!s&&!C)s=k;else if(x||I==="right")a?a+=` `+k:a=k;else if(E||I!=="right"&&I!=="left")o?o+=` `+k:o=k;else if(I==="left"){this.musicSheet.Lyricist||(this.musicSheet.Lyricist=new Label(k));break}}}}}}if(!this.musicSheet.Title&&s&&(this.musicSheet.Title=new Label(this.trimString(s))),!this.musicSheet.Subtitle&&o&&(this.musicSheet.Subtitle=new Label(this.trimString(o))),a){let y=!1;if(!this.musicSheet.Composer)y=!0;else{const b=((g=a.match(` `))!=null?g:[]).length+1,A=((m=this.musicSheet.Composer.text.match(` `))!=null?m:[]).length+1;b>=A&&(y=!0)}y&&(this.musicSheet.Composer=new Label(this.trimString(a)))}}readTitleAndComposerFromCreditsLegacy(e){var d,g,m;const r=this.computeSystemYCoordinates(e);if(r===0)return;let s=1,o,a=0,l,c;const u=e.elements("credit");for(let y=0,b=u.length;yr||T){if(!this.musicSheet.Title&&!T){const I=(m=S.attribute("font-size"))==null?void 0:m.value;if(I){const M=parseFloat(I);s0&&g.MidiInstrumentId!==MidiInstrument.Percussion&&(S.midiInstrumentID=Math.max(0,parseInt(C.value,10)-1));else if(C.name==="midi-unpitched")S.fixedKey=Math.max(0,parseInt(C.value,10));else if(C.name==="volume")try{const T=parseFloat(C.value);S.volume=T/127}catch(T){loglevelExports.debug("ExpressionReader.readExpressionParameters","read volume",T)}else if(C.name==="pan")try{const T=parseFloat(C.value);S.pan=T/64}catch(T){loglevelExports.debug("ExpressionReader.readExpressionParameters","read pan",T)}}catch(T){loglevelExports.info("MusicSheetReader.createInstrumentGroups midi settings: ",T)}}}}catch(S){loglevelExports.info("MusicSheetReader.createInstrumentGroups: ",S)}}if(g.SubInstruments.length===0){const y=new SubInstrument(g);g.SubInstruments.push(y)}s[d]=g,o?(o.InstrumentalGroups.push(g),this.musicSheet.Instruments.push(g)):(this.musicSheet.InstrumentalGroups.push(g),this.musicSheet.Instruments.push(g))}else if(u.name==="part-group"&&u.attribute("type").value==="start"){const d=new InstrumentalGroup("group",this.musicSheet,o);o?o.InstrumentalGroups.push(d):this.musicSheet.InstrumentalGroups.push(d),o=d}else if(u.name==="part-group"&&u.attribute("type").value==="stop"&&o){if(o.InstrumentalGroups.length===1){const d=o.InstrumentalGroups[0];o.Parent?(o.Parent.InstrumentalGroups.push(d),this._removeFromArray(o.Parent.InstrumentalGroups,o)):(this.musicSheet.InstrumentalGroups.push(d),this._removeFromArray(this.musicSheet.InstrumentalGroups,o))}o=o.Parent}}}catch(a){const l=ITextTranslation.translateText("ReaderErrorMessages/InstrumentError","Error while reading Instruments");throw new MusicSheetReadingException(l,a)}for(let a=0,l=this.musicSheet.Instruments.length;a0){const a=o[0];if(a){let l=a.element("attributes");l&&(l=l.element("staves")),l?r+=parseInt(l.value,10):r++}}}if(isNaN(r)||r<=0){const s=ITextTranslation.translateText("ReaderErrorMessages/StaffError","Invalid number of staves.");throw new MusicSheetReadingException(s)}return r}getInstrumentNumberOfStavesFromXml(e){let r=0;const s=e.element("measure");if(s){const o=s.element("attributes");let a;o&&(a=o.element("staves")),!o||!a?r=1:r=parseInt(a.value,10)}if(isNaN(r)||r<=0){const o=ITextTranslation.translateText("ReaderErrorMessages/StaffError","Invalid number of Staves.");throw new MusicSheetReadingException(o)}return r}}function commonjsRequire(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var jszip_minExports={},jszip_min={get exports(){return jszip_minExports},set exports(i){jszip_minExports=i}};/*! JSZip v3.10.1 - A JavaScript class for generating and reading zip files (c) 2009-2016 Stuart Knightley Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. JSZip uses the library pako released under the MIT license : https://github.com/nodeca/pako/blob/main/LICENSE */(function(i,e){(function(r){i.exports=r()})(function(){return function r(s,o,a){function l(d,g){if(!o[d]){if(!s[d]){var m=typeof commonjsRequire=="function"&&commonjsRequire;if(!g&&m)return m(d,!0);if(c)return c(d,!0);var y=new Error("Cannot find module '"+d+"'");throw y.code="MODULE_NOT_FOUND",y}var b=o[d]={exports:{}};s[d][0].call(b.exports,function(A){var S=s[d][1][A];return l(S||A)},b,b.exports,r,s,o,a)}return o[d].exports}for(var c=typeof commonjsRequire=="function"&&commonjsRequire,u=0;u>2,b=(3&d)<<4|g>>4,A=1>6:64,S=2>4,g=(15&y)<<4|(b=c.indexOf(u.charAt(S++)))>>2,m=(3&b)<<6|(A=c.indexOf(u.charAt(S++))),P[E++]=d,b!==64&&(P[E++]=g),A!==64&&(P[E++]=m);return P}},{"./support":30,"./utils":32}],2:[function(r,s,o){var a=r("./external"),l=r("./stream/DataWorker"),c=r("./stream/Crc32Probe"),u=r("./stream/DataLengthProbe");function d(g,m,y,b,A){this.compressedSize=g,this.uncompressedSize=m,this.crc32=y,this.compression=b,this.compressedContent=A}d.prototype={getContentWorker:function(){var g=new l(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new u("data_length")),m=this;return g.on("end",function(){if(this.streamInfo.data_length!==m.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),g},getCompressedWorker:function(){return new l(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},d.createWorkerFrom=function(g,m,y){return g.pipe(new c).pipe(new u("uncompressedSize")).pipe(m.compressWorker(y)).pipe(new u("compressedSize")).withStreamInfo("compression",m)},s.exports=d},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(r,s,o){var a=r("./stream/GenericWorker");o.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},o.DEFLATE=r("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(r,s,o){var a=r("./utils"),l=function(){for(var c,u=[],d=0;d<256;d++){c=d;for(var g=0;g<8;g++)c=1&c?3988292384^c>>>1:c>>>1;u[d]=c}return u}();s.exports=function(c,u){return c!==void 0&&c.length?a.getTypeOf(c)!=="string"?function(d,g,m,y){var b=l,A=y+m;d^=-1;for(var S=y;S>>8^b[255&(d^g[S])];return-1^d}(0|u,c,c.length,0):function(d,g,m,y){var b=l,A=y+m;d^=-1;for(var S=y;S>>8^b[255&(d^g.charCodeAt(S))];return-1^d}(0|u,c,c.length,0):0}},{"./utils":32}],5:[function(r,s,o){o.base64=!1,o.binary=!1,o.dir=!1,o.createFolders=!0,o.date=null,o.compression=null,o.compressionOptions=null,o.comment=null,o.unixPermissions=null,o.dosPermissions=null},{}],6:[function(r,s,o){var a=null;a=typeof Promise<"u"?Promise:r("lie"),s.exports={Promise:a}},{lie:37}],7:[function(r,s,o){var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",l=r("pako"),c=r("./utils"),u=r("./stream/GenericWorker"),d=a?"uint8array":"array";function g(m,y){u.call(this,"FlateWorker/"+m),this._pako=null,this._pakoAction=m,this._pakoOptions=y,this.meta={}}o.magic="\b\0",c.inherits(g,u),g.prototype.processChunk=function(m){this.meta=m.meta,this._pako===null&&this._createPako(),this._pako.push(c.transformTo(d,m.data),!1)},g.prototype.flush=function(){u.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},g.prototype.cleanUp=function(){u.prototype.cleanUp.call(this),this._pako=null},g.prototype._createPako=function(){this._pako=new l[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var m=this;this._pako.onData=function(y){m.push({data:y,meta:m.meta})}},o.compressWorker=function(m){return new g("Deflate",m)},o.uncompressWorker=function(){return new g("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(r,s,o){function a(b,A){var S,E="";for(S=0;S>>=8;return E}function l(b,A,S,E,x,P){var C,T,k=b.file,I=b.compression,M=P!==d.utf8encode,R=c.transformTo("string",P(k.name)),B=c.transformTo("string",d.utf8encode(k.name)),_=k.comment,V=c.transformTo("string",P(_)),D=c.transformTo("string",d.utf8encode(_)),F=B.length!==k.name.length,N=D.length!==_.length,K="",G="",q="",O=k.dir,U=k.date,$={crc32:0,compressedSize:0,uncompressedSize:0};A&&!S||($.crc32=b.crc32,$.compressedSize=b.compressedSize,$.uncompressedSize=b.uncompressedSize);var Y=0;A&&(Y|=8),M||!F&&!N||(Y|=2048);var Q=0,xe=0;O&&(Q|=16),x==="UNIX"?(xe=798,Q|=function(W,J){var ce=W;return W||(ce=J?16893:33204),(65535&ce)<<16}(k.unixPermissions,O)):(xe=20,Q|=function(W){return 63&(W||0)}(k.dosPermissions)),C=U.getUTCHours(),C<<=6,C|=U.getUTCMinutes(),C<<=5,C|=U.getUTCSeconds()/2,T=U.getUTCFullYear()-1980,T<<=4,T|=U.getUTCMonth()+1,T<<=5,T|=U.getUTCDate(),F&&(G=a(1,1)+a(g(R),4)+B,K+="up"+a(G.length,2)+G),N&&(q=a(1,1)+a(g(V),4)+D,K+="uc"+a(q.length,2)+q);var ue="";return ue+=` \0`,ue+=a(Y,2),ue+=I.magic,ue+=a(C,2),ue+=a(T,2),ue+=a($.crc32,4),ue+=a($.compressedSize,4),ue+=a($.uncompressedSize,4),ue+=a(R.length,2),ue+=a(K.length,2),{fileRecord:m.LOCAL_FILE_HEADER+ue+R+K,dirRecord:m.CENTRAL_FILE_HEADER+a(xe,2)+ue+a(V.length,2)+"\0\0\0\0"+a(Q,4)+a(E,4)+R+K+V}}var c=r("../utils"),u=r("../stream/GenericWorker"),d=r("../utf8"),g=r("../crc32"),m=r("../signature");function y(b,A,S,E){u.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=A,this.zipPlatform=S,this.encodeFileName=E,this.streamFiles=b,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}c.inherits(y,u),y.prototype.push=function(b){var A=b.meta.percent||0,S=this.entriesCount,E=this._sources.length;this.accumulate?this.contentBuffer.push(b):(this.bytesWritten+=b.data.length,u.prototype.push.call(this,{data:b.data,meta:{currentFile:this.currentFile,percent:S?(A+100*(S-E-1))/S:100}}))},y.prototype.openedSource=function(b){this.currentSourceOffset=this.bytesWritten,this.currentFile=b.file.name;var A=this.streamFiles&&!b.file.dir;if(A){var S=l(b,A,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:S.fileRecord,meta:{percent:0}})}else this.accumulate=!0},y.prototype.closedSource=function(b){this.accumulate=!1;var A=this.streamFiles&&!b.file.dir,S=l(b,A,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(S.dirRecord),A)this.push({data:function(E){return m.DATA_DESCRIPTOR+a(E.crc32,4)+a(E.compressedSize,4)+a(E.uncompressedSize,4)}(b),meta:{percent:100}});else for(this.push({data:S.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},y.prototype.flush=function(){for(var b=this.bytesWritten,A=0;A=this.index;u--)d=(d<<8)+this.byteAt(u);return this.index+=c,d},readString:function(c){return a.transformTo("string",this.readData(c))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var c=this.readInt(4);return new Date(Date.UTC(1980+(c>>25&127),(c>>21&15)-1,c>>16&31,c>>11&31,c>>5&63,(31&c)<<1))}},s.exports=l},{"../utils":32}],19:[function(r,s,o){var a=r("./Uint8ArrayReader");function l(c){a.call(this,c)}r("../utils").inherits(l,a),l.prototype.readData=function(c){this.checkOffset(c);var u=this.data.slice(this.zero+this.index,this.zero+this.index+c);return this.index+=c,u},s.exports=l},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(r,s,o){var a=r("./DataReader");function l(c){a.call(this,c)}r("../utils").inherits(l,a),l.prototype.byteAt=function(c){return this.data.charCodeAt(this.zero+c)},l.prototype.lastIndexOfSignature=function(c){return this.data.lastIndexOf(c)-this.zero},l.prototype.readAndCheckSignature=function(c){return c===this.readData(4)},l.prototype.readData=function(c){this.checkOffset(c);var u=this.data.slice(this.zero+this.index,this.zero+this.index+c);return this.index+=c,u},s.exports=l},{"../utils":32,"./DataReader":18}],21:[function(r,s,o){var a=r("./ArrayReader");function l(c){a.call(this,c)}r("../utils").inherits(l,a),l.prototype.readData=function(c){if(this.checkOffset(c),c===0)return new Uint8Array(0);var u=this.data.subarray(this.zero+this.index,this.zero+this.index+c);return this.index+=c,u},s.exports=l},{"../utils":32,"./ArrayReader":17}],22:[function(r,s,o){var a=r("../utils"),l=r("../support"),c=r("./ArrayReader"),u=r("./StringReader"),d=r("./NodeBufferReader"),g=r("./Uint8ArrayReader");s.exports=function(m){var y=a.getTypeOf(m);return a.checkSupport(y),y!=="string"||l.uint8array?y==="nodebuffer"?new d(m):l.uint8array?new g(a.transformTo("uint8array",m)):new c(a.transformTo("array",m)):new u(m)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(r,s,o){o.LOCAL_FILE_HEADER="PK",o.CENTRAL_FILE_HEADER="PK",o.CENTRAL_DIRECTORY_END="PK",o.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",o.ZIP64_CENTRAL_DIRECTORY_END="PK",o.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(r,s,o){var a=r("./GenericWorker"),l=r("../utils");function c(u){a.call(this,"ConvertWorker to "+u),this.destType=u}l.inherits(c,a),c.prototype.processChunk=function(u){this.push({data:l.transformTo(this.destType,u.data),meta:u.meta})},s.exports=c},{"../utils":32,"./GenericWorker":28}],25:[function(r,s,o){var a=r("./GenericWorker"),l=r("../crc32");function c(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}r("../utils").inherits(c,a),c.prototype.processChunk=function(u){this.streamInfo.crc32=l(u.data,this.streamInfo.crc32||0),this.push(u)},s.exports=c},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(r,s,o){var a=r("../utils"),l=r("./GenericWorker");function c(u){l.call(this,"DataLengthProbe for "+u),this.propName=u,this.withStreamInfo(u,0)}a.inherits(c,l),c.prototype.processChunk=function(u){if(u){var d=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=d+u.data.length}l.prototype.processChunk.call(this,u)},s.exports=c},{"../utils":32,"./GenericWorker":28}],27:[function(r,s,o){var a=r("../utils"),l=r("./GenericWorker");function c(u){l.call(this,"DataWorker");var d=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,u.then(function(g){d.dataIsReady=!0,d.data=g,d.max=g&&g.length||0,d.type=a.getTypeOf(g),d.isPaused||d._tickAndRepeat()},function(g){d.error(g)})}a.inherits(c,l),c.prototype.cleanUp=function(){l.prototype.cleanUp.call(this),this.data=null},c.prototype.resume=function(){return!!l.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},c.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},c.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var u=null,d=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":u=this.data.substring(this.index,d);break;case"uint8array":u=this.data.subarray(this.index,d);break;case"array":case"nodebuffer":u=this.data.slice(this.index,d)}return this.index=d,this.push({data:u,meta:{percent:this.max?this.index/this.max*100:0}})},s.exports=c},{"../utils":32,"./GenericWorker":28}],28:[function(r,s,o){function a(l){this.name=l||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(l){this.emit("data",l)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(l){this.emit("error",l)}return!0},error:function(l){return!this.isFinished&&(this.isPaused?this.generatedError=l:(this.isFinished=!0,this.emit("error",l),this.previous&&this.previous.error(l),this.cleanUp()),!0)},on:function(l,c){return this._listeners[l].push(c),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(l,c){if(this._listeners[l])for(var u=0;u "+l:l}},s.exports=a},{}],29:[function(r,s,o){var a=r("../utils"),l=r("./ConvertWorker"),c=r("./GenericWorker"),u=r("../base64"),d=r("../support"),g=r("../external"),m=null;if(d.nodestream)try{m=r("../nodejs/NodejsStreamOutputAdapter")}catch(A){}function y(A,S){return new g.Promise(function(E,x){var P=[],C=A._internalType,T=A._outputType,k=A._mimeType;A.on("data",function(I,M){P.push(I),S&&S(M)}).on("error",function(I){P=[],x(I)}).on("end",function(){try{var I=function(M,R,B){switch(M){case"blob":return a.newBlob(a.transformTo("arraybuffer",R),B);case"base64":return u.encode(R);default:return a.transformTo(M,R)}}(T,function(M,R){var B,_=0,V=null,D=0;for(B=0;B"u")o.blob=!1;else{var a=new ArrayBuffer(0);try{o.blob=new Blob([a],{type:"application/zip"}).size===0}catch(c){try{var l=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);l.append(a),o.blob=l.getBlob("application/zip").size===0}catch(u){o.blob=!1}}}try{o.nodestream=!!r("readable-stream").Readable}catch(c){o.nodestream=!1}},{"readable-stream":16}],31:[function(r,s,o){for(var a=r("./utils"),l=r("./support"),c=r("./nodejsUtils"),u=r("./stream/GenericWorker"),d=new Array(256),g=0;g<256;g++)d[g]=252<=g?6:248<=g?5:240<=g?4:224<=g?3:192<=g?2:1;d[254]=d[254]=1;function m(){u.call(this,"utf-8 decode"),this.leftOver=null}function y(){u.call(this,"utf-8 encode")}o.utf8encode=function(b){return l.nodebuffer?c.newBufferFrom(b,"utf-8"):function(A){var S,E,x,P,C,T=A.length,k=0;for(P=0;P>>6:(E<65536?S[C++]=224|E>>>12:(S[C++]=240|E>>>18,S[C++]=128|E>>>12&63),S[C++]=128|E>>>6&63),S[C++]=128|63&E);return S}(b)},o.utf8decode=function(b){return l.nodebuffer?a.transformTo("nodebuffer",b).toString("utf-8"):function(A){var S,E,x,P,C=A.length,T=new Array(2*C);for(S=E=0;S>10&1023,T[E++]=56320|1023&x)}return T.length!==E&&(T.subarray?T=T.subarray(0,E):T.length=E),a.applyFromCharCode(T)}(b=a.transformTo(l.uint8array?"uint8array":"array",b))},a.inherits(m,u),m.prototype.processChunk=function(b){var A=a.transformTo(l.uint8array?"uint8array":"array",b.data);if(this.leftOver&&this.leftOver.length){if(l.uint8array){var S=A;(A=new Uint8Array(S.length+this.leftOver.length)).set(this.leftOver,0),A.set(S,this.leftOver.length)}else A=this.leftOver.concat(A);this.leftOver=null}var E=function(P,C){var T;for((C=C||P.length)>P.length&&(C=P.length),T=C-1;0<=T&&(192&P[T])==128;)T--;return T<0||T===0?C:T+d[P[T]]>C?T:C}(A),x=A;E!==A.length&&(l.uint8array?(x=A.subarray(0,E),this.leftOver=A.subarray(E,A.length)):(x=A.slice(0,E),this.leftOver=A.slice(E,A.length))),this.push({data:o.utf8decode(x),meta:b.meta})},m.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:o.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},o.Utf8DecodeWorker=m,a.inherits(y,u),y.prototype.processChunk=function(b){this.push({data:o.utf8encode(b.data),meta:b.meta})},o.Utf8EncodeWorker=y},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(r,s,o){var a=r("./support"),l=r("./base64"),c=r("./nodejsUtils"),u=r("./external");function d(S){return S}function g(S,E){for(var x=0;x>8;this.dir=!!(16&this.externalFileAttributes),b==0&&(this.dosPermissions=63&this.externalFileAttributes),b==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var b=a(this.extraFields[1].value);this.uncompressedSize===l.MAX_VALUE_32BITS&&(this.uncompressedSize=b.readInt(8)),this.compressedSize===l.MAX_VALUE_32BITS&&(this.compressedSize=b.readInt(8)),this.localHeaderOffset===l.MAX_VALUE_32BITS&&(this.localHeaderOffset=b.readInt(8)),this.diskNumberStart===l.MAX_VALUE_32BITS&&(this.diskNumberStart=b.readInt(4))}},readExtraFields:function(b){var A,S,E,x=b.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});b.index+4>>6:(b<65536?y[E++]=224|b>>>12:(y[E++]=240|b>>>18,y[E++]=128|b>>>12&63),y[E++]=128|b>>>6&63),y[E++]=128|63&b);return y},o.buf2binstring=function(m){return g(m,m.length)},o.binstring2buf=function(m){for(var y=new a.Buf8(m.length),b=0,A=y.length;b>10&1023,P[A++]=56320|1023&S)}return g(P,A)},o.utf8border=function(m,y){var b;for((y=y||m.length)>m.length&&(y=m.length),b=y-1;0<=b&&(192&m[b])==128;)b--;return b<0||b===0?y:b+u[m[b]]>y?b:y}},{"./common":41}],43:[function(r,s,o){s.exports=function(a,l,c,u){for(var d=65535&a|0,g=a>>>16&65535|0,m=0;c!==0;){for(c-=m=2e3>>1:l>>>1;c[u]=l}return c}();s.exports=function(l,c,u,d){var g=a,m=d+u;l^=-1;for(var y=d;y>>8^g[255&(l^c[y])];return-1^l}},{}],46:[function(r,s,o){var a,l=r("../utils/common"),c=r("./trees"),u=r("./adler32"),d=r("./crc32"),g=r("./messages"),m=0,y=4,b=0,A=-2,S=-1,E=4,x=2,P=8,C=9,T=286,k=30,I=19,M=2*T+1,R=15,B=3,_=258,V=_+B+1,D=42,F=113,N=1,K=2,G=3,q=4;function O(H,ve){return H.msg=g[ve],ve}function U(H){return(H<<1)-(4H.avail_out&&(pe=H.avail_out),pe!==0&&(l.arraySet(H.output,ve.pending_buf,ve.pending_out,pe,H.next_out),H.next_out+=pe,ve.pending_out+=pe,H.total_out+=pe,H.avail_out-=pe,ve.pending-=pe,ve.pending===0&&(ve.pending_out=0))}function Q(H,ve){c._tr_flush_block(H,0<=H.block_start?H.block_start:-1,H.strstart-H.block_start,ve),H.block_start=H.strstart,Y(H.strm)}function xe(H,ve){H.pending_buf[H.pending++]=ve}function ue(H,ve){H.pending_buf[H.pending++]=ve>>>8&255,H.pending_buf[H.pending++]=255&ve}function W(H,ve){var pe,ee,ne=H.max_chain_length,me=H.strstart,Be=H.prev_length,oe=H.nice_match,be=H.strstart>H.w_size-V?H.strstart-(H.w_size-V):0,Ie=H.window,Re=H.w_mask,Pe=H.prev,he=H.strstart+_,Ce=Ie[me+Be-1],ye=Ie[me+Be];H.prev_length>=H.good_match&&(ne>>=2),oe>H.lookahead&&(oe=H.lookahead);do if(Ie[(pe=ve)+Be]===ye&&Ie[pe+Be-1]===Ce&&Ie[pe]===Ie[me]&&Ie[++pe]===Ie[me+1]){me+=2,pe++;do;while(Ie[++me]===Ie[++pe]&&Ie[++me]===Ie[++pe]&&Ie[++me]===Ie[++pe]&&Ie[++me]===Ie[++pe]&&Ie[++me]===Ie[++pe]&&Ie[++me]===Ie[++pe]&&Ie[++me]===Ie[++pe]&&Ie[++me]===Ie[++pe]&&mebe&&--ne!=0);return Be<=H.lookahead?Be:H.lookahead}function J(H){var ve,pe,ee,ne,me,Be,oe,be,Ie,Re,Pe=H.w_size;do{if(ne=H.window_size-H.lookahead-H.strstart,H.strstart>=Pe+(Pe-V)){for(l.arraySet(H.window,H.window,Pe,Pe,0),H.match_start-=Pe,H.strstart-=Pe,H.block_start-=Pe,ve=pe=H.hash_size;ee=H.head[--ve],H.head[ve]=Pe<=ee?ee-Pe:0,--pe;);for(ve=pe=Pe;ee=H.prev[--ve],H.prev[ve]=Pe<=ee?ee-Pe:0,--pe;);ne+=Pe}if(H.strm.avail_in===0)break;if(Be=H.strm,oe=H.window,be=H.strstart+H.lookahead,Ie=ne,Re=void 0,Re=Be.avail_in,Ie=B)for(me=H.strstart-H.insert,H.ins_h=H.window[me],H.ins_h=(H.ins_h<=B&&(H.ins_h=(H.ins_h<=B)if(ee=c._tr_tally(H,H.strstart-H.match_start,H.match_length-B),H.lookahead-=H.match_length,H.match_length<=H.max_lazy_match&&H.lookahead>=B){for(H.match_length--;H.strstart++,H.ins_h=(H.ins_h<=B&&(H.ins_h=(H.ins_h<=B&&H.match_length<=H.prev_length){for(ne=H.strstart+H.lookahead-B,ee=c._tr_tally(H,H.strstart-1-H.prev_match,H.prev_length-B),H.lookahead-=H.prev_length-1,H.prev_length-=2;++H.strstart<=ne&&(H.ins_h=(H.ins_h<H.pending_buf_size-5&&(pe=H.pending_buf_size-5);;){if(H.lookahead<=1){if(J(H),H.lookahead===0&&ve===m)return N;if(H.lookahead===0)break}H.strstart+=H.lookahead,H.lookahead=0;var ee=H.block_start+pe;if((H.strstart===0||H.strstart>=ee)&&(H.lookahead=H.strstart-ee,H.strstart=ee,Q(H,!1),H.strm.avail_out===0)||H.strstart-H.block_start>=H.w_size-V&&(Q(H,!1),H.strm.avail_out===0))return N}return H.insert=0,ve===y?(Q(H,!0),H.strm.avail_out===0?G:q):(H.strstart>H.block_start&&(Q(H,!1),H.strm.avail_out),N)}),new Ee(4,4,8,4,ce),new Ee(4,5,16,8,ce),new Ee(4,6,32,32,ce),new Ee(4,4,16,16,ge),new Ee(8,16,32,32,ge),new Ee(8,16,128,128,ge),new Ee(8,32,128,256,ge),new Ee(32,128,258,1024,ge),new Ee(32,258,258,4096,ge)],o.deflateInit=function(H,ve){return ae(H,ve,P,15,8,0)},o.deflateInit2=ae,o.deflateReset=te,o.deflateResetKeep=De,o.deflateSetHeader=function(H,ve){return H&&H.state?H.state.wrap!==2?A:(H.state.gzhead=ve,b):A},o.deflate=function(H,ve){var pe,ee,ne,me;if(!H||!H.state||5>8&255),xe(ee,ee.gzhead.time>>16&255),xe(ee,ee.gzhead.time>>24&255),xe(ee,ee.level===9?2:2<=ee.strategy||ee.level<2?4:0),xe(ee,255&ee.gzhead.os),ee.gzhead.extra&&ee.gzhead.extra.length&&(xe(ee,255&ee.gzhead.extra.length),xe(ee,ee.gzhead.extra.length>>8&255)),ee.gzhead.hcrc&&(H.adler=d(H.adler,ee.pending_buf,ee.pending,0)),ee.gzindex=0,ee.status=69):(xe(ee,0),xe(ee,0),xe(ee,0),xe(ee,0),xe(ee,0),xe(ee,ee.level===9?2:2<=ee.strategy||ee.level<2?4:0),xe(ee,3),ee.status=F);else{var Be=P+(ee.w_bits-8<<4)<<8;Be|=(2<=ee.strategy||ee.level<2?0:ee.level<6?1:ee.level===6?2:3)<<6,ee.strstart!==0&&(Be|=32),Be+=31-Be%31,ee.status=F,ue(ee,Be),ee.strstart!==0&&(ue(ee,H.adler>>>16),ue(ee,65535&H.adler)),H.adler=1}if(ee.status===69)if(ee.gzhead.extra){for(ne=ee.pending;ee.gzindex<(65535&ee.gzhead.extra.length)&&(ee.pending!==ee.pending_buf_size||(ee.gzhead.hcrc&&ee.pending>ne&&(H.adler=d(H.adler,ee.pending_buf,ee.pending-ne,ne)),Y(H),ne=ee.pending,ee.pending!==ee.pending_buf_size));)xe(ee,255&ee.gzhead.extra[ee.gzindex]),ee.gzindex++;ee.gzhead.hcrc&&ee.pending>ne&&(H.adler=d(H.adler,ee.pending_buf,ee.pending-ne,ne)),ee.gzindex===ee.gzhead.extra.length&&(ee.gzindex=0,ee.status=73)}else ee.status=73;if(ee.status===73)if(ee.gzhead.name){ne=ee.pending;do{if(ee.pending===ee.pending_buf_size&&(ee.gzhead.hcrc&&ee.pending>ne&&(H.adler=d(H.adler,ee.pending_buf,ee.pending-ne,ne)),Y(H),ne=ee.pending,ee.pending===ee.pending_buf_size)){me=1;break}me=ee.gzindexne&&(H.adler=d(H.adler,ee.pending_buf,ee.pending-ne,ne)),me===0&&(ee.gzindex=0,ee.status=91)}else ee.status=91;if(ee.status===91)if(ee.gzhead.comment){ne=ee.pending;do{if(ee.pending===ee.pending_buf_size&&(ee.gzhead.hcrc&&ee.pending>ne&&(H.adler=d(H.adler,ee.pending_buf,ee.pending-ne,ne)),Y(H),ne=ee.pending,ee.pending===ee.pending_buf_size)){me=1;break}me=ee.gzindexne&&(H.adler=d(H.adler,ee.pending_buf,ee.pending-ne,ne)),me===0&&(ee.status=103)}else ee.status=103;if(ee.status===103&&(ee.gzhead.hcrc?(ee.pending+2>ee.pending_buf_size&&Y(H),ee.pending+2<=ee.pending_buf_size&&(xe(ee,255&H.adler),xe(ee,H.adler>>8&255),H.adler=0,ee.status=F)):ee.status=F),ee.pending!==0){if(Y(H),H.avail_out===0)return ee.last_flush=-1,b}else if(H.avail_in===0&&U(ve)<=U(pe)&&ve!==y)return O(H,-5);if(ee.status===666&&H.avail_in!==0)return O(H,-5);if(H.avail_in!==0||ee.lookahead!==0||ve!==m&&ee.status!==666){var oe=ee.strategy===2?function(be,Ie){for(var Re;;){if(be.lookahead===0&&(J(be),be.lookahead===0)){if(Ie===m)return N;break}if(be.match_length=0,Re=c._tr_tally(be,0,be.window[be.strstart]),be.lookahead--,be.strstart++,Re&&(Q(be,!1),be.strm.avail_out===0))return N}return be.insert=0,Ie===y?(Q(be,!0),be.strm.avail_out===0?G:q):be.last_lit&&(Q(be,!1),be.strm.avail_out===0)?N:K}(ee,ve):ee.strategy===3?function(be,Ie){for(var Re,Pe,he,Ce,ye=be.window;;){if(be.lookahead<=_){if(J(be),be.lookahead<=_&&Ie===m)return N;if(be.lookahead===0)break}if(be.match_length=0,be.lookahead>=B&&0be.lookahead&&(be.match_length=be.lookahead)}if(be.match_length>=B?(Re=c._tr_tally(be,1,be.match_length-B),be.lookahead-=be.match_length,be.strstart+=be.match_length,be.match_length=0):(Re=c._tr_tally(be,0,be.window[be.strstart]),be.lookahead--,be.strstart++),Re&&(Q(be,!1),be.strm.avail_out===0))return N}return be.insert=0,Ie===y?(Q(be,!0),be.strm.avail_out===0?G:q):be.last_lit&&(Q(be,!1),be.strm.avail_out===0)?N:K}(ee,ve):a[ee.level].func(ee,ve);if(oe!==G&&oe!==q||(ee.status=666),oe===N||oe===G)return H.avail_out===0&&(ee.last_flush=-1),b;if(oe===K&&(ve===1?c._tr_align(ee):ve!==5&&(c._tr_stored_block(ee,0,0,!1),ve===3&&($(ee.head),ee.lookahead===0&&(ee.strstart=0,ee.block_start=0,ee.insert=0))),Y(H),H.avail_out===0))return ee.last_flush=-1,b}return ve!==y?b:ee.wrap<=0?1:(ee.wrap===2?(xe(ee,255&H.adler),xe(ee,H.adler>>8&255),xe(ee,H.adler>>16&255),xe(ee,H.adler>>24&255),xe(ee,255&H.total_in),xe(ee,H.total_in>>8&255),xe(ee,H.total_in>>16&255),xe(ee,H.total_in>>24&255)):(ue(ee,H.adler>>>16),ue(ee,65535&H.adler)),Y(H),0=pe.w_size&&(me===0&&($(pe.head),pe.strstart=0,pe.block_start=0,pe.insert=0),Ie=new l.Buf8(pe.w_size),l.arraySet(Ie,ve,Re-pe.w_size,pe.w_size,0),ve=Ie,Re=pe.w_size),Be=H.avail_in,oe=H.next_in,be=H.input,H.avail_in=Re,H.next_in=0,H.input=ve,J(pe);pe.lookahead>=B;){for(ee=pe.strstart,ne=pe.lookahead-(B-1);pe.ins_h=(pe.ins_h<>>=B=R>>>24,C-=B,(B=R>>>16&255)===0)K[g++]=65535&R;else{if(!(16&B)){if(!(64&B)){R=T[(65535&R)+(P&(1<>>=B,C-=B),C<15&&(P+=N[u++]<>>=B=R>>>24,C-=B,!(16&(B=R>>>16&255))){if(!(64&B)){R=k[(65535&R)+(P&(1<>>=B,C-=B,(B=g-m)>3,P&=(1<<(C-=_<<3))-1,a.next_in=u,a.next_out=g,a.avail_in=u>>24&255)+(D>>>8&65280)+((65280&D)<<8)+((255&D)<<24)}function P(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function C(D){var F;return D&&D.state?(F=D.state,D.total_in=D.total_out=F.total=0,D.msg="",F.wrap&&(D.adler=1&F.wrap),F.mode=A,F.last=0,F.havedict=0,F.dmax=32768,F.head=null,F.hold=0,F.bits=0,F.lencode=F.lendyn=new a.Buf32(S),F.distcode=F.distdyn=new a.Buf32(E),F.sane=1,F.back=-1,y):b}function T(D){var F;return D&&D.state?((F=D.state).wsize=0,F.whave=0,F.wnext=0,C(D)):b}function k(D,F){var N,K;return D&&D.state?(K=D.state,F<0?(N=0,F=-F):(N=1+(F>>4),F<48&&(F&=15)),F&&(F<8||15=q.wsize?(a.arraySet(q.window,F,N-q.wsize,q.wsize,0),q.wnext=0,q.whave=q.wsize):(K<(G=q.wsize-q.wnext)&&(G=K),a.arraySet(q.window,F,N-K,G,q.wnext),(K-=G)?(a.arraySet(q.window,F,N-K,K,0),q.wnext=K,q.whave=q.wsize):(q.wnext+=G,q.wnext===q.wsize&&(q.wnext=0),q.whave>>8&255,N.check=c(N.check,me,2,0),Q=Y=0,N.mode=2;break}if(N.flags=0,N.head&&(N.head.done=!1),!(1&N.wrap)||(((255&Y)<<8)+(Y>>8))%31){D.msg="incorrect header check",N.mode=30;break}if((15&Y)!=8){D.msg="unknown compression method",N.mode=30;break}if(Q-=4,H=8+(15&(Y>>>=4)),N.wbits===0)N.wbits=H;else if(H>N.wbits){D.msg="invalid window size",N.mode=30;break}N.dmax=1<>8&1),512&N.flags&&(me[0]=255&Y,me[1]=Y>>>8&255,N.check=c(N.check,me,2,0)),Q=Y=0,N.mode=3;case 3:for(;Q<32;){if(U===0)break e;U--,Y+=K[q++]<>>8&255,me[2]=Y>>>16&255,me[3]=Y>>>24&255,N.check=c(N.check,me,4,0)),Q=Y=0,N.mode=4;case 4:for(;Q<16;){if(U===0)break e;U--,Y+=K[q++]<>8),512&N.flags&&(me[0]=255&Y,me[1]=Y>>>8&255,N.check=c(N.check,me,2,0)),Q=Y=0,N.mode=5;case 5:if(1024&N.flags){for(;Q<16;){if(U===0)break e;U--,Y+=K[q++]<>>8&255,N.check=c(N.check,me,2,0)),Q=Y=0}else N.head&&(N.head.extra=null);N.mode=6;case 6:if(1024&N.flags&&(U<(W=N.length)&&(W=U),W&&(N.head&&(H=N.head.extra_len-N.length,N.head.extra||(N.head.extra=new Array(N.head.extra_len)),a.arraySet(N.head.extra,K,q,W,H)),512&N.flags&&(N.check=c(N.check,K,W,q)),U-=W,q+=W,N.length-=W),N.length))break e;N.length=0,N.mode=7;case 7:if(2048&N.flags){if(U===0)break e;for(W=0;H=K[q+W++],N.head&&H&&N.length<65536&&(N.head.name+=String.fromCharCode(H)),H&&W>9&1,N.head.done=!0),D.adler=N.check=0,N.mode=12;break;case 10:for(;Q<32;){if(U===0)break e;U--,Y+=K[q++]<>>=7&Q,Q-=7&Q,N.mode=27;break}for(;Q<3;){if(U===0)break e;U--,Y+=K[q++]<>>=1)){case 0:N.mode=14;break;case 1:if(_(N),N.mode=20,F!==6)break;Y>>>=2,Q-=2;break e;case 2:N.mode=17;break;case 3:D.msg="invalid block type",N.mode=30}Y>>>=2,Q-=2;break;case 14:for(Y>>>=7&Q,Q-=7&Q;Q<32;){if(U===0)break e;U--,Y+=K[q++]<>>16^65535)){D.msg="invalid stored block lengths",N.mode=30;break}if(N.length=65535&Y,Q=Y=0,N.mode=15,F===6)break e;case 15:N.mode=16;case 16:if(W=N.length){if(U>>=5,Q-=5,N.ndist=1+(31&Y),Y>>>=5,Q-=5,N.ncode=4+(15&Y),Y>>>=4,Q-=4,286>>=3,Q-=3}for(;N.have<19;)N.lens[Be[N.have++]]=0;if(N.lencode=N.lendyn,N.lenbits=7,pe={bits:N.lenbits},ve=d(0,N.lens,0,19,N.lencode,0,N.work,pe),N.lenbits=pe.bits,ve){D.msg="invalid code lengths set",N.mode=30;break}N.have=0,N.mode=19;case 19:for(;N.have>>16&255,Te=65535&ne,!((ge=ne>>>24)<=Q);){if(U===0)break e;U--,Y+=K[q++]<>>=ge,Q-=ge,N.lens[N.have++]=Te;else{if(Te===16){for(ee=ge+2;Q>>=ge,Q-=ge,N.have===0){D.msg="invalid bit length repeat",N.mode=30;break}H=N.lens[N.have-1],W=3+(3&Y),Y>>>=2,Q-=2}else if(Te===17){for(ee=ge+3;Q>>=ge)),Y>>>=3,Q-=3}else{for(ee=ge+7;Q>>=ge)),Y>>>=7,Q-=7}if(N.have+W>N.nlen+N.ndist){D.msg="invalid bit length repeat",N.mode=30;break}for(;W--;)N.lens[N.have++]=H}}if(N.mode===30)break;if(N.lens[256]===0){D.msg="invalid code -- missing end-of-block",N.mode=30;break}if(N.lenbits=9,pe={bits:N.lenbits},ve=d(g,N.lens,0,N.nlen,N.lencode,0,N.work,pe),N.lenbits=pe.bits,ve){D.msg="invalid literal/lengths set",N.mode=30;break}if(N.distbits=6,N.distcode=N.distdyn,pe={bits:N.distbits},ve=d(m,N.lens,N.nlen,N.ndist,N.distcode,0,N.work,pe),N.distbits=pe.bits,ve){D.msg="invalid distances set",N.mode=30;break}if(N.mode=20,F===6)break e;case 20:N.mode=21;case 21:if(6<=U&&258<=$){D.next_out=O,D.avail_out=$,D.next_in=q,D.avail_in=U,N.hold=Y,N.bits=Q,u(D,ue),O=D.next_out,G=D.output,$=D.avail_out,q=D.next_in,K=D.input,U=D.avail_in,Y=N.hold,Q=N.bits,N.mode===12&&(N.back=-1);break}for(N.back=0;Ee=(ne=N.lencode[Y&(1<>>16&255,Te=65535&ne,!((ge=ne>>>24)<=Q);){if(U===0)break e;U--,Y+=K[q++]<>De)])>>>16&255,Te=65535&ne,!(De+(ge=ne>>>24)<=Q);){if(U===0)break e;U--,Y+=K[q++]<>>=De,Q-=De,N.back+=De}if(Y>>>=ge,Q-=ge,N.back+=ge,N.length=Te,Ee===0){N.mode=26;break}if(32&Ee){N.back=-1,N.mode=12;break}if(64&Ee){D.msg="invalid literal/length code",N.mode=30;break}N.extra=15&Ee,N.mode=22;case 22:if(N.extra){for(ee=N.extra;Q>>=N.extra,Q-=N.extra,N.back+=N.extra}N.was=N.length,N.mode=23;case 23:for(;Ee=(ne=N.distcode[Y&(1<>>16&255,Te=65535&ne,!((ge=ne>>>24)<=Q);){if(U===0)break e;U--,Y+=K[q++]<>De)])>>>16&255,Te=65535&ne,!(De+(ge=ne>>>24)<=Q);){if(U===0)break e;U--,Y+=K[q++]<>>=De,Q-=De,N.back+=De}if(Y>>>=ge,Q-=ge,N.back+=ge,64&Ee){D.msg="invalid distance code",N.mode=30;break}N.offset=Te,N.extra=15&Ee,N.mode=24;case 24:if(N.extra){for(ee=N.extra;Q>>=N.extra,Q-=N.extra,N.back+=N.extra}if(N.offset>N.dmax){D.msg="invalid distance too far back",N.mode=30;break}N.mode=25;case 25:if($===0)break e;if(W=ue-$,N.offset>W){if((W=N.offset-W)>N.whave&&N.sane){D.msg="invalid distance too far back",N.mode=30;break}J=W>N.wnext?(W-=N.wnext,N.wsize-W):N.wnext-W,W>N.length&&(W=N.length),ce=N.window}else ce=G,J=O-N.offset,W=N.length;for($M?(B=J[ce+E[F]],Q[xe+E[F]]):(B=96,0),P=1<>O)+(C-=P)]=R<<24|B<<16|_|0,C!==0;);for(P=1<>=1;if(P!==0?(Y&=P-1,Y+=P):Y=0,F++,--ue[D]==0){if(D===K)break;D=m[y+E[F]]}if(G>>7)]}function xe(ne,me){ne.pending_buf[ne.pending++]=255&me,ne.pending_buf[ne.pending++]=me>>>8&255}function ue(ne,me,Be){ne.bi_valid>x-Be?(ne.bi_buf|=me<>x-ne.bi_valid,ne.bi_valid+=Be-x):(ne.bi_buf|=me<>>=1,Be<<=1,0<--me;);return Be>>>1}function ce(ne,me,Be){var oe,be,Ie=new Array(E+1),Re=0;for(oe=1;oe<=E;oe++)Ie[oe]=Re=Re+Be[oe-1]<<1;for(be=0;be<=me;be++){var Pe=ne[2*be+1];Pe!==0&&(ne[2*be]=J(Ie[Pe]++,Pe))}}function ge(ne){var me;for(me=0;me>1;1<=Be;Be--)De(ne,Ie,Be);for(be=he;Be=ne.heap[1],ne.heap[1]=ne.heap[ne.heap_len--],De(ne,Ie,1),oe=ne.heap[1],ne.heap[--ne.heap_max]=Be,ne.heap[--ne.heap_max]=oe,Ie[2*be]=Ie[2*Be]+Ie[2*oe],ne.depth[be]=(ne.depth[Be]>=ne.depth[oe]?ne.depth[Be]:ne.depth[oe])+1,Ie[2*Be+1]=Ie[2*oe+1]=be,ne.heap[1]=be++,De(ne,Ie,1),2<=ne.heap_len;);ne.heap[--ne.heap_max]=ne.heap[1],function(ye,Fe){var Ue,Ye,Ge,Ke,et,Ze,st=Fe.dyn_tree,vt=Fe.max_code,lt=Fe.stat_desc.static_tree,dt=Fe.stat_desc.has_stree,Tt=Fe.stat_desc.extra_bits,ut=Fe.stat_desc.extra_base,pt=Fe.stat_desc.max_length,Ct=0;for(Ke=0;Ke<=E;Ke++)ye.bl_count[Ke]=0;for(st[2*ye.heap[ye.heap_max]+1]=0,Ue=ye.heap_max+1;Ue>=7;be>>=1)if(1&Ce&&Pe.dyn_ltree[2*he]!==0)return l;if(Pe.dyn_ltree[18]!==0||Pe.dyn_ltree[20]!==0||Pe.dyn_ltree[26]!==0)return c;for(he=32;he>>3,(Ie=ne.static_len+3+7>>>3)<=be&&(be=Ie)):be=Ie=Be+5,Be+4<=be&&me!==-1?ee(ne,me,Be,oe):ne.strategy===4||Ie===be?(ue(ne,2+(oe?1:0),3),te(ne,V,D)):(ue(ne,4+(oe?1:0),3),function(Pe,he,Ce,ye){var Fe;for(ue(Pe,he-257,5),ue(Pe,Ce-1,5),ue(Pe,ye-4,4),Fe=0;Fe>>8&255,ne.pending_buf[ne.d_buf+2*ne.last_lit+1]=255&me,ne.pending_buf[ne.l_buf+ne.last_lit]=255&Be,ne.last_lit++,me===0?ne.dyn_ltree[2*Be]++:(ne.matches++,me--,ne.dyn_ltree[2*(N[Be]+m+1)]++,ne.dyn_dtree[2*Q(me)]++),ne.last_lit===ne.lit_bufsize-1},o._tr_align=function(ne){ue(ne,2,3),W(ne,C,V),function(me){me.bi_valid===16?(xe(me,me.bi_buf),me.bi_buf=0,me.bi_valid=0):8<=me.bi_valid&&(me.pending_buf[me.pending++]=255&me.bi_buf,me.bi_buf>>=8,me.bi_valid-=8)}(ne)}},{"../utils/common":41}],53:[function(r,s,o){s.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(r,s,o){(function(a){(function(l,c){if(!l.setImmediate){var u,d,g,m,y=1,b={},A=!1,S=l.document,E=Object.getPrototypeOf&&Object.getPrototypeOf(l);E=E&&E.setTimeout?E:l,u={}.toString.call(l.process)==="[object process]"?function(T){process.nextTick(function(){P(T)})}:function(){if(l.postMessage&&!l.importScripts){var T=!0,k=l.onmessage;return l.onmessage=function(){T=!1},l.postMessage("","*"),l.onmessage=k,T}}()?(m="setImmediate$"+Math.random()+"$",l.addEventListener?l.addEventListener("message",C,!1):l.attachEvent("onmessage",C),function(T){l.postMessage(m+T,"*")}):l.MessageChannel?((g=new MessageChannel).port1.onmessage=function(T){P(T.data)},function(T){g.port2.postMessage(T)}):S&&"onreadystatechange"in S.createElement("script")?(d=S.documentElement,function(T){var k=S.createElement("script");k.onreadystatechange=function(){P(T),k.onreadystatechange=null,d.removeChild(k),k=null},d.appendChild(k)}):function(T){setTimeout(P,0,T)},E.setImmediate=function(T){typeof T!="function"&&(T=new Function(""+T));for(var k=new Array(arguments.length-1),I=0;I"u"?a===void 0?this:a:self)}).call(this,typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(jszip_min);class MXLHelper{static MXLtoIXmlElement(e){const r=new jszip_minExports;return r.loadAsync(e).then(a=>r.file("META-INF/container.xml").async("text"),a=>{throw a}).then(a=>{const u=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("rootfile")[0].getAttribute("full-path");return r.file(u).async("text")},a=>{throw a}).then(a=>{const c=new DOMParser().parseFromString(a,"text/xml"),u=new IXmlElement(c.documentElement);return Promise.resolve(u)},a=>{throw a}).then(a=>a,a=>{throw new Error("extractSheetFromMxl: "+a.message)})}static MXLtoXMLstring(e){const r=new jszip_minExports;return r.loadAsync(e).then(s=>r.file("META-INF/container.xml").async("text"),s=>{throw loglevelExports.error(s),s}).then(s=>{const l=new DOMParser().parseFromString(s,"text/xml").getElementsByTagName("rootfile")[0].getAttribute("full-path");return r.file(l).async("text")},s=>{throw s})}}class PlaybackNoteGenerator{calculate(e){const r=new MusicPartManagerIterator(e);for(;!r.EndReached;){const s=r.CurrentEnrolledTimestamp,o=r.CurrentAudibleVoiceEntries();for(const a of o)this.handleVoiceEntry(e,a,s);r.moveToNext()}}handleVoiceEntry(e,r,s){if(r.IsGrace)return;const o=r.ParentVoice;let a;e.PlaybackDataDict.containsKey(o)?a=e.PlaybackDataDict.getValue(o):(a=[],e.PlaybackDataDict.setValue(o,a));for(const l of r.PlaybackEntries)if(l.HasNotes){for(const u of l.Notes)u.setLength();const c=Fraction$1.plus(s,l.TimestampShift);PlaybackNoteGenerator.addEntrySorted(a,l,c)}}static addEntrySorted(e,r,s){if(e.length===0)e.push({enrolledTimestamp:s,playbackEntry:r});else for(let o=e.length-1;o>=0;o--){const a=e[o];if(s.RealValue>a.enrolledTimestamp.RealValue)if(o===e.length-1){e.push({enrolledTimestamp:s,playbackEntry:r});break}else{e.splice(o+1,0,{enrolledTimestamp:s,playbackEntry:r});break}}}}class ScreenViewingRegion{constructor(e,r,s,o){this.psi=new BoundingBox$1(void 0),this.displaySizeInPixel=e,this.RelativeDisplaySize=r,this.RelativeDisplayPosition=s,this.WidthInUnits=o}static createWithRelativeDefaults(e,r){return new ScreenViewingRegion(e,new SizeF2D(1,1),new PointF2D(0,0),r)}static createWithDefaults(){return new ScreenViewingRegion(new SizeF2D(1,1),new SizeF2D(1,1),new PointF2D(0,0),1)}get UpperLeftPositionInUnits(){return this.psi.AbsolutePosition}set UpperLeftPositionInUnits(e){this.psi.AbsolutePosition=e}get DisplaySizeInPixel(){return this.displaySizeInPixel}set DisplaySizeInPixel(e){this.displaySizeInPixel=e,this.regionSizeInPixel=new SizeF2D(this.displaySizeInPixel.width*this.relativeRegionSize.width,this.displaySizeInPixel.height*this.relativeRegionSize.height),this.recalculateDependentVariables()}get RelativeDisplaySize(){return this.relativeRegionSize}set RelativeDisplaySize(e){this.relativeRegionSize=e,this.regionSizeInPixel=new SizeF2D(this.displaySizeInPixel.width*this.relativeRegionSize.width,this.displaySizeInPixel.height*this.relativeRegionSize.height),this.recalculateDependentVariables()}get RegionSizeInPixel(){return this.regionSizeInPixel}get WidthInUnits(){return this.psi.BorderRight}set WidthInUnits(e){this.psi.BorderRight=e,this.recalculateDependentVariables()}get ViewRegionInUnits(){return new SizeF2D(this.psi.BorderRight,this.psi.BorderBottom)}isVisible(e,r){const s=this.psi.collisionDetection(e);return this.psi.liesInsideBorders(e),s}isInsideDisplayArea(e,r){return this.RelativeDisplayPosition.x<=e&&e<=this.RelativeDisplayPosition.x+this.RelativeDisplaySize.width&&this.RelativeDisplayPosition.y<=r&&r<=this.RelativeDisplayPosition.y+this.RelativeDisplaySize.height}transformToUnitCoordinates(e){return new PointF2D(this.UpperLeftPositionInUnits.x+this.ViewRegionInUnits.width*((e.x-this.RelativeDisplayPosition.x)/this.RelativeDisplaySize.width),this.UpperLeftPositionInUnits.y+this.ViewRegionInUnits.height*((e.y-this.RelativeDisplayPosition.y)/this.RelativeDisplaySize.height))}transformLengthXToUnitCoordinates(e){return e/this.horizontalUnitToPixelRatio}transformLengthYToUnitCoordinates(e){return e/this.verticalUnitToPixelRatio}recalculateDependentVariables(){const e=this.regionSizeInPixel.width/this.regionSizeInPixel.height;this.psi.BorderBottom=this.psi.BorderRight/e,this.horizontalUnitToPixelRatio=this.regionSizeInPixel.width/this.ViewRegionInUnits.width,this.verticalUnitToPixelRatio=this.regionSizeInPixel.height/this.ViewRegionInUnits.height}}class AbstractZoomView{constructor(e){this.aspectRatio=1,this.zoomViews=[],this.mouseZoomMode=!1,this.autoScrollY=!0,this.displayInteractionManager=e,this.displayInteractionManager.addListener(this),this.offsetXMin=Number.MIN_VALUE,this.offsetYMin=Number.MIN_VALUE,this.rangeXMin=1,this.rangeYMin=1,this.offsetXMax=Number.MAX_VALUE,this.offsetYMax=Number.MAX_VALUE,this.rangeXMax=1e9,this.rangeYMax=1e9,this.XScrollingEnabled=!1,this.YScrollingEnabled=!0}positionTouched(e,r){if(!this.convertToUnitsReady())return;const s=this.getPositionInUnits(e,r);this.unitPosTouched(s,e,r)}get TouchActive(){return this.displayInteractionManager.TouchActive}get TouchMoving(){return this.displayInteractionManager.TouchMoving}positionDoubleTouched(e,r){if(!this.convertToUnitsReady())return;const s=this.getPositionInUnits(e,r);this.unitPosDoubleTouched(s,e,r)}get UsesManuallyControlledZoomMode(){return this.usesManuallyControlledZoomMode}set UsesManuallyControlledZoomMode(e){this.usesManuallyControlledZoomMode=e}mouseDown(e,r,s=!1){if(!this.convertToUnitsReady())return;this.selectScrollControllerY(!1),this.lastRangeX=Math.max(1,this.RangeX),this.lastRangeY=Math.max(1,this.RangeY),this.lastOffsetX=this.OffsetX,this.lastOffsetY=this.OffsetY;const o=this.getPositionInUnits(e,r);this.unitPosTouchDown(o,e,r),this.usesManuallyControlledZoomMode||(s?this.mouseZoomMode=!0:this.mouseZoomMode=!1)}mouseUp(e,r){const s=this.getPositionInUnits(e,r);this.unitPosTouchUp(s,e,r)}mouseMove(e,r,s,o){this.mouseZoomMode?(Math.abs(s-0)>1e-8&&(this.RangeX=Math.abs(this.lastRangeX/(1+s))),!this.lockRanges&&Math.abs(o-0)>1e-8&&(this.RangeY=Math.abs(this.lastRangeY/(1-o)))):(Math.abs(s-0)>1e-8&&(this.OffsetX=this.lastOffsetX-s*this.RangeX),Math.abs(o-0)>1e-8&&(this.OffsetY=this.lastOffsetY-o*this.RangeY));const a=this.getPositionInUnits(e,r);this.unitPosMove(a,e,r)}zoom(e){this.RangeX=Math.abs(this.lastRangeX/e)}addZoomView(e){this.zoomViews.push(e)}get OffsetX(){return this.offsetX}set OffsetX(e){this.offsetX=Math.min(this.offsetXMax,Math.max(this.offsetXMin,e));for(const r of this.zoomViews)r.viewportXChanged(this.offsetX,this.RangeX)}get OffsetY(){return this.offsetY}set OffsetY(e){this.offsetY=e,this.offsetY>this.offsetYMax?this.offsetY=this.offsetYMax:this.offsetY(i[i.SingleTouch=0]="SingleTouch",i[i.DoubleTouch=1]="DoubleTouch",i[i.TouchUp=2]="TouchUp",i[i.TouchDown=3]="TouchDown",i[i.Move=4]="Move",i))(InteractionType||{});class VoiceEntryInteractionListener{constructor(e){this.renderingManager=e}userDisplayInteraction(e,r,s){var o,a;switch(s){case InteractionType.TouchDown:case InteractionType.SingleTouch:case InteractionType.DoubleTouch:{const l=this.renderingManager.GraphicalMusicSheet.GetNearestVoiceEntry(r);if(l&&l.parentStaffEntry.parentVerticalContainer!==void 0){const c=l.parentStaffEntry.parentVerticalContainer.AbsoluteTimestamp;this.renderingManager.setStartPosition(c),((o=l.notes[0])==null?void 0:o.sourceNote.Pitch)!==void 0&&((a=this.renderingManager.PlaybackManager)==null||a.playVoiceEntry(l.parentVoiceEntry))}break}}}}class SheetRenderingManager extends AbstractZoomView{constructor(e,r){super(e),this.mainViewingRegion=ScreenViewingRegion.createWithDefaults(),this.tryAgainToRenderCount=0,this.yOffsetMouseDown=Number.MIN_VALUE,this.unlockCursorDistancePixel=50,this.relativeTopPosition=.06,this.internalPreviewImageScale=3,this.listeners=[],this.LockDisplayToCursor=!0,this.ZoomActive=!1,this.rules=r,this.addZoomView(this),this.lockRanges=!0,this.TopBarHeightInPixel=70,this.BottomBarHeightInPixel=0,this.rules.UseDefaultVoiceInteractionListener&&this.listeners.push(new VoiceEntryInteractionListener(this))}addListener(e){this.listeners.push(e)}get Listeners(){return this.listeners}convertToUnitsReady(){return this.graphicalMusicSheet!==void 0}unitPosTouched(e,r,s){if(!this.SingleTouchDisabled){const o=new PointF2D(r,s);this.handleUserDisplayInteraction(o,e,InteractionType.SingleTouch)}}unitPosDoubleTouched(e,r,s){if(!this.DoubleTouchDisabled){const o=new PointF2D(r,s);this.handleUserDisplayInteraction(o,e,InteractionType.DoubleTouch)}}unitPosTouchDown(e,r,s){const o=new PointF2D(r,s);this.handleUserDisplayInteraction(o,e,InteractionType.TouchDown),this.yOffsetMouseDown=e.y}unitPosTouchUp(e,r,s){const o=new PointF2D(r,s);this.handleUserDisplayInteraction(o,e,InteractionType.TouchUp),this.displayInteractionManager.WasZoomGestureActive===!1&&this.unlockFromCursorIfNecessary(e),this.yOffsetMouseDown=Number.MIN_VALUE}unitPosMove(e,r,s){const o=new PointF2D(r,s);this.handleUserDisplayInteraction(o,e,InteractionType.Move),this.unlockFromCursorIfNecessary(e)}get MainViewingRegion(){return this.mainViewingRegion}setMusicSheet(e){this.graphicalMusicSheet=e,this.adaptDisplayLimitsToSheet(),this.setYOffset(0,!0)}viewportXChanged(e,r){this.graphicalMusicSheet!==void 0&&this.horizontalViewportChanged(e,r)}viewportYChanged(e,r){this.graphicalMusicSheet!==void 0&&(this.yOffsetMouseDown<=Number.MIN_VALUE+.5&&(this.yOffsetMouseDown=e),this.verticalViewportChanged(e,r))}displaySizeChanged(e,r){super.viewSizeChanged(e,r),!(Math.abs(e-0)<1e-7||Math.abs(r-0)<1e-7)&&(this.graphicalMusicSheet!==void 0&&this.graphicalMusicSheet.EnforceRedrawOfMusicSystems(),this.mainViewingRegion.DisplaySizeInPixel=new SizeF2D(e,r),this.adaptDisplayLimitsToSheet())}calcDisplayYPosition(e){return e.PositionAndShape.AbsolutePosition.y+e.PositionAndShape.BorderMarginTop-this.topBarHeightInUnits()-this.relativeTopPosition*this.heightWithoutTopBottomBarsInUnits()}yPositionForLastSystem(e){return e.PositionAndShape.AbsolutePosition.y+e.PositionAndShape.BorderMarginBottom-this.topBarHeightInUnits()-(1-this.relativeTopPosition)*this.heightWithoutTopBottomBarsInUnits()}scorePositionChanged(e,r,s,o,a,l){const c=this.calcDisplayYPosition(o);this.setYPosition(c,l)}setXPosition(e,r){this.LockDisplayToCursor&&this.setXOffset(e,r)}setYPosition(e,r){this.LockDisplayToCursor&&this.setYOffset(e,r)}get DrawingParameters(){return this.musicSheetDrawer.drawingParameters}topBarHeightInUnits(){return this.mainViewingRegion.transformLengthYToUnitCoordinates(this.TopBarHeightInPixel)}bottomBarHeightInUnits(){return this.mainViewingRegion.transformLengthYToUnitCoordinates(this.BottomBarHeightInPixel)}heightWithoutTopBottomBarsInUnits(){return this.mainViewingRegion.ViewRegionInUnits.height-this.topBarHeightInUnits()-this.bottomBarHeightInUnits()}activePositionToBottomBarHeight(){return(this.mainViewingRegion.ViewRegionInUnits.height-this.topBarHeightInUnits()-this.bottomBarHeightInUnits())*(1-2*this.relativeTopPosition)}getClickPosition(e,r){return this.mainViewingRegion.transformToUnitCoordinates(new PointF2D(e,r))}graphicalObjectIsVisible(e){return this.mainViewingRegion.isVisible(e,!1)}adaptDisplayLimitsToSheet(){if(this.graphicalMusicSheet===void 0||this.graphicalMusicSheet.MusicPages.length===0||this.graphicalMusicSheet.MusicPages[0].MusicSystems.length===0)return;this.offsetXMin=0,this.rangeXMin=this.graphicalMusicSheet.MinAllowedSystemWidth,this.rangeXMax=300,this.offsetYMin=-.3*this.RangeY;const e=this.graphicalMusicSheet.MusicPages.last().PositionAndShape;this.offsetYMax=Math.max(0,e.BorderMarginBottom-.7*this.RangeY),this.OffsetY>this.offsetYMax&&this.setYOffset(this.offsetYMax,!0)}horizontalViewportChanged(e,r){this.mainViewingRegion.WidthInUnits!==r&&(this.mainViewingRegion.WidthInUnits=r)}verticalViewportChanged(e,r){this.mainViewingRegion.UpperLeftPositionInUnits=new PointF2D(this.mainViewingRegion.UpperLeftPositionInUnits.x,e)}unlockFromCursorIfNecessary(e){if(this.LockDisplayToCursor===!1||this.ZoomActive||this.displayInteractionManager.ZoomGestureActive||this.displayInteractionManager.WasZoomGestureActive)return;Math.abs((e.y-this.yOffsetMouseDown)*this.mainViewingRegion.RegionSizeInPixel.height/this.mainViewingRegion.ViewRegionInUnits.height)>this.unlockCursorDistancePixel&&(this.LockDisplayToCursor=!1)}getPositionInUnits(e,r){return this.mainViewingRegion.transformToUnitCoordinates(new PointF2D(e,r))}handleUserDisplayInteraction(e,r,s){switch(s){case InteractionType.TouchDown:case InteractionType.SingleTouch:case InteractionType.DoubleTouch:case InteractionType.TouchUp:case InteractionType.TouchDown:case InteractionType.Move:for(const o of this.listeners)o.userDisplayInteraction(e,r,s);break;default:throw new Error("type")}}setStartPosition(e){var r;this.graphicalMusicSheet!==void 0&&(this.graphicalMusicSheet.ParentMusicSheet.SelectionStart=e,(r=this.PlaybackManager)==null||r.reset())}get GraphicalMusicSheet(){return this.graphicalMusicSheet}}class WebSheetRenderingManager extends SheetRenderingManager{mouseMove(e,r,s,o){const a=this.getPositionInUnits(e,r);this.unitPosMove(a,e,r)}}class AbstractDisplayInteractionManager{constructor(){this.listeners=[],this.zoomGestureActive=!1,this.touchCount=0,this.touchActive=!1,this.touchMoving=!1,this.displayWidth=1,this.displayHeight=1,this.displayDpi=96,this.maxNumerOfFingers=2,this.movementThreshInch=.075,this.interactionWasZoomGesture=!1}addListener(e){this.listeners.push(e)}get ZoomGestureActive(){return this.zoomGestureActive}get WasZoomGestureActive(){return this.interactionWasZoomGesture}displaySizeChanged(e,r){this.displayWidth=e,this.displayHeight=r;for(const s of this.listeners)s.displaySizeChanged(this.displayWidth,this.displayHeight)}Dispose(){this.dispose()}Initialize(){this.initialize()}get DisplayDpi(){return this.displayDpi}get TouchActive(){return this.touchActive}get TouchMoving(){return this.touchMoving}touchDown(e,r,s){this.interactionWasZoomGesture=!1;const o=e/this.displayWidth,a=r/this.displayHeight;this.lastRelPosX=o,this.lastRelPosY=a,this.lastPixelX=e,this.lastPixelY=r,this.touchActive=!0,this.touchMoving=!1,this.touchCount=Math.min(this.touchCount+1,this.maxNumerOfFingers);for(const l of this.listeners)l.mouseDown(o,a,!s)}move(e,r){if(this.touchActive&&!this.zoomGestureActive){const s=e/this.displayWidth,o=r/this.displayHeight,a=s-this.lastRelPosX,l=o-this.lastRelPosY;this.touchMoving=!0;for(const c of this.listeners)c.mouseMove(s,o,a,l)}}zoomGestureStarted(){this.zoomGestureActive=!0}zoomGestureCompleted(){this.zoomGestureActive=!1,this.interactionWasZoomGesture=!0}zoomGestureMove(e){this.zoomGestureActive&&this.listeners.forEach(function(r){r.zoom(e)})}touchUp(e,r){this.touchActive=!1,this.touchMoving=!1,this.touchCount=Math.max(0,this.touchCount-1);const s=e/this.displayWidth,o=r/this.displayHeight;for(const a of this.listeners)a.mouseUp(s,o)}click(e,r){if(!this.mouseDidMove(this.lastPixelX,e,this.lastPixelY,r)&&!this.ZoomGestureActive){const s=e/this.displayWidth,o=r/this.displayHeight;for(const a of this.listeners)a.positionTouched(s,o)}}doubleClick(e,r){if(!this.mouseDidMove(this.lastPixelX,e,this.lastPixelY,r)&&!this.ZoomGestureActive){const s=e/this.displayWidth,o=r/this.displayHeight;for(const a of this.listeners)a.positionDoubleTouched(s,o)}}mouseDidMove(e,r,s,o){const a=Math.abs(e-r)/this.displayDpi,l=Math.abs(s-o)/this.displayDpi;return a>this.movementThreshInch||l>this.movementThreshInch}}class WebDisplayInteractionManager extends AbstractDisplayInteractionManager{constructor(e){super(),this.fullOffsetLeft=0,this.fullOffsetTop=0,this.fullScrollTop=0,this.fullScrollLeft=0,this.parentScrollMap=new Map,this.scrollCallbackMap=new Map,this.timeout=void 0,this.resizeObserver=void 0,this.EventCallbackMap=new Dictionary,this.DOUBLE_CLICK_WINDOW=200,this.lastClick=0,this.osmdSheetMusicContainer=e,this.listenForInteractions()}get FullOffsetTop(){return this.fullOffsetTop}get FullScrollTop(){return this.fullScrollTop}get FullOffsetLeft(){return this.fullOffsetLeft}get FullScrollLeft(){return this.fullScrollLeft}static resizeCallback(e,r){clearTimeout(r.timeout),r.timeout=setTimeout(()=>{r.fullOffsetLeft=0,r.fullOffsetTop=0;let s=r.osmdSheetMusicContainer;for(;s;)r.fullOffsetLeft+=s.offsetLeft,r.fullOffsetTop+=s.offsetTop,s=s.offsetParent;r.resizeEventListener(),r.deregisterScrollOffsets(),r.registerScrollOffsets()},500)}registerScrollOffsets(){let e=this.osmdSheetMusicContainer;this.fullScrollTop=0,this.fullScrollLeft=0;const r=this;for(;e&&e!==document.documentElement;){if(this.parentScrollMap.set(e,[e.scrollTop,e.scrollLeft]),this.fullScrollLeft+=e.scrollLeft,this.fullScrollTop+=e.scrollTop,e.scrollHeight>e.clientHeight){const s=function(o){const a=r.parentScrollMap.get(this),l=a[0],c=a[1];r.fullScrollTop=r.fullScrollTop-l+this.scrollTop,r.fullScrollLeft=r.fullScrollLeft-c+this.scrollLeft,r.parentScrollMap.set(this,[this.scrollTop,this.scrollLeft])};this.scrollCallbackMap.set(e,s),e.addEventListener("scroll",s)}e=e.parentElement}}deregisterScrollOffsets(){for(const e of this.scrollCallbackMap.keys())e.removeEventListener("scroll",this.scrollCallbackMap.get(e));this.scrollCallbackMap.clear()}initialize(){this.fullOffsetLeft=0,this.fullOffsetTop=0;let e=this.osmdSheetMusicContainer;const r=[],s=this;for(window.ResizeObserver&&(this.resizeObserver=new ResizeObserver(o=>{WebDisplayInteractionManager.resizeCallback(o,s)}));e;)this.fullOffsetLeft+=e.offsetLeft,this.fullOffsetTop+=e.offsetTop,this.resizeObserver?this.resizeObserver.observe(e):r.push(e),e=e.offsetParent;if(this.resizeObserver)this.disposeResizeListener=()=>{s.resizeObserver.disconnect(),s.resizeObserver=void 0};else{let o=()=>{WebDisplayInteractionManager.resizeCallback(r,s)};window.addEventListener("resize",o),this.disposeResizeListener=()=>{window.removeEventListener("resize",o),o=void 0}}s.registerScrollOffsets()}dispose(){this.disposeResizeListener();for(const e of this.EventCallbackMap.keys()){const r=this.EventCallbackMap.getValue(e);r[0].removeEventListener(e,r[1])}this.EventCallbackMap.clear(),this.deregisterScrollOffsets(),this.scrollCallbackMap.clear(),this.parentScrollMap.clear()}isTouch(){if("ontouchstart"in window||window.DocumentTouch)return!0;if(!window.matchMedia)return!1;const r=["(",["-webkit-","-moz-","-o-","-ms-"].join("touch-enabled),("),"heartz",")"].join("");return window.matchMedia(r).matches}get downEventName(){return this.isTouch()?"touchstart":"mousedown"}get moveEventName(){return this.isTouch()?"touchmove":"mousemove"}listenForInteractions(){const e=this.downEventListener.bind(this),r=this.touchEndEventListener.bind(this),s=this.moveEventListener.bind(this);this.osmdSheetMusicContainer.addEventListener("mousedown",e),this.osmdSheetMusicContainer.addEventListener("touchend",r),document.addEventListener(this.moveEventName,s),this.EventCallbackMap.setValue("mousedown",[this.osmdSheetMusicContainer,e]),this.EventCallbackMap.setValue("touchend",[this.osmdSheetMusicContainer,r]),this.EventCallbackMap.setValue(this.moveEventName,[document,s])}downEventListener(e){const r=new Date().getTime(),s=r-this.lastClick;clearTimeout(this.clickTimeout);let o=0,a=0;this.isTouch()&&e instanceof TouchEvent?(o=e.touches[0].pageX,a=e.touches[0].pageY):e instanceof MouseEvent&&(o=e.pageX,a=e.pageY);const l=this.getOffsetCoordinates(o,a);if(s0)this.doubleClick(l.x,l.y);else{const c=this;this.clickTimeout=setTimeout(function(){clearTimeout(this.clickTimeout),c.isTouch()?c.touchDown(l.x,l.y,void 0):c.click(l.x,l.y)},this.DOUBLE_CLICK_WINDOW)}this.lastClick=r}moveEventListener(e){let r=0,s=0;if(this.isTouch()&&e instanceof TouchEvent){let a;e.touches&&e.touches.length>0?a=e.touches[0]:e.changedTouches&&e.changedTouches.length>0&&(a=e.changedTouches[0]),r=a==null?void 0:a.clientX,s=a==null?void 0:a.clientY}else e instanceof MouseEvent&&(r=e.clientX,s=e.clientY);const o=this.getOffsetCoordinates(r,s);this.move(o.x,o.y)}touchEndEventListener(e){let r;e.touches&&e.touches.length>0?r=e.touches[0]:e.changedTouches&&e.changedTouches.length>0&&(r=e.changedTouches[0]);const s=this.getOffsetCoordinates(r==null?void 0:r.pageX,r==null?void 0:r.pageY);this.touchUp(s.x,s.y)}resizeEventListener(){this.displaySizeChanged(this.osmdSheetMusicContainer.clientWidth,this.osmdSheetMusicContainer.clientHeight)}getOffsetCoordinates(e,r){const s=e-this.fullOffsetLeft+this.fullScrollLeft,o=r-this.fullOffsetTop+this.fullScrollTop;return new PointF2D(s,o)}}class DynamicsCalculator{static fillDynamicsList(e,r,s){for(let o=0;o=0&&s[u].push(new DynamicsContainer(c.InstantaneousDynamic,u))}if(c.StartingContinuousDynamic!==void 0){s[o].push(new DynamicsContainer(c.StartingContinuousDynamic,c.StaffNumber));const u=this.getOtherStaffIndexIfLinkedStavesAreDetected(e,o,c.StartingContinuousDynamic.Placement);u>=0&&s[u].push(new DynamicsContainer(c.StartingContinuousDynamic,u))}}}}static getOtherStaffIndexIfLinkedStavesAreDetected(e,r,s){const o=e.getStaffFromIndex(r),a=o.ParentInstrument.Staves.indexOf(o),l=o.ParentInstrument.Staves.length;return l>1&&a===0&&s===PlacementEnum.Below?r+1:l>1&&a===1&&s===PlacementEnum.Above?r-1:-1}static fillDynamicExpressions(e){const r=e.DynListStaves,s=e.getCompleteNumberOfStaves(),o=e.TimestampSortedDynamicExpressionsList;for(let a=0;a{e(this.processStringXml(s))},s=>{loglevelExports.error(new Error("[OSMD] Invalid MXL file: "+s)),r(new Error("[OSMD] Invalid MXL file: "+s))})}processStringXml(i){const e=new DOMParser;if(i.substr(0,3)==="")return loglevelExports.debug("[OSMD] UTF with BOM detected, truncate first three bytes and pass along: "+i),e.parseFromString(i.substr(3),"application/xml");if(i.substr(0,6).includes("{r.isMxl(m)?r.processMxl(m,c,u):c(r.processStringXml(m))},m=>{throw u(m),m});else{const m=new Error("[OSMD] osmd.load(string): Could not process string. Did not find {e.init(this.sheet.MusicPartManager,this.graphic)}),this.drawingParameters.DrawingParametersEnum===DrawingParametersEnum.leadsheet&&(this.graphic.LeadSheet=!0),this.renderingManager.setMusicSheet(this.graphic),this.interactionManager.Initialize()}render(){var e;if(!this.graphic)throw new Error("OpenSheetMusicDisplay: Before rendering a music sheet, please load a MusicXML file");(e=this.drawer)==null||e.clear();let i=this.container.offsetWidth;this.rules.RenderSingleHorizontalStaffline&&(i=this.rules.SheetMaximumWidth),this.sheet.pageWidth=i/this.zoom/10,this.renderingManager.MainViewingRegion.WidthInUnits=this.sheet.pageWidth,this.rules.PageFormat&&!this.rules.PageFormat.IsUndefined?(this.rules.PageHeight=this.sheet.pageWidth/this.rules.PageFormat.aspectRatio,loglevelExports.debug("[OSMD] PageHeight: "+this.rules.PageHeight)):(loglevelExports.debug("[OSMD] endless/undefined pageformat, id: "+this.rules.PageFormat.idString),this.rules.PageHeight=100001),this.graphic.reCalculate(),this.drawingParameters.drawCursors&&(this.graphic.Cursors.length=0),this.createOrRefreshRenderBackend(),this.needBackendUpdate=!1,this.drawer.setZoom(this.zoom);for(const r of this.sheet.SourceMeasures)r.WasRendered=!1;this.drawer.drawSheet(this.graphic),this.enableOrDisableCursors(this.drawingParameters.drawCursors),this.drawingParameters.drawCursors&&this.cursors.forEach(r=>{r.update()}),this.zoomUpdated=!1,this.interactionManager.displaySizeChanged(this.container.clientWidth,this.container.clientHeight),this.rules.RenderCount++}createOrRefreshRenderBackend(){if(this.drawer&&this.drawer.Backends){this.drawer.Backends[0]&&this.drawer.Backends[0].removeAllChildrenFromContainer(this.container);for(const s of this.drawer.Backends)s.free();this.drawer.Backends.clear()}this.drawingParameters.Rules=this.rules,this.drawer=new VexFlowMusicSheetDrawer(this.drawingParameters),this.drawer.drawableBoundingBoxElement=this.DrawBoundingBox,this.drawer.bottomLineVisible=this.drawBottomLine,this.drawer.skyLineVisible=this.drawSkyLine;let i=this.container.offsetWidth;this.rules.RenderSingleHorizontalStaffline&&(i=(this.EngravingRules.PageLeftMargin+this.graphic.MusicPages[0].PositionAndShape.Size.width+this.EngravingRules.PageRightMargin)*10*this.zoom);let e;const r=32767;for(const s of this.graphic.MusicPages){if(s.PageNumber>this.rules.MaxPageToDrawNumber)break;const o=this.createBackend(this.backendType,s),a=" exceeds CanvasBackend limit of 32767. Cutting off score.";o.getOSMDBackendType()===BackendType.Canvas&&i>r&&(loglevelExports.warn("[OSMD] Warning: width of "+i+a),i=r),this.rules.PageFormat&&!this.rules.PageFormat.IsUndefined?e=i/this.rules.PageFormat.aspectRatio:(e=s.PositionAndShape.Size.height,e+=this.rules.PageBottomMargin,o.getOSMDBackendType()===BackendType.Canvas&&(e+=.1),e+=s.PositionAndShape.BorderTop,this.rules.RenderTitle&&(e+=this.rules.TitleTopDistance),e*=this.zoom*10),o.getOSMDBackendType()===BackendType.Canvas&&e>r&&(loglevelExports.warn("[OSMD] Warning: height of "+e+a),e=Math.min(e,r)),o.resize(i,e),o.clear(),o.getContext().setFillStyle(this.rules.DefaultColorMusic),o.getContext().setStrokeStyle(this.rules.DefaultColorMusic),this.drawer.Backends.push(o),this.graphic.drawer=this.drawer}}exportSVG(){var i;for(const e of(i=this.drawer)==null?void 0:i.Backends)e instanceof SvgVexFlowBackend&&e.export()}IsReadyToRender(){return this.graphic!==void 0}clear(){var i;(i=this.drawer)==null||i.clear(),this.reset()}dispose(){this.disposeResizeListener&&this.disposeResizeListener(),this.InteractionManager&&this.InteractionManager.Dispose()}setOptions(i){if(this.rules||(this.rules=new EngravingRules),!this.drawingParameters&&!i.drawingParameters?this.drawingParameters=new DrawingParameters(DrawingParametersEnum.default,this.rules):i.drawingParameters&&(this.drawingParameters?this.drawingParameters.DrawingParametersEnum=DrawingParametersEnum[i.drawingParameters.toLowerCase()]:this.drawingParameters=new DrawingParameters(DrawingParametersEnum[i.drawingParameters],this.rules)),i==null){loglevelExports.warn(`warning: osmd.setOptions() called without an options parameter, has no effect. example usage: osmd.setOptions({drawCredits: false, drawPartNames: false})`);return}this.OnXMLRead=function(o){return o},i.onXMLRead&&(this.OnXMLRead=i.onXMLRead);let r=!this.drawer||!this.drawer.Backends||this.drawer.Backends.length<1;if(i.backend!==void 0){const o=OSMDOptions.BackendTypeFromString(i.backend);r=r||this.backendType!==o,this.backendType=o}this.needBackendUpdate=r,i.autoBeam!==void 0&&(this.rules.AutoBeamNotes=i.autoBeam);const s=i.autoBeamOptions;if(s&&(s.maintain_stem_directions===void 0&&(s.maintain_stem_directions=!1),this.rules.AutoBeamOptions=s,s.groups&&s.groups.length)){for(const o of s.groups)if(o.length!==2)throw new Error("Each fraction in autoBeamOptions.groups must be of length 2, e.g. [3,4] for beaming three fourths")}i.percussionOneLineCutoff!==void 0&&(this.rules.PercussionOneLineCutoff=i.percussionOneLineCutoff),this.rules.PercussionOneLineCutoff!==0&&i.percussionForceVoicesOneLineCutoff!==void 0&&(this.rules.PercussionForceVoicesOneLineCutoff=i.percussionForceVoicesOneLineCutoff),i.alignRests!==void 0&&(this.rules.AlignRests=i.alignRests),i.coloringMode!==void 0&&this.setColoringMode(i),i.coloringEnabled!==void 0&&(this.rules.ColoringEnabled=i.coloringEnabled),i.colorStemsLikeNoteheads!==void 0&&(this.rules.ColorStemsLikeNoteheads=i.colorStemsLikeNoteheads),i.disableCursor&&(this.drawingParameters.drawCursors=!1),i.drawHiddenNotes&&(this.drawingParameters.drawHiddenNotes=!0),i.drawCredits!==void 0&&(this.drawingParameters.DrawCredits=i.drawCredits),i.drawComposer!==void 0&&(this.drawingParameters.DrawComposer=i.drawComposer),i.drawTitle!==void 0&&(this.drawingParameters.DrawTitle=i.drawTitle),i.drawSubtitle!==void 0&&(this.drawingParameters.DrawSubtitle=i.drawSubtitle),i.drawLyricist!==void 0&&(this.drawingParameters.DrawLyricist=i.drawLyricist),i.drawMetronomeMarks!==void 0&&(this.rules.MetronomeMarksDrawn=i.drawMetronomeMarks),i.drawPartNames!==void 0&&(this.drawingParameters.DrawPartNames=i.drawPartNames,i.drawPartAbbreviations||(this.rules.RenderPartAbbreviations=i.drawPartNames)),i.drawPartAbbreviations!==void 0&&(this.rules.RenderPartAbbreviations=i.drawPartAbbreviations),i.drawFingerings===!1&&(this.rules.RenderFingerings=!1),i.drawMeasureNumbers!==void 0&&(this.rules.RenderMeasureNumbers=i.drawMeasureNumbers),i.drawMeasureNumbersOnlyAtSystemStart&&(this.rules.RenderMeasureNumbersOnlyAtSystemStart=i.drawMeasureNumbersOnlyAtSystemStart),i.drawLyrics!==void 0&&(this.rules.RenderLyrics=i.drawLyrics),i.drawTimeSignatures!==void 0&&(this.rules.RenderTimeSignatures=i.drawTimeSignatures),i.drawSlurs!==void 0&&(this.rules.RenderSlurs=i.drawSlurs),i.measureNumberInterval!==void 0&&(this.rules.MeasureNumberLabelOffset=i.measureNumberInterval),i.useXMLMeasureNumbers!==void 0&&(this.rules.UseXMLMeasureNumbers=i.useXMLMeasureNumbers),i.fingeringPosition!==void 0&&(this.rules.FingeringPosition=AbstractExpression.PlacementEnumFromString(i.fingeringPosition)),i.fingeringInsideStafflines!==void 0&&(this.rules.FingeringInsideStafflines=i.fingeringInsideStafflines),i.newSystemFromXML!==void 0&&(this.rules.NewSystemAtXMLNewSystemAttribute=i.newSystemFromXML),i.newSystemFromNewPageInXML!==void 0&&(this.rules.NewSystemAtXMLNewPageAttribute=i.newSystemFromNewPageInXML),i.newPageFromXML!==void 0&&(this.rules.NewPageAtXMLNewPageAttribute=i.newPageFromXML),i.fillEmptyMeasuresWithWholeRest!==void 0&&(this.rules.FillEmptyMeasuresWithWholeRest=i.fillEmptyMeasuresWithWholeRest),i.followCursor!==void 0&&(this.FollowCursor=i.followCursor),i.setWantedStemDirectionByXml!==void 0&&(this.rules.SetWantedStemDirectionByXml=i.setWantedStemDirectionByXml),i.darkMode?(this.rules.applyDefaultColorMusic("#FFFFFF"),this.rules.PageBackgroundColor="#000000"):i.darkMode===!1&&(this.rules.applyDefaultColorMusic("#000000"),this.rules.PageBackgroundColor=void 0),i.defaultColorMusic&&this.rules.applyDefaultColorMusic(i.defaultColorMusic),i.defaultColorNotehead&&(this.rules.DefaultColorNotehead=i.defaultColorNotehead),i.defaultColorRest&&(this.rules.DefaultColorRest=i.defaultColorRest),i.defaultColorStem&&(this.rules.DefaultColorStem=i.defaultColorStem),i.defaultColorLabel&&(this.rules.DefaultColorLabel=i.defaultColorLabel),i.defaultColorTitle&&(this.rules.DefaultColorTitle=i.defaultColorTitle),i.defaultFontFamily&&(this.rules.DefaultFontFamily=i.defaultFontFamily),i.defaultFontStyle&&(this.rules.DefaultFontStyle=i.defaultFontStyle),i.drawUpToMeasureNumber&&(this.rules.MaxMeasureToDrawIndex=i.drawUpToMeasureNumber-1),i.drawFromMeasureNumber&&(this.rules.MinMeasureToDrawIndex=i.drawFromMeasureNumber-1),i.drawUpToPageNumber&&(this.rules.MaxPageToDrawNumber=i.drawUpToPageNumber),i.drawUpToSystemNumber&&(this.rules.MaxSystemToDrawNumber=i.drawUpToSystemNumber),i.tupletsRatioed&&(this.rules.TupletsRatioed=!0),i.tupletsBracketed&&(this.rules.TupletsBracketed=!0),i.tripletsBracketed&&(this.rules.TripletsBracketed=!0),i.autoResize?(this.resizeHandlerAttached||this.autoResize(),this.autoResizeEnabled=!0):i.autoResize===!1&&(this.autoResizeEnabled=!1),i.pageFormat!==void 0&&this.setPageFormat(i.pageFormat),i.pageBackgroundColor!==void 0&&(this.rules.PageBackgroundColor=i.pageBackgroundColor),i.performanceMode!==void 0&&(this.rules.PerformanceMode=i.performanceMode),i.renderSingleHorizontalStaffline!==void 0&&(this.rules.RenderSingleHorizontalStaffline=i.renderSingleHorizontalStaffline),i.spacingFactorSoftmax!==void 0&&(this.rules.SoftmaxFactorVexFlow=i.spacingFactorSoftmax),i.spacingBetweenTextLines!==void 0&&(this.rules.SpacingBetweenTextLines=i.spacingBetweenTextLines),i.stretchLastSystemLine!==void 0&&(this.rules.StretchLastSystemLine=i.stretchLastSystemLine),i.autoGenerateMultipleRestMeasuresFromRestMeasures!==void 0&&(this.rules.AutoGenerateMultipleRestMeasuresFromRestMeasures=i.autoGenerateMultipleRestMeasuresFromRestMeasures),i.cursorsOptions!==void 0?this.cursorsOptions=i.cursorsOptions:this.cursorsOptions=[{type:CursorType.Standard,color:this.EngravingRules.DefaultColorCursor,alpha:.5,follow:!0}],i.preferredSkyBottomLineBatchCalculatorBackend!==void 0&&(this.rules.PreferredSkyBottomLineBatchCalculatorBackend=i.preferredSkyBottomLineBatchCalculatorBackend),i.skyBottomLineBatchMinMeasures!==void 0&&(this.rules.SkyBottomLineBatchMinMeasures=i.skyBottomLineBatchMinMeasures)}setColoringMode(i){if(i.coloringMode===ColoringModes.XML){this.rules.ColoringMode=ColoringModes.XML;return}const e=[NoteEnum.C,NoteEnum.D,NoteEnum.E,NoteEnum.F,NoteEnum.G,NoteEnum.A,NoteEnum.B];let r;if(i.coloringMode===ColoringModes.CustomColorSet){if(!i.coloringSetCustom||i.coloringSetCustom.length!==8)throw new Error("Invalid amount of colors: With coloringModes.customColorSet, you have to provide a coloringSetCustom parameter (array) with 8 strings (C to B, rest note).");for(const o of i.coloringSetCustom)if(!/^\#[0-9a-fA-F]{6}$/.test(o))throw new Error(`One of the color strings in options.coloringSetCustom was not a valid HTML Hex color: `+o);r=i.coloringSetCustom}else if(i.coloringMode===ColoringModes.AutoColoring){r=[];const o=Object.keys(AutoColorSet);for(let a=0;a{i.hide()}),this.sheet=void 0,this.graphic=void 0,this.zoom=1,this.rules.RenderCount=0}autoResize(){const i=this;this.handleResize(()=>{},()=>{var e;((e=this.graphic)==null?void 0:e.GetCalculator)instanceof VexFlowMusicSheetCalculator&&(this.graphic.GetCalculator.beamsNeedUpdate=!0),i.IsReadyToRender()&&i.render()})}handleResize(i,e){let r,s;const a=this;function l(){a.AutoResizeEnabled&&(r=new Date().getTime(),s||(i(),r=new Date().getTime(),s=window.setTimeout(c,200)))}function c(){s=void 0,window.clearTimeout(s),new Date().getTime()-r<200?s=window.setTimeout(c,200):e()}window.attachEvent?window.attachEvent("onresize",l):window.addEventListener("resize",l),this.disposeResizeListener=()=>{window.detachEvent?window.detachEvent("onresize",l):window.removeEventListener("resize",l),this.resizeHandlerAttached=!1},this.resizeHandlerAttached=!0,window.setTimeout(i,0),window.setTimeout(e,1)}enableOrDisableCursors(i){var e,r,s,o,a,l,c,u,d;if(this.drawingParameters.drawCursors=i,i){for(let g=0;g{g.hide()})}createBackend(i,e){let r;return i===void 0||i===BackendType.SVG?r=new SvgVexFlowBackend(this.rules):r=new CanvasVexFlowBackend(this.rules),r.graphicalMusicPage=e,r.initialize(this.container,this.zoom),r}static StringToPageFormat(i){let e=PageFormat.UndefinedPageFormat;if(i.match("^[0-9]+x[0-9]+$")){const r=i.split("x"),s=Number.parseInt(r[0],10),o=Number.parseInt(r[1],10);s>0&&s<32768&&o>0&&o<32768&&(e=new PageFormat(s,o,`customPageFormat${i}`))}return i=i.replace(" ","_"),i=i.replace("Landscape","L"),i=i.replace("Portrait","P"),_OpenSheetMusicDisplay.PageFormatStandards.hasOwnProperty(i)&&(e=_OpenSheetMusicDisplay.PageFormatStandards[i]),e}setPageFormat(i){const e=_OpenSheetMusicDisplay.StringToPageFormat(i);this.needBackendUpdate=!e.Equals(this.rules.PageFormat),this.rules.PageFormat=e}setCustomPageFormat(i,e){if(i>0&&e>0){const r=new PageFormat(i,e);this.rules.PageFormat=r}}set DrawSkyLine(i){this.drawSkyLine=i,this.drawer&&(this.drawer.skyLineVisible=i)}get DrawSkyLine(){return this.drawer.skyLineVisible}set DrawBottomLine(i){this.drawBottomLine=i,this.drawer&&(this.drawer.bottomLineVisible=i)}get DrawBottomLine(){return this.drawer.bottomLineVisible}set DrawBoundingBox(i){this.setDrawBoundingBox(i,!0)}get DrawBoundingBox(){return this.drawBoundingBox}setDrawBoundingBox(i,e=!1){this.drawBoundingBox=i,this.drawer&&(this.drawer.drawableBoundingBoxElement=i),e&&this.render()}get AutoResizeEnabled(){return this.autoResizeEnabled}set AutoResizeEnabled(i){this.autoResizeEnabled=i}get Zoom(){return this.zoom}set Zoom(i){var e;this.zoom=i,this.zoomUpdated=!0,((e=this.graphic)==null?void 0:e.GetCalculator)instanceof VexFlowMusicSheetCalculator&&(this.graphic.GetCalculator.beamsNeedUpdate=this.zoomUpdated)}set FollowCursor(i){this.followCursor=i}get FollowCursor(){return this.followCursor}set TransposeCalculator(i){MusicSheetCalculator.transposeCalculator=i}get TransposeCalculator(){return MusicSheetCalculator.transposeCalculator}get Sheet(){return this.sheet}get Drawer(){return this.drawer}get GraphicSheet(){return this.graphic}get DrawingParameters(){return this.drawingParameters}get EngravingRules(){return this.rules}get InteractionManager(){return this.interactionManager}get Version(){return this.version}};let OpenSheetMusicDisplay=_OpenSheetMusicDisplay;OpenSheetMusicDisplay.PageFormatStandards={A3_L:new PageFormat(420,297,"A3_L"),A3_P:new PageFormat(297,420,"A3_P"),A4_L:new PageFormat(297,210,"A4_L"),A4_P:new PageFormat(210,297,"A4_P"),A5_L:new PageFormat(210,148,"A5_L"),A5_P:new PageFormat(148,210,"A5_P"),A6_L:new PageFormat(148,105,"A6_L"),A6_P:new PageFormat(105,148,"A6_P"),Endless:PageFormat.UndefinedPageFormat,Letter_L:new PageFormat(279.4,215.9,"Letter_L"),Letter_P:new PageFormat(215.9,279.4,"Letter_P")};var handlebarsExports={},handlebars={get exports(){return handlebarsExports},set exports(i){handlebarsExports=i}},handlebars_runtimeExports={},handlebars_runtime={get exports(){return handlebars_runtimeExports},set exports(i){handlebars_runtimeExports=i}},base$1={},utils={};utils.__esModule=!0;utils.extend=extend;utils.indexOf=indexOf;utils.escapeExpression=escapeExpression;utils.isEmpty=isEmpty;utils.createFrame=createFrame;utils.blockParams=blockParams;utils.appendContextPath=appendContextPath;var escape$1={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},badChars=/[&<>"'`=]/g,possible=/[&<>"'`=]/;function escapeChar(i){return escape$1[i]}function extend(i){for(var e=1;e0?(a.ids&&(a.ids=[a.name]),s.helpers.each(o,a)):l(this);if(a.data&&a.ids){var u=r.createFrame(a.data);u.contextPath=r.appendContextPath(a.data.contextPath,a.name),a={data:u}}return c(o,a)})},i.exports=e.default})(blockHelperMissing,blockHelperMissingExports);var eachExports={},each={get exports(){return eachExports},set exports(i){eachExports=i}};(function(i,e){e.__esModule=!0;function r(l){return l&&l.__esModule?l:{default:l}}var s=utils,o=exceptionExports,a=r(o);e.default=function(l){l.registerHelper("each",function(c,u){if(!u)throw new a.default("Must pass iterator to #each");var d=u.fn,g=u.inverse,m=0,y="",b=void 0,A=void 0;u.data&&u.ids&&(A=s.appendContextPath(u.data.contextPath,u.ids[0])+"."),s.isFunction(c)&&(c=c.call(this)),u.data&&(b=s.createFrame(u.data));function S(T,k,I){b&&(b.key=T,b.index=k,b.first=k===0,b.last=!!I,A&&(b.contextPath=A+T)),y=y+d(c[T],{data:b,blockParams:s.blockParams([c[T],T],[A+T,null])})}if(c&&typeof c=="object")if(s.isArray(c))for(var E=c.length;m=0?a=l:a=parseInt(a,10)}return a},log:function(a){if(a=s.lookupLevel(a),typeof console<"u"&&s.lookupLevel(s.level)<=a){var l=s.methodMap[a];console[l]||(l="log");for(var c=arguments.length,u=Array(c>1?c-1:0),d=1;d= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};base$1.REVISION_CHANGES=REVISION_CHANGES;var objectType="[object Object]";function HandlebarsEnvironment(i,e,r){this.helpers=i||{},this.partials=e||{},this.decorators=r||{},_helpers$2.registerDefaultHelpers(this),_decorators.registerDefaultDecorators(this)}HandlebarsEnvironment.prototype={constructor:HandlebarsEnvironment,logger:_logger2.default,log:_logger2.default.log,registerHelper:function i(e,r){if(_utils$3.toString.call(e)===objectType){if(r)throw new _exception2$3.default("Arg not supported with multiple helpers");_utils$3.extend(this.helpers,e)}else this.helpers[e]=r},unregisterHelper:function i(e){delete this.helpers[e]},registerPartial:function i(e,r){if(_utils$3.toString.call(e)===objectType)_utils$3.extend(this.partials,e);else{if(typeof r>"u")throw new _exception2$3.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=r}},unregisterPartial:function i(e){delete this.partials[e]},registerDecorator:function i(e,r){if(_utils$3.toString.call(e)===objectType){if(r)throw new _exception2$3.default("Arg not supported with multiple decorators");_utils$3.extend(this.decorators,e)}else this.decorators[e]=r},unregisterDecorator:function i(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function i(){_internalProtoAccess$1.resetLoggedProperties()}};var log=_logger2.default.log;base$1.log=log;base$1.createFrame=_utils$3.createFrame;base$1.logger=_logger2.default;var safeStringExports={},safeString={get exports(){return safeStringExports},set exports(i){safeStringExports=i}};(function(i,e){e.__esModule=!0;function r(s){this.string=s}r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},e.default=r,i.exports=e.default})(safeString,safeStringExports);var runtime={},wrapHelper$1={};wrapHelper$1.__esModule=!0;wrapHelper$1.wrapHelper=wrapHelper;function wrapHelper(i,e){if(typeof i!="function")return i;var r=function(){var o=arguments[arguments.length-1];return arguments[arguments.length-1]=e(o),i.apply(this,arguments)};return r}runtime.__esModule=!0;runtime.checkRevision=checkRevision;runtime.template=template;runtime.wrapProgram=wrapProgram;runtime.resolvePartial=resolvePartial;runtime.invokePartial=invokePartial;runtime.noop=noop;function _interopRequireDefault$3(i){return i&&i.__esModule?i:{default:i}}function _interopRequireWildcard$1(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r]);return e.default=i,e}var _utils$2=utils,Utils=_interopRequireWildcard$1(_utils$2),_exception$2=exceptionExports,_exception2$2=_interopRequireDefault$3(_exception$2),_base=base$1,_helpers$1=helpers$1,_internalWrapHelper=wrapHelper$1,_internalProtoAccess=protoAccess;function checkRevision(i){var e=i&&i[0]||1,r=_base.COMPILER_REVISION;if(!(e>=_base.LAST_COMPATIBLE_COMPILER_REVISION&&e<=_base.COMPILER_REVISION))if(e<_base.LAST_COMPATIBLE_COMPILER_REVISION){var s=_base.REVISION_CHANGES[r],o=_base.REVISION_CHANGES[e];throw new _exception2$2.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+s+") or downgrade your runtime to an older version ("+o+").")}else throw new _exception2$2.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+i[1]+").")}function template(i,e){if(!e)throw new _exception2$2.default("No environment passed to template");if(!i||!i.main)throw new _exception2$2.default("Unknown template object: "+typeof i);i.main.decorator=i.main_d,e.VM.checkRevision(i.compiler);var r=i.compiler&&i.compiler[0]===7;function s(l,c,u){u.hash&&(c=Utils.extend({},c,u.hash),u.ids&&(u.ids[0]=!0)),l=e.VM.resolvePartial.call(this,l,c,u);var d=Utils.extend({},u,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),g=e.VM.invokePartial.call(this,l,c,d);if(g==null&&e.compile&&(u.partials[u.name]=e.compile(l,i.compilerOptions,e),g=u.partials[u.name](c,d)),g!=null){if(u.indent){for(var m=g.split(` `),y=0,b=m.length;y"u"&&(this.lexer.yylloc={});var E=this.lexer.yylloc;m.push(E);var x=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);function P(){var F;return F=u.lexer.lex()||1,typeof F!="number"&&(F=u.symbols_[F]||F),F}for(var C,T,k,I,M={},R,B,_,V;;){if(T=d[d.length-1],this.defaultActions[T]?k=this.defaultActions[T]:((C===null||typeof C>"u")&&(C=P()),k=y[T]&&y[T][C]),typeof k>"u"||!k.length||!k[0]){var D="";{V=[];for(R in y[T])this.terminals_[R]&&R>2&&V.push("'"+this.terminals_[R]+"'");this.lexer.showPosition?D="Parse error on line "+(A+1)+`: `+this.lexer.showPosition()+` Expecting `+V.join(", ")+", got '"+(this.terminals_[C]||C)+"'":D="Parse error on line "+(A+1)+": Unexpected "+(C==1?"end of input":"'"+(this.terminals_[C]||C)+"'"),this.parseError(D,{text:this.lexer.match,token:this.terminals_[C]||C,line:this.lexer.yylineno,loc:E,expected:V})}}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+T+", token: "+C);switch(k[0]){case 1:d.push(C),g.push(this.lexer.yytext),m.push(this.lexer.yylloc),d.push(k[1]),C=null,S=this.lexer.yyleng,b=this.lexer.yytext,A=this.lexer.yylineno,E=this.lexer.yylloc;break;case 2:if(B=this.productions_[k[1]][1],M.$=g[g.length-B],M._$={first_line:m[m.length-(B||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(B||1)].first_column,last_column:m[m.length-1].last_column},x&&(M._$.range=[m[m.length-(B||1)].range[0],m[m.length-1].range[1]]),I=this.performAction.call(M,b,S,A,this.yy,k[1],g,m),typeof I<"u")return I;B&&(d=d.slice(0,-1*B*2),g=g.slice(0,-1*B),m=m.slice(0,-1*B)),d.push(this.productions_[k[1]][0]),g.push(M.$),m.push(M._$),_=y[d[d.length-2]][d[d.length-1]],d.push(_);break;case 3:return!0}}return!0}},o=function(){var l={EOF:1,parseError:function(u,d){if(this.yy.parser)this.yy.parser.parseError(u,d);else throw new Error(u)},setInput:function(u){return this._input=u,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var d=u.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},unput:function(u){var d=u.length,g=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d-1),this.offset-=d;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===m.length?this.yylloc.first_column:0)+m[m.length-g.length].length-g[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-d]),this},more:function(){return this._more=!0,this},less:function(u){this.unput(this.match.slice(u))},pastInput:function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var u=this.pastInput(),d=new Array(u.length+1).join("-");return u+this.upcomingInput()+` `+d+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,d,g,m,y;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),A=0;Ad[0].length)&&(d=g,m=A,!this.options.flex)));A++);return d?(y=d[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+d[0].length},this.yytext+=d[0],this.match+=d[0],this.matches=d,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(d[0].length),this.matched+=d[0],u=this.performAction.call(this,this.yy,this,b[m],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var u=this.next();return typeof u<"u"?u:this.lex()},begin:function(u){this.conditionStack.push(u)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(u){this.begin(u)}};return l.options={},l.performAction=function(u,d,g,m){function y(b,A){return d.yytext=d.yytext.substring(b,d.yyleng-A+b)}switch(g){case 0:if(d.yytext.slice(-2)==="\\\\"?(y(0,1),this.begin("mu")):d.yytext.slice(-1)==="\\"?(y(0,1),this.begin("emu")):this.begin("mu"),d.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(y(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(d.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return d.yytext=y(1,2).replace(/\\"/g,'"'),80;case 32:return d.yytext=y(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return d.yytext=d.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},l.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],l.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},l}();s.lexer=o;function a(){this.yy={}}return a.prototype=s,s.Parser=a,new a}();e.default=r,i.exports=e.default})(parser$1,parserExports);var whitespaceControlExports={},whitespaceControl={get exports(){return whitespaceControlExports},set exports(i){whitespaceControlExports=i}},visitorExports={},visitor={get exports(){return visitorExports},set exports(i){visitorExports=i}};(function(i,e){e.__esModule=!0;function r(d){return d&&d.__esModule?d:{default:d}}var s=exceptionExports,o=r(s);function a(){this.parents=[]}a.prototype={constructor:a,mutating:!1,acceptKey:function(g,m){var y=this.accept(g[m]);if(this.mutating){if(y&&!a.prototype[y.type])throw new o.default('Unexpected node type "'+y.type+'" found when accepting '+m+" on "+g.type);g[m]=y}},acceptRequired:function(g,m){if(this.acceptKey(g,m),!g[m])throw new o.default(g.type+" requires "+m)},acceptArray:function(g){for(var m=0,y=g.length;m0)throw new _exception2$1.default("Invalid path: "+s,{loc:r});u===".."&&a++}else o.push(u)}return{type:"PathExpression",data:i,depth:a,parts:o,original:s,loc:r}}function prepareMustache(i,e,r,s,o,a){var l=s.charAt(3)||s.charAt(2),c=l!=="{"&&l!=="&",u=/\*/.test(s);return{type:u?"Decorator":"MustacheStatement",path:i,params:e,hash:r,escaped:c,strip:o,loc:this.locInfo(a)}}function prepareRawBlock(i,e,r,s){validateClose(i,r),s=this.locInfo(s);var o={type:"Program",body:e,strip:{},loc:s};return{type:"BlockStatement",path:i.path,params:i.params,hash:i.hash,program:o,openStrip:{},inverseStrip:{},closeStrip:{},loc:s}}function prepareBlock(i,e,r,s,o,a){s&&s.path&&validateClose(i,s);var l=/\*/.test(i.open);e.blockParams=i.blockParams;var c=void 0,u=void 0;if(r){if(l)throw new _exception2$1.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=s.strip),u=r.strip,c=r.program}return o&&(o=c,c=e,e=o),{type:l?"DecoratorBlock":"BlockStatement",path:i.path,params:i.params,hash:i.hash,program:e,inverse:c,openStrip:i.strip,inverseStrip:u,closeStrip:s&&s.strip,loc:this.locInfo(a)}}function prepareProgram(i,e){if(!e&&i.length){var r=i[0].loc,s=i[i.length-1].loc;r&&s&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:s.end.line,column:s.end.column}})}return{type:"Program",body:i,strip:{},loc:e}}function preparePartialBlock(i,e,r,s){return validateClose(i,r),{type:"PartialBlockStatement",name:i.path,params:i.params,hash:i.hash,program:e,openStrip:i.strip,closeStrip:r&&r.strip,loc:this.locInfo(s)}}base.__esModule=!0;base.parseWithoutProcessing=parseWithoutProcessing;base.parse=parse$2;function _interopRequireWildcard(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r]);return e.default=i,e}function _interopRequireDefault$1(i){return i&&i.__esModule?i:{default:i}}var _parser=parserExports,_parser2=_interopRequireDefault$1(_parser),_whitespaceControl=whitespaceControlExports,_whitespaceControl2=_interopRequireDefault$1(_whitespaceControl),_helpers=helpers,Helpers=_interopRequireWildcard(_helpers),_utils$1=utils;base.parser=_parser2.default;var yy={};_utils$1.extend(yy,Helpers);function parseWithoutProcessing(i,e){if(i.type==="Program")return i;_parser2.default.yy=yy,yy.locInfo=function(s){return new yy.SourceLocation(e&&e.srcName,s)};var r=_parser2.default.parse(i);return r}function parse$2(i,e){var r=parseWithoutProcessing(i,e),s=new _whitespaceControl2.default(e);return s.accept(r)}var compiler={};compiler.__esModule=!0;compiler.Compiler=Compiler;compiler.precompile=precompile;compiler.compile=compile;function _interopRequireDefault(i){return i&&i.__esModule?i:{default:i}}var _exception=exceptionExports,_exception2=_interopRequireDefault(_exception),_utils=utils,_ast=astExports,_ast2=_interopRequireDefault(_ast),slice=[].slice;function Compiler(){}Compiler.prototype={compiler:Compiler,equals:function i(e){var r=this.opcodes.length;if(e.opcodes.length!==r)return!1;for(var s=0;s1)throw new _exception2.default("Unsupported number of partial arguments: "+s.length,e);s.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):s.push({type:"PathExpression",parts:[],depth:0}));var o=e.name.original,a=e.name.type==="SubExpression";a&&this.accept(e.name),this.setupFullMustacheParams(e,r,void 0,!0);var l=e.indent||"";this.options.preventIndent&&l&&(this.opcode("appendContent",l),l=""),this.opcode("invokePartial",a,o,l),this.opcode("append")},PartialBlockStatement:function i(e){this.PartialStatement(e)},MustacheStatement:function i(e){this.SubExpression(e),e.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function i(e){this.DecoratorBlock(e)},ContentStatement:function i(e){e.value&&this.opcode("appendContent",e.value)},CommentStatement:function i(){},SubExpression:function i(e){transformLiteralToPath(e);var r=this.classifySexpr(e);r==="simple"?this.simpleSexpr(e):r==="helper"?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function i(e,r,s){var o=e.path,a=o.parts[0],l=r!=null||s!=null;this.opcode("getContext",o.depth),this.opcode("pushProgram",r),this.opcode("pushProgram",s),o.strict=!0,this.accept(o),this.opcode("invokeAmbiguous",a,l)},simpleSexpr:function i(e){var r=e.path;r.strict=!0,this.accept(r),this.opcode("resolvePossibleLambda")},helperSexpr:function i(e,r,s){var o=this.setupFullMustacheParams(e,r,s),a=e.path,l=a.parts[0];if(this.options.knownHelpers[l])this.opcode("invokeKnownHelper",o.length,l);else{if(this.options.knownHelpersOnly)throw new _exception2.default("You specified knownHelpersOnly, but used the unknown helper "+l,e);a.strict=!0,a.falsy=!0,this.accept(a),this.opcode("invokeHelper",o.length,a.original,_ast2.default.helpers.simpleId(a))}},PathExpression:function i(e){this.addDepth(e.depth),this.opcode("getContext",e.depth);var r=e.parts[0],s=_ast2.default.helpers.scopedId(e),o=!e.depth&&!s&&this.blockParamIndex(r);o?this.opcode("lookupBlockParam",o,e.parts):r?e.data?(this.options.data=!0,this.opcode("lookupData",e.depth,e.parts,e.strict)):this.opcode("lookupOnContext",e.parts,e.falsy,e.strict,s):this.opcode("pushContext")},StringLiteral:function i(e){this.opcode("pushString",e.value)},NumberLiteral:function i(e){this.opcode("pushLiteral",e.value)},BooleanLiteral:function i(e){this.opcode("pushLiteral",e.value)},UndefinedLiteral:function i(){this.opcode("pushLiteral","undefined")},NullLiteral:function i(){this.opcode("pushLiteral","null")},Hash:function i(e){var r=e.pairs,s=0,o=r.length;for(this.opcode("pushHash");s=0)return[r,a]}}};function precompile(i,e,r){if(i==null||typeof i!="string"&&i.type!=="Program")throw new _exception2.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+i);e=e||{},"data"in e||(e.data=!0),e.compat&&(e.useDepths=!0);var s=r.parse(i,e),o=new r.Compiler().compile(s,e);return new r.JavaScriptCompiler().compile(o,e)}function compile(i,e,r){if(e===void 0&&(e={}),i==null||typeof i!="string"&&i.type!=="Program")throw new _exception2.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+i);e=_utils.extend({},e),"data"in e||(e.data=!0),e.compat&&(e.useDepths=!0);var s=void 0;function o(){var l=r.parse(i,e),c=new r.Compiler().compile(l,e),u=new r.JavaScriptCompiler().compile(c,e,void 0,!0);return r.template(u)}function a(l,c){return s||(s=o()),s.call(this,l,c)}return a._setup=function(l){return s||(s=o()),s._setup(l)},a._child=function(l,c,u,d){return s||(s=o()),s._child(l,c,u,d)},a}function argEquals(i,e){if(i===e)return!0;if(_utils.isArray(i)&&_utils.isArray(e)&&i.length===e.length){for(var r=0;r>1;return u?-d:d}return base64Vlq.encode=function(u){var d="",g,m=a(u);do g=m&s,m>>>=e,m>0&&(g|=o),d+=i.encode(g);while(m>0);return d},base64Vlq.decode=function(u,d,g){var m=u.length,y=0,b=0,A,S;do{if(d>=m)throw new Error("Expected more digits in base 64 VLQ value.");if(S=i.decode(u.charCodeAt(d++)),S===-1)throw new Error("Invalid base64 digit: "+u.charAt(d-1));A=!!(S&o),S&=s,y=y+(S<=0;V--)B=R[V],B==="."?R.splice(V,1):B===".."?_++:_>0&&(B===""?(R.splice(V+1,_),_=0):(R.splice(V,2),_--));return k=R.join("/"),k===""&&(k=M?"/":"."),I?(I.path=k,a(I)):k}i.normalize=l;function c(T,k){T===""&&(T="."),k===""&&(k=".");var I=o(k),M=o(T);if(M&&(T=M.path||"/"),I&&!I.scheme)return M&&(I.scheme=M.scheme),a(I);if(I||k.match(s))return k;if(M&&!M.host&&!M.path)return M.host=k,a(M);var R=k.charAt(0)==="/"?k:l(T.replace(/\/+$/,"")+"/"+k);return M?(M.path=R,a(M)):R}i.join=c,i.isAbsolute=function(T){return T.charAt(0)==="/"||r.test(T)};function u(T,k){T===""&&(T="."),T=T.replace(/\/$/,"");for(var I=0;k.indexOf(T+"/")!==0;){var M=T.lastIndexOf("/");if(M<0||(T=T.slice(0,M),T.match(/^([^\/]+:\/)?\/*$/)))return k;++I}return Array(I+1).join("../")+k.substr(T.length+1)}i.relative=u;var d=function(){var T=Object.create(null);return!("__proto__"in T)}();function g(T){return T}function m(T){return b(T)?"$"+T:T}i.toSetString=d?g:m;function y(T){return b(T)?T.slice(1):T}i.fromSetString=d?g:y;function b(T){if(!T)return!1;var k=T.length;if(k<9||T.charCodeAt(k-1)!==95||T.charCodeAt(k-2)!==95||T.charCodeAt(k-3)!==111||T.charCodeAt(k-4)!==116||T.charCodeAt(k-5)!==111||T.charCodeAt(k-6)!==114||T.charCodeAt(k-7)!==112||T.charCodeAt(k-8)!==95||T.charCodeAt(k-9)!==95)return!1;for(var I=k-10;I>=0;I--)if(T.charCodeAt(I)!==36)return!1;return!0}function A(T,k,I){var M=E(T.source,k.source);return M!==0||(M=T.originalLine-k.originalLine,M!==0)||(M=T.originalColumn-k.originalColumn,M!==0||I)||(M=T.generatedColumn-k.generatedColumn,M!==0)||(M=T.generatedLine-k.generatedLine,M!==0)?M:E(T.name,k.name)}i.compareByOriginalPositions=A;function S(T,k,I){var M=T.generatedLine-k.generatedLine;return M!==0||(M=T.generatedColumn-k.generatedColumn,M!==0||I)||(M=E(T.source,k.source),M!==0)||(M=T.originalLine-k.originalLine,M!==0)||(M=T.originalColumn-k.originalColumn,M!==0)?M:E(T.name,k.name)}i.compareByGeneratedPositionsDeflated=S;function E(T,k){return T===k?0:T===null?1:k===null?-1:T>k?1:-1}function x(T,k){var I=T.generatedLine-k.generatedLine;return I!==0||(I=T.generatedColumn-k.generatedColumn,I!==0)||(I=E(T.source,k.source),I!==0)||(I=T.originalLine-k.originalLine,I!==0)||(I=T.originalColumn-k.originalColumn,I!==0)?I:E(T.name,k.name)}i.compareByGeneratedPositionsInflated=x;function P(T){return JSON.parse(T.replace(/^\)]}'[^\n]*\n/,""))}i.parseSourceMapInput=P;function C(T,k,I){if(k=k||"",T&&(T[T.length-1]!=="/"&&k[0]!=="/"&&(T+="/"),k=T+k),I){var M=o(I);if(!M)throw new Error("sourceMapURL could not be parsed");if(M.path){var R=M.path.lastIndexOf("/");R>=0&&(M.path=M.path.substring(0,R+1))}k=c(a(M),k)}return l(k)}i.computeSourceURL=C}(util)),util}var arraySet={},hasRequiredArraySet;function requireArraySet(){if(hasRequiredArraySet)return arraySet;hasRequiredArraySet=1;var i=requireUtil(),e=Object.prototype.hasOwnProperty,r=typeof Map<"u";function s(){this._array=[],this._set=r?new Map:Object.create(null)}return s.fromArray=function(a,l){for(var c=new s,u=0,d=a.length;u=0)return l}else{var c=i.toSetString(a);if(e.call(this._set,c))return this._set[c]}throw new Error('"'+a+'" is not in the set.')},s.prototype.at=function(a){if(a>=0&&aa||l==a&&u>=c||i.compareByGeneratedPositionsInflated(s,o)<=0}function r(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}return r.prototype.unsortedForEach=function(o,a){this._array.forEach(o,a)},r.prototype.add=function(o){e(this._last,o)?(this._last=o,this._array.push(o)):(this._sorted=!1,this._array.push(o))},r.prototype.toArray=function(){return this._sorted||(this._array.sort(i.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},mappingList.MappingList=r,mappingList}var hasRequiredSourceMapGenerator;function requireSourceMapGenerator(){if(hasRequiredSourceMapGenerator)return sourceMapGenerator;hasRequiredSourceMapGenerator=1;var i=requireBase64Vlq(),e=requireUtil(),r=requireArraySet().ArraySet,s=requireMappingList().MappingList;function o(a){a||(a={}),this._file=e.getArg(a,"file",null),this._sourceRoot=e.getArg(a,"sourceRoot",null),this._skipValidation=e.getArg(a,"skipValidation",!1),this._sources=new r,this._names=new r,this._mappings=new s,this._sourcesContents=null}return o.prototype._version=3,o.fromSourceMap=function(l){var c=l.sourceRoot,u=new o({file:l.file,sourceRoot:c});return l.eachMapping(function(d){var g={generated:{line:d.generatedLine,column:d.generatedColumn}};d.source!=null&&(g.source=d.source,c!=null&&(g.source=e.relative(c,g.source)),g.original={line:d.originalLine,column:d.originalColumn},d.name!=null&&(g.name=d.name)),u.addMapping(g)}),l.sources.forEach(function(d){var g=d;c!==null&&(g=e.relative(c,d)),u._sources.has(g)||u._sources.add(g);var m=l.sourceContentFor(d);m!=null&&u.setSourceContent(d,m)}),u},o.prototype.addMapping=function(l){var c=e.getArg(l,"generated"),u=e.getArg(l,"original",null),d=e.getArg(l,"source",null),g=e.getArg(l,"name",null);this._skipValidation||this._validateMapping(c,u,d,g),d!=null&&(d=String(d),this._sources.has(d)||this._sources.add(d)),g!=null&&(g=String(g),this._names.has(g)||this._names.add(g)),this._mappings.add({generatedLine:c.line,generatedColumn:c.column,originalLine:u!=null&&u.line,originalColumn:u!=null&&u.column,source:d,name:g})},o.prototype.setSourceContent=function(l,c){var u=l;this._sourceRoot!=null&&(u=e.relative(this._sourceRoot,u)),c!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[e.toSetString(u)]=c):this._sourcesContents&&(delete this._sourcesContents[e.toSetString(u)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))},o.prototype.applySourceMap=function(l,c,u){var d=c;if(c==null){if(l.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);d=l.file}var g=this._sourceRoot;g!=null&&(d=e.relative(g,d));var m=new r,y=new r;this._mappings.unsortedForEach(function(b){if(b.source===d&&b.originalLine!=null){var A=l.originalPositionFor({line:b.originalLine,column:b.originalColumn});A.source!=null&&(b.source=A.source,u!=null&&(b.source=e.join(u,b.source)),g!=null&&(b.source=e.relative(g,b.source)),b.originalLine=A.line,b.originalColumn=A.column,A.name!=null&&(b.name=A.name))}var S=b.source;S!=null&&!m.has(S)&&m.add(S);var E=b.name;E!=null&&!y.has(E)&&y.add(E)},this),this._sources=m,this._names=y,l.sources.forEach(function(b){var A=l.sourceContentFor(b);A!=null&&(u!=null&&(b=e.join(u,b)),g!=null&&(b=e.relative(g,b)),this.setSourceContent(b,A))},this)},o.prototype._validateMapping=function(l,c,u,d){if(c&&typeof c.line!="number"&&typeof c.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(l&&"line"in l&&"column"in l&&l.line>0&&l.column>=0&&!c&&!u&&!d)){if(l&&"line"in l&&"column"in l&&c&&"line"in c&&"column"in c&&l.line>0&&l.column>=0&&c.line>0&&c.column>=0&&u)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:l,source:u,original:c,name:d}))}},o.prototype._serializeMappings=function(){for(var l=0,c=1,u=0,d=0,g=0,m=0,y="",b,A,S,E,x=this._mappings.toArray(),P=0,C=x.length;P0){if(!e.compareByGeneratedPositionsInflated(A,x[P-1]))continue;b+=","}b+=i.encode(A.generatedColumn-l),l=A.generatedColumn,A.source!=null&&(E=this._sources.indexOf(A.source),b+=i.encode(E-m),m=E,b+=i.encode(A.originalLine-1-d),d=A.originalLine-1,b+=i.encode(A.originalColumn-u),u=A.originalColumn,A.name!=null&&(S=this._names.indexOf(A.name),b+=i.encode(S-g),g=S)),y+=b}return y},o.prototype._generateSourcesContent=function(l,c){return l.map(function(u){if(!this._sourcesContents)return null;c!=null&&(u=e.relative(c,u));var d=e.toSetString(u);return Object.prototype.hasOwnProperty.call(this._sourcesContents,d)?this._sourcesContents[d]:null},this)},o.prototype.toJSON=function(){var l={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(l.file=this._file),this._sourceRoot!=null&&(l.sourceRoot=this._sourceRoot),this._sourcesContents&&(l.sourcesContent=this._generateSourcesContent(l.sources,l.sourceRoot)),l},o.prototype.toString=function(){return JSON.stringify(this.toJSON())},sourceMapGenerator.SourceMapGenerator=o,sourceMapGenerator}var sourceMapConsumer={},binarySearch={},hasRequiredBinarySearch;function requireBinarySearch(){return hasRequiredBinarySearch||(hasRequiredBinarySearch=1,function(i){i.GREATEST_LOWER_BOUND=1,i.LEAST_UPPER_BOUND=2;function e(r,s,o,a,l,c){var u=Math.floor((s-r)/2)+r,d=l(o,a[u],!0);return d===0?u:d>0?s-u>1?e(u,s,o,a,l,c):c==i.LEAST_UPPER_BOUND?s1?e(r,u,o,a,l,c):c==i.LEAST_UPPER_BOUND?u:r<0?-1:r}i.search=function(s,o,a,l){if(o.length===0)return-1;var c=e(-1,o.length,s,o,a,l||i.GREATEST_LOWER_BOUND);if(c<0)return-1;for(;c-1>=0&&a(o[c],o[c-1],!0)===0;)--c;return c}}(binarySearch)),binarySearch}var quickSort={},hasRequiredQuickSort;function requireQuickSort(){if(hasRequiredQuickSort)return quickSort;hasRequiredQuickSort=1;function i(s,o,a){var l=s[o];s[o]=s[a],s[a]=l}function e(s,o){return Math.round(s+Math.random()*(o-s))}function r(s,o,a,l){if(a=0){var S=this._originalMappings[A];if(g.column===void 0)for(var E=S.originalLine;S&&S.originalLine===E;)b.push({line:i.getArg(S,"generatedLine",null),column:i.getArg(S,"generatedColumn",null),lastColumn:i.getArg(S,"lastGeneratedColumn",null)}),S=this._originalMappings[++A];else for(var x=S.originalColumn;S&&S.originalLine===m&&S.originalColumn==x;)b.push({line:i.getArg(S,"generatedLine",null),column:i.getArg(S,"generatedColumn",null),lastColumn:i.getArg(S,"lastGeneratedColumn",null)}),S=this._originalMappings[++A]}return b},sourceMapConsumer.SourceMapConsumer=a;function l(d,g){var m=d;typeof d=="string"&&(m=i.parseSourceMapInput(d));var y=i.getArg(m,"version"),b=i.getArg(m,"sources"),A=i.getArg(m,"names",[]),S=i.getArg(m,"sourceRoot",null),E=i.getArg(m,"sourcesContent",null),x=i.getArg(m,"mappings"),P=i.getArg(m,"file",null);if(y!=this._version)throw new Error("Unsupported version: "+y);S&&(S=i.normalize(S)),b=b.map(String).map(i.normalize).map(function(C){return S&&i.isAbsolute(S)&&i.isAbsolute(C)?i.relative(S,C):C}),this._names=r.fromArray(A.map(String),!0),this._sources=r.fromArray(b,!0),this._absoluteSources=this._sources.toArray().map(function(C){return i.computeSourceURL(S,C,g)}),this.sourceRoot=S,this.sourcesContent=E,this._mappings=x,this._sourceMapURL=g,this.file=P}l.prototype=Object.create(a.prototype),l.prototype.consumer=a,l.prototype._findSourceIndex=function(d){var g=d;if(this.sourceRoot!=null&&(g=i.relative(this.sourceRoot,g)),this._sources.has(g))return this._sources.indexOf(g);var m;for(m=0;m1&&(R.source=E+_[1],E+=_[1],R.originalLine=A+_[2],A=R.originalLine,R.originalLine+=1,R.originalColumn=S+_[3],S=R.originalColumn,_.length>4&&(R.name=x+_[4],x+=_[4])),M.push(R),typeof R.originalLine=="number"&&I.push(R)}o(M,i.compareByGeneratedPositionsDeflated),this.__generatedMappings=M,o(I,i.compareByOriginalPositions),this.__originalMappings=I},l.prototype._findMapping=function(g,m,y,b,A,S){if(g[y]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+g[y]);if(g[b]<0)throw new TypeError("Column must be greater than or equal to 0, got "+g[b]);return e.search(g,m,A,S)},l.prototype.computeColumnSpans=function(){for(var g=0;g=0){var b=this._generatedMappings[y];if(b.generatedLine===m.generatedLine){var A=i.getArg(b,"source",null);A!==null&&(A=this._sources.at(A),A=i.computeSourceURL(this.sourceRoot,A,this._sourceMapURL));var S=i.getArg(b,"name",null);return S!==null&&(S=this._names.at(S)),{source:A,line:i.getArg(b,"originalLine",null),column:i.getArg(b,"originalColumn",null),name:S}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(g){return g==null}):!1},l.prototype.sourceContentFor=function(g,m){if(!this.sourcesContent)return null;var y=this._findSourceIndex(g);if(y>=0)return this.sourcesContent[y];var b=g;this.sourceRoot!=null&&(b=i.relative(this.sourceRoot,b));var A;if(this.sourceRoot!=null&&(A=i.urlParse(this.sourceRoot))){var S=b.replace(/^file:\/\//,"");if(A.scheme=="file"&&this._sources.has(S))return this.sourcesContent[this._sources.indexOf(S)];if((!A.path||A.path=="/")&&this._sources.has("/"+b))return this.sourcesContent[this._sources.indexOf("/"+b)]}if(m)return null;throw new Error('"'+b+'" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(g){var m=i.getArg(g,"source");if(m=this._findSourceIndex(m),m<0)return{line:null,column:null,lastColumn:null};var y={source:m,originalLine:i.getArg(g,"line"),originalColumn:i.getArg(g,"column")},b=this._findMapping(y,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,i.getArg(g,"bias",a.GREATEST_LOWER_BOUND));if(b>=0){var A=this._originalMappings[b];if(A.source===y.source)return{line:i.getArg(A,"generatedLine",null),column:i.getArg(A,"generatedColumn",null),lastColumn:i.getArg(A,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},sourceMapConsumer.BasicSourceMapConsumer=l;function u(d,g){var m=d;typeof d=="string"&&(m=i.parseSourceMapInput(d));var y=i.getArg(m,"version"),b=i.getArg(m,"sections");if(y!=this._version)throw new Error("Unsupported version: "+y);this._sources=new r,this._names=new r;var A={line:-1,column:0};this._sections=b.map(function(S){if(S.url)throw new Error("Support for url field in sections not implemented.");var E=i.getArg(S,"offset"),x=i.getArg(E,"line"),P=i.getArg(E,"column");if(x=0;u--)this.prepend(c[u]);else if(c[o]||typeof c=="string")this.children.unshift(c);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+c);return this},a.prototype.walk=function(c){for(var u,d=0,g=this.children.length;d0){for(u=[],d=0;d0&&(S+=", "+E.join(", "));var x=0;Object.keys(this.aliases).forEach(function(T){var k=A.aliases[T];k.children&&k.referenceCount>1&&(S+=", alias"+ ++x+"="+T,k.children[0]="alias"+x)}),this.lookupPropertyFunctionIsUsed&&(S+=", "+this.lookupPropertyFunctionVarDeclaration());var P=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&P.push("blockParams"),this.useDepths&&P.push("depths");var C=this.mergeSource(S);return b?(P.push(C),Function.apply(this,P)):this.source.wrap(["function(",P.join(","),`) { `,C,"}"])},mergeSource:function(b){var A=this.environment.isSimple,S=!this.forceBuffer,E=void 0,x=void 0,P=void 0,C=void 0;return this.source.each(function(T){T.appendToBuffer?(P?T.prepend(" + "):P=T,C=T):(P&&(x?P.prepend("buffer += "):E=!0,C.add(";"),P=C=void 0),x=!0,A||(S=!1))}),S?P?(P.prepend("return "),C.add(";")):x||this.source.push('return "";'):(b+=", buffer = "+(E?"":this.initializeBuffer()),P?(P.prepend("return buffer + "),C.add(";")):this.source.push("return buffer;")),b&&this.source.prepend("var "+b.substring(2)+(E?"":`; `)),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return` lookupProperty = container.lookupProperty || function(parent, propertyName) { if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { return parent[propertyName]; } return undefined } `.trim()},blockValue:function(b){var A=this.aliasable("container.hooks.blockHelperMissing"),S=[this.contextName(0)];this.setupHelperArgs(b,0,S);var E=this.popStack();S.splice(1,0,E),this.push(this.source.functionCall(A,"call",S))},ambiguousBlockValue:function(){var b=this.aliasable("container.hooks.blockHelperMissing"),A=[this.contextName(0)];this.setupHelperArgs("",0,A,!0),this.flushInline();var S=this.topStack();A.splice(1,0,S),this.pushSource(["if (!",this.lastHelper,") { ",S," = ",this.source.functionCall(b,"call",A),"}"])},appendContent:function(b){this.pendingContent?b=this.pendingContent+b:this.pendingLocation=this.source.currentLocation,this.pendingContent=b},append:function(){if(this.isInline())this.replaceStack(function(A){return[" != null ? ",A,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var b=this.popStack();this.pushSource(["if (",b," != null) { ",this.appendToBuffer(b,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(b){this.lastContext=b},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(b,A,S,E){var x=0;!E&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(b[x++])):this.pushContext(),this.resolvePath("context",b,x,A,S)},lookupBlockParam:function(b,A){this.useBlockParams=!0,this.push(["blockParams[",b[0],"][",b[1],"]"]),this.resolvePath("context",A,1)},lookupData:function(b,A,S){b?this.pushStackLiteral("container.data(data, "+b+")"):this.pushStackLiteral("data"),this.resolvePath("data",A,0,!0,S)},resolvePath:function(b,A,S,E,x){var P=this;if(this.options.strict||this.options.assumeObjects){this.push(m(this.options.strict&&x,this,A,S,b));return}for(var C=A.length;Sthis.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var b=this.inlineStack;this.inlineStack=[];for(var A=0,S=b.length;A64&&i<91?i-65:i>96&&i<123?i-71:i>47&&i<58?i+4:i===43?62:i===47?63:0}function decode(i,e){for(var r=i.replace(/[^A-Za-z0-9\+\/]/g,""),s=r.length,o=e?Math.ceil((s*3+1>>2)/e)*e:s*3+1>>2,a=new Uint8Array(o),l,c,u=0,d=0,g=0;g>>(16>>>l&24)&255;u=0}return a}var base64={decode},fetch$1=function(i,e){return new Promise(function(r,s){var o=new XMLHttpRequest;e&&(o.responseType=e),o.open("GET",i),o.onload=function(){o.status===200?r(o.response):s(Error(o.statusText))},o.onerror=function(){s(Error("Network Error"))},o.send()})};(function(i){var e=base64,r=fetch$1;function s(M){return function(R){return typeof R=="string"&&M.test(R)}}function o(M,R){return typeof M=="string"?M+R:typeof M=="function"?M(R):R}function a(M,R,B,_){var V=l(R)?c:u(R)?d:g(R)?m:y(R)?b:A(R)?S:E(R)?x:P(R)?C:T(R)?k:null,D=B||{};return V?V(M,R,D):_?Promise.resolve(_):Promise.reject("Source not valid ("+R+")")}a.fetch=r;function l(M){return M instanceof ArrayBuffer}function c(M,R,B){return new Promise(function(_,V){M.decodeAudioData(R,function(D){_(D)},function(){V("Can't decode audio data ("+R.slice(0,30)+"...)")})})}var u=s(/\.(mp3|wav|ogg)(\?.*)?$/i);function d(M,R,B){var _=o(B.from,R);return a(M,a.fetch(_,"arraybuffer"),B)}function g(M){return M&&typeof M.then=="function"}function m(M,R,B){return R.then(function(_){return a(M,_,B)})}var y=Array.isArray;function b(M,R,B){return Promise.all(R.map(function(_){return a(M,_,B,_)}))}function A(M){return M&&typeof M=="object"}function S(M,R,B){var _={},V=Object.keys(R).map(function(D){if(B.only&&B.only.indexOf(D)===-1)return null;var F=R[D];return a(M,F,B,F).then(function(N){_[D]=N})});return Promise.all(V).then(function(){return _})}var E=s(/\.json(\?.*)?$/i);function x(M,R,B){var _=o(B.from,R);return a(M,a.fetch(_,"text").then(JSON.parse),B)}var P=s(/^data:audio/);function C(M,R,B){var _=R.indexOf(",");return a(M,e.decode(R.slice(_+1)).buffer,B)}var T=s(/\.js(\?.*)?$/i);function k(M,R,B){var _=o(B.from,R);return a(M,a.fetch(_,"text").then(I),B)}function I(M){var R=M.indexOf("MIDI.Soundfont.");if(R<0)throw Error("Invalid MIDI.js Soundfont format");R=M.indexOf("=",R)+2;var B=M.lastIndexOf(",");return JSON.parse(M.slice(R,B)+"}")}i.exports&&(i.exports=a),typeof window<"u"&&(window.loadAudio=a)})(lib$1);var libExports={},lib={get exports(){return libExports},set exports(i){libExports=i}},adsr=ADSR$1;function ADSR$1(i){var e=i.createGain(),r=e._voltage=getVoltage(i),s=scale(r),o=scale(r),a=scale(r);return e._startAmount=scale(o),e._endAmount=scale(a),e._multiplier=scale(s),e._multiplier.connect(e),e._startAmount.connect(e),e._endAmount.connect(e),e.value=s.gain,e.startValue=o.gain,e.endValue=a.gain,e.startValue.value=0,e.endValue.value=0,Object.defineProperties(e,props),e}var props={attack:{value:0,writable:!0},decay:{value:0,writable:!0},sustain:{value:1,writable:!0},release:{value:0,writable:!0},getReleaseDuration:{value:function(){return this.release}},start:{value:function(i){var e=this._multiplier.gain,r=this._startAmount.gain,s=this._endAmount.gain;this._voltage.start(i),this._decayFrom=this._decayFrom=i+this.attack,this._startedAt=i;var o=this.sustain;e.cancelScheduledValues(i),r.cancelScheduledValues(i),s.cancelScheduledValues(i),s.setValueAtTime(0,i),this.attack?(e.setValueAtTime(0,i),e.linearRampToValueAtTime(1,i+this.attack),r.setValueAtTime(1,i),r.linearRampToValueAtTime(0,i+this.attack)):(e.setValueAtTime(1,i),r.setValueAtTime(0,i)),this.decay&&e.setTargetAtTime(o,this._decayFrom,getTimeConstant(this.decay))}},stop:{value:function(i,e){e&&(i=i-this.release);var r=i+this.release;if(this.release){var s=this._multiplier.gain,o=this._startAmount.gain,a=this._endAmount.gain;s.cancelScheduledValues(i),o.cancelScheduledValues(i),a.cancelScheduledValues(i);var l=getTimeConstant(this.release);if(this.attack&&i=e&&(d=e),d}var ADSR=adsr,EMPTY={},DEFAULTS={gain:1,attack:.01,decay:.1,sustain:.9,release:.3,loop:!1,cents:0,loopStart:0,loopEnd:0};function SamplePlayer(i,e,r){var s=!1,o=0,a={},l=i.createGain();l.gain.value=1;var c=Object.assign({},DEFAULTS,r),u={context:i,out:l,opts:c};return e instanceof AudioBuffer?u.buffer=e:u.buffers=e,u.start=function(m,y,b){if(u.buffer&&m!==null)return u.start(null,m,y);var A=m?u.buffers[m]:u.buffer;if(A){if(!s){console.warn("SamplePlayer not connected to any node.");return}}else{console.warn("Buffer "+m+" not found.");return}var S=b||EMPTY;y=Math.max(i.currentTime,y||0),u.emit("start",y,m,S);var E=g(m,A,S);return E.id=d(m,E),E.env.start(y),E.source.start(y),u.emit("started",y,E.id,E),S.duration&&E.stop(y+S.duration),E},u.play=function(m,y,b){return u.start(m,y,b)},u.stop=function(m,y){var b;return y=y||Object.keys(a),y.map(function(A){return b=a[A],b?(b.stop(m),b.id):null})},u.connect=function(m){return s=!0,l.connect(m),u},u.emit=function(m,y,b,A){u.onevent&&u.onevent(m,y,b,A);var S=u["on"+m];S&&S.forEach(E=>{E(y,b,A)})},u;function d(m,y){return y.id=o++,a[y.id]=y,y.startTime=i.currentTime,y.source.onended=function(){var b=i.currentTime;y.source.disconnect(),y.env.disconnect(),y.disconnect(),u.emit("ended",b,y.id,y)},y.id}function g(m,y,b){var A=i.createGain();return A.gain.value=0,A.connect(l),A.env=envelope(i,b,c),A.env.connect(A.gain),A.source=i.createBufferSource(),A.source.buffer=y,A.source.connect(A),A.source.loop=b.loop||c.loop,A.source.playbackRate.value=centsToRate(b.cents||c.cents),A.source.loopStart=b.loopStart||c.loopStart,A.source.loopEnd=b.loopEnd||c.loopEnd,A.stop=function(S){var E=S||i.currentTime;u.emit("stop",E,m);var x=A.env.stop(E);A.source.stop(x)},A}}function isNum$1(i){return typeof i=="number"}var PARAMS=["attack","decay","sustain","release"];function envelope(i,e,r){var s=ADSR(i),o=e.adsr||r.adsr;return PARAMS.forEach(function(a,l){o?s[a]=o[l]:s[a]=e[a]||r[a]}),s.value.value=isNum$1(e.gain)?e.gain:isNum$1(r.gain)?r.gain:1,s}function centsToRate(i){return i?Math.pow(2,i/1200):1}var player=SamplePlayer,events=function(i){return i.on=function(e,r){if(arguments.length===1&&typeof e=="function")return i.on("event",e);var s="on"+e;return i[s]?i[s].push(r):i[s]=[r],i},i},REGEX$1=/^([a-gA-G])(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)\s*$/;function regex$1(){return REGEX$1}var SEMITONES$1=[0,2,4,5,7,9,11];function parse$1(i,e,r){if(typeof i!="string")return null;var s=REGEX$1.exec(i);if(!s||!e&&s[4])return null;var o={letter:s[1].toUpperCase(),acc:s[2].replace(/x/g,"##")};return o.pc=o.letter+o.acc,o.step=(o.letter.charCodeAt(0)+3)%7,o.alt=o.acc[0]==="b"?-o.acc.length:o.acc.length,o.chroma=SEMITONES$1[o.step]+o.alt,s[3]&&(o.oct=+s[3],o.midi=o.chroma+12*(o.oct+1),o.freq=midiToFreq$1(o.midi,r)),e&&(o.tonicOf=s[4]),o}function midiToFreq$1(i,e){return Math.pow(2,(i-69)/12)*(e||440)}var parser={parse:parse$1,regex:regex$1,midiToFreq:midiToFreq$1},FNS=["letter","acc","pc","step","alt","chroma","oct","midi","freq"];FNS.forEach(function(i){parser[i]=function(e){var r=parse$1(e);return r&&typeof r[i]<"u"?r[i]:null}});var noteParser$1=parser,note$2=noteParser$1,isMidi=function(i){return i!==null&&i!==[]&&i>=0&&i<129},toMidi=function(i){return isMidi(i)?+i:note$2.midi(i)},notes$1=function(i){if(i.buffers){var e=i.opts.map,r=typeof e=="function"?e:toMidi,s=function(a){return a?r(a)||a:null};i.buffers=mapBuffers(i.buffers,s);var o=i.start;i.start=function(a,l,c){var u=s(a),d=u%1;return d&&(u=Math.floor(u),c=Object.assign(c||{},{cents:Math.floor(d*100)})),o(u,l,c)}}return i};function mapBuffers(i,e){return Object.keys(i).reduce(function(r,s){return r[e(s)]=i[s],r},{})}var isArr=Array.isArray,isObj=function(i){return i&&typeof i=="object"},OPTS={},scheduler=function(i){return i.schedule=function(e,r){var s=i.context.currentTime,o=e"u"?null:i.step?build(i.step,i.alt,i.oct):i<0||i>6?null:LETTERS.charAt(i)+accStr(e)+octStr(r)}function midi(i){if((isNum(i)||isStr(i))&&i>=0&&i<128)return+i;var e=parse(i);return e&&isDef(e.midi)?e.midi:null}function freq(i,e){var r=midi(i);return r===null?null:midiToFreq(r,e)}function letter(i){return(parse(i)||{}).letter}function acc(i){return(parse(i)||{}).acc}function pc(i){return(parse(i)||{}).pc}function step(i){return(parse(i)||{}).step}function alt(i){return(parse(i)||{}).alt}function chroma(i){return(parse(i)||{}).chroma}function oct(i){return(parse(i)||{}).oct}const noteParser=Object.freeze(Object.defineProperty({__proto__:null,acc,alt,build,chroma,freq,letter,midi,oct,parse,pc,regex,step},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(noteParser);var legacy,hasRequiredLegacy;function requireLegacy(){if(hasRequiredLegacy)return legacy;hasRequiredLegacy=1;var i=require$$0;function e(o,a){if(console.warn("new Soundfont() is deprected"),console.log("Please use Soundfont.instrument() instead of new Soundfont().instrument()"),!(this instanceof e))return new e(o);this.nameToUrl=a||e.nameToUrl,this.ctx=o,this.instruments={},this.promises=[]}e.prototype.onready=function(o){console.warn("deprecated API"),console.log("Please use Promise.all(Soundfont.instrument(), Soundfont.instrument()).then() instead of new Soundfont().onready()"),Promise.all(this.promises).then(o)},e.prototype.instrument=function(o,a){console.warn("new Soundfont().instrument() is deprecated."),console.log("Please use Soundfont.instrument() instead.");var l=this.ctx;if(o=o||"default",o in this.instruments)return this.instruments[o];var c={name:o,play:s(l,a)};if(this.instruments[o]=c,o!=="default"){var u=e.instrument(l,o,a).then(function(d){return c.play=d.play,c});this.promises.push(u),c.onready=function(d){console.warn("onready is deprecated. Use Soundfont.instrument().then()"),u.then(d)}}else c.onready=function(d){console.warn("onready is deprecated. Use Soundfont.instrument().then()"),d()};return c};function r(o,a,l){return console.warn("Soundfont.loadBuffers is deprecate."),console.log("Use Soundfont.instrument(..) and get buffers properties from the result."),e.instrument(o,a,l).then(function(c){return c.buffers})}e.loadBuffers=r;function s(o,a){return a=a||{},function(l,c,u,d){console.warn("The oscillator player is deprecated."),console.log("Starting with version 0.9.0 you will have to wait until the soundfont is loaded to play sounds.");var g=l>0&&l<129?+l:i.midi(l),m=g?i.midiToFreq(g,440):null;if(m){u=u||.2,d=d||{};var y=d.destination||a.destination||o.destination,b=d.vcoType||a.vcoType||"sine",A=d.gain||a.gain||.4,S=o.createOscillator();S.type=b,S.frequency.value=m;var E=o.createGain();return E.gain.value=A,S.connect(E),E.connect(y),S.start(c),u>0&&S.stop(c+u),S}}}return e.noteToMidi=i.midi,legacy=e,legacy}(function(i){var e=libExports$1,r=libExports;function s(c,u,d){if(arguments.length===1)return function(A,S){return s(c,A,S)};var g=d||{},m=g.isSoundfontURL||o,y=g.nameToUrl||a,b=m(u)?u:y(u,g.soundfont,g.format);return e(c,b,{only:g.only||g.notes}).then(function(A){var S=r(c,A,g).connect(g.destination?g.destination:c.destination);return S.url=b,S.name=u,S})}function o(c){return/\.js(\?.*)?$/i.test(c)}function a(c,u,d){return d=d==="ogg"?d:"mp3",u=u==="FluidR3_GM"?u:"MusyngKite","https://gleitz.github.io/midi-js-soundfonts/"+u+"/"+c+"-"+d+".js"}var l=requireLegacy();l.instrument=s,l.nameToUrl=a,i.exports&&(i.exports=l),typeof window<"u"&&(window.Soundfont=l)})(lib$2);NoteEnum.C,NoteEnum.D,NoteEnum.E,NoteEnum.F,NoteEnum.G,NoteEnum.A,NoteEnum.B;const selectionContainer="_selectionContainer_h81c5_1",position="_position_h81c5_8",note$1="_note_h81c5_11",selectBox="_selectBox_h81c5_14",selectHandle="_selectHandle_h81c5_20",selectHandleRight="_selectHandleRight_h81c5_34",playIng="_playIng_h81c5_39",disable="_disable_h81c5_43",line="_line_h81c5_46",eyeLine="_eyeLine_h81c5_58",lineStaff="_lineStaff_h81c5_61",lineJianPu="_lineJianPu_h81c5_64",scoreItem="_scoreItem_h81c5_70",dotWrap="_dotWrap_h81c5_107",noteFollow="_noteFollow_h81c5_122",followTipUp="_followTipUp_h81c5_131",followTipDown="_followTipDown_h81c5_132",linePC="_linePC_h81c5_228",noteDot="_noteDot_h81c5_232",staveBg="_staveBg_h81c5_240",styles$h={selectionContainer,position,note:note$1,selectBox,selectHandle,selectHandleRight,playIng,disable,line,eyeLine,lineStaff,lineJianPu,scoreItem,dotWrap,noteFollow,followTipUp,followTipDown,linePC,noteDot,staveBg},noteMove="_noteMove_6dz5a_1",activeModel="_activeModel_6dz5a_14",toolBox="_toolBox_6dz5a_17",moveDisabled="_moveDisabled_6dz5a_33",hideTool="_hideTool_6dz5a_36",rightHideIcon$1="_rightHideIcon_6dz5a_39",styles$g={noteMove,activeModel,toolBox,moveDisabled,hideTool,rightHideIcon:rightHideIcon$1},tooltip="",TooltipSfc="",buttonGroup="",ButtonGroupSfc="",rightHideIcon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAB4CAYAAACjK+FPAAAAAXNSR0IArs4c6QAAA9hJREFUeF7tnctrE1EUxr+J7wfqRsdCA2okIhMfNCXZVKyKWOzSZVbdCS5KcetON6J/RKEQBKFLwVWpUgvddNFVNkWbGrptSCsVm8otmTDpTDptb+49cx8Xumrn3PM735m5Z5r2HAf86zyAqwAuAjgF4HTr6xi/6Z5Z+Occ0dQZANdbgOeOaEPmZYcGPQHgJoAbAFIyPeXc61CgaQAeAAar2joQKEvv2wAyqtEF/I0FPQ4gD+CKwpDM9X1BmZJFAJcVh4wFZfcje+josLoqyh4893UgbDFEgp4E8AQAuz91WZGgOqWsL1QI9CyAxwCOWjElNQNCoHcAXEuqtxx+hUCftgpyDpuJvLQD9BKAB4l0k9+pDtBbALL8NhNpoQOUVUGql3rdotwB+hDAhUTqwe9UB+gzAKxY0HG1QdlL9KiOhHtLQPYyPWJB1Y9AO3WtouqLuUtgFdVEyDaGVdQqqmgEbOoqKlxXt62iVlFFI2BTV1Hh7MPIpq5NXUUjYFNXUeHsU9emLmnqzszMvCgUCqOO4zgLCwtfhoeHP3M6lDxFl5aWXuZyuecBsJ3Jycn3Y2NjPzhgkwUaAbnLtry8/D2TyXzQArQbJIObm5srDw0NfVIedD/IRqPx23XdV5ubm02lQWMga4ODgxOVSuUPByT9b+olQdKCSoSkA5UMSQNKACkflAhSLighpDxQYkg5oCsrK2/S6XQh6hxsNBq9OifjjlmxtW61Wn3T399PDSle0e3t7elUKhX6S+6NjY1aPp/vRcUTp6T/fbGKNpvNacdxQqD1er3qed7E6urq34N6yvlzYkFrtdrbvr6+e1FO1uv1X57nvZYEKxaUAa6trb1zXfcuMax4UAZYqVTGs9ks+8+L0JKkrBzQBMDKAyWGlQtKCCsflAiWBpQAlg5UMiwtqERYetA42PX19Z+u645vbW3tcJSByQCNg52dnZ3i/PwlOaD7wWr1kYSfllHlYrlc/lgqlb5pkbpBiPn5+dLAwMAI+9hwcXHxa7FYnOKAFP/izelcLy9P1j3aS7I9tiyowOCSmLaKkoRd4KZWUYHBJTFtFSUJu8BNraICg0ti2ipKEnaBm1pFBQaXxLRVlCTsAje1igoMLolpqyhJ2AVuahUVGFwS021FjWncxMJsRCsuBmpMczVj2uUZ0wDRmJaW7D41okkpA821JgqQHHYCN22fo/4erJHwI8WmChwkPiFQdpERraEZqDHNvhmsEe3b/ZzXKYUj71Ef1JgRCwzYiKEZQWW1H4MSPKO0H2wThDViVFEQWPvhU1HlVnCcGBsl5o8US9Q4sf9BGvvA8pV1NwAAAABJRU5ErkJggg==";let extStyleConfigJson={};window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;const showToolBox=ref(!0),moveData=reactive({open:!1,zoom:1,partIndex:"0",hasExtJson:!1,isWeb:!1,modelList:[],activeIndex:-1,sw:0,tool:{isAddAndSub:!1},noteCoords:[]}),initNoteCoord=()=>{const i=Array.from(document.querySelectorAll(".node-dot"));moveData.noteCoords=i.map(e=>{var s;const r=((s=e==null?void 0:e.getBoundingClientRect)==null?void 0:s.call(e))||{x:0,y:0};return{x:r.x,y:r.y}})},computedDistance=(i,e)=>{let r=-1,s=0,o,a,l;return moveData.noteCoords.forEach((c,u)=>{o=Math.abs(c.x-i),a=Math.abs(c.y-e),l=Math.sqrt(o*o+a*a),l=Number(l.toFixed(0)),l!==0&&(r===-1||l{setEleId(m,"temp"+l),l++});let c=1;[...r].forEach(m=>{setEleId(m,"text"+c),c++});let u=1;[...s].forEach(m=>{setEleId(m,"section"+u),u++});let d=1;[...o].forEach(m=>{setEleId(m,"repet"+d),d++});let g=1;[...a].forEach(m=>{setEleId(m,"line"+g),g++})}function setEleId(i,e){if(!i||!e)return;i.getAttribute("id")||i.setAttribute("id",e),createModelBox(i)}function createModelBox(i){var c;const e=((c=document.getElementById("musicAndSelection"))==null?void 0:c.getBoundingClientRect())||{x:0,y:0},r=e.x||0,s=e.y||0,o=i.getBoundingClientRect(),a={left:o.x-r+"px",top:o.y-s+"px",width:o.width+"px",height:o.height+"px"},l=i.getAttribute("class");moveData.modelList.push({id:i.getAttribute("id"),bbox:a,type:l,isMove:!1,left:o.left,top:o.top,width:o.width,height:o.height,x:0,y:0,zoom:state$1.zoom,isDelete:!1,d2:getLineGroupPathDx(i),dx:0})}function getBox(i){var a;if(!i)return{};const e=((a=document.getElementById("musicAndSelection"))==null?void 0:a.getBoundingClientRect())||{x:0,y:0},r=e.x||0,s=e.y||0,o=i.getBoundingClientRect();return{left:o.x-r,top:o.y-s,width:o.width,height:o.height}}const filterMoveData=async()=>{const i=state$1.examSongId;if(i){const e=window.fontSize,r=moveData.modelList.filter(o=>o.isMove).map(o=>{var m,y,b,A;const a=o.left+o.x,l=o.top+o.y,c=computedDistance(a,l),u=a-((m=moveData.noteCoords[c])==null?void 0:m.x),d=l-((y=moveData.noteCoords[c])==null?void 0:y.y);let g={id:o.id,isMove:o.isMove,isDelete:o.isDelete,x:o.x,y:o.y,xRem:Math.abs(o.x/e),yRem:Math.abs(o.y/e),zoom:o.zoom,w:moveData.sw,type:o.type,noteIdx:c,noteRelativeX:u,noteRelativeY:d};if(o.type==="vf-lineGroup"&&(g.dx=o.dx),o.id.includes("text")){const S=((A=(b=document.querySelector("#"+o.id))==null?void 0:b.querySelector("text"))==null?void 0:A.innerHTML)||"";g.textContent=S}return g});extStyleConfigJson[moveData.partIndex]=r,console.log("🚀 ~ extStyleConfigJson",extStyleConfigJson);const s=await request.post("/musicSheet/img",{requestType:"json",data:{id:i,extStyleConfigJson:JSON.stringify(extStyleConfigJson)}});s&&s.code==200&&showToast("保存成功"),clearActiveModel()}},dragData={open:!1,startX:0,startY:0,x:0,y:0,repeatEdit:!1},undoData=reactive({undoList:[],redoList:[],activeItem:null});function onDown(i){const e=i.target,r=moveData.modelList.findIndex(s=>s.id===e.dataset.id);if(r>-1){const s=moveData.modelList[r];moveData.activeIndex=r,dragData.startX=i.clientX,dragData.startY=i.clientY,dragData.x=s.x,dragData.y=s.y,dragData.repeatEdit=s.noteIdx>=0,document.onmousemove=onMove,document.onmouseup=onUp,dragData.open=!0,s.type==="vf-lineGroup"?moveData.tool.isAddAndSub=!0:moveData.tool.isAddAndSub=!1,undoData.activeItem={...s};return}moveData.activeIndex=-1}function onMove(i){if(dragData.open){const e=i.clientX-dragData.startX+dragData.x,r=i.clientY-dragData.startY+dragData.y;setModelPostion(moveData.modelList[moveData.activeIndex],e,r,dragData.repeatEdit)}}function onUp(i){document.onmousemove=null,document.onmouseup=null,dragData.open=!1;const e=i.clientX-dragData.startX+dragData.x,r=i.clientY-dragData.startY+dragData.y;(e||r)&&(moveData.modelList[moveData.activeIndex].isMove=!0,moveData.modelList[moveData.activeIndex].x=e,moveData.modelList[moveData.activeIndex].y=r,undoData.activeItem&&undoData.undoList.push({...undoData.activeItem})),undoData.activeItem=null}const renderSvgItem=i=>{if(setModelPostion(i,i.x,i.y),i.isDelete){const e=document.querySelector("#"+i.id);e&&(e.style.display="none")}else{const e=document.querySelector("#"+i.id);e&&(e.style.display="")}};async function setModelPostion(i,e,r,s){var o;if(i){const a=document.querySelector("#"+i.id),l=document.querySelector(`[data-id=${i.id}]`);if(e===0&&r===0)a&&a.removeAttribute("transform"),l&&(l.style.transform="");else{let c=e,u=r;if(i.noteIdx>=0&&!s){moveData.noteCoords.length||await initNoteCoord();const d=moveData.noteCoords[i.noteIdx].x+i.noteRelativeX,g=moveData.noteCoords[i.noteIdx].y+i.noteRelativeY,m=((o=document.getElementById(i.id))==null?void 0:o.getBoundingClientRect())||{x:0,y:0};c=d-m.x,u=g-m.y,a&&a.setAttribute("transform",`translate(${c/moveData.zoom}, ${u/moveData.zoom})`),l&&(l.style.transform=`translate(${c}px, ${u}px)`)}else a&&a.setAttribute("transform",`translate(${c/moveData.zoom}, ${u/moveData.zoom})`),l&&(l.style.transform=`translate(${c}px, ${u}px)`)}}}const handleDeleteMoveNote=()=>{const i=moveData.modelList[moveData.activeIndex];if(i){moveData.modelList[moveData.activeIndex].isMove=!0,undoData.undoList.push({...moveData.modelList[moveData.activeIndex]}),moveData.modelList[moveData.activeIndex].isDelete=!i.isDelete;const e=document.querySelector("#"+i.id);e&&(e.style.display=moveData.modelList[moveData.activeIndex].isDelete?"none":"")}else showToast("选中需要删除的元素")},resetMoveNote=()=>{for(let i=0;i{if(!["add","sub"].includes(i))return;const e=moveData.modelList[moveData.activeIndex];if(!e||e.type!=="vf-lineGroup")return;e.isMove=!0;const r=i==="add"?10:-10;undoData.undoList.push({...moveData.modelList[moveData.activeIndex]}),moveData.modelList[moveData.activeIndex].dx=e.dx+r,renderLineGroup(moveData.modelList[moveData.activeIndex])};function getLineGroupPathDx(i){var r,s,o,a;if(!i)return 0;const e=i.querySelectorAll("path");if(e!=null&&e.length)for(let l=0;l{const i=undoData.undoList.pop();if(i){const e=moveData.modelList.findIndex(r=>r.id===i.id);e>-1&&(moveData.modelList[e]=i,renderSvgItem(moveData.modelList[e]),i.type==="vf-lineGroup"&&renderLineGroup(i))}},renderForMoveData=()=>{if(state$1.extStyleConfigJson)try{extStyleConfigJson=JSON.parse(state$1.extStyleConfigJson)}catch(e){extStyleConfigJson={}}if(!extStyleConfigJson||!(extStyleConfigJson!=null&&extStyleConfigJson[moveData.partIndex])){initSvgId();return}else initSvgId();const i=extStyleConfigJson==null?void 0:extStyleConfigJson[moveData.partIndex];i&&Array.isArray(i)&&nextTick(()=>{console.log("🚀 ~ list",i),i.forEach(e=>{var s,o,a,l,c,u,d;let r=moveData.modelList.findIndex(g=>g.id===e.id);if(e.type==="vf-text"&&e.textContent){let g=((a=(o=document.querySelector("#"+((s=moveData.modelList[r])==null?void 0:s.id)))==null?void 0:o.querySelector("text"))==null?void 0:a.innerHTML)||"",m=r,y=!1,b=r,A=r;if(g!==e.textContent)for(;!y;){let S=moveData.modelList[b]&&((c=(l=document.querySelector("#"+moveData.modelList[b].id))==null?void 0:l.querySelector("text"))==null?void 0:c.innerHTML)||"",E=moveData.modelList[A]&&((d=(u=document.querySelector("#"+moveData.modelList[A].id))==null?void 0:u.querySelector("text"))==null?void 0:d.innerHTML)||"";S===e.textContent||E===e.textContent?(y=!0,m=S===e.textContent?b:A):(!S&&!E&&(y=!0,m=-1),b=b-1,A=A+1)}r=m,e.id=`text${m+1}`}r>-1&&(moveData.modelList[r]={...moveData.modelList[r],...e},renderSvgItem(moveData.modelList[r]),e.type==="vf-lineGroup"&&renderLineGroup(moveData.modelList[r]))})})},MoveMusicScore=defineComponent({name:"move-music-score",setup(){moveData.zoom=state$1.zoom;const e=getQuery().isMove==="1";return console.log("🚀 ~ isOpen:",e),onMounted(()=>{nextTick(()=>initNoteCoord());const r=document.getElementById("toolBox");r&&document.body.appendChild(r)}),()=>createVNode("div",{class:[moveData.open?"":styles$g.moveDisabled]},[createVNode("div",{id:"toolBox"},[createVNode("div",{class:[styles$g.toolBox,!showToolBox.value&&styles$g.hideTool]},[createVNode(Switch,{modelValue:moveData.open,"onUpdate:modelValue":r=>moveData.open=r},null),moveData.open&&createVNode(Fragment,null,[moveData.tool.isAddAndSub&&createVNode(ButtonGroup,{size:"small",elevation:!1},{default:()=>[createVNode(Button,{onClick:()=>handleAddAndSub("add")},{default:()=>[createTextVNode("加")]}),createVNode(Button,{onClick:()=>handleAddAndSub("sub")},{default:()=>[createTextVNode("减")]})]}),createVNode(Button,{size:"small",onClick:handleUndo,disabled:!undoData.undoList.length},{default:()=>[createVNode(Icon,{name:"arrow-down",style:{transform:"rotate(90deg)"}},null)]}),createVNode(Button,{size:"small",onClick:handleDeleteMoveNote,disabled:!(moveData.activeIndex>-1)},{default:()=>{var r;return[(r=moveData.modelList[moveData.activeIndex])!=null&&r.isDelete?"显示元素":"删除元素"]}}),createVNode(Button,{size:"small",onClick:resetMoveNote},{default:()=>[createTextVNode("重置数据")]}),createVNode(Button,{size:"small",type:"primary",onClick:filterMoveData},{default:()=>[createTextVNode("保存数据")]}),createVNode(Button,{size:"small",type:"primary",onClick:()=>showToolBox.value=!1},{default:()=>[createTextVNode("收起")]})])]),!showToolBox.value&&createVNode("img",{class:[styles$g.rightHideIcon,showToolBox.value?"":styles$g.rightIconShow],src:rightHideIcon,onClick:()=>showToolBox.value=!0},null)]),moveData.modelList.map((r,s)=>createVNode("div",{class:[styles$g.noteMove,moveData.activeIndex===s&&styles$g.activeModel],style:r.bbox,"data-id":r.id,onMousedown:onDown},null))])}}),IntonationDown="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAC+lBMVEUAAAD/hgD/kAD/mwn/hAH/tEP/egD/mAH/sDr/u1b/hC3/ohn/ng3/t07/qCf/fSH/nAn/uE3/tUr/s0L/cQH/hwD/egD/rzr/qCX/nQr/bAT/tEL/rTP/jgD/bQD/qy//oBT/mwn/agD/sDz/qCX/gQD/dAD/uE7/aQD/rjT/mgP/iwD/bgD/oRr/mgT/hwD/cQD/bAD/////fwD/hgD/gwD/jAD/iQD/dwL/kQH/rxX/0Ir/egD/0ZL/rBL/jwD/sBj/lAD/dAD/qWb/qg3/qAr/mAH/shr/bgH/27b/tkv/uSf/syL/ohv/mgb/lQP/lAL/agL/cQD//fz/2LL9r2z/qFf/nUb/vS3/tyL/tB7/3bv/0aX/wWX/ulT/o1H/u0//tEP/sTz/nTb/lDb/rS//iyr/nx7/nhn+iQb+gAT/ypv/05r+wJL+zoL/zXr/t3n/xnX/q2b/v2D/xV7/qF7+wFL/nVD/pUz/ukr/o0b/sz//mD/+mTv/ljn/jTj/oDb/wDH/uyr/qCj/pSH/ohT/nhH8cgr/own/nQf/pwX9cAX+fAT/9Or/7t3/69j/6NL/583/5M3/4L//1av/zqH/yZb/xo/9to//0oD/y3n/yHj+s3j8qHj/tnH/s2z/xGr/tGf/sGX/rWD9pV7/rVz8mFz/qVv/oVj/tkX/mEH+uz3/kjz/wDf/kjX/oTL/hyf/kSL/rRv9ixT/oAr/ggr/nAH/+fT+7eT/8OH97M793cn/48f/4sb+6sT/4cP9zq7+4K3+36j/2aj/0KD+2Zv9vZn/0Yf/wof/wYT/voT/u3n9wHj9rHL+ynD/0G//xG7+yW3/x2X/ylv+xlX/nkv+vEb8iUH/nkD9gDP+tzH/kiz/nSr8fCX+riL/liD+sB7/hhb8kBX+kAT/iAD/5Mj/2bP/1bD9wKD8upb9sIf+14b+1Ib+vIb+03n/0nf+0nf/u3X+y3T8n2n/r1z+w0j+vj3/mzP/jy/8oyr+sCn8oij/iCH/gRfo0HVTAAAAMnRSTlMAFQgh/srKaP74+Pj46+vr69fX19fX183Nzc3ExMTEpKSkpJiYmJhoaFhYWFhEREREISKuUJUAAAPASURBVDjLbdN1TFtBHMDxW4vM3d1dO1jLpFAqrEa7re66CjDcx3BnLri7O3N3d3d3d0v2Xh9tuo3PP5dcvneXXPID1uZMHju0V9euvYaOnTwHdGz6yEgikRhYUcGDlsiR0ztIZvcPJgbmbRZTJVuOnSzXVBGD+8/+J0FNbPAr3rT+8e6N1M3HfPKLefJVy/0aJqKsm052VYGS9Rs37t21l+PhU8ST81eukssvV9l1smoG8rnrVlM3beJwJF6nS4KhRKM5sWHLSv5AS4Wyi8hfs3q1R3p6+uvTuc+OlEXW1WnqNIHizSsj7MwvTmjkrt2+fc3xk3l+Fc+XYTDLMq4vh3yTP/XgN05Amlk25eI1a9dK8orKgz9CDVRdXwJb3ODhw7eZBWAD1CfWrVu/pbCUF1JzBGPyYslikxqvSPUAuJmGLeLs2n2omBdy7VdqBhJlLFmKIOaswk6DohG38sViTmlI2E2c6+JcJMpNdUX89qm5NQIAtFPU8Sec92HX7uNwuNQyJCpLxbW77NfohAb2hNJCyaEwdetCiOtVJLrqurDdfd5Ngj0YQwkL+VT4tXUuDHcbiW7j5pq1GiljwBB9fZRa3YzspCUiX5CYNtfCQT8E9NYxo6LuOiKMidvgaFui0dGCoO8NuutS6usNDghH3E442olzdDB7lKTvDrrpUph3sdhHWJhD2j442pfmgDVzT9F3Az0T8GTWPDOjFxx5GS0b7BRyQk8wOP4Hmcx2MnF2tsmBoxwb53ZsMrkpYTAYFa8ikUjubBaLxWazDSVwVGJwQlDIJFJs/CgwiRnOwOPxSe4QCuthBBxFOBNMkqHj97TMSQDdOTZ0vouLm0t8S0uyO8uwAYPZYCBQIG1kPORKXGc0AMPiQqvdREKhUIRPaklmNXO5zQ8pbW1JpPmw6sq4YQCAKSptwBchPSYmhi50wyc84HIfJJPx8xE3ArSqKQDSJzbo/GeBIFogoAsZTCoGQ2U2uSCqLyhi+wDYDIX21dmLtdHRghg6Q7cVg9mqa3KDMS6dv6BVzAAm42jh+9+dvVQbLaAz4kw33ROJRIwrZz6cUdHGmUfKlqbY8/LN24u1dPqd76dO/bzDEN0IyvL2zlLSbFGW4ewrC91zIDMz0zsgSBGuDA0K8F4ByVLK+lqPsK00/PCOw0ePLrBSoJLawo0FanyBTHZgx/5FFr40WcF4FPjbzH7npMpsz4MHPT09F/lKldJz/WaC/00d7u+b7U+rrKT5Z/v6D58KOoa2Hz2oR5cuPQaNtkcDK38A5ZaTH6gIK+kAAAAASUVORK5CYII=",IntonationUp="data:image/png;base64,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",selectData=reactive({notes:[],staves:[],measureHeight:0}),calcNoteData=()=>{var c,u,d,g,m,y,b,A,S,E,x,P,C;const i=((c=document.getElementById("musicAndSelection"))==null?void 0:c.getBoundingClientRect())||{x:0,y:0},e=i.x||0,r=i.y||0,s=state$1.times,o=[],a=[];let l=0;for(let T=0;TB.id===I.id)||selectData.notes.push(I),o.push(k.noteId)}}if(!a.includes(k.MeasureNumberXML)){if(k.stave){if((P=(x=k.stave)==null?void 0:x.attrs)!=null&&P.id){const M=document.querySelector(`#${k.stave.attrs.id}`),R=[Array.from((M==null?void 0:M.querySelectorAll(".vf-clef"))||[]),Array.from((M==null?void 0:M.querySelectorAll(".vf-keysignature"))||[]),Array.from((M==null?void 0:M.getElementsByTagName("text"))||[])].flat();try{R.length&&R.forEach(V=>{var D;(D=V==null?void 0:V.style)==null||D.setProperty("display","none")})}catch(V){}const B=((C=M==null?void 0:M.getBoundingClientRect)==null?void 0:C.call(M))||{x:0,width:0,y:0,height:0};T===0&&(l=B.height);try{R.length&&R.forEach(V=>{var D;(D=V==null?void 0:V.style)==null||D.removeProperty("display")})}catch(V){}selectData.measureHeight=B.height;let _=B.height-l;_=_>0?_:0,I.staveBox={left:B.x-e+"px",top:B.y-r+_+"px",width:B.width+"px",height:B.height-_+"px"},selectData.staves.push(I)}a.push(k.MeasureNumberXML)}else if(k.multipleRestMeasures){const M=selectData.staves.find(R=>R.MeasureNumberXML===k.MeasureNumberXML-1);M!=null&&M.staveBox&&(I.staveBox={left:M.staveBox.left,top:M.staveBox.top,width:M.staveBox.width},selectData.staves.push(I),a.push(k.MeasureNumberXML))}}}console.log("🚀 ~ selectData.notes:",selectData.notes,selectData.staves)},Selection=defineComponent({name:"selection",setup(){const i=useRoute$1(),e={...getQuery(),...i.query},r=computed(()=>state$1.sectionStatus||state$1.modeType==="evaluating"),s=computed(()=>state$1.sectionStatus?state$1.section.map((o,a)=>{if(a===0){const l=selectData.staves.find(c=>c.MeasureNumberXML===o.MeasureNumberXML);return l&&{left:l.staveBox.left,top:l.staveBox.top,height:selectData.measureHeight+"px"}}else{const l=state$1.userChooseEndIndex>o.MeasureNumberXML?state$1.userChooseEndIndex:o.MeasureNumberXML,c=selectData.staves.find(u=>u.MeasureNumberXML===l);return c&&{left:parseFloat(c.staveBox.left)+parseFloat(c.staveBox.width)+"px",top:c.staveBox.top,height:selectData.measureHeight+"px"}}}):[]);return onMounted(()=>{selectData.notes=[],selectData.staves=[],calcNoteData();try{moveData.partIndex=state$1.partIndex+"",nextTick(()=>renderForMoveData())}catch(o){}}),()=>createVNode("div",{id:"selectionBox",class:[styles$h.selectionContainer],onClick:o=>o.stopPropagation()},[selectData.staves.map(o=>{var c;const a=o.id&&evaluatingData.evaluatings[o.measureListIndex],l=!state$1.isReport&&metronomeData.cursorMode===2&&o.MeasureNumberXML===((c=metronomeData.activeMetro)==null?void 0:c.measureNumberXML)&&state$1.times[state$1.activeNoteIndex].MeasureNumberXML===o.MeasureNumberXML;return createVNode(Fragment,null,[o.staveBox&&createVNode("div",{class:[styles$h.position,a?`scoreItemLeve${a.leve}`:"",o.multipleRestMeasures<=1?styles$h.staveBg:"",state$1.platform===IPlatform.PC&&state$1.zoom>.8?styles$h.linePC:""],style:o.staveBox,onClick:()=>handleSelection(o)},[l&&createVNode("div",{style:{height:selectData.measureHeight+"px",position:"relative"}},[createVNode("div",{class:[styles$h.line,state$1.setting.eyeProtection?styles$h.eyeLine:"",state$1.musicRenderType==EnumMusicRenderType.staff?styles$h.lineStaff:styles$h.lineJianPu],style:{left:metronomeData.activeMetro.left}},null)]),!state$1.isReport&&!!o.multipleRestMeasures&&state$1.activeMeasureIndex==o.MeasureNumberXML&&createVNode("div",{class:styles$h.dotWrap},[o.multipleRestMeasures]),createVNode(Transition,{name:"centerTop",onAfterEnter:()=>{a.show=!1}},{default:()=>{var u,d;return[(a==null?void 0:a.show)&&createVNode("div",{class:styles$h.scoreItem,style:{color:((u=leveByScoreMeasureIcons[a.leve])==null?void 0:u.color)||""}},[createVNode("img",{src:(d=leveByScoreMeasureIcons[a.leve])==null?void 0:d.icon},null),createVNode("span",null,[a.score])])]}})])])}),selectData.notes.map(o=>createVNode("div",{class:[styles$h.position,r.value&&styles$h.disable,styles$h.note,`noteIndex_${o.index}`],style:o.bbox,onClick:()=>skipNotePlay(o.index)},[createVNode("div",{class:styles$h.noteFollow,"data-vf":"vf"+o.id},[createVNode("div",{class:[styles$h.followTipUp,"tip-up"]},[createVNode("img",{src:IntonationUp},null),createVNode("span",null,[createTextVNode("音准"),createVNode("i",null,[createTextVNode("高了")])])]),createVNode("div",{class:[styles$h.followTipDown,"tip-down"]},[createVNode("img",{src:IntonationDown},null),createVNode("span",null,[createTextVNode("音准"),createVNode("i",null,[createTextVNode("低了")])])])]),createVNode("div",{class:[styles$h.noteDot,"node-dot"]},null)])),s.value.map((o,a)=>o&&createVNode("div",{class:styles$h.selectBox,style:o},[createVNode("div",{class:[styles$h.selectHandle,a>0&&styles$h.selectHandleRight,state$1.playState==="play"&&styles$h.playIng],onClick:()=>{state$1.section.length===2&&a===0?(state$1.section=[],showToast({message:"请选择开始小节",duration:0,position:"top",className:"selectionToast"})):(state$1.section.splice(a,1),state$1.section=[...state$1.section],showToast({message:state$1.section.length?"请选择结束小节":"请选择开始小节",duration:0,position:"top",className:"selectionToast"}))}},null)])),e.isMove=="1"&&createVNode(MoveMusicScore,null,null)])}}),styles$f={},speedInfo={"rall.":1.333333333,"poco rit.":1.333333333,"rit.":1.333333333,"molto rit.":1.333333333,"molto rall":1.333333333,molto:1.333333333,lentando:1.333333333,allargando:1.333333333,morendo:1.333333333,"accel.":.8,calando:2,"poco accel.":.8,"gradually slowing":1.333333333,slowing:1.333333333,slow:1.333333333,slowly:1.333333333,faster:1.333333333},getNextNote=(i,e)=>{var c;let r=0;const s=i.closest(e);let o=s;const a=s==null?void 0:s.closest("measure");let l=null;for(;!l&&r<((a==null?void 0:a.childNodes.length)||50);)r++,((c=o==null?void 0:o.nextElementSibling)==null?void 0:c.tagName)==="note"&&(l=o==null?void 0:o.nextElementSibling),o=o==null?void 0:o.nextElementSibling;return l},getGradualLengthByXml=i=>{var d,g,m,y;const e=new DOMParser().parseFromString(i,"text/xml"),r=Array.from(e.querySelectorAll("measure")),s=Array.from(e.querySelectorAll("note")),o=Array.from(e.querySelectorAll("words")),a=Array.from(e.querySelectorAll("metronome")),l=[];for(const b of[...o,...a]){const A=getNextNote(b,"direction");if(A){const S=A==null?void 0:A.closest("measure"),E=Array.from(S.querySelectorAll("note")),x=Array.from(S.childNodes).filter(T=>T.nodeName==="note").findIndex(T=>T===A);let P=0,C=0;for(let T=0;Tb.index-A.index);const u=Object.keys(speedInfo).map(b=>b.toLocaleLowerCase());for(const b of l){let A=!1,S=0;const E=(g=b.textContent)==null?void 0:g.toLocaleLowerCase().trim();b===l[l.length-1]&&((m=c[c.length-1])==null?void 0:m.length)===1&&(A=!0);const x=u.find(P=>{const C=P.split(" ");return E&&C.includes(E)});if(b.type==="metronome"||b.type==="words"&&(E.startsWith("a tempo")||x)||A){const P=c.findIndex(C=>C.length===1);P>-1&&b.index>((y=c[P])==null?void 0:y[0].start)&&(S=-1,c[P][1]={start:b.index,measureIndex:b.measureIndex,closedMeasureIndex:b.measureIndex,noteInMeasureIndex:b.noteInMeasureIndex,allDuration:b.allDuration,leftDuration:b.leftDuration,type:E})}b.type==="words"&&x&&c.push([{start:b.index,measureIndex:b.measureIndex,closedMeasureIndex:b.measureIndex+S,noteInMeasureIndex:b.noteInMeasureIndex,allDuration:b.allDuration,leftDuration:b.leftDuration,type:E}])}return c};getQuery();const container$1=ref(),resetGivenFormate=()=>{var r,s;const e={12200:[{parts:["0","1"],tieId:["1483"]},{parts:["2"],tieId:["1463"]},{parts:["10"],tieId:["1246"]},{parts:["11"],tieId:["2455"]},{parts:["13"],tieId:["1488","1688"]},{parts:["14","15"],tieId:["1272"]},{parts:["16"],tieId:["1264","1368"],staveSection:[{id:"section-0",y:-10}]}],12420:[{parts:["0"],tieId:["1298","1405","1998","2598","3229","2731","2617"]}],7729:[{parts:["3"],tieId:["1498","1660"]}],7439:[{parts:["23"],vfmodifiers:[{id:"modifiers-130",y:-18,isLast:!0}]}],12711:[{parts:["0"],voltas:-12},{parts:["4"],voltas:-8}],3581:[{parts:["0"],voltas:-8}],6244:[{parts:["15"],stavenote:[{id:"vf-auto1608",y:-15}]}],7473:[{parts:["0"],voltas:-8}]}[state$1.cbsExamSongId];if(e){const o=state$1.partIndex+"",a=e.find(l=>l.parts.includes(o));if(!a)return;if(a.tieId&&a.tieId.length)for(let l=0;l{c.classList.add(`section-${u}`)});for(let c=0;c{c.classList.add(`modifiers-${u}`)});for(let c=0;c{c.style.transform=`translateY(${a.voltas}px)`}),a.stavenote&&a.stavenote.length)for(let l=0;l{var r,s,o,a,l,c,u,d,g,m,y,b,A;if(["1788850864767643649","1788502467554750466","1789839575249596417","1788501975122489346","1796006876341813249"].includes(state$1.cbsExamSongId)||i){const S=(r=Array.from(document.getElementsByClassName("vf-curve")))==null?void 0:r.last();if(S&&(S.style.display="none"),state$1.musicRenderType!=="staff"){const E=document.getElementById("auto2670"),x=document.getElementById("auto2710"),P=document.getElementById("auto3099"),C=document.getElementById("auto3339"),T=state$1.cbsExamSongId=="1789839575249596417"&&((o=(s=document.getElementById("vf-auto1554"))==null?void 0:s.getElementsByClassName("vf-modifier"))==null?void 0:o[0]),k=state$1.cbsExamSongId=="1789839575249596417"&&document.getElementById("vf-auto1554-lines"),I=state$1.cbsExamSongId=="1788501975122489346"&&((l=(a=document.getElementById("vf-auto2116"))==null?void 0:a.getElementsByClassName("vf-modifier"))==null?void 0:l[0]),M=state$1.cbsExamSongId=="1788501975122489346"&&document.getElementById("vf-auto2116-lines"),R=state$1.cbsExamSongId=="1788502467554750466"&&((u=(c=document.getElementById("vf-auto2122"))==null?void 0:c.getElementsByClassName("vf-modifier"))==null?void 0:u[0]),B=state$1.cbsExamSongId=="1788502467554750466"&&document.getElementById("vf-auto2122-lines");if(E&&(E.style.display="none"),x&&(x.style.display="none"),P&&(P.style.display="none"),C&&(C.style.display="none"),T&&(T.style.transform="translateX(-0.65rem)"),I&&(I.style.transform="translateX(-0.65rem)"),R&&(R.style.transform="translateX(-0.65rem)"),k&&(k.style.transform="translateX(-0.65rem)"),M&&(M.style.transform="translateX(-0.65rem)"),B&&(B.style.transform="translateX(-0.65rem)"),k||M||B){const _=k?k.querySelector("path"):M?M.querySelector("path"):B?B.querySelector("path"):null;let V=_==null?void 0:_.getAttribute("d");if(V){const D=(m=(g=(d=V.split("L"))==null?void 0:d.last())==null?void 0:g.split(" "))==null?void 0:m[0];let F=((b=(y=V.split("M"))==null?void 0:y[1])==null?void 0:b.split(" ")[0])||0;F=F?Number(F):0;let N=((A=V.split("L"))==null?void 0:A.last().split(" ")[0])||0;N=N?Number(N):0;const K=N-F,G=F-K;V=V.replace(`L${D}`,`L${G}`),_.setAttribute("d",V)}}}}},resetFormate=()=>{var s,o,a;if(container$1.value=document.getElementById("scrollContainer"),!container$1.value)return;moveGracePosition();const i=Array.from(container$1.value.querySelectorAll(".staffline")),e=4,r=28;for(let l=0,c=i.length;l .vf-voices")),A=Array.from(u.querySelectorAll(".vf-measure > .vf-beams")),S=Array.from(u.querySelectorAll(".vf-ties")),E=Array.from(u.querySelectorAll(".vf-line")),x=Array.from(u.querySelectorAll(".vf-measure > .vf-stave text"));Array.from(u.querySelectorAll(".vf-measure > .vf-stave rect[fill=none]"));const P=Array.from(u.querySelectorAll(".vf-measure .vf-staveSection")),C=Array.from(u.querySelectorAll(".vf-measure > .vf-stave path")),T=Array.from(u.querySelectorAll(".vf-measure .vf-stopDot")),k=Array.from(u.querySelectorAll(".vf-measure > .vf-stave")),I=((s=C[0])==null?void 0:s.getBBox().y)||0,M=["To Coda","D.S. al Coda","Coda"];x.filter(G=>M.includes(G.textContent||"")).forEach(G=>{A.forEach(q=>{var $;const O=collisionDetection(G,q),U=G==null?void 0:G.previousSibling;if(O.isCollision){const Y=Number(G.getAttribute("y"))-(O.b1-O.t2)-e+"";G.setAttribute("y",Y),U&&U.getAttribute("stroke-width")==="0.3"&&U.getAttribute("stroke")==="none"&&((($=U.getAttribute("d"))==null?void 0:$.length)||0)>3e3&&(U.style.transform=`translateY(${-(O.b1-O.t2+e)}px)`)}}),b.forEach(q=>{var $;const O=collisionDetection(G,q),U=G==null?void 0:G.previousSibling;if(O.isCollision){const Y=Number(G.getAttribute("y"))-(O.b1-O.t2)-e+"";G.setAttribute("y",Y),U&&U.getAttribute("stroke-width")==="0.3"&&U.getAttribute("stroke")==="none"&&((($=U.getAttribute("d"))==null?void 0:$.length)||0)>3e3&&(U.style.transform=`translateY(${-(O.b1-O.t2+e)}px)`)}})}),P.forEach(G=>{let q=0;[...y,...S,...b].forEach(O=>{const U=collisionDetection(G,O);U.isCollision&&(q=Math.min(q,U.t2-U.b1-e))}),G.style.transform=`translateY(${q}px)`});let R=Array.from(u.querySelectorAll(".vf-text > text")).filter(G=>G.getBBox().y text")).filter(G=>G.getBBox().y{const q=G.getBBox();q.y1&&_.forEach(G=>{G.setAttribute("y",B+"")}),R.forEach(G=>{[...y,...m,...E].forEach(q=>{let O=collisionDetection(G,q);if(O.isCollision&&O.b1{R.forEach(q=>{if(G.parentNode!==q.parentNode&&!["marcato","legato"].includes(G.textContent))if(["marcato","legato"].includes(q.textContent)){if(collisionDetection(G,q,30,30).isCollision){const U=G.getBBox();q.setAttribute("x",U.x+U.width+5+""),q.setAttribute("y",U.y+U.height-5+"")}}else{const O=collisionDetection(G,q);if(O.isCollision){const U=Number(G.getAttribute("y")),$=O.b2-O.t2<24?24:O.b2-O.t2;q.setAttribute("y",U-$-.5+"")}}})});const V=["C","G","D","A","E","B","F#","C#","G#","F","Bb","Eb","Ab","Db","Gb","Cb","Fb","D#","A#","E#"],D=["Bb","Eb","Ab","Db","Gb","Cb","Fb"],F=["F#","C#","G#","D#","A#","E#","B#"];R.forEach(G=>{const q=G.textContent;if(V.includes(q)){const O=Number(G.getAttribute("y")),U=I?I-r:O;G.setAttribute("y",U)}D.includes(q)&&(G.textContent=q.replace("b","♭")),F.includes(q)&&(G.textContent=q.replace("#","♯"))}),T.forEach(G=>{state$1.musicRenderType==="fixedTone"?G.setAttribute("transform","translate(3,-12)"):G.setAttribute("transform","translate(3,-7)")});const N=Array.from(u.querySelectorAll(".vf-text > text")).filter(G=>G.getBBox().y>g),K=Array.from(u.querySelectorAll(".vf-line")).filter(G=>G.getBBox().y>g);for(let G=0;G{[...m].forEach(q=>{let O=collisionDetection(G,q);O.isCollision&&G.setAttribute("y",O.b2+Math.abs(O.t1-Number(G.getAttribute("y")))+"")})}),K.forEach(G=>{var O;const q=[];if((O=G.nextElementSibling)!=null&&O.classList.contains("vf-line")&&N.forEach(U=>{let $=collisionDetection(G,U,20,20);$.isCollision&&q.push({text:U,result:$})}),q.length===1){const U=q[0].result,$=q[0].text;U.x2+U.w2U.x1+U.w1?Math.abs(U.y2-U.y1)>10&&$.setAttribute("y",U.y1+U.h2/2+""):Math.abs(U.x2-U.x1)10&&$.setAttribute("y",U.y1+U.h2/2+"")):($.setAttribute("x",U.x1+U.w1+5+""),Math.abs(U.y2-U.y1)>10&&$.setAttribute("y",U.y1+U.h2/2+""))}else if(q.length===2){const U=q[0].result,$=q[0].text,Y=q[1].result,Q=q[1].text;$.setAttribute("x",U.x1-U.w2-5+""),Math.abs(U.y2-U.y1)>10&&$.setAttribute("y",U.y1+U.h2/2+""),Q.setAttribute("x",Y.x1+Y.w1+5+""),Math.abs(Y.y2-Y.y1)>10&&Q.setAttribute("y",Y.y1+Y.h2/2+"")}}),N.forEach(G=>{N.forEach(q=>{if(G.parentNode!==q.parentNode&&!["marcato","legato","cresc.","Cantabile"].includes(G.textContent))if(["marcato","legato","cresc.","Cantabile"].includes(q.textContent)){if(collisionDetection(G,q,30,30).isCollision){const U=G.getBBox();q.setAttribute("x",U.x+U.width+5+""),q.setAttribute("y",U.y+U.height-5+"")}}else{const O=collisionDetection(G,q);O.isCollision&&q.setAttribute("y",O.y1+O.h1+O.h2+"")}})});for(let G=0;G{const q=[Array.from((G==null?void 0:G.querySelectorAll(".vf-StaveSection"))||[]),Array.from((G==null?void 0:G.querySelectorAll(".vf-Volta"))||[]),Array.from((G==null?void 0:G.querySelectorAll(".vf-clef"))||[]),Array.from((G==null?void 0:G.querySelectorAll(".vf-keysignature"))||[]),Array.from((G==null?void 0:G.getElementsByTagName("text"))||[])].flat();try{q.length&&q.forEach(Q=>{var xe;G==null||G.removeChild(Q),(xe=Q==null?void 0:Q.style)==null||xe.setProperty("display","none")})}catch(Q){}const O=(G==null?void 0:G.getBBox())||{},U=``,$=``,Y=`${U}${$}`;try{q.length&&q.forEach(Q=>{var xe;G==null||G.appendChild(Q),(xe=Q==null?void 0:Q.style)==null||xe.removeProperty("display")})}catch(Q){}G.innerHTML=Y+G.innerHTML}),state$1.vfmeasures=state$1.vfmeasures.concat(m)}},collisionDetection=(i,e,r=0,s=0)=>{const o=i.getBBox(),a=e.getBBox();let l=o.y-s,c=o.x-r,u=o.x+o.width+r,d=o.y+o.height+s,g=a.y,m=a.x,y=a.x+a.width,b=a.y+a.height;return dy||l>b||u{const i=state$1.partIndex+"",r=[{id:"12644",part_index:"25",direction:1}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i);setGlobalData("tieDirection",r?r.direction:void 0);const o=[{id:"3509",part_index:"16",direction:1}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i);o&&setGlobalData("graceCustom",{direction:o.direction});const l=[{id:"3030",part_index:"17",line:4},{id:"12704",part_index:"23",line:3}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i);l&&setGlobalData("customBassDrum",l.line);const u=[{id:"11654",part_index:"16",stemNotes:[{id:124,direction:0},{id:125,direction:0},{id:126,direction:0},{id:127,direction:0},{id:128,direction:0}]},{id:"3581",part_index:"4",stemNotes:[{id:380,direction:1}]},{id:"3470",part_index:"0",stemNotes:[{id:36,direction:1},{id:37,direction:1}]},{id:"3470",part_index:"11",stemNotes:[{id:33,direction:1},{id:56,direction:1}]},{id:"12644",part_index:"22",stemNotes:[{id:22,direction:1},{id:26,direction:1},{id:135,direction:1},{id:163,direction:1},{id:199,direction:1},{id:204,direction:1},{id:206,direction:1},{id:208,direction:1},{id:210,direction:1},{id:213,direction:1}]},{id:"12303",part_index:"18",stemNotes:[{id:1,direction:1},{id:4,direction:1},{id:6,direction:1},{id:9,direction:1},{id:12,direction:1},{id:14,direction:1}]},{id:"12669",part_index:"24",stemNotes:[{id:65,direction:1},{id:296,direction:1},{id:298,direction:1},{id:300,direction:1},{id:338,direction:1}]},{id:"12420",part_index:"21",stemNotes:[{id:614,direction:0},{id:617,direction:0},{id:619,direction:0},{id:621,direction:0}]},{id:"12711",part_index:"22",stemNotes:[]},{id:"12973",part_index:"21",stemNotes:[{id:619,direction:1},{id:622,direction:1},{id:745,direction:1}]}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i);u&&setGlobalData("stemDirectionNote",u.stemNotes);const g=[{id:"12711",part_index:"4",vfcurve:[{MeasureNumberXML:25,index:1,bezierEndControlPt:{y:-2}},{MeasureNumberXML:33,index:1,bezierEndControlPt:{y:-2}}]},{id:"12059",part_index:"0",vfcurve:[{MeasureNumberXML:15,bezierEndControlPt:{y:2.8},bezierEndPt:{y:1.1}},{MeasureNumberXML:16,bezierEndControlPt:{y:-1}},{MeasureNumberXML:19,index:1,bezierEndControlPt:{y:2}},{MeasureNumberXML:20,bezierEndControlPt:{y:-1}},{MeasureNumberXML:42,index:1,bezierEndControlPt:{y:-1.5},bezierStartControlPt:{y:-1.5}},{MeasureNumberXML:46,index:3,bezierEndControlPt:{y:-1.5},bezierStartControlPt:{y:-1.5}}]},{id:"12668",part_index:"11",vfcurve:[{MeasureNumberXML:8,index:2,bezierEndControlPt:{y:-3},bezierStartControlPt:{y:-3},bezierEndPt:{y:-1}}]},{id:"11976",part_index:"0",vfcurve:[{MeasureNumberXML:14,index:4,bezierEndControlPt:{y:-3}},{MeasureNumberXML:14,index:1,bezierEndPt:{y:1.5},bezierEndControlPt:{y:1}}]}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i);g&&setGlobalData("vfcurveItem",g.vfcurve),[{id:"12644",part_index:"25"}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i)&&setGlobalData("customArtPosition",!0),[{id:"12645",part_index:"5"}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i)&&setGlobalData("customTenutoItem",!0),([{id:"12711",part_index:"22"},{id:"12711",part_index:"25"}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i)||state$1.isEvxml)&&setGlobalData("customAccentItem",!0),[{id:"12711",part_index:"25"},{id:"7755",part_index:"10"},{id:"6226",part_index:"16"}].find(({id:C,part_index:T})=>C==state$1.cbsExamSongId&&T==i)&&setGlobalData("customLefthandpizzicatoItem",!0)},setCustomGradual=()=>{if(state$1.gradualTimes){const i=state$1.cbsExamSongId+"",e=state$1.partIndex+"";["12280"].includes(i)&&["24"].includes(e)&&(state$1.gradualTimes[8]="00:26:10",state$1.gradualTimes[66]="01:53:35",state$1.gradualTimes[90]="02:41:40")}},setCustomNoteRealValue=()=>{const i=state$1.cbsExamSongId+"",e=state$1.partIndex+"";["2670"].includes(i)&&(customData.customNoteRealValue={0:.03125}),["12673"].includes(i)&&["22"].includes(e)&&(customData.customNoteRealValue={208:.125}),["12667","12673"].includes(i)&&(customData.customNoteCurrentTime=!0)},musicRenderTypeKey="musicRenderType";let osmd=null;const musicData=reactive({showSelection:!1,isRenderLoading:!0,score:"",containerWidth:0,isRefreshLoading:!1}),resetRenderMusicScore=i=>{const e=queryString.parse(location.search),r=queryString.stringify({...e,_t:Date.now(),musicRenderType:i,isSingleLine:state$1.isSingleLine});location.search="?"+r},downloadXmlStr=ref(""),MusicScore=defineComponent({name:"music-score",emits:["rendered"],props:{showSelection:{type:Boolean,default:!0},renderTypeKey:{type:String,default:""},musicColor:{type:String,default:""},showPartNames:{type:Boolean,default:!1}},setup(i,{emit:e,slots:r,expose:s}){const o=()=>{const g=sessionStorage.getItem(i.renderTypeKey||musicRenderTypeKey);g in EnumMusicRenderType&&(state$1.musicRenderType=g)},a=async()=>{const g=downloadXmlStr.value||await fetch(state$1.xmlUrl).then(y=>y.text());downloadXmlStr.value="";const m=formatXML(g);musicData.score=state$1.isCombineRender?m:onlyVisible(m,state$1.partIndex),state$1.gradualTimes&&(state$1.gradual=getGradualLengthByXml(m))},l=async()=>{const g=document.getElementById("musicAndSelection");!g||!musicData.score||(setGlobalMusicSheet(),osmd=new OpenSheetMusicDisplay(g,{drawTitle:!1,drawSubtitle:!1,autoResize:!1,followCursor:!1,drawPartNames:i.showPartNames,drawLyricist:!1,drawComposer:!1,defaultColorMusic:i.musicColor,renderSingleHorizontalStaffline:!!state$1.isSingleLine,autoGenerateMultipleRestMeasuresFromRestMeasures:!state$1.isSingleLine,colorStemsLikeNoteheads:!0}),state$1.isSimplePage?(osmd.EngravingRules.PageTopMargin=0,osmd.EngravingRules.PageTopMarginNarrow=0,osmd.EngravingRules.PageLeftMargin=0,osmd.EngravingRules.PageRightMargin=0,osmd.EngravingRules.BreathMarkDistance=.1,osmd.EngravingRules.PageBottomMargin=0):(osmd.EngravingRules.PageTopMargin=2,osmd.EngravingRules.PageTopMarginNarrow=3,osmd.EngravingRules.PageLeftMargin=2,osmd.EngravingRules.PageRightMargin=2,osmd.EngravingRules.BreathMarkDistance=.1,osmd.EngravingRules.PageBottomMargin=state$1.isSingleLine?2:18),osmd.EngravingRules.DYMusicScoreType=state$1.musicRenderType===EnumMusicRenderType.staff?"staff":"jianpu",state$1.musicRenderType===EnumMusicRenderType.fixedTone&&(window.sett={keySignature:!0}),osmd.EngravingRules.DYMusicScoreId=state$1.examSongId||"",osmd.EngravingRules.DYCustomRepeatCount=state$1.maxLyricNum||0,await osmd.load(musicData.score),osmd.zoom=state$1.isSimplePage?.6:state$1.zoom,osmd.render(),console.log("🚀 ~ osmd:",osmd),e("rendered",osmd),resetFormate(),resetGivenFormate(),musicData.showSelection=!0)},c=()=>{var g;musicData.containerWidth=((g=document.getElementById("musicAndSelection"))==null?void 0:g.offsetWidth)||625};onMounted(async()=>{c(),o(),await a(),await l(),musicData.isRenderLoading=!1});const u=computed(()=>{var y;let g=!1;const m=((y=state$1.times[state$1.activeNoteIndex])==null?void 0:y.measureListIndex)||-1;for(const[b,A]of state$1.gradual)if(b&&A&&(g=b.measureIndex<=m&&m{console.log("刷新谱面123");const g=document.getElementById("musicAndSelection"),m=document.getElementById("osmdCanvasPage1"),y=document.getElementById("selectionBox");g&&m&&(g==null||g.removeChild(m),g==null||g.removeChild(y)),state$1.vfmeasures=[],musicData.showSelection=!1,state$1.osmd.clear(),musicData.isRenderLoading=!0,musicData.isRefreshLoading=!0,state$1.audioDone=!1,c(),o(),await a(),await l(),musicData.isRenderLoading=!1,musicData.isRefreshLoading=!1,state$1.audioDone=!0,musicData.showSelection=!0}}),()=>{var g;return createVNode("div",{id:"musicAndSelection",style:{"--music-zoom":state$1.musicZoom},class:[u.value&&styles$f.inGradualRange,state$1.musicRenderType==EnumMusicRenderType.staff?"staff":"jianpuTone",state$1.isSingleLine&&"singleLineMusicBox"]},[(g=r.default)==null?void 0:g.call(r),i.showSelection&&musicData.showSelection&&!state$1.isPreView&&!state$1.isEvaluatReport&&!state$1.isSimplePage&&createVNode(Selection,null,null)])}}}),earphoneBox="_earphoneBox_1k5ae_1",earphoneBg="_earphoneBg_1k5ae_6",earphoneBtn$1="_earphoneBtn_1k5ae_13",styles$e={earphoneBox,earphoneBg,earphoneBtn:earphoneBtn$1},noEarphone=""+new URL("../png/no_erji-b52e4bd3.png",import.meta.url).href,youxianEarphone=""+new URL("../png/youxian_erji-d82c6f6a.png",import.meta.url).href,lanyaEarphone=""+new URL("../png/lanya_erji-0f98a78b.png",import.meta.url).href,earphoneBtn=""+new URL("../png/confirm-44317bcb.png",import.meta.url).href,Earphone=defineComponent({name:"earphone",emits:["close"],props:{earphoneType:{type:String,default:""}},setup(i,{emit:e}){return()=>createVNode("div",{class:styles$e.earphoneBox},[createVNode("img",{class:styles$e.earphoneBg,src:i.earphoneType==="有线耳机"?youxianEarphone:i.earphoneType==="蓝牙耳机"?lanyaEarphone:noEarphone},null),createVNode("img",{class:styles$e.earphoneBtn,src:earphoneBtn,onClick:()=>e("close")},null)])}}),startBtn$1="_startBtn_egarl_4",endBtn$1="_endBtn_egarl_19",operatingBtn$1="_operatingBtn_egarl_33",iconBtn$1="_iconBtn_egarl_42",dialogueBox="_dialogueBox_egarl_50",dialogue="_dialogue_egarl_50",dialoguebg="_dialoguebg_egarl_67",dialogueing="_dialogueing_egarl_82",dialogueIcon="_dialogueIcon_egarl_96",inRadioIcon="_inRadioIcon_egarl_100",preJson$1="_preJson_egarl_105",styles$d={startBtn:startBtn$1,endBtn:endBtn$1,operatingBtn:operatingBtn$1,iconBtn:iconBtn$1,dialogueBox,dialogue,dialoguebg,dialogueing,dialogueIcon,inRadioIcon,preJson:preJson$1},evaluatResult="_evaluatResult_jbmeb_1",closeBtn="_closeBtn_jbmeb_9",headerButton="_headerButton_jbmeb_25",headBtn="_headBtn_jbmeb_35",fraction$2="_fraction_jbmeb_52",fractionPercussion="_fractionPercussion_jbmeb_62",bg="_bg_jbmeb_65",top$1="_top_jbmeb_74",badge="_badge_jbmeb_80",text="_text_jbmeb_86",badgeText="_badgeText_jbmeb_101",level="_level_jbmeb_104",num="_num_jbmeb_120",rightBadge="_rightBadge_jbmeb_125",tips$1="_tips_jbmeb_133",ctrls="_ctrls_jbmeb_140",ctrlsBtn="_ctrlsBtn_jbmeb_146",detail$2="_detail_jbmeb_169",progressitem="_progressitem_jbmeb_179",percussion="_percussion_jbmeb_212",scoreDes="_scoreDes_jbmeb_222",scoreNum="_scoreNum_jbmeb_226",disablued="_disablued_jbmeb_230",styles$c={evaluatResult,closeBtn,headerButton,headBtn,fraction:fraction$2,fractionPercussion,bg,top:top$1,badge,text,badgeText,level,num,rightBadge,tips:tips$1,ctrls,ctrlsBtn,detail:detail$2,progressitem,percussion,scoreDes,scoreNum,disablued},bg1Img=""+new URL("../png/bg1-592ffdaa.png",import.meta.url).href,bg2Img=""+new URL("../png/bg2-824cbb79.png",import.meta.url).href,ckzpImg=""+new URL("../png/ckzp-1968b9e5.png",import.meta.url).href,bczpImg=""+new URL("../png/bczp-71f45219.png",import.meta.url).href,bczpJzImg=""+new URL("../png/bczpJz-906d5ca2.png",import.meta.url).href,zlycImg=""+new URL("../png/zlyc-7efcb840.png",import.meta.url).href,iconBadge=""+new URL("../png/icon-badge-43df9247.png",import.meta.url).href,icon_expression0=""+new URL("../png/icon_expression0-b8991383.png",import.meta.url).href,icon_expression1=""+new URL("../png/icon_expression1-f13be586.png",import.meta.url).href,icon_expression2=""+new URL("../png/icon_expression2-874c6bf2.png",import.meta.url).href,icon_expression3=""+new URL("../png/icon_expression3-ed1128a2.png",import.meta.url).href,icon_expression4=""+new URL("../png/icon_expression4-2efddc6f.png",import.meta.url).href,yzImg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAe1BMVEUAAAAarfIeq/EdrfIcrfIcrPEcrPMcrfEcrfEcrPIWs/QcrPIbrfIbrPQesvMApP8crfEcrPEbrfIarvMcrPIcrPEcrfIbrPEbrPEbsfUcrPEcrPEcrPEcrfIbrfMcrfIdrfIbrfEdrPAcrfIbrPQgr/8crPEervQcrPGRPBjVAAAAKHRSTlMAJyHoZOFTpeL4C9uxLhAFy18/E926iX40GfTx7cGooIZwaUw4CJRFAQeLSgAAANFJREFUOMvd0scOgzAQRdEhhcQ2vaZXSN7/f2E0FBtZhGxY5S5HB4TEo3laXNTaKsufpKuOGOuhQQRv51j5JcSe2lII2dv9gvrOcPsvwFJfXaiiMxusRgEgiknAFb+AkBMgipZA9R3wVTrBJOD+BpRILBDesoPQIKWALFCCi6kpWYdkgw247r0eSwPMj8qaB1MXUH5tAXpf8xfP7HlCm5IGDAs9PVsNLJGDu9ujNcXg5PjseQw3cLse+AcMOwbkne7OFTFpcVFb07mmJOCrQ7P0AY/8IL1cnSj2AAAAAElFTkSuQmCC",jzImg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAjVBMVEUAAAAcrPEcrPIbrvIbrfYcrfIbrPIcrfIYrv8crPIcrfIcrfIcrfIasPQbrPEcrPEcrfIcrPIbrPEbrfIcrfIdrfIbrfIcrvIdrfMZqvYcsf8crfIbrPEcrfIbrfIbrfIcrPIbrPMcrfIbrvEcq/MbrfIaqvAcrPIcrPIbrfIcrfIdrPEbrfEbq/IcrPGQQTE0AAAALnRSTlMA8q0lHO77fQX3tXFRFerh28q7qYdhXUQrGgzTtKWQeG1oVUpAODHk1cObl4JMHX5atAAAAOBJREFUOMvN0seSgkAYReHbIEnAQJBgjpPP+z/esGCqRkuarWf7f5uuvnqJXMcwkHHc7u5hyXPlMJ1ooMkUR4buPigwAv3rOG/vBDyAjMoOZhysoIGdFfxAZgUBzIdBUslh4bcK4+YBhEktnXyvXXhf3FSyUVcTlH9gg198R7AnizlpCReVwRpWPTAA/tE37M4EN95Zdicg6EHBLKlq5bBy2X5yzolMcnj7SHugNFTXFWpFCzOX6xM/e+bSC7WGvRRvw2cgnUgOUWr5C6kglxVcZtc7MDqY0cmNjnZ09q/QLzI0MPNllJEKAAAAAElFTkSuQmCC",wzxImg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAeFBMVEUAAAAcrfEbrPEcrPEcrfEdrvMarPMcrPIbrPEUr/wcrfIbrvEbrvIcrPEXr/wApPcbrPIcrPIbrPIcrfIcrPEbrPIcrPEcrfIcrfIbrvQbrfEcqvEcrPIcrPEcrfEcrfEYsPcepf8crPIcrPEcrvIdq/EbrfEcrPFQhzQkAAAAJ3RSTlMAxkPh3CwodfwM4kEm9w8F6bRpVTUu9KKZSj0YrZeRgiAI0cmHfXDgQdxoAAAA1klEQVQ4y83SyZbCIBRF0YskVYlVkM609tV4//8PxYArEmOcOHAPmHBYb8DDi6yyQI4EWTfcF4oTohZOkrIpP0bKhmlyHUCJCZIrWAsKIAk95rHg4jao6anvgjzw5OPg3vNgw/BhcFibIw7xMPjkz79p5gJSneYDI/eCfdSr2iGQXrBjLypsIH5Tcu2NiHtHN+IL0OXRC5whMN4t2CulqmIm2NHI50ZorWMYeruslFuFyaVteNHBcWu/Lb+tGKIPDrjVRryS9qMEfF0WLK0NUNTZn8brnAGRVhzgJkqXBQAAAABJRU5ErkJggg==",closeImg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYBAMAAAASWSDLAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAAC3RSTlMAs22uE5szFlEqgLv7pMEAAACBSURBVBjTY8ADnBogNIsGkFAUgnBcBScwMDQKKoAlAoULGBiYBIUgEmYgShEoBZJIALJBUlAJqBREAipVCpKASRmCJGBSCAkGdkPBBUAKZjnELqjlC8HOgFoOdQbEcpBdMAmwXTAJiDNgEjApRajlimDPQS1nAnmOE4jBYDpq2AAAbpwTvo1r5AEAAAAASUVORK5CYII=",EvaluatResult=defineComponent({name:"evaluatResult",emits:["close"],setup(i,{emit:e}){const r=getQuery(),s=reactive({saveLoading:!0,showPopover:!0}),o={BEGINNER:"入门级",ADVANCED:"进阶级",PERFORMER:"大师级"},a=async()=>{console.log("结束",evaluatingData.resultData),evaluatingData.resultData.scoreData.musicType=state$1.musicRenderType;const c={deviceType:browser().android?"ANDROID":"IOS",intonation:evaluatingData.resultData.intonation,cadence:evaluatingData.resultData.cadence,integrity:evaluatingData.resultData.integrity,scoreData:JSON.stringify(evaluatingData.resultData.scoreData),behaviorId:getBehaviorId(),sourceTime:getAudioDuration(),partIndex:state$1.partIndex,speed:state$1.speed,practiceSource:r.workRecord?"LESSON_TRAINING":"EVALUATION",score:evaluatingData.resultData.score,clientType:storeData.user.clientType,musicSheetId:state$1.examSongId,feature:"EVALUATION",playTime:evaluatingData.resultData.playTime/1e3,heardLevel:state$1.setting.evaluationDifficulty,recordFilePath:evaluatingData.resultData.url};s.saveLoading=!0;const u=await api_musicPracticeRecordSave(c);(u==null?void 0:u.code)===200&&(evaluatingData.resultData.recordId=u.data),s.saveLoading=!1},l=()=>{e("close","update")};return onMounted(()=>{evaluatingData.isErrorState||a()}),watch(()=>evaluatingData.resulstMode,c=>{c&&setTimeout(()=>{evaluatingData.isErrorState||a()},0)}),()=>createVNode(Fragment,null,[!evaluatingData.hideResultModal&&createVNode("div",{class:styles$c.evaluatResult},[createVNode("div",{class:styles$c.closeBtn,onClick:()=>e("close")},[createVNode("img",{src:iconBack},null)]),createVNode("div",{class:[styles$c.fraction,state$1.isPercussion&&styles$c.fractionPercussion]},[createVNode("img",{class:styles$c.bg,src:state$1.isPercussion?bg2Img:bg1Img},null),createVNode("div",{class:styles$c.top},[evaluatingData.resultData.score>79&&createVNode("img",{class:styles$c.badge,src:iconBadge},null),createVNode("div",{class:[styles$c.text,evaluatingData.resultData.score>79&&styles$c.badgeText]},[createVNode("div",{class:styles$c.num},[evaluatingData.resultData.score]),createVNode("div",{class:styles$c.score},[createTextVNode("分")]),createVNode("div",{class:styles$c.level},[createVNode("div",null,[o[evaluatingData.resultData.heardLevel]]),createVNode("span",null,[createTextVNode("|")]),createVNode("div",null,[createTextVNode("速度"),evaluatingData.resultData.speed])])]),createVNode("img",{style:{display:evaluatingData.resultData.leve===0?"":"none"},class:styles$c.rightBadge,src:icon_expression0},null),createVNode("img",{style:{display:evaluatingData.resultData.leve===1?"":"none"},class:styles$c.rightBadge,src:icon_expression1},null),createVNode("img",{style:{display:evaluatingData.resultData.leve===2?"":"none"},class:styles$c.rightBadge,src:icon_expression2},null),createVNode("img",{style:{display:evaluatingData.resultData.leve===3?"":"none"},class:styles$c.rightBadge,src:icon_expression3},null),createVNode("img",{style:{display:evaluatingData.resultData.leve===4?"":"none"},class:styles$c.rightBadge,src:icon_expression4},null)]),!state$1.isPercussion&&createVNode("div",{class:styles$c.detail},[createVNode("div",{class:styles$c.progressitem},[createVNode("div",null,[createVNode("img",{src:yzImg},null),createVNode("span",null,[createTextVNode("音准")])]),createVNode("div",null,[evaluatingData.resultData.intonation,createTextVNode("分")])]),createVNode("div",{class:styles$c.progressitem},[createVNode("div",null,[createVNode("img",{src:jzImg},null),createVNode("span",null,[createTextVNode("节奏")])]),createVNode("div",null,[evaluatingData.resultData.cadence,createTextVNode("分")])]),createVNode("div",{class:styles$c.progressitem},[createVNode("div",null,[createVNode("img",{src:wzxImg},null),createVNode("span",null,[createTextVNode("完成度")])]),createVNode("div",null,[evaluatingData.resultData.integrity,createTextVNode("分")])])]),createVNode("div",{class:styles$c.tips},[evaluatingData.resultData.clxtip]),createVNode("div",{class:styles$c.ctrls},[createVNode("img",{src:zlycImg,class:styles$c.ctrlsBtn,onClick:()=>e("close","tryagain")},null),!state$1.isHideEvaluatReportSaveBtn&&evaluatingData.resultData.recordId?createVNode("img",{src:bczpImg,class:styles$c.ctrlsBtn,onClick:debounce(l,300)},null):createVNode(Popover,{class:"savePopoverClose",placement:"top",show:s.showPopover,"onUpdate:show":c=>s.showPopover=c,theme:"dark"},{default:()=>[createVNode("div",{class:"popoverClose"},[createVNode("div",null,[createTextVNode("该曲目暂不支持保存作品噢~")]),createVNode("img",{src:closeImg,onClick:()=>{s.showPopover=!1}},null)])],reference:()=>createVNode("img",{src:bczpJzImg,class:styles$c.ctrlsBtn},null)}),createVNode("img",{src:ckzpImg,class:[styles$c.ctrlsBtn,s.saveLoading?styles$c.disablued:""],onClick:()=>e("close","look")},null)])])])])}}),fraction$1="_fraction_1ybuf_1",title$5="_title_1ybuf_10",tip$1="_tip_1ybuf_21",btns$2="_btns_1ybuf_26",btn$3="_btn_1ybuf_26",styles$b={fraction:fraction$1,title:title$5,tip:tip$1,btns:btns$2,btn:btn$3},icon_title=""+new URL("../svg/icon_title-e17b577f.svg",import.meta.url).href,icon_cancel$1=""+new URL("../svg/icon_cancel-06949ce5.svg",import.meta.url).href,icon_confirm$1=""+new URL("../svg/icon_confirm-fa958ade.svg",import.meta.url).href,EvaluatAudio=defineComponent({name:"evaluat-audio",emits:["close"],setup(i,{emit:e}){return()=>createVNode("div",{class:styles$b.fraction},[createVNode("div",{class:styles$b.title},[createVNode("img",{src:icon_title},null)]),createVNode("div",{class:styles$b.tip},[createTextVNode("评测"),state$1.setting.camera&&state$1.setting.saveToAlbum?"音视频":"音频",createTextVNode("是否上传到云端?")]),createVNode("div",{class:styles$b.btns},[createVNode("img",{src:icon_cancel$1,class:styles$b.btn,onClick:()=>e("close")},null),createVNode("img",{src:icon_confirm$1,class:styles$b.btn,onClick:()=>e("close",!0)},null)])])}}),iframe="_iframe_1j216_1",btns$1="_btns_1j216_6",sbtn="_sbtn_1j216_14",disabled$1="_disabled_1j216_24",styles$a={iframe,btns:btns$1,sbtn,disabled:disabled$1},EvaluatShare=defineComponent({name:"evaluat-share",emits:["close"],setup(i,{emit:e}){const r=ref(""),s=ref(""),o=ref(!0),a=()=>{var d,g,m,y,b,A,S;const u={name:((d=storeData.user)==null?void 0:d.username)||"",subjectName:(((g=storeData.user)==null?void 0:g.subjectNames)||"").split(",")[0]||"",avatar:encodeURIComponent(((m=storeData.user)==null?void 0:m.avatar)||""),score:((y=evaluatingData.resultData)==null?void 0:y.score)||0,examSongName:state$1.examSongName||""};state$1.isPercussion||(u.intonation=(b=evaluatingData.resultData)==null?void 0:b.intonation,u.cadence=(A=evaluatingData.resultData)==null?void 0:A.cadence,u.integrity=(S=evaluatingData.resultData)==null?void 0:S.integrity),r.value=`${location.origin}/share-colexiu-evaluating/index.html?${queryString.stringify(u)}`},l=u=>{const d=u.target;d&&(d.contentWindow.setPng=g=>{s.value=g,o.value=!1})},c=async()=>{var d,g,m;const u=await api_shareAchievements({title:"分享我的乐器练习进度,一起见证我的成长!",desc:"晒一下我的评测分数,快来“小酷AI”上和我PK一下吧!",image:s.value,video:"",type:"image",button:["copy"],url:a()});!((d=u==null?void 0:u.content)!=null&&d.status)&&((g=u==null?void 0:u.content)!=null&&g.message)&&Snackbar$1((m=u==null?void 0:u.content)==null?void 0:m.message),e("close")};return onMounted(()=>{a()}),()=>createVNode("div",null,[createVNode("div",{class:styles$a.btns},[createVNode("div",{class:styles$a.sbtn,onClick:()=>e("close")},[createTextVNode("取消")]),createVNode("div",{class:[styles$a.sbtn,o.value&&styles$a.disabled],onClick:c},[createTextVNode("继续")])]),createVNode("iframe",{class:styles$a.iframe,src:r.value,onLoad:l},null)])}});let actualBeatLength=0,calculateInfo={};const EvaluatModel=defineComponent({name:"evaluat-model",setup(){const i=getQuery(),e=reactive({tips:!0,evaluatUpdateAudio:!1,isSaveVideo:state$1.setting.camera&&state$1.setting.saveToAlbum,shareMode:!1}),r=()=>{i.workRecord?(evaluatingData.soundEffectMode=!1,api_back()):(evaluatingData.soundEffectMode=!1,handleRessetState(),headTopData.modeType="init")},s=browser(),o=async A=>{var S,E;if(A!=="start"){const x=await getEarphone();(S=x==null?void 0:x.content)!=null&&S.checkIsWired,console.log("耳机状态111",x),evaluatingData.earphoneMode=!0,evaluatingData.earPhoneType=((E=x==null?void 0:x.content)==null?void 0:E.type)||"",evaluatingData.earPhoneType==="有线耳机"&&setTimeout(()=>{evaluatingData.earphoneMode=!1},3e3)}console.log("检测结束,生成数据",evaluatingData.websocketState,evaluatingData.startBegin,evaluatingData.checkEnd),l()},a=()=>{var _,V;let A=0,S=!1,E=!1,x=!1;const P=[];let C=state$1.times,T=0,k=0,I=[];if(actualBeatLength=Math.round(state$1.times[0].fixtime*1e3/1),state$1.isSelectMeasureMode&&state$1.section.length){const D=state$1.times.findIndex(N=>N.noteId==state$1.section[0].noteId);let F=state$1.times.findIndex(N=>N.noteId==state$1.section[1].noteId);if(F=F1){const N=D-1-state$1.times[D-1].si;k=state$1.times[N]?state$1.times[N].time*1e3:0}actualBeatLength=D==0&&state$1.isOpenMetronome?actualBeatLength:0,C=state$1.times.filter((N,K)=>K>=D&&K<=F),I=state$1.times.filter((N,K)=>K1?k:0,R=-1,B=-1;for(let D=0;D{const A=localStorage.getItem("behaviorId")||localStorage.getItem("BEHAVIORID")||void 0;let S=state$1.speed/state$1.originSpeed;S=parseFloat(S.toFixed(2)),console.log("速度比例",S,"速度",state$1.speed),calculateInfo=a();const E={musicXmlInfos:calculateInfo.datas,subjectId:state$1.musicalCode,detailId:state$1.detailId,examSongId:state$1.examSongId,xmlUrl:state$1.xmlUrl,partIndex:state$1.partIndex,behaviorId:A,platform:s.ios?"IOS":s.android?"ANDROID":"WEB",clientId:storeData.platformType==="STUDENT"?"student":storeData.platformType==="TEACHER"?"teacher":"education",hertz:state$1.setting.frequency,reactionTimeMs:state$1.setting.reactionTimeMs?Number(state$1.setting.reactionTimeMs):0,speed:state$1.speed,heardLevel:state$1.setting.evaluationDifficulty,beatLength:actualBeatLength,evaluationCriteria:state$1.evaluationStandard,speedRate:S};await connectWebsocket(E)},c=A=>{var S,E,x,P;if(A==="update"){if(state$1.isAppPlay){e.evaluatUpdateAudio=!0,resetPlaybackToStart();return}else if((S=evaluatingData.resultData)!=null&&S.recordIdStr||(E=evaluatingData.resultData)!=null&&E.recordId){let C=state$1.speed/state$1.originSpeed;C=parseFloat(C.toFixed(2)),api_openAdjustRecording({recordId:((x=evaluatingData.resultData)==null?void 0:x.recordIdStr)||((P=evaluatingData.resultData)==null?void 0:P.recordId),title:state$1.examSongName||"曲谱演奏",coverImg:state$1.coverImg,speedRate:C,musicRenderType:state$1.musicRenderType,musicSheetId:state$1.examSongId});return}}else if(A==="share"){e.shareMode=!0;return}else if(A==="look"){handleViewReport("recordId","instrument");return}else A==="practise"?handleStartEvaluat():A==="tryagain"?g():A==="selfCancel"&&(evaluatingData.oneselfCancleEvaluating=!0,handleCancelEvaluat(),g());resetPlaybackToStart(),evaluatingData.resulstMode=!1},u=async(A=!1)=>{if(!A){e.evaluatUpdateAudio=!1;return}if(state$1.setting.camera&&state$1.setting.saveToAlbum){e.evaluatUpdateAudio=!1,api_videoUpdate(S=>{var E,x,P,C,T;S&&(((E=S==null?void 0:S.content)==null?void 0:E.type)==="success"?d({id:(x=evaluatingData.resultData)==null?void 0:x.recordId,videoFilePath:(P=S==null?void 0:S.content)==null?void 0:P.filePath}):((C=S==null?void 0:S.content)==null?void 0:C.type)==="error"&&showToast({message:((T=S.content)==null?void 0:T.message)||"上传失败"}))});return}e.evaluatUpdateAudio=!1,showToast("上传成功")},d=async A=>{await api_musicPracticeRecordVideoUpload(A),showToast("上传成功")},g=async()=>{evaluatingData.isErrorState&&!state$1.setting.soundEffect&&(showLoadingToast({message:"处理中",duration:1e3,overlay:!0,overlayClass:styles$d.scoreMode}),await new Promise(S=>{setTimeout(()=>{closeToast(),evaluatingData.isErrorState=!1,S()},1e3)}));const A=await startCheckDelay();A!=null&&A.checked&&(l(),handleStartBegin(calculateInfo.firstNoteTime),evaluatingData.isErrorState&&(evaluatingData.isErrorState=!1,evaluatingData.resulstMode=!1))},m=async A=>{console.log("监听取消延迟检测",A),A!=null&&A.content&&r()},y=async A=>{console.log("监听延迟检测成功",A),A!=null&&A.content&&(evaluatingData.checkEnd=!0,o())},b=()=>{c("tryagain")};return onMounted(async()=>{state$1.setting.soundEffect?await api_startDelayCheck({}):(evaluatingData.checkEnd=!0,o()),evaluatingData.isDisabledPlayMusic=!0,api_cancelDelayCheck(m),api_finishDelayCheck(y),api_retryEvaluating(b)}),()=>createVNode("div",null,[createVNode("div",{class:styles$d.operatingBtn},[evaluatingData.websocketState&&!evaluatingData.startBegin&&evaluatingData.checkEnd&&createVNode("img",{class:styles$d.iconBtn,src:headImg("icon_play.png"),onClick:()=>{g()}},null),evaluatingData.websocketState&&evaluatingData.startBegin&&createVNode(Fragment,null,[createVNode("img",{class:styles$d.iconBtn,src:headImg("icon_reset.png"),onClick:()=>c("selfCancel")},null),createVNode("img",{class:styles$d.iconBtn,src:headImg("submit.png"),onClick:()=>handleEndBegin()},null)])]),createVNode(Countdown,null,null),createVNode(Popup,{teleport:"body",closeOnClickOverlay:!1,class:["popup-custom","van-scale"],transition:"van-scale",show:evaluatingData.earphoneMode,"onUpdate:show":A=>evaluatingData.earphoneMode=A},{default:()=>[createVNode(Earphone,{earphoneType:evaluatingData.earPhoneType,onClose:()=>{evaluatingData.earphoneMode=!1,o("start")}},null)]}),evaluatingData.hideResultModal?createVNode(EvaluatResult,{onClose:c},null):createVNode(Popup,{teleport:"body",closeOnClickOverlay:!1,class:["popup-custom","van-scale"],transition:"van-scale",show:evaluatingData.resulstMode,"onUpdate:show":A=>evaluatingData.resulstMode=A},{default:()=>[createVNode(EvaluatResult,{onClose:c},null)]}),createVNode(Popup,{teleport:"body",closeOnClickOverlay:!1,class:["popup-custom","van-scale"],transition:"van-scale",show:e.evaluatUpdateAudio,"onUpdate:show":A=>e.evaluatUpdateAudio=A},{default:()=>[createVNode(EvaluatAudio,{onClose:u},null)]}),createVNode(Popup,{teleport:"body",class:["popup-custom","van-scale"],transition:"van-scale",show:e.shareMode,"onUpdate:show":A=>e.shareMode=A},{default:()=>[createVNode(EvaluatShare,{onClose:()=>e.shareMode=!1},null)]})])}}),skeleton="_skeleton_q4x4d_1",detail$1="_detail_q4x4d_12",practise="_practise_q4x4d_20",follow="_follow_q4x4d_24",evaluating="_evaluating_q4x4d_28",headHeight="_headHeight_q4x4d_32",headHide="_headHide_q4x4d_40",container="_container_q4x4d_43",pcContainer="_pcContainer_q4x4d_52",fingeringCon="_fingeringCon_q4x4d_55",xiaomi="_xiaomi_q4x4d_80",PC="_PC_q4x4d_84",preViewDetail="_preViewDetail_q4x4d_109",preJson="_preJson_q4x4d_126",headerDown="_headerDown_q4x4d_1",styles$9={skeleton,detail:detail$1,practise,follow,evaluating,headHeight,headHide,container,pcContainer,fingeringCon,xiaomi,PC,preViewDetail,preJson,headerDown},fingeringContainer$1="_fingeringContainer_xflo8_1",vertical="_vertical_xflo8_10",imgs$1="_imgs_xflo8_15",rightContent="_rightContent_xflo8_32",yidiao="_yidiao_xflo8_76",tizhi$1="_tizhi_xflo8_83",canDisplay$1="_canDisplay_xflo8_99",activeopacity="_activeopacity_xflo8_1",leftrotates="_leftrotates_xflo8_1",rightrotates="_rightrotates_xflo8_1",styles$8={fingeringContainer:fingeringContainer$1,vertical,imgs:imgs$1,rightContent,yidiao,tizhi:tizhi$1,canDisplay:canDisplay$1,activeopacity,leftrotates,rightrotates},Fingering=defineComponent({name:"fingering",emits:["open"],setup(i,{emit:e}){const r=reactive({relationshipIndex:0,subject:null,delay:0}),s=async()=>{r.subject=await getFingeringConfig(state$1.fingeringInfo.name),console.log("🚀 ~ fingerData.subject:",r.subject)};onBeforeMount(()=>{s()});const o=computed(()=>{var l;return((l=state$1.times[state$1.activeNoteIndex])==null?void 0:l.realKey)||-1}),a=()=>{const l=Date.now();if(l-r.delay<300){e("open");return}r.delay=l};return()=>{var d,g,m,y,b,A;const l=((g=(d=r.subject)==null?void 0:d.relationship)==null?void 0:g[o.value])||[],c=Array.isArray(l[1])?l[r.relationshipIndex]:l,u=Array.isArray(l[1]);return createVNode(Fragment,null,[state$1.fingeringInfo.direction==="transverse"?createVNode("div",{onClick:()=>a(),class:[styles$8.fingeringContainer]},[createVNode("div",{class:styles$8.imgs},[createVNode("img",{src:(y=(m=r.subject)==null?void 0:m.json)==null?void 0:y.full},null),c.map((S,E)=>{var P,C;const x=typeof S=="string"?S.replace("active-",""):String(S);return createVNode("img",{"data-index":x,src:(C=(P=r.subject)==null?void 0:P.json)==null?void 0:C[x]},null)})]),state$1.fingeringInfo.hasTizhi&&createVNode("div",{class:[styles$8.tizhi,u&&styles$8.canDisplay],onClick:()=>r.relationshipIndex=r.relationshipIndex===0?1:0},[createTextVNode("替指")])]):createVNode("div",{onClick:()=>a(),class:[styles$8.fingeringContainer,styles$8.vertical,state$1.fingeringInfo.name]},[createVNode("div",{class:styles$8.imgs},[createVNode("img",{src:(A=(b=r.subject)==null?void 0:b.json)==null?void 0:A.full},null),c.map((S,E)=>{var P,C;const x=typeof S=="string"?S.replace("active-",""):String(S);return createVNode("img",{"data-index":x,src:(C=(P=r.subject)==null?void 0:P.json)==null?void 0:C[x]},null)})]),state$1.fingeringInfo.hasTizhi&&createVNode("div",{style:{display:state$1.fingeringInfo.disabledFinger?"none":""},class:styles$8.rightContent},[createVNode("div",{class:[styles$8.tizhi,u&&styles$8.canDisplay],onClick:()=>r.relationshipIndex=r.relationshipIndex===0?1:0},[createTextVNode("替指")])])])])}}}),startBtn="_startBtn_668ya_1",endBtn="_endBtn_668ya_17",bottom="_bottom_668ya_31",top="_top_668ya_34",pcEndBtn="_pcEndBtn_668ya_38",noteState="_noteState_668ya_45",dot$1="_dot_668ya_59",operatingBtn="_operatingBtn_668ya_65",iconBtn="_iconBtn_668ya_74",styles$7={startBtn,endBtn,bottom,top,pcEndBtn,noteState,dot:dot$1,operatingBtn,iconBtn},fraction="_fraction_10jqz_1",content$1="_content_10jqz_5",title$4="_title_10jqz_15",erji="_erji_10jqz_21",tip="_tip_10jqz_27",btns="_btns_10jqz_31",btn$2="_btn_10jqz_31",styles$6={fraction,content:content$1,title:title$4,erji,tip,btns,btn:btn$2},title$3="data:image/png;base64,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",icons$2={title:title$3},icon_cancel=""+new URL("../svg/icon_cancel-8b29bdbf.svg",import.meta.url).href,icon_confirm=""+new URL("../svg/icon_confirm-a51898cd.svg",import.meta.url).href,Microphone=defineComponent({name:"earphone",emits:["close"],setup(i,{emit:e}){return()=>createVNode("div",{class:styles$6.fraction},[createVNode("img",{class:styles$6.erji,src:icons$2.title},null),createVNode("div",{class:styles$6.content},[createVNode("div",{class:styles$6.title},[createTextVNode("开启权限")]),createVNode("div",{class:styles$6.tip},[createTextVNode("请开启麦克风访问权限")]),createVNode("div",{class:styles$6.btns},[createVNode("img",{src:icon_cancel,class:styles$6.btn,onClick:()=>e("close")},null),createVNode("img",{src:icon_confirm,class:styles$6.btn,onClick:()=>e("close")},null)])])])}}),FollowModel=defineComponent({name:"follow-model",setup(){return()=>createVNode(Fragment,null,[createVNode("div",{class:styles$7.operatingBtn},[!followData.start&&createVNode("img",{class:styles$7.iconBtn,src:headImg("icon_play.png"),onClick:()=>{handleFollowStart()}},null),followData.start&&createVNode(Fragment,null,[createVNode("img",{class:styles$7.iconBtn,src:headImg("icon_reset.png"),onClick:()=>handleFollowEnd()},null),createVNode("img",{class:styles$7.iconBtn,src:headImg("submit.png"),onClick:()=>handleFollowEnd()},null)])]),createVNode(Popup,{teleport:"body",closeOnClickOverlay:!1,class:["popup-custom","van-scale"],transition:"van-scale",show:followData.earphone,"onUpdate:show":i=>followData.earphone=i},{default:()=>[createVNode(Microphone,{onClose:()=>{followData.earphone=!1}},null)]})])}}),recordData=reactive({starTime:0}),handleRecord=()=>{if(state$1.modeType!=="practise")return;let i=Date.now()-recordData.starTime;recordData.starTime=Date.now(),i<0&&(i=0);const e=i/1e3,r={clientType:storeData.user.clientType,musicSheetId:state$1.examSongId,sysMusicScoreId:state$1.examSongId,feature:"PRACTICE",practiceSource:"PRACTICE",playTime:e,deviceType:browser().android?"ANDROID":"IOS",behaviorId:getBehaviorId()};api_musicPracticeRecordSave(r)},RecordingTime=defineComponent({name:"recordingTime",setup(){return watch(()=>state$1.playState,()=>{state$1.playState==="play"?recordData.starTime=Date.now():handleRecord()}),()=>createVNode("div",null,null)}}),fingerBox="_fingerBox_nq52r_7",hiddens="_hiddens_nq52r_16",fingerRight="_fingerRight_nq52r_19",fingerContent="_fingerContent_nq52r_23",backBtn$1="_backBtn_nq52r_26",tips="_tips_nq52r_29",tipHidden="_tipHidden_nq52r_46",tipContentbox="_tipContentbox_nq52r_49",tipContent="_tipContent_nq52r_49",fingerBottom="_fingerBottom_nq52r_57",tipsOverlay="_tipsOverlay_nq52r_93",bgIn="_bgIn_nq52r_1",tipsPcBg="_tipsPcBg_nq52r_102",popoverContainer="_popoverContainer_nq52r_115",selected="_selected_nq52r_150",head="_head_nq52r_154",left="_left_nq52r_182",baseBtn="_baseBtn_nq52r_186",wrapFinger="_wrapFinger_nq52r_219",userTab="_userTab_nq52r_225",userTabBox="_userTabBox_nq52r_230",notes="_notes_nq52r_233",lastNoteContent="_lastNoteContent_nq52r_237",noteBox="_noteBox_nq52r_240",noteContent="_noteContent_nq52r_243",changeMusBtn="_changeMusBtn_nq52r_246",optionBtns="_optionBtns_nq52r_263",btnBox="_btnBox_nq52r_302",btnCon="_btnCon_nq52r_309",btnGr="_btnGr_nq52r_315",boxFinger="_boxFinger_nq52r_340",pcBoxFinger="_pcBoxFinger_nq52r_345",tipTitle="_tipTitle_nq52r_360",tipTitleName="_tipTitleName_nq52r_372",tipImg="_tipImg_nq52r_402",tipClose="_tipClose_nq52r_414",iconBook="_iconBook_nq52r_423",tipItem="_tipItem_nq52r_474",iconWrap="_iconWrap_nq52r_482",tipItemIcon="_tipItemIcon_nq52r_488",btnGrToggleBtn="_btnGrToggleBtn_nq52r_499",nameBox="_nameBox_nq52r_510",name="_name_nq52r_510",noteKey="_noteKey_nq52r_516",dot="_dot_nq52r_521",botDot="_botDot_nq52r_526",arrowImg="_arrowImg_nq52r_533",paddingLeft="_paddingLeft_nq52r_547",noteContentWrap="_noteContentWrap_nq52r_559",noteBtn="_noteBtn_nq52r_601",disabled="_disabled_nq52r_612",tipsT="_tipsT_nq52r_618",playTips="_playTips_nq52r_623",playTips2="_playTips2_nq52r_628",playTips5="_playTips5_nq52r_633",playError="_playError_nq52r_638",playSuccess="_playSuccess_nq52r_643",note="_note_nq52r_233",showAnswer="_showAnswer_nq52r_667",errorAnswer="_errorAnswer_nq52r_676",keyActive="_keyActive_nq52r_693",noteName="_noteName_nq52r_705",dotFixed="_dotFixed_nq52r_708",mark="_mark_nq52r_712",oBtn="_oBtn_nq52r_723",gamut="_gamut_nq52r_733",play="_play_nq52r_623",success="_success_nq52r_739",fingeringContainer="_fingeringContainer_nq52r_747",loading="_loading_nq52r_756",loadingWrap="_loadingWrap_nq52r_768",loadingIcon="_loadingIcon_nq52r_775",loadingTip="_loadingTip_nq52r_782",imgs="_imgs_nq52r_808",tizhi="_tizhi_nq52r_823",canDisplay="_canDisplay_nq52r_842",fixedRightBtns="_fixedRightBtns_nq52r_850",active$1="_active_nq52r_881",rightBtn="_rightBtn_nq52r_886",resetBtn$1="_resetBtn_nq52r_918",toggleBtn="_toggleBtn_nq52r_921",toggleBtnhulusi="_toggleBtnhulusi_nq52r_947",topDot="_topDot_nq52r_968",bottomDot="_bottomDot_nq52r_971",toggleBtnhulusi2="_toggleBtnhulusi2_nq52r_977",oterhD="_oterhD_nq52r_981",tones="_tones_nq52r_996",toneTitle="_toneTitle_nq52r_1007",tipWrap="_tipWrap_nq52r_1078",toneAction="_toneAction_nq52r_1090",toneContent="_toneContent_nq52r_1105",hulusiNoteKey="_hulusiNoteKey_nq52r_1142",hulusiBtn="_hulusiBtn_nq52r_1175",changeSubjectPopup="_changeSubjectPopup_nq52r_1217",linkSourceClass="_linkSourceClass_nq52r_1225",changeInstrumentBtn="_changeInstrumentBtn_nq52r_1229",noteContentOther="_noteContentOther_nq52r_1232",dragTopBox="_dragTopBox_nq52r_1240",styles$5={fingerBox,hiddens,fingerRight,fingerContent,backBtn:backBtn$1,tips,tipHidden,tipContentbox,tipContent,fingerBottom,tipsOverlay,bgIn,tipsPcBg,popoverContainer,selected,head,left,baseBtn,wrapFinger,userTab,userTabBox,notes,lastNoteContent,noteBox,noteContent,changeMusBtn,optionBtns,btnBox,btnCon,btnGr,boxFinger,pcBoxFinger,tipTitle,tipTitleName,tipImg,tipClose,iconBook,tipItem,iconWrap,tipItemIcon,btnGrToggleBtn,nameBox,name,noteKey,dot,botDot,arrowImg,paddingLeft,noteContentWrap,noteBtn,disabled,tipsT,playTips,playTips2,playTips5,playError,playSuccess,note,showAnswer,errorAnswer,keyActive,noteName,dotFixed,mark,oBtn,gamut,play,success,fingeringContainer,loading,loadingWrap,loadingIcon,loadingTip,imgs,tizhi,canDisplay,fixedRightBtns,active:active$1,rightBtn,resetBtn:resetBtn$1,toggleBtn,toggleBtnhulusi,topDot,bottomDot,toggleBtnhulusi2,oterhD,tones,toneTitle,tipWrap,toneAction,toneContent,hulusiNoteKey,hulusiBtn,changeSubjectPopup,linkSourceClass,changeInstrumentBtn,noteContentOther,dragTopBox},icon_2_0="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAclBMVEUAAABhYWFgYGBgYGBdXV1hYWFiYmJlZWVfX19hYWFhYWFgYGBgYGBhYWFiYmJhYWFhYWFhYWFhYWFiYmJiYmJhYWFhYWFhYWFhYWFiYmJdXV1fX19hYWFhYWFhYWFhYWFgYGBhYWFhYWFiYmJkZGRhYWEM8dLpAAAAJXRSTlMA+0xCD0cGCjXy23Ej4TDW0KGXaj7Jvqh9Ux4WsYxd5+a6XzkcyXAqHgAAASJJREFUOMvF1NmSgyAURVGvCs6aRDMPPe7//8VGjSaI3b51zotwXEVhUei9JKHyfV+F4zwqmzicmkIAKe79cScmbGv9jBRdpGkn+ZYhafOE/FaIpJEZx0nnke5xtJBkQdOa0ztQHOJTmVWtii0U9MMLsI/63V+BVLsoBj7GfgPcXGTq5OwN0SnsXFTB2nvkAKIdJJA9oUCQ3EFAXd9GFBtUzq30BtcBHYHvCSrrCui3NX7HZOPnhD7q3p9MsZ4gdTer4dxXQDBB+tKjz74tW7N3jyXeCyS6O5Rd69Ozg0zydep3g6w1Ve7NILvbRJ6LbHUYl3GQm2WU60Wkt7KKltCXmBdLKBDwrYswk8xGyGx4IMUfUeM1/90UofXDmI0y5p/zAwe0KaLjuaFoAAAAAElFTkSuQmCC",icon_2_1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAv1JREFUWEftlz1oFFEQx//z4qnxTjGVIoiFYsRGwQ9QsLMULMIVKQ72LSF6YCwEsRE5sLAxNmLhIbt7HgdCClsRtAoYIZYWMSjEjyKFYrxsDnL7dsw7dkPuWHcvxuQOuS33zZv57X/evpkhdNlDXcaD7gcaGxvbUa1Wzwkh+qPUU0p9KJVKH5OUzefzA7VabVAIMfAH27rv+9OO4/xcu96kkGEYO4noDYCTMQEVEZmWZT1ttclms/3pdHqUiHIATiVBA5gHcMa27S+hbROQaZoXfd9/SURJqZy0bfvC2oCmaQ4x8wMAB4H2jgIzsxDipmVZ45FAUsrLAJ7HOdROADx2HCevnRQKhW1zc3P3AVxvF6QpRUR3LMu62y7QLIC3LdLPLC4ujk9MTNT0eymlhrnRAqOhXQBTRDQffEToZlCnaRVgnUBF27avxJ0FKeV7AMe1jQ5MRAsrIhZc1y2G0Gv3SymvAXi4mUBaxSNhAGY+6jiOfhf5bDmQ53mZcrms09UDaiggpWxKWU+h1oPRNQrlcrl0KpW6ysy3AewNQTuSspGRkX1KqUkAh1tv544AGYZRIaLhqFLRKaAfRBTZVnQESEr5DcCBiJtvybbtjK4iW3oxmqZ5j5lvtRZUZn7iOM5oQu3797UsaOSeAdDtSqjGq+Xl5aFKpfJry4HCgIZh6CbtGDN/KpVKr+NSFe7Z9OIap0bUWg8oSbH/TqFZIpoKvjrFzGkAel7Tf9YCgBkhxLRS6oW2IaJLRHRad40Adgd2S7q/JiKlbXzfHySis3/bwiZloNFKE1Fj2GNmXWSTRqgmnxTX5K9jLmsHNNEmcS4LLjydohNJ3oIJI0qN8KJsR6l5z/POlsvlz6spbA2sZ3vXdc8T0S69ppRqBBBCeEopVwhR6+vro3q9vl+fFyKSAA4FgF+Z+ZEQ4h0Rffc8TwR+9NkTYSy93/d9L5VKTRWLRX0WV592viJWrGw2uz2TyQyvjNF7hBCOZVnVJHXj1jcMtJHgUXt7QEmK/gbgKRlDdZGgvgAAAABJRU5ErkJggg==",icon_change_instrument="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAARVBMVEUAAABiYmJgYGBgYGBhYWFhYWFhYWFhYWFhYWFhYWFfX19dXV1hYWFhYWFiYmJiYmJiYmJgYGBiYmJeXl5bW1thYWFhYWGX75gbAAAAFnRSTlMAVjXlbvPEe046Mxz30rmah3VjJg7quL6TXgAAAH9JREFUOMvd0jkOgDAMRFGbJGxhX3z/o+KKIJA1ggrl1b+wrKGsrK6bYTSJyIgiFjVsoPKi+giqOmjlWlC1TqtQ00UsHngX5VOziClVpR2VZ1TZUUWnhg0N/Rs4HL7g3TO9HS23/QQuHuLn/YAq9mkZtm0QxQSMGk2EzJ1bKScHgqkTxTwAusUAAAAASUVORK5CYII=",icon_mode="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAe1BMVEUAAABhYWFgYGBhYWFjY2NgYGBhYWFhYWFiYmJgYGBhYWFhYWFiYmJhYWFhYWFhYWFiYmJhYWFhYWFVVVVhYWFhYWFhYWFgYGBgYGBgYGBjY2NiYmJhYWFgYGBhYWFgYGBiYmJiYmJgYGBhYWFfX19jY2NhYWFgYGBhYWF3M6ZeAAAAKHRSTlMAmSziBOl5YA+0sJKI8dumjTYbBvnJcks+IhUL18G8ooJ6ZVRTJuy5ACX6MwAAAPNJREFUOMvdkltvwjAMheu0aXqlN+7dGBvbOP//F2KpghQnCg88IHEe6sr+3PpYjt5OyV83BspZZ6riYwnUxlfebdb0qWGlJDG0NaQqCeW2tsjbn+2eABLMBqx69fX9q4Yp44FKYNXfucsdyPZZd35IuPNBQgEo7I6C7ixU9CLjd/cyaNwNjyB1BvAfhrZLzzJVWq5zmxo1HCghkTL8bvbmDiLZ1wIFh2IGKS7HTTyDKuDA4TA735SZLMpiC5244dgd+XmanWTDoQHK65CL6zUk7pfS2wSTPa0idyab60lDU++cm1zv9Ce5JxJpKd54qqIndQGDNC5Nd0iAwQAAAABJRU5ErkJggg==",icon_toggle="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAhFBMVEUAAABhYWFhYWFhYWFhYWFhYWFhYWFVVVVhYWFkZGRhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFiYmJjY2NfX19aWlphYWFhYWFhYWFhYWFhYWFiYmJgYGBgYGBeXl5gYGBgYGBhYWFiYmJhYWFhYWFhYWFgYGBgYGBhYWG6XaCZAAAAK3RSTlMAu2bmz5B8BfgLWfvsTvTw4tqzpoNrIBYP1cOKc0cyKSQc0smtoJpfQD445kfH0QAAAS5JREFUOMvNktmSgkAMRYPsqyIi48KmAyL9//83dKjuMA1ilU+eF5Y+RS5J4DNy7+ed8jQYC672mnJMGHLKXyruIWKCfbXseDt+GqTdnV+dy0K04syPfJMfPXR+r28UJWvGIqUo7PBH4wmEbWGYOJz8wi/jJEfpYKWt8uPdDd8WMBJimhoUbI2/b2Bkw6jYrKBG0jQ2RVelEzUAZBMC/Z+ky1by9L1op6lIosCtqxM5GFWiqD6NWJFoUbA7WHUuiftgcNoMYE0Ca4gF8F4yvkOKqiXJ1UgKcQbuTMJJJWJxsIX6gyRaeqeXn73g2O49SVmL09FKIKr9uNL1KNnX7dIeQo4bFVktYzsvFkuvYqcBm9JksERm+lI5F/CKUuMCLwhrhPEQ7ODCOraX1vAJf/KtPR1+o/+bAAAAAElFTkSuQmCC",icon_back="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAMAAAAPzWOAAAAApVBMVEX///8AAAD///////////////////////////////////////////////////////////////////////////////////////9LS0tNTU1SUlJsbGywsLC+vr709PRXV1eEhIR3d3fW1tbq6ur8/PxkZGSRkZGhoaHKysrw8PD4+PhhYWHf399eXl5cXFydnZ2np6fj4+NlZWWJiYnFxcXMzMxJSUlbLGwqAAAANnRSTlPLAMekkkMdBcC/vLSyiYB6bWlmWkowKBz+/fzz39vO+uvw1dDL9ujj2M/N99L4+OTh0vXp2dcue6ClAAACC0lEQVRYw7WY61ajMBRGvxJJSqEgFVp7kVrbai/OqDPK+z+aKGDVlZOTNrr/stZeBM416JDILO2LqOd5vUj000x2SAiJ8uMQ3whjXx0hGSYBtATJ0FKSn8HAWW4hka2C1khGogYeWLyBMklGAlaIES3xu7Ck61OSCxzBhV5yjqM410hoB28Bfxb+RK3Exwn4XyWjLk6gO/osUQInIdQnyQAnMjhIJBfr29njkz4D5IeEy7nNvCzHz/psbCU547galxVraMlrCfcis8vyjQlRGGrJEEbuyppr4vnwXZLAxG3jmBbQk7xJVACa1XXjWOxAEKgOjAG/W7RnWYHEryQxSIpp47iFgbiShKBY/mscdzARdiBB8fSnVlzOYEYiA8HNvHaMr8CQISWevExqx2QDjhR9Q6hXzG/A0oegQ73i7z14BCJoeCxr1kvwVIqe7ps27zHdwoYePCrn2nTh8bSSGfFzKYn2OMWeCDPqOJE24PeHgOeJiF+8PaQej6CCrdAUATrYUr4c8WGf8YVxyyagBMmDZdzKtig5ZFBIl0f7XI6ZQo2NRVXxyZZhX98CxTev+7bSUpbEpo0u17Vlb2ijfEMvpnxD50eL3cLQ0HPbIWf1MJ/8L4gX4cYtHk/+6ODnPoK6D8PuY7n7gvDjq4r70uS+vrkvku4rrfty7b7mu184uF99/OYljPt10CuPukgLYVHKBAAAAABJRU5ErkJggg==",icon_btn_blue="data:image/png;base64,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",icon_btn_ylow="data:image/png;base64,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",icon_btn_red="data:image/png;base64,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",icon_btn_orange="data:image/png;base64,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",icon_btn_orange2="data:image/png;base64,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",icon_btn_green="data:image/png;base64,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",icon_action_cancel="data:image/png;base64,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",icon_action_confirm="data:image/png;base64,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",icon_arrow="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAKCAYAAAC5Sw6hAAAAAXNSR0IArs4c6QAAASNJREFUKFNjZGBgYNi8ennbf4b/5QwMDEwgPgng338Ghk7/0KgqRpCmTauX9jEwMBaSYACSUsZ+v9DIIrBBZ2bOZH0uzLfl////bqQYxsjIuEvy7Scfk/T032CDQGD/qlU8Xxj/HPjPwGBMjGGMDAxnef6zODiGhX0BqYcbBOKsW7dIjOUv61EGhv8q+A1jvPOH+bd1UFDcK5g6FINAgutXrFBmZvp3lIGRQRyrYf8ZXv79x2QdGBFxF1kewyBw4K9dYcTw7+8BBgZGXlTD/n9mYGJ28AuOOIduCVaDQIo2rlrmysjIsIWBgYENqunX//8MPv5hUbuxuRSnQeD0tXZ51P9//xeDA5OJMdY3OHIZrrDDaxDYsDXLfEG0b0jUZnwRAAD4flULBwtsIQAAAABJRU5ErkJggg==",icon_listen="data:image/png;base64,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",icon_click="data:image/png;base64,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",icons$1={icon_2_0,icon_2_1,icon_change_instrument,icon_mode,icon_toggle,icon_back,icon_btn_blue,icon_btn_ylow,icon_btn_red,icon_btn_orange,icon_btn_orange2,icon_btn_green,icon_action_cancel,icon_action_confirm,icon_arrow,icon_listen,icon_click},FIGNER_INSTRUMENT_DATA={"pan-flute":{list:[{key:5,name:"G",octave:4,step:-1,realKey:55,realName:"G4"},{key:6,name:"A",octave:4,step:-1,realKey:57,realName:"A4"},{key:7,name:"B",octave:4,step:-1,realKey:59,realName:"B4"},{key:1,name:"C",octave:5,step:0,realKey:60,realName:"C5"},{key:2,name:"D",octave:5,step:0,realKey:62,realName:"D5"},{key:3,name:"E",octave:5,step:0,realKey:64,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:65,realName:"F5"},{key:5,name:"G",octave:5,step:0,realKey:67,realName:"G5"},{key:6,name:"A",octave:5,step:0,realKey:69,realName:"A5"},{key:7,name:"B",octave:5,step:0,realKey:71,realName:"B5"},{key:1,name:"C",octave:6,step:1,realKey:72,realName:"C6"},{key:2,name:"D",octave:6,step:1,realKey:74,realName:"D6"},{key:3,name:"E",octave:6,step:1,realKey:76,realName:"E6"},{key:4,name:"F",octave:6,step:1,realKey:77,realName:"F6"},{key:5,name:"G",octave:6,step:1,realKey:79,realName:"G6"},{key:6,name:"A",octave:6,step:1,realKey:81,realName:"A6"},{key:7,name:"B",octave:6,step:1,realKey:83,realName:"B6"},{key:1,name:"C",octave:7,step:2,realKey:84,realName:"C7"},{key:2,name:"D",octave:7,step:2,realKey:86,realName:"D7"},{key:3,name:"E",octave:7,step:2,realKey:88,realName:"E7"},{key:4,name:"F",octave:7,step:2,realKey:89,realName:"F7"}],tips:[{key:0,name:"呼吸",octave:0,step:0,realKey:0,realName:"使用腹式呼吸法。吸气时,最大限度地向外扩张腹部,胸部保持不动。呼气时,最大限度地向内收缩腹部,胸部保持不动。"},{key:0,name:"吐音",octave:0,step:0,realKey:0,realName:"首先要形成一个正确的口风:微笑——嘴闭紧——嘴角向两边抻——下颌微微往前伸,不要露出牙齿。舌尖伸出—双唇压紧—迅速收回—同时吹气。反复练习这个动作,而且每吹一个音都要用吐音,只有掌握了正确的吐音方法以后,才可以进行演奏。建议对着镜子练习。"},{key:0,name:"移动",octave:0,step:0,realKey:0,realName:"排箫一管一音,移动的准确性就成为重中之重,移动时,保持排箫的水平和垂直以及下唇和吹口的位置关系,而且每次移动都要对正管子。建议练习找管位时先从二度——三度——四度——五度——多度,总之每一次练习都应该是重复正确和纠正错误,开始时注意力很难兼顾三项,慢慢才能配合默契,形成一种下意识动作,直至“手到—嘴到—气到”。"}]},"hulusi-flute":{tips:[{key:0,name:"单吐",octave:0,step:0,realKey:0,realName:"利用舌尖部顶住上腭前半部(即“吐”字发音前状态)截断气流,然后迅速地将舌放开,气息随之吹出。通过一顶一放的连续动作,使气流断续地进入吹口,便可以获得断续分奏的单吐效果,完成单吐的过程。单吐一般在音符上方用“T”标示。根据音乐表现的需要,单吐又可以分为断吐和连吐两种。"},{key:0,name:"双吐",octave:0,step:0,realKey:0,realName:"双吐是用来完成连续快速分奏的技巧。首先用舌尖部顶住前上腭,然后将其放开,发出“吐”字。简言之,在“吐”字发出后,立即加发一个“苦”字,将“吐苦”二字连接起来便是双吐。双吐的符号是“TK”。"},{key:0,name:"三吐",octave:0,step:0,realKey:0,realName:"三吐实际上是单吐和双吐在某种节奏型上的综合运用,符号为“TTK”或者“TKT”,即“吐吐苦”或者“吐苦吐”"}],tones:[{key:5,name:"G",octave:4,step:-1,realKey:0,realName:""},{key:1,name:"C",octave:5,step:0,realKey:0,realName:"C5"},{key:2,name:"D",octave:5,step:0,realKey:0,realName:"D5"},{key:3,name:"E",octave:5,step:0,realKey:0,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:0,realName:"F5"},{key:6,name:"A",octave:4,step:-1,realKey:0,realName:"A4"},{key:7,name:"B",octave:4,step:-1,realKey:0,mark:"fall",realName:"B4"}],list:[{key:3,name:"E",octave:4,step:-1,realKey:64,realName:"E4"},{key:4,name:"F",octave:4,step:-1,realKey:65,realName:"F4"},{key:4,name:"F",octave:4,step:-1,mark:"rise",realKey:66,realName:"Gb4"},{key:5,name:"G",octave:4,step:-1,realKey:67,realName:"G4"},{key:6,name:"A",octave:4,step:-1,mark:"fall",realKey:68,realName:"Ab4"},{key:6,name:"A",octave:4,step:-1,realKey:69,realName:"A4"},{key:7,name:"B",octave:4,step:-1,mark:"fall",realKey:70,realName:"Bb4"},{key:7,name:"B",octave:4,step:-1,realKey:71,realName:"B4"},{key:1,name:"C",octave:5,step:0,realKey:72,realName:"C5"},{key:1,name:"C",octave:5,step:0,mark:"rise",realKey:73,realName:"Db5"},{key:2,name:"D",octave:5,step:0,realKey:74,realName:"D5"},{key:3,name:"E",octave:5,step:0,mark:"fall",realKey:75,realName:"Eb5"},{key:3,name:"E",octave:5,step:0,realKey:76,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:77,realName:"F5"},{key:4,name:"F",octave:5,step:0,mark:"rise",realKey:78,realName:"Gb5"},{key:5,name:"G",octave:5,step:0,realKey:79,realName:"G5"},{key:6,name:"A",octave:5,step:0,mark:"fall",realKey:80,realName:"Ab5"},{key:6,name:"A",octave:5,step:0,realKey:81,realName:"A5"}],listC5:[{key:6,octave:4,step:-1,name:"E",realKey:64,realName:"E4"},{key:7,name:"F",octave:4,step:-1,mark:"fall",realKey:65,realName:"F4"},{key:7,name:"F",octave:4,step:-1,realKey:66,realName:"Gb4"},{key:1,name:"G",octave:4,step:0,realKey:67,realName:"G4"},{key:1,name:"A",octave:4,step:0,mark:"rise",realKey:68,realName:"Ab4"},{key:2,name:"A",octave:4,step:0,realKey:69,realName:"A4"},{key:3,name:"B",octave:4,step:0,mark:"fall",realKey:70,realName:"Bb4"},{key:3,name:"B",octave:4,step:0,realKey:71,realName:"B4"},{key:4,name:"C",octave:5,step:0,realKey:72,realName:"C5"},{key:4,name:"C",octave:5,step:0,mark:"rise",realKey:73,realName:"Db5"},{key:5,name:"D",octave:5,step:0,realKey:74,realName:"D5"},{key:6,name:"E",octave:5,step:0,mark:"fall",realKey:75,realName:"Eb5"},{key:6,name:"E",octave:5,step:0,realKey:76,realName:"E5"},{key:7,name:"F",octave:5,step:0,realKey:77,realName:"F5"},{key:7,name:"F",octave:5,step:0,mark:"fall",realKey:78,realName:"Gb5"},{key:1,name:"G",octave:5,step:1,realKey:79,realName:"G5"},{key:1,name:"A",octave:5,step:1,mark:"rise",realKey:80,realName:"Ab5"},{key:2,name:"A",octave:5,step:1,realKey:81,realName:"A5"}],listD5:[{key:7,octave:4,step:-1,name:"E",realKey:64,realName:"E4"},{key:1,name:"F",octave:4,step:0,realKey:65,realName:"F4"},{key:1,name:"F",octave:4,step:0,mark:"rise",realKey:66,realName:"Gb4"},{key:2,name:"G",octave:4,step:0,realKey:67,realName:"G4"},{key:3,name:"A",octave:4,step:0,mark:"fall",realKey:68,realName:"Ab4"},{key:3,name:"A",octave:4,step:0,realKey:69,realName:"A4"},{key:4,name:"B",octave:4,step:0,realKey:70,realName:"Bb4"},{key:4,name:"B",octave:4,step:0,mark:"rise",realKey:71,realName:"B4"},{key:5,name:"C",octave:5,step:0,realKey:72,realName:"C5"},{key:6,name:"C",octave:5,step:0,mark:"fall",realKey:73,realName:"Db5"},{key:6,name:"D",octave:5,step:0,realKey:74,realName:"D5"},{key:7,name:"E",octave:5,step:0,mark:"fall",realKey:75,realName:"Eb5"},{key:7,name:"E",octave:5,step:0,realKey:76,realName:"E5"},{key:1,name:"F",octave:5,step:1,realKey:77,realName:"F5"},{key:1,name:"F",octave:5,step:1,mark:"rise",realKey:78,realName:"Gb5"},{key:2,name:"G",octave:5,step:1,realKey:79,realName:"G5"},{key:3,name:"A",octave:5,step:1,mark:"fall",realKey:80,realName:"Ab5"},{key:3,name:"A",octave:5,step:1,realKey:81,realName:"A5"}],listE5:[{key:1,octave:4,step:0,mark:"rise",name:"E",realKey:64,realName:"E4"},{key:2,name:"F",octave:4,step:0,realKey:65,realName:"F4"},{key:3,name:"F",octave:4,step:0,mark:"fall",realKey:66,realName:"Gb4"},{key:3,name:"G",octave:4,step:0,realKey:67,realName:"G4"},{key:4,name:"A",octave:4,step:0,realKey:68,realName:"Ab4"},{key:4,name:"A",octave:4,step:0,mark:"rise",realKey:69,realName:"A4"},{key:5,name:"B",octave:4,step:0,realKey:70,realName:"Bb4"},{key:6,name:"B",octave:4,step:0,mark:"fall",realKey:71,realName:"B4"},{key:6,name:"C",octave:5,step:0,realKey:72,realName:"C5"},{key:7,name:"C",octave:5,step:0,mark:"fall",realKey:73,realName:"Db5"},{key:7,name:"D",octave:5,step:0,realKey:74,realName:"D5"},{key:1,name:"E",octave:5,step:1,realKey:75,realName:"Eb5"},{key:1,name:"E",octave:5,step:1,mark:"rise",realKey:76,realName:"E5"},{key:2,name:"F",octave:5,step:1,realKey:77,realName:"F5"},{key:3,name:"F",octave:5,step:1,mark:"fall",realKey:78,realName:"Gb5"},{key:3,name:"G",octave:5,step:1,realKey:79,realName:"G5"},{key:4,name:"A",octave:5,step:1,realKey:80,realName:"Ab5"},{key:4,name:"A",octave:5,step:1,mark:"rise",realKey:81,realName:"A5"}],listF5:[{key:2,octave:4,step:0,name:"E",realKey:64,realName:"E4"},{key:2,name:"F",octave:4,step:0,mark:"rise",realKey:65,realName:"F4"},{key:3,name:"F",octave:4,step:0,realKey:66,realName:"Gb4"},{key:4,name:"G",octave:4,step:0,realKey:67,realName:"G4"},{key:4,name:"A",octave:4,step:0,mark:"rise",realKey:68,realName:"Ab4"},{key:5,name:"A",octave:4,step:0,realKey:69,realName:"A4"},{key:6,name:"B",octave:4,step:0,mark:"fall",realKey:70,realName:"Bb4"},{key:6,name:"B",octave:4,step:0,realKey:71,realName:"B4"},{key:7,name:"C",octave:5,step:0,mark:"fall",realKey:72,realName:"C5"},{key:7,name:"C",octave:5,step:0,realKey:73,realName:"Db5"},{key:1,name:"D",octave:5,step:1,realKey:74,realName:"D5"},{key:1,name:"E",octave:5,step:1,mark:"rise",realKey:75,realName:"Eb5"},{key:2,name:"E",octave:5,step:1,realKey:76,realName:"E5"},{key:3,name:"F",octave:5,step:1,mark:"fall",realKey:77,realName:"F5"},{key:3,name:"F",octave:5,step:1,realKey:78,realName:"Gb5"},{key:4,name:"G",octave:5,step:1,realKey:79,realName:"G5"},{key:4,name:"A",octave:5,step:1,mark:"rise",realKey:80,realName:"Ab5"},{key:5,name:"A",octave:5,step:1,realKey:81,realName:"A5"}],listA4:[{key:4,octave:4,step:-1,mark:"rise",name:"E",realKey:64,realName:"E4"},{key:5,name:"F",octave:4,step:-1,realKey:65,realName:"F4"},{key:6,name:"F",octave:4,step:-1,mark:"fall",realKey:66,realName:"Gb4"},{key:6,name:"G",octave:4,step:-1,realKey:67,realName:"G4"},{key:7,name:"A",octave:4,step:-1,mark:"fall",realKey:68,realName:"Ab4"},{key:7,name:"A",octave:4,step:-1,realKey:69,realName:"A4"},{key:1,name:"B",octave:4,step:0,realKey:70,realName:"Bb4"},{key:1,name:"B",octave:4,step:0,mark:"rise",realKey:71,realName:"B4"},{key:2,name:"C",octave:5,step:0,realKey:72,realName:"C5"},{key:3,name:"C",octave:5,step:0,mark:"fall",realKey:73,realName:"Db5"},{key:3,name:"D",octave:5,step:0,realKey:74,realName:"D5"},{key:4,name:"E",octave:5,step:0,realKey:75,realName:"Eb5"},{key:4,name:"E",octave:5,step:0,mark:"rise",realKey:76,realName:"E5"},{key:5,name:"F",octave:5,step:0,realKey:77,realName:"F5"},{key:6,name:"F",octave:5,step:0,mark:"fall",realKey:78,realName:"Gb5"},{key:6,name:"G",octave:5,step:0,realKey:79,realName:"G5"},{key:7,name:"A",octave:5,step:0,mark:"fall",realKey:80,realName:"Ab5"},{key:7,name:"A",octave:5,step:0,realKey:81,realName:"A5"}],listB4:[{key:5,octave:4,step:-1,name:"E",realKey:64,realName:"E4"},{key:5,name:"F",octave:4,step:-1,mark:"rise",realKey:65,realName:"F4"},{key:6,name:"F",octave:4,step:-1,realKey:66,realName:"Gb4"},{key:7,name:"G",octave:4,step:-1,mark:"fall",realKey:67,realName:"G4"},{key:7,name:"A",octave:4,step:-1,realKey:68,realName:"Ab4"},{key:1,name:"A",octave:4,step:0,realKey:69,realName:"A4"},{key:1,name:"B",octave:4,step:0,mark:"rise",realKey:70,realName:"Bb4"},{key:2,name:"B",octave:4,step:0,realKey:71,realName:"B4"},{key:3,name:"C",octave:5,step:0,mark:"fall",realKey:72,realName:"C5"},{key:3,name:"C",octave:5,step:0,realKey:73,realName:"Db5"},{key:4,name:"D",octave:5,step:0,realKey:74,realName:"D5"},{key:4,name:"E",octave:5,step:0,mark:"rise",realKey:75,realName:"Eb5"},{key:5,name:"E",octave:5,step:0,realKey:76,realName:"E5"},{key:6,name:"F",octave:5,step:0,mark:"fall",realKey:77,realName:"F5"},{key:6,name:"F",octave:5,step:0,realKey:78,realName:"Gb5"},{key:7,name:"G",octave:5,step:0,mark:"fall",realKey:79,realName:"G5"},{key:7,name:"A",octave:5,step:0,realKey:80,realName:"Ab5"},{key:1,name:"A",octave:5,step:1,realKey:81,realName:"A5"}]},piccolo:{tips:[{key:0,name:"拿竖笛的方法",octave:0,step:0,realKey:0,realName:"把竖笛拿起来,然后放在嘴边,把它轻轻地放在你的唇间,并用你的手指拿稳。记住要把你的左手放在上边,有一个孔的背面应该正对着你,不要咬吹口或是让它碰到牙。"},{key:0,name:"吹竖笛的力度",octave:0,step:0,realKey:0,realName:"向竖笛吹气,轻一点吹想象你在吹泡泡一样,控制气流的稳定并轻柔地吹奏,尝试用膈肌呼吸并确保你吹得均匀,这可以使声音稳定持续。"},{key:0,name:"学习呼吸方法",octave:0,step:0,realKey:0,realName:"吹竖笛时,气息的控制是很关键的,气息分为缓吹法和急吹法,吸气要从鼻子和嘴角吸气,吸到胸部和腰部,小腹微微向里收,以使演奏有气息支持。"},{key:0,name:"勤练习指法",octave:0,step:0,realKey:0,realName:"指法图是用来表示竖笛上的单音的,后背的孔叫0孔,从上到下依次为一孔、二孔、三孔、四孔、五孔、六孔、七孔,要吹奏简单的练习曲,必须要牢记单音的指法。"},{key:0,name:"学习一些演奏技法",octave:0,step:0,realKey:0,realName:"单吐是用舌尖顶住上牙的牙根,用气息轻轻地把舌尖冲开,待声音发出后舌尖有弹性地返回到原来的位置,这时舌尖就像一个通气阀门,如果我们让它发出声音就像发“嘟”音的感觉。在有连线的地方只有第一个音采用单吐的技法,后面的音不再做吐音,只接前面“嘟”音的尾音发出“呜”音,整个连线里面的音就像“嘟呜”的。"}],tones:[{key:1,name:"C",octave:5,step:0,realKey:0,realName:""},{key:4,name:"F",octave:4,step:-1,realKey:0,realName:"F4"},{key:2,name:"D",octave:4,step:-1,realKey:0,realName:"D4"},{key:5,name:"G",octave:4,step:-1,realKey:0,realName:"G4"}],list:[{key:1,name:"C",octave:5,step:0,realKey:60,realName:"C5"},{key:2,name:"D",octave:5,step:0,realKey:61,mark:"fall",realName:"Db5"},{key:2,name:"D",octave:5,step:0,realKey:62,realName:"D5"},{key:3,name:"E",octave:5,step:0,realKey:63,mark:"fall",realName:"Eb5"},{key:3,name:"E",octave:5,step:0,realKey:64,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:65,realName:"F5"},{key:5,name:"G",octave:5,step:0,realKey:66,mark:"fall",realName:"Gb5"},{key:5,name:"G",octave:5,step:0,realKey:67,realName:"G5"},{key:6,name:"A",octave:5,step:0,realKey:68,mark:"fall",realName:"Ab5"},{key:6,name:"A",octave:5,step:0,realKey:69,realName:"A5"},{key:7,name:"B",octave:5,step:0,realKey:70,mark:"fall",realName:"Bb5"},{key:7,name:"B",octave:5,step:0,realKey:71,realName:"B5"},{key:1,name:"C",octave:6,step:1,realKey:72,realName:"C6"},{key:2,name:"D",octave:6,step:1,realKey:73,mark:"fall",realName:"Db6"},{key:2,name:"D",octave:6,step:1,realKey:74,realName:"D6"},{key:3,name:"E",octave:6,step:1,realKey:75,mark:"fall",realName:"Eb6"},{key:3,name:"E",octave:6,step:1,realKey:76,realName:"E6"},{key:4,name:"F",octave:6,step:1,realKey:77,realName:"F6"},{key:5,name:"G",octave:6,step:1,realKey:78,mark:"fall",realName:"Gb6"},{key:5,name:"G",octave:6,step:1,realKey:79,realName:"G6"},{key:6,name:"A",octave:6,step:1,realKey:80,mark:"fall",realName:"Ab6"},{key:6,name:"A",octave:6,step:1,realKey:81,realName:"A6"},{key:7,name:"B",octave:6,step:1,realKey:82,mark:"fall",realName:"Bb6"},{key:7,name:"B",octave:6,step:1,realKey:83,realName:"B6"},{key:1,name:"C",octave:7,step:2,realKey:84,realName:"C7"},{key:2,name:"D",octave:7,step:2,realKey:85,mark:"fall",realName:"Db7"},{key:2,name:"D",octave:7,step:2,realKey:86,realName:"D7"}],listF4:[{key:5,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:5,step:-1,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:6,step:-1,name:"D",octave:5,realKey:62,realName:"D5"},{key:6,step:-1,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:7,step:-1,name:"E",octave:5,realKey:64,realName:"E5"},{key:1,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:1,step:0,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:2,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:2,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:3,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:4,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:4,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:5,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:5,step:0,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:6,step:0,name:"D",octave:6,realKey:74,realName:"D6"},{key:6,step:0,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:7,step:0,name:"E",octave:6,realKey:76,realName:"E6"},{key:1,step:1,name:"F",octave:6,realKey:77,realName:"F6"},{key:1,step:1,mark:"rise",name:"G",octave:6,realKey:78,realName:"Gb6"},{key:2,step:1,name:"G",octave:6,realKey:79,realName:"G6"},{key:2,step:1,mark:"rise",name:"A",octave:6,realKey:80,realName:"Ab6"},{key:3,step:1,name:"A",octave:6,realKey:81,realName:"A6"},{key:4,step:1,name:"B",octave:6,realKey:82,realName:"Bb6"},{key:4,step:1,mark:"rise",name:"B",octave:6,realKey:83,realName:"B6"},{key:5,step:1,name:"C",octave:7,realKey:84,realName:"C7"},{key:5,step:1,name:"D",mark:"rise",octave:7,realKey:85,realName:"Db7"},{key:6,step:1,name:"D",octave:7,realKey:86,realName:"D7"}],listD4:[{key:6,step:-1,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:7,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:1,step:0,name:"D",octave:5,realKey:62,realName:"D5"},{key:1,step:0,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:2,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:2,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:3,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:4,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:4,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:5,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:5,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:6,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:6,step:0,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:7,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:1,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:1,step:1,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:2,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:2,step:1,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"},{key:3,step:1,name:"G",octave:6,realKey:78,realName:"Gb6"},{key:4,step:1,name:"G",octave:6,realKey:79,realName:"G6"},{key:4,step:1,mark:"rise",name:"A",octave:6,realKey:80,realName:"Ab6"},{key:5,step:1,name:"A",octave:6,realKey:81,realName:"A6"},{key:5,step:1,mark:"rise",name:"B",octave:6,realKey:82,realName:"Bb6"},{key:6,step:1,name:"B",octave:6,realKey:83,realName:"B6"},{key:6,step:1,mark:"rise",name:"C",octave:7,realKey:84,realName:"C7"},{key:7,step:1,name:"D",octave:7,realKey:85,realName:"Db7"},{key:1,step:2,name:"D",octave:7,realKey:86,realName:"D7"}],listG4:[{key:4,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:4,step:-1,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:5,step:-1,name:"D",octave:5,realKey:62,realName:"D5"},{key:5,step:-1,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:6,step:-1,name:"E",octave:5,realKey:64,realName:"E5"},{key:6,step:-1,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:7,step:-1,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:1,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:1,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:2,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:2,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:3,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:4,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:4,step:0,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:5,step:0,name:"D",octave:6,realKey:74,realName:"D6"},{key:5,step:0,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:6,step:0,name:"E",octave:6,realKey:76,realName:"E6"},{key:6,step:0,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"},{key:7,step:0,name:"G",octave:6,realKey:78,realName:"Gb6"},{key:1,step:1,name:"G",octave:6,realKey:79,realName:"G6"},{key:1,step:1,mark:"rise",name:"A",octave:6,realKey:80,realName:"Ab6"},{key:2,step:1,name:"A",octave:6,realKey:81,realName:"A6"},{key:2,step:1,mark:"rise",name:"B",octave:6,realKey:82,realName:"Bb6"},{key:3,step:1,name:"B",octave:6,realKey:83,realName:"B6"},{key:4,step:1,name:"C",octave:7,realKey:84,realName:"C7"},{key:4,step:1,name:"D",mark:"rise",octave:7,realKey:85,realName:"Db7"},{key:5,step:1,name:"D",octave:7,realKey:86,realName:"D7"}]},ocarina:{tips:[{key:0,name:"嘴型",octave:0,step:0,realKey:0,realName:`以嘴唇轻轻含住吹口,不可含太深,以免盖住出气孔。 吹气方式宜以丹田之力(腹腔)稳定送出,一可避免太多口水,二可产生振音效果,让笛韵更为悦耳。`},{key:0,name:"长音",octave:0,step:0,realKey:0,realName:`长音的吹奏,要求音量平稳,不可忽大忽小,音与音之间,要流畅的连接,不可断断续续。 短音与重音需运用“踢舌”的技巧,将舌尖抵住上腭牙齿与牙龈的相接处,于吹气时瞬间将舌头缩回,这样的声音干净有力,听起来有活泼欢乐的感觉。`},{key:0,name:"滑音",octave:0,step:0,realKey:0,realName:"开合气孔的方式,一般是直接提高手指,音阶瞬间转换,另一种方式是将手指向陶笛外侧慢慢滑开,如此可以产生优美的滑音。"},{key:0,name:"圆滑音",octave:0,step:0,realKey:0,realName:"在两个以上不同高的音符之间加上“”记号,此记号成为圆滑线,它的吹法是用一口气连接的吹完整串音符,中间气不间断,注意第一个音仍要踢舌!"},{key:0,name:"气震音",octave:0,step:0,realKey:0,realName:"气震音是指在吹奏中用气流的变化来让发出的音发生波动,产生颤抖的感觉,所以又称气颤音,靠腹部控制,又叫腹震音。"},{key:0,name:"呼吸方法",octave:0,step:0,realKey:0,realName:"使用胸腹式呼吸法是一种比较科学的呼吸方法,大致分为两个步骤,吸气速度要快,胸腹要做到联合动作,让胸腹快速吸到更多的气,也可以用口协助吸气。"}],tones:[{key:1,name:"C",octave:5,step:0,realKey:0,realName:""},{key:1,name:"C",octave:5,step:0,mark:"rise",realKey:0,realName:"Db5"},{key:2,name:"D",octave:5,step:0,realKey:0,realName:"D5"},{key:2,name:"D",octave:5,step:0,mark:"rise",realKey:0,realName:"Eb5"},{key:3,name:"E",octave:5,step:0,realKey:0,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:0,realName:"F5"},{key:4,name:"F",octave:5,step:0,mark:"rise",realKey:0,realName:"Gb5"},{key:5,name:"G",octave:5,step:0,realKey:0,realName:"G5"},{key:5,name:"G",octave:5,step:0,mark:"rise",realKey:0,realName:"Ab5"},{key:6,name:"A",octave:5,step:0,realKey:0,realName:"A5"},{key:6,name:"A",octave:5,step:0,mark:"rise",realKey:0,realName:"Bb5"},{key:7,name:"B",octave:5,step:0,realKey:0,realName:"B5"}],list:[{key:6,name:"A",octave:4,step:-1,realKey:57,realName:"A4"},{key:7,name:"B",octave:4,step:-1,realKey:58,mark:"fall",realName:"Bb4"},{key:7,name:"B",octave:4,step:-1,realKey:59,realName:"B4"},{key:1,name:"C",octave:5,step:0,realKey:60,realName:"C5"},{key:2,name:"D",octave:5,step:0,realKey:61,mark:"fall",realName:"Db5"},{key:2,name:"D",octave:5,step:0,realKey:62,realName:"D5"},{key:3,name:"E",octave:5,step:0,realKey:63,mark:"fall",realName:"Eb5"},{key:3,name:"E",octave:5,step:0,realKey:64,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:65,realName:"F5"},{key:5,name:"G",octave:5,step:0,realKey:66,mark:"fall",realName:"Gb5"},{key:5,name:"G",octave:5,step:0,realKey:67,realName:"G5"},{key:6,name:"A",octave:5,step:0,realKey:68,mark:"fall",realName:"Ab5"},{key:6,name:"A",octave:5,step:0,realKey:69,realName:"A5"},{key:7,name:"B",octave:5,step:0,realKey:70,mark:"fall",realName:"Bb5"},{key:7,name:"B",octave:5,step:0,realKey:71,realName:"B5"},{key:1,name:"C",octave:6,step:1,realKey:72,realName:"C6"},{key:2,name:"D",octave:6,step:1,realKey:73,mark:"fall",realName:"Db6"},{key:2,name:"D",octave:6,step:1,realKey:74,realName:"D6"},{key:3,name:"E",octave:6,step:1,realKey:75,mark:"fall",realName:"Eb6"},{key:3,name:"E",octave:6,step:1,realKey:76,realName:"E6"},{key:4,name:"F",octave:6,step:1,realKey:77,realName:"F6"}],listDb5:[{key:5,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:6,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:6,step:-1,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:7,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:1,step:0,name:"D",octave:5,realKey:61,realName:"Db5"},{key:1,step:0,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:2,step:0,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:2,step:0,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:3,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:4,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:4,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:5,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:5,step:0,mark:"rise",name:"A",octave:5,realKey:69,realName:"A5"},{key:6,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:6,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:7,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:1,step:1,name:"D",octave:6,realKey:73,realName:"Db6"},{key:1,step:1,mark:"rise",name:"D",octave:6,realKey:74,realName:"D6"},{key:2,step:1,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:2,step:1,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:3,step:1,name:"F",octave:6,realKey:77,realName:"F6"}],listD5:[{key:5,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:5,step:-1,mark:"rise",name:"B",octave:4,realKey:58,realName:"Bb4"},{key:6,step:-1,name:"B",octave:4,realKey:59,realName:"B4"},{key:6,step:-1,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:7,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:1,step:0,name:"D",octave:5,realKey:62,realName:"D5"},{key:1,step:0,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:2,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:2,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:3,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:4,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:4,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:5,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:5,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:6,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:6,step:0,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:7,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:1,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:1,step:1,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:2,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:2,step:1,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"}],listEb5:[{key:4,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:5,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:5,step:-1,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:6,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:6,step:-1,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:7,step:-1,name:"D",octave:5,realKey:62,realName:"D5"},{key:1,step:0,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:1,step:0,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:2,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:2,step:0,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:3,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:4,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:4,step:0,mark:"rise",name:"A",octave:5,realKey:69,realName:"A5"},{key:5,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:5,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:6,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:6,step:0,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:7,step:0,name:"D",octave:6,realKey:74,realName:"D6"},{key:1,step:1,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:1,step:1,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:2,step:1,name:"F",octave:6,realKey:77,realName:"F6"}],listE5:[{key:4,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:4,step:-1,mark:"rise",name:"B",octave:4,realKey:58,realName:"Bb4"},{key:5,step:-1,name:"B",octave:4,realKey:59,realName:"B4"},{key:5,step:-1,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:6,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:6,step:-1,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:7,step:-1,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:1,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:1,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:2,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:2,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:3,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:4,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:4,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:5,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:5,step:0,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:6,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:6,step:0,mark:"rise",name:"D",octave:6,realKey:74,realName:"D6"},{key:7,step:0,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:1,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:1,step:1,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"}],listF5:[{key:3,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:4,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:4,step:-1,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:5,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:5,step:-1,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:6,step:-1,name:"D",octave:5,realKey:62,realName:"D5"},{key:6,step:-1,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:7,step:-1,name:"E",octave:5,realKey:64,realName:"E5"},{key:1,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:1,step:0,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:2,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:2,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:3,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:4,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:4,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:5,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:5,step:0,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:6,step:0,name:"D",octave:6,realKey:74,realName:"D6"},{key:6,step:0,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:7,step:0,name:"E",octave:6,realKey:76,realName:"E6"},{key:1,step:1,name:"F",octave:6,realKey:77,realName:"F6"}],listGb5:[{key:2,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:3,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:4,step:-1,name:"B",octave:4,realKey:59,realName:"B4"},{key:4,step:-1,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:5,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:5,step:-1,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:6,step:-1,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:6,step:-1,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:7,step:-1,name:"F",octave:5,realKey:65,realName:"F5"},{key:1,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:1,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:2,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:2,step:0,mark:"rise",name:"A",octave:5,realKey:69,realName:"A5"},{key:3,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:4,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:4,step:0,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:5,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:5,step:0,mark:"rise",name:"D",octave:6,realKey:74,realName:"D6"},{key:6,step:0,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:6,step:0,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:7,step:0,name:"F",octave:6,realKey:77,realName:"F6"}],listG5:[{key:2,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:2,step:-1,mark:"rise",name:"B",octave:4,realKey:58,realName:"Bb4"},{key:3,step:-1,name:"B",octave:4,realKey:59,realName:"B4"},{key:4,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:4,step:-1,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:5,step:-1,name:"D",octave:5,realKey:62,realName:"D5"},{key:5,step:-1,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:6,step:-1,name:"E",octave:5,realKey:64,realName:"E5"},{key:6,step:-1,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:7,step:-1,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:1,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:1,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:2,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:2,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:3,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:4,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:4,step:0,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:5,step:0,name:"D",octave:6,realKey:74,realName:"D6"},{key:5,step:0,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:6,step:0,name:"E",octave:6,realKey:76,realName:"E6"},{key:6,step:0,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"}],listAb5:[{key:1,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:2,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:2,step:-1,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:3,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:4,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:4,step:-1,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:5,step:-1,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:5,step:-1,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:6,step:-1,name:"F",octave:5,realKey:65,realName:"F5"},{key:6,step:-1,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:7,step:-1,name:"G",octave:5,realKey:67,realName:"G5"},{key:1,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:1,step:0,mark:"rise",name:"A",octave:5,realKey:69,realName:"A5"},{key:2,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:2,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:3,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:4,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:4,step:0,mark:"rise",name:"D",octave:6,realKey:74,realName:"D6"},{key:5,step:0,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:5,step:0,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:6,step:0,name:"F",octave:6,realKey:77,realName:"F6"}],listA5:[{key:1,step:0,name:"A",octave:4,realKey:57,realName:"A4"},{key:1,step:0,mark:"rise",name:"B",octave:4,realKey:58,realName:"Bb4"},{key:2,step:0,name:"B",octave:4,realKey:59,realName:"B4"},{key:2,step:0,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:3,step:0,name:"D",octave:5,realKey:61,realName:"Db5"},{key:4,step:0,name:"D",octave:5,realKey:62,realName:"D5"},{key:4,step:0,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:5,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:5,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:6,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:6,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:7,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:1,step:1,name:"A",octave:5,realKey:69,realName:"A5"},{key:1,step:1,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:2,step:1,name:"B",octave:5,realKey:71,realName:"B5"},{key:2,step:1,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:3,step:1,name:"D",octave:6,realKey:73,realName:"Db6"},{key:4,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:4,step:1,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:5,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:5,step:1,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"}],listBb5:[{key:7,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:1,step:0,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:1,step:0,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:2,step:0,name:"C",octave:5,realKey:60,realName:"C5"},{key:2,step:0,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:3,step:0,name:"D",octave:5,realKey:62,realName:"D5"},{key:4,step:0,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:4,step:0,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:5,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:5,step:0,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:6,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:6,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:7,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:1,step:1,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:1,step:1,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:2,step:1,name:"C",octave:6,realKey:72,realName:"C6"},{key:2,step:1,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:3,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:4,step:1,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:4,step:1,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:5,step:1,name:"F",octave:6,realKey:77,realName:"F6"}],listB5:[{key:6,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:7,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:1,step:0,name:"B",octave:4,realKey:59,realName:"B4"},{key:1,step:0,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:2,step:0,name:"D",octave:5,realKey:61,realName:"Db5"},{key:2,step:0,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:3,step:0,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:4,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:4,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:5,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:5,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:6,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:6,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:6,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:7,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:1,step:1,name:"C",octave:6,realKey:72,realName:"C6"},{key:1,step:1,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:2,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:2,step:1,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:3,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:4,step:1,name:"F",octave:6,realKey:77,realName:"F6"}]},whistling:{tips:[{key:0,name:"嘴型",octave:0,step:0,realKey:0,realName:`以嘴唇轻轻含住吹口,不可含太深,以免盖住出气孔。 吹气方式宜以丹田之力(腹腔)稳定送出,一可避免太多口水,二可产生振音效果,让笛韵更为悦耳。`},{key:0,name:"长音",octave:0,step:0,realKey:0,realName:`长音的吹奏,要求音量平稳,不可忽大忽小,音与音之间,要流畅的连接,不可断断续续。 短音与重音需运用“踢舌”的技巧,将舌尖抵住上腭牙齿与牙龈的相接处,于吹气时瞬间将舌头缩回,这样的声音干净有力,听起来有活泼欢乐的感觉。`},{key:0,name:"滑音",octave:0,step:0,realKey:0,realName:"开合气孔的方式,一般是直接提高手指,音阶瞬间转换,另一种方式是将手指向陶笛外侧慢慢滑开,如此可以产生优美的滑音。"},{key:0,name:"圆滑音",octave:0,step:0,realKey:0,realName:"在两个以上不同高的音符之间加上“”记号,此记号成为圆滑线,它的吹法是用一口气连接的吹完整串音符,中间气不间断,注意第一个音仍要踢舌!"},{key:0,name:"气震音",octave:0,step:0,realKey:0,realName:"气震音是指在吹奏中用气流的变化来让发出的音发生波动,产生颤抖的感觉,所以又称气颤音,靠腹部控制,又叫腹震音。"},{key:0,name:"呼吸方法",octave:0,step:0,realKey:0,realName:"使用胸腹式呼吸法是一种比较科学的呼吸方法,大致分为两个步骤,吸气速度要快,胸腹要做到联合动作,让胸腹快速吸到更多的气,也可以用口协助吸气。"}],tones:[{key:1,name:"C",octave:5,step:0,realKey:0,realName:""},{key:1,name:"C",octave:5,step:0,mark:"rise",realKey:0,realName:"Db5"},{key:2,name:"D",octave:5,step:0,realKey:0,realName:"D5"},{key:2,name:"D",octave:5,step:0,mark:"rise",realKey:0,realName:"Eb5"},{key:3,name:"E",octave:5,step:0,realKey:0,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:0,realName:"F5"},{key:4,name:"F",octave:5,step:0,mark:"rise",realKey:0,realName:"Gb5"},{key:5,name:"G",octave:5,step:0,realKey:0,realName:"G5"},{key:5,name:"G",octave:5,step:0,mark:"rise",realKey:0,realName:"Ab5"},{key:6,name:"A",octave:5,step:0,realKey:0,realName:"A5"},{key:6,name:"A",octave:5,step:0,mark:"rise",realKey:0,realName:"Bb5"},{key:7,name:"B",octave:5,step:0,realKey:0,realName:"B5"}],list:[{key:6,name:"A",octave:4,step:-1,realKey:57,realName:"A4"},{key:7,name:"B",octave:4,step:-1,realKey:58,mark:"fall",realName:"Bb4"},{key:7,name:"B",octave:4,step:-1,realKey:59,realName:"B4"},{key:1,name:"C",octave:5,step:0,realKey:60,realName:"C5"},{key:2,name:"D",octave:5,step:0,realKey:61,mark:"fall",realName:"Db5"},{key:2,name:"D",octave:5,step:0,realKey:62,realName:"D5"},{key:3,name:"E",octave:5,step:0,realKey:63,mark:"fall",realName:"Eb5"},{key:3,name:"E",octave:5,step:0,realKey:64,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:65,realName:"F5"},{key:5,name:"G",octave:5,step:0,realKey:66,mark:"fall",realName:"Gb5"},{key:5,name:"G",octave:5,step:0,realKey:67,realName:"G5"},{key:6,name:"A",octave:5,step:0,realKey:68,mark:"fall",realName:"Ab5"},{key:6,name:"A",octave:5,step:0,realKey:69,realName:"A5"},{key:7,name:"B",octave:5,step:0,realKey:70,mark:"fall",realName:"Bb5"},{key:7,name:"B",octave:5,step:0,realKey:71,realName:"B5"},{key:1,name:"C",octave:6,step:1,realKey:72,realName:"C6"},{key:2,name:"D",octave:6,step:1,realKey:73,mark:"fall",realName:"Db6"},{key:2,name:"D",octave:6,step:1,realKey:74,realName:"D6"},{key:3,name:"E",octave:6,step:1,realKey:75,mark:"fall",realName:"Eb6"},{key:3,name:"E",octave:6,step:1,realKey:76,realName:"E6"},{key:4,name:"F",octave:6,step:1,realKey:77,realName:"F6"}],listDb5:[{key:5,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:6,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:6,step:-1,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:7,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:1,step:0,name:"D",octave:5,realKey:61,realName:"Db5"},{key:1,step:0,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:2,step:0,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:2,step:0,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:3,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:4,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:4,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:5,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:5,step:0,mark:"rise",name:"A",octave:5,realKey:69,realName:"A5"},{key:6,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:6,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:7,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:1,step:1,name:"D",octave:6,realKey:73,realName:"Db6"},{key:1,step:1,mark:"rise",name:"D",octave:6,realKey:74,realName:"D6"},{key:2,step:1,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:2,step:1,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:3,step:1,name:"F",octave:6,realKey:77,realName:"F6"}],listD5:[{key:5,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:5,step:-1,mark:"rise",name:"B",octave:4,realKey:58,realName:"Bb4"},{key:6,step:-1,name:"B",octave:4,realKey:59,realName:"B4"},{key:6,step:-1,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:7,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:1,step:0,name:"D",octave:5,realKey:62,realName:"D5"},{key:1,step:0,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:2,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:2,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:3,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:4,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:4,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:5,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:5,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:6,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:6,step:0,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:7,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:1,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:1,step:1,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:2,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:2,step:1,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"}],listEb5:[{key:4,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:5,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:5,step:-1,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:6,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:6,step:-1,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:7,step:-1,name:"D",octave:5,realKey:62,realName:"D5"},{key:1,step:0,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:1,step:0,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:2,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:2,step:0,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:3,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:4,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:4,step:0,mark:"rise",name:"A",octave:5,realKey:69,realName:"A5"},{key:5,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:5,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:6,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:6,step:0,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:7,step:0,name:"D",octave:6,realKey:74,realName:"D6"},{key:1,step:1,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:1,step:1,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:2,step:1,name:"F",octave:6,realKey:77,realName:"F6"}],listE5:[{key:4,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:4,step:-1,mark:"rise",name:"B",octave:4,realKey:58,realName:"Bb4"},{key:5,step:-1,name:"B",octave:4,realKey:59,realName:"B4"},{key:5,step:-1,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:6,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:6,step:-1,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:7,step:-1,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:1,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:1,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:2,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:2,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:3,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:4,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:4,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:5,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:5,step:0,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:6,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:6,step:0,mark:"rise",name:"D",octave:6,realKey:74,realName:"D6"},{key:7,step:0,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:1,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:1,step:1,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"}],listF5:[{key:3,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:4,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:4,step:-1,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:5,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:5,step:-1,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:6,step:-1,name:"D",octave:5,realKey:62,realName:"D5"},{key:6,step:-1,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:7,step:-1,name:"E",octave:5,realKey:64,realName:"E5"},{key:1,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:1,step:0,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:2,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:2,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:3,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:4,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:4,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:5,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:5,step:0,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:6,step:0,name:"D",octave:6,realKey:74,realName:"D6"},{key:6,step:0,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:7,step:0,name:"E",octave:6,realKey:76,realName:"E6"},{key:1,step:1,name:"F",octave:6,realKey:77,realName:"F6"}],listGb5:[{key:2,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:3,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:4,step:-1,name:"B",octave:4,realKey:59,realName:"B4"},{key:4,step:-1,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:5,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:5,step:-1,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:6,step:-1,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:6,step:-1,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:7,step:-1,name:"F",octave:5,realKey:65,realName:"F5"},{key:1,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:1,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:2,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:2,step:0,mark:"rise",name:"A",octave:5,realKey:69,realName:"A5"},{key:3,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:4,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:4,step:0,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:5,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:5,step:0,mark:"rise",name:"D",octave:6,realKey:74,realName:"D6"},{key:6,step:0,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:6,step:0,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:7,step:0,name:"F",octave:6,realKey:77,realName:"F6"}],listG5:[{key:2,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:2,step:-1,mark:"rise",name:"B",octave:4,realKey:58,realName:"Bb4"},{key:3,step:-1,name:"B",octave:4,realKey:59,realName:"B4"},{key:4,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:4,step:-1,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:5,step:-1,name:"D",octave:5,realKey:62,realName:"D5"},{key:5,step:-1,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:6,step:-1,name:"E",octave:5,realKey:64,realName:"E5"},{key:6,step:-1,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:7,step:-1,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:1,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:1,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:2,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:2,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:3,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:4,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:4,step:0,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:5,step:0,name:"D",octave:6,realKey:74,realName:"D6"},{key:5,step:0,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:6,step:0,name:"E",octave:6,realKey:76,realName:"E6"},{key:6,step:0,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"}],listAb5:[{key:1,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:2,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:2,step:-1,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:3,step:-1,name:"C",octave:5,realKey:60,realName:"C5"},{key:4,step:-1,name:"D",octave:5,realKey:61,realName:"Db5"},{key:4,step:-1,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:5,step:-1,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:5,step:-1,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:6,step:-1,name:"F",octave:5,realKey:65,realName:"F5"},{key:6,step:-1,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:7,step:-1,name:"G",octave:5,realKey:67,realName:"G5"},{key:1,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:1,step:0,mark:"rise",name:"A",octave:5,realKey:69,realName:"A5"},{key:2,step:0,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:2,step:0,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:3,step:0,name:"C",octave:6,realKey:72,realName:"C6"},{key:4,step:0,name:"D",octave:6,realKey:73,realName:"Db6"},{key:4,step:0,mark:"rise",name:"D",octave:6,realKey:74,realName:"D6"},{key:5,step:0,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:5,step:0,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:6,step:0,name:"F",octave:6,realKey:77,realName:"F6"}],listA5:[{key:1,step:0,name:"A",octave:4,realKey:57,realName:"A4"},{key:1,step:0,mark:"rise",name:"B",octave:4,realKey:58,realName:"Bb4"},{key:2,step:0,name:"B",octave:4,realKey:59,realName:"B4"},{key:2,step:0,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:3,step:0,name:"D",octave:5,realKey:61,realName:"Db5"},{key:4,step:0,name:"D",octave:5,realKey:62,realName:"D5"},{key:4,step:0,mark:"rise",name:"E",octave:5,realKey:63,realName:"Eb5"},{key:5,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:5,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:6,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:6,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:7,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:1,step:1,name:"A",octave:5,realKey:69,realName:"A5"},{key:1,step:1,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:2,step:1,name:"B",octave:5,realKey:71,realName:"B5"},{key:2,step:1,mark:"rise",name:"C",octave:6,realKey:72,realName:"C6"},{key:3,step:1,name:"D",octave:6,realKey:73,realName:"Db6"},{key:4,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:4,step:1,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:5,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:5,step:1,mark:"rise",name:"F",octave:6,realKey:77,realName:"F6"}],listBb5:[{key:7,step:-1,name:"A",octave:4,realKey:57,realName:"A4"},{key:1,step:0,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:1,step:0,mark:"rise",name:"B",octave:4,realKey:59,realName:"B4"},{key:2,step:0,name:"C",octave:5,realKey:60,realName:"C5"},{key:2,step:0,mark:"rise",name:"D",octave:5,realKey:61,realName:"Db5"},{key:3,step:0,name:"D",octave:5,realKey:62,realName:"D5"},{key:4,step:0,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:4,step:0,mark:"rise",name:"E",octave:5,realKey:64,realName:"E5"},{key:5,step:0,name:"F",octave:5,realKey:65,realName:"F5"},{key:5,step:0,mark:"rise",name:"G",octave:5,realKey:66,realName:"Gb5"},{key:6,step:0,name:"G",octave:5,realKey:67,realName:"G5"},{key:6,step:0,mark:"rise",name:"A",octave:5,realKey:68,realName:"Ab5"},{key:7,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:1,step:1,name:"B",octave:5,realKey:70,realName:"Bb5"},{key:1,step:1,mark:"rise",name:"B",octave:5,realKey:71,realName:"B5"},{key:2,step:1,name:"C",octave:6,realKey:72,realName:"C6"},{key:2,step:1,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:3,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:4,step:1,name:"E",octave:6,realKey:75,realName:"Eb6"},{key:4,step:1,mark:"rise",name:"E",octave:6,realKey:76,realName:"E6"},{key:5,step:1,name:"F",octave:6,realKey:77,realName:"F6"}],listB5:[{key:6,step:-1,mark:"rise",name:"A",octave:4,realKey:57,realName:"A4"},{key:7,step:-1,name:"B",octave:4,realKey:58,realName:"Bb4"},{key:1,step:0,name:"B",octave:4,realKey:59,realName:"B4"},{key:1,step:0,mark:"rise",name:"C",octave:5,realKey:60,realName:"C5"},{key:2,step:0,name:"D",octave:5,realKey:61,realName:"Db5"},{key:2,step:0,mark:"rise",name:"D",octave:5,realKey:62,realName:"D5"},{key:3,step:0,name:"E",octave:5,realKey:63,realName:"Eb5"},{key:4,step:0,name:"E",octave:5,realKey:64,realName:"E5"},{key:4,step:0,mark:"rise",name:"F",octave:5,realKey:65,realName:"F5"},{key:5,step:0,name:"G",octave:5,realKey:66,realName:"Gb5"},{key:5,step:0,mark:"rise",name:"G",octave:5,realKey:67,realName:"G5"},{key:6,step:0,name:"A",octave:5,realKey:68,realName:"Ab5"},{key:6,step:0,name:"A",octave:5,realKey:69,realName:"A5"},{key:6,step:0,mark:"rise",name:"B",octave:5,realKey:70,realName:"Bb5"},{key:7,step:0,name:"B",octave:5,realKey:71,realName:"B5"},{key:1,step:1,name:"C",octave:6,realKey:72,realName:"C6"},{key:1,step:1,mark:"rise",name:"D",octave:6,realKey:73,realName:"Db6"},{key:2,step:1,name:"D",octave:6,realKey:74,realName:"D6"},{key:2,step:1,mark:"rise",name:"E",octave:6,realKey:75,realName:"Eb6"},{key:3,step:1,name:"E",octave:6,realKey:76,realName:"E6"},{key:4,step:1,name:"F",octave:6,realKey:77,realName:"F6"}]},melodica:{tips:[{key:0,name:"演奏姿势",octave:0,step:0,realKey:0,realName:"口风琴的基本演奏姿势有两种,即坐奏式和立奏式两种。"},{key:0,name:"坐奏式",octave:0,step:0,realKey:0,realName:"将口风琴平放在桌上,左手持长吹管前面的吹嘴,有手在琴键上演奎。要求身体端正。"},{key:0,name:"立奏式",octave:0,step:0,realKey:0,realName:`口含短吹管,左手持琴,右手在琴键上演奏。琴身倾斜约45度。 注:无论是坐奏式还是立奏式,都要注意口含吹嘴少些。`},{key:0,name:"呼吸方法",octave:0,step:0,realKey:0,realName:"呼吸吹奏口风琴时的呼吸与唱歌和演奏其他吹管乐器时的呼吸方法基本一致,即采用口鼻并用的胸腹式呼吸法。请记住下面这一句:深吸气,要保持,均匀平稳呼出去。"},{key:0,name:"吐舌法",octave:0,step:0,realKey:0,realName:"与演奏其他管乐器一样,演奏口风琴时,吐舌法是十分重要的。其基本方法是舌尖轻触上牙床,并靠拢前肠,气流通过。"},{key:0,name:"基本指法",octave:0,step:0,realKey:0,realName:`口风琴的指法与钢琴、风琴电子琴、手风琴等键盘乐器基本上相同,其区别在于使用它作同音重复演奏时,手指不动,而是用吐舌法来完成。 演奏口风琴时,右手手指编了号:拇指为1号指,食指为2号指,中指为3号指,无名指为4号指,小指为五号指。与演奏其他键盘乐器一样,演奏口风琴时要求手指自然弯曲,以指尖触键,手腕平放,手心如提球状。`}],tones:[],list:[{key:4,name:"F",octave:4,step:-1,realKey:53,realName:"F4"},{key:5,name:"G",octave:4,step:-1,realKey:54,mark:"fall",realName:"Gb4"},{key:5,name:"G",octave:4,step:-1,realKey:55,realName:"G4"},{key:6,name:"A",octave:4,step:-1,realKey:56,mark:"fall",realName:"Ab4"},{key:6,name:"A",octave:4,step:-1,realKey:57,realName:"A4"},{key:7,name:"B",octave:4,step:-1,realKey:58,mark:"fall",realName:"Bb4"},{key:7,name:"B",octave:4,step:-1,realKey:59,realName:"B4"},{key:1,name:"C",octave:5,step:0,realKey:60,realName:"C5"},{key:2,name:"D",octave:5,step:0,realKey:61,mark:"fall",realName:"Db5"},{key:2,name:"D",octave:5,step:0,realKey:62,realName:"D5"},{key:3,name:"E",octave:5,step:0,realKey:63,mark:"fall",realName:"Eb5"},{key:3,name:"E",octave:5,step:0,realKey:64,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:65,realName:"F5"},{key:5,name:"G",octave:5,step:0,realKey:66,mark:"fall",realName:"Gb5"},{key:5,name:"G",octave:5,step:0,realKey:67,realName:"G5"},{key:6,name:"A",octave:5,step:0,realKey:68,mark:"fall",realName:"Ab5"},{key:6,name:"A",octave:5,step:0,realKey:69,realName:"A5"},{key:7,name:"B",octave:5,step:0,realKey:70,mark:"fall",realName:"Bb5"},{key:7,name:"B",octave:5,step:0,realKey:71,realName:"B5"},{key:1,name:"C",octave:6,step:1,realKey:72,realName:"C6"},{key:2,name:"D",octave:6,step:1,realKey:73,mark:"fall",realName:"Db6"},{key:2,name:"D",octave:6,step:1,realKey:74,realName:"D6"},{key:3,name:"E",octave:6,step:1,realKey:75,mark:"fall",realName:"Eb6"},{key:3,name:"E",octave:6,step:1,realKey:76,realName:"E6"},{key:4,name:"F",octave:6,step:1,realKey:77,realName:"F6"},{key:5,name:"G",octave:6,step:1,realKey:78,mark:"fall",realName:"Gb6"},{key:5,name:"G",octave:6,step:1,realKey:79,realName:"G6"},{key:6,name:"A",octave:6,step:1,realKey:80,mark:"fall",realName:"Ab6"},{key:6,name:"A",octave:6,step:1,realKey:81,realName:"A6"},{key:7,name:"B",octave:6,step:1,realKey:82,mark:"fall",realName:"Bb6"},{key:7,name:"B",octave:6,step:1,realKey:83,realName:"B6"},{key:1,name:"C",octave:7,step:2,realKey:84,realName:"C7"}]},"baroque-recorder":{tips:[{key:0,name:"拿竖笛的方法",octave:0,step:0,realKey:0,realName:"把竖笛拿起来,然后放在嘴边,把它轻轻地放在你的唇间,并用你的手指拿稳。记住要把你的左手放在上边,有一个孔的背面应该正对着你,不要咬吹口或是让它碰到牙。"},{key:0,name:"吹竖笛的力度",octave:0,step:0,realKey:0,realName:"向竖笛吹气,轻一点吹想象你在吹泡泡一样,控制气流的稳定并轻柔地吹奏,尝试用膈肌呼吸并确保你吹得均匀,这可以使声音稳定持续。"},{key:0,name:"学习呼吸方法",octave:0,step:0,realKey:0,realName:"吹竖笛时,气息的控制是很关键的,气息分为缓吹法和急吹法,吸气要从鼻子和嘴角吸气,吸到胸部和腰部,小腹微微向里收,以使演奏有气息支持。"},{key:0,name:"勤练习指法",octave:0,step:0,realKey:0,realName:"指法图是用来表示竖笛上的单音的,后背的孔叫0孔,从上到下依次为一孔、二孔、三孔、四孔、五孔、六孔、七孔,要吹奏简单的练习曲,必须要牢记单音的指法。"},{key:0,name:"学习一些演奏技法",octave:0,step:0,realKey:0,realName:"单吐是用舌尖顶住上牙的牙根,用气息轻轻地把舌尖冲开,待声音发出后舌尖有弹性地返回到原来的位置,这时舌尖就像一个通气阀门,如果我们让它发出声音就像发“嘟”音的感觉。在有连线的地方只有第一个音采用单吐的技法,后面的音不再做吐音,只接前面“嘟”音的尾音发出“呜”音,整个连线里面的音就像“嘟呜”的。"}],list:[{key:1,name:"C",octave:5,step:0,realKey:60,realName:"C5"},{key:2,name:"D",octave:5,step:0,realKey:61,mark:"fall",realName:"Db5"},{key:2,name:"D",octave:5,step:0,realKey:62,realName:"D5"},{key:3,name:"E",octave:5,step:0,realKey:63,mark:"fall",realName:"Eb5"},{key:3,name:"E",octave:5,step:0,realKey:64,realName:"E5"},{key:4,name:"F",octave:5,step:0,realKey:65,realName:"F5"},{key:5,name:"G",octave:5,step:0,realKey:66,mark:"fall",realName:"Gb5"},{key:5,name:"G",octave:5,step:0,realKey:67,realName:"G5"},{key:6,name:"A",octave:5,step:0,realKey:68,mark:"fall",realName:"Ab5"},{key:6,name:"A",octave:5,step:0,realKey:69,realName:"A5"},{key:7,name:"B",octave:5,step:0,realKey:70,mark:"fall",realName:"Bb5"},{key:7,name:"B",octave:5,step:0,realKey:71,realName:"B5"},{key:1,name:"C",octave:6,step:1,realKey:72,realName:"C6"},{key:2,name:"D",octave:6,step:1,realKey:73,mark:"fall",realName:"Db6"},{key:2,name:"D",octave:6,step:1,realKey:74,realName:"D6"},{key:3,name:"E",octave:6,step:1,realKey:75,mark:"fall",realName:"Eb6"},{key:3,name:"E",octave:6,step:1,realKey:76,realName:"E6"},{key:4,name:"F",octave:6,step:1,realKey:77,realName:"F6"},{key:5,name:"G",octave:6,step:1,realKey:78,mark:"fall",realName:"Gb6"},{key:5,name:"G",octave:6,step:1,realKey:79,realName:"G6"},{key:6,name:"A",octave:6,step:1,realKey:80,mark:"fall",realName:"Ab6"},{key:6,name:"A",octave:6,step:1,realKey:81,realName:"A6"},{key:7,name:"B",octave:6,step:1,realKey:82,mark:"fall",realName:"Bb6"},{key:7,name:"B",octave:6,step:1,realKey:83,realName:"B6"},{key:1,name:"C",octave:7,step:2,realKey:84,realName:"C7"},{key:2,name:"D",octave:7,step:2,realKey:85,mark:"fall",realName:"Db7"},{key:2,name:"D",octave:7,step:2,realKey:86,realName:"D7"},{key:3,name:"D",octave:7,step:2,realKey:87,mark:"fall",realName:"Gb7"}]}},FIGNER_INSTRUMENT_REALKEY=[60,62,64,65,67,69,71,72];var hammerExports={},hammer={get exports(){return hammerExports},set exports(i){hammerExports=i}};/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; * Licensed under the MIT license */(function(i){(function(e,r,s,o){var a=["","webkit","Moz","MS","ms","o"],l=r.createElement("div"),c="function",u=Math.round,d=Math.abs,g=Date.now;function m(le,Ae,_e){return setTimeout(C(le,_e),Ae)}function y(le,Ae,_e){return Array.isArray(le)?(b(le,_e[Ae],_e),!0):!1}function b(le,Ae,_e){var Ve;if(le)if(le.forEach)le.forEach(Ae,_e);else if(le.length!==o)for(Ve=0;Ve\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",xt=e.console&&(e.console.warn||e.console.log);return xt&&xt.call(e.console,Ve,tt),le.apply(this,arguments)}}var S;typeof Object.assign!="function"?S=function(Ae){if(Ae===o||Ae===null)throw new TypeError("Cannot convert undefined or null to object");for(var _e=Object(Ae),Ve=1;Ve-1}function _(le){return le.trim().split(/\s+/g)}function V(le,Ae,_e){if(le.indexOf&&!_e)return le.indexOf(Ae);for(var Ve=0;Vejt[Ae]}):Ve=Ve.sort()),Ve}function N(le,Ae){for(var _e,Ve,Qe=Ae[0].toUpperCase()+Ae.slice(1),tt=0;tt1&&!_e.firstMultiple?_e.firstMultiple=Ce(Ae):Qe===1&&(_e.firstMultiple=!1);var tt=_e.firstInput,xt=_e.firstMultiple,Gt=xt?xt.center:tt.center,Ut=Ae.center=ye(Ve);Ae.timeStamp=g(),Ae.deltaTime=Ae.timeStamp-tt.timeStamp,Ae.angle=Ge(Gt,Ut),Ae.distance=Ye(Gt,Ut),Pe(_e,Ae),Ae.offsetDirection=Ue(Ae.deltaX,Ae.deltaY);var jt=Fe(Ae.deltaTime,Ae.deltaX,Ae.deltaY);Ae.overallVelocityX=jt.x,Ae.overallVelocityY=jt.y,Ae.overallVelocity=d(jt.x)>d(jt.y)?jt.x:jt.y,Ae.scale=xt?et(xt.pointers,Ve):1,Ae.rotation=xt?Ke(xt.pointers,Ve):0,Ae.maxPointers=_e.prevInput?Ae.pointers.length>_e.prevInput.maxPointers?Ae.pointers.length:_e.prevInput.maxPointers:Ae.pointers.length,he(_e,Ae);var Zt=le.element;R(Ae.srcEvent.target,Zt)&&(Zt=Ae.srcEvent.target),Ae.target=Zt}function Pe(le,Ae){var _e=Ae.center,Ve=le.offsetDelta||{},Qe=le.prevDelta||{},tt=le.prevInput||{};(Ae.eventType===ce||tt.eventType===Ee)&&(Qe=le.prevDelta={x:tt.deltaX||0,y:tt.deltaY||0},Ve=le.offsetDelta={x:_e.x,y:_e.y}),Ae.deltaX=Qe.x+(_e.x-Ve.x),Ae.deltaY=Qe.y+(_e.y-Ve.y)}function he(le,Ae){var _e=le.lastInterval||Ae,Ve=Ae.timeStamp-_e.timeStamp,Qe,tt,xt,Gt;if(Ae.eventType!=Te&&(Ve>J||_e.velocity===o)){var Ut=Ae.deltaX-_e.deltaX,jt=Ae.deltaY-_e.deltaY,Zt=Fe(Ve,Ut,jt);tt=Zt.x,xt=Zt.y,Qe=d(Zt.x)>d(Zt.y)?Zt.x:Zt.y,Gt=Ue(Ut,jt),le.lastInterval=Ae}else Qe=_e.velocity,tt=_e.velocityX,xt=_e.velocityY,Gt=_e.direction;Ae.velocity=Qe,Ae.velocityX=tt,Ae.velocityY=xt,Ae.direction=Gt}function Ce(le){for(var Ae=[],_e=0;_e=d(Ae)?le<0?te:ae:Ae<0?H:ve}function Ye(le,Ae,_e){_e||(_e=me);var Ve=Ae[_e[0]]-le[_e[0]],Qe=Ae[_e[1]]-le[_e[1]];return Math.sqrt(Ve*Ve+Qe*Qe)}function Ge(le,Ae,_e){_e||(_e=me);var Ve=Ae[_e[0]]-le[_e[0]],Qe=Ae[_e[1]]-le[_e[1]];return Math.atan2(Qe,Ve)*180/Math.PI}function Ke(le,Ae){return Ge(Ae[1],Ae[0],Be)+Ge(le[1],le[0],Be)}function et(le,Ae){return Ye(Ae[0],Ae[1],Be)/Ye(le[0],le[1],Be)}var Ze={mousedown:ce,mousemove:ge,mouseup:Ee},st="mousedown",vt="mousemove mouseup";function lt(){this.evEl=st,this.evWin=vt,this.pressed=!1,oe.apply(this,arguments)}P(lt,oe,{handler:function(Ae){var _e=Ze[Ae.type];_e&ce&&Ae.button===0&&(this.pressed=!0),_e&ge&&Ae.which!==1&&(_e=Ee),this.pressed&&(_e&Ee&&(this.pressed=!1),this.callback(this.manager,_e,{pointers:[Ae],changedPointers:[Ae],pointerType:ue,srcEvent:Ae}))}});var dt={pointerdown:ce,pointermove:ge,pointerup:Ee,pointercancel:Te,pointerout:Te},Tt={2:Q,3:xe,4:ue,5:W},ut="pointerdown",pt="pointermove pointerup pointercancel";e.MSPointerEvent&&!e.PointerEvent&&(ut="MSPointerDown",pt="MSPointerMove MSPointerUp MSPointerCancel");function Ct(){this.evEl=ut,this.evWin=pt,oe.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}P(Ct,oe,{handler:function(Ae){var _e=this.store,Ve=!1,Qe=Ae.type.toLowerCase().replace("ms",""),tt=dt[Qe],xt=Tt[Ae.pointerType]||Ae.pointerType,Gt=xt==Q,Ut=V(_e,Ae.pointerId,"pointerId");tt&ce&&(Ae.button===0||Gt)?Ut<0&&(_e.push(Ae),Ut=_e.length-1):tt&(Ee|Te)&&(Ve=!0),!(Ut<0)&&(_e[Ut]=Ae,this.callback(this.manager,tt,{pointers:_e,changedPointers:[Ae],pointerType:xt,srcEvent:Ae}),Ve&&_e.splice(Ut,1))}});var Vt={touchstart:ce,touchmove:ge,touchend:Ee,touchcancel:Te},Xe="touchstart",ie="touchstart touchmove touchend touchcancel";function de(){this.evTarget=Xe,this.evWin=ie,this.started=!1,oe.apply(this,arguments)}P(de,oe,{handler:function(Ae){var _e=Vt[Ae.type];if(_e===ce&&(this.started=!0),!!this.started){var Ve=ke.call(this,Ae,_e);_e&(Ee|Te)&&Ve[0].length-Ve[1].length===0&&(this.started=!1),this.callback(this.manager,_e,{pointers:Ve[0],changedPointers:Ve[1],pointerType:Q,srcEvent:Ae})}}});function ke(le,Ae){var _e=D(le.touches),Ve=D(le.changedTouches);return Ae&(Ee|Te)&&(_e=F(_e.concat(Ve),"identifier",!0)),[_e,Ve]}var Oe={touchstart:ce,touchmove:ge,touchend:Ee,touchcancel:Te},We="touchstart touchmove touchend touchcancel";function nt(){this.evTarget=We,this.targetIds={},oe.apply(this,arguments)}P(nt,oe,{handler:function(Ae){var _e=Oe[Ae.type],Ve=mt.call(this,Ae,_e);Ve&&this.callback(this.manager,_e,{pointers:Ve[0],changedPointers:Ve[1],pointerType:Q,srcEvent:Ae})}});function mt(le,Ae){var _e=D(le.touches),Ve=this.targetIds;if(Ae&(ce|ge)&&_e.length===1)return Ve[_e[0].identifier]=!0,[_e,_e];var Qe,tt,xt=D(le.changedTouches),Gt=[],Ut=this.target;if(tt=_e.filter(function(jt){return R(jt.target,Ut)}),Ae===ce)for(Qe=0;Qe-1&&Ve.splice(tt,1)};setTimeout(Qe,ht)}}function z(le){for(var Ae=le.srcEvent.clientX,_e=le.srcEvent.clientY,Ve=0;Ve-1&&this.requireFail.splice(Ae,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(le){return!!this.simultaneous[le.id]},emit:function(le){var Ae=this,_e=this.state;function Ve(Qe){Ae.manager.emit(Qe,le)}_e=At&&Ve(Ae.options.event+it(_e))},tryEmit:function(le){if(this.canEmit())return this.emit(le);this.state=ot},canEmit:function(){for(var le=0;leAe.threshold&&Qe&Ae.direction},attrTest:function(le){return kt.prototype.attrTest.call(this,le)&&(this.state&wt||!(this.state&wt)&&this.directionTest(le))},emit:function(le){this.pX=le.deltaX,this.pY=le.deltaY;var Ae=gt(le.direction);Ae&&(le.additionalEvent=this.options.event+Ae),this._super.emit.call(this,le)}});function Ht(){kt.apply(this,arguments)}P(Ht,kt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Me]},attrTest:function(le){return this._super.attrTest.call(this,le)&&(Math.abs(le.scale-1)>this.options.threshold||this.state&wt)},emit:function(le){if(le.scale!==1){var Ae=le.scale<1?"in":"out";le.additionalEvent=this.options.event+Ae}this._super.emit.call(this,le)}});function Ft(){$e.apply(this,arguments),this._timer=null,this._input=null}P(Ft,$e,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[we]},process:function(le){var Ae=this.options,_e=le.pointers.length===Ae.pointers,Ve=le.distanceAe.time;if(this._input=le,!Ve||!_e||le.eventType&(Ee|Te)&&!Qe)this.reset();else if(le.eventType&ce)this.reset(),this._timer=m(function(){this.state=Bt,this.tryEmit()},Ae.time,this);else if(le.eventType&Ee)return Bt;return ot},reset:function(){clearTimeout(this._timer)},emit:function(le){this.state===Bt&&(le&&le.eventType&Ee?this.manager.emit(this.options.event+"up",le):(this._input.timeStamp=g(),this.manager.emit(this.options.event,this._input)))}});function Kt(){kt.apply(this,arguments)}P(Kt,kt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Me]},attrTest:function(le){return this._super.attrTest.call(this,le)&&(Math.abs(le.rotation)>this.options.threshold||this.state&wt)}});function ni(){kt.apply(this,arguments)}P(ni,kt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:pe|ee,pointers:1},getTouchAction:function(){return Nt.prototype.getTouchAction.call(this)},attrTest:function(le){var Ae=this.options.direction,_e;return Ae&(pe|ee)?_e=le.overallVelocity:Ae&pe?_e=le.overallVelocityX:Ae&ee&&(_e=le.overallVelocityY),this._super.attrTest.call(this,le)&&Ae&le.offsetDirection&&le.distance>this.options.threshold&&le.maxPointers==this.options.pointers&&d(_e)>this.options.velocity&&le.eventType&Ee},emit:function(le){var Ae=gt(le.offsetDirection);Ae&&this.manager.emit(this.options.event+Ae,le),this.manager.emit(this.options.event,le)}});function ri(){$e.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}P(ri,$e,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Se]},process:function(le){var Ae=this.options,_e=le.pointers.length===Ae.pointers,Ve=le.distancecreateVNode("div",{ref:r,class:styles$4.detail},[createVNode("div",{class:styles$4.btn,onClick:()=>e("close",!0)},[createTextVNode("不再提醒")]),createVNode("span",{class:styles$4.closeIcon,onClick:()=>e("close")},null)])}}),guide_1="data:image/png;base64,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",guide_2="data:image/png;base64,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",guide_3="data:image/png;base64,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",guide_4="data:image/png;base64,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",icon_cursor_1="data:image/png;base64,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",icon_cursor_2="data:image/png;base64,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",icon_cursor_3="data:image/png;base64,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",icons={guide_1,guide_2,guide_3,guide_4,icon_cursor_1,icon_cursor_2,icon_cursor_3},FingerGuide=defineComponent({name:"DetailGuide",props:{fingeringMode:{type:String,default:""}},emits:["close"],setup(i,{emit:e}){const r=getQuery(),s=reactive({box:{},show:!0,steps:[{className:"boxItem1",classTip:"",des:`快点击下排按钮听听${state$1.fingeringInfo.code}的声音吧,按钮可以滑动哦~`,img:icons.icon_cursor_1},{className:"boxItem2",classTip:"boxTip2",des:"这里可以切换音调,查看不同音调的指法~",img:icons.icon_cursor_2},{className:"boxItem3",classTip:"boxTip3",des:"可以通过手势放大缩小乐器哦~",img:icons.icon_cursor_3}],step:0}),o=["finger-note-0","finger-note-1","finger-note-2"],a=()=>{const u=document.getElementById(o[s.step]);if(console.log(s.step,u),u){const d=u.getBoundingClientRect(),g=s.step===2?d.width:0;s.box={left:d.x-g+"px",top:d.y+"px",width:(s.step===2?0:d.width)+"px",height:(s.step===2?0:d.height)+"px"}}else l()};onMounted(()=>{a()});const l=()=>{if(s.step>=2){c();return}s.step=s.step+1,a()},c=()=>{e("close",!0)};return()=>createVNode(Popup,{zIndex:5051,teleport:"body",overlay:!1,closeOnClickOverlay:!1,class:["popup-custom",styles$4.fingerGuide],show:s.show,"onUpdate:show":u=>s.show=u},{default:()=>[createVNode("div",{class:styles$4.content,onClick:()=>l()},[createVNode("div",{class:styles$4.box,style:s.box},[s.steps.map((u,d)=>createVNode("div",{style:{display:d===s.step?"":"none"},class:styles$4[u.className]},[createVNode("img",{src:u.img},null)]))]),createVNode("div",{onClick:u=>u.stopPropagation()},[s.steps.map((u,d)=>createVNode("div",{style:{display:d===s.step?"":"none"},class:[styles$4.item,i.fingeringMode!=="scaleMode"&&styles$4.fingeringMode,["Woodwind","Tenor Recorder","BaroqueRecorder"].includes(r.code)&&styles$4.itemScale,styles$4[u.classTip]]},[createVNode("div",{class:styles$4.icon},[createVNode("img",{src:icons.guide_3},null)]),createVNode(Button$1,{class:styles$4.btn,round:!0,type:"primary",onClick:()=>l()},{default:()=>[createTextVNode("我知道了")]}),createVNode("div",{class:styles$4.title},[createVNode("img",{src:icons.guide_4},null),createVNode("div",{class:styles$4.des,style:{fontSize:d===2?"0.34667rem":""}},[u.des])])]))])])]})}}),GuideIndex=defineComponent({name:"guide-index",props:{list:{type:Array,default:""},showGuide:{type:Boolean,default:!0},fingeringMode:{type:String,default:""}},setup(i){const e=getQuery(),r="detailGuideKey",s="fingerGuideKey",o=reactive({list:i.list,detailShow:!1,fingerShow:!1}),a=()=>{if(!(i.showGuide&&!e.showGuide)){if(o.list.includes("detail")){if(localStorage.getItem(r))return;setTimeout(()=>{o.detailShow=!0},300)}if(o.list.includes("finger")){if(localStorage.getItem(s))return;o.fingerShow=!0}}};return onMounted(()=>{a()}),()=>createVNode(Fragment,null,[o.detailShow&&createVNode(DetailGuide,{onClose:l=>{l&&localStorage.setItem(r,"1"),o.detailShow=!1}},null),o.fingerShow&&createVNode(FingerGuide,{fingeringMode:i.fingeringMode,onClose:l=>{l&&localStorage.setItem(s,"1"),o.fingerShow=!1}},null)])}}),icon_loading_img="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAc4AAACsCAMAAADFc7xnAAAC7lBMVEUAAAD///////////////////////8A0sX/////////////////////////////////////////lYb/o4YA08v/////////////yUD///////////8C2dAAzML/qIUA1Mr///////8BwrX/1QD/1AD/1QD///8B1cz/1QD///////8B0MYByb7/1QD/1QD///////8BzsP///8Bxbr/////kof/////1gAA1c3/1AD/1AAByb7/////1AD/15P///8B08kBxroD4Nn/1QD/1QD/lob/////1QD/mIYBy78Axrv///8B3dT/iIcC2ND/q4X/1QAByb4B0ccC39f/qIUC187/////1QD/ooUD3NQByL3/iocC2dACzcMCzMH/1QD///8CzsP///8C29T/1QD/oob/1gD/nIYC184CzcP/////mof/1wAA0ssA0sj/l4P/0wD/////lYb/noYBzcP/////nob/iYb/////rYX/////j4b/1pP/nob/oIb/////k4b/qoX/1QACyr//kIcC29P/1QD/15UD08n/1QAD4NgD1s4E39YBzcT/1QD/nYb/1AD/1wD/1pP/o4YC39j/1pMC0cgC08oBx7z/q4b/1AAC2M//mof/iof/15P/kIf/rYb/1pT/15T/rIYC183/q4b/1QD/////o4X/qYX/1pT/////////sIX/y5D/1wD/2Zj/jIf/h4cD4dr/q4X/r4X/2JMC0MX/////15P/1QD/15H/////1AD/1pMC2tEC29P/j4YC2ND/lIb/koYByL0C184By8EC1cwBwrYC3tf/jYb/q4X/kYb/iob/iIYC3dUBxLgC08r/loa18OwBzcP/rYUByr//poUBxrr/jIYC0cgBz8X/qoX/qYX/qIX/o4X/n4X/3duw7usC4NlC2dEfz8b/r4X/nYX/m4UPz8X/l5L/mYWp7ekD4do12NA00sr/pJ7/mIb/qqX/29lZ3db/2Nb/2dgMx7z/tK80mDA7AAAAvHRSTlMAP88qHAkjDTcnBfQ9Oy0TEPosFgTXs60H56aggy8kHhgN/Pnu2ruzFO3e09HAtJN4bWRjXldJSBQK/ffi4uDLv76oqJyJf39yOzczM/z18/Pr593a2dHQy8GwoJ+fmJOK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",noteImg=""+new URL("../png/noteImg-72c69ed5.png",import.meta.url).href,changeSubject="_changeSubject_11ws8_1",changeSubjectContainer="_changeSubjectContainer_11ws8_4",title$1="_title_11ws8_13",subjectContainer="_subjectContainer_11ws8_30",subjectItem="_subjectItem_11ws8_36",arrow="_arrow_11ws8_51",active="_active_11ws8_63",btnGroups="_btnGroups_11ws8_73",btn="_btn_11ws8_73",resetBtn="_resetBtn_11ws8_86",confirmBtn="_confirmBtn_11ws8_90",styles$3={changeSubject,changeSubjectContainer,title:title$1,subjectContainer,subjectItem,arrow,active,btnGroups,btn,resetBtn,confirmBtn},ChangeSubject=defineComponent({name:"change-subject",props:{subjectList:{type:Array,default:()=>[]},subject:{type:String,default:""}},emits:["close","confirm"],setup(i,{emit:e}){const r=reactive({subjectValue:null,instrumentCode:null,selectList:[]});watch(()=>i.subject,()=>{s()});const s=()=>{let o={};i.subjectList.forEach(a=>{Array.isArray(a.children)&&a.children.forEach(l=>{l.value===i.subject&&(o={...l,parentId:a.id},r.instrumentCode=l.value,r.subjectValue=a.id,r.selectList=a.children||[])})}),o||i.subjectList.forEach(a=>{a.children&&a.children.length>0&&a.children.forEach(l=>{l.value===i.subject&&(r.instrumentCode=l.value,r.subjectValue=a.id,r.selectList=a.children)})})};return onMounted(()=>{console.log(i.subjectList,"subjectList",i.subject),s()}),()=>createVNode("div",{class:styles$3.changeSubject},[createVNode("div",{class:[styles$3.changeSubjectContainer,"changeSubjectContainer_pc"]},[createVNode("div",{class:styles$3.title},[createTextVNode("声部")]),createVNode("div",{class:styles$3.subjectContainer},[i.subjectList.map(o=>createVNode("div",{class:[styles$3.subjectItem,o.children.length>0&&styles$3.arrow,o.id===r.subjectValue&&styles$3.active],onClick:()=>{o.children.length<=0&&(r.instrumentCode=""),r.subjectValue=o.id,r.selectList=o.children,r.selectList.length>0&&(r.instrumentCode=r.selectList[0].value)}},[o.text]))]),r.selectList.length>0&&createVNode(Fragment,null,[createVNode("div",{class:styles$3.title},[createTextVNode("乐器")]),createVNode("div",{class:styles$3.subjectContainer},[r.selectList.map(o=>createVNode("div",{class:[styles$3.subjectItem,o.value===r.instrumentCode&&styles$3.active],onClick:()=>{r.instrumentCode=o.value}},[o.text]))])])]),createVNode("div",{class:[styles$3.btnGroups,"btnGroups_pc"]},[createVNode("div",{class:[styles$3.btn,styles$3.resetBtn],onClick:()=>{e("close"),s()}},null),createVNode("div",{class:[styles$3.btn,styles$3.confirmBtn],onClick:()=>{if(r.selectList.length>0&&!r.instrumentCode){showToast("请选择乐器");return}e("confirm",r.instrumentCode||r.subjectValue)}},null)])])}});function useDrag(i,e,r,s){const o=ref({top:-1,left:-1}),a=s+e;watch(r,()=>{r.value?(c(),window.addEventListener("resize",u),nextTick(()=>{const d=document.querySelector(`.${e}`);d&&i.map(g=>{const m=document.querySelector(`.${g}`);m&&(m.style.cursor="move",drag(m,d,o))})})):(window.removeEventListener("resize",u),setCachePos(a,o.value))});const l=computed(()=>o.value.left===-1&&o.value.top===-1?{}:{position:"fixed",left:`${o.value.left}px`,top:`${o.value.top}px`,transform:"initial",transformOrigin:"initial",margin:"initial",transition:"initial"});function c(){const d=getCachePos(a);d&&(o.value=d,nextTick(()=>{u()}))}function u(){if(o.value.left===-1&&o.value.top===-1)return;const d=document.querySelector(`.${e}`);if(!d)return;const g=d.getBoundingClientRect(),m=document.documentElement.clientWidth,y=document.documentElement.clientHeight,{top:b,left:A}=o.value,S=m-g.width,E=y-g.height;let x=A,P=b;const C=0,T=0;x=xS?S:x,P=PE?E:P,o.value={top:P,left:x}}return{pos:o,styleDrag:l}}function drag(i,e,r){function s(o){const a=e.getBoundingClientRect(),l=o.clientX,c=o.clientY,u=document.documentElement.clientWidth,d=document.documentElement.clientHeight,g=u-a.width,m=d-a.height,y=0,b=0;function A(E){let x=a.left+(E.clientX-l),P=a.top+(E.clientY-c);x=xg?g:x,P=Pm?m:P,r.value={top:P,left:x}}function S(){document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",S)}document.addEventListener("mousemove",A),document.addEventListener("mouseup",S)}i.addEventListener("mousedown",s)}const localStorageName="dragCachePos";function getCachePos(i){const e=localStorage.getItem(localStorageName);if(e)try{return JSON.parse(e)[i]}catch(r){return null}return null}function setCachePos(i,e){const r=localStorage.getItem(localStorageName);let s={};if(r)try{s=JSON.parse(r)}catch(o){}s[i]=e,localStorage.setItem(localStorageName,JSON.stringify(s))}const dragbomBox="_dragbomBox_19ydm_1",dragBom="_dragBom_19ydm_9",box="_box_19ydm_17",right="_right_19ydm_23",guide="_guide_19ydm_27",guideBg="_guideBg_19ydm_44",guideDone="_guideDone_19ydm_52",guideTop="_guideTop_19ydm_63",guideLeft="_guideLeft_19ydm_71",guideRight="_guideRight_19ydm_80",styles$2={dragbomBox,dragBom,box,right,guide,guideBg,guideDone,guideTop,guideLeft,guideRight},Dragbom=defineComponent({name:"dragBom",emits:["guideDone"],props:{showGuide:{type:Boolean,default:!1}},setup(i,{emit:e}){const r=reactive({guidePos:"bottom"}),s=()=>{var g,m,y;const o=document.documentElement.clientHeight||document.body.clientHeight;document.documentElement.clientWidth||document.body.clientWidth;const a=((g=document.querySelector(".bom_guide"))==null?void 0:g.clientHeight)||0,l=((m=document.querySelector(".bom_guide"))==null?void 0:m.clientWidth)||0,c=(y=document.querySelector(".bom_drag"))==null?void 0:y.getBoundingClientRect(),u=(c==null?void 0:c.top)||0,d=(c==null?void 0:c.left)||0;o-u>a?r.guidePos="bottom":r.guidePos=d>l?"left":"right"};return onMounted(()=>{setTimeout(()=>{s()},0)}),()=>createVNode(Fragment,null,[createVNode("div",{class:[styles$2.dragbomBox,"dragbomBox"]},[createVNode("div",{class:[styles$2.dragBom,"bom_drag"]},[createVNode("div",{class:styles$2.box},null),createVNode("div",{class:[styles$2.box,styles$2.right]},null)])]),i.showGuide&&createVNode("div",{class:[styles$2.guide,r.guidePos==="left"&&styles$2.guideLeft,r.guidePos==="right"&&styles$2.guideRight,"bom_guide"],onClick:()=>e("guideDone")},[createVNode("div",{class:styles$2.guideBg},null),createVNode("div",{class:styles$2.guideDone,onClick:o=>{o.stopPropagation(),e("guideDone")}},null)])])}});function useDragGuidance(){const i=ref(!1);let e={};r();async function r(){var o;try{const a=await getGuidance({guideTag:"guideInfo"});if(a.code===200)if(a.data){const l=JSON.parse((o=a.data)==null?void 0:o.guideValue)||null;l&&(e=l,i.value=!l.teacherDrag)}else i.value=!0}catch(a){console.log(a)}}function s(){try{setGuidance({guideTag:"guideInfo",guideValue:JSON.stringify(Object.assign(e,{teacherDrag:!0}))}),i.value=!1}catch(o){console.log(o)}}return{guidanceShow:i,setGuidanceShow:s}}function _isSlot(i){return typeof i=="function"||Object.prototype.toString.call(i)==="[object Object]"&&!isVNode(i)}const ViewFigner=defineComponent({name:"viewFigner",emits:["close"],props:{show:{type:Boolean,default:!0},isComponent:{type:Boolean,default:!1},subject:{type:String,default:""}},setup(i,{emit:e}){var Be;const r=getQuery(),s=browser(),o=mappingVoicePart(r.code,"INSTRUMENT"),a=i.isComponent?i.subject||"pan-flute":o||"pan-flute",l=reactive({linkSource:r.linkSource,loading:!0,subject:a,realKey:0,notes:[],tones:[],activeTone:{},popupActiveTone:{},activeToneName:"",soundFonts:{},viewIndex:0,viewTotal:1,noteAudio:null,transform:{scale:1,x:0,y:0,startScale:1,startX:0,startY:0,transition:""},tipShow:!1,tips:[],tnoteShow:!1,loadingSoundFonts:!0,loadingSoundProgress:0,changeSubjectShow:!1,huaweiPad:!!((Be=navigator==null?void 0:navigator.userAgent)!=null&&Be.includes("UAWEIVRD-W09")),paddingTop:"",paddingLeft:"",subjects:[],fingeringModeList:[{text:"指法模式",value:"fingeringMode",icon:icons$1.icon_click},{text:"听音模式",value:"listenMode",icon:icons$1.icon_listen},{text:"音阶模式",value:"scaleMode",icon:icons$1.icon_mode}],fingeringMode:r.type||"scaleMode",noteType:"all",loadingDom:!1,loadingImg:!1}),c=reactive({relationshipIndex:0,subject:null,fingeringInfo:subjectFingering(l.subject)});i.isComponent||(state$1.fingeringInfo=c.fingeringInfo);const u=async oe=>{const be=await isSpecialShapedScreen();if(be!=null&&be.content){console.log("🚀 ~ screenData:",be.content);const{isSpecialShapedScreen:Ie,notchHeight:Re}=be.content;Ie&&(oe==="top"&&(l.paddingTop="25px"),oe==="left"&&(l.paddingLeft="25px"))}},d=()=>{c.fingeringInfo.orientation===1&&u("top"),c.fingeringInfo.orientation===0&&u("left")},g=()=>{const oe=FIGNER_INSTRUMENT_DATA[l.subject];oe&&(l.tones=oe.tones||[],l.tones.length&&(l.activeTone=l.tones[0],l.popupActiveTone=l.tones[0]),l.tips=oe.tips||[],m(),setTimeout(()=>{l.loading=!1},600))},m=()=>{const oe=FIGNER_INSTRUMENT_DATA[l.subject];if(oe){const be=oe[`list${l.activeTone.realName||""}`],Ie=[];be.forEach(Re=>{Re.steps=new Array(Math.abs(Re.step)).fill(1),FIGNER_INSTRUMENT_REALKEY.includes(Re.realKey)&&Ie.push(Re)}),l.notes=l.noteType==="#c"?Ie:be}},y=async()=>{const oe=l.subject+(l.viewIndex===0?"":l.viewIndex);console.log("🚀 ~ subject:模式",oe,l.viewIndex,l.fingeringMode),c.subject=await getFingeringConfig(oe)},b=oe=>new Promise((be,Ie)=>{const Re=new howler.Howl({src:oe,loop:!0,onload:()=>{be(Re)},onloaderror:()=>{Ie(new Error("加载音频失败"))}})}),A=async()=>{const oe=/(192|localhost)/.test(location.origin)?"/":location.pathname;l.loadingSoundFonts=!0;try{l.loadingSoundProgress=0;for(let be=0;be{if(oe.stopPropagation(),!O.listenLock&&!O.showAnswerLoading){if(l.loadingImg=!0,l.fingeringMode==="scaleMode"){["pan-flute","ocarina","whistling"].includes(l.subject)?l.viewIndex=1:l.viewIndex=0;const be={"pan-flute":2,ocarina:2,whistling:2,piccolo:2,"hulusi-flute":2,"baroque-recorder":2};l.viewTotal=be[l.subject]||1,l.fingeringMode="listenMode"}else l.fingeringMode==="listenMode"?l.fingeringMode="fingeringMode":l.fingeringMode==="fingeringMode"&&(l.fingeringMode="scaleMode",l.viewIndex=0,l.noteType="all");l.tipShow=!1,W(!0,0),setTimeout(()=>{E(!1)},100)}},E=async(oe=!0)=>{l.loadingDom=!0,g(),l.fingeringMode==="fingeringMode"?l.subject==="pan-flute"?l.viewIndex=3:["pan-flute","ocarina","melodica","whistling"].includes(l.subject)&&(l.viewIndex=1):["pan-flute","ocarina","whistling"].includes(l.subject)&&(l.viewIndex=1);const be={"pan-flute":2,ocarina:2,whistling:2,piccolo:2,"hulusi-flute":2,"baroque-recorder":2};l.viewTotal=be[l.subject]||1,y(),d(),oe&&await A(),l.loadingDom=!1,l.loadingImg=!1},x=async()=>{try{const be=(await api_subjectList({enableFlag:!0,delFlag:0,page:1,rows:999})).data||[],Ie=[];be.forEach(Re=>{const Pe={text:Re.name,value:"",id:Re.id,children:[]};Array.isArray(Re.instruments)&&Re.instruments.forEach(he=>{Pe.children.push({text:he.name,id:he.id,value:mappingVoicePart(he.code,"INSTRUMENT")})}),Ie.push(Pe)}),console.log(l.subject,"data.subject"),l.subjects=Ie}catch(oe){console.log(oe,"e")}};onBeforeMount(async()=>{var oe;browser().isApp?state$1.platform="APP":state$1.platform=((oe=r.platform)==null?void 0:oe.toLocaleUpperCase())||"",state$1.platform===IPlatform.PC&&(document.title="听音练习"),await x(),E()});const P=(oe,be=!0)=>{if(l.noteAudio&&(l.noteAudio.stop(),l.realKey===oe.realKey)){l.realKey=0,l.noteAudio=null;return}be&&(l.realKey=oe.realKey),console.log("key:",oe.realKey,l.soundFonts),l.noteAudio=l.soundFonts[oe.realKey],l.noteAudio&&l.noteAudio.play()},C=()=>{l.noteAudio&&(l.noteAudio.stop(),l.realKey=0,l.noteAudio=null)},T=()=>{if(C(),i.isComponent){e("close");return}else if(state$1.platform===IPlatform.PC)if(console.log(1,r),r.matchMedia==1){window.parent.postMessage({api:"iframe_exit"},"*");return}else{window.close();return}if(!storeData.isApp){window.close();return}api_back()},k=()=>{l.subject==="pan-flute"&&(l.transform.scale=.9,l.transform.startScale=.9)};onMounted(()=>{I(),api_setStatusBarVisibility()});const I=()=>{const oe=document.getElementById("fingeringContainer");k();const be=new Hammer.Manager(oe);be.add(new Hammer.Pan({threshold:0,pointers:0})),be.add(new Hammer.Pinch({threshold:0})).recognizeWith([be.get("pan")]),be.on("panstart pinchstart",function(Ie){l.transform.transition=""}),be.on("panmove pinchmove",function(Ie){Ie.type==="pinchmove"&&(l.transform.scale=Ie.scale*l.transform.startScale,l.transform.x=l.transform.startX+Ie.deltaX,l.transform.y=l.transform.startY+Ie.deltaY),Ie.type==="panmove"&&(l.transform.x=l.transform.startX+Ie.deltaX,l.transform.y=l.transform.startY+Ie.deltaY)}),be.on("hammer.input",function(Ie){Ie.isFinal&&(l.transform.startScale=l.transform.scale,l.transform.startX=l.transform.x,l.transform.startY=l.transform.y)})},M=()=>{l.transform.transition="all 0.3s",nextTick(()=>{l.transform.scale=l.subject==="pan-flute"?.9:1,l.transform.x=0,l.transform.y=0,l.transform.startScale=l.subject==="pan-flute"?.9:1,l.transform.startX=0,l.transform.startY=0})},R=computed(()=>{const oe=l.transform;let be=1;return l.subject==="pan-flute"&&(be=.9),oe.scale!==be||oe.x!==0||oe.y!==0||oe.startScale!==be||oe.startX!==0||oe.startY!==0}),B=usePageVisibility();watch(()=>B.value,oe=>{oe==="hidden"&&(clearTimeout(O.timer),O.listenLock=!1,O.listenTipsStatus=!1,O.exampleAnser={},W(!0,0),C(),q())});const _=oe=>{var be,Ie,Re;((be=oe==null?void 0:oe.data)==null?void 0:be.api)==="setPlayState"&&(clearTimeout(O.timer),O.listenLock=!1,O.listenTipsStatus=!1,O.exampleAnser={},W(!0,0),C(),q(),(Re=(Ie=oe==null?void 0:oe.data)==null?void 0:Ie.data)!=null&&Re.code&&(l.subject=o,l.viewIndex=0,l.tipShow=!1,l.loadingDom=!0,c.fingeringInfo=subjectFingering(l.subject),l.activeTone={},l.popupActiveTone={},M(),setTimeout(()=>{E()},100)))},V=ref(),D=oe=>{const be=V.value.offsetWidth/2;V.value.scrollBy({left:oe==="left"?-be:be,behavior:"smooth"})},F=reactive({gamut:!1,gamutTimer:null,answer:!1,action:!1}),N=()=>{if(F.action){if(O.listenLock)return;O.resetAction=!0,W(!0,0)}F.gamut=!1,q(),l.noteType==="all"?l.noteType="#c":l.noteType="all",g(),setTimeout(()=>{O.resetAction=!1},2e3)},K=async()=>{if(O.resetAction=!1,F.gamut)F.gamut=!1,q();else{V.value.scroll({left:0,top:0,behavior:"smooth"}),F.gamut=!0;const oe=l.notes;let be=0;for(let Ie=0;Ie=V.value.offsetWidth+V.value.offsetWidth/2*be-Re.offsetWidth&&(D("right"),be++),await G(oe[Ie])}setTimeout(()=>{F.gamut=!1,q()},667)}},G=(oe,be)=>new Promise(Ie=>{F.gamutTimer=setTimeout(()=>{(F.gamut||be)&&P(oe),Ie(oe)},667)}),q=()=>{clearTimeout(F.gamutTimer),l.noteAudio&&(l.noteAudio.stop(),l.realKey=0,l.noteAudio=null)},O=reactive({exampleAnser:{},standardAnswer:{},showAnswerLoading:!1,listenModeStatus:!1,listenLock:!1,listenTipsStatus:!1,resetAction:!1,userAnswerStatus:0,userAnswer:{},timer:null}),U=async()=>{O.resetAction=!1,!O.listenLock&&(O.showAnswerLoading||(F.action=!0,F.answer=!0,q(),l.fingeringMode==="fingeringMode"?Y():l.fingeringMode==="listenMode"&&(O.listenModeStatus?(O.listenLock=!0,await $(O.standardAnswer,1500,!1),q(),O.listenLock=!1):Q())))},$=(oe,be=1500,Ie=!0)=>new Promise(Re=>{P(oe,Ie),O.timer=setTimeout(()=>{Re(oe)},be)}),Y=()=>{const oe=Math.floor(Math.random()*l.notes.length);O.standardAnswer=l.notes[oe],l.realKey=l.notes[oe].realKey,!O.listenModeStatus&&(O.listenModeStatus=!0,O.listenLock=!0,O.listenTipsStatus=!0,O.timer=setTimeout(()=>{O.listenTipsStatus=!1,O.listenLock=!1},2e3))},Q=async()=>{O.listenModeStatus=!0,O.listenLock=!0,O.listenTipsStatus=!0;let oe=l.notes.findIndex(be=>be.realKey===67);O.exampleAnser=l.notes[oe],l.realKey=O.exampleAnser.realKey,ue(O.exampleAnser.realKey),await $(O.exampleAnser),l.realKey=0,O.exampleAnser={},q(),O.timer=setTimeout(async()=>{oe=Math.floor(Math.random()*l.notes.length),O.standardAnswer=l.notes[oe],await $(l.notes[oe],1500,!1),q(),O.listenLock=!1,O.listenTipsStatus=!1},1e3)},xe=async()=>{O.listenLock||(O.showAnswerLoading=!0,ue(O.standardAnswer.realKey),await $(O.standardAnswer),W(!0,0))},ue=oe=>{const be=oe||l.realKey,Ie=l.notes.findIndex(Pe=>Pe.realKey===be),Re=document.querySelectorAll(".note-class")[Ie];if(Re){const Pe=Re.offsetWidth,he=V.value.offsetWidth,Ce=Math.max((Re==null?void 0:Re.offsetLeft)-Pe,0);V.value.scroll({left:Math.max(Ce-he/2,0),top:0,behavior:"smooth"})}},W=(oe=!0,be=2e3)=>{setTimeout(()=>{q(),oe?(O.standardAnswer={},O.showAnswerLoading=!1,O.userAnswerStatus=0,O.userAnswer={},O.listenModeStatus=!1,F.action=!1,F.answer=!1,F.gamut=!1,l.realKey=0):(O.userAnswerStatus=0,O.userAnswer={})},be)},J=oe=>{oe.preventDefault(),oe.deltaY>0?(l.transform.scale-=.1,l.transform.scale<=.5&&(l.transform.scale=.5)):(l.transform.scale+=.1,l.transform.scale>=2&&(l.transform.scale=2))};onMounted(()=>{window.addEventListener("message",_);const oe=document.getElementById("fingeringContainer");oe==null||oe.addEventListener("wheel",J)}),onUnmounted(()=>{window.removeEventListener("message",_);const oe=document.getElementById("fingeringContainer");oe==null||oe.removeEventListener("wheel",J),document.title="Ai学练"});const ce=computed(()=>state$1.platform===IPlatform.PC||r.modelType?{paddingTop:"1.3rem",paddingBottom:""}:l.fingeringMode==="scaleMode"?l.subject==="hulusi-flute"?{paddingTop:"1.3rem",paddingBottom:".5rem"}:l.subject==="piccolo"||l.subject==="baroque-recorder"?{paddingTop:"1.3rem",paddingBottom:".5rem"}:l.subject==="pan-flute"?{paddingTop:"1.3rem",paddingBottom:"0"}:l.subject==="ocarina"||l.subject==="whistling"?{paddingTop:"1.3rem",paddingBottom:"0"}:l.subject==="melodica"?{paddingTop:"1.8rem",paddingBottom:"0.2rem"}:{paddingTop:"",paddingBottom:""}:l.subject==="hulusi-flute"?{paddingTop:"1.3rem",paddingBottom:"0rem"}:l.subject==="piccolo"||l.subject==="baroque-recorder"?{paddingTop:"1.3rem",paddingBottom:".5rem"}:l.subject==="pan-flute"?{paddingTop:"1.3rem",paddingBottom:"0"}:l.subject==="ocarina"||l.subject==="whistling"?{paddingTop:"1.3rem",paddingBottom:"0"}:l.subject==="melodica"?{paddingTop:"1.8rem",paddingBottom:"0.2rem"}:{paddingTop:"",paddingBottom:""}),ge=computed(()=>l.fingeringMode==="fingeringMode"?F.action?"换一换":"开始练习":l.fingeringMode==="listenMode"&&F.action?"再听一遍":"开始听音"),Ee=computed(()=>{let oe="",be=icons$1.icon_mode;return l.fingeringModeList.forEach(Ie=>{Ie.value===l.fingeringMode&&(oe=Ie.text,be=Ie.icon)}),{text:oe,icon:be}}),Te=computed(()=>["hulusi-flute","piccolo","baroque-recorder"].includes(l.subject)?1:0),De=oe=>{if(l.realKey===oe.realKey&&!F.action)return{icon:icons$1.icon_btn_ylow,status:!1};if(O.exampleAnser.realKey===oe.realKey)return{icon:icons$1.icon_btn_ylow,status:!1};if(O.standardAnswer.realKey===oe.realKey){if(!F.action)return{icon:icons$1.icon_btn_ylow,status:!1};if(O.showAnswerLoading)return{icon:icons$1.icon_btn_green,status:!0};if(O.userAnswerStatus===1)return{icon:icons$1.icon_btn_green,status:!0}}else if(O.userAnswerStatus===2&&O.userAnswer.realKey===oe.realKey)return{icon:icons$1.icon_btn_red,status:!0};return{icon:icons$1.icon_btn_blue,status:!0}},te=ref("1"),ae=[{name:"音阶",value:"1"},{name:"功能",value:"2"}],{guidanceShow:H,setGuidanceShow:ve}=useDragGuidance();let pe,ee;r.platform==="pc"&&(ee="changeSubjectShowBoxClass_drag",pe=useDrag([`${ee} .dragTopBox`,`${ee} .dragbomBox`],ee,toRef(l,"changeSubjectShow"),storeData.user.id));let ne,me;return r.platform==="pc"&&(me="tnoteShowBoxClass_drag",ne=useDrag([`${me} .dragTopBox`,`${me} .dragbomBox`],me,toRef(l,"tnoteShow"),storeData.user.id)),()=>{var he,Ce,ye,Fe,Ue,Ye;let oe,be;const Ie=((Ce=(he=c.subject)==null?void 0:he.relationship)==null?void 0:Ce[l.realKey])||[],Re=Array.isArray(Ie[1])?Ie[c.relationshipIndex]:Ie,Pe=Array.isArray(Ie[1]);return createVNode("div",{class:[styles$5.fingerBox,state$1.platform!==IPlatform.PC&&!r.modelType&&c.fingeringInfo.orientation===1?styles$5.fingerBottom:styles$5.fingerRight,l.linkSource==="class"?styles$5.linkSourceClass:""],onClick:()=>{l.linkSource==="class"&&window.parent.postMessage({api:"clickViewFigner"},"*")}},[r.platform!=="pc"&&createVNode("div",{class:styles$5.head,style:{paddingTop:l.paddingTop&&!browser().ios?l.paddingTop:"",paddingLeft:l.paddingLeft&&!browser().ios?l.paddingLeft:""}},[createVNode("div",{class:styles$5.left},[createVNode("button",{class:[styles$5.backBtn],onClick:()=>T()},[createVNode("img",{src:icons$1.icon_back},null)]),createVNode("div",{class:[styles$5.baseBtn,styles$5.changeInstrumentBtn],onClick:Ge=>{Ge.stopPropagation(),!F.gamut&&(O.listenLock||(l.changeSubjectShow=!0))}},[createVNode("img",{src:icons$1.icon_change_instrument},null),createVNode("span",null,[createTextVNode("切换乐器")])]),createVNode("div",{class:styles$5.baseBtn,onClick:S},[createVNode("img",{src:Ee.value.icon},null),createVNode("span",null,[Ee.value.text])])])]),createVNode("div",{class:styles$5.fingerContent,style:{paddingTop:l.paddingTop?l.paddingTop:"",paddingLeft:l.paddingLeft?l.paddingLeft:""}},[createVNode("div",{class:styles$5.wrapFinger},[createVNode("div",{id:"fingeringContainer",class:[styles$5.boxFinger,r.platform==="pc"?styles$5.pcBoxFinger:""],style:{paddingTop:ce.value.paddingTop,paddingBottom:ce.value.paddingBottom}},[createVNode("div",{style:{transform:`translate3d(${l.transform.x}px,${l.transform.y}px,0px) scale(${l.transform.scale})`,transition:l.transform.transition},class:[styles$5.fingeringContainer]},[createVNode("div",{class:styles$5.imgs},[!l.loadingImg&&createVNode("img",{src:l.fingeringMode==="scaleMode"?(Fe=(ye=c.subject)==null?void 0:ye.json)==null?void 0:Fe.full:(Ye=(Ue=c.subject)==null?void 0:Ue.json)==null?void 0:Ye.full1},null),Re.map((Ge,Ke)=>{var Ze,st;const et=typeof Ge=="string"?Ge.replace("active-",""):String(Ge);return createVNode("img",{"data-index":et,src:(st=(Ze=c.subject)==null?void 0:Ze.json)==null?void 0:st[et]},null)}),createVNode("div",{style:{left:l.viewIndex==2?"0":"64%"},class:[styles$5.tizhi,Pe&&styles$5.canDisplay],onClick:()=>c.relationshipIndex=c.relationshipIndex===0?1:0},[createTextVNode("替指")]),createVNode("div",{id:"finger-note-2",style:{left:"50%",transform:"translateX(-50%)"},class:styles$5.tizhi,onClick:()=>c.relationshipIndex=c.relationshipIndex===0?1:0},null)])])]),r.platform==="pc"?createVNode("div",{class:styles$5.userTab},[createVNode(Tabs,{active:te.value,"onUpdate:active":Ge=>te.value=Ge,class:styles$5.userTabBox},_isSlot(oe=ae.map(Ge=>createVNode(Tab,{title:Ge.name,name:Ge.value},{default:()=>[Ge.value==="1"?createVNode(Fragment,null,[createVNode("div",{class:styles$5.notes,style:{paddingLeft:l.paddingLeft?l.paddingLeft:""}},[O.listenTipsStatus&&createVNode("div",{class:[styles$5.tipsT,l.fingeringMode==="fingeringMode"?styles$5.playTips2:styles$5.playTips]},null),O.userAnswerStatus===1&&createVNode("div",{class:[styles$5.tipsT,styles$5.playSuccess]},null),O.userAnswerStatus===2&&createVNode("div",{class:[styles$5.tipsT,styles$5.playError]},null),O.resetAction&&createVNode("div",{class:[styles$5.tipsT,styles$5.playTips5]},null),createVNode("div",{class:[styles$5.backBtn,styles$5.changeMusBtn],onClick:()=>T()},[createVNode("span",null,[createTextVNode("返回")])]),createVNode("div",{class:styles$5.changeMusBtn,onClick:S},[createVNode("span",null,[Ee.value.text])]),createVNode("div",{class:[styles$5.noteContent,l.fingeringMode!=="scaleMode"&&Te.value===0&&styles$5.noteContentOther,s.ios?"":styles$5.noteContentWrap,l.huaweiPad&&styles$5.huaweiPad],onClick:Ke=>{Ke.stopPropagation()}},[(l.noteType!=="#c"&&(Te.value===0||Te.value===1&&state$1.platform===IPlatform.PC)||Te.value===1&&state$1.platform===IPlatform.APP)&&createVNode(Button$1,{class:styles$5.noteBtn,onClick:Ke=>{Ke.stopPropagation(),D("left")}},{default:()=>[createVNode(Icon$1,{name:"arrow-left"},null)]}),l.fingeringMode!=="scaleMode"&&createVNode("div",{draggable:!1,class:styles$5.note,onClick:N},[createVNode("img",{draggable:!1,src:l.noteType==="all"?icons$1.icon_btn_orange:icons$1.icon_btn_orange2},null)]),!!l.tones.length&&l.fingeringMode==="scaleMode"&&createVNode(Fragment,null,[c.fingeringInfo.name=="hulusi-flute"?createVNode("div",{id:"finger-note-1",class:[styles$5.note,styles$5.btnGrToggleBtn],onClick:()=>l.tnoteShow=!0},[createVNode("img",{draggable:!1,src:noteImg},null),createVNode("div",{class:styles$5.nameBox},[createVNode("div",{class:styles$5.name},[createTextVNode("全按作")]),createVNode("div",{class:[styles$5.noteKey,styles$5.noteKeyBtn]},[l.activeTone.step>0?createVNode("span",{class:styles$5.dot},null):null,createVNode("div",{class:styles$5.noteName},[createVNode("sup",null,[l.activeTone.mark&&(l.activeTone.mark==="rise"?"#":"b")]),l.activeTone.key]),l.activeTone.step<0?createVNode("span",{class:[styles$5.dot,styles$5.botDot]},null):null])])]):createVNode("div",{id:"finger-note-1",class:[styles$5.note,styles$5.btnGrToggleBtn],onClick:()=>l.tnoteShow=!0},[createVNode("img",{draggable:!1,src:noteImg},null),createVNode("div",null,[createVNode("div",{class:styles$5.name},[createVNode("div",null,[createVNode("sup",null,[l.activeTone.mark&&(l.activeTone.mark==="rise"?"#":"b")]),l.activeTone.name]),createTextVNode("调")])])])]),createVNode("div",{class:styles$5.lastNoteContent},[createVNode("div",{ref:V,class:styles$5.noteBox},[l.notes.map((Ke,et)=>{const Ze=new Array(Math.abs(Ke.step)).fill(1);return createVNode("div",{id:et==0?"finger-note-0":"",draggable:!1,class:[styles$5.note,"note-class"],key:Ke.realKey,onClick:async()=>{if(!F.gamut&&!O.listenLock&&!O.showAnswerLoading)if(F.action){O.userAnswer=Ke;const st=Ke.realKey===O.standardAnswer.realKey?1:2;O.userAnswerStatus=st,O.listenLock=!0,l.realKey=Ke.realKey,await $(Ke,1e3),W(st===1,0),l.realKey=0,l.fingeringMode==="fingeringMode"&&st===2&&setTimeout(()=>{l.realKey=O.standardAnswer.realKey},10),O.listenLock=!1}else P(Ke)}},[createVNode("img",{draggable:!1,src:De(Ke).icon},null),F.action&&(O.showAnswerLoading&&O.standardAnswer.realKey===Ke.realKey||O.userAnswerStatus===1&&O.userAnswer.realKey===Ke.realKey)?createVNode("span",{class:styles$5.showAnswer},null):"",F.action&&O.userAnswerStatus===2&&O.userAnswer.realKey===Ke.realKey?createVNode("span",{class:[styles$5.showAnswer,styles$5.errorAnswer]},null):"",createVNode("div",{class:[styles$5.noteKey,(l.realKey===Ke.realKey&&!F.action||F.action&&O.exampleAnser.realKey===Ke.realKey||F.action&&(O.showAnswerLoading&&O.standardAnswer.realKey===Ke.realKey||O.userAnswerStatus===1&&O.userAnswer.realKey===Ke.realKey)||F.action&&O.userAnswerStatus===2&&O.userAnswer.realKey===Ke.realKey)&&styles$5.keyActive]},[Ke.step>0?Ze.map(st=>createVNode("span",{class:styles$5.dot},null)):null,createVNode("div",{class:styles$5.noteName},[createVNode("sup",null,[Ke.mark&&(Ke.mark==="rise"?"#":"b")]),Ke.key]),Ke.step<0?Ze.map(st=>createVNode("span",{class:styles$5.dot},null)):null])])})])]),(l.noteType!=="#c"&&(Te.value===0||Te.value===1&&state$1.platform===IPlatform.PC)||Te.value===1&&state$1.platform===IPlatform.APP)&&createVNode(Button$1,{class:styles$5.noteBtn,onClick:Ke=>{Ke.stopPropagation(),D("right")}},{default:()=>[createVNode(Icon$1,{name:"arrow"},null)]})])]),l.fingeringMode!=="scaleMode"&&createVNode("div",{class:styles$5.optionBtns,onClick:Ke=>{Ke.stopPropagation()}},[createVNode(Button$1,{class:[styles$5.oBtn,styles$5.gamut,F.action&&styles$5.disabled],round:!0,onClick:K},{default:()=>[F.gamut?"暂停":"播放音阶"]}),createVNode(Button$1,{class:[styles$5.oBtn,styles$5.play,F.gamut&&styles$5.disabled],round:!0,onClick:U},{default:()=>[ge.value]}),createVNode(Button$1,{class:[styles$5.oBtn,styles$5.success,!F.answer&&styles$5.disabled],round:!0,onClick:xe},{default:()=>[createTextVNode("显示答案")]})])]):createVNode(Fragment,null,[createVNode("div",{class:styles$5.btnBox},[createVNode("div",{class:styles$5.btnCon},[createVNode("div",{class:[styles$5.btnGr],onClick:Ke=>{Ke.stopPropagation(),!F.gamut&&(O.listenLock||(l.changeSubjectShow=!0))}},[createVNode("img",{src:icons$1.icon_change_instrument},null),createVNode("span",null,[createTextVNode("切换乐器")])]),l.subject!=="melodica"&&l.fingeringMode==="scaleMode"&&createVNode("div",{class:styles$5.btnGr,onClick:()=>{l.viewIndex++,l.viewIndex>l.viewTotal&&(["pan-flute","ocarina","whistling"].includes(l.subject)?l.viewIndex=1:l.viewIndex=0),y()}},[createVNode("img",{src:icons$1.icon_toggle},null),createVNode("span",null,[createTextVNode("视图")])]),createVNode("div",{class:styles$5.btnGr,onClick:()=>{M(),l.tipShow=!l.tipShow}},[createVNode("img",{src:icons$1.icon_2_1},null),createVNode("span",null,[createTextVNode("说明")])]),R.value&&createVNode("div",{class:[styles$5.btnGr],onClick:()=>M()},[createVNode("img",{src:icons$1.icon_2_0},null),createVNode("span",null,[createTextVNode("还原")])])])])])]})))?oe:{default:()=>[oe]})]):createVNode(Fragment,null,[createVNode("div",{class:styles$5.notes,style:{paddingLeft:l.paddingLeft?l.paddingLeft:""}},[O.listenTipsStatus&&createVNode("div",{class:[styles$5.tipsT,l.fingeringMode==="fingeringMode"?styles$5.playTips2:styles$5.playTips]},null),O.userAnswerStatus===1&&createVNode("div",{class:[styles$5.tipsT,styles$5.playSuccess]},null),O.userAnswerStatus===2&&createVNode("div",{class:[styles$5.tipsT,styles$5.playError]},null),O.resetAction&&createVNode("div",{class:[styles$5.tipsT,styles$5.playTips5]},null),(l.noteType!=="#c"&&(Te.value===0||Te.value===1&&state$1.platform===IPlatform.PC)||Te.value===1&&state$1.platform===IPlatform.APP)&&createVNode(Button$1,{class:styles$5.noteBtn,onClick:Ge=>{Ge.stopPropagation(),D("left")}},{default:()=>[createVNode(Icon$1,{name:"arrow-left"},null)]}),createVNode("div",{class:[styles$5.noteContent,l.fingeringMode!=="scaleMode"&&Te.value===0&&styles$5.noteContentOther,s.ios?"":styles$5.noteContentWrap,l.huaweiPad&&styles$5.huaweiPad],onClick:Ge=>{Ge.stopPropagation()}},[l.fingeringMode!=="scaleMode"&&createVNode("div",{draggable:!1,class:styles$5.note,onClick:N},[createVNode("img",{draggable:!1,src:l.noteType==="all"?icons$1.icon_btn_orange:icons$1.icon_btn_orange2},null)]),createVNode("div",{class:styles$5.lastNoteContent},[createVNode("div",{ref:V,class:styles$5.noteBox},[l.notes.map((Ge,Ke)=>{const et=new Array(Math.abs(Ge.step)).fill(1);return createVNode("div",{id:Ke==0?"finger-note-0":"",draggable:!1,class:[styles$5.note,"note-class"],key:Ge.realKey,onClick:async()=>{if(!F.gamut&&!O.listenLock&&!O.showAnswerLoading)if(F.action){O.userAnswer=Ge;const Ze=Ge.realKey===O.standardAnswer.realKey?1:2;O.userAnswerStatus=Ze,O.listenLock=!0,l.realKey=Ge.realKey,await $(Ge,1e3),W(Ze===1,0),l.realKey=0,l.fingeringMode==="fingeringMode"&&Ze===2&&setTimeout(()=>{l.realKey=O.standardAnswer.realKey},10),O.listenLock=!1}else P(Ge)}},[createVNode("img",{draggable:!1,src:De(Ge).icon},null),F.action&&(O.showAnswerLoading&&O.standardAnswer.realKey===Ge.realKey||O.userAnswerStatus===1&&O.userAnswer.realKey===Ge.realKey)?createVNode("span",{class:styles$5.showAnswer},null):"",F.action&&O.userAnswerStatus===2&&O.userAnswer.realKey===Ge.realKey?createVNode("span",{class:[styles$5.showAnswer,styles$5.errorAnswer]},null):"",createVNode("div",{class:[styles$5.noteKey,(l.realKey===Ge.realKey&&!F.action||F.action&&O.exampleAnser.realKey===Ge.realKey||F.action&&(O.showAnswerLoading&&O.standardAnswer.realKey===Ge.realKey||O.userAnswerStatus===1&&O.userAnswer.realKey===Ge.realKey)||F.action&&O.userAnswerStatus===2&&O.userAnswer.realKey===Ge.realKey)&&styles$5.keyActive]},[Ge.step>0?et.map(Ze=>createVNode("span",{class:styles$5.dot},null)):null,createVNode("div",{class:styles$5.noteName},[createVNode("sup",null,[Ge.mark&&(Ge.mark==="rise"?"#":"b")]),Ge.key]),Ge.step<0?et.map(Ze=>createVNode("span",{class:styles$5.dot},null)):null])])})])])]),(l.noteType!=="#c"&&(Te.value===0||Te.value===1&&state$1.platform===IPlatform.PC)||Te.value===1&&state$1.platform===IPlatform.APP)&&createVNode(Button$1,{class:styles$5.noteBtn,onClick:Ge=>{Ge.stopPropagation(),D("right")}},{default:()=>[createVNode(Icon$1,{name:"arrow"},null)]})]),l.fingeringMode!=="scaleMode"&&createVNode("div",{class:styles$5.optionBtns,onClick:Ge=>{Ge.stopPropagation()}},[createVNode(Button$1,{class:[styles$5.oBtn,styles$5.gamut,F.action&&styles$5.disabled],round:!0,onClick:K},{default:()=>[F.gamut?"暂停":"播放音阶"]}),createVNode(Button$1,{class:[styles$5.oBtn,styles$5.play,F.gamut&&styles$5.disabled],round:!0,onClick:U},{default:()=>[ge.value]}),createVNode(Button$1,{class:[styles$5.oBtn,styles$5.success,!F.answer&&styles$5.disabled],round:!0,onClick:xe},{default:()=>[createTextVNode("显示答案")]})])])]),r.platform!=="pc"&&createVNode("div",{class:styles$5.fixedRightBtns,style:{paddingTop:l.paddingTop?l.paddingTop:"",paddingLeft:l.paddingLeft?l.paddingLeft:""},onClick:Ge=>{Ge.stopPropagation()}},[createVNode("div",{class:styles$5.rightBtn},[l.subject!=="melodica"&&l.fingeringMode==="scaleMode"&&createVNode("div",{class:styles$5.baseBtn,onClick:()=>{l.viewIndex++,l.viewIndex>l.viewTotal&&(["pan-flute","ocarina","whistling"].includes(l.subject)?l.viewIndex=1:l.viewIndex=0),y()}},[createVNode("img",{src:icons$1.icon_toggle},null),createVNode("span",null,[createTextVNode("视图")])]),createVNode("div",{class:styles$5.baseBtn,onClick:()=>{M(),l.tipShow=!l.tipShow}},[createVNode("img",{src:icons$1.icon_2_1},null),createVNode("span",null,[createTextVNode("说明")])]),!!l.tones.length&&l.fingeringMode==="scaleMode"&&createVNode(Fragment,null,[c.fingeringInfo.name=="hulusi-flute"?createVNode("div",{id:"finger-note-1",class:[styles$5.baseBtn,styles$5.toggleBtnhulusi,styles$5.active],onClick:()=>l.tnoteShow=!0},[createVNode("div",null,[createTextVNode("全按作"),createVNode("div",{class:[styles$5.noteKey,styles$5.noteKeyBtn]},[l.activeTone.step>0?createVNode("span",{class:[styles$5.topDot,styles$5.dot]},null):null,createVNode("div",{class:styles$5.noteName},[createVNode("sup",null,[l.activeTone.mark&&(l.activeTone.mark==="rise"?"#":"b")]),l.activeTone.key]),l.activeTone.step<0?createVNode("span",{class:[styles$5.bottomDot,styles$5.dot]},null):null])]),createVNode("img",{src:icons$1.icon_arrow},null)]):createVNode("div",{id:"finger-note-1",class:[styles$5.baseBtn,styles$5.toggleBtnhulusi2,styles$5.active],onClick:()=>l.tnoteShow=!0},[createVNode("div",{class:styles$5.oterhD},[createVNode("div",null,[createVNode("div",{style:{marginTop:"-4px"}},[createVNode("sup",null,[l.activeTone.mark&&(l.activeTone.mark==="rise"?"#":"b")]),l.activeTone.name]),createTextVNode("调")]),createVNode("img",{src:icons$1.icon_arrow},null)])])])]),createVNode("div",{class:[styles$5.baseBtn,!R.value&&styles$5.resetBtn],style:{marginTop:"8px"},onClick:()=>M()},[createVNode("img",{src:icons$1.icon_2_0},null),createVNode("span",null,[createTextVNode("还原")])])]),r.platform==="pc"&&l.tipShow&&createVNode("div",{class:[styles$5.tipsOverlay,l.tipShow?styles$5.tipsOverlayBg:""],onClick:()=>{l.tipShow=!1}},null),createVNode("div",{class:[styles$5.tips,l.loadingDom?styles$5.hiddens:"",l.tipShow?"":styles$5.tipHidden,r.platform==="pc"&&l.tipShow?styles$5.tipsPcBg:""]},[createVNode("div",{class:styles$5.tipTitle},[createVNode("div",{class:styles$5.tipTitleName},[c.fingeringInfo.code,createTextVNode("使用说明")]),createVNode(Button$1,{class:styles$5.tipClose,onClick:Ge=>{Ge.stopPropagation(),l.tipShow=!1}},{default:()=>[createVNode(Icon$1,{name:"cross",size:19,color:"#fff"},null)]})]),createVNode("div",{class:styles$5.iconBook},null),createVNode("div",{class:styles$5.tipContentbox},[createVNode("div",{class:styles$5.tipContent},[l.tips.map((Ge,Ke)=>createVNode("div",{class:styles$5.tipItem},[createVNode("div",{class:styles$5.iconWrap},[createVNode("div",{class:styles$5.tipItemIcon},[Ke+1])]),createVNode("div",null,[Ge.name,createTextVNode(": "),Ge.realName])]))])])]),l.loadingSoundFonts&&createVNode("div",{class:styles$5.loading},[createVNode("div",{class:styles$5.loadingWrap},[createVNode("img",{class:styles$5.loadingIcon,src:icon_loading_img},null),createVNode(Progress,{percentage:l.loadingSoundProgress},null),createVNode("div",{class:styles$5.loadingTip},[createTextVNode("加载中,请稍后…")])])])]),createVNode(Popup,{class:["tonePopup",me],style:r.platform==="pc"?ne.styleDrag.value:{},show:l.tnoteShow,"onUpdate:show":Ge=>l.tnoteShow=Ge,position:state$1.platform===IPlatform.PC?"center":!r.modelType&&c.fingeringInfo.orientation===1?"bottom":"right"},{default:()=>[createVNode("div",{class:styles$5.tones},[createVNode("div",{class:[styles$5.toneTitle,"toneTitle_pc"]},[createVNode("div",{class:styles$5.tipTitleName},[createTextVNode("移调")]),createVNode(Button$1,{class:styles$5.tipClose,onClick:Ge=>{Ge.stopPropagation(),l.tnoteShow=!1}},{default:()=>[createVNode(Icon$1,{name:"cross",size:19,color:"#fff"},null)]})]),createVNode("div",{class:[styles$5.tipContentbox,"tipContentbox_pc"]},[createVNode("div",{class:[styles$5.tipContent,"tipContent_pc"]},[createVNode("div",{class:[styles$5.tipWrap,"tipWrap_pc"]},[createVNode(Space,{size:0,class:styles$5.toneContent},_isSlot(be=l.tones.map(Ge=>(new Array(Math.abs(Ge.step)).fill(1),createVNode(Button$1,{class:[c.fingeringInfo.name=="hulusi-flute"&&styles$5.hulusiBtn],round:!0,plain:!0,type:l.popupActiveTone.realName===Ge.realName?"primary":"default",onClick:Ke=>{Ke.stopPropagation(),l.popupActiveTone=Ge,m()}},{default:()=>[c.fingeringInfo.name=="hulusi-flute"?createVNode("div",{style:{display:"flex",alignItems:"center"}},[createTextVNode("全按作"),createVNode("div",{class:[styles$5.noteKey,styles$5.hulusiNoteKey]},[Ge.step>0?createVNode("span",{class:styles$5.dot},null):null,createVNode("div",{class:styles$5.noteName,style:{fontSize:"0.25rem"}},[createVNode("sup",null,[Ge.mark&&(Ge.mark==="rise"?"#":"b")]),Ge.key]),Ge.step<0?createVNode("span",{class:styles$5.dot},null):null])]):createVNode("div",{class:styles$5.noteName},[createVNode("sup",null,[Ge.mark&&(Ge.mark==="rise"?"#":"b")]),Ge.name])]}))))?be:{default:()=>[be]})]),createVNode("div",{class:[styles$5.toneAction,"toneAction_pc"]},[createVNode("img",{onClick:Ge=>{Ge.stopPropagation(),l.tnoteShow=!1},src:icons$1.icon_action_cancel},null),createVNode("img",{onClick:Ge=>{Ge.stopPropagation(),l.activeTone=l.popupActiveTone,m(),l.tnoteShow=!1},src:icons$1.icon_action_confirm},null)])])])]),r.platform==="pc"&&createVNode(Fragment,null,[createVNode("div",{class:[styles$5.dragTopBox,"dragTopBox"]},null),createVNode(Dragbom,{showGuide:H.value,onGuideDone:ve},null)])]}),createVNode(Popup,{style:r.platform==="pc"?pe.styleDrag.value:{},show:l.changeSubjectShow,"onUpdate:show":Ge=>l.changeSubjectShow=Ge,class:[styles$5.changeSubjectPopup,ee],onClick:Ge=>{Ge.stopPropagation()}},{default:()=>[createVNode(ChangeSubject,{subjectList:l.subjects,subject:l.subject,onClose:()=>l.changeSubjectShow=!1,onConfirm:Ge=>{if(l.subject===Ge){l.changeSubjectShow=!1;return}const Ke=JSON.parse(JSON.stringify(l.subject));l.subject=Ge,l.viewIndex=0,l.tipShow=!1,l.loadingDom=!0,c.fingeringInfo=subjectFingering(l.subject),l.activeTone={},M(),W(!0,0),l.changeSubjectShow=!1,setTimeout(()=>{const et=(["hulusi-flute","piccolo","baroque-recorder"].includes(Ke),0);Te.value!==et&&(l.paddingTop="",l.paddingLeft=""),E()},100)}},null),r.platform==="pc"&&createVNode(Fragment,null,[createVNode("div",{class:[styles$5.dragTopBox,"dragTopBox"]},null),createVNode(Dragbom,{showGuide:H.value,onGuideDone:ve},null)])]}),i.show&&!l.loading&&!l.loadingSoundFonts&&createVNode(GuideIndex,{fingeringMode:l.fingeringMode,showGuide:!1,list:["finger"]},null)])}}}),index=Object.freeze(Object.defineProperty({__proto__:null,default:ViewFigner},Symbol.toStringTag,{value:"Module"})),authorName="_authorName_1m8k1_1",title="_title_1m8k1_4",authorCon="_authorCon_1m8k1_19",author="_author_1m8k1_1",styles$1={authorName,title,authorCon,author},AuthorName=defineComponent({name:"authorName",setup(){const i=computed(()=>state$1.musicLyricist?state$1.musicComposer+" / "+state$1.musicLyricist:state$1.musicComposer);return()=>createVNode(Fragment,null,[!smoothAnimationState.isShow.value&&createVNode("div",{class:["authorName",styles$1.authorName]},[createVNode("div",{class:styles$1.title},[createVNode(NoticeBar,{text:state$1.examSongName,background:"none"},null)]),createVNode("div",{class:styles$1.authorCon},[createVNode("div",{class:styles$1.author},[state$1.isSingleLine?createVNode(Fragment,null,[state$1.musicLyricist&&createVNode(NoticeBar,{text:state$1.musicLyricist,background:"none"},null),state$1.musicComposer&&createVNode(NoticeBar,{text:state$1.musicComposer,background:"none"},null)]):createVNode(Fragment,null,[i.value&&createVNode(NoticeBar,{text:i.value,background:"none"},null)])])])])])}}),emptyMusic="_emptyMusic_pi1dj_1",emptyMusicBox="_emptyMusicBox_pi1dj_13",img="_img_pi1dj_18",tit="_tit_pi1dj_22",backBtn="_backBtn_pi1dj_29",styles={emptyMusic,emptyMusicBox,img,tit,backBtn},empty=""+new URL("../png/empty-9b9d0b72.png",import.meta.url).href,isEmptyMusicShow=ref(!1),EmptyMusic=defineComponent({name:"emptyMusic",setup(){const i=getQuery(),e=browser(),r=()=>{if(HANDLE_WORK_ADD(),!storeData.isApp){window.close();return}if((e.iPhone||e.ios)&&i.workRecord){setTimeout(()=>{api_back()},550);return}api_back()};return()=>createVNode(Fragment,null,[isEmptyMusicShow.value&&createVNode("div",{class:styles.emptyMusic},[createVNode("div",{class:styles.emptyMusicBox},[createVNode("img",{class:styles.img,src:empty},null),createVNode("div",{class:styles.tit},[createTextVNode("曲目已失效")]),createVNode("div",{class:styles.backBtn,onClick:r},[createTextVNode("返回")])])])])}}),setNoteHalfTone=i=>{var r;const e=["hulusi-flute"];if(!((r=state$1.fingeringInfo)!=null&&r.name)||!e.includes(state$1.fingeringInfo.name))return i;for(let s=0;s{const m=await isSpecialShapedScreen();if(m!=null&&m.content){const{isSpecialShapedScreen:y,notchHeight:b}=m.content;y&&(e.paddingLeft="25px")}};onBeforeMount(async()=>{var y;console.time("渲染加载耗时"),api_keepScreenLongLight(),r(),api_setStatusBarVisibility();const m=store_legacy.get("musicscoresetting");if(m&&(state$1.setting=m,state$1.setting.beatVolume=50,state$1.setting.camera)){const b=await api_openCamera();(y=b==null?void 0:b.content)!=null&&y.reson&&(state$1.setting.camera=!1,store_legacy.set("musicscoresetting",state$1.setting))}}),onMounted(async()=>{window.appName="colexiu";const m=i.id||"43554";state$1.isPreView=i.isPreView,state$1.isPreView&&(state$1.zoom=.65),state$1.isSingleLine=i.isSingleLine==="true";try{await getMusicDetail(m)}catch(y){console.error(y),isEmptyMusicShow.value=!0;return}e.isLoading=!1,state$1.isShowFingering||(state$1.setting.displayFingering=!1)});const s=m=>{var A,S,E,x,P;api_cloudLoading(),console.timeEnd("渲染加载耗时"),e.skeletonLoading=!1,state$1.osmd=m,state$1.originSpeed===0&&(state$1.originSpeed=state$1.speed=m.bpm||m.Sheet.userStartTempoInBPM||100);const y=(store_legacy.get("speeds")||{})[state$1.examSongId]||state$1.speed||m.bpm||m.Sheet.userStartTempoInBPM;y&&handleSetSpeed(y),setCustomGradual(),setCustomNoteRealValue(),state$1.times=formateTimes(m),state$1.times=setNoteHalfTone(state$1.times),console.log("🚀 ~ state.times:",state$1.times,state$1.subjectId,state$1),state$1.isSingleLine&&(addNoteBBox(state$1.times),initSmoothAnimation());const b=((A=state$1.times[state$1.times.length-1||0])==null?void 0:A.endtime)||0;state$1.isAppPlay&&initMidi(b,state$1.midiUrl),state$1.measureTime=((S=state$1.times[0])==null?void 0:S.measureLength)||0;try{metronomeData.metro=new Metronome,metronomeData.metro.init(state$1.times)}catch(C){}if(i.isbeatTimes){const{isOpenMetronome:C,isSingOpenMetronome:T}=state$1,{xmlMp3BeatFixTime:k}=state$1.times[0],I=[],M=metronomeData.metroMeasure.map(B=>{const _=[],V=B.map(D=>{let F=D.time;return T&&!C?F+=k:!T&&C&&(F-=k),_.push(F),D.time});return I.push(_),V});state$1.fixtime=0,state$1.times.map(B=>{B.time=B.xmlNoteTime,B.endtime=B.xmlNoteEndTime,B.fixtime=0}),metronomeData.metro.calculation(state$1.times);const R=metronomeData.metroMeasure.map(B=>B.map(V=>V.time));throw console.log("webApi_beatTimes",{beatTime:M,singBeatTime:I,mingBeatTime:R}),window.parent.postMessage({api:"webApi_beatTimes",data:JSON.stringify({beatTime:M,singBeatTime:I,mingBeatTime:R})},"*"),new Error("webApi_beatTimes 完成")}state$1.music||(state$1.accompany?state$1.playSource="background":(state$1.fanSong?(state$1.playType="sing",state$1.playSource="music"):state$1.banSong?(state$1.playType="sing",state$1.playSource="background"):state$1.mingSong&&(state$1.playType="sing",state$1.playSource="mingSong"),handlerModeChange("play","music"))),handleInitTick(((P=(x=(E=m==null?void 0:m.Sheet)==null?void 0:E.SheetPlaybackSetting)==null?void 0:x.Rhythm)==null?void 0:P.Numerator)||4),state$1.playBtnDirection=i.imagePos==="right"?"right":"left",state$1.isAttendClass=i.imagePos==="left"||i.imagePos==="right",state$1.musicScoreBtnDirection=state$1.playBtnDirection,state$1.musicRendered=!0,evaluatCreateMusicPlayer(),resetPlaybackToStart()},o=computed(()=>{var m,y,b;return state$1.setting.displayFingering&&((m=state$1.fingeringInfo)!=null&&m.name)?state$1.fingeringInfo.direction==="transverse"?{container:{paddingBottom:e.headerHide?state$1.fingeringInfo.height:(y=state$1.fingeringInfo.scaleData)==null?void 0:y.offset},fingerBox:state$1.modeType==="follow"||state$1.modeType==="evaluating"?{height:state$1.fingeringInfo.height,position:"absolute",bottom:0,width:"100%"}:e.headerHide?{height:state$1.fingeringInfo.height}:{height:state$1.fingeringInfo.height,transform:`scale(${(b=state$1.fingeringInfo.scaleData)==null?void 0:b.scale})`}}:(console.log("指法",state$1.playBtnDirection,state$1.platform),state$1.platform===IPlatform.PC?{container:{paddingRight:state$1.playBtnDirection==="right"?"initial":state$1.fingeringInfo.width,paddingLeft:state$1.playBtnDirection==="right"?state$1.fingeringInfo.width:"initial"},fingerBox:{position:"absolute",width:state$1.fingeringInfo.width,height:"100%",right:state$1.playBtnDirection==="right"?"initial":0,left:state$1.playBtnDirection==="right"?0:"initial",top:0}}:{container:{paddingRight:state$1.fingeringInfo.width},fingerBox:{position:"absolute",width:state$1.fingeringInfo.width,height:"100%",right:0,top:0}}):{container:{},fingerBox:{}}});watch(()=>state$1.setting.displayFingering,()=>{state$1.fingeringInfo.direction==="vertical"&&(state$1.musicScoreBtnDirection=state$1.playBtnDirection)}),watch(()=>state$1.setting.soundEffect,()=>{store_legacy.set("musicscoresetting",state$1.setting)});const a=m=>{window.parent.postMessage({api:"headerTogge",playState:m},"*")};watch(()=>state$1.playState,()=>{e.headerHide=state$1.playState==="play",a(state$1.playState)}),watch(()=>e.fingerPreView,()=>{console.log(2342),window.parent.postMessage({api:"api_fingerPreView",state:e.fingerPreView},"*")});const l=usePageVisibility();watch(()=>l.value,m=>{m==="hidden"&&state$1.playState==="play"&&togglePlay("paused")});const c=browser(),u=()=>{if(i.modelType||(e.orientation=state$1.fingeringInfo.orientation||0,api_setRequestedOrientation(e.orientation)),state$1.playState==="play"){togglePlay("paused"),setTimeout(()=>{e.fingerPreView=!0},500);return}e.fingerPreView=!0},d=()=>{!i.modelType&&e.orientation==1&&api_setRequestedOrientation(0),e.fingerPreView=!1,e.fingerPreViewGuide=!1},g=computed(()=>{const m=state$1.modeType;if(m==="practise")return styles$9.practise;if(m==="evaluating")return styles$9.evaluating;if(m==="follow")return styles$9.follow});return()=>{var m;return createVNode("div",{class:[styles$9.detail,g.value,state$1.setting.eyeProtection&&"eyeProtection",state$1.platform===IPlatform.PC&&state$1.zoom>.8&&styles$9.PC,state$1.isPreView&&styles$9.preViewDetail],style:{paddingLeft:e.paddingLeft,background:state$1.setting.camera?`rgba(${state$1.setting.eyeProtection?"253,244,229":"255,255,255"} ,${state$1.setting.cameraOpacity/100}) !important`:""}},[createVNode(Transition,{name:"van-fade"},{default:()=>[e.skeletonLoading&&createVNode("div",{class:styles$9.skeleton},[createVNode(Skeleton,{row:8},null)])]}),createVNode(EmptyMusic,null,null),!state$1.isPreView&&createVNode("div",{class:[styles$9.headHeight,e.headerHide&&styles$9.headHide]},[state$1.musicRendered&&createVNode(HeaderTop,null,null)]),createVNode("div",{id:"scrollContainer",style:{...o.value.container},class:[styles$9.container,!state$1.setting.displayCursor&&"hideCursor",c.xiaomi&&styles$9.xiaomi,state$1.platform===IPlatform.PC&&styles$9.pcContainer],onClick:y=>{y.stopPropagation(),state$1.playState==="play"&&(e.headerHide=!e.headerHide)}},[!e.isLoading&&createVNode(MusicScore,{ref:musicScoreRef,musicColor:"#FFFFFF",showPartNames:state$1.isCombineRender,onRendered:s},{default:()=>[createVNode(AuthorName,null,null),!e.isLoading&&!e.skeletonLoading&&createVNode(Tick,null,null)]}),state$1.setting.displayFingering&&((m=state$1.fingeringInfo)==null?void 0:m.name)&&!state$1.isPreView&&state$1.isShowFingering&&createVNode("div",{style:{...o.value.fingerBox},class:styles$9.fingeringCon},[createVNode(Fingering,{style:{background:state$1.setting.camera?`rgba(${state$1.setting.eyeProtection?"253,244,229":"255,255,255"} ,${state$1.setting.cameraOpacity/100})`:""},onOpen:()=>u()},null)])]),!e.isLoading&&!e.skeletonLoading&&createVNode(AudioList,null,null),state$1.modeType==="evaluating"&&createVNode(Fragment,null,[createVNode(Evaluating,null,null),evaluatingData.rendered&&createVNode(EvaluatModel,null,null)]),state$1.modeType==="follow"&&createVNode(Fragment,null,[createVNode(FollowPractice,null,null),createVNode(FollowModel,null,null)]),!i.lessonTrainingId&&!i.questionId&&state$1.isConcert&&createVNode(ToggleMusicSheet,null,null),state$1.musicRendered&&!state$1.isPreView&&createVNode(Fragment,null,[storeData.isApp&&createVNode(RecordingTime,null,null),i.workRecord&&createVNode(WorkIndex,null,null),isMusicList.value&&createVNode(TheMusicList,null,null)]),createVNode(Popup,{zIndex:5050,teleport:"body",show:e.fingerPreView,"onUpdate:show":y=>e.fingerPreView=y,position:"bottom",onClosed:()=>{e.fingerPreViewAnimation=!1},onOpen:()=>{e.fingerPreViewAnimation=!0},onOpened:()=>{e.fingerPreViewGuide=!0}},{default:()=>[e.fingerPreViewAnimation&&createVNode(ViewFigner,{show:e.fingerPreViewGuide,subject:state$1.fingeringInfo.name,isComponent:!0,onClose:d},null)]})])}}}),query=getQuery();var EnumMusicRenderType=(i=>(i.staff="staff",i.firstTone="firstTone",i.fixedTone="fixedTone",i))(EnumMusicRenderType||{});const musicscoresettingKey="musicscoresetting";var IPlatform=(i=>(i.APP="APP",i.PC="PC",i))(IPlatform||{});const classids=[1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,30,31,35,36,38,108,150,151,152,153,154,155,156,157,158,178,179,180,181,182],musicalInstrumentCodeInfo=[{name:"长笛",code:"Flute",id:1},{name:"短笛",code:"Piccolo",id:2},{name:"单簧管",code:"Clarinet",id:3},{name:"低音单簧管",code:"Bass Clarinet",id:4},{name:"中音萨克斯",code:"Alto Saxophone",id:5},{name:"次中音萨克斯",code:"Tenor Saxophone",id:6},{name:"高音萨克斯",code:"Soprano Saxophone",id:7},{name:"上低音萨克斯",code:"Baritone Saxophone",id:8},{name:"双簧管",code:"Oboe",id:9},{name:"大管",code:"Bassoon",id:10},{name:"小号",code:"Trumpet",id:11},{name:"圆号",code:"Horn",id:12},{name:"长号",code:"Trombone",id:13},{name:"上低音号",code:"Baritone",id:14},{name:"次中音号",code:"Euphonium",id:15},{name:"大号",code:"Tuba",id:16},{name:"钢琴",code:"Piano",id:17},{name:"电钢琴",code:"Electronical Piano",id:18},{name:"钢片琴",code:"Glockenspiel",id:19},{name:"小提琴",code:"Violin",id:20},{name:"中提琴",code:"Viola",id:21},{name:"大提琴",code:"Violoncello",id:22},{name:"低音提琴",code:"Contrabass",id:23},{name:"架子鼓",code:"Drum Set",id:24},{name:"小鼓",code:"Snare Drum",id:25},{name:"马林巴",code:"Marimba",id:26},{name:"颤音琴",code:"Vibraphone",id:27},{name:"钟琴",code:"Chimes",id:28},{name:"木琴",code:"Xylophone",id:29},{name:"管钟",code:"Tubular Bells",id:30},{name:"定音鼓",code:"Timpani",id:31},{name:"键盘",code:"Mallets",id:32},{name:"排箫",code:"Panpipes",id:33},{name:"陶笛",code:"Ocarina",id:34},{name:"葫芦丝",code:"Woodwind",id:35},{name:"口风琴",code:"Nai",id:36},{name:"德式竖笛",code:"Tenor Recorder",id:37},{name:"英式竖笛",code:"Baroque Recorder",id:38},{name:"高音陶笛",code:"Whistling",id:39}],state=reactive({platform:"",appName:"",musicRenderType:"staff",musicRendered:!1,detailId:"",xmlUrl:"",subjectId:0,trackId:0,categoriesId:0,categoriesName:"",enableEvaluation:!0,enableNotation:!1,examSongId:"",cbsExamSongId:"",examSongName:"",coverImg:"",extConfigJson:{},extStyleConfigJson:{},isOpenMetronome:!1,isSingOpenMetronome:!1,isShowFingering:!1,music:"",accompany:"",fanSong:"",banSong:"",mingSong:"",beatSong:{music:"",accompany:"",fanSong:"",banSong:"",mingSong:""},midiUrl:"",parentCategoriesId:0,musicSheetCategoriesId:0,bizMusicCategoryId:0,playMode:"MP3",speed:0,originSpeed:0,playIngSpeed:0,track:"",partIndex:0,needTick:!1,needSingTick:!1,osmd:null,isSpecialBookCategory:!1,playState:"paused",playEnd:!1,playType:"play",playSource:"music",playProgress:0,activeNoteIndex:0,activeMeasureIndex:0,sectionStatus:!1,section:[],sectionBoundingBoxs:[],isOpenPrepare:!1,sectionFirst:null,times:[],modeType:"practise",setting:{soundEffect:!0,eyeProtection:!1,camera:!1,cameraOpacity:70,repeatAutoPlay:!0,displayFingering:!0,displayCursor:!0,frequency:0,evaluationDifficulty:"BEGINNER",saveToAlbum:!0,enableAccompaniment:!0,reactionTimeMs:0,beatVolume:50},baseFrequency:440,fixtime:0,evXmlBeginTime:0,secondEvXmlBeginTime:0,evXmlBeginArr:[],fingeringInfo:{},scrollContainer:"musicAndSelection",isPercussion:!1,evaluationStandard:"",repeatedBeats:0,partListNames:[],gradual:[],gradualVersion:GradualVersion.BASE,gradualTimes:null,multitrack:0,zoom:.8,musicZoom:1,isSelectMeasureMode:!1,isReport:!1,isHideEvaluatReportSaveBtn:!1,isConcert:!1,userChooseEndIndex:0,repeatInfo:[],canSelectTracks:[],subjectCodeId:0,musicalCodeId:0,musicalCode:"",isCombineRender:!1,measureTime:0,beatStartTime:0,isPreView:!1,isEvaluatReport:!1,midiPlayIniting:!1,songs:{},isAppPlay:!1,audiosInstance:null,durationNum:0,midiSectionStart:0,audioDone:!1,isSingleLine:!1,isEvxml:!1,noTimes:[],playBtnDirection:"left",musicScoreBtnDirection:"right",isAttendClass:!1,guideInfo:null,noteCoords:[],specialPosInit:!1,paymentType:null,defaultModeType:1,maxLyricNum:0,vfmeasures:[],musicComposer:"",musicLyricist:"",loadingText:"音频资源加载中,请稍后…",isSimplePage:!1});browser();const customData=reactive({customNoteRealValue:[],customNoteCurrentTime:!1}),setStep=()=>{if(state.playState!=="play"){console.log("暂停播放");return}let i=Date.now();requestAnimationFrame(()=>{Date.now()-i<16.7?(handlePlaying(),setStep()):setTimeout(()=>{handlePlaying(),setStep()},16.7)})},onPlay=()=>{console.log("开始播放","音频总时长:",getAudioDuration()),state.playEnd=!1,setStep()},autoResetPlay=()=>{state.modeType==="practise"&&(skipNotePlay(0,!0),state.setting.repeatAutoPlay&&(scrollViewNote(),setTimeout(()=>{togglePlay("play")},1e3)))},onEnded=()=>{if(console.log("音频播放结束"),state.playEnd){console.log("音频播放结束,无需再次执行");return}state.playEnd=!0,state.playState="paused",audioListStart(state.playState),handleEndEvaluat(!0),autoResetPlay()},handlePlaying=()=>{var s;const i=getAudioCurrentTime(),e=getAudioDuration();state.playProgress=i/e*100;let r=getNote(i);if(r&&state.modeType==="practise"&&state.playState==="play"&&r.measureSpeed&&r.measureSpeed!==state.playIngSpeed){const o=state.speed/state.originSpeed;state.playIngSpeed=Math.ceil(o*r.measureSpeed)||state.speed}else state.modeType==="practise"&&state.playState==="play"&&r&&!r.measureSpeed&&(state.playIngSpeed=state.speed);if(state.playIngSpeed=state.playIngSpeed||state.speed,r){if(state.sectionStatus&&state.section.length===2){const o=state.sectionFirst?state.sectionFirst:state.section[0],a=state.section[1];if(state.repeatInfo.length){const l=verifyCanRepeat(state.section[0].MeasureNumberXML,state.section[1].MeasureNumberXML),c=l.repeatIdx==-1?0:l.repeatIdx;if(state.modeType==="practise"&&!l.canRepeat&&state.section[1].MeasureNumberXML>state.repeatInfo[c].end){const u=state.times[r.i-1];if(u&&u.MeasureNumberXML>r.MeasureNumberXML){const d=state.times.find(g=>g.MeasureNumberXML===u.MeasureNumberXML+1);if(d){setAudioCurrentTime(d.time,d.i),gotoNext(d);return}}}}if(i-a.endtime>=0){if(console.log("选段播放结束",state.setting.repeatAutoPlay),state.modeType==="evaluating"&&state.isSelectMeasureMode){onEnded();return}if(state.modeType==="practise"&&state.sectionStatus){onEnded(),resetPlaybackToStart();return}r=o,setAudioCurrentTime(o.time,o.i)}}gotoNext(r)}(s=metronomeData.metro)==null||s.sound(i),state.isSingleLine&&moveSmoothAnimationByPlayTime()},skipNotePlay=async(i,e=!1)=>{var o;const r=state.times[i];let s=r.time;e&&(s=0),r&&(setAudioCurrentTime(s,i),gotoNext(r,!0),(o=metronomeData.metro)==null||o.sound(s),state.isAppPlay&&(await api_cloudSetCurrentTime({currentTime:s*1e3,songID:state.examSongId}),audioData$1.progress=s,state.midiSectionStart=s),followData.start&&skipNotePractice())},togglePlay=async(i,e)=>{if(!state.isAppPlay&&!state.audioDone){e!=="courseware"&&showToast("音频资源加载中,请稍后");return}if((i||(state.playState==="paused"?"play":"paused"))==="play"&&state.modeType==="practise"&&state.playMode!=="MIDI"&&(console.log("设置音源"),changeSongSourceByBate(metronomeData.disable)),state.isAppPlay){if(i==="paused"){await api_cloudSuspend({songID:state.examSongId}),state.playState="paused";return}skipNotePlay(state.activeNoteIndex,!1),await api_cloudChangeSpeed({speed:state.modeType==="evaluating"?state.originSpeed:state.speed,originalSpeed:state.originSpeed,songID:state.examSongId});const r=await api_cloudGetMediaStatus(),s=(r==null?void 0:r.content.status)==="suspend"?"play":"paused";state.playState=s}else state.playState=i||(state.playState==="paused"?"play":"paused");if(state.playState==="play"&&state.sectionStatus&&state.section.length==2&&state.playProgress===0&&resetPlaybackToStart(),state.playState==="paused"&&closeTick(),state.playState==="play"&&getAudioCurrentTime()===0&&(state.playType==="play"&&state.needTick||state.playType==="sing"&&state.needSingTick))if(state.playType==="play"&&!state.isOpenMetronome||state.playType==="sing"&&!state.isSingOpenMetronome){if(!await handleStartTick())return state.playState="paused",!1}else handleStartTick();return state.playState=="play"&&state.sectionStatus&&state.section.length<2&&clearSelection(),audioListStart(state.playState),!0},handleStopPlay=()=>{state.playState="paused",audioListStart(state.playState)},resetPlaybackToStart=()=>{var i;if(state.sectionStatus&&state.section.length===2){state.section=formateSelectMearure(state.section);return}else metronomeData.activeMetro=((i=metronomeData.metroMeasure[0])==null?void 0:i[0])||{};skipNotePlay(0,!0)},gotoCustomNote=i=>{try{state.osmd.cursor.reset()}catch(e){}for(let e=0;e{var s,o,a;if(state.musicRenderType==="firstTone"||state.musicRenderType==="fixedTone"){if(state.sectionStatus&&state.playState==="paused"&&state.sectionFirst&&(i.multipleRestMeasures||i.MeasureNumberXML!==((s=state.sectionFirst)==null?void 0:s.MeasureNumberXML)))return;if(["1788850864767643649","1788502467554750466","1788501975122489346"].includes(state.cbsExamSongId)&&i.multipleRestMeasures===0){const c=(a=(o=e==null?void 0:e.cursorElement)==null?void 0:o.style)!=null&&a.left?parseFloat(e.cursorElement.style.left):0;let u=0;state.cbsExamSongId=="1788502467554750466"?(state.musicRenderType==="firstTone"&&(u=i.i==0||i.i==60?21:i.i==1||i.i==7||i.i==23||i.i==38||i.i==44||i.i==52||i.i==58?-6:i.i>=2||i.i<=6||i.i>=8||i.i<=22||i.i>=24||i.i<=37||i.i>=39||i.i<=43||i.i>=45||i.i<=51||i.i>=53||i.i<=57||i.i==59?6:0),state.musicRenderType==="fixedTone"&&(u=i.i==0?31:i.i==8||i.i==14||i.i==30||i.i==45||i.i==51||i.i==59||i.i==65?-10:i.i==67?31:0)):state.cbsExamSongId=="1788501975122489346"&&(state.musicRenderType==="firstTone"&&(u=i.i==0?21:i.i==1||i.i==7||i.i==23||i.i==38||i.i==44||i.i==52||i.i==58?-6:i.i==9||i.i==10||i.i==12||i.i==13?3:i.i==14||i.i==30||i.i==45||i.i==51||i.i==59?6:i.i==45?-8:i.i>=15||i.i<=29||i.i>=31||i.i<=36||i.i>=38||i.i<=44||i.i>=46||i.i<=50||i.i>=52||i.i<=58||i.i>=60||i.i<=64||i.i==66?4:0),state.musicRenderType==="fixedTone"&&(u=i.i==0?31:i.i==8||i.i==14||i.i==30||i.i==45||i.i==51||i.i==59||i.i==65?-10:i.i==67?31:0)),(r==="refresh"||r==="init"&&!state.specialPosInit)&&(e.cursorElement.style.left=c+u+"px",state.specialPosInit=!0)}else nextTick(()=>{var g,m,y,b;let c=i.bbox;if(!c){const S=(((g=document.getElementById("musicAndSelection"))==null?void 0:g.getBoundingClientRect())||{x:0,y:0}).x||0,E=document.querySelector(`#vf-${(y=(m=i.svgElement)==null?void 0:m.attrs)==null?void 0:y.id}`);if(E){const x=E.querySelector(".vf-numbered-note-head"),P=(b=x==null?void 0:x.getBoundingClientRect)==null?void 0:b.call(x);P&&(i.bbox={left:P.x-S-P.width/4,width:P.width*1.5},c=i.bbox)}}if(!c)return;const u=state.platform==="PC"?29:18,d=(c.width-u)/3;e.cursorElement.style.left=c.left+"px",e.cursorElement.style.transform=`translateX(${d}px)`})}},gotoNext=(i,e)=>{const r=i.i;if(state.activeNoteIndex===i.i){try{setCursorPosition(i,state.osmd.cursor,"init")}catch(a){console.log(a)}fillWordColor(),state.isSingleLine&&state.playState==="paused"&&moveSvgDom(e);return}const s=state.osmd;let o=state.activeNoteIndex;if(state.activeNoteIndex=r,state.activeMeasureIndex=i.MeasureNumberXML,o&&r-o===1)s.cursor.next();else if(o&&r-o>0)for(;r-o>0;)o++,s.cursor.next();else gotoCustomNote(r);try{setCursorPosition(i,state.osmd.cursor,"refresh")}catch(a){console.log(a)}fillWordColor(),state.isSingleLine&&moveSvgDom(e),scrollViewNote()},getNote=i=>{const e=state.times,r=state.times.length;if(i>e[r-1].endtime+2&&!state.isAppPlay&&!state.isSimplePage){onEnded();return}let s=null;for(let o=state.activeNoteIndex;o=a.time)(!l||a.time!=l.time)&&(s=a);else break}return s},handleResetPlay=()=>{state.isAppPlay&&(audioData$1.progress=0),resetPlaybackToStart(),togglePlay("play")},handleSetSpeed=i=>{setStorageSpeed(state.examSongId,i),state.speed=i},clearSelection=()=>{state.sectionStatus=!1,state.section=[],closeToast()},handleChangeSection=()=>{if(state.sectionStatus){togglePlay("paused"),clearSelection(),skipNotePlay(0,!0),state.sectionFirst=null;return}state.sectionStatus=!0,state.sectionStatus&&togglePlay("paused"),showToast({message:"请选择开始小节",duration:0,position:"top",className:"selectionToast"})},formateSelectMearure=i=>{var c,u;if(!i.length)return[];const e=i.sort((d,g)=>d.time-g.time),r=(c=e[0])==null?void 0:c.measureOpenIndex,s=(u=e.last())==null?void 0:u.measureOpenIndex,o=state.times.filter(d=>r===d.measureOpenIndex)||[],a=state.times.filter(d=>s===d.measureOpenIndex)||[];if(!o.length||!a.length)return clearSelection(),[];e[0]=o[0],e[1]=a.last();let l=e[0].i;if(state.isOpenPrepare){const d=e[0].MeasureNumberXML;state.sectionFirst=state.times.find(g=>d-g.MeasureNumberXML===1),l=state.sectionFirst?state.sectionFirst.i:l}return skipNotePlay(l,l===0),e},handleSelection=i=>{!state.sectionStatus||state.section.length>1||(state.section.length!==2&&i&&(state.section.push(i),state.section.length===2&&(setSection(state.section[0].MeasureNumberXML,state.section[1].MeasureNumberXML),closeToast())),state.section.length===1&&showToast({message:"请选择结束小节",duration:0,position:"top",className:"selectionToast"}))},setSection=(i,e,r)=>{var S,E,x,P;const s=state.times.filter(C=>C.noteElement.sourceMeasure.MeasureNumberXML==i),o=state.times.filter(C=>C.noteElement.sourceMeasure.MeasureNumberXML==e);state.userChooseEndIndex=e;const a=o[o.length-1].noteId;let l=o.filter(C=>C.noteId===a);const c=verifyCanRepeat(i,e);console.log("能否重播",c);const u=c.canRepeat;let d=!1;l.length===1&&(d=(x=(E=(S=l[0])==null?void 0:S.stave)==null?void 0:E.modifiers)==null?void 0:x.some(C=>C.getAttribute("type")==="Volta"));let g=e;const m=((P=state.repeatInfo[c.repeatIdx])==null?void 0:P.end)||0;for(;u&&l.length===1&&l[0].MeasureNumberXML<=m&&!d;){g=g-1;const C=state.times.filter(k=>k.noteElement.sourceMeasure.MeasureNumberXML==g),T=C[C.length-1].noteId;l=C.filter(k=>k.noteId===T)}const y=u&&c.repeatIdx==state.repeatInfo.length-1?l.length-1:0,b=s[0],A=l[y];b&&A&&(state.isSelectMeasureMode=!0,hanldeDirectSelection([b,A]),r&&handleSetSpeed(r))},hanldeDirectSelection=i=>{!Array.isArray(i)||i.length!==2||(state.sectionStatus=!0,setTimeout(()=>{state.section=formateSelectMearure(i),console.log("选段小节",state.section)},0))};let offsetTop=0;const scrollViewNote=()=>{const i=document.getElementById("cursorImg-0"),e=document.getElementById(state.scrollContainer);!i||!e||offsetTop===i.offsetTop||(offsetTop=i.offsetTop,offsetTop>50?e.scrollTo({top:(offsetTop-50)*state.musicZoom,behavior:"smooth"}):e.scrollTo({top:0,behavior:"smooth"}))},isRhythmicExercises=()=>state.examSongName.indexOf("节奏练习")>-1,handleRessetState=()=>{clearSelection(),skipNotePlay(0,!0),state.isAppPlay&&(audioData$1.progress=0),state.modeType==="evaluating"?handleStartEvaluat():state.modeType==="practise"?togglePlay("paused"):state.modeType==="follow"&&toggleFollow(!1)},state$1=state,evaluatCreateMusicPlayer=()=>api_createMusicPlayer({musicSrc:state.accompany||state.music,tuneSrc:"https://oss.dayaedu.com/cloud-coach/1686725501654check_music1_(1).mp3"}),getMusicDetail=async(i,e)=>{const r=await getMusicSheetDetail(i,e);(r==null?void 0:r.code)===200&&await getMusicInfo(r)},getMusicInfo=async i=>{const e=await fetch(i.data.xmlFileUrl).then(l=>l.text());downloadXmlStr.value=e;const r=xmlToTracks(e);let s=query["part-index"]?parseInt(query["part-index"]):0;const o=state.isSimplePage?{}:initMusicSource(i.data,r[s]);s=r.findIndex(l=>l===(o==null?void 0:o.track));const a={...i.data,track:o==null?void 0:o.track};console.log("🚀 ~ musicInfo:",a),setState(a,s)};function xmlToTracks(i){const e=new DOMParser().parseFromString(i,"text/xml");return Array.from(e.getElementsByTagName("part-name")).reduce((s,o)=>{var l;const a=(l=o==null?void 0:o.textContent)==null?void 0:l.trim();return a!=="COMMON"&&a&&s.push(a),s},[])}function initMusicSource(i,e){const{instrumentId:r}=storeData.user;let{musicSheetType:s,isAllSubject:o,musicSheetSoundList:a,musicSheetAccompanimentList:l}=i;a||(a=[]),l||(l=[]);let c,u,d,g;if(s==="SINGLE"?(c=a.find(m=>o||!r?m.audioPlayType==="PLAY":m.audioPlayType==="PLAY"&&m.musicalInstrumentId==r),c||(c=a.find(m=>m.audioPlayType==="PLAY")),d=a.find(m=>m.audioPlayType==="SING"),g=l.find(m=>m.audioPlayType==="SING")):c=e?a.find(m=>m.track===e):a[0],u=l.find(m=>m.audioPlayType==="PLAY"),!(c!=null&&c.audioFileUrl)&&!(u!=null&&u.audioFileUrl)&&!(d!=null&&d.audioFileUrl)&&!(g!=null&&g.audioFileUrl)&&!(d!=null&&d.solmizationFileUrl))throw new Error("该曲目无任何音源");return Object.assign(state,{music:c==null?void 0:c.audioFileUrl,accompany:u==null?void 0:u.audioFileUrl,fanSong:d==null?void 0:d.audioFileUrl,banSong:g==null?void 0:g.audioFileUrl,mingSong:d==null?void 0:d.solmizationFileUrl}),Object.assign(state.beatSong,{music:c==null?void 0:c.audioBeatMixUrl,accompany:u==null?void 0:u.audioBeatMixUrl,fanSong:d==null?void 0:d.audioBeatMixUrl,banSong:g==null?void 0:g.audioBeatMixUrl,mingSong:d==null?void 0:d.solmizationBeatUrl}),c}const setState=(i,e)=>{var g,m,y,b,A,S,E,x,P,C,T,k,I,M;state.appName="COLEXIU",state.detailId=i.bizId,state.xmlUrl=i.xmlFileUrl,state.paymentType=i.paymentType,state.partIndex=e>=0?e:0,state.trackId=i.track,state.subjectId=i.subjectIds?(g=i.subjectIds.split(","))==null?void 0:g[0]:0;const r=i.subjectCodes?(m=i.subjectCodes.split(","))==null?void 0:m[0]:"";let s=i.musicalInstrumentIdCodes?(y=i.musicalInstrumentIdCodes.split(","))==null?void 0:y[0]:"";const o=musicalInstrumentCodeInfo.find(R=>R.code.toLocaleLowerCase()===r.toLocaleLowerCase()),a=musicalInstrumentCodeInfo.find(R=>R.code.toLocaleLowerCase()===s.toLocaleLowerCase());if(state.subjectCodeId=o?o.id:0,state.musicalCodeId=a?a.id:0,state.categoriesId=i.musicCategoryId,state.categoriesName=i.musicTagNames,state.examSongId=i.bizId+"",state.cbsExamSongId=i.id+"",state.examSongName=i.name,state.coverImg=(b=i.musicCover)!=null?b:"",state.isCombineRender=i.musicSheetType==="SINGLE"&&((A=i.musicSheetSoundList)==null?void 0:A.length)>1,setCustom(state.isCombineRender?(S=i.musicSheetSoundList)==null?void 0:S.length:0),i.extConfigJson)try{state.extConfigJson=JSON.parse(i.extConfigJson)}catch(R){console.error("解析扩展字段错误:",R)}state.gradualTimes=state.extConfigJson.gradualTimes,state.repeatedBeats=state.extConfigJson.repeatedBeats||0,state.isEvxml=state.extConfigJson.isEvxml==1,state.needTick=!!i.isPlayBeat,state.needSingTick=!!i.isPlaySingBeat,state.isOpenMetronome=!!(i.isPlayBeat&&!i.isUseSystemBeat),state.isSingOpenMetronome=!!(i.isPlaySingBeat&&!i.isUseSingSystemBeat),state.isShowFingering=!!i.isShowFingering,state.isAppPlay=i.playMode==="MIDI",state.midiUrl=i.midiFileUrl,state.parentCategoriesId=i.musicTag,state.musicSheetCategoriesId=i.musicCategoryId,state.bizMusicCategoryId=i.bizMusicCategoryId,state.playMode=i.playMode==="MP3"?"MP3":"MIDI",state.originSpeed=state.speed=parseFloat(i.playSpeed)||0;const l=i.code||i.track;state.track=l?l.replace(/ /g,"").toLocaleLowerCase():"",state.isAppPlay?state.enableEvaluation=!!state.midiUrl:state.enableEvaluation=!!state.accompany,state.isConcert=i.musicSheetType==="CONCERT",state.canSelectTracks=i.multiTracksSelection==="null"||i.multiTracksSelection===""||i.multiTracksSelection===null?[]:(E=i.multiTracksSelection)==null?void 0:E.split(","),state.isOpenPrepare=!0,state.extStyleConfigJson=i.extStyleConfigJson||{},state.isPercussion=i.evaluationStandard==="AMPLITUDE"||i.evaluationStandard==="DECIBELS",state.evaluationStandard=((x=i.evaluationStandard)==null?void 0:x.toLocaleLowerCase())||"",state.isSpecialBookCategory=!classids.includes(Number(i.musicCategoryId));const c=state.isConcert?matchVoicePart(state.trackId,"CONCERT"):matchVoicePart(state.musicalCodeId,"SINGLE");state.fingeringInfo=subjectFingering(c),console.log("🚀 ~ state.fingeringInfo:",c,state.fingeringInfo,state.trackId,state.track),state.musicalCodeId=((P=state.fingeringInfo)==null?void 0:P.id)||0,state.musicalCode=((C=musicalInstrumentCodeInfo.find(R=>R.id===state.musicalCodeId))==null?void 0:C.code)||state.trackId,window.DYSubjectId=state.musicalCodeId,window.customSectionAmount=!0,window.DYProjectName="musicScore",!state.fingeringInfo.name&&state.setting.displayFingering&&(state.setting.displayFingering=!1),state.platform=((T=query.platform)==null?void 0:T.toLocaleUpperCase())||"",state.platform==="PC"&&(state.zoom=query.zoom||1.5,state.enableEvaluation=!1);let u=null;state.isConcert?(s=(k=musicalInstrumentCodeInfo.find(R=>R.id===state.musicalCodeId))==null?void 0:k.code,u=(I=i.musicalInstruments)==null?void 0:I.find(R=>R.code===s)):u=(M=i.musicalInstruments)==null?void 0:M.find(R=>R.code===s);let d="";u!=null&&u.defaultScore&&(d=(u==null?void 0:u.defaultScore)==="STAVE"?"staff":(u==null?void 0:u.defaultScore)==="JIAN"?"fixedTone":(u==null?void 0:u.defaultScore)==="FIRST"?"firstTone":""),state.musicRenderType=query.musicRenderType||d||"firstTone",["1788501975122489346","1788502467554750466","1789839575249596417"].includes(state.cbsExamSongId)&&state.musicRenderType==="fixedTone"&&(state.musicRenderType="firstTone"),state.enableNotation=u?i.isConvertibleScore&&u.transferFlag:i.isConvertibleScore,console.log("state对象",state),state.baseFrequency=i.evaluationFrequency?i.evaluationFrequency.split(",")[0]:440,state.baseFrequency=Number(state.baseFrequency),Math.abs(state.setting.frequency-state.baseFrequency)>10?state.setting.frequency=state.baseFrequency>=0?state.baseFrequency:440:state.setting.frequency=state.setting.frequency||state.baseFrequency},setCustom=i=>{(i||state.extConfigJson.multitrack)&&(state.multitrack=i||0,setGlobalData("multitrack",i||state.extConfigJson.multitrack))},followBeatPaly=()=>{let i=null;if(!followData.start){clearTimeout(i),i=null;return}const e=state.measureTime*1e3/metronomeData.totalNumerator;requestAnimationFrame(()=>{var s;Date.now()-state.beatStartTime{var o,a,l,c,u,d,g,m,y,b,A,S,E,x,P,C,T;const r=(((o=document.getElementById("musicAndSelection"))==null?void 0:o.getBoundingClientRect())||{x:0,y:0}).x||0;let s=null;for(let k=0;k{state.times.forEach((s,o)=>{var c,u,d,g,m,y;const a=document.getElementById(`vf-${(d=(u=(c=state.times[o])==null?void 0:c.svgElement)==null?void 0:u.attrs)==null?void 0:d.id}`),l=document.getElementById(`vf-${(y=(m=(g=state.times[o])==null?void 0:g.svgElement)==null?void 0:m.attrs)==null?void 0:y.id}-stem`);(s.i===state.activeNoteIndex||s.id===state.times[state.activeNoteIndex].id)&&s.svgElement?(a==null||a.classList.add("noteActive"),l==null||l.classList.add("noteActive")):(a==null||a.classList.remove("noteActive"),l==null||l.classList.remove("noteActive"))});const i=state.times[state.activeNoteIndex];Array.from(document.querySelectorAll(".vf-lyric")).forEach(s=>{s==null||s.classList.remove("lyricActive")}),Array.from(document.querySelectorAll(`.lyric${i==null?void 0:i.noteId}`)).forEach((s,o)=>{o===i.repeatIdx&&(s==null||s.classList.add("lyricActive"))})},moveSvgDom=i=>{var e,r,s,o;if(i){const a=((e=state.times[state.activeNoteIndex].bbox)==null?void 0:e.x)-((r=state.times[0].bbox)==null?void 0:r.x)+((s=state.times[state.activeNoteIndex].bbox)==null?void 0:s.width)/2-((o=state.times[0].bbox)==null?void 0:o.width)/2;smoothAnimationState.translateXNum=0,moveSmoothAnimation(0,state.activeNoteIndex),smoothAnimationState.osdmScrollDom.scrollTo({left:a,behavior:"smooth"})}};watch(()=>state.playState,()=>{if(state.isSingleLine&&!state.playEnd&&state.playState==="paused"){moveTranslateXNum(0);const i=smoothAnimationState.osdmScrollDom.scrollLeft;smoothAnimationState.osdmScrollDom.scrollLeft=i+smoothAnimationState.translateXNum,smoothAnimationState.translateXNum=0}});function getNeedReduceMultipleRestNum(i){let e=0;for(let r=0;ri)break;s.multipleRestMeasures&&s.multipleRestMeasures>1&&(e+=1)}return e}watch(()=>state.activeMeasureIndex,()=>{const i=getNeedReduceMultipleRestNum(state.activeMeasureIndex),e=state.activeMeasureIndex-i-1;console.log("选中的小节",e,"需要减去的小节",i,"当前的小节",state.activeMeasureIndex),state.vfmeasures.forEach((r,s)=>{var o,a,l,c,u,d,g,m;if(s===e)(o=r.querySelector(".vf-custom-bg"))==null||o.setAttribute("fill","#132D4C"),(a=r.querySelector(".vf-custom-bot"))==null||a.setAttribute("fill","#040D1E");else if(state.section.length===2){let y=state.section[0].MeasureNumberXML,b=state.section[1].MeasureNumberXML;y>b&&(y=state.section[1].MeasureNumberXML,b=state.section[0].MeasureNumberXML);const A=y-getNeedReduceMultipleRestNum(y)-1,S=b-getNeedReduceMultipleRestNum(b)-1;if(s>=A&&s<=S&&((l=r.querySelector(".vf-custom-bg"))==null||l.setAttribute("fill","#609FCF"),(c=r.querySelector(".vf-custom-bot"))==null||c.setAttribute("fill","#2B70A5")),state.sectionFirst){const E=state.sectionFirst.MeasureNumberXML-getNeedReduceMultipleRestNum(state.sectionFirst.MeasureNumberXML)-1,x=state.vfmeasures[E];(u=x==null?void 0:x.querySelector(".vf-custom-bg"))==null||u.setAttribute("fill","#71B8BD"),(d=x==null?void 0:x.querySelector(".vf-custom-bot"))==null||d.setAttribute("fill","#448F9C")}}else(g=r.querySelector(".vf-custom-bg"))==null||g.setAttribute("fill","#609FCF"),(m=r.querySelector(".vf-custom-bot"))==null||m.setAttribute("fill","#2B70A5")})});watch(()=>state.section,()=>{var i,e;if(state.section.length===2){let r=state.section[0].MeasureNumberXML,s=state.section[1].MeasureNumberXML;r>s&&(r=state.section[1].MeasureNumberXML,s=state.section[0].MeasureNumberXML);const o=r-getNeedReduceMultipleRestNum(r)-1,a=s-getNeedReduceMultipleRestNum(s)-1;if(state.vfmeasures.forEach((l,c)=>{var u,d,g,m;ca&&((g=l.querySelector(".vf-custom-bg"))==null||g.setAttribute("fill","rgba(96,159,207,0.5)"),(m=l.querySelector(".vf-custom-bot"))==null||m.setAttribute("fill","rgba(43,112,165,0.5)"))}),state.sectionFirst){const l=state.sectionFirst.MeasureNumberXML-getNeedReduceMultipleRestNum(state.sectionFirst.MeasureNumberXML)-1,c=state.vfmeasures[l];(i=c==null?void 0:c.querySelector(".vf-custom-bg"))==null||i.setAttribute("fill","#71B8BD"),(e=c==null?void 0:c.querySelector(".vf-custom-bot"))==null||e.setAttribute("fill","#448F9C")}}else{const r=state.activeMeasureIndex-getNeedReduceMultipleRestNum(state.activeMeasureIndex)-1;state.vfmeasures.forEach((s,o)=>{var a,l,c,u;o===r?((a=s.querySelector(".vf-custom-bg"))==null||a.setAttribute("fill","#132D4C"),(l=s.querySelector(".vf-custom-bot"))==null||l.setAttribute("fill","#040D1E")):((c=s.querySelector(".vf-custom-bg"))==null||c.setAttribute("fill","#609FCF"),(u=s.querySelector(".vf-custom-bot"))==null||u.setAttribute("fill","#2B70A5"))})}});const refreshMusicSvg=()=>{var i;state.loadingText="正在加载中,请稍等…",state.isSingleLine&&destroySmoothAnimation(),(i=musicScoreRef.value)==null||i.refreshMusicScore()};watch(()=>state.setting.displayFingering,()=>{nextTick(()=>{smoothAnimationState.osdmScrollDom&&(smoothAnimationState.osdmScrollDomWith=smoothAnimationState.osdmScrollDom.offsetWidth|0)})});const browserInfo=browser();dayjs.extend(duration);const getFixTime=i=>{const e=getDuration(state$1.osmd);let r=e.numerator||0,s=e.denominator||4;const o=e.beatUnit||"quarter";return state$1.repeatedBeats&&(r=r*2),60/i*formatBeatUnit(o)*(r/s)},retain=i=>Math.ceil(i*1e6)/1e6,formatLyricsEntries=i=>{var s,o;const e=((s=i.parentStaffEntry)==null?void 0:s.voiceEntries)||[],r=[];for(const a of e)if((o=a.lyricsEntries)!=null&&o.table){const l=Object.values(a.lyricsEntries.table);for(const c of l)r.push(c==null?void 0:c.value.text)}return r},createSpeedInfo=(i,e)=>{var r,s;if(i&&speedInfo[(r=i.startWord)==null?void 0:r.toLocaleLowerCase()]){const o=Math.max(i.endXmlNoteIndex,3),a=[],l=e,c=e/speedInfo[(s=i.startWord)==null?void 0:s.toLocaleLowerCase()];for(let u=0;u{let e=i;const r=i.split(":");return r.length===1?e=`00:${r[0]}:00`:r.length===2&&(e=`00:${r[0]}:${r[1]}`),`1970-01-01 00:${e}0`},getDuration=i=>{var r;if(i){const{Duration:s,TempoInBPM:o,ActiveTimeSignature:a,TempoExpressions:l}=(r=i.GraphicSheet.MeasureList[0][0])==null?void 0:r.parentSourceMeasure;if(s){let c="quarter";for(const d of l)c=d.InstantaneousTempo.beatUnit||"quarter";return{...formatDuration(a),TempoInBPM:o,beatUnit:c}}}return{...new Fraction$1,TempoInBPM:90,beatUnit:"quarter"}};function formatDuration(i,e){return i}function formatBeatUnit(i){let e=4;switch(i){case"1024th":e=1024;break;case"512th":e=512;break;case"256th":e=256;break;case"128th":e=128;break;case"64th":e=64;break;case"32nd":e=32;break;case"16th":e=16;break;case"eighth":e=8;break;case"quarter":e=4;break;case"half":e=2;break;case"whole":e=1;break;case"breve":e=.5;break;case"long":e=.25;break;case"maxima":e=.125;break}return e}function getTimeByBeatUnit(i,e,r){return r/formatBeatUnit(i)*e}const setElementNoteBefore=(i,e,r)=>{let s=0;if(e){for(let o=0;o0){let o=0;const a=Array.from(r.childNodes).filter(c=>c.nodeName==="note"),l=a[a.length-1];if(s>=a.length&&l){r.insertBefore(i,r.childNodes[Array.from(r.childNodes).indexOf(l)]);return}for(let c=0;c{if(i){const e=i.toLocaleLowerCase(),r="d\\s?\\.s\\.",s="d\\.\\s?c\\.";return e==="@"||StringUtil.StringContainsSeparatedWord(e,r+" al fine",!0)||StringUtil.StringContainsSeparatedWord(e,r+" al coda",!0)||StringUtil.StringContainsSeparatedWord(e,s+" al fine",!0)||StringUtil.StringContainsSeparatedWord(e,s+" al coda",!0)||StringUtil.StringContainsSeparatedWord(e,s)||StringUtil.StringContainsSeparatedWord(e,"da\\s?capo",!0)||StringUtil.StringContainsSeparatedWord(e,r,!0)||StringUtil.StringContainsSeparatedWord(e,"dal\\s?segno",!0)||StringUtil.StringContainsSeparatedWord(e,"al\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(e,"to\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(e,"a (la )?coda",!0)||StringUtil.StringContainsSeparatedWord(e,"fine",!0)||StringUtil.StringContainsSeparatedWord(e,"coda",!0)||StringUtil.StringContainsSeparatedWord(e,"segno",!0)}return!1},onlyVisible=(i,e)=>{var b,A,S,E,x,P,C,T,k;if(!i)return"";const r=state$1.examSongId+"",s=new DOMParser().parseFromString(i,"text/xml"),o=((A=(b=s.getElementsByTagName("part-list"))==null?void 0:b[0])==null?void 0:A.getElementsByTagName("score-part"))||[],a=Array.from(o).map(I=>{var M,R,B;return((B=(R=(M=I.getElementsByTagName("part-name"))==null?void 0:M[0])==null?void 0:R.textContent)==null?void 0:B.trim())||""}),l=s.getElementsByTagName("part"),c=[...(S=l[0])==null?void 0:S.getElementsByTagName("measure")],u=[...(E=l[0])==null?void 0:E.getElementsByTagName("metronome")],d=[...(x=l[0])==null?void 0:x.getElementsByTagName("words")],g=[...(P=l[0])==null?void 0:P.getElementsByTagName("coda")],m=[...(C=l[0])==null?void 0:C.getElementsByTagName("rehearsal")];((k=(T=a[0])==null?void 0:T.toLocaleUpperCase)==null?void 0:k.call(T))==="COMMON"&&(e++,a.shift());const y=o[e];if(state$1.partListNames=a,y){const I=y.getAttribute("id");Array.from(l).forEach(M=>{var R,B,_,V,D;if(M&&M.getAttribute("id")!==I)(R=M.parentNode)==null||R.removeChild(M);else if(M&&M.getAttribute("id")!=="P1"){const F={};for(let N=0;N{var U;const K=(U=N.parentElement)==null?void 0:U.parentElement,G=K==null?void 0:K.parentElement,q=[...(G==null?void 0:G.childNodes)||[]],O=K?q.indexOf(K):-1;if(G&&O>-1){const $=c.indexOf(G),Y=M.getElementsByTagName("measure")[$];setElementNoteBefore(K,G,Y)}}),d.forEach(N=>{var G;let K=N.textContent||"";if(K=["cresc."].includes(K)?"":K,(isSpecialMark(K)||isSpeedKeyword(K)||isGradientWords(K)||isRepeatWord(K)||GRADIENT_SPEED_RESET_TAG)&&K){const q=(G=N.parentElement)==null?void 0:G.parentElement,O=q==null?void 0:q.parentElement,U=[...(O==null?void 0:O.childNodes)||[]],$=q?U.indexOf(q):-1;if(q&&O&&$>-1){const Y=c.indexOf(O),Q=M.getElementsByTagName("measure")[Y];Array.from((Q==null?void 0:Q.getElementsByTagName("words"))||[]).reduce((W,J)=>{var ce;return(ce=J.textContent)!=null&&ce.includes(K)&&W++,W},0)===0&&(["12280"].includes(r)?Q==null||Q.insertBefore(q.cloneNode(!0),Q==null?void 0:Q.childNodes[$]):setElementNoteBefore(q,O,Q))}}}),g.forEach(N=>{var U;const K=(U=N.parentElement)==null?void 0:U.parentElement,G=K==null?void 0:K.parentElement,q=[...(G==null?void 0:G.childNodes)||[]],O=K?q.indexOf(K):-1;if(K&&G&&O>-1){const $=c.indexOf(G),Y=M.getElementsByTagName("measure")[$];["12280"].includes(r)?Y==null||Y.insertBefore(K.cloneNode(!0),Y==null?void 0:Y.childNodes[O]):setElementNoteBefore(K,G,Y)}}),m.forEach(N=>{var q,O;const K=(q=N.parentElement)==null?void 0:q.parentElement,G=K==null?void 0:K.parentElement;if(G){const U=c.indexOf(G);(O=M.getElementsByTagName("measure")[U])==null||O.appendChild(K.cloneNode(!0))}})}else d.forEach((F,N)=>{var G,q,O;const K=F.textContent||"";if(isSpeedKeyword(K)&&K){const U=(q=(G=F.parentElement)==null?void 0:G.parentElement)==null?void 0:q.parentElement;if(U&&U.firstElementChild&&U.firstElementChild!==F){const $=(O=F.parentElement)==null?void 0:O.parentElement,Y=U.firstElementChild;U.insertBefore($,Y)}}});if(M&&M.getAttribute("id")===I){const F=M.getElementsByTagName("barline"),N=(V=F[F.length-1])==null?void 0:V.parentElement;if(((D=N==null?void 0:N.lastElementChild)==null?void 0:D.tagName)!=="barline"){const K=(N==null?void 0:N.children)||[];for(let G of K)if(G.tagName==="barline"){N==null||N.appendChild(G);break}}}}),Array.from(o).forEach(M=>{var R;M&&M.getAttribute("id")!==I&&((R=M.parentNode)==null||R.removeChild(M))})}return new XMLSerializer().serializeToString(appoggianceFormate(s))},appoggianceFormate=i=>{var s,o,a,l;if(!i)return i;const e=i.querySelectorAll("grace");if(!e.length)return i;const r=c=>c.querySelector("grace")?r(c==null?void 0:c.nextElementSibling):c;for(let c of e){const u=(s=c.parentElement)==null?void 0:s.querySelector("notations");if(u&&u.querySelectorAll("slur").length>1){let d=r((o=c.parentElement)==null?void 0:o.nextElementSibling);if(d&&d.querySelectorAll("slur").length>0){const g=Array.from(((a=d.querySelector("notations"))==null?void 0:a.children)||[]).map(y=>y.getAttribute("number")),m=u.querySelectorAll("slur");for(let y of m)g.includes(y.getAttribute("number"))||(l=d.querySelector("notations"))==null||l.appendChild(y)}}}return i},formatXML=(i,e)=>{var u,d,g;if(!i)return"";const r=new DOMParser().parseFromString(i,"text/xml"),s=Array.from(r.getElementsByTagName("measure")),o=Array.from(r.querySelectorAll("repeat"));compatibleXmlPitchVoice(r),getComposer(r),parseXmlToRepeat(o),state$1.isEvxml&&(analyzeEvxml(r),customizationXml(r));let a=-1,l=-1,c=-1;for(const m of s){l===-1&&m.getElementsByTagName("beats").length&&(l=parseInt(m.getElementsByTagName("beats")[0].textContent||"4")),c===-1&&m.getElementsByTagName("beat-type").length&&(c=parseInt(m.getElementsByTagName("beat-type")[0].textContent||"4")),a===-1&&m.getElementsByTagName("per-minute").length&&(a=Number((u=m.getElementsByTagName("per-minute")[0])==null?void 0:u.textContent));const y=parseInt(((d=m.getElementsByTagName("divisions")[0])==null?void 0:d.textContent)||"256");m.getElementsByTagName("note").length&&state$1.isEvxml&&(Array.from(m.getElementsByTagName("note"))||[]).forEach(S=>{var E;S.getElementsByTagName("grace").length||(!S.getElementsByTagName("duration").length||S.getElementsByTagName("duration").length&&((E=S.getElementsByTagName("duration")[0])==null?void 0:E.textContent)==0)&&m.removeChild(S)});const b=new RegExp("[\\u4E00-\\u9FFF]+","g");if(m.getElementsByTagName("words").length&&state$1.isEvxml&&(Array.from(m.getElementsByTagName("words"))||[]).forEach(S=>{var E;S!=null&&S.textContent&&b.test(S==null?void 0:S.textContent)&&((E=S==null?void 0:S.parentNode)!=null&&E.parentNode)&&m.removeChild(S.parentNode.parentNode)}),m.getElementsByTagName("note").length===0){const A=(g=m.getElementsByTagName("forward")[0])==null?void 0:g.getElementsByTagName("duration")[0];A&&(A.textContent="0"),m.innerHTML=m.innerHTML+` ${y*l} 1 whole `}}return(!a||a==-1)&&(a=100),state$1.originSpeed||(state$1.originSpeed=state$1.speed=a||100),new XMLSerializer().serializeToString(r)},formateTimes=i=>{var Q,xe,ue,W,J,ce,ge,Ee,Te,De,te,ae,H,ve,pe,ee,ne,me,Be,oe,be,Ie,Re,Pe,he,Ce,ye,Fe,Ue,Ye,Ge,Ke,et,Ze,st,vt,lt,dt,Tt,ut,pt,Ct,Vt;const e=customData.customNoteRealValue,r=customData.customNoteCurrentTime;state$1.examSongId+"",state$1.partIndex+"";let s=browserInfo.huawei?.08:0;const o=[],a=[],l=[],{originSpeed:c}=state$1;let u=0;const d=(Xe,ie)=>{var We,nt,mt,ht,qe,bt;return["906"].includes(state$1.cbsExamSongId)?((We=ie.measures[0])==null?void 0:We.realKey)||Xe:["782","784"].includes(state$1.cbsExamSongId)&&[14,16,30,32].includes((nt=ie.firstVerticalMeasure)==null?void 0:nt.measureNumber)?((mt=o[o.length-1])==null?void 0:mt.realKey)||Xe:["900","901","640","641","739","740","800","801","773","774","869","872","714","715"].includes(state$1.cbsExamSongId)&&(((ht=ie.firstVerticalMeasure)==null?void 0:ht.measureNumber)===3||((qe=ie.firstVerticalMeasure)==null?void 0:qe.measureNumber)===9)&&((bt=ie.measures[0])==null?void 0:bt.realKey)||Xe};if(!i.cursor)return[];const g=i.cursor.Iterator;console.time("音符跑完时间");let m=0,y=0,b=[],A=[],S=0,E=0,x=0,P="quarter",C,T,k=0,I=0,M=0,R=0,B=0,_=0,V=0,D=0;const F=[];state$1.gradualTimes&&console.log("后台设置的渐慢小节时间",state$1.gradual,state$1.gradualTimes);let N=g.currentTimeStamp.RealValue;const K=[];let G=!1,q=0,O=0;for(;!g.EndReached;){let Xe=0,ie=0;for(let ht=0;ht1?1:0);continue}qe.notes[0].length.realValue0?ke=[...g.CurrentVoiceEntries]:ke=[...g.CurrentVoiceEntries].filter(ht=>{var qe;return ht&&((qe=ht==null?void 0:ht.ParentVoice)==null?void 0:qe.VoiceId)!=1});let We=0,nt=!1,mt=!1;if(ke.length&&!G){nt=!0;let ht=[...g.CurrentVoiceEntries].reduce((qe,bt)=>(qe.push(...bt.Notes),qe),[]);if(ht=ht.filter(qe=>!qe.IsGraceNote),ht=ht.sort((qe,bt)=>{var Et,It;return((Et=qe==null?void 0:qe.length)==null?void 0:Et.realValue)-((It=bt==null?void 0:bt.length)==null?void 0:It.realValue)}),We=((J=(W=ht==null?void 0:ht[0])==null?void 0:W.length)==null?void 0:J.realValue)||0,state$1.multitrack>0&&ke.length===2){const qe=((ge=(ce=ht[0])==null?void 0:ce.length)==null?void 0:ge.realValue)||0;q=(((Te=(Ee=ht[ht.length-1])==null?void 0:Ee.length)==null?void 0:Te.realValue)||0)-qe,G=q!==0}}(De=F[F.length-1])!=null&&De.isDouble&&!ke.length&&(mt=!0),state$1.multitrack>0&&!nt&&G&&(nt=!0,We=q,G=!1,q=0),K.push(g.currentTimeStamp.realValue-N),N=g.currentTimeStamp.realValue;for(const ht of de){let qe=ht.notes[0];if(qe.IsGraceNote&&(qe=qe.parentStaffEntry.voiceEntries.find(Et=>!Et.isGrace).notes[0]),qe.fixedKey=qe.ParentVoiceEntry.ParentVoice.Parent.SubInstruments[0].fixedKey||0,(te=qe==null?void 0:qe.voiceEntry)!=null&&te.isGrace){nt=!0;let bt=[...g.currentVoiceEntries].reduce((Et,It)=>(Et.push(...It.notes),Et),[]);bt=bt.sort((Et,It)=>{var z,fe;return((z=It==null?void 0:It.length)==null?void 0:z.realValue)-((fe=Et==null?void 0:Et.length)==null?void 0:fe.realValue)}),We=We!=0?Math.min((H=(ae=bt==null?void 0:bt[0])==null?void 0:ae.length)==null?void 0:H.realValue,We):(pe=(ve=bt==null?void 0:bt[0])==null?void 0:ve.length)==null?void 0:pe.realValue}state$1.multitrack>0&&We>qe.length.realValue&&(We=qe.length.realValue),qe.maxNoteNum=Oe,F.push({note:qe,iterator:{...g},currentTime:We,isDouble:nt,isMutileSubject:mt,measuresTempoInBPM:(ee=qe==null?void 0:qe.sourceMeasure)==null?void 0:ee.tempoInBPM})}g.moveToNextVisibleVoiceEntry(!1),g.backJumpOccurred&&(O+=1),g.repeatIdx=O}const U=F.some(Xe=>Xe.measuresTempoInBPM!==F[0].measuresTempoInBPM);console.log("变速曲子",U,F);let $=[];for(let{note:Xe,iterator:ie,currentTime:de,isDouble:ke,isMutileSubject:Oe}of F){if(Xe){if(u!=((ne=Xe==null?void 0:Xe.sourceMeasure)==null?void 0:ne.MeasureNumberXML)&&(y=0),y===0&&u!=((me=Xe==null?void 0:Xe.sourceMeasure)==null?void 0:me.MeasureNumberXML)&&(u=(Be=Xe==null?void 0:Xe.sourceMeasure)==null?void 0:Be.MeasureNumberXML,l.push(Xe.sourceMeasure)),y===0&&state$1.isSpecialBookCategory)for(const ot of(oe=Xe.sourceMeasure)==null?void 0:oe.TempoExpressions)(be=ot==null?void 0:ot.InstantaneousTempo)!=null&&be.beatUnit&&(P=ot.InstantaneousTempo.beatUnit);B==((Ie=Xe.sourceMeasure)==null?void 0:Ie.MeasureNumberXML)&&m!==0?R++:(B=(Re=Xe.sourceMeasure)==null?void 0:Re.MeasureNumberXML,R=0);let We=Xe.sourceMeasure.tempoInBPM;const{metronomeNoteIndex:nt}=ie.currentMeasure;nt!==0&&nt>y&&(We=((Pe=o[o.length-1])==null?void 0:Pe.speed)||100);let mt=[];mt=[(Ce=(he=Xe.sourceMeasure)==null?void 0:he.verticalMeasureList)==null?void 0:Ce[0]];const{realValue:ht}=ie.currentTimeStamp,{RealValue:qe,Denominator:bt}=formatDuration(ie.currentMeasure.activeTimeSignature,ie.currentMeasure.duration);let{wholeValue:Et,numerator:It,denominator:z,realValue:fe}=Xe.length;e[m]&&(fe=e[m]),ke&&de>0&&de!=fe&&(fe=de),r&&Oe&&K[m+1]>0&&fe>K[m+1]&&(fe=K[m+1]);let Z=E;state$1.isEvxml&&Z0){const ot=state$1.gradual.find((gt,Rt)=>{var Nt;const kt=state$1.gradual[Rt+1];return gt[0].measureIndex<=Me&&((Nt=gt[1])==null?void 0:Nt.measureIndex)>=Me&&(!kt||(kt==null?void 0:kt[0].measureIndex)!==Me)}),[$e,it]=ot||[];if($e&&it){const gt=it.measureIndex-$e.measureIndex,Rt=$e.closedMeasureIndex==Me&&y>=$e.noteInMeasureIndex,kt=it.closedMeasureIndex===Me&&y0)){const ot=C[0]-(C[1]-C[0]),{resetXmlNoteIndex:$e,endXmlNoteIndex:it}=T,gt=it;let Rt=(C[C.length-1]-ot)/gt;if(Rt=Xe.DotsXml?Rt/1.5:Rt,kk&&(Se=(Fe=o[m-1])==null?void 0:Fe.speed);re=(state$1.isSpecialBookCategory?getTimeByBeatUnit(P,Se,ie.currentMeasure.activeTimeSignature.Denominator):c)||1;const kt=!(kk);k++,kt&&(k=0,T=void 0,C=void 0,A=[])}const Le=fe;let He=we||Math.min(qe,fe)*formatBeatUnit(P)*(60/re);const at=qe*bt*(60/re);["1788501975122489346","1788502467554750466"].includes(state$1.cbsExamSongId)&&(m==13&&(He=He/2),m==44&&(He=He*6),m==56&&(He=He*4)),E+=He,x+=He;let rt=He+Z;const ft=Xe.fixedKey||0,je=(Ye=(Ue=mt[0])==null?void 0:Ue.vfVoices["1"])==null?void 0:Ye.tickables[R];if(o.length&&o[o.length-1].relativeTime===Z)continue;if(m===0&&!state$1.isAppPlay){let ot=0;(((Ke=(Ge=Xe.sourceMeasure.verticalMeasureList)==null?void 0:Ge[0])==null?void 0:Ke.staffEntries)||[]).forEach(it=>{var gt,Rt,kt,Nt,Ht,Ft;(Ft=(Ht=(Nt=(kt=(Rt=(gt=it==null?void 0:it.sourceStaffEntry)==null?void 0:gt.voiceEntries)==null?void 0:Rt[0])==null?void 0:kt.notes)==null?void 0:Nt[0])==null?void 0:Ht.length)!=null&&Ft.realValue&&(ot+=it.sourceStaffEntry.voiceEntries[0].notes[0].length.realValue)}),ot0&&(s+=S,state$1.fixtime=s),state$1.isEvxml&&(s=state$1.evXmlBeginTime?state$1.evXmlBeginTime:s,state$1.fixtime=s),console.log("节拍器时间",s,state$1.evXmlBeginTime)}let St=(et=mt[0])==null?void 0:et.stave;Xe.sourceMeasure.multipleRestMeasures&&(I=Xe.sourceMeasure.multipleRestMeasures,M=0),M$e===(je==null?void 0:je.attrs.id)))==null?void 0:st.length)||0;wt=(vt=Xe==null?void 0:Xe.noteTimeInfo[ot])==null?void 0:vt.begin,Dt=(lt=Xe==null?void 0:Xe.noteTimeInfo[ot])==null?void 0:lt.end,wt&&(Z=wt-s)}je!=null&&je.attrs.id&&$.push(je==null?void 0:je.attrs.id);const At={isStaccato:Xe.voiceEntry.isStaccato(),isRestFlag:Xe.isRestFlag,noteId:Xe.NoteToGraphicalNoteObjectId,measureListIndex:Xe.sourceMeasure.measureListIndex,MeasureNumberXML:Xe.sourceMeasure.MeasureNumberXML,_noteLength:Le,svgElement:je,frequency:((dt=Xe==null?void 0:Xe.pitch)==null?void 0:dt.frequency)||-1,nextFrequency:((Tt=Xe==null?void 0:Xe.pitch)==null?void 0:Tt.nextFrequency)||-1,prevFrequency:((ut=Xe==null?void 0:Xe.pitch)==null?void 0:ut.prevFrequency)||-1,difftime:S,octaveOffset:(pt=mt[0])==null?void 0:pt.octaveOffset,speed:Se,beatSpeed:re,i:m,si:y,stepSpeeds:A,measureOpenIndex:l.length-1,measures:b,tempoInBPM:Xe.sourceMeasure.tempoInBPM,measureLength:at,relaMeasureLength:x,id:je==null?void 0:je.attrs.id,note:Xe.halfTone+12,fixtime:s,relativeTime:retain(Z),time:state$1.isEvxml&&wt?retain(wt):retain(Z+s),endtime:state$1.isEvxml&&Dt?retain(Dt):retain(rt+s),relaEndtime:retain(rt),realValue:ht,halfTone:Xe.halfTone,noteElement:Xe,fixedKey:ft,realKey:0,duration:0,formatLyricsEntries:formatLyricsEntries(Xe),stave:St,firstVerticalMeasure:mt[0],noteLength:1,osdmContext:i,speedbeatUnit:P,multipleRestMeasures:M,totalMultipleRestMeasures:I,measureSpeed:We,maxNoteNum:Xe.maxNoteNum,repeatIdx:ie.repeatIdx||0,xmlNoteTime:retain(_),xmlNoteEndTime:retain(_+He),xmlMp3BeatFixTime:V,notBeatFixtime:state$1.isOpenMetronome?s-V:s,notBeatTime:state$1.isEvxml&&wt?retain(wt):retain(Z+(state$1.isOpenMetronome?s-V:s)),notBeatEndTime:state$1.isEvxml&&Dt?retain(Dt):retain(rt+(state$1.isOpenMetronome?s-V:s))};if(_+=He,state$1.isEvxml&&At.repeatIdx&&At.i>0&&At.MeasureNumberXML===1&&At.noteId===0){const ot=state$1.evXmlBeginArr[At.repeatIdx]||0;At.time=At.time+ot,At.endtime=At.endtime+ot,E=E+ot,Z=Z+ot}At.realKey=d(Xe.halfTone-ft*12,At),At.duration=At.endtime-At.time;let Bt=((Vt=(Ct=mt[0])==null?void 0:Ct.vfVoices["1"])==null?void 0:Vt.tickables)||[];[121].includes(state$1.subjectId)&&(Bt=Xe.sourceMeasure.verticalSourceStaffEntryContainers),Bt=Bt.filter(ot=>{var $e;return(($e=ot.attrs)==null?void 0:$e.type)!=="GhostNote"});const _t=state$1.isCombineRender&&Xe.maxNoteNum?Xe.maxNoteNum:Bt.length;At.noteLength=_t||1,o.push(At),a.push(At.id),b.push(At),y<_t-1?y++:(y=0,x=0,b=[]),D=At.endtime}m++}const Y=o.sort((Xe,ie)=>Xe.relativeTime-ie.relativeTime).map((Xe,ie)=>Object.assign(Xe,{i:ie}));console.timeEnd("音符跑完时间");try{i.cursor.reset()}catch(Xe){}return state$1.activeMeasureIndex=Y[0].MeasureNumberXML,Y},getNoteByMeasuresSlursStart=i=>{let e=i,r;if(i.noteElement.tie&&i.noteElement.tie.StartNote&&(r=i.noteElement.tie.StartNote),e&&r&&r!==e.noteElement){const s=[];for(const o of state$1.times)r===o.noteElement&&s.push(o);if(s.length)return s.find(o=>o.i===i.i-1)||s[0]}return e},getComposer=i=>{var r,s;const e=Array.from(i.querySelectorAll("creator"));for(const o of e)o&&o.getAttribute("type")==="composer"&&!state$1.musicComposer&&(state$1.musicComposer=((r=o.textContent)==null?void 0:r.trim())||""),o&&o.getAttribute("type")==="lyricist"&&!state$1.musicLyricist&&(state$1.musicLyricist=((s=o.textContent)==null?void 0:s.trim())||"")},parseXmlToRepeat=i=>{if(!i.length)return;let e=[],r=0,s=0;for(let o=0;o{let r=-1;if(state$1.repeatInfo.length){for(let s=state$1.repeatInfo.length-1;s>=0;s--){const{start:o,end:a}=state$1.repeatInfo[s];if(i<=o&&e>=a)return r=s,{repeatIdx:r,canRepeat:!0}}return{repeatIdx:r,canRepeat:!1}}else return{repeatIdx:r,canRepeat:!1}},customizationXml=i=>{var c,u;const e=Array.from(i.querySelectorAll("credit")),r=Array.from(i.querySelectorAll("creator")),s=Array.from(i.querySelectorAll("grace")),o=Array.from(i.getElementsByTagName("measure")),a=Array.from(i.getElementsByTagName("note"));let l=0;if(a&&a.length)for(const d of a)lA.getAttribute("segno")==="segno");!g&&m&&b&&d.parentNode.removeChild(d)}if(l>1&&!(i.querySelectorAll("repeat").length>0)){const g=o.last();if(g.getElementsByTagName("barline").length){const m=g.getElementsByTagName("barline")[0];m.innerHTML=m.innerHTML+''}else g.innerHTML=g.innerHTML+` light-heavy `}},analyzeEvxml=(i,e)=>{var u,d,g,m,y,b,A,S,E,x,P,C,T,k,I,M,R,B,_;const r=(g=(d=(u=i.getElementsByTagName("timegap")[0])==null?void 0:u.getElementsByTagName("values")[0])==null?void 0:d.getElementsByTagName("item")[0])==null?void 0:g.getAttribute("num"),s=(b=(y=(m=i.getElementsByTagName("timegap")[0])==null?void 0:m.getElementsByTagName("values")[0])==null?void 0:y.getElementsByTagName("item")[0])==null?void 0:b.getAttribute("den"),o=(E=(S=(A=i.getElementsByTagName("timegap")[0])==null?void 0:A.getElementsByTagName("values")[0])==null?void 0:S.getElementsByTagName("item")[1])==null?void 0:E.getAttribute("num"),a=(C=(P=(x=i.getElementsByTagName("timegap")[0])==null?void 0:x.getElementsByTagName("values")[0])==null?void 0:P.getElementsByTagName("item")[1])==null?void 0:C.getAttribute("den"),l=(T=i.getElementsByTagName("timegap"))!=null&&T.length?Array.from((R=(M=(I=(k=i.getElementsByTagName("timegap"))==null?void 0:k[0])==null?void 0:I.getElementsByTagName("values"))==null?void 0:M[0])==null?void 0:R.getElementsByTagName("item")):[],c=i.getElementsByTagName("measure")[0];if(c){const V=(_=(B=c.getElementsByTagName("times")[0])==null?void 0:B.getElementsByTagName("time")[0])==null?void 0:_.getAttribute("begin");state$1.evXmlBeginTime=V?V/1e3:r?60/state$1.originSpeed*r*4/s:0,state$1.secondEvXmlBeginTime=V?0:o?60/state$1.originSpeed*o*4/a:0;const D=i.getElementsByTagName("timegap").length>0,F=i.getElementsByTagName("times").length>0;if(l&&l.length&&!V)for(const N of l){const K=N==null?void 0:N.getAttribute("num"),G=N==null?void 0:N.getAttribute("den"),q=K?60/state$1.originSpeed*K*4/G:0;state$1.evXmlBeginArr.push(q)}console.log("🚀 ~ evxml解析","有timegap:",D,"有times:",F,"timegap集合",state$1.evXmlBeginArr,"第一个timegap",state$1.evXmlBeginTime)}},compatibleXmlPitchVoice=i=>{var s,o,a;if(Array.from(i.getElementsByTagName("part-name")).filter(l=>{var c;return((c=l==null?void 0:l.textContent)==null?void 0:c.trim().toLocaleUpperCase())!=="COMMON"}).length==1){const c=((a=(o=(s=(Array.from(i.getElementsByTagName("instrument-name"))||[])[0])==null?void 0:s.textContent)==null?void 0:o.trim())==null?void 0:a.toLocaleLowerCase())||"";let u=!1;switch(state$1.musicalCodeId){case 37:case 38:u=!!(!c||c.includes("solo")||c.includes("tenor recorder"));break;case 33:u=!!(!c||c.includes("solo")||c.includes("panpipes"));break;case 34:u=!!(!c||c.includes("solo")||c.includes("ocarina"));break;case 35:u=!!(!c||c.includes("solo")||c.includes("woodwind"));break;case 39:u=!!(!c||c.includes("solo")||c.includes("whistling"));break;default:u=!!(!c||c.includes("solo"));break}window.xmlNeedAdjustVoice=u}},Notfind=defineComponent({name:"notfund",render(){return createVNode(Empty,{image:"error",description:this.$route.path+" 路径不存在"},{default:()=>[createVNode(Button$1,{type:"primary",onClick:()=>this.$router.replace("/")},{default:()=>[createTextVNode("返回首页")]})]})}});export{api_closeCamera as $,handleEndBegin as A,Swipe as B,SwipeItem as C,Popup as D,handleEndSoundCheck as E,Fragment as F,handleViewReport as G,handleStartEvaluat as H,Icon$1 as I,api_videoUpdate as J,api_proxyServiceMessage as K,connectWebsocket as L,getNoteByMeasuresSlursStart as M,NoticeBar as N,useClickAway as O,Popover as P,Button$1 as Q,RouterView as R,Snackbar$1 as S,TheError as T,Slider as U,handleSetSpeed as V,Tabs as W,Tab as X,Cell as Y,Switch$1 as Z,api_openCamera as _,setBehaviorId as a,promisefiyPostMessage as a$,store_legacy as a0,toRefs as a1,getInstrumentName as a2,Picker as a3,List$1 as a4,isVNode as a5,api_cloudDestroy as a6,postMessage$1 as a7,useRoute$1 as a8,showLoadingToast as a9,mappingVoicePart as aA,isRhythmicExercises as aB,subjectFingering as aC,formateTimes as aD,Metronome as aE,getStorageSpeed as aF,nextTick as aG,api_cloudLoading as aH,addMeasureScore as aI,createRouter as aJ,createWebHashHistory as aK,Notfind as aL,setStoreData as aM,createApp as aN,Vue3Lottie as aO,api_savePicture as aP,musicRenderTypeKey as aQ,resetRenderMusicScore as aR,getAudioCurrentTime as aS,handleRessetState as aT,toggleFollow as aU,handleFollowStart as aV,handleFollowEnd as aW,api_setEventTracking as aX,Tick as aY,FollowPractice as aZ,handleInitTick as a_,request$1$1 as aa,closeToast as ab,getBehaviorId as ac,getCampId as ad,onUnmounted as ae,handleChangeSection as af,togglePlay as ag,Circle as ah,metronomeData as ai,handleResetPlay as aj,Badge as ak,api_back as al,useRouter as am,Field as an,getSecondRPM as ao,customData as ap,setGlobalData as aq,api_setStatusBarVisibility as ar,onBeforeUnmount as as,Skeleton as at,Transition as au,MusicScore as av,AudioList as aw,Evaluating as ax,Fingering as ay,isSpecialShapedScreen as az,setCampId as b,api_setCache as b0,getToken as b1,followData as b2,api_suspendPlay as b3,hanldeDirectSelection as b4,showDialog as b5,api_openWebView as b6,musicscoresettingKey as b7,createNamespace$1 as b8,useChildren$1 as b9,commonjsGlobal as bA,EnumMusicRenderType as bB,moveGracePosition as bC,IPlatform as bD,api_musicPracticeRecordDetail as bE,getMusicDetail as bF,setCustomGradual as bG,setCustomNoteRealValue as bH,addNoteBBox as bI,initSmoothAnimation as bJ,simple_musicPage as bK,getNote as bL,gotoNext as bM,moveSmoothAnimationByPlayTime as bN,index as bO,useCustomFieldValue as ba,numericProp as bb,unknownProp as bc,withInstall as bd,makeStringProp as be,extend$2 as bf,makeRequiredProp as bg,truthProp as bh,addUnit as bi,useParent$1 as bj,pick$1 as bk,mergeProps as bl,defineListenerProp as bm,useZIndex as bn,useTeleport as bo,useLock as bp,useRouteListener as bq,Teleport as br,call as bs,withDirectives as bt,createNamespace as bu,vShow as bv,api_getToken as bw,studentQueryUserInfo as bx,Home as by,__vitePreload as bz,onMounted as c,defineComponent as d,computed as e,storeData as f,getQuery as g,createVNode as h,setUserInfo as i,getRandomKey as j,createTextVNode as k,ref as l,state$1 as m,reactive as n,onBeforeMount as o,evaluatingData as p,showToast as q,request as r,setToken as s,Progress as t,queryString as u,api_shareAchievements as v,watch as w,browser as x,handlePerformDetection as y,handleStartBegin as z};