1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042 |
- var __glob_0_2=Object.freeze(Object.defineProperty({__proto__:null,get getImage(){return getImage}},Symbol.toStringTag,{value:"Module"}));const p$3=function(){const R=document.createElement("link").relList;if(R&&R.supports&&R.supports("modulepreload"))return;for(const G of document.querySelectorAll('link[rel="modulepreload"]'))D(G);new MutationObserver(G=>{for(const U of G)if(U.type==="childList")for(const W of U.addedNodes)W.tagName==="LINK"&&W.rel==="modulepreload"&&D(W)}).observe(document,{childList:!0,subtree:!0});function F(G){const U={};return G.integrity&&(U.integrity=G.integrity),G.referrerpolicy&&(U.referrerPolicy=G.referrerpolicy),G.crossorigin==="use-credentials"?U.credentials="include":G.crossorigin==="anonymous"?U.credentials="omit":U.credentials="same-origin",U}function D(G){if(G.ep)return;G.ep=!0;const U=F(G);fetch(G.href,U)}};p$3();function makeMap(B,R){const F=Object.create(null),D=B.split(",");for(let G=0;G<D.length;G++)F[D[G]]=!0;return R?G=>!!F[G.toLowerCase()]:G=>!!F[G]}const specialBooleanAttrs="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",isSpecialBooleanAttr=makeMap(specialBooleanAttrs);function includeBooleanAttr(B){return!!B||B===""}function normalizeStyle(B){if(isArray$5(B)){const R={};for(let F=0;F<B.length;F++){const D=B[F],G=isString(D)?parseStringStyle(D):normalizeStyle(D);if(G)for(const U in G)R[U]=G[U]}return R}else{if(isString(B))return B;if(isObject$4(B))return B}}const listDelimiterRE=/;(?![^(]*\))/g,propertyDelimiterRE=/:(.+)/;function parseStringStyle(B){const R={};return B.split(listDelimiterRE).forEach(F=>{if(F){const D=F.split(propertyDelimiterRE);D.length>1&&(R[D[0].trim()]=D[1].trim())}}),R}function normalizeClass(B){let R="";if(isString(B))R=B;else if(isArray$5(B))for(let F=0;F<B.length;F++){const D=normalizeClass(B[F]);D&&(R+=D+" ")}else if(isObject$4(B))for(const F in B)B[F]&&(R+=F+" ");return R.trim()}const EMPTY_OBJ={},EMPTY_ARR=[],NOOP=()=>{},NO=()=>!1,onRE=/^on[^a-z]/,isOn=B=>onRE.test(B),isModelListener=B=>B.startsWith("onUpdate:"),extend$3=Object.assign,remove$7=(B,R)=>{const F=B.indexOf(R);F>-1&&B.splice(F,1)},hasOwnProperty$2=Object.prototype.hasOwnProperty,hasOwn=(B,R)=>hasOwnProperty$2.call(B,R),isArray$5=Array.isArray,isMap=B=>toTypeString(B)==="[object Map]",isSet=B=>toTypeString(B)==="[object Set]",isFunction$4=B=>typeof B=="function",isString=B=>typeof B=="string",isSymbol=B=>typeof B=="symbol",isObject$4=B=>B!==null&&typeof B=="object",isPromise$1=B=>isObject$4(B)&&isFunction$4(B.then)&&isFunction$4(B.catch),objectToString$1=Object.prototype.toString,toTypeString=B=>objectToString$1.call(B),toRawType=B=>toTypeString(B).slice(8,-1),isPlainObject$2=B=>toTypeString(B)==="[object Object]",isIntegerKey=B=>isString(B)&&B!=="NaN"&&B[0]!=="-"&&""+parseInt(B,10)===B,isReservedProp=makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cacheStringFunction=B=>{const R=Object.create(null);return F=>R[F]||(R[F]=B(F))},camelizeRE$1=/-(\w)/g,camelize$1=cacheStringFunction(B=>B.replace(camelizeRE$1,(R,F)=>F?F.toUpperCase():"")),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction(B=>B.replace(hyphenateRE,"-$1").toLowerCase()),capitalize=cacheStringFunction(B=>B.charAt(0).toUpperCase()+B.slice(1)),toHandlerKey=cacheStringFunction(B=>B?`on${capitalize(B)}`:""),hasChanged=(B,R)=>!Object.is(B,R),invokeArrayFns=(B,R)=>{for(let F=0;F<B.length;F++)B[F](R)},def=(B,R,F)=>{Object.defineProperty(B,R,{configurable:!0,enumerable:!1,value:F})},toNumber=B=>{const R=parseFloat(B);return isNaN(R)?B:R};let _globalThis;const getGlobalThis=()=>_globalThis||(_globalThis=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let activeEffectScope;class EffectScope{constructor(R=!1){this.active=!0,this.effects=[],this.cleanups=[],!R&&activeEffectScope&&(this.parent=activeEffectScope,this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1)}run(R){if(this.active){const F=activeEffectScope;try{return activeEffectScope=this,R()}finally{activeEffectScope=F}}}on(){activeEffectScope=this}off(){activeEffectScope=this.parent}stop(R){if(this.active){let F,D;for(F=0,D=this.effects.length;F<D;F++)this.effects[F].stop();for(F=0,D=this.cleanups.length;F<D;F++)this.cleanups[F]();if(this.scopes)for(F=0,D=this.scopes.length;F<D;F++)this.scopes[F].stop(!0);if(this.parent&&!R){const G=this.parent.scopes.pop();G&&G!==this&&(this.parent.scopes[this.index]=G,G.index=this.index)}this.active=!1}}}function recordEffectScope(B,R=activeEffectScope){R&&R.active&&R.effects.push(B)}const createDep=B=>{const R=new Set(B);return R.w=0,R.n=0,R},wasTracked=B=>(B.w&trackOpBit)>0,newTracked=B=>(B.n&trackOpBit)>0,initDepMarkers=({deps:B})=>{if(B.length)for(let R=0;R<B.length;R++)B[R].w|=trackOpBit},finalizeDepMarkers=B=>{const{deps:R}=B;if(R.length){let F=0;for(let D=0;D<R.length;D++){const G=R[D];wasTracked(G)&&!newTracked(G)?G.delete(B):R[F++]=G,G.w&=~trackOpBit,G.n&=~trackOpBit}R.length=F}},targetMap=new WeakMap;let effectTrackDepth=0,trackOpBit=1;const maxMarkerBits=30;let activeEffect;const ITERATE_KEY=Symbol(""),MAP_KEY_ITERATE_KEY=Symbol("");class ReactiveEffect{constructor(R,F=null,D){this.fn=R,this.scheduler=F,this.active=!0,this.deps=[],this.parent=void 0,recordEffectScope(this,D)}run(){if(!this.active)return this.fn();let R=activeEffect,F=shouldTrack;for(;R;){if(R===this)return;R=R.parent}try{return this.parent=activeEffect,activeEffect=this,shouldTrack=!0,trackOpBit=1<<++effectTrackDepth,effectTrackDepth<=maxMarkerBits?initDepMarkers(this):cleanupEffect(this),this.fn()}finally{effectTrackDepth<=maxMarkerBits&&finalizeDepMarkers(this),trackOpBit=1<<--effectTrackDepth,activeEffect=this.parent,shouldTrack=F,this.parent=void 0,this.deferStop&&this.stop()}}stop(){activeEffect===this?this.deferStop=!0:this.active&&(cleanupEffect(this),this.onStop&&this.onStop(),this.active=!1)}}function cleanupEffect(B){const{deps:R}=B;if(R.length){for(let F=0;F<R.length;F++)R[F].delete(B);R.length=0}}let shouldTrack=!0;const trackStack=[];function pauseTracking(){trackStack.push(shouldTrack),shouldTrack=!1}function resetTracking(){const B=trackStack.pop();shouldTrack=B===void 0?!0:B}function track(B,R,F){if(shouldTrack&&activeEffect){let D=targetMap.get(B);D||targetMap.set(B,D=new Map);let G=D.get(F);G||D.set(F,G=createDep()),trackEffects(G)}}function trackEffects(B,R){let F=!1;effectTrackDepth<=maxMarkerBits?newTracked(B)||(B.n|=trackOpBit,F=!wasTracked(B)):F=!B.has(activeEffect),F&&(B.add(activeEffect),activeEffect.deps.push(B))}function trigger$1(B,R,F,D,G,U){const W=targetMap.get(B);if(!W)return;let q=[];if(R==="clear")q=[...W.values()];else if(F==="length"&&isArray$5(B))W.forEach((Y,Q)=>{(Q==="length"||Q>=D)&&q.push(Y)});else switch(F!==void 0&&q.push(W.get(F)),R){case"add":isArray$5(B)?isIntegerKey(F)&&q.push(W.get("length")):(q.push(W.get(ITERATE_KEY)),isMap(B)&&q.push(W.get(MAP_KEY_ITERATE_KEY)));break;case"delete":isArray$5(B)||(q.push(W.get(ITERATE_KEY)),isMap(B)&&q.push(W.get(MAP_KEY_ITERATE_KEY)));break;case"set":isMap(B)&&q.push(W.get(ITERATE_KEY));break}if(q.length===1)q[0]&&triggerEffects(q[0]);else{const Y=[];for(const Q of q)Q&&Y.push(...Q);triggerEffects(createDep(Y))}}function triggerEffects(B,R){for(const F of isArray$5(B)?B:[...B])(F!==activeEffect||F.allowRecurse)&&(F.scheduler?F.scheduler():F.run())}const isNonTrackableKeys=makeMap("__proto__,__v_isRef,__isVue"),builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).map(B=>Symbol[B]).filter(isSymbol)),get$1=createGetter(),shallowGet=createGetter(!1,!0),readonlyGet=createGetter(!0),arrayInstrumentations=createArrayInstrumentations();function createArrayInstrumentations(){const B={};return["includes","indexOf","lastIndexOf"].forEach(R=>{B[R]=function(...F){const D=toRaw(this);for(let U=0,W=this.length;U<W;U++)track(D,"get",U+"");const G=D[R](...F);return G===-1||G===!1?D[R](...F.map(toRaw)):G}}),["push","pop","shift","unshift","splice"].forEach(R=>{B[R]=function(...F){pauseTracking();const D=toRaw(this)[R].apply(this,F);return resetTracking(),D}}),B}function createGetter(B=!1,R=!1){return function(D,G,U){if(G==="__v_isReactive")return!B;if(G==="__v_isReadonly")return B;if(G==="__v_isShallow")return R;if(G==="__v_raw"&&U===(B?R?shallowReadonlyMap:readonlyMap:R?shallowReactiveMap:reactiveMap).get(D))return D;const W=isArray$5(D);if(!B&&W&&hasOwn(arrayInstrumentations,G))return Reflect.get(arrayInstrumentations,G,U);const q=Reflect.get(D,G,U);return(isSymbol(G)?builtInSymbols.has(G):isNonTrackableKeys(G))||(B||track(D,"get",G),R)?q:isRef(q)?!W||!isIntegerKey(G)?q.value:q:isObject$4(q)?B?readonly(q):reactive(q):q}}const set=createSetter(),shallowSet=createSetter(!0);function createSetter(B=!1){return function(F,D,G,U){let W=F[D];if(isReadonly(W)&&isRef(W)&&!isRef(G))return!1;if(!B&&!isReadonly(G)&&(isShallow(G)||(G=toRaw(G),W=toRaw(W)),!isArray$5(F)&&isRef(W)&&!isRef(G)))return W.value=G,!0;const q=isArray$5(F)&&isIntegerKey(D)?Number(D)<F.length:hasOwn(F,D),Y=Reflect.set(F,D,G,U);return F===toRaw(U)&&(q?hasChanged(G,W)&&trigger$1(F,"set",D,G):trigger$1(F,"add",D,G)),Y}}function deleteProperty(B,R){const F=hasOwn(B,R);B[R];const D=Reflect.deleteProperty(B,R);return D&&F&&trigger$1(B,"delete",R,void 0),D}function has$3(B,R){const F=Reflect.has(B,R);return(!isSymbol(R)||!builtInSymbols.has(R))&&track(B,"has",R),F}function ownKeys(B){return track(B,"iterate",isArray$5(B)?"length":ITERATE_KEY),Reflect.ownKeys(B)}const mutableHandlers={get:get$1,set,deleteProperty,has:has$3,ownKeys},readonlyHandlers={get:readonlyGet,set(B,R){return!0},deleteProperty(B,R){return!0}},shallowReactiveHandlers=extend$3({},mutableHandlers,{get:shallowGet,set:shallowSet}),toShallow=B=>B,getProto=B=>Reflect.getPrototypeOf(B);function get$1$1(B,R,F=!1,D=!1){B=B.__v_raw;const G=toRaw(B),U=toRaw(R);R!==U&&!F&&track(G,"get",R),!F&&track(G,"get",U);const{has:W}=getProto(G),q=D?toShallow:F?toReadonly:toReactive;if(W.call(G,R))return q(B.get(R));if(W.call(G,U))return q(B.get(U));B!==G&&B.get(R)}function has$1$1(B,R=!1){const F=this.__v_raw,D=toRaw(F),G=toRaw(B);return B!==G&&!R&&track(D,"has",B),!R&&track(D,"has",G),B===G?F.has(B):F.has(B)||F.has(G)}function size(B,R=!1){return B=B.__v_raw,!R&&track(toRaw(B),"iterate",ITERATE_KEY),Reflect.get(B,"size",B)}function add(B){B=toRaw(B);const R=toRaw(this);return getProto(R).has.call(R,B)||(R.add(B),trigger$1(R,"add",B,B)),this}function set$1(B,R){R=toRaw(R);const F=toRaw(this),{has:D,get:G}=getProto(F);let U=D.call(F,B);U||(B=toRaw(B),U=D.call(F,B));const W=G.call(F,B);return F.set(B,R),U?hasChanged(R,W)&&trigger$1(F,"set",B,R):trigger$1(F,"add",B,R),this}function deleteEntry(B){const R=toRaw(this),{has:F,get:D}=getProto(R);let G=F.call(R,B);G||(B=toRaw(B),G=F.call(R,B)),D&&D.call(R,B);const U=R.delete(B);return G&&trigger$1(R,"delete",B,void 0),U}function clear(){const B=toRaw(this),R=B.size!==0,F=B.clear();return R&&trigger$1(B,"clear",void 0,void 0),F}function createForEach(B,R){return function(D,G){const U=this,W=U.__v_raw,q=toRaw(W),Y=R?toShallow:B?toReadonly:toReactive;return!B&&track(q,"iterate",ITERATE_KEY),W.forEach((Q,Z)=>D.call(G,Y(Q),Y(Z),U))}}function createIterableMethod(B,R,F){return function(...D){const G=this.__v_raw,U=toRaw(G),W=isMap(U),q=B==="entries"||B===Symbol.iterator&&W,Y=B==="keys"&&W,Q=G[B](...D),Z=F?toShallow:R?toReadonly:toReactive;return!R&&track(U,"iterate",Y?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:K,done:J}=Q.next();return J?{value:K,done:J}:{value:q?[Z(K[0]),Z(K[1])]:Z(K),done:J}},[Symbol.iterator](){return this}}}}function createReadonlyMethod(B){return function(...R){return B==="delete"?!1:this}}function createInstrumentations(){const B={get(U){return get$1$1(this,U)},get size(){return size(this)},has:has$1$1,add,set:set$1,delete:deleteEntry,clear,forEach:createForEach(!1,!1)},R={get(U){return get$1$1(this,U,!1,!0)},get size(){return size(this)},has:has$1$1,add,set:set$1,delete:deleteEntry,clear,forEach:createForEach(!1,!0)},F={get(U){return get$1$1(this,U,!0)},get size(){return size(this,!0)},has(U){return has$1$1.call(this,U,!0)},add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear"),forEach:createForEach(!0,!1)},D={get(U){return get$1$1(this,U,!0,!0)},get size(){return size(this,!0)},has(U){return has$1$1.call(this,U,!0)},add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear"),forEach:createForEach(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(U=>{B[U]=createIterableMethod(U,!1,!1),F[U]=createIterableMethod(U,!0,!1),R[U]=createIterableMethod(U,!1,!0),D[U]=createIterableMethod(U,!0,!0)}),[B,F,R,D]}const[mutableInstrumentations,readonlyInstrumentations,shallowInstrumentations,shallowReadonlyInstrumentations]=createInstrumentations();function createInstrumentationGetter(B,R){const F=R?B?shallowReadonlyInstrumentations:shallowInstrumentations:B?readonlyInstrumentations:mutableInstrumentations;return(D,G,U)=>G==="__v_isReactive"?!B:G==="__v_isReadonly"?B:G==="__v_raw"?D:Reflect.get(hasOwn(F,G)&&G in D?F:D,G,U)}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(B){switch(B){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function getTargetType(B){return B.__v_skip||!Object.isExtensible(B)?0:targetTypeMap(toRawType(B))}function reactive(B){return isReadonly(B)?B:createReactiveObject(B,!1,mutableHandlers,mutableCollectionHandlers,reactiveMap)}function shallowReactive(B){return createReactiveObject(B,!1,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap)}function readonly(B){return createReactiveObject(B,!0,readonlyHandlers,readonlyCollectionHandlers,readonlyMap)}function createReactiveObject(B,R,F,D,G){if(!isObject$4(B)||B.__v_raw&&!(R&&B.__v_isReactive))return B;const U=G.get(B);if(U)return U;const W=getTargetType(B);if(W===0)return B;const q=new Proxy(B,W===2?D:F);return G.set(B,q),q}function isReactive(B){return isReadonly(B)?isReactive(B.__v_raw):!!(B&&B.__v_isReactive)}function isReadonly(B){return!!(B&&B.__v_isReadonly)}function isShallow(B){return!!(B&&B.__v_isShallow)}function isProxy(B){return isReactive(B)||isReadonly(B)}function toRaw(B){const R=B&&B.__v_raw;return R?toRaw(R):B}function markRaw(B){return def(B,"__v_skip",!0),B}const toReactive=B=>isObject$4(B)?reactive(B):B,toReadonly=B=>isObject$4(B)?readonly(B):B;function trackRefValue(B){shouldTrack&&activeEffect&&(B=toRaw(B),trackEffects(B.dep||(B.dep=createDep())))}function triggerRefValue(B,R){B=toRaw(B),B.dep&&triggerEffects(B.dep)}function isRef(B){return!!(B&&B.__v_isRef===!0)}function ref(B){return createRef(B,!1)}function shallowRef(B){return createRef(B,!0)}function createRef(B,R){return isRef(B)?B:new RefImpl(B,R)}class RefImpl{constructor(R,F){this.__v_isShallow=F,this.dep=void 0,this.__v_isRef=!0,this._rawValue=F?R:toRaw(R),this._value=F?R:toReactive(R)}get value(){return trackRefValue(this),this._value}set value(R){R=this.__v_isShallow?R:toRaw(R),hasChanged(R,this._rawValue)&&(this._rawValue=R,this._value=this.__v_isShallow?R:toReactive(R),triggerRefValue(this))}}function unref(B){return isRef(B)?B.value:B}const shallowUnwrapHandlers={get:(B,R,F)=>unref(Reflect.get(B,R,F)),set:(B,R,F,D)=>{const G=B[R];return isRef(G)&&!isRef(F)?(G.value=F,!0):Reflect.set(B,R,F,D)}};function proxyRefs(B){return isReactive(B)?B:new Proxy(B,shallowUnwrapHandlers)}function toRefs(B){const R=isArray$5(B)?new Array(B.length):{};for(const F in B)R[F]=toRef(B,F);return R}class ObjectRefImpl{constructor(R,F,D){this._object=R,this._key=F,this._defaultValue=D,this.__v_isRef=!0}get value(){const R=this._object[this._key];return R===void 0?this._defaultValue:R}set value(R){this._object[this._key]=R}}function toRef(B,R,F){const D=B[R];return isRef(D)?D:new ObjectRefImpl(B,R,F)}class ComputedRefImpl{constructor(R,F,D,G){this._setter=F,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new ReactiveEffect(R,()=>{this._dirty||(this._dirty=!0,triggerRefValue(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!G,this.__v_isReadonly=D}get value(){const R=toRaw(this);return trackRefValue(R),(R._dirty||!R._cacheable)&&(R._dirty=!1,R._value=R.effect.run()),R._value}set value(R){this._setter(R)}}function computed$1(B,R,F=!1){let D,G;const U=isFunction$4(B);return U?(D=B,G=NOOP):(D=B.get,G=B.set),new ComputedRefImpl(D,G,U||!G,F)}function callWithErrorHandling(B,R,F,D){let G;try{G=D?B(...D):B()}catch(U){handleError(U,R,F)}return G}function callWithAsyncErrorHandling(B,R,F,D){if(isFunction$4(B)){const U=callWithErrorHandling(B,R,F,D);return U&&isPromise$1(U)&&U.catch(W=>{handleError(W,R,F)}),U}const G=[];for(let U=0;U<B.length;U++)G.push(callWithAsyncErrorHandling(B[U],R,F,D));return G}function handleError(B,R,F,D=!0){const G=R?R.vnode:null;if(R){let U=R.parent;const W=R.proxy,q=F;for(;U;){const Q=U.ec;if(Q){for(let Z=0;Z<Q.length;Z++)if(Q[Z](B,W,q)===!1)return}U=U.parent}const Y=R.appContext.config.errorHandler;if(Y){callWithErrorHandling(Y,null,10,[B,W,q]);return}}logError(B,F,G,D)}function logError(B,R,F,D=!0){console.error(B)}let isFlushing=!1,isFlushPending=!1;const queue$2=[];let flushIndex=0;const pendingPreFlushCbs=[];let activePreFlushCbs=null,preFlushIndex=0;const pendingPostFlushCbs=[];let activePostFlushCbs=null,postFlushIndex=0;const resolvedPromise=Promise.resolve();let currentFlushPromise=null,currentPreFlushParentJob=null;function nextTick(B){const R=currentFlushPromise||resolvedPromise;return B?R.then(this?B.bind(this):B):R}function findInsertionIndex(B){let R=flushIndex+1,F=queue$2.length;for(;R<F;){const D=R+F>>>1;getId(queue$2[D])<B?R=D+1:F=D}return R}function queueJob(B){(!queue$2.length||!queue$2.includes(B,isFlushing&&B.allowRecurse?flushIndex+1:flushIndex))&&B!==currentPreFlushParentJob&&(B.id==null?queue$2.push(B):queue$2.splice(findInsertionIndex(B.id),0,B),queueFlush())}function queueFlush(){!isFlushing&&!isFlushPending&&(isFlushPending=!0,currentFlushPromise=resolvedPromise.then(flushJobs))}function invalidateJob(B){const R=queue$2.indexOf(B);R>flushIndex&&queue$2.splice(R,1)}function queueCb(B,R,F,D){isArray$5(B)?F.push(...B):(!R||!R.includes(B,B.allowRecurse?D+1:D))&&F.push(B),queueFlush()}function queuePreFlushCb(B){queueCb(B,activePreFlushCbs,pendingPreFlushCbs,preFlushIndex)}function queuePostFlushCb(B){queueCb(B,activePostFlushCbs,pendingPostFlushCbs,postFlushIndex)}function flushPreFlushCbs(B,R=null){if(pendingPreFlushCbs.length){for(currentPreFlushParentJob=R,activePreFlushCbs=[...new Set(pendingPreFlushCbs)],pendingPreFlushCbs.length=0,preFlushIndex=0;preFlushIndex<activePreFlushCbs.length;preFlushIndex++)activePreFlushCbs[preFlushIndex]();activePreFlushCbs=null,preFlushIndex=0,currentPreFlushParentJob=null,flushPreFlushCbs(B,R)}}function flushPostFlushCbs(B){if(pendingPostFlushCbs.length){const R=[...new Set(pendingPostFlushCbs)];if(pendingPostFlushCbs.length=0,activePostFlushCbs){activePostFlushCbs.push(...R);return}for(activePostFlushCbs=R,activePostFlushCbs.sort((F,D)=>getId(F)-getId(D)),postFlushIndex=0;postFlushIndex<activePostFlushCbs.length;postFlushIndex++)activePostFlushCbs[postFlushIndex]();activePostFlushCbs=null,postFlushIndex=0}}const getId=B=>B.id==null?1/0:B.id;function flushJobs(B){isFlushPending=!1,isFlushing=!0,flushPreFlushCbs(B),queue$2.sort((F,D)=>getId(F)-getId(D));const R=NOOP;try{for(flushIndex=0;flushIndex<queue$2.length;flushIndex++){const F=queue$2[flushIndex];F&&F.active!==!1&&callWithErrorHandling(F,null,14)}}finally{flushIndex=0,queue$2.length=0,flushPostFlushCbs(),isFlushing=!1,currentFlushPromise=null,(queue$2.length||pendingPreFlushCbs.length||pendingPostFlushCbs.length)&&flushJobs(B)}}function emit$1(B,R,...F){if(B.isUnmounted)return;const D=B.vnode.props||EMPTY_OBJ;let G=F;const U=R.startsWith("update:"),W=U&&R.slice(7);if(W&&W in D){const Z=`${W==="modelValue"?"model":W}Modifiers`,{number:K,trim:J}=D[Z]||EMPTY_OBJ;J?G=F.map(ie=>ie.trim()):K&&(G=F.map(toNumber))}let q,Y=D[q=toHandlerKey(R)]||D[q=toHandlerKey(camelize$1(R))];!Y&&U&&(Y=D[q=toHandlerKey(hyphenate(R))]),Y&&callWithAsyncErrorHandling(Y,B,6,G);const Q=D[q+"Once"];if(Q){if(!B.emitted)B.emitted={};else if(B.emitted[q])return;B.emitted[q]=!0,callWithAsyncErrorHandling(Q,B,6,G)}}function normalizeEmitsOptions(B,R,F=!1){const D=R.emitsCache,G=D.get(B);if(G!==void 0)return G;const U=B.emits;let W={},q=!1;if(!isFunction$4(B)){const Y=Q=>{const Z=normalizeEmitsOptions(Q,R,!0);Z&&(q=!0,extend$3(W,Z))};!F&&R.mixins.length&&R.mixins.forEach(Y),B.extends&&Y(B.extends),B.mixins&&B.mixins.forEach(Y)}return!U&&!q?(D.set(B,null),null):(isArray$5(U)?U.forEach(Y=>W[Y]=null):extend$3(W,U),D.set(B,W),W)}function isEmitListener(B,R){return!B||!isOn(R)?!1:(R=R.slice(2).replace(/Once$/,""),hasOwn(B,R[0].toLowerCase()+R.slice(1))||hasOwn(B,hyphenate(R))||hasOwn(B,R))}let currentRenderingInstance=null,currentScopeId=null;function setCurrentRenderingInstance(B){const R=currentRenderingInstance;return currentRenderingInstance=B,currentScopeId=B&&B.type.__scopeId||null,R}function withCtx(B,R=currentRenderingInstance,F){if(!R||B._n)return B;const D=(...G)=>{D._d&&setBlockTracking(-1);const U=setCurrentRenderingInstance(R),W=B(...G);return setCurrentRenderingInstance(U),D._d&&setBlockTracking(1),W};return D._n=!0,D._c=!0,D._d=!0,D}function markAttrsAccessed(){}function renderComponentRoot(B){const{type:R,vnode:F,proxy:D,withProxy:G,props:U,propsOptions:[W],slots:q,attrs:Y,emit:Q,render:Z,renderCache:K,data:J,setupState:ie,ctx:ne,inheritAttrs:se}=B;let re,ae;const le=setCurrentRenderingInstance(B);try{if(F.shapeFlag&4){const he=G||D;re=normalizeVNode(Z.call(he,he,K,U,ie,J,ne)),ae=Y}else{const he=R;re=normalizeVNode(he.length>1?he(U,{attrs:Y,slots:q,emit:Q}):he(U,null)),ae=R.props?Y:getFunctionalFallthrough(Y)}}catch(he){blockStack.length=0,handleError(he,B,1),re=createVNode(Comment)}let ce=re;if(ae&&se!==!1){const he=Object.keys(ae),{shapeFlag:de}=ce;he.length&&de&7&&(W&&he.some(isModelListener)&&(ae=filterModelListeners(ae,W)),ce=cloneVNode(ce,ae))}return F.dirs&&(ce.dirs=ce.dirs?ce.dirs.concat(F.dirs):F.dirs),F.transition&&(ce.transition=F.transition),re=ce,setCurrentRenderingInstance(le),re}const getFunctionalFallthrough=B=>{let R;for(const F in B)(F==="class"||F==="style"||isOn(F))&&((R||(R={}))[F]=B[F]);return R},filterModelListeners=(B,R)=>{const F={};for(const D in B)(!isModelListener(D)||!(D.slice(9)in R))&&(F[D]=B[D]);return F};function shouldUpdateComponent(B,R,F){const{props:D,children:G,component:U}=B,{props:W,children:q,patchFlag:Y}=R,Q=U.emitsOptions;if(R.dirs||R.transition)return!0;if(F&&Y>=0){if(Y&1024)return!0;if(Y&16)return D?hasPropsChanged(D,W,Q):!!W;if(Y&8){const Z=R.dynamicProps;for(let K=0;K<Z.length;K++){const J=Z[K];if(W[J]!==D[J]&&!isEmitListener(Q,J))return!0}}}else return(G||q)&&(!q||!q.$stable)?!0:D===W?!1:D?W?hasPropsChanged(D,W,Q):!0:!!W;return!1}function hasPropsChanged(B,R,F){const D=Object.keys(R);if(D.length!==Object.keys(B).length)return!0;for(let G=0;G<D.length;G++){const U=D[G];if(R[U]!==B[U]&&!isEmitListener(F,U))return!0}return!1}function updateHOCHostEl({vnode:B,parent:R},F){for(;R&&R.subTree===B;)(B=R.vnode).el=F,R=R.parent}const isSuspense=B=>B.__isSuspense;function queueEffectWithSuspense(B,R){R&&R.pendingBranch?isArray$5(B)?R.effects.push(...B):R.effects.push(B):queuePostFlushCb(B)}function provide(B,R){if(currentInstance){let F=currentInstance.provides;const D=currentInstance.parent&¤tInstance.parent.provides;D===F&&(F=currentInstance.provides=Object.create(D)),F[B]=R}}function inject(B,R,F=!1){const D=currentInstance||currentRenderingInstance;if(D){const G=D.parent==null?D.vnode.appContext&&D.vnode.appContext.provides:D.parent.provides;if(G&&B in G)return G[B];if(arguments.length>1)return F&&isFunction$4(R)?R.call(D.proxy):R}}function watchEffect(B,R){return doWatch(B,null,R)}const INITIAL_WATCHER_VALUE={};function watch(B,R,F){return doWatch(B,R,F)}function doWatch(B,R,{immediate:F,deep:D,flush:G,onTrack:U,onTrigger:W}=EMPTY_OBJ){const q=currentInstance;let Y,Q=!1,Z=!1;if(isRef(B)?(Y=()=>B.value,Q=isShallow(B)):isReactive(B)?(Y=()=>B,D=!0):isArray$5(B)?(Z=!0,Q=B.some(isReactive),Y=()=>B.map(ae=>{if(isRef(ae))return ae.value;if(isReactive(ae))return traverse(ae);if(isFunction$4(ae))return callWithErrorHandling(ae,q,2)})):isFunction$4(B)?R?Y=()=>callWithErrorHandling(B,q,2):Y=()=>{if(!(q&&q.isUnmounted))return K&&K(),callWithAsyncErrorHandling(B,q,3,[J])}:Y=NOOP,R&&D){const ae=Y;Y=()=>traverse(ae())}let K,J=ae=>{K=re.onStop=()=>{callWithErrorHandling(ae,q,4)}};if(isInSSRComponentSetup)return J=NOOP,R?F&&callWithAsyncErrorHandling(R,q,3,[Y(),Z?[]:void 0,J]):Y(),NOOP;let ie=Z?[]:INITIAL_WATCHER_VALUE;const ne=()=>{if(!!re.active)if(R){const ae=re.run();(D||Q||(Z?ae.some((le,ce)=>hasChanged(le,ie[ce])):hasChanged(ae,ie)))&&(K&&K(),callWithAsyncErrorHandling(R,q,3,[ae,ie===INITIAL_WATCHER_VALUE?void 0:ie,J]),ie=ae)}else re.run()};ne.allowRecurse=!!R;let se;G==="sync"?se=ne:G==="post"?se=()=>queuePostRenderEffect(ne,q&&q.suspense):se=()=>{!q||q.isMounted?queuePreFlushCb(ne):ne()};const re=new ReactiveEffect(Y,se);return R?F?ne():ie=re.run():G==="post"?queuePostRenderEffect(re.run.bind(re),q&&q.suspense):re.run(),()=>{re.stop(),q&&q.scope&&remove$7(q.scope.effects,re)}}function instanceWatch(B,R,F){const D=this.proxy,G=isString(B)?B.includes(".")?createPathGetter(D,B):()=>D[B]:B.bind(D,D);let U;isFunction$4(R)?U=R:(U=R.handler,F=R);const W=currentInstance;setCurrentInstance(this);const q=doWatch(G,U.bind(D),F);return W?setCurrentInstance(W):unsetCurrentInstance(),q}function createPathGetter(B,R){const F=R.split(".");return()=>{let D=B;for(let G=0;G<F.length&&D;G++)D=D[F[G]];return D}}function traverse(B,R){if(!isObject$4(B)||B.__v_skip||(R=R||new Set,R.has(B)))return B;if(R.add(B),isRef(B))traverse(B.value,R);else if(isArray$5(B))for(let F=0;F<B.length;F++)traverse(B[F],R);else if(isSet(B)||isMap(B))B.forEach(F=>{traverse(F,R)});else if(isPlainObject$2(B))for(const F in B)traverse(B[F],R);return B}function useTransitionState(){const B={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return onMounted(()=>{B.isMounted=!0}),onBeforeUnmount(()=>{B.isUnmounting=!0}),B}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(B,{slots:R}){const F=getCurrentInstance(),D=useTransitionState();let G;return()=>{const U=R.default&&getTransitionRawChildren(R.default(),!0);if(!U||!U.length)return;let W=U[0];if(U.length>1){for(const se of U)if(se.type!==Comment){W=se;break}}const q=toRaw(B),{mode:Y}=q;if(D.isLeaving)return emptyPlaceholder(W);const Q=getKeepAliveChild(W);if(!Q)return emptyPlaceholder(W);const Z=resolveTransitionHooks(Q,q,D,F);setTransitionHooks(Q,Z);const K=F.subTree,J=K&&getKeepAliveChild(K);let ie=!1;const{getTransitionKey:ne}=Q.type;if(ne){const se=ne();G===void 0?G=se:se!==G&&(G=se,ie=!0)}if(J&&J.type!==Comment&&(!isSameVNodeType(Q,J)||ie)){const se=resolveTransitionHooks(J,q,D,F);if(setTransitionHooks(J,se),Y==="out-in")return D.isLeaving=!0,se.afterLeave=()=>{D.isLeaving=!1,F.update()},emptyPlaceholder(W);Y==="in-out"&&Q.type!==Comment&&(se.delayLeave=(re,ae,le)=>{const ce=getLeavingNodesForType(D,J);ce[String(J.key)]=J,re._leaveCb=()=>{ae(),re._leaveCb=void 0,delete Z.delayedLeave},Z.delayedLeave=le})}return W}}},BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(B,R){const{leavingVNodes:F}=B;let D=F.get(R.type);return D||(D=Object.create(null),F.set(R.type,D)),D}function resolveTransitionHooks(B,R,F,D){const{appear:G,mode:U,persisted:W=!1,onBeforeEnter:q,onEnter:Y,onAfterEnter:Q,onEnterCancelled:Z,onBeforeLeave:K,onLeave:J,onAfterLeave:ie,onLeaveCancelled:ne,onBeforeAppear:se,onAppear:re,onAfterAppear:ae,onAppearCancelled:le}=R,ce=String(B.key),he=getLeavingNodesForType(F,B),de=(fe,ge)=>{fe&&callWithAsyncErrorHandling(fe,D,9,ge)},me={mode:U,persisted:W,beforeEnter(fe){let ge=q;if(!F.isMounted)if(G)ge=se||q;else return;fe._leaveCb&&fe._leaveCb(!0);const Se=he[ce];Se&&isSameVNodeType(B,Se)&&Se.el._leaveCb&&Se.el._leaveCb(),de(ge,[fe])},enter(fe){let ge=Y,Se=Q,Ee=Z;if(!F.isMounted)if(G)ge=re||Y,Se=ae||Q,Ee=le||Z;else return;let ve=!1;const xe=fe._enterCb=Pe=>{ve||(ve=!0,Pe?de(Ee,[fe]):de(Se,[fe]),me.delayedLeave&&me.delayedLeave(),fe._enterCb=void 0)};ge?(ge(fe,xe),ge.length<=1&&xe()):xe()},leave(fe,ge){const Se=String(B.key);if(fe._enterCb&&fe._enterCb(!0),F.isUnmounting)return ge();de(K,[fe]);let Ee=!1;const ve=fe._leaveCb=xe=>{Ee||(Ee=!0,ge(),xe?de(ne,[fe]):de(ie,[fe]),fe._leaveCb=void 0,he[Se]===B&&delete he[Se])};he[Se]=B,J?(J(fe,ve),J.length<=1&&ve()):ve()},clone(fe){return resolveTransitionHooks(fe,R,F,D)}};return me}function emptyPlaceholder(B){if(isKeepAlive(B))return B=cloneVNode(B),B.children=null,B}function getKeepAliveChild(B){return isKeepAlive(B)?B.children?B.children[0]:void 0:B}function setTransitionHooks(B,R){B.shapeFlag&6&&B.component?setTransitionHooks(B.component.subTree,R):B.shapeFlag&128?(B.ssContent.transition=R.clone(B.ssContent),B.ssFallback.transition=R.clone(B.ssFallback)):B.transition=R}function getTransitionRawChildren(B,R=!1,F){let D=[],G=0;for(let U=0;U<B.length;U++){let W=B[U];const q=F==null?W.key:String(F)+String(W.key!=null?W.key:U);W.type===Fragment?(W.patchFlag&128&&G++,D=D.concat(getTransitionRawChildren(W.children,R,q))):(R||W.type!==Comment)&&D.push(q!=null?cloneVNode(W,{key:q}):W)}if(G>1)for(let U=0;U<D.length;U++)D[U].patchFlag=-2;return D}function defineComponent(B){return isFunction$4(B)?{setup:B,name:B.name}:B}const isAsyncWrapper=B=>!!B.type.__asyncLoader,isKeepAlive=B=>B.type.__isKeepAlive;function onActivated(B,R){registerKeepAliveHook(B,"a",R)}function onDeactivated(B,R){registerKeepAliveHook(B,"da",R)}function registerKeepAliveHook(B,R,F=currentInstance){const D=B.__wdc||(B.__wdc=()=>{let G=F;for(;G;){if(G.isDeactivated)return;G=G.parent}return B()});if(injectHook(R,D,F),F){let G=F.parent;for(;G&&G.parent;)isKeepAlive(G.parent.vnode)&&injectToKeepAliveRoot(D,R,F,G),G=G.parent}}function injectToKeepAliveRoot(B,R,F,D){const G=injectHook(R,B,D,!0);onUnmounted(()=>{remove$7(D[R],G)},F)}function injectHook(B,R,F=currentInstance,D=!1){if(F){const G=F[B]||(F[B]=[]),U=R.__weh||(R.__weh=(...W)=>{if(F.isUnmounted)return;pauseTracking(),setCurrentInstance(F);const q=callWithAsyncErrorHandling(R,F,B,W);return unsetCurrentInstance(),resetTracking(),q});return D?G.unshift(U):G.push(U),U}}const createHook=B=>(R,F=currentInstance)=>(!isInSSRComponentSetup||B==="sp")&&injectHook(B,R,F),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(B,R=currentInstance){injectHook("ec",B,R)}let shouldCacheAccess=!0;function applyOptions(B){const R=resolveMergedOptions(B),F=B.proxy,D=B.ctx;shouldCacheAccess=!1,R.beforeCreate&&callHook$1(R.beforeCreate,B,"bc");const{data:G,computed:U,methods:W,watch:q,provide:Y,inject:Q,created:Z,beforeMount:K,mounted:J,beforeUpdate:ie,updated:ne,activated:se,deactivated:re,beforeDestroy:ae,beforeUnmount:le,destroyed:ce,unmounted:he,render:de,renderTracked:me,renderTriggered:fe,errorCaptured:ge,serverPrefetch:Se,expose:Ee,inheritAttrs:ve,components:xe,directives:Pe,filters:ye}=R;if(Q&&resolveInjections(Q,D,null,B.appContext.config.unwrapInjectedRef),W)for(const we in W){const Ae=W[we];isFunction$4(Ae)&&(D[we]=Ae.bind(F))}if(G){const we=G.call(F,F);isObject$4(we)&&(B.data=reactive(we))}if(shouldCacheAccess=!0,U)for(const we in U){const Ae=U[we],Me=isFunction$4(Ae)?Ae.bind(F,F):isFunction$4(Ae.get)?Ae.get.bind(F,F):NOOP,ke=!isFunction$4(Ae)&&isFunction$4(Ae.set)?Ae.set.bind(F):NOOP,Ne=computed({get:Me,set:ke});Object.defineProperty(D,we,{enumerable:!0,configurable:!0,get:()=>Ne.value,set:Ie=>Ne.value=Ie})}if(q)for(const we in q)createWatcher(q[we],D,F,we);if(Y){const we=isFunction$4(Y)?Y.call(F):Y;Reflect.ownKeys(we).forEach(Ae=>{provide(Ae,we[Ae])})}Z&&callHook$1(Z,B,"c");function Le(we,Ae){isArray$5(Ae)?Ae.forEach(Me=>we(Me.bind(F))):Ae&&we(Ae.bind(F))}if(Le(onBeforeMount,K),Le(onMounted,J),Le(onBeforeUpdate,ie),Le(onUpdated,ne),Le(onActivated,se),Le(onDeactivated,re),Le(onErrorCaptured,ge),Le(onRenderTracked,me),Le(onRenderTriggered,fe),Le(onBeforeUnmount,le),Le(onUnmounted,he),Le(onServerPrefetch,Se),isArray$5(Ee))if(Ee.length){const we=B.exposed||(B.exposed={});Ee.forEach(Ae=>{Object.defineProperty(we,Ae,{get:()=>F[Ae],set:Me=>F[Ae]=Me})})}else B.exposed||(B.exposed={});de&&B.render===NOOP&&(B.render=de),ve!=null&&(B.inheritAttrs=ve),xe&&(B.components=xe),Pe&&(B.directives=Pe)}function resolveInjections(B,R,F=NOOP,D=!1){isArray$5(B)&&(B=normalizeInject(B));for(const G in B){const U=B[G];let W;isObject$4(U)?"default"in U?W=inject(U.from||G,U.default,!0):W=inject(U.from||G):W=inject(U),isRef(W)&&D?Object.defineProperty(R,G,{enumerable:!0,configurable:!0,get:()=>W.value,set:q=>W.value=q}):R[G]=W}}function callHook$1(B,R,F){callWithAsyncErrorHandling(isArray$5(B)?B.map(D=>D.bind(R.proxy)):B.bind(R.proxy),R,F)}function createWatcher(B,R,F,D){const G=D.includes(".")?createPathGetter(F,D):()=>F[D];if(isString(B)){const U=R[B];isFunction$4(U)&&watch(G,U)}else if(isFunction$4(B))watch(G,B.bind(F));else if(isObject$4(B))if(isArray$5(B))B.forEach(U=>createWatcher(U,R,F,D));else{const U=isFunction$4(B.handler)?B.handler.bind(F):R[B.handler];isFunction$4(U)&&watch(G,U,B)}}function resolveMergedOptions(B){const R=B.type,{mixins:F,extends:D}=R,{mixins:G,optionsCache:U,config:{optionMergeStrategies:W}}=B.appContext,q=U.get(R);let Y;return q?Y=q:!G.length&&!F&&!D?Y=R:(Y={},G.length&&G.forEach(Q=>mergeOptions$1(Y,Q,W,!0)),mergeOptions$1(Y,R,W)),U.set(R,Y),Y}function mergeOptions$1(B,R,F,D=!1){const{mixins:G,extends:U}=R;U&&mergeOptions$1(B,U,F,!0),G&&G.forEach(W=>mergeOptions$1(B,W,F,!0));for(const W in R)if(!(D&&W==="expose")){const q=internalOptionMergeStrats[W]||F&&F[W];B[W]=q?q(B[W],R[W]):R[W]}return B}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(B,R){return R?B?function(){return extend$3(isFunction$4(B)?B.call(this,this):B,isFunction$4(R)?R.call(this,this):R)}:R:B}function mergeInject(B,R){return mergeObjectOptions(normalizeInject(B),normalizeInject(R))}function normalizeInject(B){if(isArray$5(B)){const R={};for(let F=0;F<B.length;F++)R[B[F]]=B[F];return R}return B}function mergeAsArray(B,R){return B?[...new Set([].concat(B,R))]:R}function mergeObjectOptions(B,R){return B?extend$3(extend$3(Object.create(null),B),R):R}function mergeWatchOptions(B,R){if(!B)return R;if(!R)return B;const F=extend$3(Object.create(null),B);for(const D in R)F[D]=mergeAsArray(B[D],R[D]);return F}function initProps(B,R,F,D=!1){const G={},U={};def(U,InternalObjectKey,1),B.propsDefaults=Object.create(null),setFullProps(B,R,G,U);for(const W in B.propsOptions[0])W in G||(G[W]=void 0);F?B.props=D?G:shallowReactive(G):B.type.props?B.props=G:B.props=U,B.attrs=U}function updateProps(B,R,F,D){const{props:G,attrs:U,vnode:{patchFlag:W}}=B,q=toRaw(G),[Y]=B.propsOptions;let Q=!1;if((D||W>0)&&!(W&16)){if(W&8){const Z=B.vnode.dynamicProps;for(let K=0;K<Z.length;K++){let J=Z[K];if(isEmitListener(B.emitsOptions,J))continue;const ie=R[J];if(Y)if(hasOwn(U,J))ie!==U[J]&&(U[J]=ie,Q=!0);else{const ne=camelize$1(J);G[ne]=resolvePropValue(Y,q,ne,ie,B,!1)}else ie!==U[J]&&(U[J]=ie,Q=!0)}}}else{setFullProps(B,R,G,U)&&(Q=!0);let Z;for(const K in q)(!R||!hasOwn(R,K)&&((Z=hyphenate(K))===K||!hasOwn(R,Z)))&&(Y?F&&(F[K]!==void 0||F[Z]!==void 0)&&(G[K]=resolvePropValue(Y,q,K,void 0,B,!0)):delete G[K]);if(U!==q)for(const K in U)(!R||!hasOwn(R,K)&&!0)&&(delete U[K],Q=!0)}Q&&trigger$1(B,"set","$attrs")}function setFullProps(B,R,F,D){const[G,U]=B.propsOptions;let W=!1,q;if(R)for(let Y in R){if(isReservedProp(Y))continue;const Q=R[Y];let Z;G&&hasOwn(G,Z=camelize$1(Y))?!U||!U.includes(Z)?F[Z]=Q:(q||(q={}))[Z]=Q:isEmitListener(B.emitsOptions,Y)||(!(Y in D)||Q!==D[Y])&&(D[Y]=Q,W=!0)}if(U){const Y=toRaw(F),Q=q||EMPTY_OBJ;for(let Z=0;Z<U.length;Z++){const K=U[Z];F[K]=resolvePropValue(G,Y,K,Q[K],B,!hasOwn(Q,K))}}return W}function resolvePropValue(B,R,F,D,G,U){const W=B[F];if(W!=null){const q=hasOwn(W,"default");if(q&&D===void 0){const Y=W.default;if(W.type!==Function&&isFunction$4(Y)){const{propsDefaults:Q}=G;F in Q?D=Q[F]:(setCurrentInstance(G),D=Q[F]=Y.call(null,R),unsetCurrentInstance())}else D=Y}W[0]&&(U&&!q?D=!1:W[1]&&(D===""||D===hyphenate(F))&&(D=!0))}return D}function normalizePropsOptions(B,R,F=!1){const D=R.propsCache,G=D.get(B);if(G)return G;const U=B.props,W={},q=[];let Y=!1;if(!isFunction$4(B)){const Z=K=>{Y=!0;const[J,ie]=normalizePropsOptions(K,R,!0);extend$3(W,J),ie&&q.push(...ie)};!F&&R.mixins.length&&R.mixins.forEach(Z),B.extends&&Z(B.extends),B.mixins&&B.mixins.forEach(Z)}if(!U&&!Y)return D.set(B,EMPTY_ARR),EMPTY_ARR;if(isArray$5(U))for(let Z=0;Z<U.length;Z++){const K=camelize$1(U[Z]);validatePropName(K)&&(W[K]=EMPTY_OBJ)}else if(U)for(const Z in U){const K=camelize$1(Z);if(validatePropName(K)){const J=U[Z],ie=W[K]=isArray$5(J)||isFunction$4(J)?{type:J}:J;if(ie){const ne=getTypeIndex(Boolean,ie.type),se=getTypeIndex(String,ie.type);ie[0]=ne>-1,ie[1]=se<0||ne<se,(ne>-1||hasOwn(ie,"default"))&&q.push(K)}}}const Q=[W,q];return D.set(B,Q),Q}function validatePropName(B){return B[0]!=="$"}function getType(B){const R=B&&B.toString().match(/^\s*function (\w+)/);return R?R[1]:B===null?"null":""}function isSameType(B,R){return getType(B)===getType(R)}function getTypeIndex(B,R){return isArray$5(R)?R.findIndex(F=>isSameType(F,B)):isFunction$4(R)&&isSameType(R,B)?0:-1}const isInternalKey=B=>B[0]==="_"||B==="$stable",normalizeSlotValue=B=>isArray$5(B)?B.map(normalizeVNode):[normalizeVNode(B)],normalizeSlot$1=(B,R,F)=>{const D=withCtx((...G)=>normalizeSlotValue(R(...G)),F);return D._c=!1,D},normalizeObjectSlots=(B,R,F)=>{const D=B._ctx;for(const G in B){if(isInternalKey(G))continue;const U=B[G];if(isFunction$4(U))R[G]=normalizeSlot$1(G,U,D);else if(U!=null){const W=normalizeSlotValue(U);R[G]=()=>W}}},normalizeVNodeSlots=(B,R)=>{const F=normalizeSlotValue(R);B.slots.default=()=>F},initSlots=(B,R)=>{if(B.vnode.shapeFlag&32){const F=R._;F?(B.slots=toRaw(R),def(R,"_",F)):normalizeObjectSlots(R,B.slots={})}else B.slots={},R&&normalizeVNodeSlots(B,R);def(B.slots,InternalObjectKey,1)},updateSlots=(B,R,F)=>{const{vnode:D,slots:G}=B;let U=!0,W=EMPTY_OBJ;if(D.shapeFlag&32){const q=R._;q?F&&q===1?U=!1:(extend$3(G,R),!F&&q===1&&delete G._):(U=!R.$stable,normalizeObjectSlots(R,G)),W=R}else R&&(normalizeVNodeSlots(B,R),W={default:1});if(U)for(const q in G)!isInternalKey(q)&&!(q in W)&&delete G[q]};function withDirectives(B,R){const F=currentRenderingInstance;if(F===null)return B;const D=getExposeProxy(F)||F.proxy,G=B.dirs||(B.dirs=[]);for(let U=0;U<R.length;U++){let[W,q,Y,Q=EMPTY_OBJ]=R[U];isFunction$4(W)&&(W={mounted:W,updated:W}),W.deep&&traverse(q),G.push({dir:W,instance:D,value:q,oldValue:void 0,arg:Y,modifiers:Q})}return B}function invokeDirectiveHook(B,R,F,D){const G=B.dirs,U=R&&R.dirs;for(let W=0;W<G.length;W++){const q=G[W];U&&(q.oldValue=U[W].value);let Y=q.dir[D];Y&&(pauseTracking(),callWithAsyncErrorHandling(Y,F,8,[B.el,q,B,R]),resetTracking())}}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=0;function createAppAPI(B,R){return function(D,G=null){isFunction$4(D)||(D=Object.assign({},D)),G!=null&&!isObject$4(G)&&(G=null);const U=createAppContext(),W=new Set;let q=!1;const Y=U.app={_uid:uid++,_component:D,_props:G,_container:null,_context:U,_instance:null,version,get config(){return U.config},set config(Q){},use(Q,...Z){return W.has(Q)||(Q&&isFunction$4(Q.install)?(W.add(Q),Q.install(Y,...Z)):isFunction$4(Q)&&(W.add(Q),Q(Y,...Z))),Y},mixin(Q){return U.mixins.includes(Q)||U.mixins.push(Q),Y},component(Q,Z){return Z?(U.components[Q]=Z,Y):U.components[Q]},directive(Q,Z){return Z?(U.directives[Q]=Z,Y):U.directives[Q]},mount(Q,Z,K){if(!q){const J=createVNode(D,G);return J.appContext=U,Z&&R?R(J,Q):B(J,Q,K),q=!0,Y._container=Q,Q.__vue_app__=Y,getExposeProxy(J.component)||J.component.proxy}},unmount(){q&&(B(null,Y._container),delete Y._container.__vue_app__)},provide(Q,Z){return U.provides[Q]=Z,Y}};return Y}}function setRef(B,R,F,D,G=!1){if(isArray$5(B)){B.forEach((J,ie)=>setRef(J,R&&(isArray$5(R)?R[ie]:R),F,D,G));return}if(isAsyncWrapper(D)&&!G)return;const U=D.shapeFlag&4?getExposeProxy(D.component)||D.component.proxy:D.el,W=G?null:U,{i:q,r:Y}=B,Q=R&&R.r,Z=q.refs===EMPTY_OBJ?q.refs={}:q.refs,K=q.setupState;if(Q!=null&&Q!==Y&&(isString(Q)?(Z[Q]=null,hasOwn(K,Q)&&(K[Q]=null)):isRef(Q)&&(Q.value=null)),isFunction$4(Y))callWithErrorHandling(Y,q,12,[W,Z]);else{const J=isString(Y),ie=isRef(Y);if(J||ie){const ne=()=>{if(B.f){const se=J?Z[Y]:Y.value;G?isArray$5(se)&&remove$7(se,U):isArray$5(se)?se.includes(U)||se.push(U):J?(Z[Y]=[U],hasOwn(K,Y)&&(K[Y]=Z[Y])):(Y.value=[U],B.k&&(Z[B.k]=Y.value))}else J?(Z[Y]=W,hasOwn(K,Y)&&(K[Y]=W)):isRef(Y)&&(Y.value=W,B.k&&(Z[B.k]=W))};W?(ne.id=-1,queuePostRenderEffect(ne,F)):ne()}}}const queuePostRenderEffect=queueEffectWithSuspense;function createRenderer(B){return baseCreateRenderer(B)}function baseCreateRenderer(B,R){const F=getGlobalThis();F.__VUE__=!0;const{insert:D,remove:G,patchProp:U,createElement:W,createText:q,createComment:Y,setText:Q,setElementText:Z,parentNode:K,nextSibling:J,setScopeId:ie=NOOP,cloneNode:ne,insertStaticContent:se}=B,re=(Fe,_e,je,Ze=null,De=null,Oe=null,Xe=!1,tt=null,nt=!!_e.dynamicChildren)=>{if(Fe===_e)return;Fe&&!isSameVNodeType(Fe,_e)&&(Ze=Je(Fe),Ge(Fe,De,Oe,!0),Fe=null),_e.patchFlag===-2&&(nt=!1,_e.dynamicChildren=null);const{type:Ke,ref:ct,shapeFlag:ut}=_e;switch(Ke){case Text:ae(Fe,_e,je,Ze);break;case Comment:le(Fe,_e,je,Ze);break;case Static:Fe==null&&ce(_e,je,Ze,Xe);break;case Fragment:Pe(Fe,_e,je,Ze,De,Oe,Xe,tt,nt);break;default:ut&1?me(Fe,_e,je,Ze,De,Oe,Xe,tt,nt):ut&6?ye(Fe,_e,je,Ze,De,Oe,Xe,tt,nt):(ut&64||ut&128)&&Ke.process(Fe,_e,je,Ze,De,Oe,Xe,tt,nt,pt)}ct!=null&&De&&setRef(ct,Fe&&Fe.ref,Oe,_e||Fe,!_e)},ae=(Fe,_e,je,Ze)=>{if(Fe==null)D(_e.el=q(_e.children),je,Ze);else{const De=_e.el=Fe.el;_e.children!==Fe.children&&Q(De,_e.children)}},le=(Fe,_e,je,Ze)=>{Fe==null?D(_e.el=Y(_e.children||""),je,Ze):_e.el=Fe.el},ce=(Fe,_e,je,Ze)=>{[Fe.el,Fe.anchor]=se(Fe.children,_e,je,Ze,Fe.el,Fe.anchor)},he=({el:Fe,anchor:_e},je,Ze)=>{let De;for(;Fe&&Fe!==_e;)De=J(Fe),D(Fe,je,Ze),Fe=De;D(_e,je,Ze)},de=({el:Fe,anchor:_e})=>{let je;for(;Fe&&Fe!==_e;)je=J(Fe),G(Fe),Fe=je;G(_e)},me=(Fe,_e,je,Ze,De,Oe,Xe,tt,nt)=>{Xe=Xe||_e.type==="svg",Fe==null?fe(_e,je,Ze,De,Oe,Xe,tt,nt):Ee(Fe,_e,De,Oe,Xe,tt,nt)},fe=(Fe,_e,je,Ze,De,Oe,Xe,tt)=>{let nt,Ke;const{type:ct,props:ut,shapeFlag:ht,transition:vt,patchFlag:xt,dirs:gt}=Fe;if(Fe.el&&ne!==void 0&&xt===-1)nt=Fe.el=ne(Fe.el);else{if(nt=Fe.el=W(Fe.type,Oe,ut&&ut.is,ut),ht&8?Z(nt,Fe.children):ht&16&&Se(Fe.children,nt,null,Ze,De,Oe&&ct!=="foreignObject",Xe,tt),gt&&invokeDirectiveHook(Fe,null,Ze,"created"),ut){for(const kt in ut)kt!=="value"&&!isReservedProp(kt)&&U(nt,kt,null,ut[kt],Oe,Fe.children,Ze,De,et);"value"in ut&&U(nt,"value",null,ut.value),(Ke=ut.onVnodeBeforeMount)&&invokeVNodeHook(Ke,Ze,Fe)}ge(nt,Fe,Fe.scopeId,Xe,Ze)}gt&&invokeDirectiveHook(Fe,null,Ze,"beforeMount");const Pt=(!De||De&&!De.pendingBranch)&&vt&&!vt.persisted;Pt&&vt.beforeEnter(nt),D(nt,_e,je),((Ke=ut&&ut.onVnodeMounted)||Pt||gt)&&queuePostRenderEffect(()=>{Ke&&invokeVNodeHook(Ke,Ze,Fe),Pt&&vt.enter(nt),gt&&invokeDirectiveHook(Fe,null,Ze,"mounted")},De)},ge=(Fe,_e,je,Ze,De)=>{if(je&&ie(Fe,je),Ze)for(let Oe=0;Oe<Ze.length;Oe++)ie(Fe,Ze[Oe]);if(De){let Oe=De.subTree;if(_e===Oe){const Xe=De.vnode;ge(Fe,Xe,Xe.scopeId,Xe.slotScopeIds,De.parent)}}},Se=(Fe,_e,je,Ze,De,Oe,Xe,tt,nt=0)=>{for(let Ke=nt;Ke<Fe.length;Ke++){const ct=Fe[Ke]=tt?cloneIfMounted(Fe[Ke]):normalizeVNode(Fe[Ke]);re(null,ct,_e,je,Ze,De,Oe,Xe,tt)}},Ee=(Fe,_e,je,Ze,De,Oe,Xe)=>{const tt=_e.el=Fe.el;let{patchFlag:nt,dynamicChildren:Ke,dirs:ct}=_e;nt|=Fe.patchFlag&16;const ut=Fe.props||EMPTY_OBJ,ht=_e.props||EMPTY_OBJ;let vt;je&&toggleRecurse(je,!1),(vt=ht.onVnodeBeforeUpdate)&&invokeVNodeHook(vt,je,_e,Fe),ct&&invokeDirectiveHook(_e,Fe,je,"beforeUpdate"),je&&toggleRecurse(je,!0);const xt=De&&_e.type!=="foreignObject";if(Ke?ve(Fe.dynamicChildren,Ke,tt,je,Ze,xt,Oe):Xe||Me(Fe,_e,tt,null,je,Ze,xt,Oe,!1),nt>0){if(nt&16)xe(tt,_e,ut,ht,je,Ze,De);else if(nt&2&&ut.class!==ht.class&&U(tt,"class",null,ht.class,De),nt&4&&U(tt,"style",ut.style,ht.style,De),nt&8){const gt=_e.dynamicProps;for(let Pt=0;Pt<gt.length;Pt++){const kt=gt[Pt],Yt=ut[kt],fi=ht[kt];(fi!==Yt||kt==="value")&&U(tt,kt,Yt,fi,De,Fe.children,je,Ze,et)}}nt&1&&Fe.children!==_e.children&&Z(tt,_e.children)}else!Xe&&Ke==null&&xe(tt,_e,ut,ht,je,Ze,De);((vt=ht.onVnodeUpdated)||ct)&&queuePostRenderEffect(()=>{vt&&invokeVNodeHook(vt,je,_e,Fe),ct&&invokeDirectiveHook(_e,Fe,je,"updated")},Ze)},ve=(Fe,_e,je,Ze,De,Oe,Xe)=>{for(let tt=0;tt<_e.length;tt++){const nt=Fe[tt],Ke=_e[tt],ct=nt.el&&(nt.type===Fragment||!isSameVNodeType(nt,Ke)||nt.shapeFlag&70)?K(nt.el):je;re(nt,Ke,ct,null,Ze,De,Oe,Xe,!0)}},xe=(Fe,_e,je,Ze,De,Oe,Xe)=>{if(je!==Ze){for(const tt in Ze){if(isReservedProp(tt))continue;const nt=Ze[tt],Ke=je[tt];nt!==Ke&&tt!=="value"&&U(Fe,tt,Ke,nt,Xe,_e.children,De,Oe,et)}if(je!==EMPTY_OBJ)for(const tt in je)!isReservedProp(tt)&&!(tt in Ze)&&U(Fe,tt,je[tt],null,Xe,_e.children,De,Oe,et);"value"in Ze&&U(Fe,"value",je.value,Ze.value)}},Pe=(Fe,_e,je,Ze,De,Oe,Xe,tt,nt)=>{const Ke=_e.el=Fe?Fe.el:q(""),ct=_e.anchor=Fe?Fe.anchor:q("");let{patchFlag:ut,dynamicChildren:ht,slotScopeIds:vt}=_e;vt&&(tt=tt?tt.concat(vt):vt),Fe==null?(D(Ke,je,Ze),D(ct,je,Ze),Se(_e.children,je,ct,De,Oe,Xe,tt,nt)):ut>0&&ut&64&&ht&&Fe.dynamicChildren?(ve(Fe.dynamicChildren,ht,je,De,Oe,Xe,tt),(_e.key!=null||De&&_e===De.subTree)&&traverseStaticChildren(Fe,_e,!0)):Me(Fe,_e,je,ct,De,Oe,Xe,tt,nt)},ye=(Fe,_e,je,Ze,De,Oe,Xe,tt,nt)=>{_e.slotScopeIds=tt,Fe==null?_e.shapeFlag&512?De.ctx.activate(_e,je,Ze,Xe,nt):Te(_e,je,Ze,De,Oe,Xe,nt):Le(Fe,_e,nt)},Te=(Fe,_e,je,Ze,De,Oe,Xe)=>{const tt=Fe.component=createComponentInstance(Fe,Ze,De);if(isKeepAlive(Fe)&&(tt.ctx.renderer=pt),setupComponent(tt),tt.asyncDep){if(De&&De.registerDep(tt,we),!Fe.el){const nt=tt.subTree=createVNode(Comment);le(null,nt,_e,je)}return}we(tt,Fe,_e,je,De,Oe,Xe)},Le=(Fe,_e,je)=>{const Ze=_e.component=Fe.component;if(shouldUpdateComponent(Fe,_e,je))if(Ze.asyncDep&&!Ze.asyncResolved){Ae(Ze,_e,je);return}else Ze.next=_e,invalidateJob(Ze.update),Ze.update();else _e.component=Fe.component,_e.el=Fe.el,Ze.vnode=_e},we=(Fe,_e,je,Ze,De,Oe,Xe)=>{const tt=()=>{if(Fe.isMounted){let{next:ct,bu:ut,u:ht,parent:vt,vnode:xt}=Fe,gt=ct,Pt;toggleRecurse(Fe,!1),ct?(ct.el=xt.el,Ae(Fe,ct,Xe)):ct=xt,ut&&invokeArrayFns(ut),(Pt=ct.props&&ct.props.onVnodeBeforeUpdate)&&invokeVNodeHook(Pt,vt,ct,xt),toggleRecurse(Fe,!0);const kt=renderComponentRoot(Fe),Yt=Fe.subTree;Fe.subTree=kt,re(Yt,kt,K(Yt.el),Je(Yt),Fe,De,Oe),ct.el=kt.el,gt===null&&updateHOCHostEl(Fe,kt.el),ht&&queuePostRenderEffect(ht,De),(Pt=ct.props&&ct.props.onVnodeUpdated)&&queuePostRenderEffect(()=>invokeVNodeHook(Pt,vt,ct,xt),De)}else{let ct;const{el:ut,props:ht}=_e,{bm:vt,m:xt,parent:gt}=Fe,Pt=isAsyncWrapper(_e);if(toggleRecurse(Fe,!1),vt&&invokeArrayFns(vt),!Pt&&(ct=ht&&ht.onVnodeBeforeMount)&&invokeVNodeHook(ct,gt,_e),toggleRecurse(Fe,!0),ut&&yt){const kt=()=>{Fe.subTree=renderComponentRoot(Fe),yt(ut,Fe.subTree,Fe,De,null)};Pt?_e.type.__asyncLoader().then(()=>!Fe.isUnmounted&&kt()):kt()}else{const kt=Fe.subTree=renderComponentRoot(Fe);re(null,kt,je,Ze,Fe,De,Oe),_e.el=kt.el}if(xt&&queuePostRenderEffect(xt,De),!Pt&&(ct=ht&&ht.onVnodeMounted)){const kt=_e;queuePostRenderEffect(()=>invokeVNodeHook(ct,gt,kt),De)}_e.shapeFlag&256&&Fe.a&&queuePostRenderEffect(Fe.a,De),Fe.isMounted=!0,_e=je=Ze=null}},nt=Fe.effect=new ReactiveEffect(tt,()=>queueJob(Fe.update),Fe.scope),Ke=Fe.update=nt.run.bind(nt);Ke.id=Fe.uid,toggleRecurse(Fe,!0),Ke()},Ae=(Fe,_e,je)=>{_e.component=Fe;const Ze=Fe.vnode.props;Fe.vnode=_e,Fe.next=null,updateProps(Fe,_e.props,Ze,je),updateSlots(Fe,_e.children,je),pauseTracking(),flushPreFlushCbs(void 0,Fe.update),resetTracking()},Me=(Fe,_e,je,Ze,De,Oe,Xe,tt,nt=!1)=>{const Ke=Fe&&Fe.children,ct=Fe?Fe.shapeFlag:0,ut=_e.children,{patchFlag:ht,shapeFlag:vt}=_e;if(ht>0){if(ht&128){Ne(Ke,ut,je,Ze,De,Oe,Xe,tt,nt);return}else if(ht&256){ke(Ke,ut,je,Ze,De,Oe,Xe,tt,nt);return}}vt&8?(ct&16&&et(Ke,De,Oe),ut!==Ke&&Z(je,ut)):ct&16?vt&16?Ne(Ke,ut,je,Ze,De,Oe,Xe,tt,nt):et(Ke,De,Oe,!0):(ct&8&&Z(je,""),vt&16&&Se(ut,je,Ze,De,Oe,Xe,tt,nt))},ke=(Fe,_e,je,Ze,De,Oe,Xe,tt,nt)=>{Fe=Fe||EMPTY_ARR,_e=_e||EMPTY_ARR;const Ke=Fe.length,ct=_e.length,ut=Math.min(Ke,ct);let ht;for(ht=0;ht<ut;ht++){const vt=_e[ht]=nt?cloneIfMounted(_e[ht]):normalizeVNode(_e[ht]);re(Fe[ht],vt,je,null,De,Oe,Xe,tt,nt)}Ke>ct?et(Fe,De,Oe,!0,!1,ut):Se(_e,je,Ze,De,Oe,Xe,tt,nt,ut)},Ne=(Fe,_e,je,Ze,De,Oe,Xe,tt,nt)=>{let Ke=0;const ct=_e.length;let ut=Fe.length-1,ht=ct-1;for(;Ke<=ut&&Ke<=ht;){const vt=Fe[Ke],xt=_e[Ke]=nt?cloneIfMounted(_e[Ke]):normalizeVNode(_e[Ke]);if(isSameVNodeType(vt,xt))re(vt,xt,je,null,De,Oe,Xe,tt,nt);else break;Ke++}for(;Ke<=ut&&Ke<=ht;){const vt=Fe[ut],xt=_e[ht]=nt?cloneIfMounted(_e[ht]):normalizeVNode(_e[ht]);if(isSameVNodeType(vt,xt))re(vt,xt,je,null,De,Oe,Xe,tt,nt);else break;ut--,ht--}if(Ke>ut){if(Ke<=ht){const vt=ht+1,xt=vt<ct?_e[vt].el:Ze;for(;Ke<=ht;)re(null,_e[Ke]=nt?cloneIfMounted(_e[Ke]):normalizeVNode(_e[Ke]),je,xt,De,Oe,Xe,tt,nt),Ke++}}else if(Ke>ht)for(;Ke<=ut;)Ge(Fe[Ke],De,Oe,!0),Ke++;else{const vt=Ke,xt=Ke,gt=new Map;for(Ke=xt;Ke<=ht;Ke++){const Qt=_e[Ke]=nt?cloneIfMounted(_e[Ke]):normalizeVNode(_e[Ke]);Qt.key!=null&>.set(Qt.key,Ke)}let Pt,kt=0;const Yt=ht-xt+1;let fi=!1,Jt=0;const ii=new Array(Yt);for(Ke=0;Ke<Yt;Ke++)ii[Ke]=0;for(Ke=vt;Ke<=ut;Ke++){const Qt=Fe[Ke];if(kt>=Yt){Ge(Qt,De,Oe,!0);continue}let Ai;if(Qt.key!=null)Ai=gt.get(Qt.key);else for(Pt=xt;Pt<=ht;Pt++)if(ii[Pt-xt]===0&&isSameVNodeType(Qt,_e[Pt])){Ai=Pt;break}Ai===void 0?Ge(Qt,De,Oe,!0):(ii[Ai-xt]=Ke+1,Ai>=Jt?Jt=Ai:fi=!0,re(Qt,_e[Ai],je,null,De,Oe,Xe,tt,nt),kt++)}const ui=fi?getSequence(ii):EMPTY_ARR;for(Pt=ui.length-1,Ke=Yt-1;Ke>=0;Ke--){const Qt=xt+Ke,Ai=_e[Qt],Qi=Qt+1<ct?_e[Qt+1].el:Ze;ii[Ke]===0?re(null,Ai,je,Qi,De,Oe,Xe,tt,nt):fi&&(Pt<0||Ke!==ui[Pt]?Ie(Ai,je,Qi,2):Pt--)}}},Ie=(Fe,_e,je,Ze,De=null)=>{const{el:Oe,type:Xe,transition:tt,children:nt,shapeFlag:Ke}=Fe;if(Ke&6){Ie(Fe.component.subTree,_e,je,Ze);return}if(Ke&128){Fe.suspense.move(_e,je,Ze);return}if(Ke&64){Xe.move(Fe,_e,je,pt);return}if(Xe===Fragment){D(Oe,_e,je);for(let ut=0;ut<nt.length;ut++)Ie(nt[ut],_e,je,Ze);D(Fe.anchor,_e,je);return}if(Xe===Static){he(Fe,_e,je);return}if(Ze!==2&&Ke&1&&tt)if(Ze===0)tt.beforeEnter(Oe),D(Oe,_e,je),queuePostRenderEffect(()=>tt.enter(Oe),De);else{const{leave:ut,delayLeave:ht,afterLeave:vt}=tt,xt=()=>D(Oe,_e,je),gt=()=>{ut(Oe,()=>{xt(),vt&&vt()})};ht?ht(Oe,xt,gt):gt()}else D(Oe,_e,je)},Ge=(Fe,_e,je,Ze=!1,De=!1)=>{const{type:Oe,props:Xe,ref:tt,children:nt,dynamicChildren:Ke,shapeFlag:ct,patchFlag:ut,dirs:ht}=Fe;if(tt!=null&&setRef(tt,null,je,Fe,!0),ct&256){_e.ctx.deactivate(Fe);return}const vt=ct&1&&ht,xt=!isAsyncWrapper(Fe);let gt;if(xt&&(gt=Xe&&Xe.onVnodeBeforeUnmount)&&invokeVNodeHook(gt,_e,Fe),ct&6)Ye(Fe.component,je,Ze);else{if(ct&128){Fe.suspense.unmount(je,Ze);return}vt&&invokeDirectiveHook(Fe,null,_e,"beforeUnmount"),ct&64?Fe.type.remove(Fe,_e,je,De,pt,Ze):Ke&&(Oe!==Fragment||ut>0&&ut&64)?et(Ke,_e,je,!1,!0):(Oe===Fragment&&ut&384||!De&&ct&16)&&et(nt,_e,je),Ze&&ze(Fe)}(xt&&(gt=Xe&&Xe.onVnodeUnmounted)||vt)&&queuePostRenderEffect(()=>{gt&&invokeVNodeHook(gt,_e,Fe),vt&&invokeDirectiveHook(Fe,null,_e,"unmounted")},je)},ze=Fe=>{const{type:_e,el:je,anchor:Ze,transition:De}=Fe;if(_e===Fragment){Ve(je,Ze);return}if(_e===Static){de(Fe);return}const Oe=()=>{G(je),De&&!De.persisted&&De.afterLeave&&De.afterLeave()};if(Fe.shapeFlag&1&&De&&!De.persisted){const{leave:Xe,delayLeave:tt}=De,nt=()=>Xe(je,Oe);tt?tt(Fe.el,Oe,nt):nt()}else Oe()},Ve=(Fe,_e)=>{let je;for(;Fe!==_e;)je=J(Fe),G(Fe),Fe=je;G(_e)},Ye=(Fe,_e,je)=>{const{bum:Ze,scope:De,update:Oe,subTree:Xe,um:tt}=Fe;Ze&&invokeArrayFns(Ze),De.stop(),Oe&&(Oe.active=!1,Ge(Xe,Fe,_e,je)),tt&&queuePostRenderEffect(tt,_e),queuePostRenderEffect(()=>{Fe.isUnmounted=!0},_e),_e&&_e.pendingBranch&&!_e.isUnmounted&&Fe.asyncDep&&!Fe.asyncResolved&&Fe.suspenseId===_e.pendingId&&(_e.deps--,_e.deps===0&&_e.resolve())},et=(Fe,_e,je,Ze=!1,De=!1,Oe=0)=>{for(let Xe=Oe;Xe<Fe.length;Xe++)Ge(Fe[Xe],_e,je,Ze,De)},Je=Fe=>Fe.shapeFlag&6?Je(Fe.component.subTree):Fe.shapeFlag&128?Fe.suspense.next():J(Fe.anchor||Fe.el),st=(Fe,_e,je)=>{Fe==null?_e._vnode&&Ge(_e._vnode,null,null,!0):re(_e._vnode||null,Fe,_e,null,null,null,je),flushPostFlushCbs(),_e._vnode=Fe},pt={p:re,um:Ge,m:Ie,r:ze,mt:Te,mc:Se,pc:Me,pbc:ve,n:Je,o:B};let dt,yt;return R&&([dt,yt]=R(pt)),{render:st,hydrate:dt,createApp:createAppAPI(st,dt)}}function toggleRecurse({effect:B,update:R},F){B.allowRecurse=R.allowRecurse=F}function traverseStaticChildren(B,R,F=!1){const D=B.children,G=R.children;if(isArray$5(D)&&isArray$5(G))for(let U=0;U<D.length;U++){const W=D[U];let q=G[U];q.shapeFlag&1&&!q.dynamicChildren&&((q.patchFlag<=0||q.patchFlag===32)&&(q=G[U]=cloneIfMounted(G[U]),q.el=W.el),F||traverseStaticChildren(W,q))}}function getSequence(B){const R=B.slice(),F=[0];let D,G,U,W,q;const Y=B.length;for(D=0;D<Y;D++){const Q=B[D];if(Q!==0){if(G=F[F.length-1],B[G]<Q){R[D]=G,F.push(D);continue}for(U=0,W=F.length-1;U<W;)q=U+W>>1,B[F[q]]<Q?U=q+1:W=q;Q<B[F[U]]&&(U>0&&(R[D]=F[U-1]),F[U]=D)}}for(U=F.length,W=F[U-1];U-- >0;)F[U]=W,W=R[W];return F}const isTeleport=B=>B.__isTeleport,isTeleportDisabled=B=>B&&(B.disabled||B.disabled===""),isTargetSVG=B=>typeof SVGElement!="undefined"&&B instanceof SVGElement,resolveTarget=(B,R)=>{const F=B&&B.to;return isString(F)?R?R(F):null:F},TeleportImpl={__isTeleport:!0,process(B,R,F,D,G,U,W,q,Y,Q){const{mc:Z,pc:K,pbc:J,o:{insert:ie,querySelector:ne,createText:se,createComment:re}}=Q,ae=isTeleportDisabled(R.props);let{shapeFlag:le,children:ce,dynamicChildren:he}=R;if(B==null){const de=R.el=se(""),me=R.anchor=se("");ie(de,F,D),ie(me,F,D);const fe=R.target=resolveTarget(R.props,ne),ge=R.targetAnchor=se("");fe&&(ie(ge,fe),W=W||isTargetSVG(fe));const Se=(Ee,ve)=>{le&16&&Z(ce,Ee,ve,G,U,W,q,Y)};ae?Se(F,me):fe&&Se(fe,ge)}else{R.el=B.el;const de=R.anchor=B.anchor,me=R.target=B.target,fe=R.targetAnchor=B.targetAnchor,ge=isTeleportDisabled(B.props),Se=ge?F:me,Ee=ge?de:fe;if(W=W||isTargetSVG(me),he?(J(B.dynamicChildren,he,Se,G,U,W,q),traverseStaticChildren(B,R,!0)):Y||K(B,R,Se,Ee,G,U,W,q,!1),ae)ge||moveTeleport(R,F,de,Q,1);else if((R.props&&R.props.to)!==(B.props&&B.props.to)){const ve=R.target=resolveTarget(R.props,ne);ve&&moveTeleport(R,ve,null,Q,0)}else ge&&moveTeleport(R,me,fe,Q,1)}},remove(B,R,F,D,{um:G,o:{remove:U}},W){const{shapeFlag:q,children:Y,anchor:Q,targetAnchor:Z,target:K,props:J}=B;if(K&&U(Z),(W||!isTeleportDisabled(J))&&(U(Q),q&16))for(let ie=0;ie<Y.length;ie++){const ne=Y[ie];G(ne,R,F,!0,!!ne.dynamicChildren)}},move:moveTeleport,hydrate:hydrateTeleport};function moveTeleport(B,R,F,{o:{insert:D},m:G},U=2){U===0&&D(B.targetAnchor,R,F);const{el:W,anchor:q,shapeFlag:Y,children:Q,props:Z}=B,K=U===2;if(K&&D(W,R,F),(!K||isTeleportDisabled(Z))&&Y&16)for(let J=0;J<Q.length;J++)G(Q[J],R,F,2);K&&D(q,R,F)}function hydrateTeleport(B,R,F,D,G,U,{o:{nextSibling:W,parentNode:q,querySelector:Y}},Q){const Z=R.target=resolveTarget(R.props,Y);if(Z){const K=Z._lpa||Z.firstChild;R.shapeFlag&16&&(isTeleportDisabled(R.props)?(R.anchor=Q(W(B),R,q(B),F,D,G,U),R.targetAnchor=K):(R.anchor=W(B),R.targetAnchor=Q(K,R,Z,F,D,G,U)),Z._lpa=R.targetAnchor&&W(R.targetAnchor))}return R.anchor&&W(R.anchor)}const Teleport=TeleportImpl,COMPONENTS="components",DIRECTIVES="directives";function resolveComponent(B,R){return resolveAsset(COMPONENTS,B,!0,R)||B}const NULL_DYNAMIC_COMPONENT=Symbol();function resolveDirective(B){return resolveAsset(DIRECTIVES,B)}function resolveAsset(B,R,F=!0,D=!1){const G=currentRenderingInstance||currentInstance;if(G){const U=G.type;if(B===COMPONENTS){const q=getComponentName(U);if(q&&(q===R||q===camelize$1(R)||q===capitalize(camelize$1(R))))return U}const W=resolve(G[B]||U[B],R)||resolve(G.appContext[B],R);return!W&&D?U:W}}function resolve(B,R){return B&&(B[R]||B[camelize$1(R)]||B[capitalize(camelize$1(R))])}const Fragment=Symbol(void 0),Text=Symbol(void 0),Comment=Symbol(void 0),Static=Symbol(void 0),blockStack=[];let currentBlock=null;function openBlock(B=!1){blockStack.push(currentBlock=B?null:[])}function closeBlock(){blockStack.pop(),currentBlock=blockStack[blockStack.length-1]||null}let isBlockTreeEnabled=1;function setBlockTracking(B){isBlockTreeEnabled+=B}function setupBlock(B){return B.dynamicChildren=isBlockTreeEnabled>0?currentBlock||EMPTY_ARR:null,closeBlock(),isBlockTreeEnabled>0&¤tBlock&¤tBlock.push(B),B}function createElementBlock(B,R,F,D,G,U){return setupBlock(createBaseVNode(B,R,F,D,G,U,!0))}function isVNode(B){return B?B.__v_isVNode===!0:!1}function isSameVNodeType(B,R){return B.type===R.type&&B.key===R.key}const InternalObjectKey="__vInternal",normalizeKey=({key:B})=>B!=null?B:null,normalizeRef=({ref:B,ref_key:R,ref_for:F})=>B!=null?isString(B)||isRef(B)||isFunction$4(B)?{i:currentRenderingInstance,r:B,k:R,f:!!F}:B:null;function createBaseVNode(B,R=null,F=null,D=0,G=null,U=B===Fragment?0:1,W=!1,q=!1){const Y={__v_isVNode:!0,__v_skip:!0,type:B,props:R,key:R&&normalizeKey(R),ref:R&&normalizeRef(R),scopeId:currentScopeId,slotScopeIds:null,children:F,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:U,patchFlag:D,dynamicProps:G,dynamicChildren:null,appContext:null};return q?(normalizeChildren(Y,F),U&128&&B.normalize(Y)):F&&(Y.shapeFlag|=isString(F)?8:16),isBlockTreeEnabled>0&&!W&¤tBlock&&(Y.patchFlag>0||U&6)&&Y.patchFlag!==32&¤tBlock.push(Y),Y}const createVNode=_createVNode;function _createVNode(B,R=null,F=null,D=0,G=null,U=!1){if((!B||B===NULL_DYNAMIC_COMPONENT)&&(B=Comment),isVNode(B)){const q=cloneVNode(B,R,!0);return F&&normalizeChildren(q,F),q}if(isClassComponent(B)&&(B=B.__vccOpts),R){R=guardReactiveProps(R);let{class:q,style:Y}=R;q&&!isString(q)&&(R.class=normalizeClass(q)),isObject$4(Y)&&(isProxy(Y)&&!isArray$5(Y)&&(Y=extend$3({},Y)),R.style=normalizeStyle(Y))}const W=isString(B)?1:isSuspense(B)?128:isTeleport(B)?64:isObject$4(B)?4:isFunction$4(B)?2:0;return createBaseVNode(B,R,F,D,G,W,U,!0)}function guardReactiveProps(B){return B?isProxy(B)||InternalObjectKey in B?extend$3({},B):B:null}function cloneVNode(B,R,F=!1){const{props:D,ref:G,patchFlag:U,children:W}=B,q=R?mergeProps(D||{},R):D;return{__v_isVNode:!0,__v_skip:!0,type:B.type,props:q,key:q&&normalizeKey(q),ref:R&&R.ref?F&&G?isArray$5(G)?G.concat(normalizeRef(R)):[G,normalizeRef(R)]:normalizeRef(R):G,scopeId:B.scopeId,slotScopeIds:B.slotScopeIds,children:W,target:B.target,targetAnchor:B.targetAnchor,staticCount:B.staticCount,shapeFlag:B.shapeFlag,patchFlag:R&&B.type!==Fragment?U===-1?16:U|16:U,dynamicProps:B.dynamicProps,dynamicChildren:B.dynamicChildren,appContext:B.appContext,dirs:B.dirs,transition:B.transition,component:B.component,suspense:B.suspense,ssContent:B.ssContent&&cloneVNode(B.ssContent),ssFallback:B.ssFallback&&cloneVNode(B.ssFallback),el:B.el,anchor:B.anchor}}function createTextVNode(B=" ",R=0){return createVNode(Text,null,B,R)}function normalizeVNode(B){return B==null||typeof B=="boolean"?createVNode(Comment):isArray$5(B)?createVNode(Fragment,null,B.slice()):typeof B=="object"?cloneIfMounted(B):createVNode(Text,null,String(B))}function cloneIfMounted(B){return B.el===null||B.memo?B:cloneVNode(B)}function normalizeChildren(B,R){let F=0;const{shapeFlag:D}=B;if(R==null)R=null;else if(isArray$5(R))F=16;else if(typeof R=="object")if(D&65){const G=R.default;G&&(G._c&&(G._d=!1),normalizeChildren(B,G()),G._c&&(G._d=!0));return}else{F=32;const G=R._;!G&&!(InternalObjectKey in R)?R._ctx=currentRenderingInstance:G===3&¤tRenderingInstance&&(currentRenderingInstance.slots._===1?R._=1:(R._=2,B.patchFlag|=1024))}else isFunction$4(R)?(R={default:R,_ctx:currentRenderingInstance},F=32):(R=String(R),D&64?(F=16,R=[createTextVNode(R)]):F=8);B.children=R,B.shapeFlag|=F}function mergeProps(...B){const R={};for(let F=0;F<B.length;F++){const D=B[F];for(const G in D)if(G==="class")R.class!==D.class&&(R.class=normalizeClass([R.class,D.class]));else if(G==="style")R.style=normalizeStyle([R.style,D.style]);else if(isOn(G)){const U=R[G],W=D[G];W&&U!==W&&!(isArray$5(U)&&U.includes(W))&&(R[G]=U?[].concat(U,W):W)}else G!==""&&(R[G]=D[G])}return R}function invokeVNodeHook(B,R,F,D=null){callWithAsyncErrorHandling(B,R,7,[F,D])}const getPublicInstance=B=>B?isStatefulComponent(B)?getExposeProxy(B)||B.proxy:getPublicInstance(B.parent):null,publicPropertiesMap=extend$3(Object.create(null),{$:B=>B,$el:B=>B.vnode.el,$data:B=>B.data,$props:B=>B.props,$attrs:B=>B.attrs,$slots:B=>B.slots,$refs:B=>B.refs,$parent:B=>getPublicInstance(B.parent),$root:B=>getPublicInstance(B.root),$emit:B=>B.emit,$options:B=>resolveMergedOptions(B),$forceUpdate:B=>()=>queueJob(B.update),$nextTick:B=>nextTick.bind(B.proxy),$watch:B=>instanceWatch.bind(B)}),PublicInstanceProxyHandlers={get({_:B},R){const{ctx:F,setupState:D,data:G,props:U,accessCache:W,type:q,appContext:Y}=B;let Q;if(R[0]!=="$"){const ie=W[R];if(ie!==void 0)switch(ie){case 1:return D[R];case 2:return G[R];case 4:return F[R];case 3:return U[R]}else{if(D!==EMPTY_OBJ&&hasOwn(D,R))return W[R]=1,D[R];if(G!==EMPTY_OBJ&&hasOwn(G,R))return W[R]=2,G[R];if((Q=B.propsOptions[0])&&hasOwn(Q,R))return W[R]=3,U[R];if(F!==EMPTY_OBJ&&hasOwn(F,R))return W[R]=4,F[R];shouldCacheAccess&&(W[R]=0)}}const Z=publicPropertiesMap[R];let K,J;if(Z)return R==="$attrs"&&track(B,"get",R),Z(B);if((K=q.__cssModules)&&(K=K[R]))return K;if(F!==EMPTY_OBJ&&hasOwn(F,R))return W[R]=4,F[R];if(J=Y.config.globalProperties,hasOwn(J,R))return J[R]},set({_:B},R,F){const{data:D,setupState:G,ctx:U}=B;return G!==EMPTY_OBJ&&hasOwn(G,R)?(G[R]=F,!0):D!==EMPTY_OBJ&&hasOwn(D,R)?(D[R]=F,!0):hasOwn(B.props,R)||R[0]==="$"&&R.slice(1)in B?!1:(U[R]=F,!0)},has({_:{data:B,setupState:R,accessCache:F,ctx:D,appContext:G,propsOptions:U}},W){let q;return!!F[W]||B!==EMPTY_OBJ&&hasOwn(B,W)||R!==EMPTY_OBJ&&hasOwn(R,W)||(q=U[0])&&hasOwn(q,W)||hasOwn(D,W)||hasOwn(publicPropertiesMap,W)||hasOwn(G.config.globalProperties,W)},defineProperty(B,R,F){return F.get!=null?B._.accessCache[R]=0:hasOwn(F,"value")&&this.set(B,R,F.value,null),Reflect.defineProperty(B,R,F)}},emptyAppContext=createAppContext();let uid$1=0;function createComponentInstance(B,R,F){const D=B.type,G=(R?R.appContext:B.appContext)||emptyAppContext,U={uid:uid$1++,vnode:B,type:D,parent:R,appContext:G,root:null,next:null,subTree:null,effect:null,update:null,scope:new EffectScope(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:R?R.provides:Object.create(G.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:normalizePropsOptions(D,G),emitsOptions:normalizeEmitsOptions(D,G),emit:null,emitted:null,propsDefaults:EMPTY_OBJ,inheritAttrs:D.inheritAttrs,ctx:EMPTY_OBJ,data:EMPTY_OBJ,props:EMPTY_OBJ,attrs:EMPTY_OBJ,slots:EMPTY_OBJ,refs:EMPTY_OBJ,setupState:EMPTY_OBJ,setupContext:null,suspense:F,suspenseId:F?F.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return U.ctx={_:U},U.root=R?R.root:U,U.emit=emit$1.bind(null,U),B.ce&&B.ce(U),U}let currentInstance=null;const getCurrentInstance=()=>currentInstance||currentRenderingInstance,setCurrentInstance=B=>{currentInstance=B,B.scope.on()},unsetCurrentInstance=()=>{currentInstance&¤tInstance.scope.off(),currentInstance=null};function isStatefulComponent(B){return B.vnode.shapeFlag&4}let isInSSRComponentSetup=!1;function setupComponent(B,R=!1){isInSSRComponentSetup=R;const{props:F,children:D}=B.vnode,G=isStatefulComponent(B);initProps(B,F,G,R),initSlots(B,D);const U=G?setupStatefulComponent(B,R):void 0;return isInSSRComponentSetup=!1,U}function setupStatefulComponent(B,R){const F=B.type;B.accessCache=Object.create(null),B.proxy=markRaw(new Proxy(B.ctx,PublicInstanceProxyHandlers));const{setup:D}=F;if(D){const G=B.setupContext=D.length>1?createSetupContext(B):null;setCurrentInstance(B),pauseTracking();const U=callWithErrorHandling(D,B,0,[B.props,G]);if(resetTracking(),unsetCurrentInstance(),isPromise$1(U)){if(U.then(unsetCurrentInstance,unsetCurrentInstance),R)return U.then(W=>{handleSetupResult(B,W,R)}).catch(W=>{handleError(W,B,0)});B.asyncDep=U}else handleSetupResult(B,U,R)}else finishComponentSetup(B,R)}function handleSetupResult(B,R,F){isFunction$4(R)?B.type.__ssrInlineRender?B.ssrRender=R:B.render=R:isObject$4(R)&&(B.setupState=proxyRefs(R)),finishComponentSetup(B,F)}let compile$1;function finishComponentSetup(B,R,F){const D=B.type;if(!B.render){if(!R&&compile$1&&!D.render){const G=D.template;if(G){const{isCustomElement:U,compilerOptions:W}=B.appContext.config,{delimiters:q,compilerOptions:Y}=D,Q=extend$3(extend$3({isCustomElement:U,delimiters:q},W),Y);D.render=compile$1(G,Q)}}B.render=D.render||NOOP}setCurrentInstance(B),pauseTracking(),applyOptions(B),resetTracking(),unsetCurrentInstance()}function createAttrsProxy(B){return new Proxy(B.attrs,{get(R,F){return track(B,"get","$attrs"),R[F]}})}function createSetupContext(B){const R=D=>{B.exposed=D||{}};let F;return{get attrs(){return F||(F=createAttrsProxy(B))},slots:B.slots,emit:B.emit,expose:R}}function getExposeProxy(B){if(B.exposed)return B.exposeProxy||(B.exposeProxy=new Proxy(proxyRefs(markRaw(B.exposed)),{get(R,F){if(F in R)return R[F];if(F in publicPropertiesMap)return publicPropertiesMap[F](B)}}))}function getComponentName(B){return isFunction$4(B)&&B.displayName||B.name}function isClassComponent(B){return isFunction$4(B)&&"__vccOpts"in B}const computed=(B,R)=>computed$1(B,R,isInSSRComponentSetup);function h$3(B,R,F){const D=arguments.length;return D===2?isObject$4(R)&&!isArray$5(R)?isVNode(R)?createVNode(B,null,[R]):createVNode(B,R):createVNode(B,null,R):(D>3?F=Array.prototype.slice.call(arguments,2):D===3&&isVNode(F)&&(F=[F]),createVNode(B,R,F))}const version="3.2.33",svgNS="http://www.w3.org/2000/svg",doc$2=typeof document!="undefined"?document:null,templateContainer=doc$2&&doc$2.createElement("template"),nodeOps={insert:(B,R,F)=>{R.insertBefore(B,F||null)},remove:B=>{const R=B.parentNode;R&&R.removeChild(B)},createElement:(B,R,F,D)=>{const G=R?doc$2.createElementNS(svgNS,B):doc$2.createElement(B,F?{is:F}:void 0);return B==="select"&&D&&D.multiple!=null&&G.setAttribute("multiple",D.multiple),G},createText:B=>doc$2.createTextNode(B),createComment:B=>doc$2.createComment(B),setText:(B,R)=>{B.nodeValue=R},setElementText:(B,R)=>{B.textContent=R},parentNode:B=>B.parentNode,nextSibling:B=>B.nextSibling,querySelector:B=>doc$2.querySelector(B),setScopeId(B,R){B.setAttribute(R,"")},cloneNode(B){const R=B.cloneNode(!0);return"_value"in B&&(R._value=B._value),R},insertStaticContent(B,R,F,D,G,U){const W=F?F.previousSibling:R.lastChild;if(G&&(G===U||G.nextSibling))for(;R.insertBefore(G.cloneNode(!0),F),!(G===U||!(G=G.nextSibling)););else{templateContainer.innerHTML=D?`<svg>${B}</svg>`:B;const q=templateContainer.content;if(D){const Y=q.firstChild;for(;Y.firstChild;)q.appendChild(Y.firstChild);q.removeChild(Y)}R.insertBefore(q,F)}return[W?W.nextSibling:R.firstChild,F?F.previousSibling:R.lastChild]}};function patchClass(B,R,F){const D=B._vtc;D&&(R=(R?[R,...D]:[...D]).join(" ")),R==null?B.removeAttribute("class"):F?B.setAttribute("class",R):B.className=R}function patchStyle(B,R,F){const D=B.style,G=isString(F);if(F&&!G){for(const U in F)setStyle(D,U,F[U]);if(R&&!isString(R))for(const U in R)F[U]==null&&setStyle(D,U,"")}else{const U=D.display;G?R!==F&&(D.cssText=F):R&&B.removeAttribute("style"),"_vod"in B&&(D.display=U)}}const importantRE=/\s*!important$/;function setStyle(B,R,F){if(isArray$5(F))F.forEach(D=>setStyle(B,R,D));else if(F==null&&(F=""),R.startsWith("--"))B.setProperty(R,F);else{const D=autoPrefix(B,R);importantRE.test(F)?B.setProperty(hyphenate(D),F.replace(importantRE,""),"important"):B[D]=F}}const prefixes=["Webkit","Moz","ms"],prefixCache={};function autoPrefix(B,R){const F=prefixCache[R];if(F)return F;let D=camelize$1(R);if(D!=="filter"&&D in B)return prefixCache[R]=D;D=capitalize(D);for(let G=0;G<prefixes.length;G++){const U=prefixes[G]+D;if(U in B)return prefixCache[R]=U}return R}const xlinkNS="http://www.w3.org/1999/xlink";function patchAttr(B,R,F,D,G){if(D&&R.startsWith("xlink:"))F==null?B.removeAttributeNS(xlinkNS,R.slice(6,R.length)):B.setAttributeNS(xlinkNS,R,F);else{const U=isSpecialBooleanAttr(R);F==null||U&&!includeBooleanAttr(F)?B.removeAttribute(R):B.setAttribute(R,U?"":F)}}function patchDOMProp(B,R,F,D,G,U,W){if(R==="innerHTML"||R==="textContent"){D&&W(D,G,U),B[R]=F==null?"":F;return}if(R==="value"&&B.tagName!=="PROGRESS"&&!B.tagName.includes("-")){B._value=F;const Y=F==null?"":F;(B.value!==Y||B.tagName==="OPTION")&&(B.value=Y),F==null&&B.removeAttribute(R);return}let q=!1;if(F===""||F==null){const Y=typeof B[R];Y==="boolean"?F=includeBooleanAttr(F):F==null&&Y==="string"?(F="",q=!0):Y==="number"&&(F=0,q=!0)}try{B[R]=F}catch{}q&&B.removeAttribute(R)}const[_getNow,skipTimestampCheck]=(()=>{let B=Date.now,R=!1;if(typeof window!="undefined"){Date.now()>document.createEvent("Event").timeStamp&&(B=()=>performance.now());const F=navigator.userAgent.match(/firefox\/(\d+)/i);R=!!(F&&Number(F[1])<=53)}return[B,R]})();let cachedNow=0;const p$2=Promise.resolve(),reset$1=()=>{cachedNow=0},getNow=()=>cachedNow||(p$2.then(reset$1),cachedNow=_getNow());function addEventListener(B,R,F,D){B.addEventListener(R,F,D)}function removeEventListener(B,R,F,D){B.removeEventListener(R,F,D)}function patchEvent(B,R,F,D,G=null){const U=B._vei||(B._vei={}),W=U[R];if(D&&W)W.value=D;else{const[q,Y]=parseName(R);if(D){const Q=U[R]=createInvoker(D,G);addEventListener(B,q,Q,Y)}else W&&(removeEventListener(B,q,W,Y),U[R]=void 0)}}const optionsModifierRE=/(?:Once|Passive|Capture)$/;function parseName(B){let R;if(optionsModifierRE.test(B)){R={};let F;for(;F=B.match(optionsModifierRE);)B=B.slice(0,B.length-F[0].length),R[F[0].toLowerCase()]=!0}return[hyphenate(B.slice(2)),R]}function createInvoker(B,R){const F=D=>{const G=D.timeStamp||_getNow();(skipTimestampCheck||G>=F.attached-1)&&callWithAsyncErrorHandling(patchStopImmediatePropagation(D,F.value),R,5,[D])};return F.value=B,F.attached=getNow(),F}function patchStopImmediatePropagation(B,R){if(isArray$5(R)){const F=B.stopImmediatePropagation;return B.stopImmediatePropagation=()=>{F.call(B),B._stopped=!0},R.map(D=>G=>!G._stopped&&D&&D(G))}else return R}const nativeOnRE=/^on[a-z]/,patchProp=(B,R,F,D,G=!1,U,W,q,Y)=>{R==="class"?patchClass(B,D,G):R==="style"?patchStyle(B,F,D):isOn(R)?isModelListener(R)||patchEvent(B,R,F,D,W):(R[0]==="."?(R=R.slice(1),!0):R[0]==="^"?(R=R.slice(1),!1):shouldSetAsProp(B,R,D,G))?patchDOMProp(B,R,D,U,W,q,Y):(R==="true-value"?B._trueValue=D:R==="false-value"&&(B._falseValue=D),patchAttr(B,R,D,G))};function shouldSetAsProp(B,R,F,D){return D?!!(R==="innerHTML"||R==="textContent"||R in B&&nativeOnRE.test(R)&&isFunction$4(F)):R==="spellcheck"||R==="draggable"||R==="translate"||R==="form"||R==="list"&&B.tagName==="INPUT"||R==="type"&&B.tagName==="TEXTAREA"||nativeOnRE.test(R)&&isString(F)?!1:R in B}const TRANSITION="transition",ANIMATION="animation",Transition=(B,{slots:R})=>h$3(BaseTransition,resolveTransitionProps(B),R);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=(B,R=[])=>{isArray$5(B)?B.forEach(F=>F(...R)):B&&B(...R)},hasExplicitCallback=B=>B?isArray$5(B)?B.some(R=>R.length>1):B.length>1:!1;function resolveTransitionProps(B){const R={};for(const xe in B)xe in DOMTransitionPropsValidators||(R[xe]=B[xe]);if(B.css===!1)return R;const{name:F="v",type:D,duration:G,enterFromClass:U=`${F}-enter-from`,enterActiveClass:W=`${F}-enter-active`,enterToClass:q=`${F}-enter-to`,appearFromClass:Y=U,appearActiveClass:Q=W,appearToClass:Z=q,leaveFromClass:K=`${F}-leave-from`,leaveActiveClass:J=`${F}-leave-active`,leaveToClass:ie=`${F}-leave-to`}=B,ne=normalizeDuration(G),se=ne&&ne[0],re=ne&&ne[1],{onBeforeEnter:ae,onEnter:le,onEnterCancelled:ce,onLeave:he,onLeaveCancelled:de,onBeforeAppear:me=ae,onAppear:fe=le,onAppearCancelled:ge=ce}=R,Se=(xe,Pe,ye)=>{removeTransitionClass(xe,Pe?Z:q),removeTransitionClass(xe,Pe?Q:W),ye&&ye()},Ee=(xe,Pe)=>{removeTransitionClass(xe,ie),removeTransitionClass(xe,J),Pe&&Pe()},ve=xe=>(Pe,ye)=>{const Te=xe?fe:le,Le=()=>Se(Pe,xe,ye);callHook(Te,[Pe,Le]),nextFrame(()=>{removeTransitionClass(Pe,xe?Y:U),addTransitionClass(Pe,xe?Z:q),hasExplicitCallback(Te)||whenTransitionEnds(Pe,D,se,Le)})};return extend$3(R,{onBeforeEnter(xe){callHook(ae,[xe]),addTransitionClass(xe,U),addTransitionClass(xe,W)},onBeforeAppear(xe){callHook(me,[xe]),addTransitionClass(xe,Y),addTransitionClass(xe,Q)},onEnter:ve(!1),onAppear:ve(!0),onLeave(xe,Pe){const ye=()=>Ee(xe,Pe);addTransitionClass(xe,K),forceReflow(),addTransitionClass(xe,J),nextFrame(()=>{removeTransitionClass(xe,K),addTransitionClass(xe,ie),hasExplicitCallback(he)||whenTransitionEnds(xe,D,re,ye)}),callHook(he,[xe,ye])},onEnterCancelled(xe){Se(xe,!1),callHook(ce,[xe])},onAppearCancelled(xe){Se(xe,!0),callHook(ge,[xe])},onLeaveCancelled(xe){Ee(xe),callHook(de,[xe])}})}function normalizeDuration(B){if(B==null)return null;if(isObject$4(B))return[NumberOf(B.enter),NumberOf(B.leave)];{const R=NumberOf(B);return[R,R]}}function NumberOf(B){return toNumber(B)}function addTransitionClass(B,R){R.split(/\s+/).forEach(F=>F&&B.classList.add(F)),(B._vtc||(B._vtc=new Set)).add(R)}function removeTransitionClass(B,R){R.split(/\s+/).forEach(D=>D&&B.classList.remove(D));const{_vtc:F}=B;F&&(F.delete(R),F.size||(B._vtc=void 0))}function nextFrame(B){requestAnimationFrame(()=>{requestAnimationFrame(B)})}let endId=0;function whenTransitionEnds(B,R,F,D){const G=B._endId=++endId,U=()=>{G===B._endId&&D()};if(F)return setTimeout(U,F);const{type:W,timeout:q,propCount:Y}=getTransitionInfo(B,R);if(!W)return D();const Q=W+"end";let Z=0;const K=()=>{B.removeEventListener(Q,J),U()},J=ie=>{ie.target===B&&++Z>=Y&&K()};setTimeout(()=>{Z<Y&&K()},q+1),B.addEventListener(Q,J)}function getTransitionInfo(B,R){const F=window.getComputedStyle(B),D=ne=>(F[ne]||"").split(", "),G=D(TRANSITION+"Delay"),U=D(TRANSITION+"Duration"),W=getTimeout(G,U),q=D(ANIMATION+"Delay"),Y=D(ANIMATION+"Duration"),Q=getTimeout(q,Y);let Z=null,K=0,J=0;R===TRANSITION?W>0&&(Z=TRANSITION,K=W,J=U.length):R===ANIMATION?Q>0&&(Z=ANIMATION,K=Q,J=Y.length):(K=Math.max(W,Q),Z=K>0?W>Q?TRANSITION:ANIMATION:null,J=Z?Z===TRANSITION?U.length:Y.length:0);const ie=Z===TRANSITION&&/\b(transform|all)(,|$)/.test(F[TRANSITION+"Property"]);return{type:Z,timeout:K,propCount:J,hasTransform:ie}}function getTimeout(B,R){for(;B.length<R.length;)B=B.concat(B);return Math.max(...R.map((F,D)=>toMs(F)+toMs(B[D])))}function toMs(B){return Number(B.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(B,{slots:R}){const F=getCurrentInstance(),D=useTransitionState();let G,U;return onUpdated(()=>{if(!G.length)return;const W=B.moveClass||`${B.name||"v"}-move`;if(!hasCSSTransform(G[0].el,F.vnode.el,W))return;G.forEach(callPendingCbs),G.forEach(recordPosition);const q=G.filter(applyTranslation);forceReflow(),q.forEach(Y=>{const Q=Y.el,Z=Q.style;addTransitionClass(Q,W),Z.transform=Z.webkitTransform=Z.transitionDuration="";const K=Q._moveCb=J=>{J&&J.target!==Q||(!J||/transform$/.test(J.propertyName))&&(Q.removeEventListener("transitionend",K),Q._moveCb=null,removeTransitionClass(Q,W))};Q.addEventListener("transitionend",K)})}),()=>{const W=toRaw(B),q=resolveTransitionProps(W);let Y=W.tag||Fragment;G=U,U=R.default?getTransitionRawChildren(R.default()):[];for(let Q=0;Q<U.length;Q++){const Z=U[Q];Z.key!=null&&setTransitionHooks(Z,resolveTransitionHooks(Z,q,D,F))}if(G)for(let Q=0;Q<G.length;Q++){const Z=G[Q];setTransitionHooks(Z,resolveTransitionHooks(Z,q,D,F)),positionMap.set(Z,Z.el.getBoundingClientRect())}return createVNode(Y,null,U)}}},TransitionGroup=TransitionGroupImpl;function callPendingCbs(B){const R=B.el;R._moveCb&&R._moveCb(),R._enterCb&&R._enterCb()}function recordPosition(B){newPositionMap.set(B,B.el.getBoundingClientRect())}function applyTranslation(B){const R=positionMap.get(B),F=newPositionMap.get(B),D=R.left-F.left,G=R.top-F.top;if(D||G){const U=B.el.style;return U.transform=U.webkitTransform=`translate(${D}px,${G}px)`,U.transitionDuration="0s",B}}function hasCSSTransform(B,R,F){const D=B.cloneNode();B._vtc&&B._vtc.forEach(W=>{W.split(/\s+/).forEach(q=>q&&D.classList.remove(q))}),F.split(/\s+/).forEach(W=>W&&D.classList.add(W)),D.style.display="none";const G=R.nodeType===1?R:R.parentNode;G.appendChild(D);const{hasTransform:U}=getTransitionInfo(D);return G.removeChild(D),U}const vShow={beforeMount(B,{value:R},{transition:F}){B._vod=B.style.display==="none"?"":B.style.display,F&&R?F.beforeEnter(B):setDisplay(B,R)},mounted(B,{value:R},{transition:F}){F&&R&&F.enter(B)},updated(B,{value:R,oldValue:F},{transition:D}){!R!=!F&&(D?R?(D.beforeEnter(B),setDisplay(B,!0),D.enter(B)):D.leave(B,()=>{setDisplay(B,!1)}):setDisplay(B,R))},beforeUnmount(B,{value:R}){setDisplay(B,R)}};function setDisplay(B,R){B.style.display=R?B._vod:"none"}const rendererOptions=extend$3({patchProp},nodeOps);let renderer;function ensureRenderer(){return renderer||(renderer=createRenderer(rendererOptions))}const createApp=(...B)=>{const R=ensureRenderer().createApp(...B),{mount:F}=R;return R.mount=D=>{const G=normalizeContainer(D);if(!G)return;const U=R._component;!isFunction$4(U)&&!U.render&&!U.template&&(U.template=G.innerHTML),G.innerHTML="";const W=F(G,!1,G instanceof SVGElement);return G instanceof Element&&(G.removeAttribute("v-cloak"),G.setAttribute("data-v-app","")),W},R};function normalizeContainer(B){return isString(B)?document.querySelector(B):B}var commonjsGlobal$2=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function getAugmentedNamespace(B){if(B.__esModule)return B;var R=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(B).forEach(function(F){var D=Object.getOwnPropertyDescriptor(B,F);Object.defineProperty(R,F,D.get?D:{enumerable:!0,get:function(){return B[F]}})}),R}function commonjsRequire$1(B){throw new Error('Could not dynamically require "'+B+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var queryString={},strictUriEncode=B=>encodeURIComponent(B).replace(/[!'()*]/g,R=>`%${R.charCodeAt(0).toString(16).toUpperCase()}`),token="%[a-f0-9]{2}",singleMatcher=new RegExp(token,"gi"),multiMatcher=new RegExp("("+token+")+","gi");function decodeComponents(B,R){try{return decodeURIComponent(B.join(""))}catch{}if(B.length===1)return B;R=R||1;var F=B.slice(0,R),D=B.slice(R);return Array.prototype.concat.call([],decodeComponents(F),decodeComponents(D))}function decode$4(B){try{return decodeURIComponent(B)}catch{for(var R=B.match(singleMatcher),F=1;F<R.length;F++)B=decodeComponents(R,F).join(""),R=B.match(singleMatcher);return B}}function customDecodeURIComponent(B){for(var R={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},F=multiMatcher.exec(B);F;){try{R[F[0]]=decodeURIComponent(F[0])}catch{var D=decode$4(F[0]);D!==F[0]&&(R[F[0]]=D)}F=multiMatcher.exec(B)}R["%C2"]="\uFFFD";for(var G=Object.keys(R),U=0;U<G.length;U++){var W=G[U];B=B.replace(new RegExp(W,"g"),R[W])}return B}var decodeUriComponent=function(B){if(typeof B!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof B+"`");try{return B=B.replace(/\+/g," "),decodeURIComponent(B)}catch{return customDecodeURIComponent(B)}},splitOnFirst=(B,R)=>{if(!(typeof B=="string"&&typeof R=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(R==="")return[B];const F=B.indexOf(R);return F===-1?[B]:[B.slice(0,F),B.slice(F+R.length)]},filterObj=function(B,R){for(var F={},D=Object.keys(B),G=Array.isArray(R),U=0;U<D.length;U++){var W=D[U],q=B[W];(G?R.indexOf(W)!==-1:R(W,q,B))&&(F[W]=q)}return F};(function(B){const R=strictUriEncode,F=decodeUriComponent,D=splitOnFirst,G=filterObj,U=ae=>ae==null;function W(ae){switch(ae.arrayFormat){case"index":return le=>(ce,he)=>{const de=ce.length;return he===void 0||ae.skipNull&&he===null||ae.skipEmptyString&&he===""?ce:he===null?[...ce,[Q(le,ae),"[",de,"]"].join("")]:[...ce,[Q(le,ae),"[",Q(de,ae),"]=",Q(he,ae)].join("")]};case"bracket":return le=>(ce,he)=>he===void 0||ae.skipNull&&he===null||ae.skipEmptyString&&he===""?ce:he===null?[...ce,[Q(le,ae),"[]"].join("")]:[...ce,[Q(le,ae),"[]=",Q(he,ae)].join("")];case"comma":case"separator":return le=>(ce,he)=>he==null||he.length===0?ce:ce.length===0?[[Q(le,ae),"=",Q(he,ae)].join("")]:[[ce,Q(he,ae)].join(ae.arrayFormatSeparator)];default:return le=>(ce,he)=>he===void 0||ae.skipNull&&he===null||ae.skipEmptyString&&he===""?ce:he===null?[...ce,Q(le,ae)]:[...ce,[Q(le,ae),"=",Q(he,ae)].join("")]}}function q(ae){let le;switch(ae.arrayFormat){case"index":return(ce,he,de)=>{if(le=/\[(\d*)\]$/.exec(ce),ce=ce.replace(/\[\d*\]$/,""),!le){de[ce]=he;return}de[ce]===void 0&&(de[ce]={}),de[ce][le[1]]=he};case"bracket":return(ce,he,de)=>{if(le=/(\[\])$/.exec(ce),ce=ce.replace(/\[\]$/,""),!le){de[ce]=he;return}if(de[ce]===void 0){de[ce]=[he];return}de[ce]=[].concat(de[ce],he)};case"comma":case"separator":return(ce,he,de)=>{const me=typeof he=="string"&&he.includes(ae.arrayFormatSeparator),fe=typeof he=="string"&&!me&&Z(he,ae).includes(ae.arrayFormatSeparator);he=fe?Z(he,ae):he;const ge=me||fe?he.split(ae.arrayFormatSeparator).map(Se=>Z(Se,ae)):he===null?he:Z(he,ae);de[ce]=ge};default:return(ce,he,de)=>{if(de[ce]===void 0){de[ce]=he;return}de[ce]=[].concat(de[ce],he)}}}function Y(ae){if(typeof ae!="string"||ae.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Q(ae,le){return le.encode?le.strict?R(ae):encodeURIComponent(ae):ae}function Z(ae,le){return le.decode?F(ae):ae}function K(ae){return Array.isArray(ae)?ae.sort():typeof ae=="object"?K(Object.keys(ae)).sort((le,ce)=>Number(le)-Number(ce)).map(le=>ae[le]):ae}function J(ae){const le=ae.indexOf("#");return le!==-1&&(ae=ae.slice(0,le)),ae}function ie(ae){let le="";const ce=ae.indexOf("#");return ce!==-1&&(le=ae.slice(ce)),le}function ne(ae){ae=J(ae);const le=ae.indexOf("?");return le===-1?"":ae.slice(le+1)}function se(ae,le){return le.parseNumbers&&!Number.isNaN(Number(ae))&&typeof ae=="string"&&ae.trim()!==""?ae=Number(ae):le.parseBooleans&&ae!==null&&(ae.toLowerCase()==="true"||ae.toLowerCase()==="false")&&(ae=ae.toLowerCase()==="true"),ae}function re(ae,le){le=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},le),Y(le.arrayFormatSeparator);const ce=q(le),he=Object.create(null);if(typeof ae!="string"||(ae=ae.trim().replace(/^[?#&]/,""),!ae))return he;for(const de of ae.split("&")){if(de==="")continue;let[me,fe]=D(le.decode?de.replace(/\+/g," "):de,"=");fe=fe===void 0?null:["comma","separator"].includes(le.arrayFormat)?fe:Z(fe,le),ce(Z(me,le),fe,he)}for(const de of Object.keys(he)){const me=he[de];if(typeof me=="object"&&me!==null)for(const fe of Object.keys(me))me[fe]=se(me[fe],le);else he[de]=se(me,le)}return le.sort===!1?he:(le.sort===!0?Object.keys(he).sort():Object.keys(he).sort(le.sort)).reduce((de,me)=>{const fe=he[me];return Boolean(fe)&&typeof fe=="object"&&!Array.isArray(fe)?de[me]=K(fe):de[me]=fe,de},Object.create(null))}B.extract=ne,B.parse=re,B.stringify=(ae,le)=>{if(!ae)return"";le=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},le),Y(le.arrayFormatSeparator);const ce=fe=>le.skipNull&&U(ae[fe])||le.skipEmptyString&&ae[fe]==="",he=W(le),de={};for(const fe of Object.keys(ae))ce(fe)||(de[fe]=ae[fe]);const me=Object.keys(de);return le.sort!==!1&&me.sort(le.sort),me.map(fe=>{const ge=ae[fe];return ge===void 0?"":ge===null?Q(fe,le):Array.isArray(ge)?ge.reduce(he(fe),[]).join("&"):Q(fe,le)+"="+Q(ge,le)}).filter(fe=>fe.length>0).join("&")},B.parseUrl=(ae,le)=>{le=Object.assign({decode:!0},le);const[ce,he]=D(ae,"#");return Object.assign({url:ce.split("?")[0]||"",query:re(ne(ae),le)},le&&le.parseFragmentIdentifier&&he?{fragmentIdentifier:Z(he,le)}:{})},B.stringifyUrl=(ae,le)=>{le=Object.assign({encode:!0,strict:!0},le);const ce=J(ae.url).split("?")[0]||"",he=B.extract(ae.url),de=B.parse(he,{sort:!1}),me=Object.assign(de,ae.query);let fe=B.stringify(me,le);fe&&(fe=`?${fe}`);let ge=ie(ae.url);return ae.fragmentIdentifier&&(ge=`#${Q(ae.fragmentIdentifier,le)}`),`${ce}${fe}${ge}`},B.pick=(ae,le,ce)=>{ce=Object.assign({parseFragmentIdentifier:!0},ce);const{url:he,query:de,fragmentIdentifier:me}=B.parseUrl(ae,ce);return B.stringifyUrl({url:he,query:G(de,le),fragmentIdentifier:me},ce)},B.exclude=(ae,le,ce)=>{const he=Array.isArray(le)?de=>!le.includes(de):(de,me)=>!le(de,me);return B.pick(ae,he,ce)}})(queryString);const state$4=reactive({modular:{teaching:!1,follow:!1,fingering:!1,switch:!1,speed:!1,evaluating:!1,excerpts:!1,recording:!1},modularDetail:{teaching:{name:"\u5927\u96C5\u91D1\u5510\u6559\u6750",desc:"\u540C\u6B65\u4E50\u56E2\u5B66\u4E60\u6559\u6750\uFF0C\u8BA9\u5B69\u5B50\u5728\u4E13\u4E1A\u7CFB\u7EDF\u7684\u8BAD\u7EC3\u4E0B\u63D0\u5347\u6F14\u594F\u6C34\u5E73",images:["./static/teaching/1.jpg","./static/teaching/2.jpg","./static/teaching/3.jpg"]},follow:{name:"\u4E94\u7EBF\u8C31\u8DDF\u64AD",desc:"\u5C06\u6559\u6750\u8F6C\u5316\u6210\u4E94\u7EBF\u8C31\uFF0C\u5E76\u652F\u6301\u97F3\u7B26\u6839\u636E\u64AD\u653E\u8FDB\u5EA6\u9AD8\u4EAE\u663E\u793A\uFF0C\u589E\u5F3A\u5B69\u5B50\u6F14\u594F\u4E50\u611F",images:["./static/follow/1.jpg"]},fingering:{name:"\u6F14\u594F\u6307\u6CD5\u8DDF\u64AD",desc:"\u6839\u636E\u97F3\u7B26\u65F6\u503C\u5C55\u73B0\u6F14\u594F\u6307\u6CD5\uFF0C\u57F9\u517B\u5B69\u5B50\u826F\u597D\u7684\u6F14\u594F\u4E60\u60EF",images:["./static/fingering/1.jpg","./static/fingering/2.jpg","./static/fingering/3.jpg"]},switch:{name:"\u539F\u58F0/\u4F34\u594F\u5207\u6362",desc:"\u4E3A\u4E0D\u540C\u58F0\u90E8\u5B66\u5458\u63D0\u4F9B\u4E13\u4E1A\u4F34\u594F\uFF0C\u652F\u6301\u4F34\u594F\u4E0E\u539F\u97F3\u5207\u6362\uFF0C\u58F0\u4E34\u5176\u5883\u7684\u611F\u53D7\u4E50\u66F2",images:["./static/switch/1.jpg","./static/switch/2.jpg"]},speed:{name:"\u64AD\u653E\u901F\u5EA6\u8C03\u6574",desc:"\u64AD\u653E\u901F\u5EA6\u8BFE\u6839\u636E\u4E2A\u4EBA\u7EC3\u4E60\u60C5\u51B5\u8C03\u6574\uFF0C\u5FAA\u5E8F\u6E10\u8FDB\u7684\u638C\u63E1\u6BCF\u9996\u66F2\u76EE\u7684\u6F14\u594F",images:["./static/speed/1.jpg","./static/speed/2.jpg"]},evaluating:{name:"\u667A\u80FD\u8BC4\u6D4B",desc:"\u4E3A\u5B69\u5B50\u7684\u6F14\u594F\u63D0\u4F9B\u4E13\u4E1A\u3001\u6807\u51C6\u7684\u70B9\u8BC4",images:["./static/evaluating/1.jpg","./static/evaluating/2.jpg","./static/evaluating/3.jpg"]},excerpts:{name:"\u4E94\u7EBF\u8C31\u9009\u6BB5\u64AD\u653E",desc:"\u6839\u636E\u7EC3\u4E60\u60C5\u51B5\u9009\u62E9\u91CD\u96BE\u70B9\u5C0F\u8282\u5FAA\u73AF\u7EC3\u4E60\uFF0C\u5E2E\u52A9\u5B69\u5B50\u7A81\u7834\u96BE\u5173",images:["./static/excerpts/1.jpg"]},recording:{name:"\u8FB9\u5F55\u8FB9\u64AD",desc:"\u6253\u5F00\u6444\u50CF\u5934\uFF0C\u53EF\u4EE5\u5728\u7EC3\u4E60\u65F6\u770B\u5230\u81EA\u5DF1\u7684\u6F14\u594F\u72B6\u6001\uFF0C\u8FD8\u53EF\u4EE5\u5F55\u5236\u6F14\u594F\u7684\u89C6\u9891\u6216\u97F3\u9891",images:[]}},openKey:"",user:null,subjectId:0,subjectLoading:!1,origanSubjectId:0,subjectOptions:[{value:0,text:"\u5168\u90E8\u58F0\u90E8"}],chinesePartName:{},MusicalInstrumentClassification:{},tenantId:null,organId:null,extSubjectIds:[],clintNmae:"orchestra"});var assign$2=make_assign(),create$1=make_create(),trim$1=make_trim(),Global$5=typeof window!="undefined"?window:commonjsGlobal$2,util$h={assign:assign$2,create:create$1,trim:trim$1,bind:bind$1,slice:slice$2,each:each$8,map,pluck:pluck$1,isList:isList$1,isFunction:isFunction$3,isObject:isObject$3,Global:Global$5};function make_assign(){return Object.assign?Object.assign:function(R,F,D,G){for(var U=1;U<arguments.length;U++)each$8(Object(arguments[U]),function(W,q){R[q]=W});return R}}function make_create(){if(Object.create)return function(R,F,D,G){var U=slice$2(arguments,1);return assign$2.apply(this,[Object.create(R)].concat(U))};{let B=function(){};return function(F,D,G,U){var W=slice$2(arguments,1);return B.prototype=F,assign$2.apply(this,[new B].concat(W))}}}function make_trim(){return String.prototype.trim?function(R){return String.prototype.trim.call(R)}:function(R){return R.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}}function bind$1(B,R){return function(){return R.apply(B,Array.prototype.slice.call(arguments,0))}}function slice$2(B,R){return Array.prototype.slice.call(B,R||0)}function each$8(B,R){pluck$1(B,function(F,D){return R(F,D),!1})}function map(B,R){var F=isList$1(B)?[]:{};return pluck$1(B,function(D,G){return F[G]=R(D,G),!1}),F}function pluck$1(B,R){if(isList$1(B)){for(var F=0;F<B.length;F++)if(R(B[F],F))return B[F]}else for(var D in B)if(B.hasOwnProperty(D)&&R(B[D],D))return B[D]}function isList$1(B){return B!=null&&typeof B!="function"&&typeof B.length=="number"}function isFunction$3(B){return B&&{}.toString.call(B)==="[object Function]"}function isObject$3(B){return B&&{}.toString.call(B)==="[object Object]"}var util$g=util$h,slice$1=util$g.slice,pluck=util$g.pluck,each$7=util$g.each,bind=util$g.bind,create=util$g.create,isList=util$g.isList,isFunction$2=util$g.isFunction,isObject$2=util$g.isObject,storeEngine={createStore},storeAPI={version:"2.0.12",enabled:!1,get:function(B,R){var F=this.storage.read(this._namespacePrefix+B);return this._deserialize(F,R)},set:function(B,R){return R===void 0?this.remove(B):(this.storage.write(this._namespacePrefix+B,this._serialize(R)),R)},remove:function(B){this.storage.remove(this._namespacePrefix+B)},each:function(B){var R=this;this.storage.each(function(F,D){B.call(R,R._deserialize(F),(D||"").replace(R._namespaceRegexp,""))})},clearAll:function(){this.storage.clearAll()},hasNamespace:function(B){return this._namespacePrefix=="__storejs_"+B+"_"},createStore:function(){return createStore.apply(this,arguments)},addPlugin:function(B){this._addPlugin(B)},namespace:function(B){return createStore(this.storage,this.plugins,B)}};function _warn(){var B=typeof console=="undefined"?null:console;if(!!B){var R=B.warn?B.warn:B.log;R.apply(B,arguments)}}function createStore(B,R,F){F||(F=""),B&&!isList(B)&&(B=[B]),R&&!isList(R)&&(R=[R]);var D=F?"__storejs_"+F+"_":"",G=F?new RegExp("^"+D):null,U=/^[a-zA-Z0-9_\-]*$/;if(!U.test(F))throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes");var W={_namespacePrefix:D,_namespaceRegexp:G,_testStorage:function(Y){try{var Q="__storejs__test__";Y.write(Q,Q);var Z=Y.read(Q)===Q;return Y.remove(Q),Z}catch{return!1}},_assignPluginFnProp:function(Y,Q){var Z=this[Q];this[Q]=function(){var J=slice$1(arguments,0),ie=this;function ne(){if(!!Z)return each$7(arguments,function(re,ae){J[ae]=re}),Z.apply(ie,J)}var se=[ne].concat(J);return Y.apply(ie,se)}},_serialize:function(Y){return JSON.stringify(Y)},_deserialize:function(Y,Q){if(!Y)return Q;var Z="";try{Z=JSON.parse(Y)}catch{Z=Y}return Z!==void 0?Z:Q},_addStorage:function(Y){this.enabled||this._testStorage(Y)&&(this.storage=Y,this.enabled=!0)},_addPlugin:function(Y){var Q=this;if(isList(Y)){each$7(Y,function(J){Q._addPlugin(J)});return}var Z=pluck(this.plugins,function(J){return Y===J});if(!Z){if(this.plugins.push(Y),!isFunction$2(Y))throw new Error("Plugins must be function values that return objects");var K=Y.call(this);if(!isObject$2(K))throw new Error("Plugins must return an object of function properties");each$7(K,function(J,ie){if(!isFunction$2(J))throw new Error("Bad plugin property: "+ie+" from plugin "+Y.name+". Plugins should only return functions.");Q._assignPluginFnProp(J,ie)})}},addStorage:function(Y){_warn("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(Y)}},q=create(W,storeAPI,{plugins:[]});return q.raw={},each$7(q,function(Y,Q){isFunction$2(Y)&&(q.raw[Q]=bind(q,Y))}),each$7(B,function(Y){q._addStorage(Y)}),each$7(R,function(Y){q._addPlugin(Y)}),q}var util$f=util$h,Global$4=util$f.Global,localStorage_1={name:"localStorage",read:read$6,write:write$6,each:each$6,remove:remove$6,clearAll:clearAll$5};function localStorage$1(){return Global$4.localStorage}function read$6(B){return localStorage$1().getItem(B)}function write$6(B,R){return localStorage$1().setItem(B,R)}function each$6(B){for(var R=localStorage$1().length-1;R>=0;R--){var F=localStorage$1().key(R);B(read$6(F),F)}}function remove$6(B){return localStorage$1().removeItem(B)}function clearAll$5(){return localStorage$1().clear()}var util$e=util$h,Global$3=util$e.Global,oldFFGlobalStorage={name:"oldFF-globalStorage",read:read$5,write:write$5,each:each$5,remove:remove$5,clearAll:clearAll$4},globalStorage=Global$3.globalStorage;function read$5(B){return globalStorage[B]}function write$5(B,R){globalStorage[B]=R}function each$5(B){for(var R=globalStorage.length-1;R>=0;R--){var F=globalStorage.key(R);B(globalStorage[F],F)}}function remove$5(B){return globalStorage.removeItem(B)}function clearAll$4(){each$5(function(B,R){delete globalStorage[B]})}var util$d=util$h,Global$2=util$d.Global,oldIEUserDataStorage={name:"oldIE-userDataStorage",write:write$4,read:read$4,each:each$4,remove:remove$4,clearAll:clearAll$3},storageName="storejs",doc$1=Global$2.document,_withStorageEl=_makeIEStorageElFunction(),disable=(Global$2.navigator?Global$2.navigator.userAgent:"").match(/ (MSIE 8|MSIE 9|MSIE 10)\./);function write$4(B,R){if(!disable){var F=fixKey(B);_withStorageEl(function(D){D.setAttribute(F,R),D.save(storageName)})}}function read$4(B){if(!disable){var R=fixKey(B),F=null;return _withStorageEl(function(D){F=D.getAttribute(R)}),F}}function each$4(B){_withStorageEl(function(R){for(var F=R.XMLDocument.documentElement.attributes,D=F.length-1;D>=0;D--){var G=F[D];B(R.getAttribute(G.name),G.name)}})}function remove$4(B){var R=fixKey(B);_withStorageEl(function(F){F.removeAttribute(R),F.save(storageName)})}function clearAll$3(){_withStorageEl(function(B){var R=B.XMLDocument.documentElement.attributes;B.load(storageName);for(var F=R.length-1;F>=0;F--)B.removeAttribute(R[F].name);B.save(storageName)})}var forbiddenCharsRegex=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function fixKey(B){return B.replace(/^\d/,"___$&").replace(forbiddenCharsRegex,"___")}function _makeIEStorageElFunction(){if(!doc$1||!doc$1.documentElement||!doc$1.documentElement.addBehavior)return null;var B="script",R,F,D;try{F=new ActiveXObject("htmlfile"),F.open(),F.write("<"+B+">document.w=window</"+B+'><iframe src="/favicon.ico"></iframe>'),F.close(),R=F.w.frames[0].document,D=R.createElement("div")}catch{D=doc$1.createElement("div"),R=doc$1.body}return function(G){var U=[].slice.call(arguments,0);U.unshift(D),R.appendChild(D),D.addBehavior("#default#userData"),D.load(storageName),G.apply(this,U),R.removeChild(D)}}var util$c=util$h,Global$1=util$c.Global,trim=util$c.trim,cookieStorage={name:"cookieStorage",read:read$3,write:write$3,each:each$3,remove:remove$3,clearAll:clearAll$2},doc=Global$1.document;function read$3(B){if(!B||!_has(B))return null;var R="(?:^|.*;\\s*)"+escape(B).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(doc.cookie.replace(new RegExp(R),"$1"))}function each$3(B){for(var R=doc.cookie.split(/; ?/g),F=R.length-1;F>=0;F--)if(!!trim(R[F])){var D=R[F].split("="),G=unescape(D[0]),U=unescape(D[1]);B(U,G)}}function write$3(B,R){!B||(doc.cookie=escape(B)+"="+escape(R)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/")}function remove$3(B){!B||!_has(B)||(doc.cookie=escape(B)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function clearAll$2(){each$3(function(B,R){remove$3(R)})}function _has(B){return new RegExp("(?:^|;\\s*)"+escape(B).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(doc.cookie)}var util$b=util$h,Global=util$b.Global,sessionStorage_1={name:"sessionStorage",read:read$2,write:write$2,each:each$2,remove:remove$2,clearAll:clearAll$1};function sessionStorage$1(){return Global.sessionStorage}function read$2(B){return sessionStorage$1().getItem(B)}function write$2(B,R){return sessionStorage$1().setItem(B,R)}function each$2(B){for(var R=sessionStorage$1().length-1;R>=0;R--){var F=sessionStorage$1().key(R);B(read$2(F),F)}}function remove$2(B){return sessionStorage$1().removeItem(B)}function clearAll$1(){return sessionStorage$1().clear()}var memoryStorage_1={name:"memoryStorage",read:read$1,write:write$1,each:each$1,remove:remove$1,clearAll},memoryStorage={};function read$1(B){return memoryStorage[B]}function write$1(B,R){memoryStorage[B]=R}function each$1(B){for(var R in memoryStorage)memoryStorage.hasOwnProperty(R)&&B(memoryStorage[R],R)}function remove$1(B){delete memoryStorage[B]}function clearAll(B){memoryStorage={}}var all=[localStorage_1,oldFFGlobalStorage,oldIEUserDataStorage,cookieStorage,sessionStorage_1,memoryStorage_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(B){return B<10?"0"+B:B}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(B){return rx_escapable.lastIndex=0,rx_escapable.test(B)?'"'+B.replace(rx_escapable,function(R){var F=meta[R];return typeof F=="string"?F:"\\u"+("0000"+R.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+B+'"'}function str(B,R){var F,D,G,U,W=gap,q,Y=R[B];switch(Y&&typeof Y=="object"&&typeof Y.toJSON=="function"&&(Y=Y.toJSON(B)),typeof rep=="function"&&(Y=rep.call(R,B,Y)),typeof Y){case"string":return quote(Y);case"number":return isFinite(Y)?String(Y):"null";case"boolean":case"null":return String(Y);case"object":if(!Y)return"null";if(gap+=indent,q=[],Object.prototype.toString.apply(Y)==="[object Array]"){for(U=Y.length,F=0;F<U;F+=1)q[F]=str(F,Y)||"null";return G=q.length===0?"[]":gap?`[
- `+gap+q.join(`,
- `+gap)+`
- `+W+"]":"["+q.join(",")+"]",gap=W,G}if(rep&&typeof rep=="object")for(U=rep.length,F=0;F<U;F+=1)typeof rep[F]=="string"&&(D=rep[F],G=str(D,Y),G&&q.push(quote(D)+(gap?": ":":")+G));else for(D in Y)Object.prototype.hasOwnProperty.call(Y,D)&&(G=str(D,Y),G&&q.push(quote(D)+(gap?": ":":")+G));return G=q.length===0?"{}":gap?`{
- `+gap+q.join(`,
- `+gap)+`
- `+W+"}":"{"+q.join(",")+"}",gap=W,G}}typeof JSON.stringify!="function"&&(meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},JSON.stringify=function(B,R,F){var D;if(gap="",indent="",typeof F=="number")for(D=0;D<F;D+=1)indent+=" ";else typeof F=="string"&&(indent=F);if(rep=R,R&&typeof R!="function"&&(typeof R!="object"||typeof R.length!="number"))throw new Error("JSON.stringify");return str("",{"":B})}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){var j;function walk(B,R){var F,D,G=B[R];if(G&&typeof G=="object")for(F in G)Object.prototype.hasOwnProperty.call(G,F)&&(D=walk(G,F),D!==void 0?G[F]=D:delete G[F]);return reviver.call(B,R,G)}if(text=String(text),rx_dangerous.lastIndex=0,rx_dangerous.test(text)&&(text=text.replace(rx_dangerous,function(B){return"\\u"+("0000"+B.charCodeAt(0).toString(16)).slice(-4)})),rx_one.test(text.replace(rx_two,"@").replace(rx_three,"]").replace(rx_four,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})})();var json2=json2Plugin;function json2Plugin(){return{}}var engine=storeEngine,storages=all,plugins=[json2],store_legacy=engine.createStore(storages,plugins);const saveSetting=store_legacy.get("setting");let initState={sett:{eyeProtection:!1,tuning:!1,camera:!1,opacity:70,loop:!0,fingering:!0,hertz:442,scoreSize:"middle",type:"staff",keySignature:!1},eva:{difficulty:"ADVANCED",save:!1,mute:!0,reactionTimeMs:0}};saveSetting&&(initState.eva={...initState.eva,...saveSetting.eva},initState.sett={...initState.sett,...saveSetting.sett},window.sett=initState.sett);const state$3=reactive(initState);watch(state$3,()=>{store_legacy.set("setting",state$3)});const getDevelopment=function(){return/(192\.168|localhost)/ig.test(location.host)},addZero=B=>B<10?"0"+B:B,formatTime=B=>{const R=B%60,F=B/60;return addZero(Math.floor(F))+":"+addZero(Math.floor(R))},browser=()=>{var B=navigator.userAgent;return{trident:B.indexOf("Trident")>-1,presto:B.indexOf("Presto")>-1,webKit:B.indexOf("AppleWebKit")>-1,gecko:B.indexOf("Gecko")>-1&&B.indexOf("KHTML")==-1,mobile:!!B.match(/AppleWebKit.*Mobile.*/),ios:!!B.match(/Mac OS X/),android:B.indexOf("ORCHESTRAAPPA")>-1||B.indexOf("Adr")>-1,iPhone:B.indexOf("ORCHESTRAAPPI")>-1,isApp:B.indexOf("ORCHESTRAAPPI")>-1||B.indexOf("ORCHESTRAAPPA")>-1,isTeacher:B.indexOf("ORCHESTRATEACHER")>-1,isStudent:B.indexOf("ORCHESTRASTUDENT")>-1,isSchool:B.indexOf("ORCHESTRASCHOOL")>-1,iPad:B.indexOf("iPad")>-1,webApp:B.indexOf("Safari")==-1,weixin:B.indexOf("MicroMessenger")>-1,huawei:!!B.match(/huawei/i)||!!B.match(/honor/i),xiaomi:!!B.match(/mi\s/i)||!!B.match(/redmi/i)||!!B.match(/mix/i)}},getRequestHostname=()=>{let B="";try{B=queryString.parse(location.search)}catch{}if(B!=null&&B.client)return B.client==="student"?"/api-student":B.client==="teacher"?"/api-teacher":"/api-backend";const R=browser();return R.isStudent?"/api-student":R.isTeacher?"/api-teacher":"/api-backend"},getRandomKey=()=>""+new Date().getTime()+Math.floor(Math.random()*1e6),toNext=(B,R)=>{const F=W=>W?"?"+W:"",D=queryString.stringify({...queryString.parse(location.search),_t:new Date().getTime()}),G=queryString.stringify(R);return location.origin+location.pathname+F(D)+B+F(G)},noop$4=()=>{},setTongjiTag=B=>{window._czc&&window._czc.push(B)},getPlatform=()=>{const B=browser();return B.ios?"IOS":B.android?"ANDROID":"WEB"},formatZoom=(B=1)=>{const F={small:.5,middle:.7,large:1}[state$3.sett.scoreSize];return B*F},getVoiceChinesName=B=>{let R=B||"";if(B){const F=state$4.chinesePartName[B];if(F)R=F;else{const D=Object.keys(state$4.chinesePartName);for(const G of D)if(B.match(G)){R=B.replace(G,state$4.chinesePartName[G]);break}}}return R?B+(B!==R?" ("+R+")":""):""};var animate="",app="",base$3="";const state$2=reactive({sectionStatus:!1,maskStatus:!1,section:[],times:[],sectionBoundingBoxs:[],activeTick:-1,activeTickRepeat:1,showTick:!1,isSpecialShapedScreen:!1,notchHeight:0,fixedKey:0,renderLoading:!1,evaluatings:{},isPauseRecording:!1,feeShow:!1,vipShow:!1,mode:"contact",subjectId:0,activeSpeed:90,baseSpeed:90,activeDetail:null,needTick:!1,skipTick:!1,repeatedBeats:!1,sectionFlash:!1,befireSection:null,isPercussion:!1,enableEvaluation:!0,isAppPlay:!1,partListNames:[],partIndex:0,partName:"",midiPlayIniting:!1,isSpecialBookCategory:!1,code:"",frozenMode:!1,initRendered:!1,setting:null,activeNote:"",freeRate:.1,zoom:1,renderType:"native",gradual:[],gradualTimes:null,chenkuang:!1});function noop$3(){}var extend$2=Object.assign,inBrowser$1=typeof window!="undefined",unknownProp=null,truthProp={type:Boolean,default:!0};function get(B,R){var F=R.split("."),D=B;return F.forEach(G=>{var U;D=(U=D[G])!=null?U:""}),D}function pick(B,R,F){return R.reduce((D,G)=>((!F||B[G]!==void 0)&&(D[G]=B[G]),D),{})}function gen(B,R){return R?typeof R=="string"?" "+B+"--"+R:Array.isArray(R)?R.reduce((F,D)=>F+gen(B,D),""):Object.keys(R).reduce((F,D)=>F+(R[D]?gen(B,D):""),""):""}function createBEM(B){return function(R,F){return R&&typeof R!="string"&&(F=R,R=""),R=R?B+"__"+R:B,""+R+gen(R,F)}}var camelizeRE=/-(\w)/g;function camelize(B){return B.replace(camelizeRE,(R,F)=>F.toUpperCase())}function isDef$1(B){return B!=null}function isFunction$1(B){return typeof B=="function"}function isObject$1(B){return B!==null&&typeof B=="object"}function isPromise(B){return isObject$1(B)&&isFunction$1(B.then)&&isFunction$1(B.catch)}function isNumeric(B){return typeof B=="number"||/^\d+(\.\d+)?$/.test(B)}function isIOS$1(){return inBrowser$1?/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()):!1}var{hasOwnProperty:hasOwnProperty$1}=Object.prototype;function assignKey(B,R,F){var D=R[F];!isDef$1(D)||(!hasOwnProperty$1.call(B,F)||!isObject$1(D)?B[F]=D:B[F]=deepAssign(Object(B[F]),R[F]))}function deepAssign(B,R){return Object.keys(R).forEach(F=>{assignKey(B,R,F)}),B}var defaultMessages={name:"\u59D3\u540D",tel:"\u7535\u8BDD",save:"\u4FDD\u5B58",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88",delete:"\u5220\u9664",complete:"\u5B8C\u6210",loading:"\u52A0\u8F7D\u4E2D...",telEmpty:"\u8BF7\u586B\u5199\u7535\u8BDD",nameEmpty:"\u8BF7\u586B\u5199\u59D3\u540D",nameInvalid:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u59D3\u540D",confirmDelete:"\u786E\u5B9A\u8981\u5220\u9664\u5417",telInvalid:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7",vanCalendar:{end:"\u7ED3\u675F",start:"\u5F00\u59CB",title:"\u65E5\u671F\u9009\u62E9",confirm:"\u786E\u5B9A",startEnd:"\u5F00\u59CB/\u7ED3\u675F",weekdays:["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],monthTitle:(B,R)=>B+"\u5E74"+R+"\u6708",rangePrompt:B=>"\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 "+B+" \u5929"},vanCascader:{select:"\u8BF7\u9009\u62E9"},vanContactCard:{addText:"\u6DFB\u52A0\u8054\u7CFB\u4EBA"},vanContactList:{addText:"\u65B0\u5EFA\u8054\u7CFB\u4EBA"},vanPagination:{prev:"\u4E0A\u4E00\u9875",next:"\u4E0B\u4E00\u9875"},vanPullRefresh:{pulling:"\u4E0B\u62C9\u5373\u53EF\u5237\u65B0...",loosing:"\u91CA\u653E\u5373\u53EF\u5237\u65B0..."},vanSubmitBar:{label:"\u5408\u8BA1\uFF1A"},vanCoupon:{unlimited:"\u65E0\u4F7F\u7528\u95E8\u69DB",discount:B=>B+"\u6298",condition:B=>"\u6EE1"+B+"\u5143\u53EF\u7528"},vanCouponCell:{title:"\u4F18\u60E0\u5238",tips:"\u6682\u65E0\u53EF\u7528",count:B=>B+"\u5F20\u53EF\u7528"},vanCouponList:{empty:"\u6682\u65E0\u4F18\u60E0\u5238",exchange:"\u5151\u6362",close:"\u4E0D\u4F7F\u7528\u4F18\u60E0\u5238",enable:"\u53EF\u7528",disabled:"\u4E0D\u53EF\u7528",placeholder:"\u8BF7\u8F93\u5165\u4F18\u60E0\u7801"},vanAddressEdit:{area:"\u5730\u533A",postal:"\u90AE\u653F\u7F16\u7801",areaEmpty:"\u8BF7\u9009\u62E9\u5730\u533A",addressEmpty:"\u8BF7\u586B\u5199\u8BE6\u7EC6\u5730\u5740",postalEmpty:"\u90AE\u653F\u7F16\u7801\u683C\u5F0F\u4E0D\u6B63\u786E",defaultAddress:"\u8BBE\u4E3A\u9ED8\u8BA4\u6536\u8D27\u5730\u5740",telPlaceholder:"\u6536\u8D27\u4EBA\u624B\u673A\u53F7",namePlaceholder:"\u6536\u8D27\u4EBA\u59D3\u540D",areaPlaceholder:"\u9009\u62E9\u7701 / \u5E02 / \u533A"},vanAddressEditDetail:{label:"\u8BE6\u7EC6\u5730\u5740",placeholder:"\u8857\u9053\u95E8\u724C\u3001\u697C\u5C42\u623F\u95F4\u53F7\u7B49\u4FE1\u606F"},vanAddressList:{add:"\u65B0\u589E\u5730\u5740"}},lang=ref("zh-CN"),messages=reactive({"zh-CN":defaultMessages}),Locale={messages(){return messages[lang.value]},use(B,R){lang.value=B,this.add({[B]:R})},add(B={}){deepAssign(messages,B)}},locale=Locale;function createTranslate(B){var R=camelize(B)+".";return function(F,...D){var G=locale.messages(),U=get(G,R+F)||get(G,F);return isFunction$1(U)?U(...D):U}}function createNamespace(B){var R="van-"+B;return[R,createBEM(R),createTranslate(R)]}function withInstall(B){return B.install=R=>{var{name:F}=B;R.component(F,B),R.component(camelize("-"+F),B)},B}function addUnit(B){if(!!isDef$1(B))return isNumeric(B)?B+"px":String(B)}function getSizeStyle(B){if(isDef$1(B)){var R=addUnit(B);return{width:R,height:R}}}function getZIndexStyle(B){var R={};return B!==void 0&&(R.zIndex=+B),R}var rootFontSize;function getRootFontSize(){if(!rootFontSize){var B=document.documentElement,R=B.style.fontSize||window.getComputedStyle(B).fontSize;rootFontSize=parseFloat(R)}return rootFontSize}function convertRem(B){return B=B.replace(/rem/g,""),+B*getRootFontSize()}function convertVw(B){return B=B.replace(/vw/g,""),+B*window.innerWidth/100}function convertVh(B){return B=B.replace(/vh/g,""),+B*window.innerHeight/100}function unitToPx(B){if(typeof B=="number")return B;if(inBrowser$1){if(B.includes("rem"))return convertRem(B);if(B.includes("vw"))return convertVw(B);if(B.includes("vh"))return convertVh(B)}return parseFloat(B)}function clamp(B,R,F){return Math.min(Math.max(B,R),F)}function trimExtraChar(B,R,F){var D=B.indexOf(R);return D===-1?B:R==="-"&&D!==0?B.slice(0,D):B.slice(0,D+1)+B.slice(D).replace(F,"")}function formatNumber(B,R=!0,F=!0){R?B=trimExtraChar(B,".",/\./g):B=B.split(".")[0],F?B=trimExtraChar(B,"-",/-/g):B=B.replace(/-/,"");var D=R?/[^-0-9.]/g:/[^-0-9]/g;return B.replace(D,"")}function addNumber(B,R){var F=Math.pow(10,10);return Math.round((B+R)*F)/F}function isHidden(B){var R=unref(B);if(!R)return!1;var F=window.getComputedStyle(R),D=F.display==="none",G=R.offsetParent===null&&F.position!=="fixed";return D||G}function stopPropagation(B){B.stopPropagation()}function preventDefault(B,R){(typeof B.cancelable!="boolean"||B.cancelable)&&B.preventDefault(),R&&stopPropagation(B)}function trigger(B,R){var F=document.createEvent("HTMLEvents");F.initEvent(R,!0,!0),B.dispatchEvent(F)}function isWindow$1(B){return B===window}function getScrollTop(B){var R="scrollTop"in B?B.scrollTop:B.pageYOffset;return Math.max(R,0)}function setScrollTop(B,R){"scrollTop"in B?B.scrollTop=R:B.scrollTo(B.scrollX,R)}function getRootScrollTop(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}function setRootScrollTop(B){setScrollTop(window,B),setScrollTop(document.body,B)}function getElementTop(B,R){if(isWindow$1(B))return 0;var F=R?getScrollTop(R):getRootScrollTop();return B.getBoundingClientRect().top+F}function getVisibleHeight(B){return isWindow$1(B)?B.innerHeight:B.getBoundingClientRect().height}function getVisibleTop(B){return isWindow$1(B)?0:B.getBoundingClientRect().top}var isIOS=isIOS$1();function resetScroll(){isIOS&&setRootScrollTop(getRootScrollTop())}const inBrowser=typeof window!="undefined";function raf$2(B){return inBrowser?requestAnimationFrame(B):-1}function cancelRaf(B){inBrowser&&cancelAnimationFrame(B)}function doubleRaf(B){raf$2(()=>raf$2(B))}const isWindow=B=>B===window,makeDOMRect=(B,R)=>({top:0,left:0,right:B,bottom:R,width:B,height:R}),useRect=B=>{const R=unref(B);if(isWindow(R)){const F=R.innerWidth,D=R.innerHeight;return makeDOMRect(F,D)}return R!=null&&R.getBoundingClientRect?R.getBoundingClientRect():makeDOMRect(0,0)};function useToggle(B=!1){const R=ref(B);return[R,(D=!R.value)=>{R.value=D}]}function useParent(B){const R=inject(B,null);if(R){const F=getCurrentInstance(),{link:D,unlink:G,internalChildren:U}=R;D(F),onUnmounted(()=>G(F));const W=computed(()=>U.indexOf(F));return{parent:R,index:W}}return{parent:null,index:ref(-1)}}function flattenVNodes(B){const R=[],F=D=>{Array.isArray(D)&&D.forEach(G=>{var U;isVNode(G)&&(R.push(G),(U=G.component)!=null&&U.subTree&&F(G.component.subTree.children),G.children&&F(G.children))})};return F(B),R}function sortChildren(B,R,F){const D=flattenVNodes(B.subTree.children);F.sort((U,W)=>D.indexOf(U.vnode)-D.indexOf(W.vnode));const G=F.map(U=>U.proxy);R.sort((U,W)=>{const q=G.indexOf(U),Y=G.indexOf(W);return q-Y})}function useChildren(B){const R=reactive([]),F=reactive([]),D=getCurrentInstance();return{children:R,linkChildren:U=>{provide(B,Object.assign({link:Y=>{Y.proxy&&(F.push(Y),R.push(Y.proxy),sortChildren(D,R,F))},unlink:Y=>{const Q=F.indexOf(Y);R.splice(Q,1),F.splice(Q,1)},children:R,internalChildren:F},U))}}}function onMountedOrActivated(B){let R;onMounted(()=>{B(),nextTick(()=>{R=!0})}),onActivated(()=>{R&&B()})}function useEventListener(B,R,F={}){if(!inBrowser)return;const{target:D=window,passive:G=!1,capture:U=!1}=F;let W;const q=Q=>{const Z=unref(Q);Z&&!W&&(Z.addEventListener(B,R,{capture:U,passive:G}),W=!0)},Y=Q=>{const Z=unref(Q);Z&&W&&(Z.removeEventListener(B,R,U),W=!1)};onUnmounted(()=>Y(D)),onDeactivated(()=>Y(D)),onMountedOrActivated(()=>q(D)),isRef(D)&&watch(D,(Q,Z)=>{Y(Z),q(Q)})}function useClickAway(B,R,F={}){if(!inBrowser)return;const{eventName:D="click"}=F;useEventListener(D,U=>{const W=unref(B);W&&!W.contains(U.target)&&R(U)},{target:document})}let width,height;function useWindowSize(){if(!width&&(width=ref(0),height=ref(0),inBrowser)){const B=()=>{width.value=window.innerWidth,height.value=window.innerHeight};B(),window.addEventListener("resize",B,{passive:!0}),window.addEventListener("orientationchange",B,{passive:!0})}return{width,height}}const overflowScrollReg=/scroll|auto/i,defaultRoot=inBrowser?window:void 0;function isElement$1(B){return B.tagName!=="HTML"&&B.tagName!=="BODY"&&B.nodeType===1}function getScrollParent$1(B,R=defaultRoot){let F=B;for(;F&&F!==R&&isElement$1(F);){const{overflowY:D}=window.getComputedStyle(F);if(overflowScrollReg.test(D))return F;F=F.parentNode}return R}function useScrollParent(B,R=defaultRoot){const F=ref();return onMounted(()=>{B.value&&(F.value=getScrollParent$1(B.value,R))}),F}let visibility;function usePageVisibility(){if(!visibility&&(visibility=ref("visible"),inBrowser)){const B=()=>{visibility.value=document.hidden?"hidden":"visible"};B(),window.addEventListener("visibilitychange",B)}return visibility}var[name$A,bem$A]=createNamespace("action-bar"),ACTION_BAR_KEY=Symbol(name$A),_ActionBar=defineComponent({name:name$A,props:{safeAreaInsetBottom:truthProp},setup(B,{slots:R}){var{linkChildren:F}=useChildren(ACTION_BAR_KEY);return F(),()=>createVNode("div",{class:bem$A({unfit:!B.safeAreaInsetBottom})},[R.default==null?void 0:R.default()])}}),ActionBar=withInstall(_ActionBar);function useExpose(B){var R=getCurrentInstance();R&&extend$2(R.proxy,B)}var routeProps={to:[String,Object],url:String,replace:Boolean};function route(B){var R=B.$router,{to:F,url:D,replace:G}=B;F&&R?R[G?"replace":"push"](F):D&&(G?location.replace(D):location.href=D)}function useRoute(){var B=getCurrentInstance().proxy;return()=>route(B)}var 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",[name$z,bem$z]=createNamespace("badge"),_Badge=defineComponent({name:name$z,props:{dot:Boolean,max:[Number,String],color:String,offset:Array,content:[Number,String],showZero:truthProp,tag:{type:String,default:"div"}},setup(B,{slots:R}){var F=()=>{if(R.content)return!0;var{content:U,showZero:W}=B;return isDef$1(U)&&U!==""&&(W||U!==0)},D=()=>{var{dot:U,max:W,content:q}=B;if(!U&&F())return R.content?R.content():isDef$1(W)&&isNumeric(q)&&+q>W?W+"+":q},G=()=>{if(F()||B.dot){var U={background:B.color};if(B.offset){var[W,q]=B.offset;R.default?(U.top=addUnit(q),U.right="-"+addUnit(W)):(U.marginTop=addUnit(q),U.marginLeft=addUnit(W))}return createVNode("div",{class:bem$z({dot:B.dot,fixed:!!R.default}),style:U},[D()])}};return()=>{if(R.default){var{tag:U}=B;return createVNode(U,{class:bem$z("wrapper")},{default:()=>[R.default(),G()]})}return G()}}}),Badge=withInstall(_Badge),[name$y,bem$y]=createNamespace("icon");function isImage(B){return B?B.includes("/"):!1}var _Icon=defineComponent({name:name$y,props:{dot:Boolean,name:String,size:[Number,String],badge:[Number,String],color:String,tag:{type:String,default:"i"},classPrefix:{type:String,default:bem$y()}},setup(B,{slots:R}){return()=>{var{tag:F,dot:D,name:G,size:U,badge:W,color:q,classPrefix:Y}=B,Q=isImage(G);return createVNode(Badge,{dot:D,tag:F,content:W,class:[Y,Q?"":Y+"-"+G],style:{color:q,fontSize:addUnit(U)}},{default:()=>[R.default==null?void 0:R.default(),Q&&createVNode("img",{class:bem$y("image"),src:G},null)]})}}}),Icon=withInstall(_Icon),[name$x,bem$x]=createNamespace("loading"),SpinIcon=Array(12).fill(createVNode("i",null,null)),CircularIcon=createVNode("svg",{class:bem$x("circular"),viewBox:"25 25 50 50"},[createVNode("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),_Loading=defineComponent({name:name$x,props:{size:[Number,String],color:String,vertical:Boolean,textSize:[Number,String],textColor:String,type:{type:String,default:"circular"}},setup(B,{slots:R}){var F=computed(()=>extend$2({color:B.color},getSizeStyle(B.size))),D=()=>{if(R.default){var G;return createVNode("span",{class:bem$x("text"),style:{fontSize:addUnit(B.textSize),color:(G=B.textColor)!=null?G:B.color}},[R.default()])}};return()=>{var{type:G,vertical:U}=B;return createVNode("div",{class:bem$x([G,{vertical:U}])},[createVNode("span",{class:bem$x("spinner",G),style:F.value},[G==="spinner"?SpinIcon:CircularIcon]),D()])}}}),Loading=withInstall(_Loading),[name$w,bem$w]=createNamespace("button"),_Button=defineComponent({name:name$w,props:extend$2({},routeProps,{text:String,icon:String,color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,loadingSize:String,loadingText:String,loadingType:String,tag:{type:String,default:"button"},type:{type:String,default:"default"},size:{type:String,default:"normal"},nativeType:{type:String,default:"button"},iconPosition:{type:String,default:"left"}}),emits:["click"],setup(B,{emit:R,slots:F}){var D=useRoute(),G=()=>F.loading?F.loading():createVNode(Loading,{size:B.loadingSize,type:B.loadingType,class:bem$w("loading")},null),U=()=>{if(B.loading)return G();if(F.icon)return createVNode("div",{class:bem$w("icon")},[F.icon()]);if(B.icon)return createVNode(Icon,{name:B.icon,class:bem$w("icon"),classPrefix:B.iconPrefix},null)},W=()=>{var Q;if(B.loading?Q=B.loadingText:Q=F.default?F.default():B.text,Q)return createVNode("span",{class:bem$w("text")},[Q])},q=()=>{var{color:Q,plain:Z}=B;if(Q){var K={color:Z?Q:"white"};return Z||(K.background=Q),Q.includes("gradient")?K.border=0:K.borderColor=Q,K}},Y=Q=>{B.loading?Q.preventDefault():B.disabled||(R("click",Q),D())};return()=>{var{tag:Q,type:Z,size:K,block:J,round:ie,plain:ne,square:se,loading:re,disabled:ae,hairline:le,nativeType:ce,iconPosition:he}=B,de=[bem$w([Z,K,{plain:ne,block:J,round:ie,square:se,loading:re,disabled:ae,hairline:le}]),{[BORDER_SURROUND]:le}];return createVNode(Q,{type:ce,class:de,style:q(),disabled:ae,onClick:Y},{default:()=>[createVNode("div",{class:bem$w("content")},[he==="left"&&U(),W(),he==="right"&&U()])]})}}}),Button=withInstall(_Button),[name$v,bem$v]=createNamespace("action-bar-button"),_ActionBarButton=defineComponent({name:name$v,props:extend$2({},routeProps,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean}),setup(B,{slots:R}){var F=useRoute(),{parent:D,index:G}=useParent(ACTION_BAR_KEY),U=computed(()=>{if(D){var q=D.children[G.value-1];return!(q&&"isButton"in q)}}),W=computed(()=>{if(D){var q=D.children[G.value+1];return!(q&&"isButton"in q)}});return useExpose({isButton:!0}),()=>{var{type:q,icon:Y,text:Q,color:Z,loading:K,disabled:J}=B;return createVNode(Button,{class:bem$v([q,{last:W.value,first:U.value}]),size:"large",type:q,icon:Y,color:Z,loading:K,disabled:J,onClick:F},{default:()=>[R.default?R.default():Q]})}}}),ActionBarButton=withInstall(_ActionBarButton),popupSharedProps={show:Boolean,zIndex:[Number,String],overlay:truthProp,duration:[Number,String],teleport:[String,Object],lockScroll:truthProp,lazyRender:truthProp,overlayStyle:Object,overlayClass:unknownProp,transitionAppear:Boolean,closeOnClickOverlay:truthProp},popupSharedPropKeys=Object.keys(popupSharedProps),MIN_DISTANCE=10;function getDirection(B,R){return B>R&&B>MIN_DISTANCE?"horizontal":R>B&&R>MIN_DISTANCE?"vertical":""}function useTouch(){var B=ref(0),R=ref(0),F=ref(0),D=ref(0),G=ref(0),U=ref(0),W=ref(""),q=()=>W.value==="vertical",Y=()=>W.value==="horizontal",Q=()=>{F.value=0,D.value=0,G.value=0,U.value=0,W.value=""},Z=J=>{Q(),B.value=J.touches[0].clientX,R.value=J.touches[0].clientY},K=J=>{var ie=J.touches[0];F.value=ie.clientX<0?0:ie.clientX-B.value,D.value=ie.clientY-R.value,G.value=Math.abs(F.value),U.value=Math.abs(D.value),W.value||(W.value=getDirection(G.value,U.value))};return{move:K,start:Z,reset:Q,startX:B,startY:R,deltaX:F,deltaY:D,offsetX:G,offsetY:U,direction:W,isVertical:q,isHorizontal:Y}}var totalLockCount=0,BODY_LOCK_CLASS="van-overflow-hidden";function useLockScroll(B,R){var F=useTouch(),D=Y=>{F.move(Y);var Q=F.deltaY.value>0?"10":"01",Z=getScrollParent$1(Y.target,B.value),{scrollHeight:K,offsetHeight:J,scrollTop:ie}=Z,ne="11";ie===0?ne=J>=K?"00":"01":ie+J>=K&&(ne="10"),ne!=="11"&&F.isVertical()&&!(parseInt(ne,2)&parseInt(Q,2))&&preventDefault(Y,!0)},G=()=>{document.addEventListener("touchstart",F.start),document.addEventListener("touchmove",D,{passive:!1}),totalLockCount||document.body.classList.add(BODY_LOCK_CLASS),totalLockCount++},U=()=>{totalLockCount&&(document.removeEventListener("touchstart",F.start),document.removeEventListener("touchmove",D),totalLockCount--,totalLockCount||document.body.classList.remove(BODY_LOCK_CLASS))},W=()=>{R()&&G()},q=()=>{R()&&U()};onMountedOrActivated(W),onDeactivated(q),onBeforeUnmount(q),watch(R,Y=>{Y?G():U()})}function useLazyRender(B){var R=ref(!1);return watch(B,F=>{F&&(R.value=F)},{immediate:!0}),F=>()=>R.value?F():null}var POPUP_TOGGLE_KEY=Symbol();function onPopupReopen(B){var R=inject(POPUP_TOGGLE_KEY,null);R&&watch(R,F=>{F&&B()})}var[name$u,bem$u]=createNamespace("overlay"),_Overlay=defineComponent({name:name$u,props:{show:Boolean,zIndex:[Number,String],duration:[Number,String],className:unknownProp,lockScroll:truthProp,customStyle:Object},setup(B,{slots:R}){var F=useLazyRender(()=>B.show),D=U=>{preventDefault(U,!0)},G=F(()=>{var U=extend$2(getZIndexStyle(B.zIndex),B.customStyle);return isDef$1(B.duration)&&(U.animationDuration=B.duration+"s"),withDirectives(createVNode("div",{style:U,class:[bem$u(),B.className],onTouchmove:B.lockScroll?D:noop$3},[R.default==null?void 0:R.default()]),[[vShow,B.show]])});return()=>createVNode(Transition,{name:"van-fade"},{default:()=>[G()]})}}),Overlay=withInstall(_Overlay),[name$t,bem$t]=createNamespace("popup"),globalZIndex=2e3,_Popup=defineComponent({name:name$t,inheritAttrs:!1,props:extend$2({},popupSharedProps,{round:Boolean,closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,safeAreaInsetBottom:Boolean,position:{type:String,default:"center"},closeIcon:{type:String,default:"cross"},closeIconPosition:{type:String,default:"top-right"}}),emits:["open","close","click","opened","closed","update:show","click-overlay","click-close-icon"],setup(B,{emit:R,attrs:F,slots:D}){var G,U,W=ref(),q=ref(),Y=useLazyRender(()=>B.show||!B.lazyRender),Q=computed(()=>{var de={zIndex:W.value};if(isDef$1(B.duration)){var me=B.position==="center"?"animationDuration":"transitionDuration";de[me]=B.duration+"s"}return de}),Z=()=>{G||(B.zIndex!==void 0&&(globalZIndex=+B.zIndex),G=!0,W.value=++globalZIndex)},K=()=>{G&&(G=!1,R("update:show",!1))},J=de=>{R("click-overlay",de),B.closeOnClickOverlay&&K()},ie=()=>{if(B.overlay)return createVNode(Overlay,{show:B.show,class:B.overlayClass,zIndex:W.value,duration:B.duration,customStyle:B.overlayStyle,onClick:J},{default:D["overlay-content"]})},ne=de=>{R("click-close-icon",de),K()},se=()=>{if(B.closeable)return createVNode(Icon,{role:"button",tabindex:0,name:B.closeIcon,class:bem$t("close-icon",B.closeIconPosition),classPrefix:B.iconPrefix,onClick:ne},null)},re=de=>R("click",de),ae=()=>R("opened"),le=()=>R("closed"),ce=Y(()=>{var{round:de,position:me,safeAreaInsetBottom:fe}=B;return withDirectives(createVNode("div",mergeProps({ref:q,style:Q.value,class:bem$t({round:de,[me]:me,"safe-area-inset-bottom":fe}),onClick:re},F),[D.default==null?void 0:D.default(),se()]),[[vShow,B.show]])}),he=()=>{var{position:de,transition:me,transitionAppear:fe}=B,ge=de==="center"?"van-fade":"van-popup-slide-"+de;return createVNode(Transition,{name:me||ge,appear:fe,onAfterEnter:ae,onAfterLeave:le},{default:()=>[ce()]})};return watch(()=>B.show,de=>{de?(Z(),R("open")):(K(),R("close"))}),useExpose({popupRef:q}),useLockScroll(q,()=>B.show&&B.lockScroll),useEventListener("popstate",()=>{B.closeOnPopstate&&(K(),U=!1)}),onMounted(()=>{B.show&&Z()}),onActivated(()=>{U&&(R("update:show",!0),U=!1)}),onDeactivated(()=>{B.show&&(K(),U=!0)}),provide(POPUP_TOGGLE_KEY,()=>B.show),()=>B.teleport?createVNode(Teleport,{to:B.teleport},{default:()=>[ie(),he()]}):createVNode(Fragment,null,[ie(),he()])}}),Popup=withInstall(_Popup);function deepClone(B){if(!isDef$1(B))return B;if(Array.isArray(B))return B.map(F=>deepClone(F));if(typeof B=="object"){var R={};return Object.keys(B).forEach(F=>{R[F]=deepClone(B[F])}),R}return B}var DEFAULT_DURATION=200,MOMENTUM_LIMIT_TIME=300,MOMENTUM_LIMIT_DISTANCE=15,[name$s,bem$s]=createNamespace("picker-column");function getElementTranslateY(B){var R=window.getComputedStyle(B),F=R.transform||R.webkitTransform,D=F.slice(7,F.length-1).split(", ")[5];return Number(D)}var PICKER_KEY=Symbol(name$s);function isOptionDisabled(B){return isObject$1(B)&&B.disabled}var Column=defineComponent({name:name$s,props:{readonly:Boolean,allowHtml:Boolean,className:unknownProp,textKey:{type:String,required:!0},itemHeight:{type:Number,required:!0},swipeDuration:{type:[Number,String],required:!0},visibleItemCount:{type:[Number,String],required:!0},defaultIndex:{type:Number,default:0},initialOptions:{type:Array,default:()=>[]}},emits:["change"],setup(B,{emit:R,slots:F}){var D,G,U,W,q,Y=ref(),Q=reactive({index:B.defaultIndex,offset:0,duration:0,options:deepClone(B.initialOptions)}),Z=useTouch(),K=()=>Q.options.length,J=()=>B.itemHeight*(+B.visibleItemCount-1)/2,ie=ve=>{ve=clamp(ve,0,K());for(var xe=ve;xe<K();xe++)if(!isOptionDisabled(Q.options[xe]))return xe;for(var Pe=ve-1;Pe>=0;Pe--)if(!isOptionDisabled(Q.options[Pe]))return Pe},ne=(ve,xe)=>{ve=ie(ve)||0;var Pe=-ve*B.itemHeight,ye=()=>{ve!==Q.index&&(Q.index=ve,xe&&R("change",ve))};D&&Pe!==Q.offset?q=ye:ye(),Q.offset=Pe},se=ve=>{JSON.stringify(ve)!==JSON.stringify(Q.options)&&(Q.options=deepClone(ve),ne(B.defaultIndex))},re=ve=>{D||B.readonly||(q=null,Q.duration=DEFAULT_DURATION,ne(ve,!0))},ae=ve=>isObject$1(ve)&&B.textKey in ve?ve[B.textKey]:ve,le=ve=>clamp(Math.round(-ve/B.itemHeight),0,K()-1),ce=(ve,xe)=>{var Pe=Math.abs(ve/xe);ve=Q.offset+Pe/.003*(ve<0?-1:1);var ye=le(ve);Q.duration=+B.swipeDuration,ne(ye,!0)},he=()=>{D=!1,Q.duration=0,q&&(q(),q=null)},de=ve=>{if(!B.readonly){if(Z.start(ve),D){var xe=getElementTranslateY(Y.value);Q.offset=Math.min(0,xe-J()),G=Q.offset}else G=Q.offset;Q.duration=0,U=Date.now(),W=G,q=null}},me=ve=>{if(!B.readonly){Z.move(ve),Z.isVertical()&&(D=!0,preventDefault(ve,!0)),Q.offset=clamp(G+Z.deltaY.value,-(K()*B.itemHeight),B.itemHeight);var xe=Date.now();xe-U>MOMENTUM_LIMIT_TIME&&(U=xe,W=Q.offset)}},fe=()=>{if(!B.readonly){var ve=Q.offset-W,xe=Date.now()-U,Pe=xe<MOMENTUM_LIMIT_TIME&&Math.abs(ve)>MOMENTUM_LIMIT_DISTANCE;if(Pe){ce(ve,xe);return}var ye=le(Q.offset);Q.duration=DEFAULT_DURATION,ne(ye,!0),setTimeout(()=>{D=!1},0)}},ge=()=>{var ve={height:B.itemHeight+"px"};return Q.options.map((xe,Pe)=>{var ye=ae(xe),Te=isOptionDisabled(xe),Le={role:"button",style:ve,tabindex:Te?-1:0,class:bem$s("item",{disabled:Te,selected:Pe===Q.index}),onClick:()=>re(Pe)},we={class:"van-ellipsis",[B.allowHtml?"innerHTML":"textContent"]:ye};return createVNode("li",Le,[F.option?F.option(xe):createVNode("div",we,null)])})},Se=ve=>{for(var{options:xe}=Q,Pe=0;Pe<xe.length;Pe++)if(ae(xe[Pe])===ve)return ne(Pe)},Ee=()=>Q.options[Q.index];return ne(Q.index),useParent(PICKER_KEY),useExpose({state:Q,setIndex:ne,getValue:Ee,setValue:Se,setOptions:se,stopMomentum:he}),watch(()=>B.initialOptions,se),watch(()=>B.defaultIndex,ve=>{ne(ve)}),()=>{var ve={transform:"translate3d(0, "+(Q.offset+J())+"px, 0)",transitionDuration:Q.duration+"ms",transitionProperty:Q.duration?"all":"none"};return createVNode("div",{class:[bem$s(),B.className],onTouchstart:de,onTouchmove:me,onTouchend:fe,onTouchcancel:fe},[createVNode("ul",{ref:Y,style:ve,class:bem$s("wrapper"),onTransitionend:he},[ge()])])}}}),[name$r,bem$r,t$5]=createNamespace("picker"),pickerProps={title:String,loading:Boolean,readonly:Boolean,allowHtml:Boolean,showToolbar:truthProp,cancelButtonText:String,confirmButtonText:String,itemHeight:{type:[Number,String],default:44},visibleItemCount:{type:[Number,String],default:6},swipeDuration:{type:[Number,String],default:1e3}},_Picker=defineComponent({name:name$r,props:extend$2({},pickerProps,{columnsFieldNames:Object,columns:{type:Array,default:()=>[]},defaultIndex:{type:[Number,String],default:0},toolbarPosition:{type:String,default:"top"},valueKey:{type:String,default:"text"}}),emits:["confirm","cancel","change"],setup(B,{emit:R,slots:F}){var D=ref([]),{text:G,values:U,children:W}=extend$2({text:B.valueKey,values:"values",children:"children"},B.columnsFieldNames),{children:q,linkChildren:Y}=useChildren(PICKER_KEY);Y();var Q=computed(()=>unitToPx(B.itemHeight)),Z=computed(()=>{var Me=B.columns[0];if(Me&&typeof Me!="string"){if(W in Me)return"cascade";if(U in Me)return"object"}return"plain"}),K=()=>{for(var Me=[],ke={[W]:B.columns};ke&&ke[W];){for(var Ne,Ie=ke[W],Ge=(Ne=ke.defaultIndex)!=null?Ne:+B.defaultIndex;Ie[Ge]&&Ie[Ge].disabled;)if(Ge<Ie.length-1)Ge++;else{Ge=0;break}Me.push({[U]:ke[W],className:ke.className,defaultIndex:Ge}),ke=Ie[Ge]}D.value=Me},J=()=>{var{columns:Me}=B;Z.value==="plain"?D.value=[{[U]:Me}]:Z.value==="cascade"?K():D.value=Me},ie=()=>q.map(Me=>Me.state.index),ne=(Me,ke)=>{var Ne=q[Me];Ne&&Ne.setOptions(ke)},se=Me=>{for(var ke={[W]:B.columns},Ne=ie(),Ie=0;Ie<=Me;Ie++)ke=ke[W][Ne[Ie]];for(;ke&&ke[W];)Me++,ne(Me,ke[W]),ke=ke[W][ke.defaultIndex||0]},re=Me=>q[Me],ae=Me=>{var ke=re(Me);if(ke)return ke.getValue()},le=(Me,ke)=>{var Ne=re(Me);Ne&&(Ne.setValue(ke),Z.value==="cascade"&&se(Me))},ce=Me=>{var ke=re(Me);if(ke)return ke.state.index},he=(Me,ke)=>{var Ne=re(Me);Ne&&(Ne.setIndex(ke),Z.value==="cascade"&&se(Me))},de=Me=>{var ke=re(Me);if(ke)return ke.state.options},me=()=>q.map(Me=>Me.getValue()),fe=Me=>{Me.forEach((ke,Ne)=>{le(Ne,ke)})},ge=Me=>{Me.forEach((ke,Ne)=>{he(Ne,ke)})},Se=Me=>{Z.value==="plain"?R(Me,ae(0),ce(0)):R(Me,me(),ie())},Ee=Me=>{Z.value==="cascade"&&se(Me),Z.value==="plain"?R("change",ae(0),ce(0)):R("change",me(),Me)},ve=()=>{q.forEach(Me=>Me.stopMomentum()),Se("confirm")},xe=()=>Se("cancel"),Pe=()=>{if(F.title)return F.title();if(B.title)return createVNode("div",{class:[bem$r("title"),"van-ellipsis"]},[B.title])},ye=()=>{var Me=B.cancelButtonText||t$5("cancel");return createVNode("button",{type:"button",class:bem$r("cancel"),onClick:xe},[F.cancel?F.cancel():Me])},Te=()=>{var Me=B.confirmButtonText||t$5("confirm");return createVNode("button",{type:"button",class:bem$r("confirm"),onClick:ve},[F.confirm?F.confirm():Me])},Le=()=>{if(B.showToolbar)return createVNode("div",{class:bem$r("toolbar")},[F.default?F.default():[ye(),Pe(),Te()]])},we=()=>D.value.map((Me,ke)=>{var Ne;return createVNode(Column,{textKey:G,readonly:B.readonly,allowHtml:B.allowHtml,className:Me.className,itemHeight:Q.value,defaultIndex:(Ne=Me.defaultIndex)!=null?Ne:+B.defaultIndex,swipeDuration:B.swipeDuration,initialOptions:Me[U],visibleItemCount:B.visibleItemCount,onChange:()=>Ee(ke)},{option:F.option})}),Ae=()=>{var Me=Q.value*+B.visibleItemCount,ke={height:Q.value+"px"},Ne={height:Me+"px"},Ie={backgroundSize:"100% "+(Me-Q.value)/2+"px"};return createVNode("div",{class:bem$r("columns"),style:Ne,onTouchmove:preventDefault},[we(),createVNode("div",{class:bem$r("mask"),style:Ie},null),createVNode("div",{class:[BORDER_UNSET_TOP_BOTTOM,bem$r("frame")],style:ke},null)])};return watch(()=>B.columns,J,{immediate:!0}),useExpose({confirm:ve,getValues:me,setValues:fe,getIndexes:ie,setIndexes:ge,getColumnIndex:ce,setColumnIndex:he,getColumnValue:ae,setColumnValue:le,getColumnValues:de,setColumnValues:ne}),()=>{var Me,ke;return createVNode("div",{class:bem$r()},[B.toolbarPosition==="top"?Le():null,B.loading?createVNode(Loading,{class:bem$r("loading")},null):null,(Me=F["columns-top"])==null?void 0:Me.call(F),Ae(),(ke=F["columns-bottom"])==null?void 0:ke.call(F),B.toolbarPosition==="bottom"?Le():null])}}}),Picker=withInstall(_Picker),[name$q,bem$q]=createNamespace("cell"),cellProps={icon:String,size:String,title:[Number,String],value:[Number,String],label:[Number,String],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}},_Cell=defineComponent({name:name$q,props:extend$2({},cellProps,routeProps),setup(B,{slots:R}){var F=useRoute(),D=()=>{var Y=R.label||isDef$1(B.label);if(Y)return createVNode("div",{class:[bem$q("label"),B.labelClass]},[R.label?R.label():B.label])},G=()=>{if(R.title||isDef$1(B.title))return createVNode("div",{class:[bem$q("title"),B.titleClass],style:B.titleStyle},[R.title?R.title():createVNode("span",null,[B.title]),D()])},U=()=>{var Y=R.default||isDef$1(B.value);if(Y){var Q=R.title||isDef$1(B.title);return createVNode("div",{class:[bem$q("value",{alone:!Q}),B.valueClass]},[R.default?R.default():createVNode("span",null,[B.value])])}},W=()=>{if(R.icon)return R.icon();if(B.icon)return createVNode(Icon,{name:B.icon,class:bem$q("left-icon"),classPrefix:B.iconPrefix},null)},q=()=>{if(R["right-icon"])return R["right-icon"]();if(B.isLink){var Y=B.arrowDirection?"arrow-"+B.arrowDirection:"arrow";return createVNode(Icon,{name:Y,class:bem$q("right-icon")},null)}};return()=>{var Y,{size:Q,center:Z,border:K,isLink:J,required:ie}=B,ne=(Y=B.clickable)!=null?Y:J,se={center:Z,required:ie,clickable:ne,borderless:!K};return Q&&(se[Q]=!!Q),createVNode("div",{class:bem$q(se),role:ne?"button":void 0,tabindex:ne?0:void 0,onClick:F},[W(),G(),U(),q(),R.extra==null?void 0:R.extra()])}}}),Cell=withInstall(_Cell);function isEmptyValue(B){return Array.isArray(B)?!B.length:B===0?!1:!B}function runSyncRule(B,R){return!(R.required&&isEmptyValue(B)||R.pattern&&!R.pattern.test(String(B)))}function runRuleValidator(B,R){return new Promise(F=>{var D=R.validator(B,R);if(isPromise(D))return D.then(F);F(D)})}function getRuleMessage(B,R){var{message:F}=R;return isFunction$1(F)?F(B,R):F||""}function startComposing(B){B.target.composing=!0}function endComposing(B){var{target:R}=B;R.composing&&(R.composing=!1,trigger(R,"input"))}function resizeTextarea(B,R){B.style.height="auto";var F=B.scrollHeight;if(isObject$1(R)){var{maxHeight:D,minHeight:G}=R;D!==void 0&&(F=Math.min(F,D)),G!==void 0&&(F=Math.max(F,G))}F&&(B.style.height=F+"px")}function mapInputType(B){return B==="number"?{type:"text",inputmode:"decimal"}:B==="digit"?{type:"tel",inputmode:"numeric"}:{type:B}}var FORM_KEY=Symbol("van-form"),FIELD_KEY=Symbol("van-field");function useLinkField(B){var R=inject(FIELD_KEY,null);R&&!R.childFieldValue.value&&(R.childFieldValue.value=B,watch(B,()=>{R.resetValidation(),R.validateWithTrigger("onChange")}))}var[name$p,bem$p]=createNamespace("field"),fieldProps={formatter:Function,leftIcon:String,rightIcon:String,autofocus:Boolean,clearable:Boolean,maxlength:[Number,String],inputAlign:String,placeholder:String,errorMessage:String,error:{type:Boolean,default:null},disabled:{type:Boolean,default:null},readonly:{type:Boolean,default:null},clearIcon:{type:String,default:"clear"},modelValue:{type:[Number,String],default:""},clearTrigger:{type:String,default:"focus"},formatTrigger:{type:String,default:"onChange"}},_Field=defineComponent({name:name$p,props:extend$2({},cellProps,fieldProps,{rows:[Number,String],name:String,rules:Array,autosize:[Boolean,Object],labelWidth:[Number,String],labelClass:unknownProp,labelAlign:String,autocomplete:String,showWordLimit:Boolean,errorMessageAlign:String,type:{type:String,default:"text"},colon:{type:Boolean,default:null}}),emits:["blur","focus","clear","keypress","click-input","click-left-icon","click-right-icon","update:modelValue"],setup(B,{emit:R,slots:F}){var D=reactive({focused:!1,validateFailed:!1,validateMessage:""}),G=ref(),U=ref(),{parent:W}=useParent(FORM_KEY),q=()=>{var ke;return String((ke=B.modelValue)!=null?ke:"")},Y=ke=>{if(isDef$1(B[ke]))return B[ke];if(W&&isDef$1(W.props[ke]))return W.props[ke]},Q=computed(()=>{var ke=Y("readonly");if(B.clearable&&!ke){var Ne=q()!=="",Ie=B.clearTrigger==="always"||B.clearTrigger==="focus"&&D.focused;return Ne&&Ie}return!1}),Z=computed(()=>U.value&&F.input?U.value():B.modelValue),K=ke=>ke.reduce((Ne,Ie)=>Ne.then(()=>{if(!D.validateFailed){var{value:Ge}=Z;if(Ie.formatter&&(Ge=Ie.formatter(Ge,Ie)),!runSyncRule(Ge,Ie)){D.validateFailed=!0,D.validateMessage=getRuleMessage(Ge,Ie);return}if(Ie.validator)return runRuleValidator(Ge,Ie).then(ze=>{ze&&typeof ze=="string"?(D.validateFailed=!0,D.validateMessage=ze):ze===!1&&(D.validateFailed=!0,D.validateMessage=getRuleMessage(Ge,Ie))})}}),Promise.resolve()),J=()=>{D.validateFailed&&(D.validateFailed=!1,D.validateMessage="")},ie=(ke=B.rules)=>new Promise(Ne=>{J(),ke?K(ke).then(()=>{D.validateFailed?Ne({name:B.name,message:D.validateMessage}):Ne()}):Ne()}),ne=ke=>{if(W&&B.rules){var Ne=W.props.validateTrigger===ke,Ie=B.rules.filter(Ge=>Ge.trigger?Ge.trigger===ke:Ne);Ie.length&&ie(Ie)}},se=ke=>{var{maxlength:Ne}=B;if(isDef$1(Ne)&&ke.length>Ne){var Ie=q();return Ie&&Ie.length===+Ne?Ie:ke.slice(0,+Ne)}return ke},re=(ke,Ne="onChange")=>{if(ke=se(ke),B.type==="number"||B.type==="digit"){var Ie=B.type==="number";ke=formatNumber(ke,Ie,Ie)}B.formatter&&Ne===B.formatTrigger&&(ke=B.formatter(ke)),G.value&&G.value.value!==ke&&(G.value.value=ke),ke!==B.modelValue&&R("update:modelValue",ke)},ae=ke=>{ke.target.composing||re(ke.target.value)},le=()=>{var ke;return(ke=G.value)==null?void 0:ke.blur()},ce=()=>{var ke;return(ke=G.value)==null?void 0:ke.focus()},he=ke=>{D.focused=!0,R("focus",ke);var Ne=Y("readonly");Ne&&le()},de=ke=>{D.focused=!1,re(q(),"onBlur"),R("blur",ke),ne("onBlur"),resetScroll()},me=ke=>R("click-input",ke),fe=ke=>R("click-left-icon",ke),ge=ke=>R("click-right-icon",ke),Se=ke=>{preventDefault(ke),R("update:modelValue",""),R("clear",ke)},Ee=computed(()=>{if(typeof B.error=="boolean")return B.error;if(W&&W.props.showError&&D.validateFailed)return!0}),ve=computed(()=>{var ke=Y("labelWidth");if(ke)return{width:addUnit(ke)}}),xe=ke=>{var Ne=13;if(ke.keyCode===Ne){var Ie=W&&W.props.submitOnEnter;!Ie&&B.type!=="textarea"&&preventDefault(ke),B.type==="search"&&le()}R("keypress",ke)},Pe=()=>{var ke=G.value;B.type==="textarea"&&B.autosize&&ke&&resizeTextarea(ke,B.autosize)},ye=()=>{var ke=Y("inputAlign");if(F.input)return createVNode("div",{class:bem$p("control",[ke,"custom"]),onClick:me},[F.input()]);var Ne={ref:G,name:B.name,rows:B.rows!==void 0?+B.rows:void 0,class:bem$p("control",ke),value:B.modelValue,disabled:Y("disabled"),readonly:Y("readonly"),autofocus:B.autofocus,placeholder:B.placeholder,autocomplete:B.autocomplete,onBlur:de,onFocus:he,onInput:ae,onClick:me,onChange:endComposing,onKeypress:xe,onCompositionend:endComposing,onCompositionstart:startComposing};return B.type==="textarea"?createVNode("textarea",Ne,null):createVNode("input",mergeProps(mapInputType(B.type),Ne),null)},Te=()=>{var ke=F["left-icon"];if(B.leftIcon||ke)return createVNode("div",{class:bem$p("left-icon"),onClick:fe},[ke?ke():createVNode(Icon,{name:B.leftIcon,classPrefix:B.iconPrefix},null)])},Le=()=>{var ke=F["right-icon"];if(B.rightIcon||ke)return createVNode("div",{class:bem$p("right-icon"),onClick:ge},[ke?ke():createVNode(Icon,{name:B.rightIcon,classPrefix:B.iconPrefix},null)])},we=()=>{if(B.showWordLimit&&B.maxlength){var ke=q().length;return createVNode("div",{class:bem$p("word-limit")},[createVNode("span",{class:bem$p("word-num")},[ke]),createTextVNode("/"),B.maxlength])}},Ae=()=>{if(!(W&&W.props.showErrorMessage===!1)){var ke=B.errorMessage||D.validateMessage;if(ke){var Ne=Y("errorMessageAlign");return createVNode("div",{class:bem$p("error-message",Ne)},[ke])}}},Me=()=>{var ke=Y("colon")?":":"";if(F.label)return[F.label(),ke];if(B.label)return createVNode("span",null,[B.label+ke])};return useExpose({blur:le,focus:ce,validate:ie,formValue:Z,resetValidation:J}),provide(FIELD_KEY,{childFieldValue:U,resetValidation:J,validateWithTrigger:ne}),watch(()=>B.modelValue,()=>{re(q()),J(),ne("onChange"),nextTick(Pe)}),onMounted(()=>{re(q(),B.formatTrigger),nextTick(Pe)}),()=>{var ke=Y("disabled"),Ne=Y("labelAlign"),Ie=Me(),Ge=Te();return createVNode(Cell,{size:B.size,icon:B.leftIcon,class:bem$p({error:Ee.value,disabled:ke,["label-"+Ne]:Ne,"min-height":B.type==="textarea"&&!B.autosize}),center:B.center,border:B.border,isLink:B.isLink,required:B.required,clickable:B.clickable,titleStyle:ve.value,valueClass:bem$p("value"),titleClass:[bem$p("label",Ne),B.labelClass],arrowDirection:B.arrowDirection},{default:()=>[createVNode("div",{class:bem$p("body")},[ye(),Q.value&&createVNode(Icon,{name:B.clearIcon,class:bem$p("clear"),onTouchstart:Se},null),Le(),F.button&&createVNode("div",{class:bem$p("button")},[F.button()])]),we(),Ae()],icon:Ge?()=>Ge:null,title:Ie?()=>Ie:null,extra:F.extra})}}}),Field=withInstall(_Field);function usePopupState(){var B=reactive({show:!1}),R=G=>{B.show=G},F=G=>{extend$2(B,G),nextTick(()=>R(!0))},D=()=>R(!1);return useExpose({open:F,close:D,toggle:R}),{open:F,close:D,state:B,toggle:R}}function mountComponent(B){var R=createApp(B),F=document.createElement("div");return document.body.appendChild(F),{instance:R.mount(F),unmount(){R.unmount(),document.body.removeChild(F)}}}var lockCount=0;function lockClick(B){B?(lockCount||document.body.classList.add("van-toast--unclickable"),lockCount++):lockCount&&(lockCount--,lockCount||document.body.classList.remove("van-toast--unclickable"))}var[name$o,bem$o]=createNamespace("toast"),VanToast=defineComponent({name:name$o,props:{icon:String,show:Boolean,overlay:Boolean,message:[Number,String],iconSize:[Number,String],className:unknownProp,iconPrefix:String,loadingType:String,forbidClick:Boolean,overlayClass:unknownProp,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean,type:{type:String,default:"text"},duration:{type:Number,default:2e3},position:{type:String,default:"middle"},transition:{type:String,default:"van-fade"}},emits:["update:show"],setup(B,{emit:R}){var F,D=!1,G=()=>{var Z=B.show&&B.forbidClick;D!==Z&&(D=Z,lockClick(D))},U=Z=>R("update:show",Z),W=()=>{B.closeOnClick&&U(!1)},q=()=>{clearTimeout(F)},Y=()=>{var{icon:Z,type:K,iconSize:J,iconPrefix:ie,loadingType:ne}=B,se=Z||K==="success"||K==="fail";if(se)return createVNode(Icon,{name:Z||K,size:J,class:bem$o("icon"),classPrefix:ie},null);if(K==="loading")return createVNode(Loading,{class:bem$o("loading"),size:J,type:ne},null)},Q=()=>{var{type:Z,message:K}=B;if(isDef$1(K)&&K!=="")return Z==="html"?createVNode("div",{class:bem$o("text"),innerHTML:String(K)},null):createVNode("div",{class:bem$o("text")},[K])};return watch(()=>[B.show,B.forbidClick],G),watch(()=>[B.show,B.type,B.message,B.duration],()=>{q(),B.show&&B.duration>0&&(F=setTimeout(()=>{U(!1)},B.duration))}),onMounted(G),onUnmounted(G),()=>createVNode(Popup,mergeProps({show:B.show,class:[bem$o([B.position,{[B.type]:!B.icon}]),B.className],overlay:B.overlay,lockScroll:!1,transition:B.transition,overlayClass:B.overlayClass,overlayStyle:B.overlayStyle,closeOnClickOverlay:B.closeOnClickOverlay,onClick:W,onClosed:q},{"onUpdate:show":U}),{default:()=>[Y(),Q()]})}}),defaultOptions={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},queue$1=[],allowMultiple=!1,currentOptions=extend$2({},defaultOptions),defaultOptionsMap={};function parseOptions(B){return isObject$1(B)?B:{message:B}}function createInstance(){var{instance:B,unmount:R}=mountComponent({setup(){var F=ref(""),{open:D,state:G,close:U,toggle:W}=usePopupState(),q=()=>{allowMultiple&&(queue$1=queue$1.filter(Q=>Q!==B),R())},Y=()=>{var Q={onClosed:q,"onUpdate:show":W};return F.value&&(Q.message=F.value),createVNode(VanToast,mergeProps(G,Q),null)};return getCurrentInstance().render=Y,{open:D,clear:U,message:F}}});return B}function getInstance(){if(!queue$1.length||allowMultiple){var B=createInstance();queue$1.push(B)}return queue$1[queue$1.length-1]}function Toast(B={}){if(!inBrowser$1)return{};var R=getInstance(),F=parseOptions(B);return R.open(extend$2({},currentOptions,defaultOptionsMap[F.type||currentOptions.type],F)),R}var createMethod=B=>R=>Toast(extend$2({type:B},parseOptions(R)));Toast.loading=createMethod("loading");Toast.success=createMethod("success");Toast.fail=createMethod("fail");Toast.clear=B=>{queue$1.length&&(B?(queue$1.forEach(R=>{R.clear()}),queue$1=[]):allowMultiple?queue$1.shift().clear():queue$1[0].clear())};function setDefaultOptions(B,R){typeof B=="string"?defaultOptionsMap[B]=R:extend$2(currentOptions,B)}Toast.setDefaultOptions=setDefaultOptions;Toast.resetDefaultOptions=B=>{typeof B=="string"?defaultOptionsMap[B]=null:(currentOptions=extend$2({},defaultOptions),defaultOptionsMap={})};Toast.allowMultiple=(B=!0)=>{allowMultiple=B};Toast.install=B=>{B.use(withInstall(VanToast)),B.config.globalProperties.$toast=Toast};function callInterceptor(B){var{interceptor:R,args:F,done:D,canceled:G}=B;if(R){var U=R.apply(null,F||[]);isPromise(U)?U.then(W=>{W?D():G&&G()}).catch(noop$3):U?D():G&&G()}else D()}var[name$n,bem$n,t$4]=createNamespace("dialog"),popupKeys=[...popupSharedPropKeys,"transition","closeOnPopstate"],VanDialog=defineComponent({name:name$n,props:extend$2({},popupSharedProps,{title:String,theme:String,width:[Number,String],message:[String,Function],callback:Function,allowHtml:Boolean,className:unknownProp,beforeClose:Function,messageAlign:String,closeOnPopstate:truthProp,showCancelButton:Boolean,cancelButtonText:String,cancelButtonColor:String,confirmButtonText:String,confirmButtonColor:String,showConfirmButton:truthProp,closeOnClickOverlay:Boolean,transition:{type:String,default:"van-dialog-bounce"}}),emits:["confirm","cancel","update:show"],setup(B,{emit:R,slots:F}){var D=reactive({confirm:!1,cancel:!1}),G=se=>R("update:show",se),U=se=>{G(!1),B.callback&&B.callback(se)},W=se=>()=>{!B.show||(R(se),B.beforeClose?(D[se]=!0,callInterceptor({interceptor:B.beforeClose,args:[se],done(){U(se),D[se]=!1},canceled(){D[se]=!1}})):U(se))},q=W("cancel"),Y=W("confirm"),Q=()=>{var se=F.title?F.title():B.title;if(se)return createVNode("div",{class:bem$n("header",{isolated:!B.message&&!F.default})},[se])},Z=se=>{var{message:re,allowHtml:ae,messageAlign:le}=B,ce=bem$n("message",{"has-title":se,[le]:le}),he=isFunction$1(re)?re():re;return ae&&typeof he=="string"?createVNode("div",{class:ce,innerHTML:he},null):createVNode("div",{class:ce},[he])},K=()=>{if(F.default)return createVNode("div",{class:bem$n("content")},[F.default()]);var{title:se,message:re,allowHtml:ae}=B;if(re){var le=!!(se||F.title);return createVNode("div",{key:ae?1:0,class:bem$n("content",{isolated:!le})},[Z(le)])}},J=()=>createVNode("div",{class:[BORDER_TOP,bem$n("footer")]},[B.showCancelButton&&createVNode(Button,{size:"large",text:B.cancelButtonText||t$4("cancel"),class:bem$n("cancel"),style:{color:B.cancelButtonColor},loading:D.cancel,onClick:q},null),B.showConfirmButton&&createVNode(Button,{size:"large",text:B.confirmButtonText||t$4("confirm"),class:[bem$n("confirm"),{[BORDER_LEFT]:B.showCancelButton}],style:{color:B.confirmButtonColor},loading:D.confirm,onClick:Y},null)]),ie=()=>createVNode(ActionBar,{class:bem$n("footer")},{default:()=>[B.showCancelButton&&createVNode(ActionBarButton,{type:"warning",text:B.cancelButtonText||t$4("cancel"),class:bem$n("cancel"),color:B.cancelButtonColor,loading:D.cancel,onClick:q},null),B.showConfirmButton&&createVNode(ActionBarButton,{type:"danger",text:B.confirmButtonText||t$4("confirm"),class:bem$n("confirm"),color:B.confirmButtonColor,loading:D.confirm,onClick:Y},null)]}),ne=()=>F.footer?F.footer():B.theme==="round-button"?ie():J();return()=>{var{width:se,title:re,theme:ae,message:le,className:ce}=B;return createVNode(Popup,mergeProps({role:"dialog",class:[bem$n([ae]),ce],style:{width:addUnit(se)},"aria-labelledby":re||le},pick(B,popupKeys),{"onUpdate:show":G}),{default:()=>[Q(),K(),ne()]})}}}),instance$1;function initInstance(){var B={setup(){var{state:R,toggle:F}=usePopupState();return()=>createVNode(VanDialog,mergeProps(R,{"onUpdate:show":F}),null)}};({instance:instance$1}=mountComponent(B))}function Dialog(B){return inBrowser$1?new Promise((R,F)=>{instance$1||initInstance(),instance$1.open(extend$2({},Dialog.currentOptions,B,{callback:D=>{(D==="confirm"?R:F)(D)}}))}):Promise.resolve()}Dialog.defaultOptions={title:"",width:"",theme:null,message:"",overlay:!0,callback:null,teleport:"body",className:"",allowHtml:!1,lockScroll:!0,transition:"van-dialog-bounce",beforeClose:null,overlayClass:"",overlayStyle:void 0,messageAlign:"",cancelButtonText:"",cancelButtonColor:null,confirmButtonText:"",confirmButtonColor:null,showConfirmButton:!0,showCancelButton:!1,closeOnPopstate:!0,closeOnClickOverlay:!1};Dialog.currentOptions=extend$2({},Dialog.defaultOptions);Dialog.alert=Dialog;Dialog.confirm=B=>Dialog(extend$2({showCancelButton:!0},B));Dialog.close=()=>{instance$1&&instance$1.toggle(!1)};Dialog.setDefaultOptions=B=>{extend$2(Dialog.currentOptions,B)};Dialog.resetDefaultOptions=()=>{Dialog.currentOptions=extend$2({},Dialog.defaultOptions)};Dialog.install=B=>{B.use(withInstall(VanDialog)),B.config.globalProperties.$dialog=Dialog};Dialog.Component=withInstall(VanDialog);var[name$m,bem$m]=createNamespace("switch"),_Switch=defineComponent({name:name$m,props:{size:[Number,String],loading:Boolean,disabled:Boolean,modelValue:unknownProp,activeColor:String,inactiveColor:String,activeValue:{type:unknownProp,default:!0},inactiveValue:{type:unknownProp,default:!1}},emits:["change","update:modelValue"],setup(B,{emit:R}){var F=()=>B.modelValue===B.activeValue,D=()=>{if(!B.disabled&&!B.loading){var U=F()?B.inactiveValue:B.activeValue;R("update:modelValue",U),R("change",U)}},G=()=>{if(B.loading){var U=F()?B.activeColor:B.inactiveColor;return createVNode(Loading,{class:bem$m("loading"),color:U},null)}};return useLinkField(()=>B.modelValue),()=>{var{size:U,loading:W,disabled:q,activeColor:Y,inactiveColor:Q}=B,Z=F(),K={fontSize:addUnit(U),backgroundColor:Z?Y:Q};return createVNode("div",{role:"switch",class:bem$m({on:Z,loading:W,disabled:q}),style:K,"aria-checked":Z,onClick:D},[createVNode("div",{class:bem$m("node")},[G()])])}}}),Switch=withInstall(_Switch),[name$l,bem$l]=createNamespace("radio-group"),RADIO_KEY=Symbol(name$l),props$4={disabled:Boolean,iconSize:[Number,String],direction:String,modelValue:unknownProp,checkedColor:String},_RadioGroup=defineComponent({name:name$l,props:props$4,emits:["change","update:modelValue"],setup(B,{emit:R,slots:F}){var{linkChildren:D}=useChildren(RADIO_KEY),G=U=>R("update:modelValue",U);return watch(()=>B.modelValue,U=>R("change",U)),D({props:B,updateValue:G}),useLinkField(()=>B.modelValue),()=>createVNode("div",{class:bem$l([B.direction]),role:"radiogroup"},[F.default==null?void 0:F.default()])}}),RadioGroup=withInstall(_RadioGroup),[name$k,bem$k]=createNamespace("tag"),_Tag=defineComponent({name:name$k,props:{size:String,mark:Boolean,show:truthProp,color:String,plain:Boolean,round:Boolean,textColor:String,closeable:Boolean,type:{type:String,default:"default"}},emits:["close"],setup(B,{slots:R,emit:F}){var D=W=>{W.stopPropagation(),F("close",W)},G=()=>B.plain?{color:B.textColor||B.color,borderColor:B.color}:{color:B.textColor,background:B.color},U=()=>{var{type:W,mark:q,plain:Y,round:Q,size:Z,closeable:K}=B,J={mark:q,plain:Y,round:Q};Z&&(J[Z]=Z);var ie=K&&createVNode(Icon,{name:"cross",class:bem$k("close"),onClick:D},null);return createVNode("span",{style:G(),class:bem$k([J,W])},[R.default==null?void 0:R.default(),ie])};return()=>createVNode(Transition,{name:B.closeable?"van-fade":void 0},{default:()=>[B.show?U():null]})}}),Tag=withInstall(_Tag),checkerProps={name:unknownProp,disabled:Boolean,iconSize:[Number,String],modelValue:unknownProp,checkedColor:String,labelPosition:String,labelDisabled:Boolean,shape:{type:String,default:"round"}},Checker=defineComponent({props:extend$2({},checkerProps,{role:String,parent:Object,checked:Boolean,bindGroup:truthProp,bem:{type:Function,required:!0}}),emits:["click","toggle"],setup(B,{emit:R,slots:F}){var D=ref(),G=K=>{if(B.parent&&B.bindGroup)return B.parent.props[K]},U=computed(()=>G("disabled")||B.disabled),W=computed(()=>G("direction")),q=computed(()=>{var K=B.checkedColor||G("checkedColor");if(K&&B.checked&&!U.value)return{borderColor:K,backgroundColor:K}}),Y=K=>{var{target:J}=K,ie=D.value,ne=ie===J||ie.contains(J);!U.value&&(ne||!B.labelDisabled)&&R("toggle"),R("click",K)},Q=()=>{var{bem:K,shape:J,checked:ie}=B,ne=B.iconSize||G("iconSize");return createVNode("div",{ref:D,class:K("icon",[J,{disabled:U.value,checked:ie}]),style:{fontSize:addUnit(ne)}},[F.icon?F.icon({checked:ie,disabled:U.value}):createVNode(Icon,{name:"success",style:q.value},null)])},Z=()=>{if(F.default)return createVNode("span",{class:B.bem("label",[B.labelPosition,{disabled:U.value}])},[F.default()])};return()=>{var K=[Q()];return B.labelPosition==="left"?K.unshift(Z()):K.push(Z()),createVNode("div",{role:B.role,class:B.bem([{disabled:U.value,"label-disabled":B.labelDisabled},W.value]),tabindex:U.value?-1:0,"aria-checked":B.checked,onClick:Y},[K])}}}),[name$j,bem$j]=createNamespace("radio"),_Radio=defineComponent({name:name$j,props:checkerProps,emits:["update:modelValue"],setup(B,{emit:R,slots:F}){var{parent:D}=useParent(RADIO_KEY),G=()=>{var W=D?D.props.modelValue:B.modelValue;return W===B.name},U=()=>{D?D.updateValue(B.name):R("update:modelValue",B.name)};return()=>createVNode(Checker,mergeProps({bem:bem$j,role:"radio",parent:D,checked:G(),onToggle:U},B),pick(F,["default","icon"]))}}),Radio=withInstall(_Radio);function useRefs(){var B=ref([]);onBeforeUpdate(()=>{B.value=[]});var R=F=>D=>{B.value[F]=D};return[B,R]}var rafId;function scrollLeftTo(B,R,F){cancelRaf(rafId);var D=0,G=B.scrollLeft,U=F===0?1:Math.round(F*1e3/16);function W(){B.scrollLeft+=(R-G)/U,++D<U&&(rafId=raf$2(W))}W()}function scrollTopTo(B,R,F,D){var G=getScrollTop(B),U=G<R,W=F===0?1:Math.round(F*1e3/16),q=(R-G)/W;function Y(){G+=q,(U&&G>R||!U&&G<R)&&(G=R),setScrollTop(B,G),U&&G<R||!U&&G>R?raf$2(Y):D&&raf$2(D)}Y()}function useVisibilityChange(B,R){if(!(!inBrowser$1||!window.IntersectionObserver)){var F=new IntersectionObserver(U=>{R(U[0].intersectionRatio>0)},{root:document.body}),D=()=>{B.value&&F.observe(B.value)},G=()=>{B.value&&F.unobserve(B.value)};onDeactivated(G),onBeforeUnmount(G),onMountedOrActivated(D)}}var[name$i,bem$i]=createNamespace("sticky"),_Sticky=defineComponent({name:name$i,props:{zIndex:[Number,String],container:Object,offsetTop:{type:[Number,String],default:0},offsetBottom:{type:[Number,String],default:0},position:{type:String,default:"top"}},emits:["scroll","change"],setup(B,{emit:R,slots:F}){var D=ref(),G=useScrollParent(D),U=reactive({fixed:!1,width:0,height:0,transform:0}),W=computed(()=>unitToPx(B.position==="top"?B.offsetTop:B.offsetBottom)),q=computed(()=>{var{fixed:K,height:J,width:ie}=U;if(K)return{width:ie+"px",height:J+"px"}}),Y=computed(()=>{if(!!U.fixed){var K=extend$2(getZIndexStyle(B.zIndex),{width:U.width+"px",height:U.height+"px",[B.position]:W.value+"px"});return U.transform&&(K.transform="translate3d(0, "+U.transform+"px, 0)"),K}}),Q=K=>R("scroll",{scrollTop:K,isFixed:U.fixed}),Z=()=>{if(!(!D.value||isHidden(D))){var{container:K,position:J}=B,ie=useRect(D),ne=getScrollTop(window);if(U.width=ie.width,U.height=ie.height,J==="top")if(K){var se=useRect(K),re=se.bottom-W.value-U.height;U.fixed=W.value>ie.top&&se.bottom>0,U.transform=re<0?re:0}else U.fixed=W.value>ie.top;else{var{clientHeight:ae}=document.documentElement;if(K){var le=useRect(K),ce=ae-le.top-W.value-U.height;U.fixed=ae-W.value<ie.bottom&&ae>le.top,U.transform=ce<0?-ce:0}else U.fixed=ae-W.value<ie.bottom}Q(ne)}};return watch(()=>U.fixed,K=>R("change",K)),useEventListener("scroll",Z,{target:G}),useVisibilityChange(D,Z),()=>createVNode("div",{ref:D,style:q.value},[createVNode("div",{class:bem$i({fixed:U.fixed}),style:Y.value},[F.default==null?void 0:F.default()])])}}),Sticky=withInstall(_Sticky),[name$h,bem$h]=createNamespace("tab"),TabsTitle=defineComponent({name:name$h,props:{dot:Boolean,type:String,color:String,title:String,badge:[Number,String],isActive:Boolean,disabled:Boolean,scrollable:Boolean,activeColor:String,renderTitle:Function,inactiveColor:String},setup(B){var R=computed(()=>{var D={},{type:G,color:U,disabled:W,isActive:q,activeColor:Y,inactiveColor:Q}=B,Z=G==="card";U&&Z&&(D.borderColor=U,W||(q?D.backgroundColor=U:D.color=U));var K=q?Y:Q;return K&&(D.color=K),D}),F=()=>{var D=createVNode("span",{class:bem$h("text",{ellipsis:!B.scrollable})},[B.renderTitle?B.renderTitle():B.title]);return B.dot||isDef$1(B.badge)&&B.badge!==""?createVNode(Badge,{dot:B.dot,content:B.badge},{default:()=>[D]}):D};return()=>createVNode("div",{role:"tab",class:[bem$h({active:B.isActive,disabled:B.disabled})],style:R.value,"aria-selected":B.isActive},[F()])}}),[name$g,bem$g]=createNamespace("swipe"),SWIPE_KEY=Symbol(name$g),props$3={loop:truthProp,width:[Number,String],height:[Number,String],vertical:Boolean,touchable:truthProp,lazyRender:Boolean,indicatorColor:String,showIndicators:truthProp,stopPropagation:truthProp,autoplay:{type:[Number,String],default:0},duration:{type:[Number,String],default:500},initialSwipe:{type:[Number,String],default:0}},_Swipe=defineComponent({name:name$g,props:props$3,emits:["change"],setup(B,{emit:R,slots:F}){var D=ref(),G=reactive({rect:null,width:0,height:0,offset:0,active:0,swiping:!1}),U=useTouch(),W=useWindowSize(),{children:q,linkChildren:Y}=useChildren(SWIPE_KEY),Q=computed(()=>q.length),Z=computed(()=>G[B.vertical?"height":"width"]),K=computed(()=>B.vertical?U.deltaY.value:U.deltaX.value),J=computed(()=>{if(G.rect){var ke=B.vertical?G.rect.height:G.rect.width;return ke-Z.value*Q.value}return 0}),ie=computed(()=>Math.ceil(Math.abs(J.value)/Z.value)),ne=computed(()=>Q.value*Z.value),se=computed(()=>(G.active+Q.value)%Q.value),re=computed(()=>{var ke=B.vertical?"vertical":"horizontal";return U.direction.value===ke}),ae=computed(()=>{var ke={transitionDuration:(G.swiping?0:B.duration)+"ms",transform:"translate"+(B.vertical?"Y":"X")+"("+G.offset+"px)"};if(Z.value){var Ne=B.vertical?"height":"width",Ie=B.vertical?"width":"height";ke[Ne]=ne.value+"px",ke[Ie]=B[Ie]?B[Ie]+"px":""}return ke}),le=ke=>{var{active:Ne}=G;return ke?B.loop?clamp(Ne+ke,-1,Q.value):clamp(Ne+ke,0,ie.value):Ne},ce=(ke,Ne=0)=>{var Ie=ke*Z.value;B.loop||(Ie=Math.min(Ie,-J.value));var Ge=Ne-Ie;return B.loop||(Ge=clamp(Ge,J.value,0)),Ge},he=({pace:ke=0,offset:Ne=0,emitChange:Ie})=>{if(!(Q.value<=1)){var{active:Ge}=G,ze=le(ke),Ve=ce(ze,Ne);if(B.loop){if(q[0]&&Ve!==J.value){var Ye=Ve<J.value;q[0].setOffset(Ye?ne.value:0)}if(q[Q.value-1]&&Ve!==0){var et=Ve>0;q[Q.value-1].setOffset(et?-ne.value:0)}}G.active=ze,G.offset=Ve,Ie&&ze!==Ge&&R("change",se.value)}},de=()=>{G.swiping=!0,G.active<=-1?he({pace:Q.value}):G.active>=Q.value&&he({pace:-Q.value})},me=()=>{de(),U.reset(),doubleRaf(()=>{G.swiping=!1,he({pace:-1,emitChange:!0})})},fe=()=>{de(),U.reset(),doubleRaf(()=>{G.swiping=!1,he({pace:1,emitChange:!0})})},ge,Se=()=>clearTimeout(ge),Ee=()=>{Se(),B.autoplay>0&&Q.value>1&&(ge=setTimeout(()=>{fe(),Ee()},+B.autoplay))},ve=(ke=+B.initialSwipe)=>{if(!!D.value){if(!isHidden(D)){var Ne,Ie,Ge={width:D.value.offsetWidth,height:D.value.offsetHeight};G.rect=Ge,G.width=+((Ne=B.width)!=null?Ne:Ge.width),G.height=+((Ie=B.height)!=null?Ie:Ge.height)}Q.value&&(ke=Math.min(Q.value-1,ke)),G.active=ke,G.swiping=!0,G.offset=ce(ke),q.forEach(ze=>{ze.setOffset(0)})}},xe=()=>ve(G.active),Pe,ye=ke=>{!B.touchable||(U.start(ke),Pe=Date.now(),Se(),de())},Te=ke=>{B.touchable&&G.swiping&&(U.move(ke),re.value&&(preventDefault(ke,B.stopPropagation),he({offset:K.value})))},Le=()=>{if(!(!B.touchable||!G.swiping)){var ke=Date.now()-Pe,Ne=K.value/ke,Ie=Math.abs(Ne)>.25||Math.abs(K.value)>Z.value/2;if(Ie&&re.value){var Ge=B.vertical?U.offsetY.value:U.offsetX.value,ze=0;B.loop?ze=Ge>0?K.value>0?-1:1:0:ze=-Math[K.value>0?"ceil":"floor"](K.value/Z.value),he({pace:ze,emitChange:!0})}else K.value&&he({pace:0});G.swiping=!1,Ee()}},we=(ke,Ne={})=>{de(),U.reset(),doubleRaf(()=>{var Ie;B.loop&&ke===Q.value?Ie=G.active===0?0:ke:Ie=ke%Q.value,Ne.immediate?doubleRaf(()=>{G.swiping=!1}):G.swiping=!1,he({pace:Ie-G.active,emitChange:!0})})},Ae=(ke,Ne)=>{var Ie=Ne===se.value,Ge=Ie?{backgroundColor:B.indicatorColor}:void 0;return createVNode("i",{style:Ge,class:bem$g("indicator",{active:Ie})},null)},Me=()=>{if(F.indicator)return F.indicator({active:se.value});if(B.showIndicators&&Q.value>1)return createVNode("div",{class:bem$g("indicators",{vertical:B.vertical})},[Array(Q.value).fill("").map(Ae)])};return useExpose({prev:me,next:fe,state:G,resize:xe,swipeTo:we}),Y({size:Z,props:B,count:Q,activeIndicator:se}),watch(()=>B.initialSwipe,ke=>ve(+ke)),watch(Q,()=>ve(G.active)),watch([Q,()=>B.autoplay],Ee),watch([W.width,W.height],xe),watch(usePageVisibility(),ke=>{ke==="visible"?Ee():Se()}),onMounted(ve),onActivated(()=>ve(G.active)),onPopupReopen(()=>ve(G.active)),onDeactivated(Se),onBeforeUnmount(Se),()=>createVNode("div",{ref:D,class:bem$g()},[createVNode("div",{style:ae.value,class:bem$g("track",{vertical:B.vertical}),onTouchstart:ye,onTouchmove:Te,onTouchend:Le,onTouchcancel:Le},[F.default==null?void 0:F.default()]),Me()])}}),Swipe=withInstall(_Swipe),[name$f,bem$f]=createNamespace("tabs"),TabsContent=defineComponent({name:name$f,props:{inited:Boolean,animated:Boolean,swipeable:Boolean,lazyRender:Boolean,count:{type:Number,required:!0},duration:{type:[Number,String],required:!0},currentIndex:{type:Number,required:!0}},emits:["change"],setup(B,{emit:R,slots:F}){var D=ref(),G=q=>R("change",q),U=()=>{var q=F.default==null?void 0:F.default();return B.animated||B.swipeable?createVNode(Swipe,{ref:D,loop:!1,class:bem$f("track"),duration:+B.duration*1e3,touchable:B.swipeable,lazyRender:B.lazyRender,showIndicators:!1,onChange:G},{default:()=>[q]}):q},W=q=>{var Y=D.value;Y&&Y.state.active!==q&&Y.swipeTo(q,{immediate:!B.inited})};return watch(()=>B.currentIndex,W),onMounted(()=>{W(B.currentIndex)}),()=>createVNode("div",{class:bem$f("content",{animated:B.animated||B.swipeable})},[U()])}}),[name$e,bem$e]=createNamespace("tabs"),TABS_KEY=Symbol(name$e),props$2={color:String,border:Boolean,sticky:Boolean,animated:Boolean,ellipsis:truthProp,swipeable:Boolean,scrollspy:Boolean,background:String,lazyRender:truthProp,lineWidth:[Number,String],lineHeight:[Number,String],beforeChange:Function,titleActiveColor:String,titleInactiveColor:String,type:{type:String,default:"line"},active:{type:[Number,String],default:0},duration:{type:[Number,String],default:.3},offsetTop:{type:[Number,String],default:0},swipeThreshold:{type:[Number,String],default:5}},_Tabs=defineComponent({name:name$e,props:props$2,emits:["click","change","scroll","disabled","rendered","update:active"],setup(B,{emit:R,slots:F}){var D,G,U,W=ref(),q=ref(),Y=ref(),Q=useWindowSize(),Z=useScrollParent(W),[K,J]=useRefs(),{children:ie,linkChildren:ne}=useChildren(TABS_KEY),se=reactive({inited:!1,position:"",lineStyle:{},currentIndex:-1}),re=computed(()=>ie.length>B.swipeThreshold||!B.ellipsis),ae=computed(()=>({borderColor:B.color,background:B.background})),le=(Ne,Ie)=>{var Ge;return(Ge=Ne.name)!=null?Ge:Ie},ce=computed(()=>{var Ne=ie[se.currentIndex];if(Ne)return le(Ne,se.currentIndex)}),he=computed(()=>unitToPx(B.offsetTop)),de=computed(()=>B.sticky?he.value+D:0),me=Ne=>{var Ie=q.value,Ge=K.value;if(!(!re.value||!Ie||!Ge||!Ge[se.currentIndex])){var ze=Ge[se.currentIndex].$el,Ve=ze.offsetLeft-(Ie.offsetWidth-ze.offsetWidth)/2;scrollLeftTo(Ie,Ve,Ne?0:+B.duration)}},fe=()=>{var Ne=se.inited;nextTick(()=>{var Ie=K.value;if(!(!Ie||!Ie[se.currentIndex]||B.type!=="line"||isHidden(W.value))){var Ge=Ie[se.currentIndex].$el,{lineWidth:ze,lineHeight:Ve}=B,Ye=Ge.offsetLeft+Ge.offsetWidth/2,et={width:addUnit(ze),backgroundColor:B.color,transform:"translateX("+Ye+"px) translateX(-50%)"};if(Ne&&(et.transitionDuration=B.duration+"s"),isDef$1(Ve)){var Je=addUnit(Ve);et.height=Je,et.borderRadius=Je}se.lineStyle=et}})},ge=Ne=>{for(var Ie=Ne<se.currentIndex?-1:1;Ne>=0&&Ne<ie.length;){if(!ie[Ne].disabled)return Ne;Ne+=Ie}},Se=Ne=>{var Ie=ge(Ne);if(!!isDef$1(Ie)){var Ge=ie[Ie],ze=le(Ge,Ie),Ve=se.currentIndex!==null;se.currentIndex=Ie,ze!==B.active&&(R("update:active",ze),Ve&&R("change",ze,Ge.title))}},Ee=Ne=>{var Ie=ie.find((ze,Ve)=>le(ze,Ve)===Ne),Ge=Ie?ie.indexOf(Ie):0;Se(Ge)},ve=(Ne=!1)=>{if(B.scrollspy){var Ie=ie[se.currentIndex].$el;if(Ie&&Z.value){var Ge=getElementTop(Ie,Z.value)-de.value;G=!0,scrollTopTo(Z.value,Ge,Ne?0:+B.duration,()=>{G=!1})}}},xe=(Ne,Ie)=>{var{title:Ge,disabled:ze}=ie[Ie],Ve=le(ie[Ie],Ie);ze?R("disabled",Ve,Ge):(callInterceptor({interceptor:B.beforeChange,args:[Ve],done:()=>{Se(Ie),ve()}}),R("click",Ve,Ge),route(Ne))},Pe=Ne=>{U=Ne.isFixed,R("scroll",Ne)},ye=Ne=>{nextTick(()=>{Ee(Ne),ve(!0)})},Te=()=>{for(var Ne=0;Ne<ie.length;Ne++){var Ie=getVisibleTop(ie[Ne].$el);if(Ie>de.value)return Ne===0?0:Ne-1}return ie.length-1},Le=()=>{if(B.scrollspy&&!G){var Ne=Te();Se(Ne)}},we=()=>ie.map((Ne,Ie)=>createVNode(TabsTitle,{ref:J(Ie),dot:Ne.dot,type:B.type,badge:Ne.badge,title:Ne.title,color:B.color,style:Ne.titleStyle,class:Ne.titleClass,isActive:Ie===se.currentIndex,disabled:Ne.disabled,scrollable:re.value,renderTitle:Ne.$slots.title,activeColor:B.titleActiveColor,inactiveColor:B.titleInactiveColor,onClick:()=>{xe(Ne,Ie)}},null)),Ae=()=>{var Ne,Ie,{type:Ge,border:ze}=B;return createVNode("div",{ref:Y,class:[bem$e("wrap",{scrollable:re.value}),{[BORDER_TOP_BOTTOM]:Ge==="line"&&ze}]},[createVNode("div",{ref:q,role:"tablist",class:bem$e("nav",[Ge,{complete:re.value}]),style:ae.value},[(Ne=F["nav-left"])==null?void 0:Ne.call(F),we(),Ge==="line"&&createVNode("div",{class:bem$e("line"),style:se.lineStyle},null),(Ie=F["nav-right"])==null?void 0:Ie.call(F)])])};watch([()=>B.color,Q.width],fe),watch(()=>B.active,Ne=>{Ne!==ce.value&&Ee(Ne)}),watch(()=>ie.length,()=>{se.inited&&(Ee(B.active),fe(),nextTick(()=>{me(!0)}))}),watch(()=>se.currentIndex,()=>{me(),fe(),U&&!B.scrollspy&&setRootScrollTop(Math.ceil(getElementTop(W.value)-he.value))});var Me=()=>{Ee(B.active),nextTick(()=>{se.inited=!0,D=getVisibleHeight(Y.value),me(!0)})},ke=(Ne,Ie)=>R("rendered",Ne,Ie);return useExpose({resize:fe,scrollTo:ye}),onActivated(fe),onPopupReopen(fe),onMountedOrActivated(Me),useEventListener("scroll",Le,{target:Z}),ne({props:B,setLine:fe,onRendered:ke,currentName:ce,scrollIntoView:me}),()=>createVNode("div",{ref:W,class:bem$e([B.type])},[B.sticky?createVNode(Sticky,{container:W.value,offsetTop:he.value,onScroll:Pe},{default:()=>[Ae()]}):Ae(),createVNode(TabsContent,{count:ie.length,inited:se.inited,animated:B.animated,duration:B.duration,swipeable:B.swipeable,lazyRender:B.lazyRender,currentIndex:se.currentIndex,onChange:Se},{default:()=>[F.default==null?void 0:F.default()]})])}}),TAB_STATUS_KEY=Symbol();function useTabStatus(){return inject(TAB_STATUS_KEY,null)}var[name$d,bem$d]=createNamespace("swipe-item"),_SwipeItem=defineComponent({name:name$d,setup(B,{slots:R}){var F,D=reactive({offset:0,inited:!1,mounted:!1}),{parent:G,index:U}=useParent(SWIPE_KEY);if(!!G){var W=computed(()=>{var Q={},{vertical:Z}=G.props;return G.size.value&&(Q[Z?"height":"width"]=G.size.value+"px"),D.offset&&(Q.transform="translate"+(Z?"Y":"X")+"("+D.offset+"px)"),Q}),q=computed(()=>{var{loop:Q,lazyRender:Z}=G.props;if(!Z||F)return!0;if(!D.mounted)return!1;var K=G.activeIndicator.value,J=G.count.value-1,ie=K===0&&Q?J:K-1,ne=K===J&&Q?0:K+1;return F=U.value===K||U.value===ie||U.value===ne,F}),Y=Q=>{D.offset=Q};return onMounted(()=>{nextTick(()=>{D.mounted=!0})}),useExpose({setOffset:Y}),()=>createVNode("div",{class:bem$d(),style:W.value},[q.value?R.default==null?void 0:R.default():null])}}}),SwipeItem=withInstall(_SwipeItem),[name$c,bem$c]=createNamespace("tab"),_Tab=defineComponent({name:name$c,props:extend$2({},routeProps,{dot:Boolean,name:[Number,String],badge:[Number,String],title:String,disabled:Boolean,titleClass:unknownProp,titleStyle:[String,Object]}),setup(B,{slots:R}){var F=ref(!1),{parent:D,index:G}=useParent(TABS_KEY);if(!!D){var U=()=>{var Y;return(Y=B.name)!=null?Y:G.value},W=()=>{F.value=!0,D.props.lazyRender&&nextTick(()=>{D.onRendered(U(),B.title)})},q=computed(()=>{var Y=U()===D.currentName.value;return Y&&!F.value&&W(),Y});return watch(()=>B.title,()=>{D.setLine(),D.scrollIntoView()}),provide(TAB_STATUS_KEY,q),()=>{var{animated:Y,swipeable:Q,scrollspy:Z,lazyRender:K}=D.props;if(!(!R.default&&!Y)){var J=Z||q.value;if(Y||Q)return createVNode(SwipeItem,{role:"tabpanel","aria-hidden":!q.value,class:bem$c("pane-wrapper",{inactive:!q.value})},{default:()=>[createVNode("div",{class:bem$c("pane")},[R.default==null?void 0:R.default()])]});var ie=F.value||Z||!K,ne=ie?R.default==null?void 0:R.default():null;return withDirectives(createVNode("div",{role:"tabpanel",class:bem$c("pane")},[ne]),[[vShow,J]])}}}}}),Tab=withInstall(_Tab),Tabs=withInstall(_Tabs),[name$b,bem$b]=createNamespace("cell-group"),_CellGroup=defineComponent({name:name$b,inheritAttrs:!1,props:{title:String,inset:Boolean,border:truthProp},setup(B,{slots:R,attrs:F}){var D=()=>createVNode("div",mergeProps({class:[bem$b({inset:B.inset}),{[BORDER_TOP_BOTTOM]:B.border&&!B.inset}]},F),[R.default==null?void 0:R.default()]),G=()=>createVNode("div",{class:bem$b("title",{inset:B.inset})},[R.title?R.title():B.title]);return()=>B.title||R.title?createVNode(Fragment,null,[G(),D()]):D()}}),CellGroup=withInstall(_CellGroup),[name$a,bem$a]=createNamespace("row"),ROW_KEY=Symbol(name$a),_Row=defineComponent({name:name$a,props:{wrap:truthProp,align:String,justify:String,tag:{type:String,default:"div"},gutter:{type:[Number,String],default:0}},setup(B,{slots:R}){var{children:F,linkChildren:D}=useChildren(ROW_KEY),G=computed(()=>{var W=[[]],q=0;return F.forEach((Y,Q)=>{q+=Number(Y.span),q>24?(W.push([Q]),q-=24):W[W.length-1].push(Q)}),W}),U=computed(()=>{var W=Number(B.gutter),q=[];return W&&G.value.forEach(Y=>{var Q=W*(Y.length-1)/Y.length;Y.forEach((Z,K)=>{if(K===0)q.push({right:Q});else{var J=W-q[Z-1].right,ie=Q-J;q.push({left:J,right:ie})}})}),q});return D({spaces:U}),()=>{var{tag:W,wrap:q,align:Y,justify:Q}=B;return createVNode(W,{class:bem$a({["align-"+Y]:Y,["justify-"+Q]:Q,nowrap:!q})},{default:()=>[R.default==null?void 0:R.default()]})}}}),[name$9,bem$9]=createNamespace("col"),_Col=defineComponent({name:name$9,props:{offset:[Number,String],tag:{type:String,default:"div"},span:{type:[Number,String],default:0}},setup(B,{slots:R}){var{parent:F,index:D}=useParent(ROW_KEY),G=computed(()=>{if(!!F){var{spaces:U}=F;if(U&&U.value&&U.value[D.value]){var{left:W,right:q}=U.value[D.value];return{paddingLeft:W?W+"px":null,paddingRight:q?q+"px":null}}}});return()=>{var{tag:U,span:W,offset:q}=B;return createVNode(U,{style:G.value,class:bem$9({[W]:W,["offset-"+q]:q})},{default:()=>[R.default==null?void 0:R.default()]})}}}),Col=withInstall(_Col),[name$8,bem$8]=createNamespace("divider"),_Divider=defineComponent({name:name$8,props:{dashed:Boolean,hairline:truthProp,contentPosition:{type:String,default:"center"}},setup(B,{slots:R}){return()=>createVNode("div",{role:"separator",class:bem$8({dashed:B.dashed,hairline:B.hairline,["content-"+B.contentPosition]:!!R.default})},[R.default==null?void 0:R.default()])}}),Divider=withInstall(_Divider),prefix="van-empty-network-",renderStop=(B,R,F)=>createVNode("stop",{"stop-color":B,offset:R+"%","stop-opacity":F},null),Network=createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{id:prefix+"1",x1:"64.022%",y1:"100%",x2:"64.022%",y2:"0%"},[renderStop("#FFF",0,.5),renderStop("#F2F3F5",100)]),createVNode("linearGradient",{id:prefix+"2",x1:"50%",y1:"0%",x2:"50%",y2:"84.459%"},[renderStop("#EBEDF0",0),renderStop("#DCDEE0",100,0)]),createVNode("linearGradient",{id:prefix+"3",x1:"100%",y1:"0%",x2:"100%",y2:"100%"},[renderStop("#EAEDF0",0),renderStop("#DCDEE0",100)]),createVNode("linearGradient",{id:prefix+"4",x1:"100%",y1:"100%",x2:"100%",y2:"0%"},[renderStop("#EAEDF0",0),renderStop("#DCDEE0",100)]),createVNode("linearGradient",{id:prefix+"5",x1:"0%",y1:"43.982%",x2:"100%",y2:"54.703%"},[renderStop("#EAEDF0",0),renderStop("#DCDEE0",100)]),createVNode("linearGradient",{id:prefix+"6",x1:"94.535%",y1:"43.837%",x2:"5.465%",y2:"54.948%"},[renderStop("#EAEDF0",0),renderStop("#DCDEE0",100)]),createVNode("radialGradient",{id:prefix+"7",cx:"50%",cy:"0%",fx:"50%",fy:"0%",r:"100%",gradientTransform:"matrix(0 1 -.54835 0 .5 -.5)"},[renderStop("#EBEDF0",0),renderStop("#FFF",100,0)])]),createVNode("g",{fill:"none","fill-rule":"evenodd"},[createVNode("g",{opacity:".8"},[createVNode("path",{d:"M0 124V46h20v20h14v58H0z",fill:"url(#"+prefix+"1)",transform:"matrix(-1 0 0 1 36 7)"},null),createVNode("path",{d:"M121 8h22.231v14H152v77.37h-31V8z",fill:"url(#"+prefix+"1)",transform:"translate(2 7)"},null)]),createVNode("path",{fill:"url(#"+prefix+"7)",d:"M0 139h160v21H0z"},null),createVNode("path",{d:"M37 18a7 7 0 013 13.326v26.742c0 1.23-.997 2.227-2.227 2.227h-1.546A2.227 2.227 0 0134 58.068V31.326A7 7 0 0137 18z",fill:"url(#"+prefix+"2)","fill-rule":"nonzero",transform:"translate(43 36)"},null),createVNode("g",{opacity:".6","stroke-linecap":"round","stroke-width":"7"},[createVNode("path",{d:"M20.875 11.136a18.868 18.868 0 00-5.284 13.121c0 5.094 2.012 9.718 5.284 13.12",stroke:"url(#"+prefix+"3)",transform:"translate(43 36)"},null),createVNode("path",{d:"M9.849 0C3.756 6.225 0 14.747 0 24.146c0 9.398 3.756 17.92 9.849 24.145",stroke:"url(#"+prefix+"3)",transform:"translate(43 36)"},null),createVNode("path",{d:"M57.625 11.136a18.868 18.868 0 00-5.284 13.121c0 5.094 2.012 9.718 5.284 13.12",stroke:"url(#"+prefix+"4)",transform:"rotate(-180 76.483 42.257)"},null),createVNode("path",{d:"M73.216 0c-6.093 6.225-9.849 14.747-9.849 24.146 0 9.398 3.756 17.92 9.849 24.145",stroke:"url(#"+prefix+"4)",transform:"rotate(-180 89.791 42.146)"},null)]),createVNode("g",{transform:"translate(31 105)","fill-rule":"nonzero"},[createVNode("rect",{fill:"url(#"+prefix+"5)",width:"98",height:"34",rx:"2"},null),createVNode("rect",{fill:"#FFF",x:"9",y:"8",width:"80",height:"18",rx:"1.114"},null),createVNode("rect",{fill:"url(#"+prefix+"6)",x:"15",y:"12",width:"18",height:"6",rx:"1.114"},null)])])]),[name$7,bem$7]=createNamespace("empty"),PRESET_IMAGES=["error","search","default"],_Empty=defineComponent({name:name$7,props:{imageSize:[Number,String],description:String,image:{type:String,default:"default"}},setup(B,{slots:R}){var F=()=>{if(R.image)return R.image();var{image:U}=B;return U==="network"?Network:(PRESET_IMAGES.includes(U)&&(U="https://img.yzcdn.cn/vant/empty-image-"+U+".png"),createVNode("img",{src:U},null))},D=()=>{var U=R.description?R.description():B.description;if(U)return createVNode("p",{class:bem$7("description")},[U])},G=()=>{if(R.default)return createVNode("div",{class:bem$7("bottom")},[R.default()])};return()=>createVNode("div",{class:bem$7()},[createVNode("div",{class:bem$7("image"),style:getSizeStyle(B.imageSize)},[F()]),D(),G()])}}),Empty$1=withInstall(_Empty),[name$6,bem$6]=createNamespace("grid"),GRID_KEY=Symbol(name$6),props$1={square:Boolean,center:truthProp,border:truthProp,gutter:[Number,String],reverse:Boolean,iconSize:[Number,String],direction:String,clickable:Boolean,columnNum:{type:[Number,String],default:4}},_Grid=defineComponent({name:name$6,props:props$1,setup(B,{slots:R}){var{linkChildren:F}=useChildren(GRID_KEY);return F({props:B}),()=>createVNode("div",{style:{paddingLeft:addUnit(B.gutter)},class:[bem$6(),{[BORDER_TOP]:B.border&&!B.gutter}]},[R.default==null?void 0:R.default()])}}),Grid=withInstall(_Grid),[name$5,bem$5]=createNamespace("grid-item"),_GridItem=defineComponent({name:name$5,props:extend$2({},routeProps,{dot:Boolean,text:String,icon:String,badge:[Number,String],iconPrefix:String,iconColor:String}),setup(B,{slots:R}){var{parent:F,index:D}=useParent(GRID_KEY),G=useRoute();if(!!F){var U=computed(()=>{var{square:Z,gutter:K,columnNum:J}=F.props,ie=100/+J+"%",ne={flexBasis:ie};if(Z)ne.paddingTop=ie;else if(K){var se=addUnit(K);ne.paddingRight=se,D.value>=J&&(ne.marginTop=se)}return ne}),W=computed(()=>{var{square:Z,gutter:K}=F.props;if(Z&&K){var J=addUnit(K);return{right:J,bottom:J,height:"auto"}}}),q=()=>{if(R.icon)return createVNode(Badge,{dot:B.dot,content:B.badge},{default:()=>[R.icon()]});if(B.icon)return createVNode(Icon,{dot:B.dot,name:B.icon,size:F.props.iconSize,badge:B.badge,class:bem$5("icon"),classPrefix:B.iconPrefix,color:B.iconColor},null)},Y=()=>{if(R.text)return R.text();if(B.text)return createVNode("span",{class:bem$5("text")},[B.text])},Q=()=>R.default?R.default():[q(),Y()];return()=>{var{center:Z,border:K,square:J,gutter:ie,reverse:ne,direction:se,clickable:re}=F.props,ae=[bem$5("content",[se,{center:Z,square:J,reverse:ne,clickable:re,surround:K&&ie}]),{[BORDER]:K}];return createVNode("div",{class:[bem$5({square:J})],style:U.value},[createVNode("div",{role:re?"button":void 0,class:ae,style:W.value,tabindex:re?0:void 0,onClick:G},[Q()])])}}}}),GridItem=withInstall(_GridItem),[name$4,bem$4,t$1]=createNamespace("list"),_List=defineComponent({name:name$4,props:{error:Boolean,loading:Boolean,finished:Boolean,errorText:String,loadingText:String,finishedText:String,immediateCheck:truthProp,offset:{type:[Number,String],default:300},direction:{type:String,default:"down"}},emits:["load","update:error","update:loading"],setup(B,{emit:R,slots:F}){var D=ref(!1),G=ref(),U=ref(),W=useTabStatus(),q=useScrollParent(G),Y=()=>{nextTick(()=>{if(!(D.value||B.finished||B.error||(W==null?void 0:W.value)===!1)){var{offset:ie,direction:ne}=B,se=useRect(q);if(!(!se.height||isHidden(G))){var re=!1,ae=useRect(U);ne==="up"?re=se.top-ae.top<=ie:re=ae.bottom-se.bottom<=ie,re&&(D.value=!0,R("update:loading",!0),R("load"))}}})},Q=()=>{if(B.finished){var ie=F.finished?F.finished():B.finishedText;if(ie)return createVNode("div",{class:bem$4("finished-text")},[ie])}},Z=()=>{R("update:error",!1),Y()},K=()=>{if(B.error){var ie=F.error?F.error():B.errorText;if(ie)return createVNode("div",{class:bem$4("error-text"),onClick:Z},[ie])}},J=()=>{if(D.value&&!B.finished)return createVNode("div",{class:bem$4("loading")},[F.loading?F.loading():createVNode(Loading,{class:bem$4("loading-icon")},{default:()=>[B.loadingText||t$1("loading")]})])};return watch([()=>B.loading,()=>B.finished,()=>B.error],Y),onUpdated(()=>{D.value=B.loading}),onMounted(()=>{B.immediateCheck&&Y()}),useExpose({check:Y}),useEventListener("scroll",Y,{target:q}),()=>{var ie=F.default==null?void 0:F.default(),ne=createVNode("div",{ref:U,class:bem$4("placeholder")},null);return createVNode("div",{ref:G,role:"feed",class:bem$4(),"aria-busy":D.value},[B.direction==="down"?ie:ne,J(),Q(),K(),B.direction==="up"?ie:ne])}}}),List$1=withInstall(_List),[name$3,bem$3]=createNamespace("notice-bar"),_NoticeBar=defineComponent({name:name$3,props:{text:String,mode:String,color:String,leftIcon:String,wrapable:Boolean,background:String,scrollable:{type:Boolean,default:null},delay:{type:[Number,String],default:1},speed:{type:[Number,String],default:60}},emits:["close","replay"],setup(B,{emit:R,slots:F}){var D=0,G=0,U,W=ref(),q=ref(),Y=reactive({show:!0,offset:0,duration:0}),Q=()=>{if(F["left-icon"])return F["left-icon"]();if(B.leftIcon)return createVNode(Icon,{class:bem$3("left-icon"),name:B.leftIcon},null)},Z=()=>{if(B.mode==="closeable")return"cross";if(B.mode==="link")return"arrow"},K=ae=>{B.mode==="closeable"&&(Y.show=!1,R("close",ae))},J=()=>{if(F["right-icon"])return F["right-icon"]();var ae=Z();if(ae)return createVNode(Icon,{name:ae,class:bem$3("right-icon"),onClick:K},null)},ie=()=>{Y.offset=D,Y.duration=0,raf$2(()=>{doubleRaf(()=>{Y.offset=-G,Y.duration=(G+D)/+B.speed,R("replay")})})},ne=()=>{var ae=B.scrollable===!1&&!B.wrapable,le={transform:Y.offset?"translateX("+Y.offset+"px)":"",transitionDuration:Y.duration+"s"};return createVNode("div",{ref:W,role:"marquee",class:bem$3("wrap")},[createVNode("div",{ref:q,style:le,class:[bem$3("content"),{"van-ellipsis":ae}],onTransitionend:ie},[F.default?F.default():B.text])])},se=()=>{D=0,G=0,Y.offset=0,Y.duration=0},re=()=>{var{delay:ae,speed:le,scrollable:ce}=B,he=isDef$1(ae)?+ae*1e3:0;se(),clearTimeout(U),U=setTimeout(()=>{if(!(!W.value||!q.value||ce===!1)){var de=useRect(W).width,me=useRect(q).width;(ce||me>de)&&doubleRaf(()=>{D=de,G=me,Y.offset=-G,Y.duration=G/+le})}},he)};return onPopupReopen(re),onMountedOrActivated(re),useEventListener("pageshow",re),watch(()=>[B.text,B.scrollable],re),()=>{var{color:ae,wrapable:le,background:ce}=B;return withDirectives(createVNode("div",{role:"alert",class:bem$3({wrapable:le}),style:{color:ae,background:ce}},[Q(),ne(),J()]),[[vShow,Y.show]])}}}),NoticeBar=withInstall(_NoticeBar);function getBoundingClientRect(B){var R=B.getBoundingClientRect();return{width:R.width,height:R.height,top:R.top,right:R.right,bottom:R.bottom,left:R.left,x:R.left,y:R.top}}function getWindow(B){if(B==null)return window;if(B.toString()!=="[object Window]"){var R=B.ownerDocument;return R&&R.defaultView||window}return B}function getWindowScroll(B){var R=getWindow(B),F=R.pageXOffset,D=R.pageYOffset;return{scrollLeft:F,scrollTop:D}}function isElement(B){var R=getWindow(B).Element;return B instanceof R||B instanceof Element}function isHTMLElement(B){var R=getWindow(B).HTMLElement;return B instanceof R||B instanceof HTMLElement}function isShadowRoot(B){if(typeof ShadowRoot=="undefined")return!1;var R=getWindow(B).ShadowRoot;return B instanceof R||B instanceof ShadowRoot}function getHTMLElementScroll(B){return{scrollLeft:B.scrollLeft,scrollTop:B.scrollTop}}function getNodeScroll(B){return B===getWindow(B)||!isHTMLElement(B)?getWindowScroll(B):getHTMLElementScroll(B)}function getNodeName(B){return B?(B.nodeName||"").toLowerCase():null}function getDocumentElement(B){return((isElement(B)?B.ownerDocument:B.document)||window.document).documentElement}function getWindowScrollBarX(B){return getBoundingClientRect(getDocumentElement(B)).left+getWindowScroll(B).scrollLeft}function getComputedStyle(B){return getWindow(B).getComputedStyle(B)}function isScrollParent(B){var R=getComputedStyle(B),F=R.overflow,D=R.overflowX,G=R.overflowY;return/auto|scroll|overlay|hidden/.test(F+G+D)}function getCompositeRect(B,R,F){F===void 0&&(F=!1);var D=getDocumentElement(R),G=getBoundingClientRect(B),U=isHTMLElement(R),W={scrollLeft:0,scrollTop:0},q={x:0,y:0};return(U||!U&&!F)&&((getNodeName(R)!=="body"||isScrollParent(D))&&(W=getNodeScroll(R)),isHTMLElement(R)?(q=getBoundingClientRect(R),q.x+=R.clientLeft,q.y+=R.clientTop):D&&(q.x=getWindowScrollBarX(D))),{x:G.left+W.scrollLeft-q.x,y:G.top+W.scrollTop-q.y,width:G.width,height:G.height}}function getLayoutRect(B){var R=getBoundingClientRect(B),F=B.offsetWidth,D=B.offsetHeight;return Math.abs(R.width-F)<=1&&(F=R.width),Math.abs(R.height-D)<=1&&(D=R.height),{x:B.offsetLeft,y:B.offsetTop,width:F,height:D}}function getParentNode(B){return getNodeName(B)==="html"?B:B.assignedSlot||B.parentNode||(isShadowRoot(B)?B.host:null)||getDocumentElement(B)}function getScrollParent(B){return["html","body","#document"].indexOf(getNodeName(B))>=0?B.ownerDocument.body:isHTMLElement(B)&&isScrollParent(B)?B:getScrollParent(getParentNode(B))}function listScrollParents(B,R){var F;R===void 0&&(R=[]);var D=getScrollParent(B),G=D===((F=B.ownerDocument)==null?void 0:F.body),U=getWindow(D),W=G?[U].concat(U.visualViewport||[],isScrollParent(D)?D:[]):D,q=R.concat(W);return G?q:q.concat(listScrollParents(getParentNode(W)))}function isTableElement(B){return["table","td","th"].indexOf(getNodeName(B))>=0}function getTrueOffsetParent(B){return!isHTMLElement(B)||getComputedStyle(B).position==="fixed"?null:B.offsetParent}function getContainingBlock(B){var R=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,F=navigator.userAgent.indexOf("Trident")!==-1;if(F&&isHTMLElement(B)){var D=getComputedStyle(B);if(D.position==="fixed")return null}for(var G=getParentNode(B);isHTMLElement(G)&&["html","body"].indexOf(getNodeName(G))<0;){var U=getComputedStyle(G);if(U.transform!=="none"||U.perspective!=="none"||U.contain==="paint"||["transform","perspective"].indexOf(U.willChange)!==-1||R&&U.willChange==="filter"||R&&U.filter&&U.filter!=="none")return G;G=G.parentNode}return null}function getOffsetParent(B){for(var R=getWindow(B),F=getTrueOffsetParent(B);F&&isTableElement(F)&&getComputedStyle(F).position==="static";)F=getTrueOffsetParent(F);return F&&(getNodeName(F)==="html"||getNodeName(F)==="body"&&getComputedStyle(F).position==="static")?R:F||getContainingBlock(B)||R}var top$2="top",bottom$1="bottom",right="right",left="left",auto="auto",basePlacements=[top$2,bottom$1,right,left],start$3="start",end="end",placements=[].concat(basePlacements,[auto]).reduce(function(B,R){return B.concat([R,R+"-"+start$3,R+"-"+end])},[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function order(B){var R=new Map,F=new Set,D=[];B.forEach(function(U){R.set(U.name,U)});function G(U){F.add(U.name);var W=[].concat(U.requires||[],U.requiresIfExists||[]);W.forEach(function(q){if(!F.has(q)){var Y=R.get(q);Y&&G(Y)}}),D.push(U)}return B.forEach(function(U){F.has(U.name)||G(U)}),D}function orderModifiers(B){var R=order(B);return modifierPhases.reduce(function(F,D){return F.concat(R.filter(function(G){return G.phase===D}))},[])}function debounce(B){var R;return function(){return R||(R=new Promise(function(F){Promise.resolve().then(function(){R=void 0,F(B())})})),R}}function getBasePlacement(B){return B.split("-")[0]}function mergeByName(B){var R=B.reduce(function(F,D){var G=F[D.name];return F[D.name]=G?Object.assign({},G,D,{options:Object.assign({},G.options,D.options),data:Object.assign({},G.data,D.data)}):D,F},{});return Object.keys(R).map(function(F){return R[F]})}var round=Math.round;function getVariation(B){return B.split("-")[1]}function getMainAxisFromPlacement(B){return["top","bottom"].indexOf(B)>=0?"x":"y"}function computeOffsets(B){var R=B.reference,F=B.element,D=B.placement,G=D?getBasePlacement(D):null,U=D?getVariation(D):null,W=R.x+R.width/2-F.width/2,q=R.y+R.height/2-F.height/2,Y;switch(G){case top$2:Y={x:W,y:R.y-F.height};break;case bottom$1:Y={x:W,y:R.y+R.height};break;case right:Y={x:R.x+R.width,y:q};break;case left:Y={x:R.x-F.width,y:q};break;default:Y={x:R.x,y:R.y}}var Q=G?getMainAxisFromPlacement(G):null;if(Q!=null){var Z=Q==="y"?"height":"width";switch(U){case start$3:Y[Q]=Y[Q]-(R[Z]/2-F[Z]/2);break;case end:Y[Q]=Y[Q]+(R[Z]/2-F[Z]/2);break}}return Y}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var B=arguments.length,R=new Array(B),F=0;F<B;F++)R[F]=arguments[F];return!R.some(function(D){return!(D&&typeof D.getBoundingClientRect=="function")})}function popperGenerator(B){B===void 0&&(B={});var R=B,F=R.defaultModifiers,D=F===void 0?[]:F,G=R.defaultOptions,U=G===void 0?DEFAULT_OPTIONS:G;return function(q,Y,Q){Q===void 0&&(Q=U);var Z={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,U),modifiersData:{},elements:{reference:q,popper:Y},attributes:{},styles:{}},K=[],J=!1,ie={state:Z,setOptions:function(ae){se(),Z.options=Object.assign({},U,Z.options,ae),Z.scrollParents={reference:isElement(q)?listScrollParents(q):q.contextElement?listScrollParents(q.contextElement):[],popper:listScrollParents(Y)};var le=orderModifiers(mergeByName([].concat(D,Z.options.modifiers)));return Z.orderedModifiers=le.filter(function(ce){return ce.enabled}),ne(),ie.update()},forceUpdate:function(){if(!J){var ae=Z.elements,le=ae.reference,ce=ae.popper;if(!!areValidElements(le,ce)){Z.rects={reference:getCompositeRect(le,getOffsetParent(ce),Z.options.strategy==="fixed"),popper:getLayoutRect(ce)},Z.reset=!1,Z.placement=Z.options.placement,Z.orderedModifiers.forEach(function(Ee){return Z.modifiersData[Ee.name]=Object.assign({},Ee.data)});for(var he=0;he<Z.orderedModifiers.length;he++){if(Z.reset===!0){Z.reset=!1,he=-1;continue}var de=Z.orderedModifiers[he],me=de.fn,fe=de.options,ge=fe===void 0?{}:fe,Se=de.name;typeof me=="function"&&(Z=me({state:Z,options:ge,name:Se,instance:ie})||Z)}}}},update:debounce(function(){return new Promise(function(re){ie.forceUpdate(),re(Z)})}),destroy:function(){se(),J=!0}};if(!areValidElements(q,Y))return ie;ie.setOptions(Q).then(function(re){!J&&Q.onFirstUpdate&&Q.onFirstUpdate(re)});function ne(){Z.orderedModifiers.forEach(function(re){var ae=re.name,le=re.options,ce=le===void 0?{}:le,he=re.effect;if(typeof he=="function"){var de=he({state:Z,name:ae,instance:ie,options:ce}),me=function(){};K.push(de||me)}})}function se(){K.forEach(function(re){return re()}),K=[]}return ie}}var passive={passive:!0};function effect(B){var R=B.state,F=B.instance,D=B.options,G=D.scroll,U=G===void 0?!0:G,W=D.resize,q=W===void 0?!0:W,Y=getWindow(R.elements.popper),Q=[].concat(R.scrollParents.reference,R.scrollParents.popper);return U&&Q.forEach(function(Z){Z.addEventListener("scroll",F.update,passive)}),q&&Y.addEventListener("resize",F.update,passive),function(){U&&Q.forEach(function(Z){Z.removeEventListener("scroll",F.update,passive)}),q&&Y.removeEventListener("resize",F.update,passive)}}var eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function B(){},effect,data:{}};function popperOffsets(B){var R=B.state,F=B.name;R.modifiersData[F]=computeOffsets({reference:R.rects.reference,element:R.rects.popper,strategy:"absolute",placement:R.placement})}var popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}},unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(B){var R=B.x,F=B.y,D=window,G=D.devicePixelRatio||1;return{x:round(round(R*G)/G)||0,y:round(round(F*G)/G)||0}}function mapToStyles(B){var R,F=B.popper,D=B.popperRect,G=B.placement,U=B.offsets,W=B.position,q=B.gpuAcceleration,Y=B.adaptive,Q=B.roundOffsets,Z=Q===!0?roundOffsetsByDPR(U):typeof Q=="function"?Q(U):U,K=Z.x,J=K===void 0?0:K,ie=Z.y,ne=ie===void 0?0:ie,se=U.hasOwnProperty("x"),re=U.hasOwnProperty("y"),ae=left,le=top$2,ce=window;if(Y){var he=getOffsetParent(F),de="clientHeight",me="clientWidth";he===getWindow(F)&&(he=getDocumentElement(F),getComputedStyle(he).position!=="static"&&(de="scrollHeight",me="scrollWidth")),he=he,G===top$2&&(le=bottom$1,ne-=he[de]-D.height,ne*=q?1:-1),G===left&&(ae=right,J-=he[me]-D.width,J*=q?1:-1)}var fe=Object.assign({position:W},Y&&unsetSides);if(q){var ge;return Object.assign({},fe,(ge={},ge[le]=re?"0":"",ge[ae]=se?"0":"",ge.transform=(ce.devicePixelRatio||1)<2?"translate("+J+"px, "+ne+"px)":"translate3d("+J+"px, "+ne+"px, 0)",ge))}return Object.assign({},fe,(R={},R[le]=re?ne+"px":"",R[ae]=se?J+"px":"",R.transform="",R))}function computeStyles(B){var R=B.state,F=B.options,D=F.gpuAcceleration,G=D===void 0?!0:D,U=F.adaptive,W=U===void 0?!0:U,q=F.roundOffsets,Y=q===void 0?!0:q,Q={placement:getBasePlacement(R.placement),popper:R.elements.popper,popperRect:R.rects.popper,gpuAcceleration:G};R.modifiersData.popperOffsets!=null&&(R.styles.popper=Object.assign({},R.styles.popper,mapToStyles(Object.assign({},Q,{offsets:R.modifiersData.popperOffsets,position:R.options.strategy,adaptive:W,roundOffsets:Y})))),R.modifiersData.arrow!=null&&(R.styles.arrow=Object.assign({},R.styles.arrow,mapToStyles(Object.assign({},Q,{offsets:R.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:Y})))),R.attributes.popper=Object.assign({},R.attributes.popper,{"data-popper-placement":R.placement})}var computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}};function applyStyles(B){var R=B.state;Object.keys(R.elements).forEach(function(F){var D=R.styles[F]||{},G=R.attributes[F]||{},U=R.elements[F];!isHTMLElement(U)||!getNodeName(U)||(Object.assign(U.style,D),Object.keys(G).forEach(function(W){var q=G[W];q===!1?U.removeAttribute(W):U.setAttribute(W,q===!0?"":q)}))})}function effect$1(B){var R=B.state,F={popper:{position:R.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(R.elements.popper.style,F.popper),R.styles=F,R.elements.arrow&&Object.assign(R.elements.arrow.style,F.arrow),function(){Object.keys(R.elements).forEach(function(D){var G=R.elements[D],U=R.attributes[D]||{},W=Object.keys(R.styles.hasOwnProperty(D)?R.styles[D]:F[D]),q=W.reduce(function(Y,Q){return Y[Q]="",Y},{});!isHTMLElement(G)||!getNodeName(G)||(Object.assign(G.style,q),Object.keys(U).forEach(function(Y){G.removeAttribute(Y)}))})}}var applyStyles$1={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect$1,requires:["computeStyles"]},defaultModifiers=[eventListeners,popperOffsets$1,computeStyles$1,applyStyles$1],createPopper=popperGenerator({defaultModifiers});function distanceAndSkiddingToXY(B,R,F){var D=getBasePlacement(B),G=[left,top$2].indexOf(D)>=0?-1:1,U=typeof F=="function"?F(Object.assign({},R,{placement:B})):F,W=U[0],q=U[1];return W=W||0,q=(q||0)*G,[left,right].indexOf(D)>=0?{x:q,y:W}:{x:W,y:q}}function offset(B){var R=B.state,F=B.options,D=B.name,G=F.offset,U=G===void 0?[0,0]:G,W=placements.reduce(function(Z,K){return Z[K]=distanceAndSkiddingToXY(K,R.rects,U),Z},{}),q=W[R.placement],Y=q.x,Q=q.y;R.modifiersData.popperOffsets!=null&&(R.modifiersData.popperOffsets.x+=Y,R.modifiersData.popperOffsets.y+=Q),R.modifiersData[D]=W}var offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset},[name$2,bem$2]=createNamespace("popover"),popupProps=["show","overlay","duration","teleport","overlayStyle","overlayClass","closeOnClickOverlay"],_Popover=defineComponent({name:name$2,props:{show:Boolean,overlay:Boolean,duration:[Number,String],iconPrefix:String,overlayClass:unknownProp,overlayStyle:Object,closeOnClickAction:truthProp,closeOnClickOverlay:truthProp,closeOnClickOutside:truthProp,offset:{type:Array,default:()=>[0,8]},theme:{type:String,default:"light"},trigger:{type:String,default:"click"},actions:{type:Array,default:()=>[]},placement:{type:String,default:"bottom"},teleport:{type:[String,Object],default:"body"}},emits:["select","touchstart","update:show"],setup(B,{emit:R,slots:F,attrs:D}){var G,U=ref(),W=ref(),q=()=>createPopper(U.value,W.value.popupRef.value,{placement:B.placement,modifiers:[{name:"computeStyles",options:{adaptive:!1,gpuAcceleration:!1}},extend$2({},offset$1,{options:{offset:B.offset}})]}),Y=()=>{nextTick(()=>{!B.show||(G?G.setOptions({placement:B.placement}):G=q())})},Q=se=>R("update:show",se),Z=()=>{B.trigger==="click"&&Q(!B.show)},K=se=>{se.stopPropagation(),R("touchstart",se)},J=(se,re)=>{se.disabled||(R("select",se,re),B.closeOnClickAction&&Q(!1))},ie=()=>{B.closeOnClickOutside&&(!B.overlay||B.closeOnClickOverlay)&&Q(!1)},ne=(se,re)=>{var{icon:ae,text:le,color:ce,disabled:he,className:de}=se;return createVNode("div",{role:"menuitem",class:[bem$2("action",{disabled:he,"with-icon":ae}),de],style:{color:ce},onClick:()=>J(se,re)},[ae&&createVNode(Icon,{name:ae,classPrefix:B.iconPrefix,class:bem$2("action-icon")},null),createVNode("div",{class:[bem$2("action-text"),BORDER_BOTTOM]},[le])])};return onMounted(Y),onBeforeUnmount(()=>{G&&(G.destroy(),G=null)}),watch(()=>[B.show,B.placement],Y),useClickAway(U,ie,{eventName:"touchstart"}),()=>createVNode(Fragment,null,[createVNode("span",{ref:U,class:bem$2("wrapper"),onClick:Z},[F.reference==null?void 0:F.reference()]),createVNode(Popup,mergeProps({ref:W,class:bem$2([B.theme]),position:"",transition:"van-popover-zoom",lockScroll:!1,onTouchstart:K},D,pick(B,popupProps),{"onUpdate:show":Q}),{default:()=>[createVNode("div",{class:bem$2("arrow")},null),createVNode("div",{role:"menu",class:bem$2("content")},[F.default?F.default():B.actions.map(ne)])]})])}}),Popover=withInstall(_Popover),Row=withInstall(_Row),[name$1,bem$1]=createNamespace("skeleton"),DEFAULT_ROW_WIDTH="100%",DEFAULT_LAST_ROW_WIDTH="60%",_Skeleton=defineComponent({name:name$1,props:{title:Boolean,round:Boolean,avatar:Boolean,loading:truthProp,animate:truthProp,avatarSize:[Number,String],titleWidth:[Number,String],row:{type:[Number,String],default:0},avatarShape:{type:String,default:"round"},rowWidth:{type:[Number,String,Array],default:DEFAULT_ROW_WIDTH}},setup(B,{slots:R}){var F=()=>{if(B.avatar)return createVNode("div",{class:bem$1("avatar",B.avatarShape),style:getSizeStyle(B.avatarSize)},null)},D=()=>{if(B.title)return createVNode("h3",{class:bem$1("title"),style:{width:addUnit(B.titleWidth)}},null)},G=W=>{var{rowWidth:q}=B;return q===DEFAULT_ROW_WIDTH&&W===+B.row-1?DEFAULT_LAST_ROW_WIDTH:Array.isArray(q)?q[W]:q},U=()=>Array(B.row).fill("").map((W,q)=>createVNode("div",{class:bem$1("row"),style:{width:addUnit(G(q))}},null));return()=>B.loading?createVNode("div",{class:bem$1({animate:B.animate,round:B.round})},[F(),createVNode("div",{class:bem$1("content")},[D(),U()])]):R.default==null?void 0:R.default()}}),Skeleton=withInstall(_Skeleton),[name,bem]=createNamespace("slider"),_Slider=defineComponent({name,props:{range:Boolean,disabled:Boolean,readonly:Boolean,vertical:Boolean,barHeight:[Number,String],buttonSize:[Number,String],activeColor:String,inactiveColor:String,min:{type:[Number,String],default:0},max:{type:[Number,String],default:100},step:{type:[Number,String],default:1},modelValue:{type:[Number,Array],default:0}},emits:["change","drag-end","drag-start","update:modelValue"],setup(B,{emit:R,slots:F}){var D,G,U,W=ref(),q=ref(),Y=useTouch(),Q=computed(()=>Number(B.max)-Number(B.min)),Z=computed(()=>{var ge=B.vertical?"width":"height";return{background:B.inactiveColor,[ge]:addUnit(B.barHeight)}}),K=ge=>!!B.range&&Array.isArray(ge),J=()=>{var{modelValue:ge,min:Se}=B;return K(ge)?(ge[1]-ge[0])*100/Q.value+"%":(ge-Number(Se))*100/Q.value+"%"},ie=()=>{var{modelValue:ge,min:Se}=B;return K(ge)?(ge[0]-Number(Se))*100/Q.value+"%":"0%"},ne=computed(()=>{var ge=B.vertical?"height":"width";return{[ge]:J(),left:B.vertical?void 0:ie(),top:B.vertical?ie():void 0,background:B.activeColor,transition:q.value?"none":void 0}}),se=ge=>{var Se=+B.min,Ee=+B.max,ve=+B.step;ge=clamp(ge,Se,Ee);var xe=Math.round((ge-Se)/ve)*ve;return addNumber(Se,xe)},re=(ge,Se)=>JSON.stringify(ge)===JSON.stringify(Se),ae=ge=>ge[0]>ge[1]?ge.slice(0).reverse():ge,le=(ge,Se)=>{K(ge)?ge=ae(ge).map(se):ge=se(ge),re(ge,B.modelValue)||R("update:modelValue",ge),Se&&!re(ge,G)&&R("change",ge)},ce=ge=>{if(ge.stopPropagation(),!(B.disabled||B.readonly)){var{min:Se,vertical:Ee,modelValue:ve}=B,xe=useRect(W),Pe=Ee?ge.clientY-xe.top:ge.clientX-xe.left,ye=Ee?xe.height:xe.width,Te=Number(Se)+Pe/ye*Q.value;if(K(ve)){var[Le,we]=ve,Ae=(Le+we)/2;Te<=Ae?le([Te,we],!0):le([Le,Te],!0)}else le(Te,!0)}},he=ge=>{B.disabled||B.readonly||(Y.start(ge),U=B.modelValue,K(U)?G=U.map(se):G=se(U),q.value="start")},de=ge=>{if(!(B.disabled||B.readonly)){q.value==="start"&&R("drag-start"),preventDefault(ge,!0),Y.move(ge),q.value="draging";var Se=useRect(W),Ee=B.vertical?Y.deltaY.value:Y.deltaX.value,ve=B.vertical?Se.height:Se.width,xe=Ee/ve*Q.value;K(G)?U[D]=G[D]+xe:U=G+xe,le(U)}},me=()=>{B.disabled||B.readonly||(q.value==="draging"&&(le(U,!0),R("drag-end")),q.value="")},fe=ge=>{var Se=()=>{if(typeof ge=="number"){var ve=["left","right"];return"button-wrapper-"+ve[ge]}return"button-wrapper"},Ee=typeof ge=="number"?B.modelValue[ge]:B.modelValue;return createVNode("div",{role:"slider",class:bem(Se()),tabindex:B.disabled||B.readonly?-1:0,"aria-valuemin":+B.min,"aria-valuenow":Ee,"aria-valuemax":+B.max,"aria-orientation":B.vertical?"vertical":"horizontal",onTouchstart:ve=>{typeof ge=="number"&&(D=ge),he(ve)},onTouchmove:de,onTouchend:me,onTouchcancel:me,onClick:stopPropagation},[F.button?F.button():createVNode("div",{class:bem("button"),style:getSizeStyle(B.buttonSize)},null)])};return le(B.modelValue),useLinkField(()=>B.modelValue),()=>createVNode("div",{ref:W,style:Z.value,class:bem({vertical:B.vertical,disabled:B.disabled}),onClick:ce},[createVNode("div",{class:bem("bar"),style:ne.value},[B.range?[fe(0),fe(1)]:fe()])])}}),Slider=withInstall(_Slider),lodash$1={exports:{}};/**
- * @license
- * Lodash <https://lodash.com/>
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */(function(B,R){(function(){var F,D="4.17.21",G=200,U="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",W="Expected a function",q="Invalid `variable` option passed into `_.template`",Y="__lodash_hash_undefined__",Q=500,Z="__lodash_placeholder__",K=1,J=2,ie=4,ne=1,se=2,re=1,ae=2,le=4,ce=8,he=16,de=32,me=64,fe=128,ge=256,Se=512,Ee=30,ve="...",xe=800,Pe=16,ye=1,Te=2,Le=3,we=1/0,Ae=9007199254740991,Me=17976931348623157e292,ke=0/0,Ne=4294967295,Ie=Ne-1,Ge=Ne>>>1,ze=[["ary",fe],["bind",re],["bindKey",ae],["curry",ce],["curryRight",he],["flip",Se],["partial",de],["partialRight",me],["rearg",ge]],Ve="[object Arguments]",Ye="[object Array]",et="[object AsyncFunction]",Je="[object Boolean]",st="[object Date]",pt="[object DOMException]",dt="[object Error]",yt="[object Function]",Fe="[object GeneratorFunction]",_e="[object Map]",je="[object Number]",Ze="[object Null]",De="[object Object]",Oe="[object Promise]",Xe="[object Proxy]",tt="[object RegExp]",nt="[object Set]",Ke="[object String]",ct="[object Symbol]",ut="[object Undefined]",ht="[object WeakMap]",vt="[object WeakSet]",xt="[object ArrayBuffer]",gt="[object DataView]",Pt="[object Float32Array]",kt="[object Float64Array]",Yt="[object Int8Array]",fi="[object Int16Array]",Jt="[object Int32Array]",ii="[object Uint8Array]",ui="[object Uint8ClampedArray]",Qt="[object Uint16Array]",Ai="[object Uint32Array]",Qi=/\b__p \+= '';/g,In=/\b(__p \+=) '' \+/g,cn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39);/g,oi=/[&<>"']/g,$i=RegExp(_t.source),Ui=RegExp(oi.source),Nr=/<%-([\s\S]+?)%>/g,On=/<%([\s\S]+?)%>/g,Jn=/<%=([\s\S]+?)%>/g,Lr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vn=/^\w*$/,kr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rs=/[\\^$.*+?()[\]{}|]/g,mr=RegExp(rs.source),Gn=/^\s+/,$n=/\s/,er=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Nn=/\{\n\/\* \[wrapped with (.+)\] \*/,hn=/,? & /,Sn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Aa=/[()=,{}\[\]\/\s]/,Us=/\\(\\)?/g,ys=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,xn=/\w*$/,Ln=/^[-+]0x[0-9a-f]+$/i,kn=/^0b[01]+$/i,Hs=/^\[object .+?Constructor\]$/,ei=/^0o[0-7]+$/i,Fi=/^(?:0|[1-9]\d*)$/,Ei=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ni=/($^)/,mi=/['\n\r\u2028\u2029\\]/g,Li="\\ud800-\\udfff",fn="\\u0300-\\u036f",Rn="\\ufe20-\\ufe2f",zn="\\u20d0-\\u20ff",Rr=fn+Rn+zn,gr="\\u2700-\\u27bf",yo="a-z\\xdf-\\xf6\\xf8-\\xff",xl="\\xac\\xb1\\xd7\\xf7",tr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Al="\\u2000-\\u206f",vo=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ea="A-Z\\xc0-\\xd6\\xd8-\\xde",wa="\\ufe0e\\ufe0f",Ws=xl+tr+Al+vo,Pa="['\u2019]",vs="["+Li+"]",bs="["+Ws+"]",Ss="["+Rr+"]",bo="\\d+",Ta="["+gr+"]",Ca="["+yo+"]",qs="[^"+Li+Ws+bo+gr+yo+Ea+"]",xs="\\ud83c[\\udffb-\\udfff]",So="(?:"+Ss+"|"+xs+")",Xs="[^"+Li+"]",As="(?:\\ud83c[\\udde6-\\uddff]){2}",yr="[\\ud800-\\udbff][\\udc00-\\udfff]",Fr="["+Ea+"]",Ma="\\u200d",xo="(?:"+Ca+"|"+qs+")",Ao="(?:"+Fr+"|"+qs+")",_a="(?:"+Pa+"(?:d|ll|m|re|s|t|ve))?",Ia="(?:"+Pa+"(?:D|LL|M|RE|S|T|VE))?",Ys=So+"?",Eo="["+wa+"]?",wo="(?:"+Ma+"(?:"+[Xs,As,yr].join("|")+")"+Eo+Ys+")*",El="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Po="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Es=Eo+Ys+wo,wl="(?:"+[Ta,As,yr].join("|")+")"+Es,ss="(?:"+[Xs+Ss+"?",Ss,As,yr,vs].join("|")+")",vr=RegExp(Pa,"g"),Na=RegExp(Ss,"g"),js=RegExp(xs+"(?="+xs+")|"+ss+Es,"g"),Qs=RegExp([Fr+"?"+Ca+"+"+_a+"(?="+[bs,Fr,"$"].join("|")+")",Ao+"+"+Ia+"(?="+[bs,Fr+xo,"$"].join("|")+")",Fr+"?"+xo+"+"+_a,Fr+"+"+Ia,Po,El,bo,wl].join("|"),"g"),Pl=RegExp("["+Ma+Li+Rr+wa+"]"),Tl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Cl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],vi=-1,Vt={};Vt[Pt]=Vt[kt]=Vt[Yt]=Vt[fi]=Vt[Jt]=Vt[ii]=Vt[ui]=Vt[Qt]=Vt[Ai]=!0,Vt[Ve]=Vt[Ye]=Vt[xt]=Vt[Je]=Vt[gt]=Vt[st]=Vt[dt]=Vt[yt]=Vt[_e]=Vt[je]=Vt[De]=Vt[tt]=Vt[nt]=Vt[Ke]=Vt[ht]=!1;var bi={};bi[Ve]=bi[Ye]=bi[xt]=bi[gt]=bi[Je]=bi[st]=bi[Pt]=bi[kt]=bi[Yt]=bi[fi]=bi[Jt]=bi[_e]=bi[je]=bi[De]=bi[tt]=bi[nt]=bi[Ke]=bi[ct]=bi[ii]=bi[ui]=bi[Qt]=bi[Ai]=!0,bi[dt]=bi[yt]=bi[ht]=!1;var Ks={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Br={"&":"&","<":"<",">":">",'"':""","'":"'"},La={"&":"&","<":"<",">":">",""":'"',"'":"'"},To={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Co=parseFloat,Un=parseInt,ka=typeof commonjsGlobal$2=="object"&&commonjsGlobal$2&&commonjsGlobal$2.Object===Object&&commonjsGlobal$2,Bi=typeof self=="object"&&self&&self.Object===Object&&self,Pi=ka||Bi||Function("return this")(),Fn=R&&!R.nodeType&&R,dn=Fn&&!0&&B&&!B.nodeType&&B,Dr=dn&&dn.exports===Fn,Hi=Dr&&ka.process,en=function(){try{var Qe=dn&&dn.require&&dn.require("util").types;return Qe||Hi&&Hi.binding&&Hi.binding("util")}catch{}}(),Ra=en&&en.isArrayBuffer,Fa=en&&en.isDate,Ba=en&&en.isMap,as=en&&en.isRegExp,Da=en&&en.isSet,tn=en&&en.isTypedArray;function pn(Qe,it,lt){switch(lt.length){case 0:return Qe.call(it);case 1:return Qe.call(it,lt[0]);case 2:return Qe.call(it,lt[0],lt[1]);case 3:return Qe.call(it,lt[0],lt[1],lt[2])}return Qe.apply(it,lt)}function He(Qe,it,lt,At){for(var It=-1,Gt=Qe==null?0:Qe.length;++It<Gt;){var qt=Qe[It];it(At,qt,lt(qt),Qe)}return At}function rt(Qe,it){for(var lt=-1,At=Qe==null?0:Qe.length;++lt<At&&it(Qe[lt],lt,Qe)!==!1;);return Qe}function bt(Qe,it){for(var lt=Qe==null?0:Qe.length;lt--&&it(Qe[lt],lt,Qe)!==!1;);return Qe}function wt(Qe,it){for(var lt=-1,At=Qe==null?0:Qe.length;++lt<At;)if(!it(Qe[lt],lt,Qe))return!1;return!0}function Bt(Qe,it){for(var lt=-1,At=Qe==null?0:Qe.length,It=0,Gt=[];++lt<At;){var qt=Qe[lt];it(qt,lt,Qe)&&(Gt[It++]=qt)}return Gt}function Lt(Qe,it){var lt=Qe==null?0:Qe.length;return!!lt&&wn(Qe,it,0)>-1}function Ft(Qe,it,lt){for(var At=-1,It=Qe==null?0:Qe.length;++At<It;)if(lt(it,Qe[At]))return!0;return!1}function Rt(Qe,it){for(var lt=-1,At=Qe==null?0:Qe.length,It=Array(At);++lt<At;)It[lt]=it(Qe[lt],lt,Qe);return It}function ni(Qe,it){for(var lt=-1,At=it.length,It=Qe.length;++lt<At;)Qe[It+lt]=it[lt];return Qe}function _i(Qe,it,lt,At){var It=-1,Gt=Qe==null?0:Qe.length;for(At&&Gt&&(lt=Qe[++It]);++It<Gt;)lt=it(lt,Qe[It],It,Qe);return lt}function Di(Qe,it,lt,At){var It=Qe==null?0:Qe.length;for(At&&It&&(lt=Qe[--It]);It--;)lt=it(lt,Qe[It],It,Qe);return lt}function Wi(Qe,it){for(var lt=-1,At=Qe==null?0:Qe.length;++lt<At;)if(it(Qe[lt],lt,Qe))return!0;return!1}var ki=Va("length");function An(Qe){return Qe.split("")}function mn(Qe){return Qe.match(Sn)||[]}function En(Qe,it,lt){var At;return lt(Qe,function(It,Gt,qt){if(it(It,Gt,qt))return At=Gt,!1}),At}function Oi(Qe,it,lt,At){for(var It=Qe.length,Gt=lt+(At?1:-1);At?Gt--:++Gt<It;)if(it(Qe[Gt],Gt,Qe))return Gt;return-1}function wn(Qe,it,lt){return it===it?bh(Qe,it,lt):Oi(Qe,os,lt)}function Oa(Qe,it,lt,At){for(var It=lt-1,Gt=Qe.length;++It<Gt;)if(At(Qe[It],it))return It;return-1}function os(Qe){return Qe!==Qe}function Or(Qe,it){var lt=Qe==null?0:Qe.length;return lt?Ga(Qe,it)/lt:ke}function Va(Qe){return function(it){return it==null?F:it[Qe]}}function Mo(Qe){return function(it){return Qe==null?F:Qe[it]}}function qu(Qe,it,lt,At,It){return It(Qe,function(Gt,qt,gi){lt=At?(At=!1,Gt):it(lt,Gt,qt,gi)}),lt}function Ml(Qe,it){var lt=Qe.length;for(Qe.sort(it);lt--;)Qe[lt]=Qe[lt].value;return Qe}function Ga(Qe,it){for(var lt,At=-1,It=Qe.length;++At<It;){var Gt=it(Qe[At]);Gt!==F&&(lt=lt===F?Gt:lt+Gt)}return lt}function _l(Qe,it){for(var lt=-1,At=Array(Qe);++lt<Qe;)At[lt]=it(lt);return At}function Xu(Qe,it){return Rt(it,function(lt){return[lt,Qe[lt]]})}function Pn(Qe){return Qe&&Qe.slice(0,ju(Qe)+1).replace(Gn,"")}function gn(Qe){return function(it){return Qe(it)}}function ws(Qe,it){return Rt(it,function(lt){return Qe[lt]})}function Zs(Qe,it){return Qe.has(it)}function Il(Qe,it){for(var lt=-1,At=Qe.length;++lt<At&&wn(it,Qe[lt],0)>-1;);return lt}function Yu(Qe,it){for(var lt=Qe.length;lt--&&wn(it,Qe[lt],0)>-1;);return lt}function dh(Qe,it){for(var lt=Qe.length,At=0;lt--;)Qe[lt]===it&&++At;return At}var ph=Mo(Ks),mh=Mo(Br);function gh(Qe){return"\\"+To[Qe]}function Js(Qe,it){return Qe==null?F:Qe[it]}function $s(Qe){return Pl.test(Qe)}function yh(Qe){return Tl.test(Qe)}function Nl(Qe){for(var it,lt=[];!(it=Qe.next()).done;)lt.push(it.value);return lt}function _o(Qe){var it=-1,lt=Array(Qe.size);return Qe.forEach(function(At,It){lt[++it]=[It,At]}),lt}function Vr(Qe,it){return function(lt){return Qe(it(lt))}}function ir(Qe,it){for(var lt=-1,At=Qe.length,It=0,Gt=[];++lt<At;){var qt=Qe[lt];(qt===it||qt===Z)&&(Qe[lt]=Z,Gt[It++]=lt)}return Gt}function Io(Qe){var it=-1,lt=Array(Qe.size);return Qe.forEach(function(At){lt[++it]=At}),lt}function vh(Qe){var it=-1,lt=Array(Qe.size);return Qe.forEach(function(At){lt[++it]=[At,At]}),lt}function bh(Qe,it,lt){for(var At=lt-1,It=Qe.length;++At<It;)if(Qe[At]===it)return At;return-1}function ea(Qe,it,lt){for(var At=lt+1;At--;)if(Qe[At]===it)return At;return At}function nn(Qe){return $s(Qe)?xh(Qe):ki(Qe)}function Hn(Qe){return $s(Qe)?Ah(Qe):An(Qe)}function ju(Qe){for(var it=Qe.length;it--&&$n.test(Qe.charAt(it)););return it}var Sh=Mo(La);function xh(Qe){for(var it=js.lastIndex=0;js.test(Qe);)++it;return it}function Ah(Qe){return Qe.match(js)||[]}function Eh(Qe){return Qe.match(Qs)||[]}var ta=function Qe(it){it=it==null?Pi:ft.defaults(Pi.Object(),it,ft.pick(Pi,Cl));var lt=it.Array,At=it.Date,It=it.Error,Gt=it.Function,qt=it.Math,gi=it.Object,Ll=it.RegExp,Wn=it.String,yn=it.TypeError,No=lt.prototype,ia=Gt.prototype,Gr=gi.prototype,Ps=it["__core-js_shared__"],li=ia.toString,yi=Gr.hasOwnProperty,Qu=0,za=function(){var te=/[^.]+$/.exec(Ps&&Ps.keys&&Ps.keys.IE_PROTO||"");return te?"Symbol(src)_1."+te:""}(),Lo=Gr.toString,wh=li.call(gi),Ph=Pi._,ko=Ll("^"+li.call(yi).replace(rs,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nr=Dr?it.Buffer:F,rr=it.Symbol,Ua=it.Uint8Array,Ha=nr?nr.allocUnsafe:F,Wa=Vr(gi.getPrototypeOf,gi),kl=gi.create,qa=Gr.propertyIsEnumerable,Xa=No.splice,na=rr?rr.isConcatSpreadable:F,sr=rr?rr.iterator:F,br=rr?rr.toStringTag:F,Ro=function(){try{var te=Bs(gi,"defineProperty");return te({},"",{}),te}catch{}}(),Th=it.clearTimeout!==Pi.clearTimeout&&it.clearTimeout,Ch=At&&At.now!==Pi.Date.now&&At.now,Fo=it.setTimeout!==Pi.setTimeout&&it.setTimeout,Ts=qt.ceil,ra=qt.floor,Rl=gi.getOwnPropertySymbols,Ku=nr?nr.isBuffer:F,Zu=it.isFinite,Mh=No.join,Vi=Vr(gi.keys,gi),ri=qt.max,rn=qt.min,_h=At.now,Ju=it.parseInt,$u=qt.random,Fl=No.reverse,Cs=Bs(it,"DataView"),Ms=Bs(it,"Map"),ls=Bs(it,"Promise"),Sr=Bs(it,"Set"),zr=Bs(it,"WeakMap"),us=Bs(gi,"create"),Ur=zr&&new zr,sa={},Ih=Os(Cs),Nh=Os(Ms),Lh=Os(ls),kh=Os(Sr),Bo=Os(zr),cs=rr?rr.prototype:F,aa=cs?cs.valueOf:F,qe=cs?cs.toString:F;function We(te){if(Mi(te)&&!jt(te)&&!(te instanceof ti)){if(te instanceof Ht)return te;if(yi.call(te,"__wrapped__"))return Fc(te)}return new Ht(te)}var Hr=function(){function te(){}return function(oe){if(!Xt(oe))return{};if(kl)return kl(oe);te.prototype=oe;var pe=new te;return te.prototype=F,pe}}();function vn(){}function Ht(te,oe){this.__wrapped__=te,this.__actions__=[],this.__chain__=!!oe,this.__index__=0,this.__values__=F}We.templateSettings={escape:Nr,evaluate:On,interpolate:Jn,variable:"",imports:{_:We}},We.prototype=vn.prototype,We.prototype.constructor=We,Ht.prototype=Hr(vn.prototype),Ht.prototype.constructor=Ht;function ti(te){this.__wrapped__=te,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ne,this.__views__=[]}function Rh(){var te=new ti(this.__wrapped__);return te.__actions__=Ti(this.__actions__),te.__dir__=this.__dir__,te.__filtered__=this.__filtered__,te.__iteratees__=Ti(this.__iteratees__),te.__takeCount__=this.__takeCount__,te.__views__=Ti(this.__views__),te}function Fh(){if(this.__filtered__){var te=new ti(this);te.__dir__=-1,te.__filtered__=!0}else te=this.clone(),te.__dir__*=-1;return te}function _s(){var te=this.__wrapped__.value(),oe=this.__dir__,pe=jt(te),be=oe<0,Ce=pe?te.length:0,Re=df(0,Ce,this.__views__),Be=Re.start,Ue=Re.end,$e=Ue-Be,at=be?Ue:Be-1,ot=this.__iteratees__,mt=ot.length,St=0,Et=rn($e,this.__takeCount__);if(!pe||!be&&Ce==$e&&Et==$e)return Ko(te,this.__actions__);var Tt=[];e:for(;$e--&&St<Et;){at+=oe;for(var Ct=-1,Mt=te[at];++Ct<mt;){var Nt=ot[Ct],Wt=Nt.iteratee,Si=Nt.type,xi=Wt(Mt);if(Si==Te)Mt=xi;else if(!xi){if(Si==ye)continue e;break e}}Tt[St++]=Mt}return Tt}ti.prototype=Hr(vn.prototype),ti.prototype.constructor=ti;function Is(te){var oe=-1,pe=te==null?0:te.length;for(this.clear();++oe<pe;){var be=te[oe];this.set(be[0],be[1])}}function Bh(){this.__data__=us?us(null):{},this.size=0}function Dh(te){var oe=this.has(te)&&delete this.__data__[te];return this.size-=oe?1:0,oe}function Oh(te){var oe=this.__data__;if(us){var pe=oe[te];return pe===Y?F:pe}return yi.call(oe,te)?oe[te]:F}function Vh(te){var oe=this.__data__;return us?oe[te]!==F:yi.call(oe,te)}function Wr(te,oe){var pe=this.__data__;return this.size+=this.has(te)?0:1,pe[te]=us&&oe===F?Y:oe,this}Is.prototype.clear=Bh,Is.prototype.delete=Dh,Is.prototype.get=Oh,Is.prototype.has=Vh,Is.prototype.set=Wr;function qr(te){var oe=-1,pe=te==null?0:te.length;for(this.clear();++oe<pe;){var be=te[oe];this.set(be[0],be[1])}}function Gh(){this.__data__=[],this.size=0}function zh(te){var oe=this.__data__,pe=Do(oe,te);if(pe<0)return!1;var be=oe.length-1;return pe==be?oe.pop():Xa.call(oe,pe,1),--this.size,!0}function Uh(te){var oe=this.__data__,pe=Do(oe,te);return pe<0?F:oe[pe][1]}function Hh(te){return Do(this.__data__,te)>-1}function Xr(te,oe){var pe=this.__data__,be=Do(pe,te);return be<0?(++this.size,pe.push([te,oe])):pe[be][1]=oe,this}qr.prototype.clear=Gh,qr.prototype.delete=zh,qr.prototype.get=Uh,qr.prototype.has=Hh,qr.prototype.set=Xr;function Yr(te){var oe=-1,pe=te==null?0:te.length;for(this.clear();++oe<pe;){var be=te[oe];this.set(be[0],be[1])}}function Wh(){this.size=0,this.__data__={hash:new Is,map:new(Ms||qr),string:new Is}}function qh(te){var oe=ma(this,te).delete(te);return this.size-=oe?1:0,oe}function Xh(te){return ma(this,te).get(te)}function Yh(te){return ma(this,te).has(te)}function Ns(te,oe){var pe=ma(this,te),be=pe.size;return pe.set(te,oe),this.size+=pe.size==be?0:1,this}Yr.prototype.clear=Wh,Yr.prototype.delete=qh,Yr.prototype.get=Xh,Yr.prototype.has=Yh,Yr.prototype.set=Ns;function Ls(te){var oe=-1,pe=te==null?0:te.length;for(this.__data__=new Yr;++oe<pe;)this.add(te[oe])}function jh(te){return this.__data__.set(te,Y),this}function ar(te){return this.__data__.has(te)}Ls.prototype.add=Ls.prototype.push=jh,Ls.prototype.has=ar;function or(te){var oe=this.__data__=new qr(te);this.size=oe.size}function Qh(){this.__data__=new qr,this.size=0}function Kh(te){var oe=this.__data__,pe=oe.delete(te);return this.size=oe.size,pe}function Zh(te){return this.__data__.get(te)}function Jh(te){return this.__data__.has(te)}function ec(te,oe){var pe=this.__data__;if(pe instanceof qr){var be=pe.__data__;if(!Ms||be.length<G-1)return be.push([te,oe]),this.size=++pe.size,this;pe=this.__data__=new Yr(be)}return pe.set(te,oe),this.size=pe.size,this}or.prototype.clear=Qh,or.prototype.delete=Kh,or.prototype.get=Zh,or.prototype.has=Jh,or.prototype.set=ec;function Bl(te,oe){var pe=jt(te),be=!pe&&zt(te),Ce=!pe&&!be&&gs(te),Re=!pe&&!be&&!Ce&&ba(te),Be=pe||be||Ce||Re,Ue=Be?_l(te.length,Wn):[],$e=Ue.length;for(var at in te)(oe||yi.call(te,at))&&!(Be&&(at=="length"||Ce&&(at=="offset"||at=="parent")||Re&&(at=="buffer"||at=="byteLength"||at=="byteOffset")||Ci(at,$e)))&&Ue.push(at);return Ue}function tc(te){var oe=te.length;return oe?te[Ql(0,oe-1)]:F}function $h(te,oe){return ho(Ti(te),qi(oe,0,te.length))}function Dl(te){return ho(Ti(te))}function ks(te,oe,pe){(pe!==F&&!pr(te[oe],pe)||pe===F&&!(oe in te))&&lr(te,oe,pe)}function hs(te,oe,pe){var be=te[oe];(!(yi.call(te,oe)&&pr(be,pe))||pe===F&&!(oe in te))&&lr(te,oe,pe)}function Do(te,oe){for(var pe=te.length;pe--;)if(pr(te[pe][0],oe))return pe;return-1}function ic(te,oe,pe,be){return Kr(te,function(Ce,Re,Be){oe(be,Ce,pe(Ce),Be)}),be}function nc(te,oe){return te&&wr(oe,ci(oe),te)}function jr(te,oe){return te&&wr(oe,Mn(oe),te)}function lr(te,oe,pe){oe=="__proto__"&&Ro?Ro(te,oe,{configurable:!0,enumerable:!0,value:pe,writable:!0}):te[oe]=pe}function Qr(te,oe){for(var pe=-1,be=oe.length,Ce=lt(be),Re=te==null;++pe<be;)Ce[pe]=Re?F:_u(te,oe[pe]);return Ce}function qi(te,oe,pe){return te===te&&(pe!==F&&(te=te<=pe?te:pe),oe!==F&&(te=te>=oe?te:oe)),te}function qn(te,oe,pe,be,Ce,Re){var Be,Ue=oe&K,$e=oe&J,at=oe&ie;if(pe&&(Be=Ce?pe(te,be,Ce,Re):pe(te)),Be!==F)return Be;if(!Xt(te))return te;var ot=jt(te);if(ot){if(Be=_c(te),!Ue)return Ti(te,Be)}else{var mt=an(te),St=mt==yt||mt==Fe;if(gs(te))return $o(te,Ue);if(mt==De||mt==Ve||St&&!Ce){if(Be=$e||St?{}:Ic(te),!Ue)return $e?tl(te,jr(Be,te)):hf(te,nc(Be,te))}else{if(!bi[mt])return Ce?te:{};Be=pf(te,mt,Ue)}}Re||(Re=new or);var Et=Re.get(te);if(Et)return Et;Re.set(te,Be),po(te)?te.forEach(function(Mt){Be.add(qn(Mt,oe,pe,Mt,te,Re))}):Kc(te)&&te.forEach(function(Mt,Nt){Be.set(Nt,qn(Mt,oe,pe,Nt,te,Re))});var Tt=at?$e?lo:oo:$e?Mn:ci,Ct=ot?F:Tt(te);return rt(Ct||te,function(Mt,Nt){Ct&&(Nt=Mt,Mt=te[Nt]),hs(Be,Nt,qn(Mt,oe,pe,Nt,te,Re))}),Be}function rc(te){var oe=ci(te);return function(pe){return Ol(pe,te,oe)}}function Ol(te,oe,pe){var be=pe.length;if(te==null)return!be;for(te=gi(te);be--;){var Ce=pe[be],Re=oe[Ce],Be=te[Ce];if(Be===F&&!(Ce in te)||!Re(Be))return!1}return!0}function oa(te,oe,pe){if(typeof te!="function")throw new yn(W);return Ds(function(){te.apply(F,pe)},oe)}function Xn(te,oe,pe,be){var Ce=-1,Re=Lt,Be=!0,Ue=te.length,$e=[],at=oe.length;if(!Ue)return $e;pe&&(oe=Rt(oe,gn(pe))),be?(Re=Ft,Be=!1):oe.length>=G&&(Re=Zs,Be=!1,oe=new Ls(oe));e:for(;++Ce<Ue;){var ot=te[Ce],mt=pe==null?ot:pe(ot);if(ot=be||ot!==0?ot:0,Be&&mt===mt){for(var St=at;St--;)if(oe[St]===mt)continue e;$e.push(ot)}else Re(oe,mt,be)||$e.push(ot)}return $e}var Kr=iu(Yn),sc=iu(la,!0);function Oo(te,oe){var pe=!0;return Kr(te,function(be,Ce,Re){return pe=!!oe(be,Ce,Re),pe}),pe}function Vo(te,oe,pe){for(var be=-1,Ce=te.length;++be<Ce;){var Re=te[be],Be=oe(Re);if(Be!=null&&(Ue===F?Be===Be&&!Yi(Be):pe(Be,Ue)))var Ue=Be,$e=Re}return $e}function ac(te,oe,pe,be){var Ce=te.length;for(pe=Kt(pe),pe<0&&(pe=-pe>Ce?0:Ce+pe),be=be===F||be>Ce?Ce:Kt(be),be<0&&(be+=Ce),be=pe>be?0:Bn(be);pe<be;)te[pe++]=oe;return te}function Xi(te,oe){var pe=[];return Kr(te,function(be,Ce,Re){oe(be,Ce,Re)&&pe.push(be)}),pe}function Gi(te,oe,pe,be,Ce){var Re=-1,Be=te.length;for(pe||(pe=is),Ce||(Ce=[]);++Re<Be;){var Ue=te[Re];oe>0&&pe(Ue)?oe>1?Gi(Ue,oe-1,pe,be,Ce):ni(Ce,Ue):be||(Ce[Ce.length]=Ue)}return Ce}var Go=bc(),ur=bc(!0);function Yn(te,oe){return te&&Go(te,oe,ci)}function la(te,oe){return te&&ur(te,oe,ci)}function xr(te,oe){return Bt(oe,function(pe){return Mr(te[pe])})}function fs(te,oe){oe=ds(oe,te);for(var pe=0,be=oe.length;te!=null&&pe<be;)te=te[on(oe[pe++])];return pe&&pe==be?te:F}function sn(te,oe,pe){var be=oe(te);return jt(te)?be:ni(be,pe(te))}function Ki(te){return te==null?te===F?ut:Ze:br&&br in gi(te)?au(te):Lc(te)}function Vl(te,oe){return te>oe}function ef(te,oe){return te!=null&&yi.call(te,oe)}function tf(te,oe){return te!=null&&oe in gi(te)}function Gl(te,oe,pe){return te>=rn(oe,pe)&&te<ri(oe,pe)}function zl(te,oe,pe){for(var be=pe?Ft:Lt,Ce=te[0].length,Re=te.length,Be=Re,Ue=lt(Re),$e=1/0,at=[];Be--;){var ot=te[Be];Be&&oe&&(ot=Rt(ot,gn(oe))),$e=rn(ot.length,$e),Ue[Be]=!pe&&(oe||Ce>=120&&ot.length>=120)?new Ls(Be&&ot):F}ot=te[0];var mt=-1,St=Ue[0];e:for(;++mt<Ce&&at.length<$e;){var Et=ot[mt],Tt=oe?oe(Et):Et;if(Et=pe||Et!==0?Et:0,!(St?Zs(St,Tt):be(at,Tt,pe))){for(Be=Re;--Be;){var Ct=Ue[Be];if(!(Ct?Zs(Ct,Tt):be(te[Be],Tt,pe)))continue e}St&&St.push(Tt),at.push(Et)}}return at}function Ya(te,oe,pe,be){return Yn(te,function(Ce,Re,Be){oe(be,pe(Ce),Re,Be)}),be}function ua(te,oe,pe){oe=ds(oe,te),te=kc(te,oe);var be=te==null?te:te[on(Zn(oe))];return be==null?F:pn(be,te,pe)}function oc(te){return Mi(te)&&Ki(te)==Ve}function nf(te){return Mi(te)&&Ki(te)==xt}function ja(te){return Mi(te)&&Ki(te)==st}function Qa(te,oe,pe,be,Ce){return te===oe?!0:te==null||oe==null||!Mi(te)&&!Mi(oe)?te!==te&&oe!==oe:rf(te,oe,pe,be,Qa,Ce)}function rf(te,oe,pe,be,Ce,Re){var Be=jt(te),Ue=jt(oe),$e=Be?Ye:an(te),at=Ue?Ye:an(oe);$e=$e==Ve?De:$e,at=at==Ve?De:at;var ot=$e==De,mt=at==De,St=$e==at;if(St&&gs(te)){if(!gs(oe))return!1;Be=!0,ot=!1}if(St&&!ot)return Re||(Re=new or),Be||ba(te)?Tc(te,oe,pe,be,Ce,Re):ff(te,oe,$e,pe,be,Ce,Re);if(!(pe&ne)){var Et=ot&&yi.call(te,"__wrapped__"),Tt=mt&&yi.call(oe,"__wrapped__");if(Et||Tt){var Ct=Et?te.value():te,Mt=Tt?oe.value():oe;return Re||(Re=new or),Ce(Ct,Mt,pe,be,Re)}}return St?(Re||(Re=new or),$r(te,oe,pe,be,Ce,Re)):!1}function Ul(te){return Mi(te)&&an(te)==_e}function zo(te,oe,pe,be){var Ce=pe.length,Re=Ce,Be=!be;if(te==null)return!Re;for(te=gi(te);Ce--;){var Ue=pe[Ce];if(Be&&Ue[2]?Ue[1]!==te[Ue[0]]:!(Ue[0]in te))return!1}for(;++Ce<Re;){Ue=pe[Ce];var $e=Ue[0],at=te[$e],ot=Ue[1];if(Be&&Ue[2]){if(at===F&&!($e in te))return!1}else{var mt=new or;if(be)var St=be(at,ot,$e,te,oe,mt);if(!(St===F?Qa(ot,at,ne|se,be,mt):St))return!1}}return!0}function lc(te){if(!Xt(te)||gf(te))return!1;var oe=Mr(te)?ko:Hs;return oe.test(Os(te))}function sf(te){return Mi(te)&&Ki(te)==tt}function af(te){return Mi(te)&&an(te)==nt}function uc(te){return Mi(te)&&wi(te.length)&&!!Vt[Ki(te)]}function Uo(te){return typeof te=="function"?te:te==null?un:typeof te=="object"?jt(te)?Ka(te[0],te[1]):Xl(te):fh(te)}function Hl(te){if(!ga(te))return Vi(te);var oe=[];for(var pe in gi(te))yi.call(te,pe)&&pe!="constructor"&&oe.push(pe);return oe}function Wl(te){if(!Xt(te))return bf(te);var oe=ga(te),pe=[];for(var be in te)be=="constructor"&&(oe||!yi.call(te,be))||pe.push(be);return pe}function Ho(te,oe){return te<oe}function ql(te,oe){var pe=-1,be=si(te)?lt(te.length):[];return Kr(te,function(Ce,Re,Be){be[++pe]=oe(Ce,Re,Be)}),be}function Xl(te){var oe=ts(te);return oe.length==1&&oe[0][2]?Nc(oe[0][0],oe[0][1]):function(pe){return pe===te||zo(pe,te,oe)}}function Ka(te,oe){return ou(te)&&cu(oe)?Nc(on(te),oe):function(pe){var be=_u(pe,te);return be===F&&be===oe?Nu(pe,te):Qa(oe,be,ne|se)}}function Wo(te,oe,pe,be,Ce){te!==oe&&Go(oe,function(Re,Be){if(Ce||(Ce=new or),Xt(Re))cc(te,oe,Be,pe,Wo,be,Ce);else{var Ue=be?be(sl(te,Be),Re,Be+"",te,oe,Ce):F;Ue===F&&(Ue=Re),ks(te,Be,Ue)}},Mn)}function cc(te,oe,pe,be,Ce,Re,Be){var Ue=sl(te,pe),$e=sl(oe,pe),at=Be.get($e);if(at){ks(te,pe,at);return}var ot=Re?Re(Ue,$e,pe+"",te,oe,Be):F,mt=ot===F;if(mt){var St=jt($e),Et=!St&&gs($e),Tt=!St&&!Et&&ba($e);ot=$e,St||Et||Tt?jt(Ue)?ot=Ue:Ii(Ue)?ot=Ti(Ue):Et?(mt=!1,ot=$o($e,!0)):Tt?(mt=!1,ot=eu($e,!0)):ot=[]:zs($e)||zt($e)?(ot=Ue,zt(Ue)?ot=eh(Ue):(!Xt(Ue)||Mr(Ue))&&(ot=Ic($e))):mt=!1}mt&&(Be.set($e,ot),Ce(ot,$e,be,Re,Be),Be.delete($e)),ks(te,pe,ot)}function Yl(te,oe){var pe=te.length;if(!!pe)return oe+=oe<0?pe:0,Ci(oe,pe)?te[oe]:F}function hc(te,oe,pe){oe.length?oe=Rt(oe,function(Re){return jt(Re)?function(Be){return fs(Be,Re.length===1?Re[0]:Re)}:Re}):oe=[un];var be=-1;oe=Rt(oe,gn(Ot()));var Ce=ql(te,function(Re,Be,Ue){var $e=Rt(oe,function(at){return at(Re)});return{criteria:$e,index:++be,value:Re}});return Ml(Ce,function(Re,Be){return vc(Re,Be,pe)})}function fc(te,oe){return dc(te,oe,function(pe,be){return Nu(te,be)})}function dc(te,oe,pe){for(var be=-1,Ce=oe.length,Re={};++be<Ce;){var Be=oe[be],Ue=fs(te,Be);pe(Ue,Be)&&ca(Re,ds(Be,te),Ue)}return Re}function jl(te){return function(oe){return fs(oe,te)}}function qo(te,oe,pe,be){var Ce=be?Oa:wn,Re=-1,Be=oe.length,Ue=te;for(te===oe&&(oe=Ti(oe)),pe&&(Ue=Rt(te,gn(pe)));++Re<Be;)for(var $e=0,at=oe[Re],ot=pe?pe(at):at;($e=Ce(Ue,ot,$e,be))>-1;)Ue!==te&&Xa.call(Ue,$e,1),Xa.call(te,$e,1);return te}function Xo(te,oe){for(var pe=te?oe.length:0,be=pe-1;pe--;){var Ce=oe[pe];if(pe==be||Ce!==Re){var Re=Ce;Ci(Ce)?Xa.call(te,Ce,1):Qo(te,Ce)}}return te}function Ql(te,oe){return te+ra($u()*(oe-te+1))}function Kl(te,oe,pe,be){for(var Ce=-1,Re=ri(Ts((oe-te)/(pe||1)),0),Be=lt(Re);Re--;)Be[be?Re:++Ce]=te,te+=pe;return Be}function Zt(te,oe){var pe="";if(!te||oe<1||oe>Ae)return pe;do oe%2&&(pe+=te),oe=ra(oe/2),oe&&(te+=te);while(oe);return pe}function $t(te,oe){return al(hu(te,oe,un),te+"")}function of(te){return tc(xa(te))}function Za(te,oe){var pe=xa(te);return ho(pe,qi(oe,0,pe.length))}function ca(te,oe,pe,be){if(!Xt(te))return te;oe=ds(oe,te);for(var Ce=-1,Re=oe.length,Be=Re-1,Ue=te;Ue!=null&&++Ce<Re;){var $e=on(oe[Ce]),at=pe;if($e==="__proto__"||$e==="constructor"||$e==="prototype")return te;if(Ce!=Be){var ot=Ue[$e];at=be?be(ot,$e,Ue):F,at===F&&(at=Xt(ot)?ot:Ci(oe[Ce+1])?[]:{})}hs(Ue,$e,at),Ue=Ue[$e]}return te}var mc=Ur?function(te,oe){return Ur.set(te,oe),te}:un,lf=Ro?function(te,oe){return Ro(te,"toString",{configurable:!0,enumerable:!1,value:Du(oe),writable:!0})}:un;function jn(te){return ho(xa(te))}function Qn(te,oe,pe){var be=-1,Ce=te.length;oe<0&&(oe=-oe>Ce?0:Ce+oe),pe=pe>Ce?Ce:pe,pe<0&&(pe+=Ce),Ce=oe>pe?0:pe-oe>>>0,oe>>>=0;for(var Re=lt(Ce);++be<Ce;)Re[be]=te[be+oe];return Re}function Yo(te,oe){var pe;return Kr(te,function(be,Ce,Re){return pe=oe(be,Ce,Re),!pe}),!!pe}function ha(te,oe,pe){var be=0,Ce=te==null?be:te.length;if(typeof oe=="number"&&oe===oe&&Ce<=Ge){for(;be<Ce;){var Re=be+Ce>>>1,Be=te[Re];Be!==null&&!Yi(Be)&&(pe?Be<=oe:Be<oe)?be=Re+1:Ce=Re}return Ce}return jo(te,oe,un,pe)}function jo(te,oe,pe,be){var Ce=0,Re=te==null?0:te.length;if(Re===0)return 0;oe=pe(oe);for(var Be=oe!==oe,Ue=oe===null,$e=Yi(oe),at=oe===F;Ce<Re;){var ot=ra((Ce+Re)/2),mt=pe(te[ot]),St=mt!==F,Et=mt===null,Tt=mt===mt,Ct=Yi(mt);if(Be)var Mt=be||Tt;else at?Mt=Tt&&(be||St):Ue?Mt=Tt&&St&&(be||!Et):$e?Mt=Tt&&St&&!Et&&(be||!Ct):Et||Ct?Mt=!1:Mt=be?mt<=oe:mt<oe;Mt?Ce=ot+1:Re=ot}return rn(Re,Ie)}function Zl(te,oe){for(var pe=-1,be=te.length,Ce=0,Re=[];++pe<be;){var Be=te[pe],Ue=oe?oe(Be):Be;if(!pe||!pr(Ue,$e)){var $e=Ue;Re[Ce++]=Be===0?0:Be}}return Re}function Tn(te){return typeof te=="number"?te:Yi(te)?ke:+te}function Ri(te){if(typeof te=="string")return te;if(jt(te))return Rt(te,Ri)+"";if(Yi(te))return qe?qe.call(te):"";var oe=te+"";return oe=="0"&&1/te==-we?"-0":oe}function Ar(te,oe,pe){var be=-1,Ce=Lt,Re=te.length,Be=!0,Ue=[],$e=Ue;if(pe)Be=!1,Ce=Ft;else if(Re>=G){var at=oe?null:Ec(te);if(at)return Io(at);Be=!1,Ce=Zs,$e=new Ls}else $e=oe?[]:Ue;e:for(;++be<Re;){var ot=te[be],mt=oe?oe(ot):ot;if(ot=pe||ot!==0?ot:0,Be&&mt===mt){for(var St=$e.length;St--;)if($e[St]===mt)continue e;oe&&$e.push(mt),Ue.push(ot)}else Ce($e,mt,pe)||($e!==Ue&&$e.push(mt),Ue.push(ot))}return Ue}function Qo(te,oe){return oe=ds(oe,te),te=kc(te,oe),te==null||delete te[on(Zn(oe))]}function Ja(te,oe,pe,be){return ca(te,oe,pe(fs(te,oe)),be)}function $a(te,oe,pe,be){for(var Ce=te.length,Re=be?Ce:-1;(be?Re--:++Re<Ce)&&oe(te[Re],Re,te););return pe?Qn(te,be?0:Re,be?Re+1:Ce):Qn(te,be?Re+1:0,be?Ce:Re)}function Ko(te,oe){var pe=te;return pe instanceof ti&&(pe=pe.value()),_i(oe,function(be,Ce){return Ce.func.apply(Ce.thisArg,ni([be],Ce.args))},pe)}function Zo(te,oe,pe){var be=te.length;if(be<2)return be?Ar(te[0]):[];for(var Ce=-1,Re=lt(be);++Ce<be;)for(var Be=te[Ce],Ue=-1;++Ue<be;)Ue!=Ce&&(Re[Ce]=Xn(Re[Ce]||Be,te[Ue],oe,pe));return Ar(Gi(Re,1),oe,pe)}function Jo(te,oe,pe){for(var be=-1,Ce=te.length,Re=oe.length,Be={};++be<Ce;){var Ue=be<Re?oe[be]:F;pe(Be,te[be],Ue)}return Be}function eo(te){return Ii(te)?te:[]}function Er(te){return typeof te=="function"?te:un}function ds(te,oe){return jt(te)?te:ou(te,oe)?[te]:hr(pi(te))}var ps=$t;function Zr(te,oe,pe){var be=te.length;return pe=pe===F?be:pe,!oe&&pe>=be?te:Qn(te,oe,pe)}var Jl=Th||function(te){return Pi.clearTimeout(te)};function $o(te,oe){if(oe)return te.slice();var pe=te.length,be=Ha?Ha(pe):new te.constructor(pe);return te.copy(be),be}function $l(te){var oe=new te.constructor(te.byteLength);return new Ua(oe).set(new Ua(te)),oe}function uf(te,oe){var pe=oe?$l(te.buffer):te.buffer;return new te.constructor(pe,te.byteOffset,te.byteLength)}function cf(te){var oe=new te.constructor(te.source,xn.exec(te));return oe.lastIndex=te.lastIndex,oe}function gc(te){return aa?gi(aa.call(te)):{}}function eu(te,oe){var pe=oe?$l(te.buffer):te.buffer;return new te.constructor(pe,te.byteOffset,te.length)}function yc(te,oe){if(te!==oe){var pe=te!==F,be=te===null,Ce=te===te,Re=Yi(te),Be=oe!==F,Ue=oe===null,$e=oe===oe,at=Yi(oe);if(!Ue&&!at&&!Re&&te>oe||Re&&Be&&$e&&!Ue&&!at||be&&Be&&$e||!pe&&$e||!Ce)return 1;if(!be&&!Re&&!at&&te<oe||at&&pe&&Ce&&!be&&!Re||Ue&&pe&&Ce||!Be&&Ce||!$e)return-1}return 0}function vc(te,oe,pe){for(var be=-1,Ce=te.criteria,Re=oe.criteria,Be=Ce.length,Ue=pe.length;++be<Be;){var $e=yc(Ce[be],Re[be]);if($e){if(be>=Ue)return $e;var at=pe[be];return $e*(at=="desc"?-1:1)}}return te.index-oe.index}function tu(te,oe,pe,be){for(var Ce=-1,Re=te.length,Be=pe.length,Ue=-1,$e=oe.length,at=ri(Re-Be,0),ot=lt($e+at),mt=!be;++Ue<$e;)ot[Ue]=oe[Ue];for(;++Ce<Be;)(mt||Ce<Re)&&(ot[pe[Ce]]=te[Ce]);for(;at--;)ot[Ue++]=te[Ce++];return ot}function bn(te,oe,pe,be){for(var Ce=-1,Re=te.length,Be=-1,Ue=pe.length,$e=-1,at=oe.length,ot=ri(Re-Ue,0),mt=lt(ot+at),St=!be;++Ce<ot;)mt[Ce]=te[Ce];for(var Et=Ce;++$e<at;)mt[Et+$e]=oe[$e];for(;++Be<Ue;)(St||Ce<Re)&&(mt[Et+pe[Be]]=te[Ce++]);return mt}function Ti(te,oe){var pe=-1,be=te.length;for(oe||(oe=lt(be));++pe<be;)oe[pe]=te[pe];return oe}function wr(te,oe,pe,be){var Ce=!pe;pe||(pe={});for(var Re=-1,Be=oe.length;++Re<Be;){var Ue=oe[Re],$e=be?be(pe[Ue],te[Ue],Ue,pe,te):F;$e===F&&($e=te[Ue]),Ce?lr(pe,Ue,$e):hs(pe,Ue,$e)}return pe}function hf(te,oe){return wr(te,rl(te),oe)}function tl(te,oe){return wr(te,Zi(te),oe)}function Jr(te,oe){return function(pe,be){var Ce=jt(pe)?He:ic,Re=oe?oe():{};return Ce(pe,te,Ot(be,2),Re)}}function Rs(te){return $t(function(oe,pe){var be=-1,Ce=pe.length,Re=Ce>1?pe[Ce-1]:F,Be=Ce>2?pe[2]:F;for(Re=te.length>3&&typeof Re=="function"?(Ce--,Re):F,Be&&Ji(pe[0],pe[1],Be)&&(Re=Ce<3?F:Re,Ce=1),oe=gi(oe);++be<Ce;){var Ue=pe[be];Ue&&te(oe,Ue,be,Re)}return oe})}function iu(te,oe){return function(pe,be){if(pe==null)return pe;if(!si(pe))return te(pe,be);for(var Ce=pe.length,Re=oe?Ce:-1,Be=gi(pe);(oe?Re--:++Re<Ce)&&be(Be[Re],Re,Be)!==!1;);return pe}}function bc(te){return function(oe,pe,be){for(var Ce=-1,Re=gi(oe),Be=be(oe),Ue=Be.length;Ue--;){var $e=Be[te?Ue:++Ce];if(pe(Re[$e],$e,Re)===!1)break}return oe}}function Sc(te,oe,pe){var be=oe&re,Ce=to(te);function Re(){var Be=this&&this!==Pi&&this instanceof Re?Ce:te;return Be.apply(be?pe:this,arguments)}return Re}function Fs(te){return function(oe){oe=pi(oe);var pe=$s(oe)?Hn(oe):F,be=pe?pe[0]:oe.charAt(0),Ce=pe?Zr(pe,1).join(""):oe.slice(1);return be[te]()+Ce}}function Pr(te){return function(oe){return _i(Fu(uh(oe).replace(vr,"")),te,"")}}function to(te){return function(){var oe=arguments;switch(oe.length){case 0:return new te;case 1:return new te(oe[0]);case 2:return new te(oe[0],oe[1]);case 3:return new te(oe[0],oe[1],oe[2]);case 4:return new te(oe[0],oe[1],oe[2],oe[3]);case 5:return new te(oe[0],oe[1],oe[2],oe[3],oe[4]);case 6:return new te(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5]);case 7:return new te(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5],oe[6])}var pe=Hr(te.prototype),be=te.apply(pe,oe);return Xt(be)?be:pe}}function xc(te,oe,pe){var be=to(te);function Ce(){for(var Re=arguments.length,Be=lt(Re),Ue=Re,$e=Dt(Ce);Ue--;)Be[Ue]=arguments[Ue];var at=Re<3&&Be[0]!==$e&&Be[Re-1]!==$e?[]:ir(Be,$e);if(Re-=at.length,Re<pe)return nl(te,oe,no,Ce.placeholder,F,Be,at,F,F,pe-Re);var ot=this&&this!==Pi&&this instanceof Ce?be:te;return pn(ot,this,Be)}return Ce}function nu(te){return function(oe,pe,be){var Ce=gi(oe);if(!si(oe)){var Re=Ot(pe,3);oe=ci(oe),pe=function(Ue){return Re(Ce[Ue],Ue,Ce)}}var Be=te(oe,pe,be);return Be>-1?Ce[Re?oe[Be]:Be]:F}}function io(te){return cr(function(oe){var pe=oe.length,be=pe,Ce=Ht.prototype.thru;for(te&&oe.reverse();be--;){var Re=oe[be];if(typeof Re!="function")throw new yn(W);if(Ce&&!Be&&es(Re)=="wrapper")var Be=new Ht([],!0)}for(be=Be?be:pe;++be<pe;){Re=oe[be];var Ue=es(Re),$e=Ue=="wrapper"?pa(Re):F;$e&&uu($e[0])&&$e[1]==(fe|ce|de|ge)&&!$e[4].length&&$e[9]==1?Be=Be[es($e[0])].apply(Be,$e[3]):Be=Re.length==1&&uu(Re)?Be[Ue]():Be.thru(Re)}return function(){var at=arguments,ot=at[0];if(Be&&at.length==1&&jt(ot))return Be.plant(ot).value();for(var mt=0,St=pe?oe[mt].apply(this,at):ot;++mt<pe;)St=oe[mt].call(this,St);return St}})}function no(te,oe,pe,be,Ce,Re,Be,Ue,$e,at){var ot=oe&fe,mt=oe&re,St=oe&ae,Et=oe&(ce|he),Tt=oe&Se,Ct=St?F:to(te);function Mt(){for(var Nt=arguments.length,Wt=lt(Nt),Si=Nt;Si--;)Wt[Si]=arguments[Si];if(Et)var xi=Dt(Mt),ai=dh(Wt,xi);if(be&&(Wt=tu(Wt,be,Ce,Et)),Re&&(Wt=bn(Wt,Re,Be,Et)),Nt-=ai,Et&&Nt<at){var hi=ir(Wt,xi);return nl(te,oe,no,Mt.placeholder,pe,Wt,hi,Ue,$e,at-Nt)}var zi=mt?pe:this,Ir=St?zi[te]:te;return Nt=Wt.length,Ue?Wt=fu(Wt,Ue):Tt&&Nt>1&&Wt.reverse(),ot&&$e<Nt&&(Wt.length=$e),this&&this!==Pi&&this instanceof Mt&&(Ir=Ct||to(Ir)),Ir.apply(zi,Wt)}return Mt}function ro(te,oe){return function(pe,be){return Ya(pe,te,oe(be),{})}}function fa(te,oe){return function(pe,be){var Ce;if(pe===F&&be===F)return oe;if(pe!==F&&(Ce=pe),be!==F){if(Ce===F)return be;typeof pe=="string"||typeof be=="string"?(pe=Ri(pe),be=Ri(be)):(pe=Tn(pe),be=Tn(be)),Ce=te(pe,be)}return Ce}}function da(te){return cr(function(oe){return oe=Rt(oe,gn(Ot())),$t(function(pe){var be=this;return te(oe,function(Ce){return pn(Ce,be,pe)})})})}function il(te,oe){oe=oe===F?" ":Ri(oe);var pe=oe.length;if(pe<2)return pe?Zt(oe,te):oe;var be=Zt(oe,Ts(te/nn(oe)));return $s(oe)?Zr(Hn(be),0,te).join(""):be.slice(0,te)}function Ac(te,oe,pe,be){var Ce=oe&re,Re=to(te);function Be(){for(var Ue=-1,$e=arguments.length,at=-1,ot=be.length,mt=lt(ot+$e),St=this&&this!==Pi&&this instanceof Be?Re:te;++at<ot;)mt[at]=be[at];for(;$e--;)mt[at++]=arguments[++Ue];return pn(St,Ce?pe:this,mt)}return Be}function so(te){return function(oe,pe,be){return be&&typeof be!="number"&&Ji(oe,pe,be)&&(pe=be=F),oe=Ut(oe),pe===F?(pe=oe,oe=0):pe=Ut(pe),be=be===F?oe<pe?1:-1:Ut(be),Kl(oe,pe,be,te)}}function ao(te){return function(oe,pe){return typeof oe=="string"&&typeof pe=="string"||(oe=Dn(oe),pe=Dn(pe)),te(oe,pe)}}function nl(te,oe,pe,be,Ce,Re,Be,Ue,$e,at){var ot=oe&ce,mt=ot?Be:F,St=ot?F:Be,Et=ot?Re:F,Tt=ot?F:Re;oe|=ot?de:me,oe&=~(ot?me:de),oe&le||(oe&=~(re|ae));var Ct=[te,oe,Ce,Et,mt,Tt,St,Ue,$e,at],Mt=pe.apply(F,Ct);return uu(te)&&ya(Mt,Ct),Mt.placeholder=be,du(Mt,te,oe)}function ru(te){var oe=qt[te];return function(pe,be){if(pe=Dn(pe),be=be==null?0:rn(Kt(be),292),be&&Zu(pe)){var Ce=(pi(pe)+"e").split("e"),Re=oe(Ce[0]+"e"+(+Ce[1]+be));return Ce=(pi(Re)+"e").split("e"),+(Ce[0]+"e"+(+Ce[1]-be))}return oe(pe)}}var Ec=Sr&&1/Io(new Sr([,-0]))[1]==we?function(te){return new Sr(te)}:Uu;function Tr(te){return function(oe){var pe=an(oe);return pe==_e?_o(oe):pe==nt?vh(oe):Xu(oe,te(oe))}}function Cr(te,oe,pe,be,Ce,Re,Be,Ue){var $e=oe&ae;if(!$e&&typeof te!="function")throw new yn(W);var at=be?be.length:0;if(at||(oe&=~(de|me),be=Ce=F),Be=Be===F?Be:ri(Kt(Be),0),Ue=Ue===F?Ue:Kt(Ue),at-=Ce?Ce.length:0,oe&me){var ot=be,mt=Ce;be=Ce=F}var St=$e?F:pa(te),Et=[te,oe,pe,be,Ce,ot,mt,Re,Be,Ue];if(St&&vf(Et,St),te=Et[0],oe=Et[1],pe=Et[2],be=Et[3],Ce=Et[4],Ue=Et[9]=Et[9]===F?$e?0:te.length:ri(Et[9]-at,0),!Ue&&oe&(ce|he)&&(oe&=~(ce|he)),!oe||oe==re)var Tt=Sc(te,oe,pe);else oe==ce||oe==he?Tt=xc(te,oe,Ue):(oe==de||oe==(re|de))&&!Ce.length?Tt=Ac(te,oe,pe,be):Tt=no.apply(F,Et);var Ct=St?mc:ya;return du(Ct(Tt,Et),te,oe)}function su(te,oe,pe,be){return te===F||pr(te,Gr[pe])&&!yi.call(be,pe)?oe:te}function wc(te,oe,pe,be,Ce,Re){return Xt(te)&&Xt(oe)&&(Re.set(oe,te),Wo(te,oe,F,wc,Re),Re.delete(oe)),te}function Pc(te){return zs(te)?F:te}function Tc(te,oe,pe,be,Ce,Re){var Be=pe&ne,Ue=te.length,$e=oe.length;if(Ue!=$e&&!(Be&&$e>Ue))return!1;var at=Re.get(te),ot=Re.get(oe);if(at&&ot)return at==oe&&ot==te;var mt=-1,St=!0,Et=pe&se?new Ls:F;for(Re.set(te,oe),Re.set(oe,te);++mt<Ue;){var Tt=te[mt],Ct=oe[mt];if(be)var Mt=Be?be(Ct,Tt,mt,oe,te,Re):be(Tt,Ct,mt,te,oe,Re);if(Mt!==F){if(Mt)continue;St=!1;break}if(Et){if(!Wi(oe,function(Nt,Wt){if(!Zs(Et,Wt)&&(Tt===Nt||Ce(Tt,Nt,pe,be,Re)))return Et.push(Wt)})){St=!1;break}}else if(!(Tt===Ct||Ce(Tt,Ct,pe,be,Re))){St=!1;break}}return Re.delete(te),Re.delete(oe),St}function ff(te,oe,pe,be,Ce,Re,Be){switch(pe){case gt:if(te.byteLength!=oe.byteLength||te.byteOffset!=oe.byteOffset)return!1;te=te.buffer,oe=oe.buffer;case xt:return!(te.byteLength!=oe.byteLength||!Re(new Ua(te),new Ua(oe)));case Je:case st:case je:return pr(+te,+oe);case dt:return te.name==oe.name&&te.message==oe.message;case tt:case Ke:return te==oe+"";case _e:var Ue=_o;case nt:var $e=be≠if(Ue||(Ue=Io),te.size!=oe.size&&!$e)return!1;var at=Be.get(te);if(at)return at==oe;be|=se,Be.set(te,oe);var ot=Tc(Ue(te),Ue(oe),be,Ce,Re,Be);return Be.delete(te),ot;case ct:if(aa)return aa.call(te)==aa.call(oe)}return!1}function $r(te,oe,pe,be,Ce,Re){var Be=pe&ne,Ue=oo(te),$e=Ue.length,at=oo(oe),ot=at.length;if($e!=ot&&!Be)return!1;for(var mt=$e;mt--;){var St=Ue[mt];if(!(Be?St in oe:yi.call(oe,St)))return!1}var Et=Re.get(te),Tt=Re.get(oe);if(Et&&Tt)return Et==oe&&Tt==te;var Ct=!0;Re.set(te,oe),Re.set(oe,te);for(var Mt=Be;++mt<$e;){St=Ue[mt];var Nt=te[St],Wt=oe[St];if(be)var Si=Be?be(Wt,Nt,St,oe,te,Re):be(Nt,Wt,St,te,oe,Re);if(!(Si===F?Nt===Wt||Ce(Nt,Wt,pe,be,Re):Si)){Ct=!1;break}Mt||(Mt=St=="constructor")}if(Ct&&!Mt){var xi=te.constructor,ai=oe.constructor;xi!=ai&&"constructor"in te&&"constructor"in oe&&!(typeof xi=="function"&&xi instanceof xi&&typeof ai=="function"&&ai instanceof ai)&&(Ct=!1)}return Re.delete(te),Re.delete(oe),Ct}function cr(te){return al(hu(te,F,Dc),te+"")}function oo(te){return sn(te,ci,rl)}function lo(te){return sn(te,Mn,Zi)}var pa=Ur?function(te){return Ur.get(te)}:Uu;function es(te){for(var oe=te.name+"",pe=sa[oe],be=yi.call(sa,oe)?pe.length:0;be--;){var Ce=pe[be],Re=Ce.func;if(Re==null||Re==te)return Ce.name}return oe}function Dt(te){var oe=yi.call(We,"placeholder")?We:te;return oe.placeholder}function Ot(){var te=We.iteratee||Ou;return te=te===Ou?Uo:te,arguments.length?te(arguments[0],arguments[1]):te}function ma(te,oe){var pe=te.__data__;return lu(oe)?pe[typeof oe=="string"?"string":"hash"]:pe.map}function ts(te){for(var oe=ci(te),pe=oe.length;pe--;){var be=oe[pe],Ce=te[be];oe[pe]=[be,Ce,cu(Ce)]}return oe}function Bs(te,oe){var pe=Js(te,oe);return lc(pe)?pe:F}function au(te){var oe=yi.call(te,br),pe=te[br];try{te[br]=F;var be=!0}catch{}var Ce=Lo.call(te);return be&&(oe?te[br]=pe:delete te[br]),Ce}var rl=Rl?function(te){return te==null?[]:(te=gi(te),Bt(Rl(te),function(oe){return qa.call(te,oe)}))}:go,Zi=Rl?function(te){for(var oe=[];te;)ni(oe,rl(te)),te=Wa(te);return oe}:go,an=Ki;(Cs&&an(new Cs(new ArrayBuffer(1)))!=gt||Ms&&an(new Ms)!=_e||ls&&an(ls.resolve())!=Oe||Sr&&an(new Sr)!=nt||zr&&an(new zr)!=ht)&&(an=function(te){var oe=Ki(te),pe=oe==De?te.constructor:F,be=pe?Os(pe):"";if(be)switch(be){case Ih:return gt;case Nh:return _e;case Lh:return Oe;case kh:return nt;case Bo:return ht}return oe});function df(te,oe,pe){for(var be=-1,Ce=pe.length;++be<Ce;){var Re=pe[be],Be=Re.size;switch(Re.type){case"drop":te+=Be;break;case"dropRight":oe-=Be;break;case"take":oe=rn(oe,te+Be);break;case"takeRight":te=ri(te,oe-Be);break}}return{start:te,end:oe}}function Cc(te){var oe=te.match(Nn);return oe?oe[1].split(hn):[]}function Mc(te,oe,pe){oe=ds(oe,te);for(var be=-1,Ce=oe.length,Re=!1;++be<Ce;){var Be=on(oe[be]);if(!(Re=te!=null&&pe(te,Be)))break;te=te[Be]}return Re||++be!=Ce?Re:(Ce=te==null?0:te.length,!!Ce&&wi(Ce)&&Ci(Be,Ce)&&(jt(te)||zt(te)))}function _c(te){var oe=te.length,pe=new te.constructor(oe);return oe&&typeof te[0]=="string"&&yi.call(te,"index")&&(pe.index=te.index,pe.input=te.input),pe}function Ic(te){return typeof te.constructor=="function"&&!ga(te)?Hr(Wa(te)):{}}function pf(te,oe,pe){var be=te.constructor;switch(oe){case xt:return $l(te);case Je:case st:return new be(+te);case gt:return uf(te,pe);case Pt:case kt:case Yt:case fi:case Jt:case ii:case ui:case Qt:case Ai:return eu(te,pe);case _e:return new be;case je:case Ke:return new be(te);case tt:return cf(te);case nt:return new be;case ct:return gc(te)}}function mf(te,oe){var pe=oe.length;if(!pe)return te;var be=pe-1;return oe[be]=(pe>1?"& ":"")+oe[be],oe=oe.join(pe>2?", ":" "),te.replace(er,`{
- /* [wrapped with `+oe+`] */
- `)}function is(te){return jt(te)||zt(te)||!!(na&&te&&te[na])}function Ci(te,oe){var pe=typeof te;return oe=oe==null?Ae:oe,!!oe&&(pe=="number"||pe!="symbol"&&Fi.test(te))&&te>-1&&te%1==0&&te<oe}function Ji(te,oe,pe){if(!Xt(pe))return!1;var be=typeof oe;return(be=="number"?si(pe)&&Ci(oe,pe.length):be=="string"&&oe in pe)?pr(pe[oe],te):!1}function ou(te,oe){if(jt(te))return!1;var pe=typeof te;return pe=="number"||pe=="symbol"||pe=="boolean"||te==null||Yi(te)?!0:Vn.test(te)||!Lr.test(te)||oe!=null&&te in gi(oe)}function lu(te){var oe=typeof te;return oe=="string"||oe=="number"||oe=="symbol"||oe=="boolean"?te!=="__proto__":te===null}function uu(te){var oe=es(te),pe=We[oe];if(typeof pe!="function"||!(oe in ti.prototype))return!1;if(te===pe)return!0;var be=pa(pe);return!!be&&te===be[0]}function gf(te){return!!za&&za in te}var uo=Ps?Mr:Wu;function ga(te){var oe=te&&te.constructor,pe=typeof oe=="function"&&oe.prototype||Gr;return te===pe}function cu(te){return te===te&&!Xt(te)}function Nc(te,oe){return function(pe){return pe==null?!1:pe[te]===oe&&(oe!==F||te in gi(pe))}}function yf(te){var oe=Vs(te,function(be){return pe.size===Q&&pe.clear(),be}),pe=oe.cache;return oe}function vf(te,oe){var pe=te[1],be=oe[1],Ce=pe|be,Re=Ce<(re|ae|fe),Be=be==fe&&pe==ce||be==fe&&pe==ge&&te[7].length<=oe[8]||be==(fe|ge)&&oe[7].length<=oe[8]&&pe==ce;if(!(Re||Be))return te;be&re&&(te[2]=oe[2],Ce|=pe&re?0:le);var Ue=oe[3];if(Ue){var $e=te[3];te[3]=$e?tu($e,Ue,oe[4]):Ue,te[4]=$e?ir(te[3],Z):oe[4]}return Ue=oe[5],Ue&&($e=te[5],te[5]=$e?bn($e,Ue,oe[6]):Ue,te[6]=$e?ir(te[5],Z):oe[6]),Ue=oe[7],Ue&&(te[7]=Ue),be&fe&&(te[8]=te[8]==null?oe[8]:rn(te[8],oe[8])),te[9]==null&&(te[9]=oe[9]),te[0]=oe[0],te[1]=Ce,te}function bf(te){var oe=[];if(te!=null)for(var pe in gi(te))oe.push(pe);return oe}function Lc(te){return Lo.call(te)}function hu(te,oe,pe){return oe=ri(oe===F?te.length-1:oe,0),function(){for(var be=arguments,Ce=-1,Re=ri(be.length-oe,0),Be=lt(Re);++Ce<Re;)Be[Ce]=be[oe+Ce];Ce=-1;for(var Ue=lt(oe+1);++Ce<oe;)Ue[Ce]=be[Ce];return Ue[oe]=pe(Be),pn(te,this,Ue)}}function kc(te,oe){return oe.length<2?te:fs(te,Qn(oe,0,-1))}function fu(te,oe){for(var pe=te.length,be=rn(oe.length,pe),Ce=Ti(te);be--;){var Re=oe[be];te[be]=Ci(Re,pe)?Ce[Re]:F}return te}function sl(te,oe){if(!(oe==="constructor"&&typeof te[oe]=="function")&&oe!="__proto__")return te[oe]}var ya=co(mc),Ds=Fo||function(te,oe){return Pi.setTimeout(te,oe)},al=co(lf);function du(te,oe,pe){var be=oe+"";return al(te,mf(be,Rc(Cc(be),pe)))}function co(te){var oe=0,pe=0;return function(){var be=_h(),Ce=Pe-(be-pe);if(pe=be,Ce>0){if(++oe>=xe)return arguments[0]}else oe=0;return te.apply(F,arguments)}}function ho(te,oe){var pe=-1,be=te.length,Ce=be-1;for(oe=oe===F?be:oe;++pe<oe;){var Re=Ql(pe,Ce),Be=te[Re];te[Re]=te[pe],te[pe]=Be}return te.length=oe,te}var hr=yf(function(te){var oe=[];return te.charCodeAt(0)===46&&oe.push(""),te.replace(kr,function(pe,be,Ce,Re){oe.push(Ce?Re.replace(Us,"$1"):be||pe)}),oe});function on(te){if(typeof te=="string"||Yi(te))return te;var oe=te+"";return oe=="0"&&1/te==-we?"-0":oe}function Os(te){if(te!=null){try{return li.call(te)}catch{}try{return te+""}catch{}}return""}function Rc(te,oe){return rt(ze,function(pe){var be="_."+pe[0];oe&pe[1]&&!Lt(te,be)&&te.push(be)}),te.sort()}function Fc(te){if(te instanceof ti)return te.clone();var oe=new Ht(te.__wrapped__,te.__chain__);return oe.__actions__=Ti(te.__actions__),oe.__index__=te.__index__,oe.__values__=te.__values__,oe}function Sf(te,oe,pe){(pe?Ji(te,oe,pe):oe===F)?oe=1:oe=ri(Kt(oe),0);var be=te==null?0:te.length;if(!be||oe<1)return[];for(var Ce=0,Re=0,Be=lt(Ts(be/oe));Ce<be;)Be[Re++]=Qn(te,Ce,Ce+=oe);return Be}function xf(te){for(var oe=-1,pe=te==null?0:te.length,be=0,Ce=[];++oe<pe;){var Re=te[oe];Re&&(Ce[be++]=Re)}return Ce}function Af(){var te=arguments.length;if(!te)return[];for(var oe=lt(te-1),pe=arguments[0],be=te;be--;)oe[be-1]=arguments[be];return ni(jt(pe)?Ti(pe):[pe],Gi(oe,1))}var Ef=$t(function(te,oe){return Ii(te)?Xn(te,Gi(oe,1,Ii,!0)):[]}),wf=$t(function(te,oe){var pe=Zn(oe);return Ii(pe)&&(pe=F),Ii(te)?Xn(te,Gi(oe,1,Ii,!0),Ot(pe,2)):[]}),Pf=$t(function(te,oe){var pe=Zn(oe);return Ii(pe)&&(pe=F),Ii(te)?Xn(te,Gi(oe,1,Ii,!0),F,pe):[]});function Tf(te,oe,pe){var be=te==null?0:te.length;return be?(oe=pe||oe===F?1:Kt(oe),Qn(te,oe<0?0:oe,be)):[]}function Cf(te,oe,pe){var be=te==null?0:te.length;return be?(oe=pe||oe===F?1:Kt(oe),oe=be-oe,Qn(te,0,oe<0?0:oe)):[]}function Mf(te,oe){return te&&te.length?$a(te,Ot(oe,3),!0,!0):[]}function _f(te,oe){return te&&te.length?$a(te,Ot(oe,3),!0):[]}function Bc(te,oe,pe,be){var Ce=te==null?0:te.length;return Ce?(pe&&typeof pe!="number"&&Ji(te,oe,pe)&&(pe=0,be=Ce),ac(te,oe,pe,be)):[]}function pu(te,oe,pe){var be=te==null?0:te.length;if(!be)return-1;var Ce=pe==null?0:Kt(pe);return Ce<0&&(Ce=ri(be+Ce,0)),Oi(te,Ot(oe,3),Ce)}function mu(te,oe,pe){var be=te==null?0:te.length;if(!be)return-1;var Ce=be-1;return pe!==F&&(Ce=Kt(pe),Ce=pe<0?ri(be+Ce,0):rn(Ce,be-1)),Oi(te,Ot(oe,3),Ce,!0)}function Dc(te){var oe=te==null?0:te.length;return oe?Gi(te,1):[]}function If(te){var oe=te==null?0:te.length;return oe?Gi(te,we):[]}function Nf(te,oe){var pe=te==null?0:te.length;return pe?(oe=oe===F?1:Kt(oe),Gi(te,oe)):[]}function Oc(te){for(var oe=-1,pe=te==null?0:te.length,be={};++oe<pe;){var Ce=te[oe];be[Ce[0]]=Ce[1]}return be}function Vc(te){return te&&te.length?te[0]:F}function Lf(te,oe,pe){var be=te==null?0:te.length;if(!be)return-1;var Ce=pe==null?0:Kt(pe);return Ce<0&&(Ce=ri(be+Ce,0)),wn(te,oe,Ce)}function kf(te){var oe=te==null?0:te.length;return oe?Qn(te,0,-1):[]}var Rf=$t(function(te){var oe=Rt(te,eo);return oe.length&&oe[0]===te[0]?zl(oe):[]}),Ff=$t(function(te){var oe=Zn(te),pe=Rt(te,eo);return oe===Zn(pe)?oe=F:pe.pop(),pe.length&&pe[0]===te[0]?zl(pe,Ot(oe,2)):[]}),Bf=$t(function(te){var oe=Zn(te),pe=Rt(te,eo);return oe=typeof oe=="function"?oe:F,oe&&pe.pop(),pe.length&&pe[0]===te[0]?zl(pe,F,oe):[]});function Kn(te,oe){return te==null?"":Mh.call(te,oe)}function Zn(te){var oe=te==null?0:te.length;return oe?te[oe-1]:F}function Df(te,oe,pe){var be=te==null?0:te.length;if(!be)return-1;var Ce=be;return pe!==F&&(Ce=Kt(pe),Ce=Ce<0?ri(be+Ce,0):rn(Ce,be-1)),oe===oe?ea(te,oe,Ce):Oi(te,os,Ce,!0)}function Of(te,oe){return te&&te.length?Yl(te,Kt(oe)):F}var Gc=$t(zc);function zc(te,oe){return te&&te.length&&oe&&oe.length?qo(te,oe):te}function Vf(te,oe,pe){return te&&te.length&&oe&&oe.length?qo(te,oe,Ot(pe,2)):te}function Gf(te,oe,pe){return te&&te.length&&oe&&oe.length?qo(te,oe,F,pe):te}var zf=cr(function(te,oe){var pe=te==null?0:te.length,be=Qr(te,oe);return Xo(te,Rt(oe,function(Ce){return Ci(Ce,pe)?+Ce:Ce}).sort(yc)),be});function gu(te,oe){var pe=[];if(!(te&&te.length))return pe;var be=-1,Ce=[],Re=te.length;for(oe=Ot(oe,3);++be<Re;){var Be=te[be];oe(Be,be,te)&&(pe.push(Be),Ce.push(be))}return Xo(te,Ce),pe}function yu(te){return te==null?te:Fl.call(te)}function Uf(te,oe,pe){var be=te==null?0:te.length;return be?(pe&&typeof pe!="number"&&Ji(te,oe,pe)?(oe=0,pe=be):(oe=oe==null?0:Kt(oe),pe=pe===F?be:Kt(pe)),Qn(te,oe,pe)):[]}function Hf(te,oe){return ha(te,oe)}function Wf(te,oe,pe){return jo(te,oe,Ot(pe,2))}function qf(te,oe){var pe=te==null?0:te.length;if(pe){var be=ha(te,oe);if(be<pe&&pr(te[be],oe))return be}return-1}function Xf(te,oe){return ha(te,oe,!0)}function Yf(te,oe,pe){return jo(te,oe,Ot(pe,2),!0)}function jf(te,oe){var pe=te==null?0:te.length;if(pe){var be=ha(te,oe,!0)-1;if(pr(te[be],oe))return be}return-1}function Qf(te){return te&&te.length?Zl(te):[]}function Kf(te,oe){return te&&te.length?Zl(te,Ot(oe,2)):[]}function Zf(te){var oe=te==null?0:te.length;return oe?Qn(te,1,oe):[]}function Jf(te,oe,pe){return te&&te.length?(oe=pe||oe===F?1:Kt(oe),Qn(te,0,oe<0?0:oe)):[]}function $f(te,oe,pe){var be=te==null?0:te.length;return be?(oe=pe||oe===F?1:Kt(oe),oe=be-oe,Qn(te,oe<0?0:oe,be)):[]}function ed(te,oe){return te&&te.length?$a(te,Ot(oe,3),!1,!0):[]}function td(te,oe){return te&&te.length?$a(te,Ot(oe,3)):[]}var nd=$t(function(te){return Ar(Gi(te,1,Ii,!0))}),rd=$t(function(te){var oe=Zn(te);return Ii(oe)&&(oe=F),Ar(Gi(te,1,Ii,!0),Ot(oe,2))}),sd=$t(function(te){var oe=Zn(te);return oe=typeof oe=="function"?oe:F,Ar(Gi(te,1,Ii,!0),F,oe)});function ad(te){return te&&te.length?Ar(te):[]}function od(te,oe){return te&&te.length?Ar(te,Ot(oe,2)):[]}function vu(te,oe){return oe=typeof oe=="function"?oe:F,te&&te.length?Ar(te,F,oe):[]}function ol(te){if(!(te&&te.length))return[];var oe=0;return te=Bt(te,function(pe){if(Ii(pe))return oe=ri(pe.length,oe),!0}),_l(oe,function(pe){return Rt(te,Va(pe))})}function Uc(te,oe){if(!(te&&te.length))return[];var pe=ol(te);return oe==null?pe:Rt(pe,function(be){return pn(oe,F,be)})}var ld=$t(function(te,oe){return Ii(te)?Xn(te,oe):[]}),ud=$t(function(te){return Zo(Bt(te,Ii))}),cd=$t(function(te){var oe=Zn(te);return Ii(oe)&&(oe=F),Zo(Bt(te,Ii),Ot(oe,2))}),hd=$t(function(te){var oe=Zn(te);return oe=typeof oe=="function"?oe:F,Zo(Bt(te,Ii),F,oe)}),fd=$t(ol);function dd(te,oe){return Jo(te||[],oe||[],hs)}function pd(te,oe){return Jo(te||[],oe||[],ca)}var Hc=$t(function(te){var oe=te.length,pe=oe>1?te[oe-1]:F;return pe=typeof pe=="function"?(te.pop(),pe):F,Uc(te,pe)});function Wc(te){var oe=We(te);return oe.__chain__=!0,oe}function ll(te,oe){return oe(te),te}function ul(te,oe){return oe(te)}var md=cr(function(te){var oe=te.length,pe=oe?te[0]:0,be=this.__wrapped__,Ce=function(Re){return Qr(Re,te)};return oe>1||this.__actions__.length||!(be instanceof ti)||!Ci(pe)?this.thru(Ce):(be=be.slice(pe,+pe+(oe?1:0)),be.__actions__.push({func:ul,args:[Ce],thisArg:F}),new Ht(be,this.__chain__).thru(function(Re){return oe&&!Re.length&&Re.push(F),Re}))});function gd(){return Wc(this)}function yd(){return new Ht(this.value(),this.__chain__)}function vd(){this.__values__===F&&(this.__values__=_r(this.value()));var te=this.__index__>=this.__values__.length,oe=te?F:this.__values__[this.__index__++];return{done:te,value:oe}}function bd(){return this}function Sd(te){for(var oe,pe=this;pe instanceof vn;){var be=Fc(pe);be.__index__=0,be.__values__=F,oe?Ce.__wrapped__=be:oe=be;var Ce=be;pe=pe.__wrapped__}return Ce.__wrapped__=te,oe}function xd(){var te=this.__wrapped__;if(te instanceof ti){var oe=te;return this.__actions__.length&&(oe=new ti(this)),oe=oe.reverse(),oe.__actions__.push({func:ul,args:[yu],thisArg:F}),new Ht(oe,this.__chain__)}return this.thru(yu)}function Ad(){return Ko(this.__wrapped__,this.__actions__)}var Ed=Jr(function(te,oe,pe){yi.call(te,pe)?++te[pe]:lr(te,pe,1)});function wd(te,oe,pe){var be=jt(te)?wt:Oo;return pe&&Ji(te,oe,pe)&&(oe=F),be(te,Ot(oe,3))}function Pd(te,oe){var pe=jt(te)?Bt:Xi;return pe(te,Ot(oe,3))}var Td=nu(pu),Cd=nu(mu);function Md(te,oe){return Gi(hl(te,oe),1)}function _d(te,oe){return Gi(hl(te,oe),we)}function qc(te,oe,pe){return pe=pe===F?1:Kt(pe),Gi(hl(te,oe),pe)}function bu(te,oe){var pe=jt(te)?rt:Kr;return pe(te,Ot(oe,3))}function Xc(te,oe){var pe=jt(te)?bt:sc;return pe(te,Ot(oe,3))}var Id=Jr(function(te,oe,pe){yi.call(te,pe)?te[pe].push(oe):lr(te,pe,[oe])});function Nd(te,oe,pe,be){te=si(te)?te:xa(te),pe=pe&&!be?Kt(pe):0;var Ce=te.length;return pe<0&&(pe=ri(Ce+pe,0)),ln(te)?pe<=Ce&&te.indexOf(oe,pe)>-1:!!Ce&&wn(te,oe,pe)>-1}var Ld=$t(function(te,oe,pe){var be=-1,Ce=typeof oe=="function",Re=si(te)?lt(te.length):[];return Kr(te,function(Be){Re[++be]=Ce?pn(oe,Be,pe):ua(Be,oe,pe)}),Re}),cl=Jr(function(te,oe,pe){lr(te,pe,oe)});function hl(te,oe){var pe=jt(te)?Rt:ql;return pe(te,Ot(oe,3))}function kd(te,oe,pe,be){return te==null?[]:(jt(oe)||(oe=oe==null?[]:[oe]),pe=be?F:pe,jt(pe)||(pe=pe==null?[]:[pe]),hc(te,oe,pe))}var Rd=Jr(function(te,oe,pe){te[pe?0:1].push(oe)},function(){return[[],[]]});function Fd(te,oe,pe){var be=jt(te)?_i:qu,Ce=arguments.length<3;return be(te,Ot(oe,4),pe,Ce,Kr)}function Bd(te,oe,pe){var be=jt(te)?Di:qu,Ce=arguments.length<3;return be(te,Ot(oe,4),pe,Ce,sc)}function Dd(te,oe){var pe=jt(te)?Bt:Xi;return pe(te,yl(Ot(oe,3)))}function Od(te){var oe=jt(te)?tc:of;return oe(te)}function Vd(te,oe,pe){(pe?Ji(te,oe,pe):oe===F)?oe=1:oe=Kt(oe);var be=jt(te)?$h:Za;return be(te,oe)}function Gd(te){var oe=jt(te)?Dl:jn;return oe(te)}function zd(te){if(te==null)return 0;if(si(te))return ln(te)?nn(te):te.length;var oe=an(te);return oe==_e||oe==nt?te.size:Hl(te).length}function Ud(te,oe,pe){var be=jt(te)?Wi:Yo;return pe&&Ji(te,oe,pe)&&(oe=F),be(te,Ot(oe,3))}var fl=$t(function(te,oe){if(te==null)return[];var pe=oe.length;return pe>1&&Ji(te,oe[0],oe[1])?oe=[]:pe>2&&Ji(oe[0],oe[1],oe[2])&&(oe=[oe[0]]),hc(te,Gi(oe,1),[])}),dl=Ch||function(){return Pi.Date.now()};function Yc(te,oe){if(typeof oe!="function")throw new yn(W);return te=Kt(te),function(){if(--te<1)return oe.apply(this,arguments)}}function Su(te,oe,pe){return oe=pe?F:oe,oe=te&&oe==null?te.length:oe,Cr(te,fe,F,F,F,F,oe)}function pl(te,oe){var pe;if(typeof oe!="function")throw new yn(W);return te=Kt(te),function(){return--te>0&&(pe=oe.apply(this,arguments)),te<=1&&(oe=F),pe}}var ml=$t(function(te,oe,pe){var be=re;if(pe.length){var Ce=ir(pe,Dt(ml));be|=de}return Cr(te,be,oe,pe,Ce)}),xu=$t(function(te,oe,pe){var be=re|ae;if(pe.length){var Ce=ir(pe,Dt(xu));be|=de}return Cr(oe,be,te,pe,Ce)});function Au(te,oe,pe){oe=pe?F:oe;var be=Cr(te,ce,F,F,F,F,F,oe);return be.placeholder=Au.placeholder,be}function Eu(te,oe,pe){oe=pe?F:oe;var be=Cr(te,he,F,F,F,F,F,oe);return be.placeholder=Eu.placeholder,be}function jc(te,oe,pe){var be,Ce,Re,Be,Ue,$e,at=0,ot=!1,mt=!1,St=!0;if(typeof te!="function")throw new yn(W);oe=Dn(oe)||0,Xt(pe)&&(ot=!!pe.leading,mt="maxWait"in pe,Re=mt?ri(Dn(pe.maxWait)||0,oe):Re,St="trailing"in pe?!!pe.trailing:St);function Et(hi){var zi=be,Ir=Ce;return be=Ce=F,at=hi,Be=te.apply(Ir,zi),Be}function Tt(hi){return at=hi,Ue=Ds(Nt,oe),ot?Et(hi):Be}function Ct(hi){var zi=hi-$e,Ir=hi-at,Qm=oe-zi;return mt?rn(Qm,Re-Ir):Qm}function Mt(hi){var zi=hi-$e,Ir=hi-at;return $e===F||zi>=oe||zi<0||mt&&Ir>=Re}function Nt(){var hi=dl();if(Mt(hi))return Wt(hi);Ue=Ds(Nt,Ct(hi))}function Wt(hi){return Ue=F,St&&be?Et(hi):(be=Ce=F,Be)}function Si(){Ue!==F&&Jl(Ue),at=0,be=$e=Ce=Ue=F}function xi(){return Ue===F?Be:Wt(dl())}function ai(){var hi=dl(),zi=Mt(hi);if(be=arguments,Ce=this,$e=hi,zi){if(Ue===F)return Tt($e);if(mt)return Jl(Ue),Ue=Ds(Nt,oe),Et($e)}return Ue===F&&(Ue=Ds(Nt,oe)),Be}return ai.cancel=Si,ai.flush=xi,ai}var Hd=$t(function(te,oe){return oa(te,1,oe)}),Wd=$t(function(te,oe,pe){return oa(te,Dn(oe)||0,pe)});function gl(te){return Cr(te,Se)}function Vs(te,oe){if(typeof te!="function"||oe!=null&&typeof oe!="function")throw new yn(W);var pe=function(){var be=arguments,Ce=oe?oe.apply(this,be):be[0],Re=pe.cache;if(Re.has(Ce))return Re.get(Ce);var Be=te.apply(this,be);return pe.cache=Re.set(Ce,Be)||Re,Be};return pe.cache=new(Vs.Cache||Yr),pe}Vs.Cache=Yr;function yl(te){if(typeof te!="function")throw new yn(W);return function(){var oe=arguments;switch(oe.length){case 0:return!te.call(this);case 1:return!te.call(this,oe[0]);case 2:return!te.call(this,oe[0],oe[1]);case 3:return!te.call(this,oe[0],oe[1],oe[2])}return!te.apply(this,oe)}}function qd(te){return pl(2,te)}var wu=ps(function(te,oe){oe=oe.length==1&&jt(oe[0])?Rt(oe[0],gn(Ot())):Rt(Gi(oe,1),gn(Ot()));var pe=oe.length;return $t(function(be){for(var Ce=-1,Re=rn(be.length,pe);++Ce<Re;)be[Ce]=oe[Ce].call(this,be[Ce]);return pn(te,this,be)})}),vl=$t(function(te,oe){var pe=ir(oe,Dt(vl));return Cr(te,de,F,oe,pe)}),Qc=$t(function(te,oe){var pe=ir(oe,Dt(Qc));return Cr(te,me,F,oe,pe)}),Xd=cr(function(te,oe){return Cr(te,ge,F,F,F,oe)});function Yd(te,oe){if(typeof te!="function")throw new yn(W);return oe=oe===F?oe:Kt(oe),$t(te,oe)}function jd(te,oe){if(typeof te!="function")throw new yn(W);return oe=oe==null?0:ri(Kt(oe),0),$t(function(pe){var be=pe[oe],Ce=Zr(pe,0,oe);return be&&ni(Ce,be),pn(te,this,Ce)})}function Qd(te,oe,pe){var be=!0,Ce=!0;if(typeof te!="function")throw new yn(W);return Xt(pe)&&(be="leading"in pe?!!pe.leading:be,Ce="trailing"in pe?!!pe.trailing:Ce),jc(te,oe,{leading:be,maxWait:oe,trailing:Ce})}function Kd(te){return Su(te,1)}function Zd(te,oe){return vl(Er(oe),te)}function Jd(){if(!arguments.length)return[];var te=arguments[0];return jt(te)?te:[te]}function $d(te){return qn(te,ie)}function ep(te,oe){return oe=typeof oe=="function"?oe:F,qn(te,ie,oe)}function tp(te){return qn(te,K|ie)}function np(te,oe){return oe=typeof oe=="function"?oe:F,qn(te,K|ie,oe)}function dr(te,oe){return oe==null||Ol(te,oe,ci(oe))}function pr(te,oe){return te===oe||te!==te&&oe!==oe}var rp=ao(Vl),Gs=ao(function(te,oe){return te>=oe}),zt=oc(function(){return arguments}())?oc:function(te){return Mi(te)&&yi.call(te,"callee")&&!qa.call(te,"callee")},jt=lt.isArray,Cn=Ra?gn(Ra):nf;function si(te){return te!=null&&wi(te.length)&&!Mr(te)}function Ii(te){return Mi(te)&&si(te)}function ms(te){return te===!0||te===!1||Mi(te)&&Ki(te)==Je}var gs=Ku||Wu,sp=Fa?gn(Fa):ja;function ap(te){return Mi(te)&&te.nodeType===1&&!zs(te)}function lp(te){if(te==null)return!0;if(si(te)&&(jt(te)||typeof te=="string"||typeof te.splice=="function"||gs(te)||ba(te)||zt(te)))return!te.length;var oe=an(te);if(oe==_e||oe==nt)return!te.size;if(ga(te))return!Hl(te).length;for(var pe in te)if(yi.call(te,pe))return!1;return!0}function up(te,oe){return Qa(te,oe)}function Pu(te,oe,pe){pe=typeof pe=="function"?pe:F;var be=pe?pe(te,oe):F;return be===F?Qa(te,oe,F,pe):!!be}function Tu(te){if(!Mi(te))return!1;var oe=Ki(te);return oe==dt||oe==pt||typeof te.message=="string"&&typeof te.name=="string"&&!zs(te)}function ns(te){return typeof te=="number"&&Zu(te)}function Mr(te){if(!Xt(te))return!1;var oe=Ki(te);return oe==yt||oe==Fe||oe==et||oe==Xe}function fo(te){return typeof te=="number"&&te==Kt(te)}function wi(te){return typeof te=="number"&&te>-1&&te%1==0&&te<=Ae}function Xt(te){var oe=typeof te;return te!=null&&(oe=="object"||oe=="function")}function Mi(te){return te!=null&&typeof te=="object"}var Kc=Ba?gn(Ba):Ul;function cp(te,oe){return te===oe||zo(te,oe,ts(oe))}function hp(te,oe,pe){return pe=typeof pe=="function"?pe:F,zo(te,oe,ts(oe),pe)}function fp(te){return va(te)&&te!=+te}function dp(te){if(uo(te))throw new It(U);return lc(te)}function pp(te){return te===null}function Zc(te){return te==null}function va(te){return typeof te=="number"||Mi(te)&&Ki(te)==je}function zs(te){if(!Mi(te)||Ki(te)!=De)return!1;var oe=Wa(te);if(oe===null)return!0;var pe=yi.call(oe,"constructor")&&oe.constructor;return typeof pe=="function"&&pe instanceof pe&&li.call(pe)==wh}var Cu=as?gn(as):sf;function Jc(te){return fo(te)&&te>=-Ae&&te<=Ae}var po=Da?gn(Da):af;function ln(te){return typeof te=="string"||!jt(te)&&Mi(te)&&Ki(te)==Ke}function Yi(te){return typeof te=="symbol"||Mi(te)&&Ki(te)==ct}var ba=tn?gn(tn):uc;function mp(te){return te===F}function gp(te){return Mi(te)&&an(te)==ht}function yp(te){return Mi(te)&&Ki(te)==vt}var vp=ao(Ho),$c=ao(function(te,oe){return te<=oe});function _r(te){if(!te)return[];if(si(te))return ln(te)?Hn(te):Ti(te);if(sr&&te[sr])return Nl(te[sr]());var oe=an(te),pe=oe==_e?_o:oe==nt?Io:xa;return pe(te)}function Ut(te){if(!te)return te===0?te:0;if(te=Dn(te),te===we||te===-we){var oe=te<0?-1:1;return oe*Me}return te===te?te:0}function Kt(te){var oe=Ut(te),pe=oe%1;return oe===oe?pe?oe-pe:oe:0}function Bn(te){return te?qi(Kt(te),0,Ne):0}function Dn(te){if(typeof te=="number")return te;if(Yi(te))return ke;if(Xt(te)){var oe=typeof te.valueOf=="function"?te.valueOf():te;te=Xt(oe)?oe+"":oe}if(typeof te!="string")return te===0?te:+te;te=Pn(te);var pe=kn.test(te);return pe||ei.test(te)?Un(te.slice(2),pe?2:8):Ln.test(te)?ke:+te}function eh(te){return wr(te,Mn(te))}function di(te){return te?qi(Kt(te),-Ae,Ae):te===0?te:0}function pi(te){return te==null?"":Ri(te)}var th=Rs(function(te,oe){if(ga(oe)||si(oe)){wr(oe,ci(oe),te);return}for(var pe in oe)yi.call(oe,pe)&&hs(te,pe,oe[pe])}),mo=Rs(function(te,oe){wr(oe,Mn(oe),te)}),bl=Rs(function(te,oe,pe,be){wr(oe,Mn(oe),te,be)}),bp=Rs(function(te,oe,pe,be){wr(oe,ci(oe),te,be)}),Sp=cr(Qr);function xp(te,oe){var pe=Hr(te);return oe==null?pe:nc(pe,oe)}var Ap=$t(function(te,oe){te=gi(te);var pe=-1,be=oe.length,Ce=be>2?oe[2]:F;for(Ce&&Ji(oe[0],oe[1],Ce)&&(be=1);++pe<be;)for(var Re=oe[pe],Be=Mn(Re),Ue=-1,$e=Be.length;++Ue<$e;){var at=Be[Ue],ot=te[at];(ot===F||pr(ot,Gr[at])&&!yi.call(te,at))&&(te[at]=Re[at])}return te}),Ep=$t(function(te){return te.push(F,wc),pn(nh,F,te)});function wp(te,oe){return En(te,Ot(oe,3),Yn)}function Pp(te,oe){return En(te,Ot(oe,3),la)}function Tp(te,oe){return te==null?te:Go(te,Ot(oe,3),Mn)}function Cp(te,oe){return te==null?te:ur(te,Ot(oe,3),Mn)}function Mp(te,oe){return te&&Yn(te,Ot(oe,3))}function _p(te,oe){return te&&la(te,Ot(oe,3))}function Ip(te){return te==null?[]:xr(te,ci(te))}function Mu(te){return te==null?[]:xr(te,Mn(te))}function _u(te,oe,pe){var be=te==null?F:fs(te,oe);return be===F?pe:be}function Iu(te,oe){return te!=null&&Mc(te,oe,ef)}function Nu(te,oe){return te!=null&&Mc(te,oe,tf)}var Np=ro(function(te,oe,pe){oe!=null&&typeof oe.toString!="function"&&(oe=Lo.call(oe)),te[oe]=pe},Du(un)),Lp=ro(function(te,oe,pe){oe!=null&&typeof oe.toString!="function"&&(oe=Lo.call(oe)),yi.call(te,oe)?te[oe].push(pe):te[oe]=[pe]},Ot),ji=$t(ua);function ci(te){return si(te)?Bl(te):Hl(te)}function Mn(te){return si(te)?Bl(te,!0):Wl(te)}function kp(te,oe){var pe={};return oe=Ot(oe,3),Yn(te,function(be,Ce,Re){lr(pe,oe(be,Ce,Re),be)}),pe}function Rp(te,oe){var pe={};return oe=Ot(oe,3),Yn(te,function(be,Ce,Re){lr(pe,Ce,oe(be,Ce,Re))}),pe}var ih=Rs(function(te,oe,pe){Wo(te,oe,pe)}),nh=Rs(function(te,oe,pe,be){Wo(te,oe,pe,be)}),Fp=cr(function(te,oe){var pe={};if(te==null)return pe;var be=!1;oe=Rt(oe,function(Re){return Re=ds(Re,te),be||(be=Re.length>1),Re}),wr(te,lo(te),pe),be&&(pe=qn(pe,K|J|ie,Pc));for(var Ce=oe.length;Ce--;)Qo(pe,oe[Ce]);return pe});function Bp(te,oe){return sh(te,yl(Ot(oe)))}var rh=cr(function(te,oe){return te==null?{}:fc(te,oe)});function sh(te,oe){if(te==null)return{};var pe=Rt(lo(te),function(be){return[be]});return oe=Ot(oe),dc(te,pe,function(be,Ce){return oe(be,Ce[0])})}function Dp(te,oe,pe){oe=ds(oe,te);var be=-1,Ce=oe.length;for(Ce||(Ce=1,te=F);++be<Ce;){var Re=te==null?F:te[on(oe[be])];Re===F&&(be=Ce,Re=pe),te=Mr(Re)?Re.call(te):Re}return te}function Op(te,oe,pe){return te==null?te:ca(te,oe,pe)}function ah(te,oe,pe,be){return be=typeof be=="function"?be:F,te==null?te:ca(te,oe,pe,be)}var Lu=Tr(ci),oh=Tr(Mn);function Vp(te,oe,pe){var be=jt(te),Ce=be||gs(te)||ba(te);if(oe=Ot(oe,4),pe==null){var Re=te&&te.constructor;Ce?pe=be?new Re:[]:Xt(te)?pe=Mr(Re)?Hr(Wa(te)):{}:pe={}}return(Ce?rt:Yn)(te,function(Be,Ue,$e){return oe(pe,Be,Ue,$e)}),pe}function Gp(te,oe){return te==null?!0:Qo(te,oe)}function zp(te,oe,pe){return te==null?te:Ja(te,oe,Er(pe))}function Sa(te,oe,pe,be){return be=typeof be=="function"?be:F,te==null?te:Ja(te,oe,Er(pe),be)}function xa(te){return te==null?[]:ws(te,ci(te))}function Up(te){return te==null?[]:ws(te,Mn(te))}function Hp(te,oe,pe){return pe===F&&(pe=oe,oe=F),pe!==F&&(pe=Dn(pe),pe=pe===pe?pe:0),oe!==F&&(oe=Dn(oe),oe=oe===oe?oe:0),qi(Dn(te),oe,pe)}function Wp(te,oe,pe){return oe=Ut(oe),pe===F?(pe=oe,oe=0):pe=Ut(pe),te=Dn(te),Gl(te,oe,pe)}function qp(te,oe,pe){if(pe&&typeof pe!="boolean"&&Ji(te,oe,pe)&&(oe=pe=F),pe===F&&(typeof oe=="boolean"?(pe=oe,oe=F):typeof te=="boolean"&&(pe=te,te=F)),te===F&&oe===F?(te=0,oe=1):(te=Ut(te),oe===F?(oe=te,te=0):oe=Ut(oe)),te>oe){var be=te;te=oe,oe=be}if(pe||te%1||oe%1){var Ce=$u();return rn(te+Ce*(oe-te+Co("1e-"+((Ce+"").length-1))),oe)}return Ql(te,oe)}var lh=Pr(function(te,oe,pe){return oe=oe.toLowerCase(),te+(pe?ku(oe):oe)});function ku(te){return Sl(pi(te).toLowerCase())}function uh(te){return te=pi(te),te&&te.replace(Ei,ph).replace(Na,"")}function Xp(te,oe,pe){te=pi(te),oe=Ri(oe);var be=te.length;pe=pe===F?be:qi(Kt(pe),0,be);var Ce=pe;return pe-=oe.length,pe>=0&&te.slice(pe,Ce)==oe}function Yp(te){return te=pi(te),te&&Ui.test(te)?te.replace(oi,mh):te}function jp(te){return te=pi(te),te&&mr.test(te)?te.replace(rs,"\\$&"):te}var Qp=Pr(function(te,oe,pe){return te+(pe?"-":"")+oe.toLowerCase()}),Kp=Pr(function(te,oe,pe){return te+(pe?" ":"")+oe.toLowerCase()}),Zp=Fs("toLowerCase");function Jp(te,oe,pe){te=pi(te),oe=Kt(oe);var be=oe?nn(te):0;if(!oe||be>=oe)return te;var Ce=(oe-be)/2;return il(ra(Ce),pe)+te+il(Ts(Ce),pe)}function $p(te,oe,pe){te=pi(te),oe=Kt(oe);var be=oe?nn(te):0;return oe&&be<oe?te+il(oe-be,pe):te}function em(te,oe,pe){te=pi(te),oe=Kt(oe);var be=oe?nn(te):0;return oe&&be<oe?il(oe-be,pe)+te:te}function tm(te,oe,pe){return pe||oe==null?oe=0:oe&&(oe=+oe),Ju(pi(te).replace(Gn,""),oe||0)}function im(te,oe,pe){return(pe?Ji(te,oe,pe):oe===F)?oe=1:oe=Kt(oe),Zt(pi(te),oe)}function rm(){var te=arguments,oe=pi(te[0]);return te.length<3?oe:oe.replace(te[1],te[2])}var sm=Pr(function(te,oe,pe){return te+(pe?"_":"")+oe.toLowerCase()});function am(te,oe,pe){return pe&&typeof pe!="number"&&Ji(te,oe,pe)&&(oe=pe=F),pe=pe===F?Ne:pe>>>0,pe?(te=pi(te),te&&(typeof oe=="string"||oe!=null&&!Cu(oe))&&(oe=Ri(oe),!oe&&$s(te))?Zr(Hn(te),0,pe):te.split(oe,pe)):[]}var om=Pr(function(te,oe,pe){return te+(pe?" ":"")+Sl(oe)});function lm(te,oe,pe){return te=pi(te),pe=pe==null?0:qi(Kt(pe),0,te.length),oe=Ri(oe),te.slice(pe,pe+oe.length)==oe}function um(te,oe,pe){var be=We.templateSettings;pe&&Ji(te,oe,pe)&&(oe=F),te=pi(te),oe=bl({},oe,be,su);var Ce=bl({},oe.imports,be.imports,su),Re=ci(Ce),Be=ws(Ce,Re),Ue,$e,at=0,ot=oe.interpolate||Ni,mt="__p += '",St=Ll((oe.escape||Ni).source+"|"+ot.source+"|"+(ot===Jn?ys:Ni).source+"|"+(oe.evaluate||Ni).source+"|$","g"),Et="//# sourceURL="+(yi.call(oe,"sourceURL")?(oe.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++vi+"]")+`
- `;te.replace(St,function(Mt,Nt,Wt,Si,xi,ai){return Wt||(Wt=Si),mt+=te.slice(at,ai).replace(mi,gh),Nt&&(Ue=!0,mt+=`' +
- __e(`+Nt+`) +
- '`),xi&&($e=!0,mt+=`';
- `+xi+`;
- __p += '`),Wt&&(mt+=`' +
- ((__t = (`+Wt+`)) == null ? '' : __t) +
- '`),at=ai+Mt.length,Mt}),mt+=`';
- `;var Tt=yi.call(oe,"variable")&&oe.variable;if(!Tt)mt=`with (obj) {
- `+mt+`
- }
- `;else if(Aa.test(Tt))throw new It(q);mt=($e?mt.replace(Qi,""):mt).replace(In,"$1").replace(cn,"$1;"),mt="function("+(Tt||"obj")+`) {
- `+(Tt?"":`obj || (obj = {});
- `)+"var __t, __p = ''"+(Ue?", __e = _.escape":"")+($e?`, __j = Array.prototype.join;
- function print() { __p += __j.call(arguments, '') }
- `:`;
- `)+mt+`return __p
- }`;var Ct=ch(function(){return Gt(Re,Et+"return "+mt).apply(F,Be)});if(Ct.source=mt,Tu(Ct))throw Ct;return Ct}function cm(te){return pi(te).toLowerCase()}function hm(te){return pi(te).toUpperCase()}function fm(te,oe,pe){if(te=pi(te),te&&(pe||oe===F))return Pn(te);if(!te||!(oe=Ri(oe)))return te;var be=Hn(te),Ce=Hn(oe),Re=Il(be,Ce),Be=Yu(be,Ce)+1;return Zr(be,Re,Be).join("")}function dm(te,oe,pe){if(te=pi(te),te&&(pe||oe===F))return te.slice(0,ju(te)+1);if(!te||!(oe=Ri(oe)))return te;var be=Hn(te),Ce=Yu(be,Hn(oe))+1;return Zr(be,0,Ce).join("")}function pm(te,oe,pe){if(te=pi(te),te&&(pe||oe===F))return te.replace(Gn,"");if(!te||!(oe=Ri(oe)))return te;var be=Hn(te),Ce=Il(be,Hn(oe));return Zr(be,Ce).join("")}function mm(te,oe){var pe=Ee,be=ve;if(Xt(oe)){var Ce="separator"in oe?oe.separator:Ce;pe="length"in oe?Kt(oe.length):pe,be="omission"in oe?Ri(oe.omission):be}te=pi(te);var Re=te.length;if($s(te)){var Be=Hn(te);Re=Be.length}if(pe>=Re)return te;var Ue=pe-nn(be);if(Ue<1)return be;var $e=Be?Zr(Be,0,Ue).join(""):te.slice(0,Ue);if(Ce===F)return $e+be;if(Be&&(Ue+=$e.length-Ue),Cu(Ce)){if(te.slice(Ue).search(Ce)){var at,ot=$e;for(Ce.global||(Ce=Ll(Ce.source,pi(xn.exec(Ce))+"g")),Ce.lastIndex=0;at=Ce.exec(ot);)var mt=at.index;$e=$e.slice(0,mt===F?Ue:mt)}}else if(te.indexOf(Ri(Ce),Ue)!=Ue){var St=$e.lastIndexOf(Ce);St>-1&&($e=$e.slice(0,St))}return $e+be}function gm(te){return te=pi(te),te&&$i.test(te)?te.replace(_t,Sh):te}var Ru=Pr(function(te,oe,pe){return te+(pe?" ":"")+oe.toUpperCase()}),Sl=Fs("toUpperCase");function Fu(te,oe,pe){return te=pi(te),oe=pe?F:oe,oe===F?yh(te)?Eh(te):mn(te):te.match(oe)||[]}var ch=$t(function(te,oe){try{return pn(te,F,oe)}catch(pe){return Tu(pe)?pe:new It(pe)}}),ym=cr(function(te,oe){return rt(oe,function(pe){pe=on(pe),lr(te,pe,ml(te[pe],te))}),te});function vm(te){var oe=te==null?0:te.length,pe=Ot();return te=oe?Rt(te,function(be){if(typeof be[1]!="function")throw new yn(W);return[pe(be[0]),be[1]]}):[],$t(function(be){for(var Ce=-1;++Ce<oe;){var Re=te[Ce];if(pn(Re[0],this,be))return pn(Re[1],this,be)}})}function Bu(te){return rc(qn(te,K))}function Du(te){return function(){return te}}function bm(te,oe){return te==null||te!==te?oe:te}var Sm=io(),_n=io(!0);function un(te){return te}function Ou(te){return Uo(typeof te=="function"?te:qn(te,K))}function xm(te){return Xl(qn(te,K))}function Am(te,oe){return Ka(te,qn(oe,K))}var Em=$t(function(te,oe){return function(pe){return ua(pe,te,oe)}}),Vu=$t(function(te,oe){return function(pe){return ua(te,pe,oe)}});function Gu(te,oe,pe){var be=ci(oe),Ce=xr(oe,be);pe==null&&!(Xt(oe)&&(Ce.length||!be.length))&&(pe=oe,oe=te,te=this,Ce=xr(oe,ci(oe)));var Re=!(Xt(pe)&&"chain"in pe)||!!pe.chain,Be=Mr(te);return rt(Ce,function(Ue){var $e=oe[Ue];te[Ue]=$e,Be&&(te.prototype[Ue]=function(){var at=this.__chain__;if(Re||at){var ot=te(this.__wrapped__),mt=ot.__actions__=Ti(this.__actions__);return mt.push({func:$e,args:arguments,thisArg:te}),ot.__chain__=at,ot}return $e.apply(te,ni([this.value()],arguments))})}),te}function zu(){return Pi._===this&&(Pi._=Ph),this}function Uu(){}function wm(te){return te=Kt(te),$t(function(oe){return Yl(oe,te)})}var Pm=da(Rt),Tm=da(wt),hh=da(Wi);function fh(te){return ou(te)?Va(on(te)):jl(te)}function Cm(te){return function(oe){return te==null?F:fs(te,oe)}}var Mm=so(),Hu=so(!0);function go(){return[]}function Wu(){return!1}function _m(){return{}}function Im(){return""}function Nm(){return!0}function Lm(te,oe){if(te=Kt(te),te<1||te>Ae)return[];var pe=Ne,be=rn(te,Ne);oe=Ot(oe),te-=Ne;for(var Ce=_l(be,oe);++pe<te;)oe(pe);return Ce}function km(te){return jt(te)?Rt(te,on):Yi(te)?[te]:Ti(hr(pi(te)))}function Rm(te){var oe=++Qu;return pi(te)+oe}var Fm=fa(function(te,oe){return te+oe},0),Bm=ru("ceil"),Dm=fa(function(te,oe){return te/oe},1),Om=ru("floor");function Vm(te){return te&&te.length?Vo(te,un,Vl):F}function Gm(te,oe){return te&&te.length?Vo(te,Ot(oe,2),Vl):F}function zm(te){return Or(te,un)}function Um(te,oe){return Or(te,Ot(oe,2))}function Hm(te){return te&&te.length?Vo(te,un,Ho):F}function Wm(te,oe){return te&&te.length?Vo(te,Ot(oe,2),Ho):F}var qm=fa(function(te,oe){return te*oe},1),Xm=ru("round"),Ym=fa(function(te,oe){return te-oe},0);function jm(te){return te&&te.length?Ga(te,un):0}function ue(te,oe){return te&&te.length?Ga(te,Ot(oe,2)):0}return We.after=Yc,We.ary=Su,We.assign=th,We.assignIn=mo,We.assignInWith=bl,We.assignWith=bp,We.at=Sp,We.before=pl,We.bind=ml,We.bindAll=ym,We.bindKey=xu,We.castArray=Jd,We.chain=Wc,We.chunk=Sf,We.compact=xf,We.concat=Af,We.cond=vm,We.conforms=Bu,We.constant=Du,We.countBy=Ed,We.create=xp,We.curry=Au,We.curryRight=Eu,We.debounce=jc,We.defaults=Ap,We.defaultsDeep=Ep,We.defer=Hd,We.delay=Wd,We.difference=Ef,We.differenceBy=wf,We.differenceWith=Pf,We.drop=Tf,We.dropRight=Cf,We.dropRightWhile=Mf,We.dropWhile=_f,We.fill=Bc,We.filter=Pd,We.flatMap=Md,We.flatMapDeep=_d,We.flatMapDepth=qc,We.flatten=Dc,We.flattenDeep=If,We.flattenDepth=Nf,We.flip=gl,We.flow=Sm,We.flowRight=_n,We.fromPairs=Oc,We.functions=Ip,We.functionsIn=Mu,We.groupBy=Id,We.initial=kf,We.intersection=Rf,We.intersectionBy=Ff,We.intersectionWith=Bf,We.invert=Np,We.invertBy=Lp,We.invokeMap=Ld,We.iteratee=Ou,We.keyBy=cl,We.keys=ci,We.keysIn=Mn,We.map=hl,We.mapKeys=kp,We.mapValues=Rp,We.matches=xm,We.matchesProperty=Am,We.memoize=Vs,We.merge=ih,We.mergeWith=nh,We.method=Em,We.methodOf=Vu,We.mixin=Gu,We.negate=yl,We.nthArg=wm,We.omit=Fp,We.omitBy=Bp,We.once=qd,We.orderBy=kd,We.over=Pm,We.overArgs=wu,We.overEvery=Tm,We.overSome=hh,We.partial=vl,We.partialRight=Qc,We.partition=Rd,We.pick=rh,We.pickBy=sh,We.property=fh,We.propertyOf=Cm,We.pull=Gc,We.pullAll=zc,We.pullAllBy=Vf,We.pullAllWith=Gf,We.pullAt=zf,We.range=Mm,We.rangeRight=Hu,We.rearg=Xd,We.reject=Dd,We.remove=gu,We.rest=Yd,We.reverse=yu,We.sampleSize=Vd,We.set=Op,We.setWith=ah,We.shuffle=Gd,We.slice=Uf,We.sortBy=fl,We.sortedUniq=Qf,We.sortedUniqBy=Kf,We.split=am,We.spread=jd,We.tail=Zf,We.take=Jf,We.takeRight=$f,We.takeRightWhile=ed,We.takeWhile=td,We.tap=ll,We.throttle=Qd,We.thru=ul,We.toArray=_r,We.toPairs=Lu,We.toPairsIn=oh,We.toPath=km,We.toPlainObject=eh,We.transform=Vp,We.unary=Kd,We.union=nd,We.unionBy=rd,We.unionWith=sd,We.uniq=ad,We.uniqBy=od,We.uniqWith=vu,We.unset=Gp,We.unzip=ol,We.unzipWith=Uc,We.update=zp,We.updateWith=Sa,We.values=xa,We.valuesIn=Up,We.without=ld,We.words=Fu,We.wrap=Zd,We.xor=ud,We.xorBy=cd,We.xorWith=hd,We.zip=fd,We.zipObject=dd,We.zipObjectDeep=pd,We.zipWith=Hc,We.entries=Lu,We.entriesIn=oh,We.extend=mo,We.extendWith=bl,Gu(We,We),We.add=Fm,We.attempt=ch,We.camelCase=lh,We.capitalize=ku,We.ceil=Bm,We.clamp=Hp,We.clone=$d,We.cloneDeep=tp,We.cloneDeepWith=np,We.cloneWith=ep,We.conformsTo=dr,We.deburr=uh,We.defaultTo=bm,We.divide=Dm,We.endsWith=Xp,We.eq=pr,We.escape=Yp,We.escapeRegExp=jp,We.every=wd,We.find=Td,We.findIndex=pu,We.findKey=wp,We.findLast=Cd,We.findLastIndex=mu,We.findLastKey=Pp,We.floor=Om,We.forEach=bu,We.forEachRight=Xc,We.forIn=Tp,We.forInRight=Cp,We.forOwn=Mp,We.forOwnRight=_p,We.get=_u,We.gt=rp,We.gte=Gs,We.has=Iu,We.hasIn=Nu,We.head=Vc,We.identity=un,We.includes=Nd,We.indexOf=Lf,We.inRange=Wp,We.invoke=ji,We.isArguments=zt,We.isArray=jt,We.isArrayBuffer=Cn,We.isArrayLike=si,We.isArrayLikeObject=Ii,We.isBoolean=ms,We.isBuffer=gs,We.isDate=sp,We.isElement=ap,We.isEmpty=lp,We.isEqual=up,We.isEqualWith=Pu,We.isError=Tu,We.isFinite=ns,We.isFunction=Mr,We.isInteger=fo,We.isLength=wi,We.isMap=Kc,We.isMatch=cp,We.isMatchWith=hp,We.isNaN=fp,We.isNative=dp,We.isNil=Zc,We.isNull=pp,We.isNumber=va,We.isObject=Xt,We.isObjectLike=Mi,We.isPlainObject=zs,We.isRegExp=Cu,We.isSafeInteger=Jc,We.isSet=po,We.isString=ln,We.isSymbol=Yi,We.isTypedArray=ba,We.isUndefined=mp,We.isWeakMap=gp,We.isWeakSet=yp,We.join=Kn,We.kebabCase=Qp,We.last=Zn,We.lastIndexOf=Df,We.lowerCase=Kp,We.lowerFirst=Zp,We.lt=vp,We.lte=$c,We.max=Vm,We.maxBy=Gm,We.mean=zm,We.meanBy=Um,We.min=Hm,We.minBy=Wm,We.stubArray=go,We.stubFalse=Wu,We.stubObject=_m,We.stubString=Im,We.stubTrue=Nm,We.multiply=qm,We.nth=Of,We.noConflict=zu,We.noop=Uu,We.now=dl,We.pad=Jp,We.padEnd=$p,We.padStart=em,We.parseInt=tm,We.random=qp,We.reduce=Fd,We.reduceRight=Bd,We.repeat=im,We.replace=rm,We.result=Dp,We.round=Xm,We.runInContext=Qe,We.sample=Od,We.size=zd,We.snakeCase=sm,We.some=Ud,We.sortedIndex=Hf,We.sortedIndexBy=Wf,We.sortedIndexOf=qf,We.sortedLastIndex=Xf,We.sortedLastIndexBy=Yf,We.sortedLastIndexOf=jf,We.startCase=om,We.startsWith=lm,We.subtract=Ym,We.sum=jm,We.sumBy=ue,We.template=um,We.times=Lm,We.toFinite=Ut,We.toInteger=Kt,We.toLength=Bn,We.toLower=cm,We.toNumber=Dn,We.toSafeInteger=di,We.toString=pi,We.toUpper=hm,We.trim=fm,We.trimEnd=dm,We.trimStart=pm,We.truncate=mm,We.unescape=gm,We.uniqueId=Rm,We.upperCase=Ru,We.upperFirst=Sl,We.each=bu,We.eachRight=Xc,We.first=Vc,Gu(We,function(){var te={};return Yn(We,function(oe,pe){yi.call(We.prototype,pe)||(te[pe]=oe)}),te}(),{chain:!1}),We.VERSION=D,rt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(te){We[te].placeholder=We}),rt(["drop","take"],function(te,oe){ti.prototype[te]=function(pe){pe=pe===F?1:ri(Kt(pe),0);var be=this.__filtered__&&!oe?new ti(this):this.clone();return be.__filtered__?be.__takeCount__=rn(pe,be.__takeCount__):be.__views__.push({size:rn(pe,Ne),type:te+(be.__dir__<0?"Right":"")}),be},ti.prototype[te+"Right"]=function(pe){return this.reverse()[te](pe).reverse()}}),rt(["filter","map","takeWhile"],function(te,oe){var pe=oe+1,be=pe==ye||pe==Le;ti.prototype[te]=function(Ce){var Re=this.clone();return Re.__iteratees__.push({iteratee:Ot(Ce,3),type:pe}),Re.__filtered__=Re.__filtered__||be,Re}}),rt(["head","last"],function(te,oe){var pe="take"+(oe?"Right":"");ti.prototype[te]=function(){return this[pe](1).value()[0]}}),rt(["initial","tail"],function(te,oe){var pe="drop"+(oe?"":"Right");ti.prototype[te]=function(){return this.__filtered__?new ti(this):this[pe](1)}}),ti.prototype.compact=function(){return this.filter(un)},ti.prototype.find=function(te){return this.filter(te).head()},ti.prototype.findLast=function(te){return this.reverse().find(te)},ti.prototype.invokeMap=$t(function(te,oe){return typeof te=="function"?new ti(this):this.map(function(pe){return ua(pe,te,oe)})}),ti.prototype.reject=function(te){return this.filter(yl(Ot(te)))},ti.prototype.slice=function(te,oe){te=Kt(te);var pe=this;return pe.__filtered__&&(te>0||oe<0)?new ti(pe):(te<0?pe=pe.takeRight(-te):te&&(pe=pe.drop(te)),oe!==F&&(oe=Kt(oe),pe=oe<0?pe.dropRight(-oe):pe.take(oe-te)),pe)},ti.prototype.takeRightWhile=function(te){return this.reverse().takeWhile(te).reverse()},ti.prototype.toArray=function(){return this.take(Ne)},Yn(ti.prototype,function(te,oe){var pe=/^(?:filter|find|map|reject)|While$/.test(oe),be=/^(?:head|last)$/.test(oe),Ce=We[be?"take"+(oe=="last"?"Right":""):oe],Re=be||/^find/.test(oe);!Ce||(We.prototype[oe]=function(){var Be=this.__wrapped__,Ue=be?[1]:arguments,$e=Be instanceof ti,at=Ue[0],ot=$e||jt(Be),mt=function(Nt){var Wt=Ce.apply(We,ni([Nt],Ue));return be&&St?Wt[0]:Wt};ot&&pe&&typeof at=="function"&&at.length!=1&&($e=ot=!1);var St=this.__chain__,Et=!!this.__actions__.length,Tt=Re&&!St,Ct=$e&&!Et;if(!Re&&ot){Be=Ct?Be:new ti(this);var Mt=te.apply(Be,Ue);return Mt.__actions__.push({func:ul,args:[mt],thisArg:F}),new Ht(Mt,St)}return Tt&&Ct?te.apply(this,Ue):(Mt=this.thru(mt),Tt?be?Mt.value()[0]:Mt.value():Mt)})}),rt(["pop","push","shift","sort","splice","unshift"],function(te){var oe=No[te],pe=/^(?:push|sort|unshift)$/.test(te)?"tap":"thru",be=/^(?:pop|shift)$/.test(te);We.prototype[te]=function(){var Ce=arguments;if(be&&!this.__chain__){var Re=this.value();return oe.apply(jt(Re)?Re:[],Ce)}return this[pe](function(Be){return oe.apply(jt(Be)?Be:[],Ce)})}}),Yn(ti.prototype,function(te,oe){var pe=We[oe];if(pe){var be=pe.name+"";yi.call(sa,be)||(sa[be]=[]),sa[be].push({name:oe,func:pe})}}),sa[no(F,ae).name]=[{name:"wrapper",func:F}],ti.prototype.clone=Rh,ti.prototype.reverse=Fh,ti.prototype.value=_s,We.prototype.at=md,We.prototype.chain=gd,We.prototype.commit=yd,We.prototype.next=vd,We.prototype.plant=Sd,We.prototype.reverse=xd,We.prototype.toJSON=We.prototype.valueOf=We.prototype.value=Ad,We.prototype.first=We.prototype.head,sr&&(We.prototype[sr]=bd),We},ft=ta();dn?((dn.exports=ft)._=ft,Fn._=ft):Pi._=ft}).call(commonjsGlobal$2)})(lodash$1,lodash$1.exports);class SectionHint{constructor(){this.currentNote=null,this.el=document.createElement("div"),this.span=document.createElement("span"),this.init()}init(){this.el.id="section-hint"+Math.floor(Math.random()*1e5),this.hide()}showForElement(R){var G;if(this.currentNote===R)return;this.el||(this.el=document.createElement("div"),this.init(),this.show()),this.currentNote=R;const F=getBoundingBoxByverticalNote(R),D=document.querySelector("#osmdSvgPage1");if(F){const{x:U,y:W,width:q,height:Y}=F;this.el.id="custom-cursor-bg-hint",this.el.style.position="absolute",this.el.style.top=formatZoom(W)+"px",this.el.style.left=formatZoom(U)+"px",this.el.style.width=formatZoom(q)+"px",this.el.style.height=formatZoom(Y)+"px",this.el.style.zIndex="-1",(G=D==null?void 0:D.parentNode)==null||G.appendChild(this.el)}}hide(){this.el.style.display="none"}show(){this.el.style.display=""}destroy(){this.currentNote=null,this.hide()}}/*!
- * vue-router v4.0.4
- * (c) 2021 Eduardo San Martin Morote
- * @license MIT
- */const hasSymbol=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",PolySymbol=B=>hasSymbol?Symbol(B):"_vr_"+B,matchedRouteKey=PolySymbol("rvlm"),viewDepthKey=PolySymbol("rvd"),routerKey=PolySymbol("r"),routeLocationKey=PolySymbol("rl"),routerViewLocationKey=PolySymbol("rvl"),isBrowser=typeof window!="undefined";function isESModule(B){return B.__esModule||hasSymbol&&B[Symbol.toStringTag]==="Module"}const assign$1=Object.assign;function applyToParams(B,R){const F={};for(const D in R){const G=R[D];F[D]=Array.isArray(G)?G.map(B):B(G)}return F}let noop$2=()=>{};const TRAILING_SLASH_RE=/\/$/,removeTrailingSlash=B=>B.replace(TRAILING_SLASH_RE,"");function parseURL(B,R,F="/"){let D,G={},U="",W="";const q=R.indexOf("?"),Y=R.indexOf("#",q>-1?q:0);return q>-1&&(D=R.slice(0,q),U=R.slice(q+1,Y>-1?Y:R.length),G=B(U)),Y>-1&&(D=D||R.slice(0,Y),W=R.slice(Y,R.length)),D=resolveRelativePath(D!=null?D:R,F),{fullPath:D+(U&&"?")+U+W,path:D,query:G,hash:W}}function stringifyURL(B,R){let F=R.query?B(R.query):"";return R.path+(F&&"?")+F+(R.hash||"")}function stripBase(B,R){return!R||B.toLowerCase().indexOf(R.toLowerCase())?B:B.slice(R.length)||"/"}function isSameRouteLocation(B,R,F){let D=R.matched.length-1,G=F.matched.length-1;return D>-1&&D===G&&isSameRouteRecord(R.matched[D],F.matched[G])&&isSameRouteLocationParams(R.params,F.params)&&B(R.query)===B(F.query)&&R.hash===F.hash}function isSameRouteRecord(B,R){return(B.aliasOf||B)===(R.aliasOf||R)}function isSameRouteLocationParams(B,R){if(Object.keys(B).length!==Object.keys(R).length)return!1;for(let F in B)if(!isSameRouteLocationParamsValue(B[F],R[F]))return!1;return!0}function isSameRouteLocationParamsValue(B,R){return Array.isArray(B)?isEquivalentArray(B,R):Array.isArray(R)?isEquivalentArray(R,B):B===R}function isEquivalentArray(B,R){return Array.isArray(R)?B.length===R.length&&B.every((F,D)=>F===R[D]):B.length===1&&B[0]===R}function resolveRelativePath(B,R){if(B.startsWith("/"))return B;if(!B)return R;const F=R.split("/"),D=B.split("/");let G=F.length-1,U,W;for(U=0;U<D.length;U++)if(W=D[U],!(G===1||W==="."))if(W==="..")G--;else break;return F.slice(0,G).join("/")+"/"+D.slice(U-(U===D.length?1:0)).join("/")}var NavigationType;(function(B){B.pop="pop",B.push="push"})(NavigationType||(NavigationType={}));var NavigationDirection;(function(B){B.back="back",B.forward="forward",B.unknown=""})(NavigationDirection||(NavigationDirection={}));function normalizeBase(B){if(!B)if(isBrowser){const R=document.querySelector("base");B=R&&R.getAttribute("href")||"/",B=B.replace(/^\w+:\/\/[^\/]+/,"")}else B="/";return B[0]!=="/"&&B[0]!=="#"&&(B="/"+B),removeTrailingSlash(B)}const BEFORE_HASH_RE=/^[^#]+#/;function createHref(B,R){return B.replace(BEFORE_HASH_RE,"#")+R}function getElementPosition(B,R){const F=document.documentElement.getBoundingClientRect(),D=B.getBoundingClientRect();return{behavior:R.behavior,left:D.left-F.left-(R.left||0),top:D.top-F.top-(R.top||0)}}const computeScrollPosition=()=>({left:window.pageXOffset,top:window.pageYOffset});function scrollToPosition(B){let R;if("el"in B){let F=B.el;const D=typeof F=="string"&&F.startsWith("#"),G=typeof F=="string"?D?document.getElementById(F.slice(1)):document.querySelector(F):F;if(!G)return;R=getElementPosition(G,B)}else R=B;"scrollBehavior"in document.documentElement.style?window.scrollTo(R):window.scrollTo(R.left!=null?R.left:window.pageXOffset,R.top!=null?R.top:window.pageYOffset)}function getScrollKey(B,R){return(history.state?history.state.position-R:-1)+B}const scrollPositions=new Map;function saveScrollPosition(B,R){scrollPositions.set(B,R)}function getSavedScrollPosition(B){const R=scrollPositions.get(B);return scrollPositions.delete(B),R}let createBaseLocation=()=>location.protocol+"//"+location.host;function createCurrentLocation(B,R){const{pathname:F,search:D,hash:G}=R;if(B.indexOf("#")>-1){let q=G.slice(1);return q[0]!=="/"&&(q="/"+q),stripBase(q,"")}return stripBase(F,B)+D+G}function useHistoryListeners(B,R,F,D){let G=[],U=[],W=null;const q=({state:J})=>{const ie=createCurrentLocation(B,location),ne=F.value,se=R.value;let re=0;if(J){if(F.value=ie,R.value=J,W&&W===ne){W=null;return}re=se?J.position-se.position:0}else D(ie);G.forEach(ae=>{ae(F.value,ne,{delta:re,type:NavigationType.pop,direction:re?re>0?NavigationDirection.forward:NavigationDirection.back:NavigationDirection.unknown})})};function Y(){W=F.value}function Q(J){G.push(J);const ie=()=>{const ne=G.indexOf(J);ne>-1&&G.splice(ne,1)};return U.push(ie),ie}function Z(){const{history:J}=window;!J.state||J.replaceState(assign$1({},J.state,{scroll:computeScrollPosition()}),"")}function K(){for(const J of U)J();U=[],window.removeEventListener("popstate",q),window.removeEventListener("beforeunload",Z)}return window.addEventListener("popstate",q),window.addEventListener("beforeunload",Z),{pauseListeners:Y,listen:Q,destroy:K}}function buildState(B,R,F,D=!1,G=!1){return{back:B,current:R,forward:F,replaced:D,position:window.history.length,scroll:G?computeScrollPosition():null}}function useHistoryStateNavigation(B){const{history:R,location:F}=window;let D={value:createCurrentLocation(B,F)},G={value:R.state};G.value||U(D.value,{back:null,current:D.value,forward:null,position:R.length-1,replaced:!0,scroll:null},!0);function U(Y,Q,Z){const K=B.indexOf("#"),J=K>-1?(F.host&&document.querySelector("base")?B:B.slice(K))+Y:createBaseLocation()+B+Y;try{R[Z?"replaceState":"pushState"](Q,"",J),G.value=Q}catch(ie){console.error(ie),F[Z?"replace":"assign"](J)}}function W(Y,Q){const Z=assign$1({},R.state,buildState(G.value.back,Y,G.value.forward,!0),Q,{position:G.value.position});U(Y,Z,!0),D.value=Y}function q(Y,Q){const Z=assign$1({},G.value,R.state,{forward:Y,scroll:computeScrollPosition()});U(Z.current,Z,!0);const K=assign$1({},buildState(D.value,Y,null),{position:Z.position+1},Q);U(Y,K,!1),D.value=Y}return{location:D,state:G,push:q,replace:W}}function createWebHistory(B){B=normalizeBase(B);const R=useHistoryStateNavigation(B),F=useHistoryListeners(B,R.state,R.location,R.replace);function D(U,W=!0){W||F.pauseListeners(),history.go(U)}const G=assign$1({location:"",base:B,go:D,createHref:createHref.bind(null,B)},R,F);return Object.defineProperty(G,"location",{get:()=>R.location.value}),Object.defineProperty(G,"state",{get:()=>R.state.value}),G}function createWebHashHistory(B){return B=location.host?B||location.pathname+location.search:"",B.indexOf("#")<0&&(B+="#"),createWebHistory(B)}function isRouteLocation(B){return typeof B=="string"||B&&typeof B=="object"}function isRouteName(B){return typeof B=="string"||typeof B=="symbol"}const START_LOCATION_NORMALIZED={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},NavigationFailureSymbol=PolySymbol("nf");var NavigationFailureType;(function(B){B[B.aborted=4]="aborted",B[B.cancelled=8]="cancelled",B[B.duplicated=16]="duplicated"})(NavigationFailureType||(NavigationFailureType={}));function createRouterError(B,R){return assign$1(new Error,{type:B,[NavigationFailureSymbol]:!0},R)}function isNavigationFailure(B,R){return B instanceof Error&&NavigationFailureSymbol in B&&(R==null||!!(B.type&R))}const BASE_PARAM_PATTERN="[^/]+?",BASE_PATH_PARSER_OPTIONS={sensitive:!1,strict:!1,start:!0,end:!0},REGEX_CHARS_RE=/[.+*?^${}()[\]/\\]/g;function tokensToParser(B,R){const F=assign$1({},BASE_PATH_PARSER_OPTIONS,R);let D=[],G=F.start?"^":"";const U=[];for(const Q of B){const Z=Q.length?[]:[90];F.strict&&!Q.length&&(G+="/");for(let K=0;K<Q.length;K++){const J=Q[K];let ie=40+(F.sensitive?.25:0);if(J.type===0)K||(G+="/"),G+=J.value.replace(REGEX_CHARS_RE,"\\$&"),ie+=40;else if(J.type===1){const{value:ne,repeatable:se,optional:re,regexp:ae}=J;U.push({name:ne,repeatable:se,optional:re});const le=ae||BASE_PARAM_PATTERN;if(le!==BASE_PARAM_PATTERN){ie+=10;try{new RegExp(`(${le})`)}catch(he){throw new Error(`Invalid custom RegExp for param "${ne}" (${le}): `+he.message)}}let ce=se?`((?:${le})(?:/(?:${le}))*)`:`(${le})`;K||(ce=re&&Q.length<2?`(?:/${ce})`:"/"+ce),re&&(ce+="?"),G+=ce,ie+=20,re&&(ie+=-8),se&&(ie+=-20),le===".*"&&(ie+=-50)}Z.push(ie)}D.push(Z)}if(F.strict&&F.end){const Q=D.length-1;D[Q][D[Q].length-1]+=.7000000000000001}F.strict||(G+="/?"),F.end?G+="$":F.strict&&(G+="(?:/|$)");const W=new RegExp(G,F.sensitive?"":"i");function q(Q){const Z=Q.match(W),K={};if(!Z)return null;for(let J=1;J<Z.length;J++){const ie=Z[J]||"",ne=U[J-1];K[ne.name]=ie&&ne.repeatable?ie.split("/"):ie}return K}function Y(Q){let Z="",K=!1;for(const J of B){(!K||!Z.endsWith("/"))&&(Z+="/"),K=!1;for(const ie of J)if(ie.type===0)Z+=ie.value;else if(ie.type===1){const{value:ne,repeatable:se,optional:re}=ie,ae=ne in Q?Q[ne]:"";if(Array.isArray(ae)&&!se)throw new Error(`Provided param "${ne}" is an array but it is not repeatable (* or + modifiers)`);const le=Array.isArray(ae)?ae.join("/"):ae;if(!le)if(re)J.length<2&&(Z.endsWith("/")?Z=Z.slice(0,-1):K=!0);else throw new Error(`Missing required param "${ne}"`);Z+=le}}return Z}return{re:W,score:D,keys:U,parse:q,stringify:Y}}function compareScoreArray(B,R){let F=0;for(;F<B.length&&F<R.length;){const D=R[F]-B[F];if(D)return D;F++}return B.length<R.length?B.length===1&&B[0]===40+40?-1:1:B.length>R.length?R.length===1&&R[0]===40+40?1:-1:0}function comparePathParserScore(B,R){let F=0;const D=B.score,G=R.score;for(;F<D.length&&F<G.length;){const U=compareScoreArray(D[F],G[F]);if(U)return U;F++}return G.length-D.length}const ROOT_TOKEN={type:0,value:""},VALID_PARAM_RE=/[a-zA-Z0-9_]/;function tokenizePath(B){if(!B)return[[]];if(B==="/")return[[ROOT_TOKEN]];if(!B.startsWith("/"))throw new Error(`Invalid path "${B}"`);function R(ie){throw new Error(`ERR (${F})/"${Q}": ${ie}`)}let F=0,D=F;const G=[];let U;function W(){U&&G.push(U),U=[]}let q=0,Y,Q="",Z="";function K(){!Q||(F===0?U.push({type:0,value:Q}):F===1||F===2||F===3?(U.length>1&&(Y==="*"||Y==="+")&&R(`A repeatable param (${Q}) must be alone in its segment. eg: '/:ids+.`),U.push({type:1,value:Q,regexp:Z,repeatable:Y==="*"||Y==="+",optional:Y==="*"||Y==="?"})):R("Invalid state to consume buffer"),Q="")}function J(){Q+=Y}for(;q<B.length;){if(Y=B[q++],Y==="\\"&&F!==2){D=F,F=4;continue}switch(F){case 0:Y==="/"?(Q&&K(),W()):Y===":"?(K(),F=1):J();break;case 4:J(),F=D;break;case 1:Y==="("?F=2:VALID_PARAM_RE.test(Y)?J():(K(),F=0,Y!=="*"&&Y!=="?"&&Y!=="+"&&q--);break;case 2:Y===")"?Z[Z.length-1]=="\\"?Z=Z.slice(0,-1)+Y:F=3:Z+=Y;break;case 3:K(),F=0,Y!=="*"&&Y!=="?"&&Y!=="+"&&q--,Z="";break;default:R("Unknown state");break}}return F===2&&R(`Unfinished custom RegExp for param "${Q}"`),K(),W(),G}function createRouteRecordMatcher(B,R,F){const D=tokensToParser(tokenizePath(B.path),F),G=assign$1(D,{record:B,parent:R,children:[],alias:[]});return R&&!G.record.aliasOf==!R.record.aliasOf&&R.children.push(G),G}function createRouterMatcher(B,R){const F=[],D=new Map;R=mergeOptions({strict:!1,end:!0,sensitive:!1},R);function G(Z){return D.get(Z)}function U(Z,K,J){let ie=!J,ne=normalizeRouteRecord(Z);ne.aliasOf=J&&J.record;const se=mergeOptions(R,Z),re=[ne];if("alias"in Z){const ce=typeof Z.alias=="string"?[Z.alias]:Z.alias;for(const he of ce)re.push(assign$1({},ne,{components:J?J.record.components:ne.components,path:he,aliasOf:J?J.record:ne}))}let ae,le;for(const ce of re){let{path:he}=ce;if(K&&he[0]!=="/"){let de=K.record.path,me=de[de.length-1]==="/"?"":"/";ce.path=K.record.path+(he&&me+he)}if(ae=createRouteRecordMatcher(ce,K,se),J?J.alias.push(ae):(le=le||ae,le!==ae&&le.alias.push(ae),ie&&Z.name&&!isAliasRecord(ae)&&W(Z.name)),"children"in ne){let de=ne.children;for(let me=0;me<de.length;me++)U(de[me],ae,J&&J.children[me])}J=J||ae,Y(ae)}return le?()=>{W(le)}:noop$2}function W(Z){if(isRouteName(Z)){const K=D.get(Z);K&&(D.delete(Z),F.splice(F.indexOf(K),1),K.children.forEach(W),K.alias.forEach(W))}else{let K=F.indexOf(Z);K>-1&&(F.splice(K,1),Z.record.name&&D.delete(Z.record.name),Z.children.forEach(W),Z.alias.forEach(W))}}function q(){return F}function Y(Z){let K=0;for(;K<F.length&&comparePathParserScore(Z,F[K])>=0;)K++;F.splice(K,0,Z),Z.record.name&&!isAliasRecord(Z)&&D.set(Z.record.name,Z)}function Q(Z,K){let J,ie={},ne,se;if("name"in Z&&Z.name){if(J=D.get(Z.name),!J)throw createRouterError(1,{location:Z});se=J.record.name,ie=assign$1(paramsFromLocation(K.params,J.keys.filter(le=>!le.optional).map(le=>le.name)),Z.params),ne=J.stringify(ie)}else if("path"in Z)ne=Z.path,J=F.find(le=>le.re.test(ne)),J&&(ie=J.parse(ne),se=J.record.name);else{if(J=K.name?D.get(K.name):F.find(le=>le.re.test(K.path)),!J)throw createRouterError(1,{location:Z,currentLocation:K});se=J.record.name,ie=assign$1({},K.params,Z.params),ne=J.stringify(ie)}const re=[];let ae=J;for(;ae;)re.unshift(ae.record),ae=ae.parent;return{name:se,path:ne,params:ie,matched:re,meta:mergeMetaFields(re)}}return B.forEach(Z=>U(Z)),{addRoute:U,resolve:Q,removeRoute:W,getRoutes:q,getRecordMatcher:G}}function paramsFromLocation(B,R){let F={};for(let D of R)D in B&&(F[D]=B[D]);return F}function normalizeRouteRecord(B){return{path:B.path,redirect:B.redirect,name:B.name,meta:B.meta||{},aliasOf:void 0,beforeEnter:B.beforeEnter,props:normalizeRecordProps(B),children:B.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in B?B.components||{}:{default:B.component}}}function normalizeRecordProps(B){const R={},F=B.props||!1;if("component"in B)R.default=F;else for(let D in B.components)R[D]=typeof F=="boolean"?F:F[D];return R}function isAliasRecord(B){for(;B;){if(B.record.aliasOf)return!0;B=B.parent}return!1}function mergeMetaFields(B){return B.reduce((R,F)=>assign$1(R,F.meta),{})}function mergeOptions(B,R){let F={};for(let D in B)F[D]=D in R?R[D]:B[D];return F}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(B){return encodeURI(""+B).replace(ENC_PIPE_RE,"|").replace(ENC_BRACKET_OPEN_RE,"[").replace(ENC_BRACKET_CLOSE_RE,"]")}function encodeHash(B){return commonEncode(B).replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryValue(B){return commonEncode(B).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(B){return encodeQueryValue(B).replace(EQUAL_RE,"%3D")}function encodePath(B){return commonEncode(B).replace(HASH_RE,"%23").replace(IM_RE,"%3F")}function encodeParam(B){return encodePath(B).replace(SLASH_RE,"%2F")}function decode$3(B){try{return decodeURIComponent(""+B)}catch{}return""+B}function parseQuery(B){const R={};if(B===""||B==="?")return R;const D=(B[0]==="?"?B.slice(1):B).split("&");for(let G=0;G<D.length;++G){const U=D[G].replace(PLUS_RE," ");let W=U.indexOf("="),q=decode$3(W<0?U:U.slice(0,W)),Y=W<0?null:decode$3(U.slice(W+1));if(q in R){let Q=R[q];Array.isArray(Q)||(Q=R[q]=[Q]),Q.push(Y)}else R[q]=Y}return R}function stringifyQuery(B){let R="";for(let F in B){R.length&&(R+="&");const D=B[F];if(F=encodeQueryKey(F),D==null){D!==void 0&&(R+=F);continue}let G=Array.isArray(D)?D.map(U=>U&&encodeQueryValue(U)):[D&&encodeQueryValue(D)];for(let U=0;U<G.length;U++)R+=(U?"&":"")+F,G[U]!=null&&(R+="="+G[U])}return R}function normalizeQuery(B){const R={};for(let F in B){let D=B[F];D!==void 0&&(R[F]=Array.isArray(D)?D.map(G=>G==null?null:""+G):D==null?D:""+D)}return R}function useCallbacks(){let B=[];function R(D){return B.push(D),()=>{const G=B.indexOf(D);G>-1&&B.splice(G,1)}}function F(){B=[]}return{add:R,list:()=>B,reset:F}}function guardToPromiseFn(B,R,F,D,G){const U=D&&(D.enterCallbacks[G]=D.enterCallbacks[G]||[]);return()=>new Promise((W,q)=>{const Y=K=>{K===!1?q(createRouterError(4,{from:F,to:R})):K instanceof Error?q(K):isRouteLocation(K)?q(createRouterError(2,{from:R,to:K})):(U&&D.enterCallbacks[G]===U&&typeof K=="function"&&U.push(K),W())},Q=B.call(D&&D.instances[G],R,F,Y);let Z=Promise.resolve(Q);B.length<3&&(Z=Z.then(Y)),Z.catch(K=>q(K))})}function extractComponentsGuards(B,R,F,D){const G=[];for(const U of B)for(const W in U.components){let q=U.components[W];if(!(R!=="beforeRouteEnter"&&!U.instances[W]))if(isRouteComponent(q)){const Q=(q.__vccOpts||q)[R];Q&&G.push(guardToPromiseFn(Q,F,D,U,W))}else{let Y=q();Y=Y.catch(console.error),G.push(()=>Y.then(Q=>{if(!Q)return Promise.reject(new Error(`Couldn't resolve component "${W}" at "${U.path}"`));const Z=isESModule(Q)?Q.default:Q;U.components[W]=Z;const J=(Z.__vccOpts||Z)[R];return J&&guardToPromiseFn(J,F,D,U,W)()}))}}return G}function isRouteComponent(B){return typeof B=="object"||"displayName"in B||"props"in B||"__vccOpts"in B}function useLink(B){const R=inject(routerKey),F=inject(routeLocationKey),D=computed(()=>R.resolve(unref(B.to))),G=computed(()=>{let{matched:Y}=D.value,{length:Q}=Y;const Z=Y[Q-1];let K=F.matched;if(!Z||!K.length)return-1;let J=K.findIndex(isSameRouteRecord.bind(null,Z));if(J>-1)return J;let ie=getOriginalPath(Y[Q-2]);return Q>1&&getOriginalPath(Z)===ie&&K[K.length-1].path!==ie?K.findIndex(isSameRouteRecord.bind(null,Y[Q-2])):J}),U=computed(()=>G.value>-1&&includesParams(F.params,D.value.params)),W=computed(()=>G.value>-1&&G.value===F.matched.length-1&&isSameRouteLocationParams(F.params,D.value.params));function q(Y={}){return guardEvent(Y)?R[unref(B.replace)?"replace":"push"](unref(B.to)):Promise.resolve()}return{route:D,href:computed(()=>D.value.href),isActive:U,isExactActive:W,navigate:q}}const RouterLinkImpl=defineComponent({name:"RouterLink",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},setup(B,{slots:R,attrs:F}){const D=reactive(useLink(B)),{options:G}=inject(routerKey),U=computed(()=>({[getLinkClass(B.activeClass,G.linkActiveClass,"router-link-active")]:D.isActive,[getLinkClass(B.exactActiveClass,G.linkExactActiveClass,"router-link-exact-active")]:D.isExactActive}));return()=>{const W=R.default&&R.default(D);return B.custom?W:h$3("a",assign$1({"aria-current":D.isExactActive?B.ariaCurrentValue:null,onClick:D.navigate,href:D.href},F,{class:U.value}),W)}}}),RouterLink=RouterLinkImpl;function guardEvent(B){if(!(B.metaKey||B.altKey||B.ctrlKey||B.shiftKey)&&!B.defaultPrevented&&!(B.button!==void 0&&B.button!==0)){if(B.currentTarget&&B.currentTarget.getAttribute){const R=B.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(R))return}return B.preventDefault&&B.preventDefault(),!0}}function includesParams(B,R){for(let F in R){let D=R[F],G=B[F];if(typeof D=="string"){if(D!==G)return!1}else if(!Array.isArray(G)||G.length!==D.length||D.some((U,W)=>U!==G[W]))return!1}return!0}function getOriginalPath(B){return B?B.aliasOf?B.aliasOf.path:B.path:""}const getLinkClass=(B,R,F)=>B!=null?B:R!=null?R:F,RouterViewImpl=defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},setup(B,{attrs:R,slots:F}){const D=inject(routerViewLocationKey),G=computed(()=>B.route||D.value),U=inject(viewDepthKey,0),W=computed(()=>G.value.matched[U]);provide(viewDepthKey,U+1),provide(matchedRouteKey,W),provide(routerViewLocationKey,G);const q=ref();return watch(()=>[q.value,W.value,B.name],([Y,Q,Z],[K,J,ie])=>{Q&&(Q.instances[Z]=Y,J&&J!==Q&&Y&&Y===K&&(Q.leaveGuards=J.leaveGuards,Q.updateGuards=J.updateGuards)),Y&&Q&&(!J||!isSameRouteRecord(Q,J)||!K)&&(Q.enterCallbacks[Z]||[]).forEach(ne=>ne(Y))},{flush:"post"}),()=>{const Y=G.value,Q=W.value,Z=Q&&Q.components[B.name],K=B.name;if(!Z)return normalizeSlot(F.default,{Component:Z,route:Y});const J=Q.props[B.name],ie=J?J===!0?Y.params:typeof J=="function"?J(Y):J:null,se=h$3(Z,assign$1({},ie,R,{onVnodeUnmounted:re=>{re.component.isUnmounted&&(Q.instances[K]=null)},ref:q}));return normalizeSlot(F.default,{Component:se,route:Y})||se}}});function normalizeSlot(B,R){if(!B)return null;const F=B(R);return F.length===1?F[0]:F}const RouterView=RouterViewImpl;function createRouter(B){const R=createRouterMatcher(B.routes,B);let F=B.parseQuery||parseQuery,D=B.stringifyQuery||stringifyQuery,G=B.history;const U=useCallbacks(),W=useCallbacks(),q=useCallbacks(),Y=shallowRef(START_LOCATION_NORMALIZED);let Q=START_LOCATION_NORMALIZED;isBrowser&&B.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const Z=applyToParams.bind(null,Ve=>""+Ve),K=applyToParams.bind(null,encodeParam),J=applyToParams.bind(null,decode$3);function ie(Ve,Ye){let et,Je;return isRouteName(Ve)?(et=R.getRecordMatcher(Ve),Je=Ye):Je=Ve,R.addRoute(Je,et)}function ne(Ve){let Ye=R.getRecordMatcher(Ve);Ye&&R.removeRoute(Ye)}function se(){return R.getRoutes().map(Ve=>Ve.record)}function re(Ve){return!!R.getRecordMatcher(Ve)}function ae(Ve,Ye){if(Ye=assign$1({},Ye||Y.value),typeof Ve=="string"){let yt=parseURL(F,Ve,Ye.path),Fe=R.resolve({path:yt.path},Ye),_e=G.createHref(yt.fullPath);return assign$1(yt,Fe,{params:J(Fe.params),hash:decode$3(yt.hash),redirectedFrom:void 0,href:_e})}let et;"path"in Ve?et=assign$1({},Ve,{path:parseURL(F,Ve.path,Ye.path).path}):(et=assign$1({},Ve,{params:K(Ve.params)}),Ye.params=K(Ye.params));let Je=R.resolve(et,Ye);const st=Ve.hash||"";Je.params=Z(J(Je.params));const pt=stringifyURL(D,assign$1({},Ve,{hash:encodeHash(st),path:Je.path}));let dt=G.createHref(pt);return assign$1({fullPath:pt,hash:st,query:D===stringifyQuery?normalizeQuery(Ve.query):Ve.query},Je,{redirectedFrom:void 0,href:dt})}function le(Ve){return typeof Ve=="string"?parseURL(F,Ve,Y.value.path):assign$1({},Ve)}function ce(Ve,Ye){if(Q!==Ve)return createRouterError(8,{from:Ye,to:Ve})}function he(Ve){return fe(Ve)}function de(Ve){return he(assign$1(le(Ve),{replace:!0}))}function me(Ve){const Ye=Ve.matched[Ve.matched.length-1];if(Ye&&Ye.redirect){const{redirect:et}=Ye;let Je=typeof et=="function"?et(Ve):et;return typeof Je=="string"&&(Je=Je.indexOf("?")>-1||Je.indexOf("#")>-1?Je=le(Je):{path:Je}),assign$1({query:Ve.query,hash:Ve.hash,params:Ve.params},Je)}}function fe(Ve,Ye){const et=Q=ae(Ve),Je=Y.value,st=Ve.state,pt=Ve.force,dt=Ve.replace===!0,yt=me(et);if(yt)return fe(assign$1(le(yt),{state:st,force:pt,replace:dt}),Ye||et);const Fe=et;Fe.redirectedFrom=Ye;let _e;return!pt&&isSameRouteLocation(D,Je,et)&&(_e=createRouterError(16,{to:Fe,from:Je}),ke(Je,Je,!0,!1)),(_e?Promise.resolve(_e):Se(Fe,Je)).catch(je=>isNavigationFailure(je)?je:we(je)).then(je=>{if(je){if(isNavigationFailure(je,2))return fe(assign$1(le(je.to),{state:st,force:pt,replace:dt}),Ye||Fe)}else je=ve(Fe,Je,!0,dt,st);return Ee(Fe,Je,je),je})}function ge(Ve,Ye){const et=ce(Ve,Ye);return et?Promise.reject(et):Promise.resolve()}function Se(Ve,Ye){let et;const[Je,st,pt]=extractChangingRecords(Ve,Ye);et=extractComponentsGuards(Je.reverse(),"beforeRouteLeave",Ve,Ye);for(const yt of Je)yt.leaveGuards.forEach(Fe=>{et.push(guardToPromiseFn(Fe,Ve,Ye))});const dt=ge.bind(null,Ve,Ye);return et.push(dt),runGuardQueue(et).then(()=>{et=[];for(const yt of U.list())et.push(guardToPromiseFn(yt,Ve,Ye));return et.push(dt),runGuardQueue(et)}).then(()=>{et=extractComponentsGuards(st,"beforeRouteUpdate",Ve,Ye);for(const yt of st)yt.updateGuards.forEach(Fe=>{et.push(guardToPromiseFn(Fe,Ve,Ye))});return et.push(dt),runGuardQueue(et)}).then(()=>{et=[];for(const yt of Ve.matched)if(yt.beforeEnter&&Ye.matched.indexOf(yt)<0)if(Array.isArray(yt.beforeEnter))for(const Fe of yt.beforeEnter)et.push(guardToPromiseFn(Fe,Ve,Ye));else et.push(guardToPromiseFn(yt.beforeEnter,Ve,Ye));return et.push(dt),runGuardQueue(et)}).then(()=>(Ve.matched.forEach(yt=>yt.enterCallbacks={}),et=extractComponentsGuards(pt,"beforeRouteEnter",Ve,Ye),et.push(dt),runGuardQueue(et))).then(()=>{et=[];for(const yt of W.list())et.push(guardToPromiseFn(yt,Ve,Ye));return et.push(dt),runGuardQueue(et)}).catch(yt=>isNavigationFailure(yt,8)?yt:Promise.reject(yt))}function Ee(Ve,Ye,et){for(const Je of q.list())Je(Ve,Ye,et)}function ve(Ve,Ye,et,Je,st){const pt=ce(Ve,Ye);if(pt)return pt;const dt=Ye===START_LOCATION_NORMALIZED,yt=isBrowser?history.state:{};et&&(Je||dt?G.replace(Ve.fullPath,assign$1({scroll:dt&&yt&&yt.scroll},st)):G.push(Ve.fullPath,st)),Y.value=Ve,ke(Ve,Ye,et,dt),Me()}let xe;function Pe(){xe=G.listen((Ve,Ye,et)=>{let Je=ae(Ve);const st=me(Je);if(st){fe(assign$1(st,{replace:!0}),Je).catch(noop$2);return}Q=Je;const pt=Y.value;isBrowser&&saveScrollPosition(getScrollKey(pt.fullPath,et.delta),computeScrollPosition()),Se(Je,pt).catch(dt=>isNavigationFailure(dt,12)?dt:isNavigationFailure(dt,2)?(fe(dt.to,Je).catch(noop$2),Promise.reject()):(et.delta&&G.go(-et.delta,!1),we(dt))).then(dt=>{dt=dt||ve(Je,pt,!1),dt&&et.delta&&G.go(-et.delta,!1),Ee(Je,pt,dt)}).catch(noop$2)})}let ye=useCallbacks(),Te=useCallbacks(),Le;function we(Ve){return Me(Ve),Te.list().forEach(Ye=>Ye(Ve)),Promise.reject(Ve)}function Ae(){return Le&&Y.value!==START_LOCATION_NORMALIZED?Promise.resolve():new Promise((Ve,Ye)=>{ye.add([Ve,Ye])})}function Me(Ve){Le||(Le=!0,Pe(),ye.list().forEach(([Ye,et])=>Ve?et(Ve):Ye()),ye.reset())}function ke(Ve,Ye,et,Je){const{scrollBehavior:st}=B;if(!isBrowser||!st)return Promise.resolve();let pt=!et&&getSavedScrollPosition(getScrollKey(Ve.fullPath,0))||(Je||!et)&&history.state&&history.state.scroll||null;return nextTick().then(()=>st(Ve,Ye,pt)).then(dt=>dt&&scrollToPosition(dt)).catch(we)}const Ne=Ve=>G.go(Ve);let Ie;const Ge=new Set;return{currentRoute:Y,addRoute:ie,removeRoute:ne,hasRoute:re,getRoutes:se,resolve:ae,options:B,push:he,replace:de,go:Ne,back:()=>Ne(-1),forward:()=>Ne(1),beforeEach:U.add,beforeResolve:W.add,afterEach:q.add,onError:Te.add,isReady:Ae,install(Ve){const Ye=this;Ve.component("RouterLink",RouterLink),Ve.component("RouterView",RouterView),Ve.config.globalProperties.$router=Ye,Object.defineProperty(Ve.config.globalProperties,"$route",{get:()=>unref(Y)}),isBrowser&&!Ie&&Y.value===START_LOCATION_NORMALIZED&&(Ie=!0,he(G.location).catch(st=>{}));const et={};for(let st in START_LOCATION_NORMALIZED)et[st]=computed(()=>Y.value[st]);Ve.provide(routerKey,Ye),Ve.provide(routeLocationKey,reactive(et)),Ve.provide(routerViewLocationKey,Y);let Je=Ve.unmount;Ge.add(Ve),Ve.unmount=function(){Ge.delete(Ve),Ge.size<1&&(xe(),Y.value=START_LOCATION_NORMALIZED,Ie=!1,Le=!1),Je.call(this,arguments)}}}}function runGuardQueue(B){return B.reduce((R,F)=>R.then(()=>F()),Promise.resolve())}function extractChangingRecords(B,R){const F=[],D=[],G=[],U=Math.max(R.matched.length,B.matched.length);for(let W=0;W<U;W++){const q=R.matched[W];q&&(B.matched.indexOf(q)<0?F.push(q):D.push(q));const Y=B.matched[W];Y&&R.matched.indexOf(Y)<0&&G.push(Y)}return[F,D,G]}const scriptRel="modulepreload",seen={},base$2="/orchestra-music-score/",__vitePreload=function B(R,F){return!F||F.length===0?R():Promise.all(F.map(D=>{if(D=`${base$2}${D}`,D in seen)return;seen[D]=!0;const G=D.endsWith(".css"),U=G?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${D}"]${U}`))return;const W=document.createElement("link");if(W.rel=G?"stylesheet":scriptRel,G||(W.as="script",W.crossOrigin=""),W.href=D,document.head.appendChild(W),G)return new Promise((q,Y)=>{W.addEventListener("load",q),W.addEventListener("error",()=>Y(new Error(`Unable to preload CSS for ${D}`)))})})).then(()=>R())};var pMinDelay$2={exports:{}},yoctodelay=B=>new Promise(R=>setTimeout(R,B));const delay=yoctodelay,pMinDelay=async(B,R,F)=>{F={delayRejection:!0,...F};let D;F.delayRejection&&(B=B.catch(U=>{D=U}));const[G]=await Promise.all([B,delay(R)]);return D?Promise.reject(D):G};pMinDelay$2.exports=pMinDelay;pMinDelay$2.exports.default=pMinDelay;var pMinDelay$1=pMinDelay$2.exports;const el=document.getElementById("loading"),close$2=async()=>{var B;await pMinDelay$1(Promise.resolve(),300),el==null||el.classList.remove("show"),(B=document.getElementById("update"))==null||B.classList.remove("show")},open$1=()=>{el==null||el.classList.add("show")};function __variableDynamicImportRuntime0__(B){switch(B){case"../src/pages/baseClass/index.tsx":return __vitePreload(()=>import("./index.7263b250.js"),["assets/index.7263b250.js","assets/index.4b7cbd62.css","assets/index.9b042762.js"]);case"../src/pages/classify/index.tsx":return __vitePreload(()=>import("./index.3827ec2d.js"),["assets/index.3827ec2d.js","assets/index.f442919d.css","assets/index.9b042762.js"]);case"../src/pages/detail/index.tsx":return __vitePreload(()=>import("./index.50f7d48d.js"),["assets/index.50f7d48d.js","assets/index.b8ab8b80.css","assets/index.270b5f1c.js","assets/index.9b042762.js","assets/index.04ceacbb.js","assets/index.06f6a16d.css","assets/music.b35eb5be.js","assets/state.731c32e9.js","assets/vip.af07eab2.js","assets/vip.838f4afe.css"]);case"../src/pages/list/index.tsx":return __vitePreload(()=>import("./index.c3a1fa86.js"),["assets/index.c3a1fa86.js","assets/index.be7ceb5d.css","assets/state.731c32e9.js","assets/vip.af07eab2.js","assets/vip.838f4afe.css","assets/music.b35eb5be.js"]);case"../src/pages/notfund/index.tsx":return __vitePreload(()=>import("./index.c41b38b5.js"),[]);case"../src/pages/render-test/index.tsx":return __vitePreload(()=>import("./index.9578c538.js"),[]);case"../src/pages/report/index.tsx":return __vitePreload(()=>import("./index.aaeaa9d5.js").then(function(R){return R.i}),["assets/index.aaeaa9d5.js","assets/index.007e2b62.css","assets/index.04ceacbb.js","assets/index.06f6a16d.css","assets/music.b35eb5be.js","assets/index.a0d4ab04.js","assets/index.6e0505d3.css","assets/index.270b5f1c.js"]);default:return new Promise(function(R,F){(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(F.bind(null,new Error("Unknown variable dynamic import: "+B)))})}}const getRouterComponent=B=>async()=>{const R=setTimeout(()=>{open$1()},300);let F=Promise.resolve(null);try{F=await __variableDynamicImportRuntime0__(`../src/pages/${B}/index.tsx`)}catch{F=Promise.reject()}return clearTimeout(R),close$2(),F};var routes=[{path:"/",component:getRouterComponent("baseClass")},{path:"/classify",component:getRouterComponent("classify")},{path:"/list/:id",component:getRouterComponent("list"),meta:{keepAlive:!0}},{path:"/detail/:id",component:getRouterComponent("detail")},{path:"/evaluating/:id",component:getRouterComponent("detail")},{path:"/report",component:getRouterComponent("report")},{path:"/report/:id",component:getRouterComponent("report")},{path:"/render-test",component:getRouterComponent("render-test")},{path:"/vexflow-test",component:__vitePreload(()=>import("./index.943af03c.js"),[])},{path:"/:pathMatch(.*)*",component:getRouterComponent("notfund"),meta:{title:"404 Not Fund"}}];createRouter({history:createWebHashHistory(),routes});const tock="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",tick="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",b64toBlob=(B,R="",F=512)=>{const D=atob(B),G=[];for(let W=0;W<D.length;W+=F){const q=D.slice(W,W+F),Y=new Array(q.length);for(let Z=0;Z<q.length;Z++)Y[Z]=q.charCodeAt(Z);const Q=new Uint8Array(Y);G.push(Q)}return new Blob(G,{type:R})},tickUrl=URL.createObjectURL(b64toBlob(tick,"audio/mpeg")),tockUrl=URL.createObjectURL(b64toBlob(tock,"audio/mpeg"));var eventemitter3={exports:{}};(function(B){var R=Object.prototype.hasOwnProperty,F="~";function D(){}Object.create&&(D.prototype=Object.create(null),new D().__proto__||(F=!1));function G(Y,Q,Z){this.fn=Y,this.context=Q,this.once=Z||!1}function U(Y,Q,Z,K,J){if(typeof Z!="function")throw new TypeError("The listener must be a function");var ie=new G(Z,K||Y,J),ne=F?F+Q:Q;return Y._events[ne]?Y._events[ne].fn?Y._events[ne]=[Y._events[ne],ie]:Y._events[ne].push(ie):(Y._events[ne]=ie,Y._eventsCount++),Y}function W(Y,Q){--Y._eventsCount===0?Y._events=new D:delete Y._events[Q]}function q(){this._events=new D,this._eventsCount=0}q.prototype.eventNames=function(){var Q=[],Z,K;if(this._eventsCount===0)return Q;for(K in Z=this._events)R.call(Z,K)&&Q.push(F?K.slice(1):K);return Object.getOwnPropertySymbols?Q.concat(Object.getOwnPropertySymbols(Z)):Q},q.prototype.listeners=function(Q){var Z=F?F+Q:Q,K=this._events[Z];if(!K)return[];if(K.fn)return[K.fn];for(var J=0,ie=K.length,ne=new Array(ie);J<ie;J++)ne[J]=K[J].fn;return ne},q.prototype.listenerCount=function(Q){var Z=F?F+Q:Q,K=this._events[Z];return K?K.fn?1:K.length:0},q.prototype.emit=function(Q,Z,K,J,ie,ne){var se=F?F+Q:Q;if(!this._events[se])return!1;var re=this._events[se],ae=arguments.length,le,ce;if(re.fn){switch(re.once&&this.removeListener(Q,re.fn,void 0,!0),ae){case 1:return re.fn.call(re.context),!0;case 2:return re.fn.call(re.context,Z),!0;case 3:return re.fn.call(re.context,Z,K),!0;case 4:return re.fn.call(re.context,Z,K,J),!0;case 5:return re.fn.call(re.context,Z,K,J,ie),!0;case 6:return re.fn.call(re.context,Z,K,J,ie,ne),!0}for(ce=1,le=new Array(ae-1);ce<ae;ce++)le[ce-1]=arguments[ce];re.fn.apply(re.context,le)}else{var he=re.length,de;for(ce=0;ce<he;ce++)switch(re[ce].once&&this.removeListener(Q,re[ce].fn,void 0,!0),ae){case 1:re[ce].fn.call(re[ce].context);break;case 2:re[ce].fn.call(re[ce].context,Z);break;case 3:re[ce].fn.call(re[ce].context,Z,K);break;case 4:re[ce].fn.call(re[ce].context,Z,K,J);break;default:if(!le)for(de=1,le=new Array(ae-1);de<ae;de++)le[de-1]=arguments[de];re[ce].fn.apply(re[ce].context,le)}}return!0},q.prototype.on=function(Q,Z,K){return U(this,Q,Z,K,!1)},q.prototype.once=function(Q,Z,K){return U(this,Q,Z,K,!0)},q.prototype.removeListener=function(Q,Z,K,J){var ie=F?F+Q:Q;if(!this._events[ie])return this;if(!Z)return W(this,ie),this;var ne=this._events[ie];if(ne.fn)ne.fn===Z&&(!J||ne.once)&&(!K||ne.context===K)&&W(this,ie);else{for(var se=0,re=[],ae=ne.length;se<ae;se++)(ne[se].fn!==Z||J&&!ne[se].once||K&&ne[se].context!==K)&&re.push(ne[se]);re.length?this._events[ie]=re.length===1?re[0]:re:W(this,ie)}return this},q.prototype.removeAllListeners=function(Q){var Z;return Q?(Z=F?F+Q:Q,this._events[Z]&&W(this,Z)):(this._events=new D,this._eventsCount=0),this},q.prototype.off=q.prototype.removeListener,q.prototype.addListener=q.prototype.on,q.prefixed=F,q.EventEmitter=q,B.exports=q})(eventemitter3);var EventEmitter=eventemitter3.exports,howler={};/*!
- * howler.js v2.2.3
- * howlerjs.com
- *
- * (c) 2013-2020, James Simpson of GoldFire Studios
- * goldfirestudios.com
- *
- * MIT License
- */(function(B){(function(){var R=function(){this.init()};R.prototype={init:function(){var K=this||F;return K._counter=1e3,K._html5AudioPool=[],K.html5PoolSize=10,K._codecs={},K._howls=[],K._muted=!1,K._volume=1,K._canPlayEvent="canplaythrough",K._navigator=typeof window!="undefined"&&window.navigator?window.navigator:null,K.masterGain=null,K.noAudio=!1,K.usingWebAudio=!0,K.autoSuspend=!0,K.ctx=null,K.autoUnlock=!0,K._setup(),K},volume:function(K){var J=this||F;if(K=parseFloat(K),J.ctx||Z(),typeof K!="undefined"&&K>=0&&K<=1){if(J._volume=K,J._muted)return J;J.usingWebAudio&&J.masterGain.gain.setValueAtTime(K,F.ctx.currentTime);for(var ie=0;ie<J._howls.length;ie++)if(!J._howls[ie]._webAudio)for(var ne=J._howls[ie]._getSoundIds(),se=0;se<ne.length;se++){var re=J._howls[ie]._soundById(ne[se]);re&&re._node&&(re._node.volume=re._volume*K)}return J}return J._volume},mute:function(K){var J=this||F;J.ctx||Z(),J._muted=K,J.usingWebAudio&&J.masterGain.gain.setValueAtTime(K?0:J._volume,F.ctx.currentTime);for(var ie=0;ie<J._howls.length;ie++)if(!J._howls[ie]._webAudio)for(var ne=J._howls[ie]._getSoundIds(),se=0;se<ne.length;se++){var re=J._howls[ie]._soundById(ne[se]);re&&re._node&&(re._node.muted=K?!0:re._muted)}return J},stop:function(){for(var K=this||F,J=0;J<K._howls.length;J++)K._howls[J].stop();return K},unload:function(){for(var K=this||F,J=K._howls.length-1;J>=0;J--)K._howls[J].unload();return K.usingWebAudio&&K.ctx&&typeof K.ctx.close!="undefined"&&(K.ctx.close(),K.ctx=null,Z()),K},codecs:function(K){return(this||F)._codecs[K.replace(/^x-/,"")]},_setup:function(){var K=this||F;if(K.state=K.ctx&&K.ctx.state||"suspended",K._autoSuspend(),!K.usingWebAudio)if(typeof Audio!="undefined")try{var J=new Audio;typeof J.oncanplaythrough=="undefined"&&(K._canPlayEvent="canplay")}catch{K.noAudio=!0}else K.noAudio=!0;try{var J=new Audio;J.muted&&(K.noAudio=!0)}catch{}return K.noAudio||K._setupCodecs(),K},_setupCodecs:function(){var K=this||F,J=null;try{J=typeof Audio!="undefined"?new Audio:null}catch{return K}if(!J||typeof J.canPlayType!="function")return K;var ie=J.canPlayType("audio/mpeg;").replace(/^no$/,""),ne=K._navigator?K._navigator.userAgent:"",se=ne.match(/OPR\/([0-6].)/g),re=se&&parseInt(se[0].split("/")[1],10)<33,ae=ne.indexOf("Safari")!==-1&&ne.indexOf("Chrome")===-1,le=ne.match(/Version\/(.*?) /),ce=ae&&le&&parseInt(le[1],10)<15;return K._codecs={mp3:!!(!re&&(ie||J.canPlayType("audio/mp3;").replace(/^no$/,""))),mpeg:!!ie,opus:!!J.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!J.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!J.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(J.canPlayType('audio/wav; codecs="1"')||J.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!J.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!J.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(J.canPlayType("audio/x-m4a;")||J.canPlayType("audio/m4a;")||J.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(J.canPlayType("audio/x-m4b;")||J.canPlayType("audio/m4b;")||J.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(J.canPlayType("audio/x-mp4;")||J.canPlayType("audio/mp4;")||J.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!(!ce&&J.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!ce&&J.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!J.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(J.canPlayType("audio/x-flac;")||J.canPlayType("audio/flac;")).replace(/^no$/,"")},K},_unlockAudio:function(){var K=this||F;if(!(K._audioUnlocked||!K.ctx)){K._audioUnlocked=!1,K.autoUnlock=!1,!K._mobileUnloaded&&K.ctx.sampleRate!==44100&&(K._mobileUnloaded=!0,K.unload()),K._scratchBuffer=K.ctx.createBuffer(1,1,22050);var J=function(ie){for(;K._html5AudioPool.length<K.html5PoolSize;)try{var ne=new Audio;ne._unlocked=!0,K._releaseHtml5Audio(ne)}catch{K.noAudio=!0;break}for(var se=0;se<K._howls.length;se++)if(!K._howls[se]._webAudio)for(var re=K._howls[se]._getSoundIds(),ae=0;ae<re.length;ae++){var le=K._howls[se]._soundById(re[ae]);le&&le._node&&!le._node._unlocked&&(le._node._unlocked=!0,le._node.load())}K._autoResume();var ce=K.ctx.createBufferSource();ce.buffer=K._scratchBuffer,ce.connect(K.ctx.destination),typeof ce.start=="undefined"?ce.noteOn(0):ce.start(0),typeof K.ctx.resume=="function"&&K.ctx.resume(),ce.onended=function(){ce.disconnect(0),K._audioUnlocked=!0,document.removeEventListener("touchstart",J,!0),document.removeEventListener("touchend",J,!0),document.removeEventListener("click",J,!0),document.removeEventListener("keydown",J,!0);for(var he=0;he<K._howls.length;he++)K._howls[he]._emit("unlock")}};return document.addEventListener("touchstart",J,!0),document.addEventListener("touchend",J,!0),document.addEventListener("click",J,!0),document.addEventListener("keydown",J,!0),K}},_obtainHtml5Audio:function(){var K=this||F;if(K._html5AudioPool.length)return K._html5AudioPool.pop();var J=new Audio().play();return J&&typeof Promise!="undefined"&&(J instanceof Promise||typeof J.then=="function")&&J.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(K){var J=this||F;return K._unlocked&&J._html5AudioPool.push(K),J},_autoSuspend:function(){var K=this;if(!(!K.autoSuspend||!K.ctx||typeof K.ctx.suspend=="undefined"||!F.usingWebAudio)){for(var J=0;J<K._howls.length;J++)if(K._howls[J]._webAudio){for(var ie=0;ie<K._howls[J]._sounds.length;ie++)if(!K._howls[J]._sounds[ie]._paused)return K}return K._suspendTimer&&clearTimeout(K._suspendTimer),K._suspendTimer=setTimeout(function(){if(!!K.autoSuspend){K._suspendTimer=null,K.state="suspending";var ne=function(){K.state="suspended",K._resumeAfterSuspend&&(delete K._resumeAfterSuspend,K._autoResume())};K.ctx.suspend().then(ne,ne)}},3e4),K}},_autoResume:function(){var K=this;if(!(!K.ctx||typeof K.ctx.resume=="undefined"||!F.usingWebAudio))return K.state==="running"&&K.ctx.state!=="interrupted"&&K._suspendTimer?(clearTimeout(K._suspendTimer),K._suspendTimer=null):K.state==="suspended"||K.state==="running"&&K.ctx.state==="interrupted"?(K.ctx.resume().then(function(){K.state="running";for(var J=0;J<K._howls.length;J++)K._howls[J]._emit("resume")}),K._suspendTimer&&(clearTimeout(K._suspendTimer),K._suspendTimer=null)):K.state==="suspending"&&(K._resumeAfterSuspend=!0),K}};var F=new R,D=function(K){var J=this;if(!K.src||K.src.length===0){console.error("An array of source files must be passed with any new Howl.");return}J.init(K)};D.prototype={init:function(K){var J=this;return F.ctx||Z(),J._autoplay=K.autoplay||!1,J._format=typeof K.format!="string"?K.format:[K.format],J._html5=K.html5||!1,J._muted=K.mute||!1,J._loop=K.loop||!1,J._pool=K.pool||5,J._preload=typeof K.preload=="boolean"||K.preload==="metadata"?K.preload:!0,J._rate=K.rate||1,J._sprite=K.sprite||{},J._src=typeof K.src!="string"?K.src:[K.src],J._volume=K.volume!==void 0?K.volume:1,J._xhr={method:K.xhr&&K.xhr.method?K.xhr.method:"GET",headers:K.xhr&&K.xhr.headers?K.xhr.headers:null,withCredentials:K.xhr&&K.xhr.withCredentials?K.xhr.withCredentials:!1},J._duration=0,J._state="unloaded",J._sounds=[],J._endTimers={},J._queue=[],J._playLock=!1,J._onend=K.onend?[{fn:K.onend}]:[],J._onfade=K.onfade?[{fn:K.onfade}]:[],J._onload=K.onload?[{fn:K.onload}]:[],J._onloaderror=K.onloaderror?[{fn:K.onloaderror}]:[],J._onplayerror=K.onplayerror?[{fn:K.onplayerror}]:[],J._onpause=K.onpause?[{fn:K.onpause}]:[],J._onplay=K.onplay?[{fn:K.onplay}]:[],J._onstop=K.onstop?[{fn:K.onstop}]:[],J._onmute=K.onmute?[{fn:K.onmute}]:[],J._onvolume=K.onvolume?[{fn:K.onvolume}]:[],J._onrate=K.onrate?[{fn:K.onrate}]:[],J._onseek=K.onseek?[{fn:K.onseek}]:[],J._onunlock=K.onunlock?[{fn:K.onunlock}]:[],J._onresume=[],J._webAudio=F.usingWebAudio&&!J._html5,typeof F.ctx!="undefined"&&F.ctx&&F.autoUnlock&&F._unlockAudio(),F._howls.push(J),J._autoplay&&J._queue.push({event:"play",action:function(){J.play()}}),J._preload&&J._preload!=="none"&&J.load(),J},load:function(){var K=this,J=null;if(F.noAudio){K._emit("loaderror",null,"No audio support.");return}typeof K._src=="string"&&(K._src=[K._src]);for(var ie=0;ie<K._src.length;ie++){var ne,se;if(K._format&&K._format[ie])ne=K._format[ie];else{if(se=K._src[ie],typeof se!="string"){K._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}ne=/^data:audio\/([^;,]+);/i.exec(se),ne||(ne=/\.([^.]+)$/.exec(se.split("?",1)[0])),ne&&(ne=ne[1].toLowerCase())}if(ne||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),ne&&F.codecs(ne)){J=K._src[ie];break}}if(!J){K._emit("loaderror",null,"No codec support for selected audio sources.");return}return K._src=J,K._state="loading",window.location.protocol==="https:"&&J.slice(0,5)==="http:"&&(K._html5=!0,K._webAudio=!1),new G(K),K._webAudio&&W(K),K},play:function(K,J){var ie=this,ne=null;if(typeof K=="number")ne=K,K=null;else{if(typeof K=="string"&&ie._state==="loaded"&&!ie._sprite[K])return null;if(typeof K=="undefined"&&(K="__default",!ie._playLock)){for(var se=0,re=0;re<ie._sounds.length;re++)ie._sounds[re]._paused&&!ie._sounds[re]._ended&&(se++,ne=ie._sounds[re]._id);se===1?K=null:ne=null}}var ae=ne?ie._soundById(ne):ie._inactiveSound();if(!ae)return null;if(ne&&!K&&(K=ae._sprite||"__default"),ie._state!=="loaded"){ae._sprite=K,ae._ended=!1;var le=ae._id;return ie._queue.push({event:"play",action:function(){ie.play(le)}}),le}if(ne&&!ae._paused)return J||ie._loadQueue("play"),ae._id;ie._webAudio&&F._autoResume();var ce=Math.max(0,ae._seek>0?ae._seek:ie._sprite[K][0]/1e3),he=Math.max(0,(ie._sprite[K][0]+ie._sprite[K][1])/1e3-ce),de=he*1e3/Math.abs(ae._rate),me=ie._sprite[K][0]/1e3,fe=(ie._sprite[K][0]+ie._sprite[K][1])/1e3;ae._sprite=K,ae._ended=!1;var ge=function(){ae._paused=!1,ae._seek=ce,ae._start=me,ae._stop=fe,ae._loop=!!(ae._loop||ie._sprite[K][2])};if(ce>=fe){ie._ended(ae);return}var Se=ae._node;if(ie._webAudio){var Ee=function(){ie._playLock=!1,ge(),ie._refreshBuffer(ae);var ye=ae._muted||ie._muted?0:ae._volume;Se.gain.setValueAtTime(ye,F.ctx.currentTime),ae._playStart=F.ctx.currentTime,typeof Se.bufferSource.start=="undefined"?ae._loop?Se.bufferSource.noteGrainOn(0,ce,86400):Se.bufferSource.noteGrainOn(0,ce,he):ae._loop?Se.bufferSource.start(0,ce,86400):Se.bufferSource.start(0,ce,he),de!==1/0&&(ie._endTimers[ae._id]=setTimeout(ie._ended.bind(ie,ae),de)),J||setTimeout(function(){ie._emit("play",ae._id),ie._loadQueue()},0)};F.state==="running"&&F.ctx.state!=="interrupted"?Ee():(ie._playLock=!0,ie.once("resume",Ee),ie._clearTimer(ae._id))}else{var ve=function(){Se.currentTime=ce,Se.muted=ae._muted||ie._muted||F._muted||Se.muted,Se.volume=ae._volume*F.volume(),Se.playbackRate=ae._rate;try{var ye=Se.play();if(ye&&typeof Promise!="undefined"&&(ye instanceof Promise||typeof ye.then=="function")?(ie._playLock=!0,ge(),ye.then(function(){ie._playLock=!1,Se._unlocked=!0,J?ie._loadQueue():ie._emit("play",ae._id)}).catch(function(){ie._playLock=!1,ie._emit("playerror",ae._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."),ae._ended=!0,ae._paused=!0})):J||(ie._playLock=!1,ge(),ie._emit("play",ae._id)),Se.playbackRate=ae._rate,Se.paused){ie._emit("playerror",ae._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}K!=="__default"||ae._loop?ie._endTimers[ae._id]=setTimeout(ie._ended.bind(ie,ae),de):(ie._endTimers[ae._id]=function(){ie._ended(ae),Se.removeEventListener("ended",ie._endTimers[ae._id],!1)},Se.addEventListener("ended",ie._endTimers[ae._id],!1))}catch(Te){ie._emit("playerror",ae._id,Te)}};Se.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(Se.src=ie._src,Se.load());var xe=window&&window.ejecta||!Se.readyState&&F._navigator.isCocoonJS;if(Se.readyState>=3||xe)ve();else{ie._playLock=!0,ie._state="loading";var Pe=function(){ie._state="loaded",ve(),Se.removeEventListener(F._canPlayEvent,Pe,!1)};Se.addEventListener(F._canPlayEvent,Pe,!1),ie._clearTimer(ae._id)}}return ae._id},pause:function(K){var J=this;if(J._state!=="loaded"||J._playLock)return J._queue.push({event:"pause",action:function(){J.pause(K)}}),J;for(var ie=J._getSoundIds(K),ne=0;ne<ie.length;ne++){J._clearTimer(ie[ne]);var se=J._soundById(ie[ne]);if(se&&!se._paused&&(se._seek=J.seek(ie[ne]),se._rateSeek=0,se._paused=!0,J._stopFade(ie[ne]),se._node))if(J._webAudio){if(!se._node.bufferSource)continue;typeof se._node.bufferSource.stop=="undefined"?se._node.bufferSource.noteOff(0):se._node.bufferSource.stop(0),J._cleanBuffer(se._node)}else(!isNaN(se._node.duration)||se._node.duration===1/0)&&se._node.pause();arguments[1]||J._emit("pause",se?se._id:null)}return J},stop:function(K,J){var ie=this;if(ie._state!=="loaded"||ie._playLock)return ie._queue.push({event:"stop",action:function(){ie.stop(K)}}),ie;for(var ne=ie._getSoundIds(K),se=0;se<ne.length;se++){ie._clearTimer(ne[se]);var re=ie._soundById(ne[se]);re&&(re._seek=re._start||0,re._rateSeek=0,re._paused=!0,re._ended=!0,ie._stopFade(ne[se]),re._node&&(ie._webAudio?re._node.bufferSource&&(typeof re._node.bufferSource.stop=="undefined"?re._node.bufferSource.noteOff(0):re._node.bufferSource.stop(0),ie._cleanBuffer(re._node)):(!isNaN(re._node.duration)||re._node.duration===1/0)&&(re._node.currentTime=re._start||0,re._node.pause(),re._node.duration===1/0&&ie._clearSound(re._node))),J||ie._emit("stop",re._id))}return ie},mute:function(K,J){var ie=this;if(ie._state!=="loaded"||ie._playLock)return ie._queue.push({event:"mute",action:function(){ie.mute(K,J)}}),ie;if(typeof J=="undefined")if(typeof K=="boolean")ie._muted=K;else return ie._muted;for(var ne=ie._getSoundIds(J),se=0;se<ne.length;se++){var re=ie._soundById(ne[se]);re&&(re._muted=K,re._interval&&ie._stopFade(re._id),ie._webAudio&&re._node?re._node.gain.setValueAtTime(K?0:re._volume,F.ctx.currentTime):re._node&&(re._node.muted=F._muted?!0:K),ie._emit("mute",re._id))}return ie},volume:function(){var K=this,J=arguments,ie,ne;if(J.length===0)return K._volume;if(J.length===1||J.length===2&&typeof J[1]=="undefined"){var se=K._getSoundIds(),re=se.indexOf(J[0]);re>=0?ne=parseInt(J[0],10):ie=parseFloat(J[0])}else J.length>=2&&(ie=parseFloat(J[0]),ne=parseInt(J[1],10));var ae;if(typeof ie!="undefined"&&ie>=0&&ie<=1){if(K._state!=="loaded"||K._playLock)return K._queue.push({event:"volume",action:function(){K.volume.apply(K,J)}}),K;typeof ne=="undefined"&&(K._volume=ie),ne=K._getSoundIds(ne);for(var le=0;le<ne.length;le++)ae=K._soundById(ne[le]),ae&&(ae._volume=ie,J[2]||K._stopFade(ne[le]),K._webAudio&&ae._node&&!ae._muted?ae._node.gain.setValueAtTime(ie,F.ctx.currentTime):ae._node&&!ae._muted&&(ae._node.volume=ie*F.volume()),K._emit("volume",ae._id))}else return ae=ne?K._soundById(ne):K._sounds[0],ae?ae._volume:0;return K},fade:function(K,J,ie,ne){var se=this;if(se._state!=="loaded"||se._playLock)return se._queue.push({event:"fade",action:function(){se.fade(K,J,ie,ne)}}),se;K=Math.min(Math.max(0,parseFloat(K)),1),J=Math.min(Math.max(0,parseFloat(J)),1),ie=parseFloat(ie),se.volume(K,ne);for(var re=se._getSoundIds(ne),ae=0;ae<re.length;ae++){var le=se._soundById(re[ae]);if(le){if(ne||se._stopFade(re[ae]),se._webAudio&&!le._muted){var ce=F.ctx.currentTime,he=ce+ie/1e3;le._volume=K,le._node.gain.setValueAtTime(K,ce),le._node.gain.linearRampToValueAtTime(J,he)}se._startFadeInterval(le,K,J,ie,re[ae],typeof ne=="undefined")}}return se},_startFadeInterval:function(K,J,ie,ne,se,re){var ae=this,le=J,ce=ie-J,he=Math.abs(ce/.01),de=Math.max(4,he>0?ne/he:ne),me=Date.now();K._fadeTo=ie,K._interval=setInterval(function(){var fe=(Date.now()-me)/ne;me=Date.now(),le+=ce*fe,le=Math.round(le*100)/100,ce<0?le=Math.max(ie,le):le=Math.min(ie,le),ae._webAudio?K._volume=le:ae.volume(le,K._id,!0),re&&(ae._volume=le),(ie<J&&le<=ie||ie>J&&le>=ie)&&(clearInterval(K._interval),K._interval=null,K._fadeTo=null,ae.volume(ie,K._id),ae._emit("fade",K._id))},de)},_stopFade:function(K){var J=this,ie=J._soundById(K);return ie&&ie._interval&&(J._webAudio&&ie._node.gain.cancelScheduledValues(F.ctx.currentTime),clearInterval(ie._interval),ie._interval=null,J.volume(ie._fadeTo,K),ie._fadeTo=null,J._emit("fade",K)),J},loop:function(){var K=this,J=arguments,ie,ne,se;if(J.length===0)return K._loop;if(J.length===1)if(typeof J[0]=="boolean")ie=J[0],K._loop=ie;else return se=K._soundById(parseInt(J[0],10)),se?se._loop:!1;else J.length===2&&(ie=J[0],ne=parseInt(J[1],10));for(var re=K._getSoundIds(ne),ae=0;ae<re.length;ae++)se=K._soundById(re[ae]),se&&(se._loop=ie,K._webAudio&&se._node&&se._node.bufferSource&&(se._node.bufferSource.loop=ie,ie&&(se._node.bufferSource.loopStart=se._start||0,se._node.bufferSource.loopEnd=se._stop,K.playing(re[ae])&&(K.pause(re[ae],!0),K.play(re[ae],!0)))));return K},rate:function(){var K=this,J=arguments,ie,ne;if(J.length===0)ne=K._sounds[0]._id;else if(J.length===1){var se=K._getSoundIds(),re=se.indexOf(J[0]);re>=0?ne=parseInt(J[0],10):ie=parseFloat(J[0])}else J.length===2&&(ie=parseFloat(J[0]),ne=parseInt(J[1],10));var ae;if(typeof ie=="number"){if(K._state!=="loaded"||K._playLock)return K._queue.push({event:"rate",action:function(){K.rate.apply(K,J)}}),K;typeof ne=="undefined"&&(K._rate=ie),ne=K._getSoundIds(ne);for(var le=0;le<ne.length;le++)if(ae=K._soundById(ne[le]),ae){K.playing(ne[le])&&(ae._rateSeek=K.seek(ne[le]),ae._playStart=K._webAudio?F.ctx.currentTime:ae._playStart),ae._rate=ie,K._webAudio&&ae._node&&ae._node.bufferSource?ae._node.bufferSource.playbackRate.setValueAtTime(ie,F.ctx.currentTime):ae._node&&(ae._node.playbackRate=ie);var ce=K.seek(ne[le]),he=(K._sprite[ae._sprite][0]+K._sprite[ae._sprite][1])/1e3-ce,de=he*1e3/Math.abs(ae._rate);(K._endTimers[ne[le]]||!ae._paused)&&(K._clearTimer(ne[le]),K._endTimers[ne[le]]=setTimeout(K._ended.bind(K,ae),de)),K._emit("rate",ae._id)}}else return ae=K._soundById(ne),ae?ae._rate:K._rate;return K},seek:function(){var K=this,J=arguments,ie,ne;if(J.length===0)K._sounds.length&&(ne=K._sounds[0]._id);else if(J.length===1){var se=K._getSoundIds(),re=se.indexOf(J[0]);re>=0?ne=parseInt(J[0],10):K._sounds.length&&(ne=K._sounds[0]._id,ie=parseFloat(J[0]))}else J.length===2&&(ie=parseFloat(J[0]),ne=parseInt(J[1],10));if(typeof ne=="undefined")return 0;if(typeof ie=="number"&&(K._state!=="loaded"||K._playLock))return K._queue.push({event:"seek",action:function(){K.seek.apply(K,J)}}),K;var ae=K._soundById(ne);if(ae)if(typeof ie=="number"&&ie>=0){var le=K.playing(ne);le&&K.pause(ne,!0),ae._seek=ie,ae._ended=!1,K._clearTimer(ne),!K._webAudio&&ae._node&&!isNaN(ae._node.duration)&&(ae._node.currentTime=ie);var ce=function(){le&&K.play(ne,!0),K._emit("seek",ne)};if(le&&!K._webAudio){var he=function(){K._playLock?setTimeout(he,0):ce()};setTimeout(he,0)}else ce()}else if(K._webAudio){var de=K.playing(ne)?F.ctx.currentTime-ae._playStart:0,me=ae._rateSeek?ae._rateSeek-ae._seek:0;return ae._seek+(me+de*Math.abs(ae._rate))}else return ae._node.currentTime;return K},playing:function(K){var J=this;if(typeof K=="number"){var ie=J._soundById(K);return ie?!ie._paused:!1}for(var ne=0;ne<J._sounds.length;ne++)if(!J._sounds[ne]._paused)return!0;return!1},duration:function(K){var J=this,ie=J._duration,ne=J._soundById(K);return ne&&(ie=J._sprite[ne._sprite][1]/1e3),ie},state:function(){return this._state},unload:function(){for(var K=this,J=K._sounds,ie=0;ie<J.length;ie++)J[ie]._paused||K.stop(J[ie]._id),K._webAudio||(K._clearSound(J[ie]._node),J[ie]._node.removeEventListener("error",J[ie]._errorFn,!1),J[ie]._node.removeEventListener(F._canPlayEvent,J[ie]._loadFn,!1),J[ie]._node.removeEventListener("ended",J[ie]._endFn,!1),F._releaseHtml5Audio(J[ie]._node)),delete J[ie]._node,K._clearTimer(J[ie]._id);var ne=F._howls.indexOf(K);ne>=0&&F._howls.splice(ne,1);var se=!0;for(ie=0;ie<F._howls.length;ie++)if(F._howls[ie]._src===K._src||K._src.indexOf(F._howls[ie]._src)>=0){se=!1;break}return U&&se&&delete U[K._src],F.noAudio=!1,K._state="unloaded",K._sounds=[],K=null,null},on:function(K,J,ie,ne){var se=this,re=se["_on"+K];return typeof J=="function"&&re.push(ne?{id:ie,fn:J,once:ne}:{id:ie,fn:J}),se},off:function(K,J,ie){var ne=this,se=ne["_on"+K],re=0;if(typeof J=="number"&&(ie=J,J=null),J||ie)for(re=0;re<se.length;re++){var ae=ie===se[re].id;if(J===se[re].fn&&ae||!J&&ae){se.splice(re,1);break}}else if(K)ne["_on"+K]=[];else{var le=Object.keys(ne);for(re=0;re<le.length;re++)le[re].indexOf("_on")===0&&Array.isArray(ne[le[re]])&&(ne[le[re]]=[])}return ne},once:function(K,J,ie){var ne=this;return ne.on(K,J,ie,1),ne},_emit:function(K,J,ie){for(var ne=this,se=ne["_on"+K],re=se.length-1;re>=0;re--)(!se[re].id||se[re].id===J||K==="load")&&(setTimeout(function(ae){ae.call(this,J,ie)}.bind(ne,se[re].fn),0),se[re].once&&ne.off(K,se[re].fn,se[re].id));return ne._loadQueue(K),ne},_loadQueue:function(K){var J=this;if(J._queue.length>0){var ie=J._queue[0];ie.event===K&&(J._queue.shift(),J._loadQueue()),K||ie.action()}return J},_ended:function(K){var J=this,ie=K._sprite;if(!J._webAudio&&K._node&&!K._node.paused&&!K._node.ended&&K._node.currentTime<K._stop)return setTimeout(J._ended.bind(J,K),100),J;var ne=!!(K._loop||J._sprite[ie][2]);if(J._emit("end",K._id),!J._webAudio&&ne&&J.stop(K._id,!0).play(K._id),J._webAudio&&ne){J._emit("play",K._id),K._seek=K._start||0,K._rateSeek=0,K._playStart=F.ctx.currentTime;var se=(K._stop-K._start)*1e3/Math.abs(K._rate);J._endTimers[K._id]=setTimeout(J._ended.bind(J,K),se)}return J._webAudio&&!ne&&(K._paused=!0,K._ended=!0,K._seek=K._start||0,K._rateSeek=0,J._clearTimer(K._id),J._cleanBuffer(K._node),F._autoSuspend()),!J._webAudio&&!ne&&J.stop(K._id,!0),J},_clearTimer:function(K){var J=this;if(J._endTimers[K]){if(typeof J._endTimers[K]!="function")clearTimeout(J._endTimers[K]);else{var ie=J._soundById(K);ie&&ie._node&&ie._node.removeEventListener("ended",J._endTimers[K],!1)}delete J._endTimers[K]}return J},_soundById:function(K){for(var J=this,ie=0;ie<J._sounds.length;ie++)if(K===J._sounds[ie]._id)return J._sounds[ie];return null},_inactiveSound:function(){var K=this;K._drain();for(var J=0;J<K._sounds.length;J++)if(K._sounds[J]._ended)return K._sounds[J].reset();return new G(K)},_drain:function(){var K=this,J=K._pool,ie=0,ne=0;if(!(K._sounds.length<J)){for(ne=0;ne<K._sounds.length;ne++)K._sounds[ne]._ended&&ie++;for(ne=K._sounds.length-1;ne>=0;ne--){if(ie<=J)return;K._sounds[ne]._ended&&(K._webAudio&&K._sounds[ne]._node&&K._sounds[ne]._node.disconnect(0),K._sounds.splice(ne,1),ie--)}}},_getSoundIds:function(K){var J=this;if(typeof K=="undefined"){for(var ie=[],ne=0;ne<J._sounds.length;ne++)ie.push(J._sounds[ne]._id);return ie}else return[K]},_refreshBuffer:function(K){var J=this;return K._node.bufferSource=F.ctx.createBufferSource(),K._node.bufferSource.buffer=U[J._src],K._panner?K._node.bufferSource.connect(K._panner):K._node.bufferSource.connect(K._node),K._node.bufferSource.loop=K._loop,K._loop&&(K._node.bufferSource.loopStart=K._start||0,K._node.bufferSource.loopEnd=K._stop||0),K._node.bufferSource.playbackRate.setValueAtTime(K._rate,F.ctx.currentTime),J},_cleanBuffer:function(K){var J=this,ie=F._navigator&&F._navigator.vendor.indexOf("Apple")>=0;if(F._scratchBuffer&&K.bufferSource&&(K.bufferSource.onended=null,K.bufferSource.disconnect(0),ie))try{K.bufferSource.buffer=F._scratchBuffer}catch{}return K.bufferSource=null,J},_clearSound:function(K){var J=/MSIE |Trident\//.test(F._navigator&&F._navigator.userAgent);J||(K.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var G=function(K){this._parent=K,this.init()};G.prototype={init:function(){var K=this,J=K._parent;return K._muted=J._muted,K._loop=J._loop,K._volume=J._volume,K._rate=J._rate,K._seek=0,K._paused=!0,K._ended=!0,K._sprite="__default",K._id=++F._counter,J._sounds.push(K),K.create(),K},create:function(){var K=this,J=K._parent,ie=F._muted||K._muted||K._parent._muted?0:K._volume;return J._webAudio?(K._node=typeof F.ctx.createGain=="undefined"?F.ctx.createGainNode():F.ctx.createGain(),K._node.gain.setValueAtTime(ie,F.ctx.currentTime),K._node.paused=!0,K._node.connect(F.masterGain)):F.noAudio||(K._node=F._obtainHtml5Audio(),K._errorFn=K._errorListener.bind(K),K._node.addEventListener("error",K._errorFn,!1),K._loadFn=K._loadListener.bind(K),K._node.addEventListener(F._canPlayEvent,K._loadFn,!1),K._endFn=K._endListener.bind(K),K._node.addEventListener("ended",K._endFn,!1),K._node.src=J._src,K._node.preload=J._preload===!0?"auto":J._preload,K._node.volume=ie*F.volume(),K._node.load()),K},reset:function(){var K=this,J=K._parent;return K._muted=J._muted,K._loop=J._loop,K._volume=J._volume,K._rate=J._rate,K._seek=0,K._rateSeek=0,K._paused=!0,K._ended=!0,K._sprite="__default",K._id=++F._counter,K},_errorListener:function(){var K=this;K._parent._emit("loaderror",K._id,K._node.error?K._node.error.code:0),K._node.removeEventListener("error",K._errorFn,!1)},_loadListener:function(){var K=this,J=K._parent;J._duration=Math.ceil(K._node.duration*10)/10,Object.keys(J._sprite).length===0&&(J._sprite={__default:[0,J._duration*1e3]}),J._state!=="loaded"&&(J._state="loaded",J._emit("load"),J._loadQueue()),K._node.removeEventListener(F._canPlayEvent,K._loadFn,!1)},_endListener:function(){var K=this,J=K._parent;J._duration===1/0&&(J._duration=Math.ceil(K._node.duration*10)/10,J._sprite.__default[1]===1/0&&(J._sprite.__default[1]=J._duration*1e3),J._ended(K)),K._node.removeEventListener("ended",K._endFn,!1)}};var U={},W=function(K){var J=K._src;if(U[J]){K._duration=U[J].duration,Q(K);return}if(/^data:[^;]+;base64,/.test(J)){for(var ie=atob(J.split(",")[1]),ne=new Uint8Array(ie.length),se=0;se<ie.length;++se)ne[se]=ie.charCodeAt(se);Y(ne.buffer,K)}else{var re=new XMLHttpRequest;re.open(K._xhr.method,J,!0),re.withCredentials=K._xhr.withCredentials,re.responseType="arraybuffer",K._xhr.headers&&Object.keys(K._xhr.headers).forEach(function(ae){re.setRequestHeader(ae,K._xhr.headers[ae])}),re.onload=function(){var ae=(re.status+"")[0];if(ae!=="0"&&ae!=="2"&&ae!=="3"){K._emit("loaderror",null,"Failed loading audio file with status: "+re.status+".");return}Y(re.response,K)},re.onerror=function(){K._webAudio&&(K._html5=!0,K._webAudio=!1,K._sounds=[],delete U[J],K.load())},q(re)}},q=function(K){try{K.send()}catch{K.onerror()}},Y=function(K,J){var ie=function(){J._emit("loaderror",null,"Decoding audio data failed.")},ne=function(se){se&&J._sounds.length>0?(U[J._src]=se,Q(J,se)):ie()};typeof Promise!="undefined"&&F.ctx.decodeAudioData.length===1?F.ctx.decodeAudioData(K).then(ne).catch(ie):F.ctx.decodeAudioData(K,ne,ie)},Q=function(K,J){J&&!K._duration&&(K._duration=J.duration),Object.keys(K._sprite).length===0&&(K._sprite={__default:[0,K._duration*1e3]}),K._state!=="loaded"&&(K._state="loaded",K._emit("load"),K._loadQueue())},Z=function(){if(!!F.usingWebAudio){try{typeof AudioContext!="undefined"?F.ctx=new AudioContext:typeof webkitAudioContext!="undefined"?F.ctx=new webkitAudioContext:F.usingWebAudio=!1}catch{F.usingWebAudio=!1}F.ctx||(F.usingWebAudio=!1);var K=/iP(hone|od|ad)/.test(F._navigator&&F._navigator.platform),J=F._navigator&&F._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),ie=J?parseInt(J[1],10):null;if(K&&ie&&ie<9){var ne=/safari/.test(F._navigator&&F._navigator.userAgent.toLowerCase());F._navigator&&!ne&&(F.usingWebAudio=!1)}F.usingWebAudio&&(F.masterGain=typeof F.ctx.createGain=="undefined"?F.ctx.createGainNode():F.ctx.createGain(),F.masterGain.gain.setValueAtTime(F._muted?0:F._volume,F.ctx.currentTime),F.masterGain.connect(F.ctx.destination)),F._setup()}};B.Howler=F,B.Howl=D,typeof commonjsGlobal$2!="undefined"?(commonjsGlobal$2.HowlerGlobal=R,commonjsGlobal$2.Howler=F,commonjsGlobal$2.Howl=D,commonjsGlobal$2.Sound=G):typeof window!="undefined"&&(window.HowlerGlobal=R,window.Howler=F,window.Howl=D,window.Sound=G)})();/*!
- * 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(F){var D=this;if(!D.ctx||!D.ctx.listener)return D;for(var G=D._howls.length-1;G>=0;G--)D._howls[G].stereo(F);return D},HowlerGlobal.prototype.pos=function(F,D,G){var U=this;if(!U.ctx||!U.ctx.listener)return U;if(D=typeof D!="number"?U._pos[1]:D,G=typeof G!="number"?U._pos[2]:G,typeof F=="number")U._pos=[F,D,G],typeof U.ctx.listener.positionX!="undefined"?(U.ctx.listener.positionX.setTargetAtTime(U._pos[0],Howler.ctx.currentTime,.1),U.ctx.listener.positionY.setTargetAtTime(U._pos[1],Howler.ctx.currentTime,.1),U.ctx.listener.positionZ.setTargetAtTime(U._pos[2],Howler.ctx.currentTime,.1)):U.ctx.listener.setPosition(U._pos[0],U._pos[1],U._pos[2]);else return U._pos;return U},HowlerGlobal.prototype.orientation=function(F,D,G,U,W,q){var Y=this;if(!Y.ctx||!Y.ctx.listener)return Y;var Q=Y._orientation;if(D=typeof D!="number"?Q[1]:D,G=typeof G!="number"?Q[2]:G,U=typeof U!="number"?Q[3]:U,W=typeof W!="number"?Q[4]:W,q=typeof q!="number"?Q[5]:q,typeof F=="number")Y._orientation=[F,D,G,U,W,q],typeof Y.ctx.listener.forwardX!="undefined"?(Y.ctx.listener.forwardX.setTargetAtTime(F,Howler.ctx.currentTime,.1),Y.ctx.listener.forwardY.setTargetAtTime(D,Howler.ctx.currentTime,.1),Y.ctx.listener.forwardZ.setTargetAtTime(G,Howler.ctx.currentTime,.1),Y.ctx.listener.upX.setTargetAtTime(U,Howler.ctx.currentTime,.1),Y.ctx.listener.upY.setTargetAtTime(W,Howler.ctx.currentTime,.1),Y.ctx.listener.upZ.setTargetAtTime(q,Howler.ctx.currentTime,.1)):Y.ctx.listener.setOrientation(F,D,G,U,W,q);else return Q;return Y},Howl.prototype.init=function(F){return function(D){var G=this;return G._orientation=D.orientation||[1,0,0],G._stereo=D.stereo||null,G._pos=D.pos||null,G._pannerAttr={coneInnerAngle:typeof D.coneInnerAngle!="undefined"?D.coneInnerAngle:360,coneOuterAngle:typeof D.coneOuterAngle!="undefined"?D.coneOuterAngle:360,coneOuterGain:typeof D.coneOuterGain!="undefined"?D.coneOuterGain:0,distanceModel:typeof D.distanceModel!="undefined"?D.distanceModel:"inverse",maxDistance:typeof D.maxDistance!="undefined"?D.maxDistance:1e4,panningModel:typeof D.panningModel!="undefined"?D.panningModel:"HRTF",refDistance:typeof D.refDistance!="undefined"?D.refDistance:1,rolloffFactor:typeof D.rolloffFactor!="undefined"?D.rolloffFactor:1},G._onstereo=D.onstereo?[{fn:D.onstereo}]:[],G._onpos=D.onpos?[{fn:D.onpos}]:[],G._onorientation=D.onorientation?[{fn:D.onorientation}]:[],F.call(this,D)}}(Howl.prototype.init),Howl.prototype.stereo=function(F,D){var G=this;if(!G._webAudio)return G;if(G._state!=="loaded")return G._queue.push({event:"stereo",action:function(){G.stereo(F,D)}}),G;var U=typeof Howler.ctx.createStereoPanner=="undefined"?"spatial":"stereo";if(typeof D=="undefined")if(typeof F=="number")G._stereo=F,G._pos=[F,0,0];else return G._stereo;for(var W=G._getSoundIds(D),q=0;q<W.length;q++){var Y=G._soundById(W[q]);if(Y)if(typeof F=="number")Y._stereo=F,Y._pos=[F,0,0],Y._node&&(Y._pannerAttr.panningModel="equalpower",(!Y._panner||!Y._panner.pan)&&R(Y,U),U==="spatial"?typeof Y._panner.positionX!="undefined"?(Y._panner.positionX.setValueAtTime(F,Howler.ctx.currentTime),Y._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),Y._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):Y._panner.setPosition(F,0,0):Y._panner.pan.setValueAtTime(F,Howler.ctx.currentTime)),G._emit("stereo",Y._id);else return Y._stereo}return G},Howl.prototype.pos=function(F,D,G,U){var W=this;if(!W._webAudio)return W;if(W._state!=="loaded")return W._queue.push({event:"pos",action:function(){W.pos(F,D,G,U)}}),W;if(D=typeof D!="number"?0:D,G=typeof G!="number"?-.5:G,typeof U=="undefined")if(typeof F=="number")W._pos=[F,D,G];else return W._pos;for(var q=W._getSoundIds(U),Y=0;Y<q.length;Y++){var Q=W._soundById(q[Y]);if(Q)if(typeof F=="number")Q._pos=[F,D,G],Q._node&&((!Q._panner||Q._panner.pan)&&R(Q,"spatial"),typeof Q._panner.positionX!="undefined"?(Q._panner.positionX.setValueAtTime(F,Howler.ctx.currentTime),Q._panner.positionY.setValueAtTime(D,Howler.ctx.currentTime),Q._panner.positionZ.setValueAtTime(G,Howler.ctx.currentTime)):Q._panner.setPosition(F,D,G)),W._emit("pos",Q._id);else return Q._pos}return W},Howl.prototype.orientation=function(F,D,G,U){var W=this;if(!W._webAudio)return W;if(W._state!=="loaded")return W._queue.push({event:"orientation",action:function(){W.orientation(F,D,G,U)}}),W;if(D=typeof D!="number"?W._orientation[1]:D,G=typeof G!="number"?W._orientation[2]:G,typeof U=="undefined")if(typeof F=="number")W._orientation=[F,D,G];else return W._orientation;for(var q=W._getSoundIds(U),Y=0;Y<q.length;Y++){var Q=W._soundById(q[Y]);if(Q)if(typeof F=="number")Q._orientation=[F,D,G],Q._node&&(Q._panner||(Q._pos||(Q._pos=W._pos||[0,0,-.5]),R(Q,"spatial")),typeof Q._panner.orientationX!="undefined"?(Q._panner.orientationX.setValueAtTime(F,Howler.ctx.currentTime),Q._panner.orientationY.setValueAtTime(D,Howler.ctx.currentTime),Q._panner.orientationZ.setValueAtTime(G,Howler.ctx.currentTime)):Q._panner.setOrientation(F,D,G)),W._emit("orientation",Q._id);else return Q._orientation}return W},Howl.prototype.pannerAttr=function(){var F=this,D=arguments,G,U,W;if(!F._webAudio)return F;if(D.length===0)return F._pannerAttr;if(D.length===1)if(typeof D[0]=="object")G=D[0],typeof U=="undefined"&&(G.pannerAttr||(G.pannerAttr={coneInnerAngle:G.coneInnerAngle,coneOuterAngle:G.coneOuterAngle,coneOuterGain:G.coneOuterGain,distanceModel:G.distanceModel,maxDistance:G.maxDistance,refDistance:G.refDistance,rolloffFactor:G.rolloffFactor,panningModel:G.panningModel}),F._pannerAttr={coneInnerAngle:typeof G.pannerAttr.coneInnerAngle!="undefined"?G.pannerAttr.coneInnerAngle:F._coneInnerAngle,coneOuterAngle:typeof G.pannerAttr.coneOuterAngle!="undefined"?G.pannerAttr.coneOuterAngle:F._coneOuterAngle,coneOuterGain:typeof G.pannerAttr.coneOuterGain!="undefined"?G.pannerAttr.coneOuterGain:F._coneOuterGain,distanceModel:typeof G.pannerAttr.distanceModel!="undefined"?G.pannerAttr.distanceModel:F._distanceModel,maxDistance:typeof G.pannerAttr.maxDistance!="undefined"?G.pannerAttr.maxDistance:F._maxDistance,refDistance:typeof G.pannerAttr.refDistance!="undefined"?G.pannerAttr.refDistance:F._refDistance,rolloffFactor:typeof G.pannerAttr.rolloffFactor!="undefined"?G.pannerAttr.rolloffFactor:F._rolloffFactor,panningModel:typeof G.pannerAttr.panningModel!="undefined"?G.pannerAttr.panningModel:F._panningModel});else return W=F._soundById(parseInt(D[0],10)),W?W._pannerAttr:F._pannerAttr;else D.length===2&&(G=D[0],U=parseInt(D[1],10));for(var q=F._getSoundIds(U),Y=0;Y<q.length;Y++)if(W=F._soundById(q[Y]),W){var Q=W._pannerAttr;Q={coneInnerAngle:typeof G.coneInnerAngle!="undefined"?G.coneInnerAngle:Q.coneInnerAngle,coneOuterAngle:typeof G.coneOuterAngle!="undefined"?G.coneOuterAngle:Q.coneOuterAngle,coneOuterGain:typeof G.coneOuterGain!="undefined"?G.coneOuterGain:Q.coneOuterGain,distanceModel:typeof G.distanceModel!="undefined"?G.distanceModel:Q.distanceModel,maxDistance:typeof G.maxDistance!="undefined"?G.maxDistance:Q.maxDistance,refDistance:typeof G.refDistance!="undefined"?G.refDistance:Q.refDistance,rolloffFactor:typeof G.rolloffFactor!="undefined"?G.rolloffFactor:Q.rolloffFactor,panningModel:typeof G.panningModel!="undefined"?G.panningModel:Q.panningModel};var Z=W._panner;Z?(Z.coneInnerAngle=Q.coneInnerAngle,Z.coneOuterAngle=Q.coneOuterAngle,Z.coneOuterGain=Q.coneOuterGain,Z.distanceModel=Q.distanceModel,Z.maxDistance=Q.maxDistance,Z.refDistance=Q.refDistance,Z.rolloffFactor=Q.rolloffFactor,Z.panningModel=Q.panningModel):(W._pos||(W._pos=F._pos||[0,0,-.5]),R(W,"spatial"))}return F},Sound.prototype.init=function(F){return function(){var D=this,G=D._parent;D._orientation=G._orientation,D._stereo=G._stereo,D._pos=G._pos,D._pannerAttr=G._pannerAttr,F.call(this),D._stereo?G.stereo(D._stereo):D._pos&&G.pos(D._pos[0],D._pos[1],D._pos[2],D._id)}}(Sound.prototype.init),Sound.prototype.reset=function(F){return function(){var D=this,G=D._parent;return D._orientation=G._orientation,D._stereo=G._stereo,D._pos=G._pos,D._pannerAttr=G._pannerAttr,D._stereo?G.stereo(D._stereo):D._pos?G.pos(D._pos[0],D._pos[1],D._pos[2],D._id):D._panner&&(D._panner.disconnect(0),D._panner=void 0,G._refreshBuffer(D)),F.call(this)}}(Sound.prototype.reset);var R=function(F,D){D=D||"spatial",D==="spatial"?(F._panner=Howler.ctx.createPanner(),F._panner.coneInnerAngle=F._pannerAttr.coneInnerAngle,F._panner.coneOuterAngle=F._pannerAttr.coneOuterAngle,F._panner.coneOuterGain=F._pannerAttr.coneOuterGain,F._panner.distanceModel=F._pannerAttr.distanceModel,F._panner.maxDistance=F._pannerAttr.maxDistance,F._panner.refDistance=F._pannerAttr.refDistance,F._panner.rolloffFactor=F._pannerAttr.rolloffFactor,F._panner.panningModel=F._pannerAttr.panningModel,typeof F._panner.positionX!="undefined"?(F._panner.positionX.setValueAtTime(F._pos[0],Howler.ctx.currentTime),F._panner.positionY.setValueAtTime(F._pos[1],Howler.ctx.currentTime),F._panner.positionZ.setValueAtTime(F._pos[2],Howler.ctx.currentTime)):F._panner.setPosition(F._pos[0],F._pos[1],F._pos[2]),typeof F._panner.orientationX!="undefined"?(F._panner.orientationX.setValueAtTime(F._orientation[0],Howler.ctx.currentTime),F._panner.orientationY.setValueAtTime(F._orientation[1],Howler.ctx.currentTime),F._panner.orientationZ.setValueAtTime(F._orientation[2],Howler.ctx.currentTime)):F._panner.setOrientation(F._orientation[0],F._orientation[1],F._orientation[2])):(F._panner=Howler.ctx.createStereoPanner(),F._panner.pan.setValueAtTime(F._stereo,Howler.ctx.currentTime)),F._panner.connect(F._node),F._paused||F._parent.pause(F._id,!0).play(F._id,!0)}})()})(howler);const browserInfo$5=browser(),getTickTime=B=>(browserInfo$5.huawei?.2:.1)/B*1e3;let htick=new howler.Howl({src:tickUrl,format:["mp3"]}),htock=new howler.Howl({src:tockUrl,format:["mp3"]});class Player{constructor(R,F){this.ticks=[],this.event=new EventEmitter,this.isRuning=!1,this.isNeedStop=!1,this.getTickByDots=(D,G)=>Array.from(Array(D)).map((U,W)=>({time:`0:${(G+W)*1.4}`,note:W===0?"C5":"c4",velocity:1,index:W+G})),this.formatTick=(D,G)=>{const U=[];for(let W=0;W<G;W++)U.push(...this.getTickByDots(D,W*D));return U},this.part=null}async startTick(R,F,D,G){let U=0;const W=()=>{const Y=U%R.length===0?htick:htock;this.isNeedStop||(Y.play(),console.log(Y)),U<R.length-1&&q(),U<D*G&&this.event.emit("tick",U),U===D*G-1&&setTimeout(()=>{var Q;this.isRuning=!1,this.event.emit("stop"),console.log("tick stop"),(Q=this.part)==null||Q.clear()},450/F),U++},q=()=>{this.isNeedStop||setTimeout(()=>{try{W()}catch(Y){console.log("timeTickError",Y)}},700/F)};W()}async setAudioMode(R,F,D=1){if(await nextTick(),this.isRuning)return;this.isRuning=!0;const G=this.formatTick(R,D);this.startTick(G,F,R,D)}async start(R,F,D=1){this.isNeedStop=!1,this.setAudioMode(R,F,D)}destroy(){this.ticks=[],this.event.emit("destroy"),console.log("destroy"),state$2.activeTick=-1,state$2.activeTickRepeat=1,this.event.removeAllListeners(),this.isRuning=!1,this.isNeedStop=!0,this.part&&(this.part.clear(),this.part=null)}}const loop=()=>{},calls={},browserInfo$4=browser();browserInfo$4.isApp&&window.addEventListener("message",B=>{var R,F;console.log("app\u56DE\u8C03",B==null?void 0:B.data);try{const D=B.data?typeof B.data=="object"?B.data:JSON.parse(B.data):{},G=((R=D.content)==null?void 0:R.uuid)||D.uuid;try{D.content&&(D.content=typeof D.content=="object"?D.content:JSON.parse(D.content))}catch{}if(!G){const q=Object.keys(calls).filter(Y=>Y.indexOf(D.api)===0);for(const Y of q){const Q=calls[Y]||loop;typeof Q=="function"&&Q(D),Array.isArray(Q)&&Q.forEach(Z=>{typeof Z=="function"&&Z(D)})}return}const U=((F=D.content)==null?void 0:F.uuid)||D.uuid||D.api+D.uuid,W=calls[U]||loop;typeof W=="function"&&W(D)}catch(D){console.error("\u901A\u4FE1\u6D88\u606F\u89E3\u6790\u9519\u8BEF",D)}});var Km,Zm;const instance=window.ORCHESTRA||((Zm=(Km=window.webkit)==null?void 0:Km.messageHandlers)==null?void 0:Zm.ORCHESTRA),postMessage$1=(B,R)=>{if(browserInfo$4.isApp){const F=getRandomKey();calls[F]=R||loop,B.content=B.content?{...B.content,uuid:F}:{uuid:F},console.log("h5\u53D1\u9001:",JSON.stringify(B)),instance.postMessage(JSON.stringify(B))}},listenerMessage=(B,R)=>{if(browserInfo$4.isApp){const F=B;calls[F]||(calls[F]=[]),calls[F].push(R||loop)}},removeListenerMessage=(B,R)=>{if(browserInfo$4.isApp){const F=B;if(Array.isArray(calls[F])){const D=calls[F].indexOf(R);calls[F].splice(D,1)}}},promisefiyPostMessage=B=>new Promise(R=>{postMessage$1(B,F=>R(F))});var replace=String.prototype.replace,percentTwenties=/%20/g,Format={RFC1738:"RFC1738",RFC3986:"RFC3986"},formats$3={default:Format.RFC3986,formatters:{RFC1738:function(B){return replace.call(B,percentTwenties,"+")},RFC3986:function(B){return String(B)}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986},formats$2=formats$3,has$2=Object.prototype.hasOwnProperty,isArray$4=Array.isArray,hexTable=function(){for(var B=[],R=0;R<256;++R)B.push("%"+((R<16?"0":"")+R.toString(16)).toUpperCase());return B}(),compactQueue=function B(R){for(;R.length>1;){var F=R.pop(),D=F.obj[F.prop];if(isArray$4(D)){for(var G=[],U=0;U<D.length;++U)typeof D[U]!="undefined"&&G.push(D[U]);F.obj[F.prop]=G}}},arrayToObject=function B(R,F){for(var D=F&&F.plainObjects?Object.create(null):{},G=0;G<R.length;++G)typeof R[G]!="undefined"&&(D[G]=R[G]);return D},merge=function B(R,F,D){if(!F)return R;if(typeof F!="object"){if(isArray$4(R))R.push(F);else if(R&&typeof R=="object")(D&&(D.plainObjects||D.allowPrototypes)||!has$2.call(Object.prototype,F))&&(R[F]=!0);else return[R,F];return R}if(!R||typeof R!="object")return[R].concat(F);var G=R;return isArray$4(R)&&!isArray$4(F)&&(G=arrayToObject(R,D)),isArray$4(R)&&isArray$4(F)?(F.forEach(function(U,W){if(has$2.call(R,W)){var q=R[W];q&&typeof q=="object"&&U&&typeof U=="object"?R[W]=B(q,U,D):R.push(U)}else R[W]=U}),R):Object.keys(F).reduce(function(U,W){var q=F[W];return has$2.call(U,W)?U[W]=B(U[W],q,D):U[W]=q,U},G)},assign=function B(R,F){return Object.keys(F).reduce(function(D,G){return D[G]=F[G],D},R)},decode$2=function(B,R,F){var D=B.replace(/\+/g," ");if(F==="iso-8859-1")return D.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(D)}catch{return D}},encode=function B(R,F,D,G,U){if(R.length===0)return R;var W=R;if(typeof R=="symbol"?W=Symbol.prototype.toString.call(R):typeof R!="string"&&(W=String(R)),D==="iso-8859-1")return escape(W).replace(/%u[0-9a-f]{4}/gi,function(Z){return"%26%23"+parseInt(Z.slice(2),16)+"%3B"});for(var q="",Y=0;Y<W.length;++Y){var Q=W.charCodeAt(Y);if(Q===45||Q===46||Q===95||Q===126||Q>=48&&Q<=57||Q>=65&&Q<=90||Q>=97&&Q<=122||U===formats$2.RFC1738&&(Q===40||Q===41)){q+=W.charAt(Y);continue}if(Q<128){q=q+hexTable[Q];continue}if(Q<2048){q=q+(hexTable[192|Q>>6]+hexTable[128|Q&63]);continue}if(Q<55296||Q>=57344){q=q+(hexTable[224|Q>>12]+hexTable[128|Q>>6&63]+hexTable[128|Q&63]);continue}Y+=1,Q=65536+((Q&1023)<<10|W.charCodeAt(Y)&1023),q+=hexTable[240|Q>>18]+hexTable[128|Q>>12&63]+hexTable[128|Q>>6&63]+hexTable[128|Q&63]}return q},compact=function B(R){for(var F=[{obj:{o:R},prop:"o"}],D=[],G=0;G<F.length;++G)for(var U=F[G],W=U.obj[U.prop],q=Object.keys(W),Y=0;Y<q.length;++Y){var Q=q[Y],Z=W[Q];typeof Z=="object"&&Z!==null&&D.indexOf(Z)===-1&&(F.push({obj:W,prop:Q}),D.push(Z))}return compactQueue(F),R},isRegExp=function B(R){return Object.prototype.toString.call(R)==="[object RegExp]"},isBuffer=function B(R){return!R||typeof R!="object"?!1:!!(R.constructor&&R.constructor.isBuffer&&R.constructor.isBuffer(R))},combine=function B(R,F){return[].concat(R,F)},maybeMap=function B(R,F){if(isArray$4(R)){for(var D=[],G=0;G<R.length;G+=1)D.push(F(R[G]));return D}return F(R)},utils$3={arrayToObject,assign,combine,compact,decode:decode$2,encode,isBuffer,isRegExp,maybeMap,merge},utils$2=utils$3,formats$1=formats$3,has$1=Object.prototype.hasOwnProperty,arrayPrefixGenerators={brackets:function B(R){return R+"[]"},comma:"comma",indices:function B(R,F){return R+"["+F+"]"},repeat:function B(R){return R}},isArray$3=Array.isArray,push=Array.prototype.push,pushToArray=function(B,R){push.apply(B,isArray$3(R)?R:[R])},toISO=Date.prototype.toISOString,defaultFormat=formats$1.default,defaults$1={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:utils$2.encode,encodeValuesOnly:!1,format:defaultFormat,formatter:formats$1.formatters[defaultFormat],indices:!1,serializeDate:function B(R){return toISO.call(R)},skipNulls:!1,strictNullHandling:!1},isNonNullishPrimitive=function B(R){return typeof R=="string"||typeof R=="number"||typeof R=="boolean"||typeof R=="symbol"||typeof R=="bigint"},stringify$1=function B(R,F,D,G,U,W,q,Y,Q,Z,K,J,ie,ne){var se=R;if(typeof q=="function"?se=q(F,se):se instanceof Date?se=Z(se):D==="comma"&&isArray$3(se)&&(se=utils$2.maybeMap(se,function(ge){return ge instanceof Date?Z(ge):ge})),se===null){if(G)return W&&!ie?W(F,defaults$1.encoder,ne,"key",K):F;se=""}if(isNonNullishPrimitive(se)||utils$2.isBuffer(se)){if(W){var re=ie?F:W(F,defaults$1.encoder,ne,"key",K);return[J(re)+"="+J(W(se,defaults$1.encoder,ne,"value",K))]}return[J(F)+"="+J(String(se))]}var ae=[];if(typeof se=="undefined")return ae;var le;if(D==="comma"&&isArray$3(se))le=[{value:se.length>0?se.join(",")||null:void 0}];else if(isArray$3(q))le=q;else{var ce=Object.keys(se);le=Y?ce.sort(Y):ce}for(var he=0;he<le.length;++he){var de=le[he],me=typeof de=="object"&&de.value!==void 0?de.value:se[de];if(!(U&&me===null)){var fe=isArray$3(se)?typeof D=="function"?D(F,de):F:F+(Q?"."+de:"["+de+"]");pushToArray(ae,B(me,fe,D,G,U,W,q,Y,Q,Z,K,J,ie,ne))}}return ae},normalizeStringifyOptions=function B(R){if(!R)return defaults$1;if(R.encoder!==null&&R.encoder!==void 0&&typeof R.encoder!="function")throw new TypeError("Encoder has to be a function.");var F=R.charset||defaults$1.charset;if(typeof R.charset!="undefined"&&R.charset!=="utf-8"&&R.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var D=formats$1.default;if(typeof R.format!="undefined"){if(!has$1.call(formats$1.formatters,R.format))throw new TypeError("Unknown format option provided.");D=R.format}var G=formats$1.formatters[D],U=defaults$1.filter;return(typeof R.filter=="function"||isArray$3(R.filter))&&(U=R.filter),{addQueryPrefix:typeof R.addQueryPrefix=="boolean"?R.addQueryPrefix:defaults$1.addQueryPrefix,allowDots:typeof R.allowDots=="undefined"?defaults$1.allowDots:!!R.allowDots,charset:F,charsetSentinel:typeof R.charsetSentinel=="boolean"?R.charsetSentinel:defaults$1.charsetSentinel,delimiter:typeof R.delimiter=="undefined"?defaults$1.delimiter:R.delimiter,encode:typeof R.encode=="boolean"?R.encode:defaults$1.encode,encoder:typeof R.encoder=="function"?R.encoder:defaults$1.encoder,encodeValuesOnly:typeof R.encodeValuesOnly=="boolean"?R.encodeValuesOnly:defaults$1.encodeValuesOnly,filter:U,format:D,formatter:G,serializeDate:typeof R.serializeDate=="function"?R.serializeDate:defaults$1.serializeDate,skipNulls:typeof R.skipNulls=="boolean"?R.skipNulls:defaults$1.skipNulls,sort:typeof R.sort=="function"?R.sort:null,strictNullHandling:typeof R.strictNullHandling=="boolean"?R.strictNullHandling:defaults$1.strictNullHandling}},stringify_1=function(B,R){var F=B,D=normalizeStringifyOptions(R),G,U;typeof D.filter=="function"?(U=D.filter,F=U("",F)):isArray$3(D.filter)&&(U=D.filter,G=U);var W=[];if(typeof F!="object"||F===null)return"";var q;R&&R.arrayFormat in arrayPrefixGenerators?q=R.arrayFormat:R&&"indices"in R?q=R.indices?"indices":"repeat":q="indices";var Y=arrayPrefixGenerators[q];G||(G=Object.keys(F)),D.sort&&G.sort(D.sort);for(var Q=0;Q<G.length;++Q){var Z=G[Q];D.skipNulls&&F[Z]===null||pushToArray(W,stringify$1(F[Z],Z,Y,D.strictNullHandling,D.skipNulls,D.encode?D.encoder:null,D.filter,D.sort,D.allowDots,D.serializeDate,D.format,D.formatter,D.encodeValuesOnly,D.charset))}var K=W.join(D.delimiter),J=D.addQueryPrefix===!0?"?":"";return D.charsetSentinel&&(D.charset==="iso-8859-1"?J+="utf8=%26%2310003%3B&":J+="utf8=%E2%9C%93&"),K.length>0?J+K:""},utils$1=utils$3,has=Object.prototype.hasOwnProperty,isArray$2=Array.isArray,defaults={allowDots:!1,allowPrototypes:!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(B){return B.replace(/&#(\d+);/g,function(R,F){return String.fromCharCode(parseInt(F,10))})},parseArrayValue=function(B,R){return B&&typeof B=="string"&&R.comma&&B.indexOf(",")>-1?B.split(","):B},isoSentinel="utf8=%26%2310003%3B",charsetSentinel="utf8=%E2%9C%93",parseValues=function B(R,F){var D={},G=F.ignoreQueryPrefix?R.replace(/^\?/,""):R,U=F.parameterLimit===1/0?void 0:F.parameterLimit,W=G.split(F.delimiter,U),q=-1,Y,Q=F.charset;if(F.charsetSentinel)for(Y=0;Y<W.length;++Y)W[Y].indexOf("utf8=")===0&&(W[Y]===charsetSentinel?Q="utf-8":W[Y]===isoSentinel&&(Q="iso-8859-1"),q=Y,Y=W.length);for(Y=0;Y<W.length;++Y)if(Y!==q){var Z=W[Y],K=Z.indexOf("]="),J=K===-1?Z.indexOf("="):K+1,ie,ne;J===-1?(ie=F.decoder(Z,defaults.decoder,Q,"key"),ne=F.strictNullHandling?null:""):(ie=F.decoder(Z.slice(0,J),defaults.decoder,Q,"key"),ne=utils$1.maybeMap(parseArrayValue(Z.slice(J+1),F),function(se){return F.decoder(se,defaults.decoder,Q,"value")})),ne&&F.interpretNumericEntities&&Q==="iso-8859-1"&&(ne=interpretNumericEntities(ne)),Z.indexOf("[]=")>-1&&(ne=isArray$2(ne)?[ne]:ne),has.call(D,ie)?D[ie]=utils$1.combine(D[ie],ne):D[ie]=ne}return D},parseObject=function(B,R,F,D){for(var G=D?R:parseArrayValue(R,F),U=B.length-1;U>=0;--U){var W,q=B[U];if(q==="[]"&&F.parseArrays)W=[].concat(G);else{W=F.plainObjects?Object.create(null):{};var Y=q.charAt(0)==="["&&q.charAt(q.length-1)==="]"?q.slice(1,-1):q,Q=parseInt(Y,10);!F.parseArrays&&Y===""?W={0:G}:!isNaN(Q)&&q!==Y&&String(Q)===Y&&Q>=0&&F.parseArrays&&Q<=F.arrayLimit?(W=[],W[Q]=G):W[Y]=G}G=W}return G},parseKeys=function B(R,F,D,G){if(!!R){var U=D.allowDots?R.replace(/\.([^.[]+)/g,"[$1]"):R,W=/(\[[^[\]]*])/,q=/(\[[^[\]]*])/g,Y=D.depth>0&&W.exec(U),Q=Y?U.slice(0,Y.index):U,Z=[];if(Q){if(!D.plainObjects&&has.call(Object.prototype,Q)&&!D.allowPrototypes)return;Z.push(Q)}for(var K=0;D.depth>0&&(Y=q.exec(U))!==null&&K<D.depth;){if(K+=1,!D.plainObjects&&has.call(Object.prototype,Y[1].slice(1,-1))&&!D.allowPrototypes)return;Z.push(Y[1])}return Y&&Z.push("["+U.slice(Y.index)+"]"),parseObject(Z,F,D,G)}},normalizeParseOptions=function B(R){if(!R)return defaults;if(R.decoder!==null&&R.decoder!==void 0&&typeof R.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof R.charset!="undefined"&&R.charset!=="utf-8"&&R.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var F=typeof R.charset=="undefined"?defaults.charset:R.charset;return{allowDots:typeof R.allowDots=="undefined"?defaults.allowDots:!!R.allowDots,allowPrototypes:typeof R.allowPrototypes=="boolean"?R.allowPrototypes:defaults.allowPrototypes,arrayLimit:typeof R.arrayLimit=="number"?R.arrayLimit:defaults.arrayLimit,charset:F,charsetSentinel:typeof R.charsetSentinel=="boolean"?R.charsetSentinel:defaults.charsetSentinel,comma:typeof R.comma=="boolean"?R.comma:defaults.comma,decoder:typeof R.decoder=="function"?R.decoder:defaults.decoder,delimiter:typeof R.delimiter=="string"||utils$1.isRegExp(R.delimiter)?R.delimiter:defaults.delimiter,depth:typeof R.depth=="number"||R.depth===!1?+R.depth:defaults.depth,ignoreQueryPrefix:R.ignoreQueryPrefix===!0,interpretNumericEntities:typeof R.interpretNumericEntities=="boolean"?R.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:typeof R.parameterLimit=="number"?R.parameterLimit:defaults.parameterLimit,parseArrays:R.parseArrays!==!1,plainObjects:typeof R.plainObjects=="boolean"?R.plainObjects:defaults.plainObjects,strictNullHandling:typeof R.strictNullHandling=="boolean"?R.strictNullHandling:defaults.strictNullHandling}},parse$5=function(B,R){var F=normalizeParseOptions(R);if(B===""||B===null||typeof B=="undefined")return F.plainObjects?Object.create(null):{};for(var D=typeof B=="string"?parseValues(B,F):B,G=F.plainObjects?Object.create(null):{},U=Object.keys(D),W=0;W<U.length;++W){var q=U[W],Y=parseKeys(q,D[q],F,typeof B=="string");G=utils$1.merge(G,Y,F)}return utils$1.compact(G)},stringify=stringify_1,parse$4=parse$5,formats=formats$3,lib$4={formats,parse:parse$4,stringify},global$1=typeof globalThis!="undefined"&&globalThis||typeof self!="undefined"&&self||typeof global$1!="undefined"&&global$1,support={searchParams:"URLSearchParams"in global$1,iterable:"Symbol"in global$1&&"iterator"in Symbol,blob:"FileReader"in global$1&&"Blob"in global$1&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in global$1,arrayBuffer:"ArrayBuffer"in global$1};function isDataView(B){return B&&DataView.prototype.isPrototypeOf(B)}if(support.arrayBuffer)var viewClasses=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],isArrayBufferView=ArrayBuffer.isView||function(B){return B&&viewClasses.indexOf(Object.prototype.toString.call(B))>-1};function normalizeName(B){if(typeof B!="string"&&(B=String(B)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(B)||B==="")throw new TypeError('Invalid character in header field name: "'+B+'"');return B.toLowerCase()}function normalizeValue(B){return typeof B!="string"&&(B=String(B)),B}function iteratorFor(B){var R={next:function(){var F=B.shift();return{done:F===void 0,value:F}}};return support.iterable&&(R[Symbol.iterator]=function(){return R}),R}function Headers(B){this.map={},B instanceof Headers?B.forEach(function(R,F){this.append(F,R)},this):Array.isArray(B)?B.forEach(function(R){this.append(R[0],R[1])},this):B&&Object.getOwnPropertyNames(B).forEach(function(R){this.append(R,B[R])},this)}Headers.prototype.append=function(B,R){B=normalizeName(B),R=normalizeValue(R);var F=this.map[B];this.map[B]=F?F+", "+R:R};Headers.prototype.delete=function(B){delete this.map[normalizeName(B)]};Headers.prototype.get=function(B){return B=normalizeName(B),this.has(B)?this.map[B]:null};Headers.prototype.has=function(B){return this.map.hasOwnProperty(normalizeName(B))};Headers.prototype.set=function(B,R){this.map[normalizeName(B)]=normalizeValue(R)};Headers.prototype.forEach=function(B,R){for(var F in this.map)this.map.hasOwnProperty(F)&&B.call(R,this.map[F],F,this)};Headers.prototype.keys=function(){var B=[];return this.forEach(function(R,F){B.push(F)}),iteratorFor(B)};Headers.prototype.values=function(){var B=[];return this.forEach(function(R){B.push(R)}),iteratorFor(B)};Headers.prototype.entries=function(){var B=[];return this.forEach(function(R,F){B.push([F,R])}),iteratorFor(B)};support.iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);function consumed(B){if(B.bodyUsed)return Promise.reject(new TypeError("Already read"));B.bodyUsed=!0}function fileReaderReady(B){return new Promise(function(R,F){B.onload=function(){R(B.result)},B.onerror=function(){F(B.error)}})}function readBlobAsArrayBuffer(B){var R=new FileReader,F=fileReaderReady(R);return R.readAsArrayBuffer(B),F}function readBlobAsText(B){var R=new FileReader,F=fileReaderReady(R);return R.readAsText(B),F}function readArrayBufferAsText(B){for(var R=new Uint8Array(B),F=new Array(R.length),D=0;D<R.length;D++)F[D]=String.fromCharCode(R[D]);return F.join("")}function bufferClone(B){if(B.slice)return B.slice(0);var R=new Uint8Array(B.byteLength);return R.set(new Uint8Array(B)),R.buffer}function Body(){return this.bodyUsed=!1,this._initBody=function(B){this.bodyUsed=this.bodyUsed,this._bodyInit=B,B?typeof B=="string"?this._bodyText=B:support.blob&&Blob.prototype.isPrototypeOf(B)?this._bodyBlob=B:support.formData&&FormData.prototype.isPrototypeOf(B)?this._bodyFormData=B:support.searchParams&&URLSearchParams.prototype.isPrototypeOf(B)?this._bodyText=B.toString():support.arrayBuffer&&support.blob&&isDataView(B)?(this._bodyArrayBuffer=bufferClone(B.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):support.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(B)||isArrayBufferView(B))?this._bodyArrayBuffer=bufferClone(B):this._bodyText=B=Object.prototype.toString.call(B):this._bodyText="";var R=this.headers.get("content-type");R?R.indexOf("json")>=0&&typeof this._bodyInit!="string"&&(this._bodyInit=this._bodyText):typeof B=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):support.searchParams&&URLSearchParams.prototype.isPrototypeOf(B)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8")},support.blob&&(this.blob=function(){var B=consumed(this);if(B)return B;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var B=consumed(this);return B||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else return this.blob().then(readBlobAsArrayBuffer)}),this.text=function(){var B=consumed(this);if(B)return B;if(this._bodyBlob)return readBlobAsText(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},support.formData&&(this.formData=function(){return this.text().then(decode$1)}),this.json=function(){return this.text().then(JSON.parse)},this}var methods=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function normalizeMethod(B){var R=B.toUpperCase();return methods.indexOf(R)>-1?R:B}function Request(B,R){if(!(this instanceof Request))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');R=R||{};var F=R.body;if(B instanceof Request){if(B.bodyUsed)throw new TypeError("Already read");this.url=B.url,this.credentials=B.credentials,R.headers||(this.headers=new Headers(B.headers)),this.method=B.method,this.mode=B.mode,this.signal=B.signal,!F&&B._bodyInit!=null&&(F=B._bodyInit,B.bodyUsed=!0)}else this.url=String(B);if(this.credentials=R.credentials||this.credentials||"same-origin",(R.headers||!this.headers)&&(this.headers=new Headers(R.headers)),this.method=normalizeMethod(R.method||this.method||"GET"),this.mode=R.mode||this.mode||null,this.signal=R.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(F),(this.method==="GET"||this.method==="HEAD")&&(R.cache==="no-store"||R.cache==="no-cache")){var D=/([?&])_=[^&]*/;if(D.test(this.url))this.url=this.url.replace(D,"$1_="+new Date().getTime());else{var G=/\?/;this.url+=(G.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})};function decode$1(B){var R=new FormData;return B.trim().split("&").forEach(function(F){if(F){var D=F.split("="),G=D.shift().replace(/\+/g," "),U=D.join("=").replace(/\+/g," ");R.append(decodeURIComponent(G),decodeURIComponent(U))}}),R}function parseHeaders(B){var R=new Headers,F=B.replace(/\r?\n[\t ]+/g," ");return F.split("\r").map(function(D){return D.indexOf(`
- `)===0?D.substr(1,D.length):D}).forEach(function(D){var G=D.split(":"),U=G.shift().trim();if(U){var W=G.join(":").trim();R.append(U,W)}}),R}Body.call(Request.prototype);function Response(B,R){if(!(this instanceof Response))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');R||(R={}),this.type="default",this.status=R.status===void 0?200:R.status,this.ok=this.status>=200&&this.status<300,this.statusText=R.statusText===void 0?"":""+R.statusText,this.headers=new Headers(R.headers),this.url=R.url||"",this._initBody(B)}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 B=new Response(null,{status:0,statusText:""});return B.type="error",B};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(B,R){if(redirectStatuses.indexOf(R)===-1)throw new RangeError("Invalid status code");return new Response(null,{status:R,headers:{location:B}})};var DOMException=global$1.DOMException;try{new DOMException}catch(B){DOMException=function(R,F){this.message=R,this.name=F;var D=Error(R);this.stack=D.stack},DOMException.prototype=Object.create(Error.prototype),DOMException.prototype.constructor=DOMException}function fetch$2(B,R){return new Promise(function(F,D){var G=new Request(B,R);if(G.signal&&G.signal.aborted)return D(new DOMException("Aborted","AbortError"));var U=new XMLHttpRequest;function W(){U.abort()}U.onload=function(){var Y={status:U.status,statusText:U.statusText,headers:parseHeaders(U.getAllResponseHeaders()||"")};Y.url="responseURL"in U?U.responseURL:Y.headers.get("X-Request-URL");var Q="response"in U?U.response:U.responseText;setTimeout(function(){F(new Response(Q,Y))},0)},U.onerror=function(){setTimeout(function(){D(new TypeError("Network request failed"))},0)},U.ontimeout=function(){setTimeout(function(){D(new TypeError("Network request failed"))},0)},U.onabort=function(){setTimeout(function(){D(new DOMException("Aborted","AbortError"))},0)};function q(Y){try{return Y===""&&global$1.location.href?global$1.location.href:Y}catch{return Y}}U.open(G.method,q(G.url),!0),G.credentials==="include"?U.withCredentials=!0:G.credentials==="omit"&&(U.withCredentials=!1),"responseType"in U&&(support.blob?U.responseType="blob":support.arrayBuffer&&G.headers.get("Content-Type")&&G.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(U.responseType="arraybuffer")),R&&typeof R.headers=="object"&&!(R.headers instanceof Headers)?Object.getOwnPropertyNames(R.headers).forEach(function(Y){U.setRequestHeader(Y,normalizeValue(R.headers[Y]))}):G.headers.forEach(function(Y,Q){U.setRequestHeader(Q,Y)}),G.signal&&(G.signal.addEventListener("abort",W),U.onreadystatechange=function(){U.readyState===4&&G.signal.removeEventListener("abort",W)}),U.send(typeof G._bodyInit=="undefined"?null:G._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 _defineProperty(B,R,F){return R in B?Object.defineProperty(B,R,{value:F,enumerable:!0,configurable:!0,writable:!0}):B[R]=F,B}var defineProperty=_defineProperty;function _objectSpread(B){for(var R=1;R<arguments.length;R++){var F=arguments[R]!=null?arguments[R]:{},D=Object.keys(F);typeof Object.getOwnPropertySymbols=="function"&&(D=D.concat(Object.getOwnPropertySymbols(F).filter(function(G){return Object.getOwnPropertyDescriptor(F,G).enumerable}))),D.forEach(function(G){defineProperty(B,G,F[G])})}return B}var objectSpread=_objectSpread;function _arrayWithoutHoles(B){if(Array.isArray(B)){for(var R=0,F=new Array(B.length);R<B.length;R++)F[R]=B[R];return F}}var arrayWithoutHoles=_arrayWithoutHoles;function _iterableToArray(B){if(Symbol.iterator in Object(B)||Object.prototype.toString.call(B)==="[object Arguments]")return Array.from(B)}var iterableToArray=_iterableToArray;function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}var nonIterableSpread=_nonIterableSpread;function _toConsumableArray(B){return arrayWithoutHoles(B)||iterableToArray(B)||nonIterableSpread()}var toConsumableArray=_toConsumableArray;function _classCallCheck$1(B,R){if(!(B instanceof R))throw new TypeError("Cannot call a class as a function")}var classCallCheck=_classCallCheck$1;function _defineProperties(B,R){for(var F=0;F<R.length;F++){var D=R[F];D.enumerable=D.enumerable||!1,D.configurable=!0,"value"in D&&(D.writable=!0),Object.defineProperty(B,D.key,D)}}function _createClass(B,R,F){return R&&_defineProperties(B.prototype,R),F&&_defineProperties(B,F),B}var createClass=_createClass;function createCommonjsModule$1(B,R){return R={exports:{}},B(R,R.exports),R.exports}var _typeof_1=createCommonjsModule$1(function(B){function R(D){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?R=function(U){return typeof U}:R=function(U){return U&&typeof Symbol=="function"&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},R(D)}function F(D){return typeof Symbol=="function"&&R(Symbol.iterator)==="symbol"?B.exports=F=function(U){return R(U)}:B.exports=F=function(U){return U&&typeof Symbol=="function"&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":R(U)},F(D)}B.exports=F});function compose(B){if(!Array.isArray(B))throw new TypeError("Middlewares must be an array!");for(var R=B.length,F=0;F<R;F++)if(typeof B[F]!="function")throw new TypeError("Middleware must be componsed of function");return function(G,U){var W=-1;function q(Y){if(Y<=W)return Promise.reject(new Error("next() should not be called multiple times in one middleware!"));W=Y;var Q=B[Y]||U;if(!Q)return Promise.resolve();try{return Promise.resolve(Q(G,function(){return q(Y+1)}))}catch(Z){return Promise.reject(Z)}}return q(0)}}var Onion=function(){function B(R){if(classCallCheck(this,B),!Array.isArray(R))throw new TypeError("Default middlewares must be an array!");this.defaultMiddlewares=toConsumableArray(R),this.middlewares=[]}return createClass(B,[{key:"use",value:function(F){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!1,core:!1,defaultInstance:!1},G=!1,U=!1,W=!1;if(typeof D=="number"?(process&&process.env,G=!0,U=!1):_typeof_1(D)==="object"&&D&&(U=D.global||!1,G=D.core||!1,W=D.defaultInstance||!1),U){B.globalMiddlewares.splice(B.globalMiddlewares.length-B.defaultGlobalMiddlewaresLength,0,F);return}if(G){B.coreMiddlewares.splice(B.coreMiddlewares.length-B.defaultCoreMiddlewaresLength,0,F);return}if(W){this.defaultMiddlewares.push(F);return}this.middlewares.push(F)}},{key:"execute",value:function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,D=compose([].concat(toConsumableArray(this.middlewares),toConsumableArray(this.defaultMiddlewares),toConsumableArray(B.globalMiddlewares),toConsumableArray(B.coreMiddlewares)));return D(F)}}]),B}();Onion.globalMiddlewares=[];Onion.defaultGlobalMiddlewaresLength=0;Onion.coreMiddlewares=[];Onion.defaultCoreMiddlewaresLength=0;function _assertThisInitialized(B){if(B===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return B}var assertThisInitialized=_assertThisInitialized;function _possibleConstructorReturn(B,R){return R&&(_typeof_1(R)==="object"||typeof R=="function")?R:assertThisInitialized(B)}var possibleConstructorReturn=_possibleConstructorReturn,getPrototypeOf=createCommonjsModule$1(function(B){function R(F){return B.exports=R=Object.setPrototypeOf?Object.getPrototypeOf:function(G){return G.__proto__||Object.getPrototypeOf(G)},R(F)}B.exports=R}),setPrototypeOf=createCommonjsModule$1(function(B){function R(F,D){return B.exports=R=Object.setPrototypeOf||function(U,W){return U.__proto__=W,U},R(F,D)}B.exports=R});function _inherits(B,R){if(typeof R!="function"&&R!==null)throw new TypeError("Super expression must either be null or a function");B.prototype=Object.create(R&&R.prototype,{constructor:{value:B,writable:!0,configurable:!0}}),R&&setPrototypeOf(B,R)}var inherits=_inherits;function _isNativeFunction(B){return Function.toString.call(B).indexOf("[native code]")!==-1}var isNativeFunction=_isNativeFunction,construct=createCommonjsModule$1(function(B){function R(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function F(D,G,U){return R()?B.exports=F=Reflect.construct:B.exports=F=function(q,Y,Q){var Z=[null];Z.push.apply(Z,Y);var K=Function.bind.apply(q,Z),J=new K;return Q&&setPrototypeOf(J,Q.prototype),J},F.apply(null,arguments)}B.exports=F}),wrapNativeSuper=createCommonjsModule$1(function(B){function R(F){var D=typeof Map=="function"?new Map:void 0;return B.exports=R=function(U){if(U===null||!isNativeFunction(U))return U;if(typeof U!="function")throw new TypeError("Super expression must either be null or a function");if(typeof D!="undefined"){if(D.has(U))return D.get(U);D.set(U,W)}function W(){return construct(U,arguments,getPrototypeOf(this).constructor)}return W.prototype=Object.create(U.prototype,{constructor:{value:W,enumerable:!1,writable:!0,configurable:!0}}),setPrototypeOf(W,U)},R(F)}B.exports=R}),MapCache=function(){function B(R){classCallCheck(this,B),this.cache=new Map,this.timer={},this.extendOptions(R)}return createClass(B,[{key:"extendOptions",value:function(F){this.maxCache=F.maxCache||0}},{key:"get",value:function(F){return this.cache.get(JSON.stringify(F))}},{key:"set",value:function(F,D){var G=this,U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:6e4;if(this.maxCache>0&&this.cache.size>=this.maxCache){var W=toConsumableArray(this.cache.keys())[0];this.cache.delete(W),this.timer[W]&&clearTimeout(this.timer[W])}var q=JSON.stringify(F);this.cache.set(q,D),U>0&&(this.timer[q]=setTimeout(function(){G.cache.delete(q),delete G.timer[q]},U))}},{key:"delete",value:function(F){var D=JSON.stringify(F);return delete this.timer[D],this.cache.delete(D)}},{key:"clear",value:function(){return this.timer={},this.cache.clear()}}]),B}(),RequestError=function(B){inherits(R,B);function R(F,D){var G,U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"RequestError";return classCallCheck(this,R),G=possibleConstructorReturn(this,getPrototypeOf(R).call(this,F)),G.name="RequestError",G.request=D,G.type=U,G}return R}(wrapNativeSuper(Error)),ResponseError=function(B){inherits(R,B);function R(F,D,G,U){var W,q=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"ResponseError";return classCallCheck(this,R),W=possibleConstructorReturn(this,getPrototypeOf(R).call(this,D||F.statusText)),W.name="ResponseError",W.data=G,W.response=F,W.request=U,W.type=q,W}return R}(wrapNativeSuper(Error));function readerGBK(B){return new Promise(function(R,F){var D=new FileReader;D.onload=function(){R(D.result)},D.onerror=F,D.readAsText(B,"GBK")})}function safeJsonParse(B){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,F=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;try{return JSON.parse(B)}catch{if(R)throw new ResponseError(F,"JSON.parse fail",B,D,"ParseError")}return B}function timeout2Throw(B,R){return new Promise(function(F,D){setTimeout(function(){D(new RequestError("timeout of ".concat(B,"ms exceeded"),R,"Timeout"))},B)})}function cancel2Throw(B){return new Promise(function(R,F){B.cancelToken&&B.cancelToken.promise.then(function(D){F(D)})})}var toString$2=Object.prototype.toString;function getEnv(){var B;return typeof process!="undefined"&&toString$2.call(process)==="[object process]"&&(B="NODE"),typeof XMLHttpRequest!="undefined"&&(B="BROWSER"),B}function isArray$1(B){return _typeof_1(B)==="object"&&Object.prototype.toString.call(B)==="[object Array]"}function isURLSearchParams(B){return typeof URLSearchParams!="undefined"&&B instanceof URLSearchParams}function isDate(B){return _typeof_1(B)==="object"&&Object.prototype.toString.call(B)==="[object Date]"}function isObject(B){return B!==null&&_typeof_1(B)==="object"}function forEach2ObjArr(B,R){if(!!B)if(_typeof_1(B)!=="object"&&(B=[B]),isArray$1(B))for(var F=0;F<B.length;F++)R.call(null,B[F],F,B);else for(var D in B)Object.prototype.hasOwnProperty.call(B,D)&&R.call(null,B[D],D,B)}function getParamObject(B){return isURLSearchParams(B)?lib$4.parse(B.toString(),{strictNullHandling:!0}):typeof B=="string"?[B]:B}function reqStringify(B){return lib$4.stringify(B,{arrayFormat:"repeat",strictNullHandling:!0})}function mergeRequestOptions(B,R){return objectSpread({},B,R,{headers:objectSpread({},B.headers,R.headers),params:objectSpread({},getParamObject(B.params),getParamObject(R.params)),method:(R.method||B.method||"get").toLowerCase()})}var addfix=function B(R){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},D=F.prefix,G=F.suffix;return D&&(R="".concat(D).concat(R)),G&&(R="".concat(R).concat(G)),{url:R,options:F}},warnedCoreType=!1;function __defaultValidateCache(B,R){var F=R.method,D=F===void 0?"get":F;return D.toLowerCase()==="get"}function fetchMiddleware(B,R){if(!B)return R();var F=B.req;F=F===void 0?{}:F;var D=F.options,G=D===void 0?{}:D,U=F.url,W=U===void 0?"":U,q=B.cache,Y=B.responseInterceptors,Q=G.timeout,Z=Q===void 0?0:Q,K=G.__umiRequestCoreType__,J=K===void 0?"normal":K,ie=G.useCache,ne=ie===void 0?!1:ie,se=G.method,re=se===void 0?"get":se,ae=G.params,le=G.ttl,ce=G.validateCache,he=ce===void 0?__defaultValidateCache:ce;if(J!=="normal")return process&&process.env,R();var de=fetch;if(!de)throw new Error("Global fetch not exist!");var me=getEnv()==="BROWSER",fe=he(W,G)&&ne&&me;if(fe){var ge=q.get({url:W,params:ae,method:re});if(ge)return ge=ge.clone(),ge.useCache=!0,B.res=ge,R()}var Se;return Z>0?Se=Promise.race([cancel2Throw(G),de(W,G),timeout2Throw(Z,B.req)]):Se=Promise.race([cancel2Throw(G),de(W,G)]),Y.forEach(function(Ee){Se=Se.then(function(ve){var xe=typeof ve.clone=="function"?ve.clone():ve;return Ee(xe,G)})}),Se.then(function(Ee){if(fe&&Ee.status===200){var ve=Ee.clone();ve.useCache=!0,q.set({url:W,params:ae,method:re},ve,le)}return B.res=Ee,R()})}function parseResponseMiddleware(B,R){var F;return R().then(function(){if(!!B){var D=B.res,G=D===void 0?{}:D,U=B.req,W=U===void 0?{}:U,q=W||{},Y=q.options;Y=Y===void 0?{}:Y;var Q=Y.responseType,Z=Q===void 0?"json":Q,K=Y.charset,J=K===void 0?"utf8":K;Y.getResponse;var ie=Y.throwErrIfParseFail,ne=ie===void 0?!1:ie,se=Y.parseResponse,re=se===void 0?!0:se;if(!!re&&!(!G||!G.clone)){if(F=getEnv()==="BROWSER"?G.clone():G,F.useCache=G.useCache||!1,J==="gbk")try{return G.blob().then(readerGBK).then(function(ae){return safeJsonParse(ae,!1,F,W)})}catch(ae){throw new ResponseError(F,ae.message,null,W,"ParseError")}else if(Z==="json")return G.text().then(function(ae){return safeJsonParse(ae,ne,F,W)});try{return G[Z]()}catch{throw new ResponseError(F,"responseType not support",null,W,"ParseError")}}}}).then(function(D){if(!!B){B.res;var G=B.req,U=G===void 0?{}:G,W=U||{},q=W.options;q=q===void 0?{}:q;var Y=q.getResponse,Q=Y===void 0?!1:Y;if(!!F){if(F.status>=200&&F.status<300){if(Q){B.res={data:D,response:F};return}B.res=D;return}throw new ResponseError(F,"http error",D,U,"HttpError")}}}).catch(function(D){if(D instanceof RequestError||D instanceof ResponseError)throw D;var G=B.req,U=B.res;throw D.request=D.request||G,D.response=D.response||U,D.type=D.type||D.name,D.data=D.data||void 0,D})}function simplePostMiddleware(B,R){if(!B)return R();var F=B.req;F=F===void 0?{}:F;var D=F.options,G=D===void 0?{}:D,U=G.method,W=U===void 0?"get":U;if(["post","put","patch","delete"].indexOf(W.toLowerCase())===-1)return R();var q=G.requestType,Y=q===void 0?"json":q,Q=G.data;if(Q){var Z=Object.prototype.toString.call(Q);Z==="[object Object]"||Z==="[object Array]"?Y==="json"?(G.headers=objectSpread({Accept:"application/json","Content-Type":"application/json;charset=UTF-8"},G.headers),G.body=JSON.stringify(Q)):Y==="form"&&(G.headers=objectSpread({Accept:"application/json","Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},G.headers),G.body=reqStringify(Q)):(G.headers=objectSpread({Accept:"application/json"},G.headers),G.body=Q)}return B.req.options=G,R()}function paramsSerialize(B,R){var F,D;if(B)if(R)F=R(B);else if(isURLSearchParams(B))F=B.toString();else if(isArray$1(B))D=[],forEach2ObjArr(B,function(U){U===null||typeof U=="undefined"?D.push(U):D.push(isObject(U)?JSON.stringify(U):U)}),F=reqStringify(D);else{D={},forEach2ObjArr(B,function(U,W){var q=U;U===null||typeof U=="undefined"?D[W]=U:isDate(U)?q=U.toISOString():isArray$1(U)?q=U:isObject(U)&&(q=JSON.stringify(U)),D[W]=q});var G=reqStringify(D);F=G}return F}function simpleGetMiddleware(B,R){if(!B)return R();var F=B.req;F=F===void 0?{}:F;var D=F.options,G=D===void 0?{}:D,U=G.paramsSerializer,W=G.params,q=B.req;q=q===void 0?{}:q;var Y=q.url,Q=Y===void 0?"":Y;G.method=G.method?G.method.toUpperCase():"GET",G.credentials=G.credentials||"same-origin";var Z=paramsSerialize(W,U);if(B.req.originUrl=Q,Z){var K=Q.indexOf("?")!==-1?"&":"?";B.req.url="".concat(Q).concat(K).concat(Z)}return B.req.options=G,R()}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 B(R){classCallCheck(this,B),this.onion=new Onion([]),this.fetchIndex=0,this.mapCache=new MapCache(R),this.initOptions=R,this.instanceRequestInterceptors=[],this.instanceResponseInterceptors=[]}return createClass(B,[{key:"use",value:function(F){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!1,core:!1};return this.onion.use(F,D),this}},{key:"extendOptions",value:function(F){this.initOptions=mergeRequestOptions(this.initOptions,F),this.mapCache.extendOptions(F)}},{key:"dealRequestInterceptors",value:function(F){var D=function(W,q){return W.then(function(){var Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return F.req.url=Y.url||F.req.url,F.req.options=Y.options||F.req.options,q(F.req.url,F.req.options)})},G=[].concat(toConsumableArray(B.requestInterceptors),toConsumableArray(this.instanceRequestInterceptors));return G.reduce(D,Promise.resolve()).then(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return F.req.url=U.url||F.req.url,F.req.options=U.options||F.req.options,Promise.resolve()})}},{key:"request",value:function(F,D){var G=this,U=this.onion,W={req:{url:F,options:D},res:null,cache:this.mapCache,responseInterceptors:[].concat(toConsumableArray(B.responseInterceptors),toConsumableArray(this.instanceResponseInterceptors))};if(typeof F!="string")throw new Error("url MUST be a string");return new Promise(function(q,Y){G.dealRequestInterceptors(W).then(function(){return U.execute(W)}).then(function(){q(W.res)}).catch(function(Q){var Z=W.req.options.errorHandler;if(Z)try{var K=Z(Q);q(K)}catch(J){Y(J)}else Y(Q)})})}}],[{key:"requestUse",value:function(F){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!0};if(typeof F!="function")throw new TypeError("Interceptor must be function!");D.global?B.requestInterceptors.push(F):this.instanceRequestInterceptors.push(F)}},{key:"responseUse",value:function(F){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!0};if(typeof F!="function")throw new TypeError("Interceptor must be function!");D.global?B.responseInterceptors.push(F):this.instanceResponseInterceptors.push(F)}}]),B}();Core.requestInterceptors=[addfix];Core.responseInterceptors=[];function Cancel(B){this.message=B}Cancel.prototype.toString=function B(){return this.message?"Cancel: ".concat(this.message):"Cancel"};Cancel.prototype.__CANCEL__=!0;function CancelToken(B){if(typeof B!="function")throw new TypeError("executor must be a function.");var R;this.promise=new Promise(function(G){R=G});var F=this;B(function(G){F.reason||(F.reason=new Cancel(G),R(F.reason))})}CancelToken.prototype.throwIfRequested=function B(){if(this.reason)throw this.reason};CancelToken.source=function B(){var R,F=new CancelToken(function(G){R=G});return{token:F,cancel:R}};function isCancel(B){return!!(B&&B.__CANCEL__)}var request$1=function B(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},F=new Core(R),D=function(W){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Y=mergeRequestOptions(F.initOptions,q);return F.request(W,Y)};D.use=F.use.bind(F),D.fetchIndex=F.fetchIndex,D.interceptors={request:{use:Core.requestUse.bind(F)},response:{use:Core.responseUse.bind(F)}};var G=["get","post","delete","put","patch","head","options","rpc"];return G.forEach(function(U){D[U]=function(W,q){return D(W,objectSpread({},q,{method:U}))}}),D.Cancel=Cancel,D.CancelToken=CancelToken,D.isCancel=isCancel,D.extendOptions=F.extendOptions.bind(F),D.middlewares={instance:F.onion.middlewares,defaultInstance:F.onion.defaultMiddlewares,global:Onion.globalMiddlewares,core:Onion.coreMiddlewares},D},extend$1=function B(R){return request$1(R)};request$1({parseResponse:!1});var request$1$1=request$1({}),lodash_isempty={exports:{}};(function(B,R){var F=9007199254740991,D="[object Arguments]",G="[object Function]",U="[object GeneratorFunction]",W="[object Map]",q="[object Object]",Y="[object Promise]",Q="[object Set]",Z="[object WeakMap]",K="[object DataView]",J=/[\\^$.*+?()[\]{}|]/g,ie=/^\[object .+?Constructor\]$/,ne=typeof commonjsGlobal$2=="object"&&commonjsGlobal$2&&commonjsGlobal$2.Object===Object&&commonjsGlobal$2,se=typeof self=="object"&&self&&self.Object===Object&&self,re=ne||se||Function("return this")(),ae=R&&!R.nodeType&&R,le=ae&&!0&&B&&!B.nodeType&&B,ce=le&&le.exports===ae;function he(gt,Pt){return gt==null?void 0:gt[Pt]}function de(gt){var Pt=!1;if(gt!=null&&typeof gt.toString!="function")try{Pt=!!(gt+"")}catch{}return Pt}function me(gt,Pt){return function(kt){return gt(Pt(kt))}}var fe=Function.prototype,ge=Object.prototype,Se=re["__core-js_shared__"],Ee=function(){var gt=/[^.]+$/.exec(Se&&Se.keys&&Se.keys.IE_PROTO||"");return gt?"Symbol(src)_1."+gt:""}(),ve=fe.toString,xe=ge.hasOwnProperty,Pe=ge.toString,ye=RegExp("^"+ve.call(xe).replace(J,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Te=ce?re.Buffer:void 0,Le=ge.propertyIsEnumerable,we=Te?Te.isBuffer:void 0,Ae=me(Object.keys,Object),Me=yt(re,"DataView"),ke=yt(re,"Map"),Ne=yt(re,"Promise"),Ie=yt(re,"Set"),Ge=yt(re,"WeakMap"),ze=!Le.call({valueOf:1},"valueOf"),Ve=Ze(Me),Ye=Ze(ke),et=Ze(Ne),Je=Ze(Ie),st=Ze(Ge);function pt(gt){return Pe.call(gt)}function dt(gt){if(!ht(gt)||_e(gt))return!1;var Pt=ct(gt)||de(gt)?ye:ie;return Pt.test(Ze(gt))}function yt(gt,Pt){var kt=he(gt,Pt);return dt(kt)?kt:void 0}var Fe=pt;(Me&&Fe(new Me(new ArrayBuffer(1)))!=K||ke&&Fe(new ke)!=W||Ne&&Fe(Ne.resolve())!=Y||Ie&&Fe(new Ie)!=Q||Ge&&Fe(new Ge)!=Z)&&(Fe=function(gt){var Pt=Pe.call(gt),kt=Pt==q?gt.constructor:void 0,Yt=kt?Ze(kt):void 0;if(Yt)switch(Yt){case Ve:return K;case Ye:return W;case et:return Y;case Je:return Q;case st:return Z}return Pt});function _e(gt){return!!Ee&&Ee in gt}function je(gt){var Pt=gt&>.constructor,kt=typeof Pt=="function"&&Pt.prototype||ge;return gt===kt}function Ze(gt){if(gt!=null){try{return ve.call(gt)}catch{}try{return gt+""}catch{}}return""}function De(gt){return tt(gt)&&xe.call(gt,"callee")&&(!Le.call(gt,"callee")||Pe.call(gt)==D)}var Oe=Array.isArray;function Xe(gt){return gt!=null&&ut(gt.length)&&!ct(gt)}function tt(gt){return vt(gt)&&Xe(gt)}var nt=we||xt;function Ke(gt){if(Xe(gt)&&(Oe(gt)||typeof gt=="string"||typeof gt.splice=="function"||nt(gt)||De(gt)))return!gt.length;var Pt=Fe(gt);if(Pt==W||Pt==Q)return!gt.size;if(ze||je(gt))return!Ae(gt).length;for(var kt in gt)if(xe.call(gt,kt))return!1;return!0}function ct(gt){var Pt=ht(gt)?Pe.call(gt):"";return Pt==G||Pt==U}function ut(gt){return typeof gt=="number"&>>-1&>%1==0&><=F}function ht(gt){var Pt=typeof gt;return!!gt&&(Pt=="object"||Pt=="function")}function vt(gt){return!!gt&&typeof gt=="object"}function xt(){return!1}B.exports=Ke})(lodash_isempty,lodash_isempty.exports);var objectTag="[object Object]";function isHostObject(B){var R=!1;if(B!=null&&typeof B.toString!="function")try{R=!!(B+"")}catch{}return R}function overArg(B,R){return function(F){return B(R(F))}}var funcProto=Function.prototype,objectProto=Object.prototype,funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,objectCtorString=funcToString.call(Object),objectToString=objectProto.toString,getPrototype=overArg(Object.getPrototypeOf,Object);function isObjectLike(B){return!!B&&typeof B=="object"}function isPlainObject$1(B){if(!isObjectLike(B)||objectToString.call(B)!=objectTag||isHostObject(B))return!1;var R=getPrototype(B);if(R===null)return!0;var F=hasOwnProperty.call(R,"constructor")&&R.constructor;return typeof F=="function"&&F instanceof F&&funcToString.call(F)==objectCtorString}var lodash_isplainobject=isPlainObject$1,lodash_transform={exports:{}};(function(B,R){var F=200,D="Expected a function",G="__lodash_hash_undefined__",U=1,W=2,q=1/0,Y=9007199254740991,Q="[object Arguments]",Z="[object Array]",K="[object Boolean]",J="[object Date]",ie="[object Error]",ne="[object Function]",se="[object GeneratorFunction]",re="[object Map]",ae="[object Number]",le="[object Object]",ce="[object Promise]",he="[object RegExp]",de="[object Set]",me="[object String]",fe="[object Symbol]",ge="[object WeakMap]",Se="[object ArrayBuffer]",Ee="[object DataView]",ve="[object Float32Array]",xe="[object Float64Array]",Pe="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",Le="[object Uint8Array]",we="[object Uint8ClampedArray]",Ae="[object Uint16Array]",Me="[object Uint32Array]",ke=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ne=/^\w*$/,Ie=/^\./,Ge=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ze=/[\\^$.*+?()[\]{}|]/g,Ve=/\\(\\)?/g,Ye=/^\[object .+?Constructor\]$/,et=/^(?:0|[1-9]\d*)$/,Je={};Je[ve]=Je[xe]=Je[Pe]=Je[ye]=Je[Te]=Je[Le]=Je[we]=Je[Ae]=Je[Me]=!0,Je[Q]=Je[Z]=Je[Se]=Je[K]=Je[Ee]=Je[J]=Je[ie]=Je[ne]=Je[re]=Je[ae]=Je[le]=Je[he]=Je[de]=Je[me]=Je[ge]=!1;var st=typeof commonjsGlobal$2=="object"&&commonjsGlobal$2&&commonjsGlobal$2.Object===Object&&commonjsGlobal$2,pt=typeof self=="object"&&self&&self.Object===Object&&self,dt=st||pt||Function("return this")(),yt=R&&!R.nodeType&&R,Fe=yt&&!0&&B&&!B.nodeType&&B,_e=Fe&&Fe.exports===yt,je=_e&&st.process,Ze=function(){try{return je&&je.binding("util")}catch{}}(),De=Ze&&Ze.isTypedArray;function Oe(He,rt){for(var bt=-1,wt=He?He.length:0;++bt<wt&&rt(He[bt],bt,He)!==!1;);return He}function Xe(He,rt){for(var bt=-1,wt=He?He.length:0;++bt<wt;)if(rt(He[bt],bt,He))return!0;return!1}function tt(He){return function(rt){return rt==null?void 0:rt[He]}}function nt(He,rt){for(var bt=-1,wt=Array(He);++bt<He;)wt[bt]=rt(bt);return wt}function Ke(He){return function(rt){return He(rt)}}function ct(He,rt){return He==null?void 0:He[rt]}function ut(He){var rt=!1;if(He!=null&&typeof He.toString!="function")try{rt=!!(He+"")}catch{}return rt}function ht(He){var rt=-1,bt=Array(He.size);return He.forEach(function(wt,Bt){bt[++rt]=[Bt,wt]}),bt}function vt(He,rt){return function(bt){return He(rt(bt))}}function xt(He){var rt=-1,bt=Array(He.size);return He.forEach(function(wt){bt[++rt]=wt}),bt}var gt=Array.prototype,Pt=Function.prototype,kt=Object.prototype,Yt=dt["__core-js_shared__"],fi=function(){var He=/[^.]+$/.exec(Yt&&Yt.keys&&Yt.keys.IE_PROTO||"");return He?"Symbol(src)_1."+He:""}(),Jt=Pt.toString,ii=kt.hasOwnProperty,ui=kt.toString,Qt=RegExp("^"+Jt.call(ii).replace(ze,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ai=dt.Symbol,Qi=dt.Uint8Array,In=vt(Object.getPrototypeOf,Object),cn=Object.create,_t=kt.propertyIsEnumerable,oi=gt.splice,$i=vt(Object.keys,Object),Ui=ss(dt,"DataView"),Nr=ss(dt,"Map"),On=ss(dt,"Promise"),Jn=ss(dt,"Set"),Lr=ss(dt,"WeakMap"),Vn=ss(Object,"create"),kr=Br(Ui),rs=Br(Nr),mr=Br(On),Gn=Br(Jn),$n=Br(Lr),er=Ai?Ai.prototype:void 0,Nn=er?er.valueOf:void 0,hn=er?er.toString:void 0;function Sn(He){var rt=-1,bt=He?He.length:0;for(this.clear();++rt<bt;){var wt=He[rt];this.set(wt[0],wt[1])}}function Aa(){this.__data__=Vn?Vn(null):{}}function Us(He){return this.has(He)&&delete this.__data__[He]}function ys(He){var rt=this.__data__;if(Vn){var bt=rt[He];return bt===G?void 0:bt}return ii.call(rt,He)?rt[He]:void 0}function xn(He){var rt=this.__data__;return Vn?rt[He]!==void 0:ii.call(rt,He)}function Ln(He,rt){var bt=this.__data__;return bt[He]=Vn&&rt===void 0?G:rt,this}Sn.prototype.clear=Aa,Sn.prototype.delete=Us,Sn.prototype.get=ys,Sn.prototype.has=xn,Sn.prototype.set=Ln;function kn(He){var rt=-1,bt=He?He.length:0;for(this.clear();++rt<bt;){var wt=He[rt];this.set(wt[0],wt[1])}}function Hs(){this.__data__=[]}function ei(He){var rt=this.__data__,bt=vs(rt,He);if(bt<0)return!1;var wt=rt.length-1;return bt==wt?rt.pop():oi.call(rt,bt,1),!0}function Fi(He){var rt=this.__data__,bt=vs(rt,He);return bt<0?void 0:rt[bt][1]}function Ei(He){return vs(this.__data__,He)>-1}function Ni(He,rt){var bt=this.__data__,wt=vs(bt,He);return wt<0?bt.push([He,rt]):bt[wt][1]=rt,this}kn.prototype.clear=Hs,kn.prototype.delete=ei,kn.prototype.get=Fi,kn.prototype.has=Ei,kn.prototype.set=Ni;function mi(He){var rt=-1,bt=He?He.length:0;for(this.clear();++rt<bt;){var wt=He[rt];this.set(wt[0],wt[1])}}function Li(){this.__data__={hash:new Sn,map:new(Nr||kn),string:new Sn}}function fn(He){return Es(this,He).delete(He)}function Rn(He){return Es(this,He).get(He)}function zn(He){return Es(this,He).has(He)}function Rr(He,rt){return Es(this,He).set(He,rt),this}mi.prototype.clear=Li,mi.prototype.delete=fn,mi.prototype.get=Rn,mi.prototype.has=zn,mi.prototype.set=Rr;function gr(He){var rt=-1,bt=He?He.length:0;for(this.__data__=new mi;++rt<bt;)this.add(He[rt])}function yo(He){return this.__data__.set(He,G),this}function xl(He){return this.__data__.has(He)}gr.prototype.add=gr.prototype.push=yo,gr.prototype.has=xl;function tr(He){this.__data__=new kn(He)}function Al(){this.__data__=new kn}function vo(He){return this.__data__.delete(He)}function Ea(He){return this.__data__.get(He)}function wa(He){return this.__data__.has(He)}function Ws(He,rt){var bt=this.__data__;if(bt instanceof kn){var wt=bt.__data__;if(!Nr||wt.length<F-1)return wt.push([He,rt]),this;bt=this.__data__=new mi(wt)}return bt.set(He,rt),this}tr.prototype.clear=Al,tr.prototype.delete=vo,tr.prototype.get=Ea,tr.prototype.has=wa,tr.prototype.set=Ws;function Pa(He,rt){var bt=Un(He)||Co(He)?nt(He.length,String):[],wt=bt.length,Bt=!!wt;for(var Lt in He)(rt||ii.call(He,Lt))&&!(Bt&&(Lt=="length"||js(Lt,wt)))&&bt.push(Lt);return bt}function vs(He,rt){for(var bt=He.length;bt--;)if(To(He[bt][0],rt))return bt;return-1}function bs(He){return dn(He)?cn(He):{}}var Ss=Eo();function bo(He,rt){return He&&Ss(He,rt,as)}function Ta(He,rt){rt=Qs(rt,He)?[rt]:Ys(rt);for(var bt=0,wt=rt.length;He!=null&&bt<wt;)He=He[Ks(rt[bt++])];return bt&&bt==wt?He:void 0}function Ca(He){return ui.call(He)}function qs(He,rt){return He!=null&&rt in Object(He)}function xs(He,rt,bt,wt,Bt){return He===rt?!0:He==null||rt==null||!dn(He)&&!Dr(rt)?He!==He&&rt!==rt:So(He,rt,xs,bt,wt,Bt)}function So(He,rt,bt,wt,Bt,Lt){var Ft=Un(He),Rt=Un(rt),ni=Z,_i=Z;Ft||(ni=vr(He),ni=ni==Q?le:ni),Rt||(_i=vr(rt),_i=_i==Q?le:_i);var Di=ni==le&&!ut(He),Wi=_i==le&&!ut(rt),ki=ni==_i;if(ki&&!Di)return Lt||(Lt=new tr),Ft||en(He)?wo(He,rt,bt,wt,Bt,Lt):El(He,rt,ni,bt,wt,Bt,Lt);if(!(Bt&W)){var An=Di&&ii.call(He,"__wrapped__"),mn=Wi&&ii.call(rt,"__wrapped__");if(An||mn){var En=An?He.value():He,Oi=mn?rt.value():rt;return Lt||(Lt=new tr),bt(En,Oi,wt,Bt,Lt)}}return ki?(Lt||(Lt=new tr),Po(He,rt,bt,wt,Bt,Lt)):!1}function Xs(He,rt,bt,wt){var Bt=bt.length,Lt=Bt,Ft=!wt;if(He==null)return!Lt;for(He=Object(He);Bt--;){var Rt=bt[Bt];if(Ft&&Rt[2]?Rt[1]!==He[Rt[0]]:!(Rt[0]in He))return!1}for(;++Bt<Lt;){Rt=bt[Bt];var ni=Rt[0],_i=He[ni],Di=Rt[1];if(Ft&&Rt[2]){if(_i===void 0&&!(ni in He))return!1}else{var Wi=new tr;if(wt)var ki=wt(_i,Di,ni,He,rt,Wi);if(!(ki===void 0?xs(Di,_i,wt,U|W,Wi):ki))return!1}}return!0}function As(He){if(!dn(He)||Tl(He))return!1;var rt=Pi(He)||ut(He)?Qt:Ye;return rt.test(Br(He))}function yr(He){return Dr(He)&&Fn(He.length)&&!!Je[ui.call(He)]}function Fr(He){return typeof He=="function"?He:He==null?tn:typeof He=="object"?Un(He)?Ao(He[0],He[1]):xo(He):pn(He)}function Ma(He){if(!Cl(He))return $i(He);var rt=[];for(var bt in Object(He))ii.call(He,bt)&&bt!="constructor"&&rt.push(bt);return rt}function xo(He){var rt=wl(He);return rt.length==1&&rt[0][2]?Vt(rt[0][0],rt[0][1]):function(bt){return bt===He||Xs(bt,He,rt)}}function Ao(He,rt){return Qs(He)&&vi(rt)?Vt(Ks(He),rt):function(bt){var wt=Fa(bt,He);return wt===void 0&&wt===rt?Ba(bt,He):xs(rt,wt,void 0,U|W)}}function _a(He){return function(rt){return Ta(rt,He)}}function Ia(He){if(typeof He=="string")return He;if(Hi(He))return hn?hn.call(He):"";var rt=He+"";return rt=="0"&&1/He==-q?"-0":rt}function Ys(He){return Un(He)?He:bi(He)}function Eo(He){return function(rt,bt,wt){for(var Bt=-1,Lt=Object(rt),Ft=wt(rt),Rt=Ft.length;Rt--;){var ni=Ft[He?Rt:++Bt];if(bt(Lt[ni],ni,Lt)===!1)break}return rt}}function wo(He,rt,bt,wt,Bt,Lt){var Ft=Bt&W,Rt=He.length,ni=rt.length;if(Rt!=ni&&!(Ft&&ni>Rt))return!1;var _i=Lt.get(He);if(_i&&Lt.get(rt))return _i==rt;var Di=-1,Wi=!0,ki=Bt&U?new gr:void 0;for(Lt.set(He,rt),Lt.set(rt,He);++Di<Rt;){var An=He[Di],mn=rt[Di];if(wt)var En=Ft?wt(mn,An,Di,rt,He,Lt):wt(An,mn,Di,He,rt,Lt);if(En!==void 0){if(En)continue;Wi=!1;break}if(ki){if(!Xe(rt,function(Oi,wn){if(!ki.has(wn)&&(An===Oi||bt(An,Oi,wt,Bt,Lt)))return ki.add(wn)})){Wi=!1;break}}else if(!(An===mn||bt(An,mn,wt,Bt,Lt))){Wi=!1;break}}return Lt.delete(He),Lt.delete(rt),Wi}function El(He,rt,bt,wt,Bt,Lt,Ft){switch(bt){case Ee:if(He.byteLength!=rt.byteLength||He.byteOffset!=rt.byteOffset)return!1;He=He.buffer,rt=rt.buffer;case Se:return!(He.byteLength!=rt.byteLength||!wt(new Qi(He),new Qi(rt)));case K:case J:case ae:return To(+He,+rt);case ie:return He.name==rt.name&&He.message==rt.message;case he:case me:return He==rt+"";case re:var Rt=ht;case de:var ni=Lt&W;if(Rt||(Rt=xt),He.size!=rt.size&&!ni)return!1;var _i=Ft.get(He);if(_i)return _i==rt;Lt|=U,Ft.set(He,rt);var Di=wo(Rt(He),Rt(rt),wt,Bt,Lt,Ft);return Ft.delete(He),Di;case fe:if(Nn)return Nn.call(He)==Nn.call(rt)}return!1}function Po(He,rt,bt,wt,Bt,Lt){var Ft=Bt&W,Rt=as(He),ni=Rt.length,_i=as(rt),Di=_i.length;if(ni!=Di&&!Ft)return!1;for(var Wi=ni;Wi--;){var ki=Rt[Wi];if(!(Ft?ki in rt:ii.call(rt,ki)))return!1}var An=Lt.get(He);if(An&&Lt.get(rt))return An==rt;var mn=!0;Lt.set(He,rt),Lt.set(rt,He);for(var En=Ft;++Wi<ni;){ki=Rt[Wi];var Oi=He[ki],wn=rt[ki];if(wt)var Oa=Ft?wt(wn,Oi,ki,rt,He,Lt):wt(Oi,wn,ki,He,rt,Lt);if(!(Oa===void 0?Oi===wn||bt(Oi,wn,wt,Bt,Lt):Oa)){mn=!1;break}En||(En=ki=="constructor")}if(mn&&!En){var os=He.constructor,Or=rt.constructor;os!=Or&&"constructor"in He&&"constructor"in rt&&!(typeof os=="function"&&os instanceof os&&typeof Or=="function"&&Or instanceof Or)&&(mn=!1)}return Lt.delete(He),Lt.delete(rt),mn}function Es(He,rt){var bt=He.__data__;return Pl(rt)?bt[typeof rt=="string"?"string":"hash"]:bt.map}function wl(He){for(var rt=as(He),bt=rt.length;bt--;){var wt=rt[bt],Bt=He[wt];rt[bt]=[wt,Bt,vi(Bt)]}return rt}function ss(He,rt){var bt=ct(He,rt);return As(bt)?bt:void 0}var vr=Ca;(Ui&&vr(new Ui(new ArrayBuffer(1)))!=Ee||Nr&&vr(new Nr)!=re||On&&vr(On.resolve())!=ce||Jn&&vr(new Jn)!=de||Lr&&vr(new Lr)!=ge)&&(vr=function(He){var rt=ui.call(He),bt=rt==le?He.constructor:void 0,wt=bt?Br(bt):void 0;if(wt)switch(wt){case kr:return Ee;case rs:return re;case mr:return ce;case Gn:return de;case $n:return ge}return rt});function Na(He,rt,bt){rt=Qs(rt,He)?[rt]:Ys(rt);for(var wt,Bt=-1,Ft=rt.length;++Bt<Ft;){var Lt=Ks(rt[Bt]);if(!(wt=He!=null&&bt(He,Lt)))break;He=He[Lt]}if(wt)return wt;var Ft=He?He.length:0;return!!Ft&&Fn(Ft)&&js(Lt,Ft)&&(Un(He)||Co(He))}function js(He,rt){return rt=rt==null?Y:rt,!!rt&&(typeof He=="number"||et.test(He))&&He>-1&&He%1==0&&He<rt}function Qs(He,rt){if(Un(He))return!1;var bt=typeof He;return bt=="number"||bt=="symbol"||bt=="boolean"||He==null||Hi(He)?!0:Ne.test(He)||!ke.test(He)||rt!=null&&He in Object(rt)}function Pl(He){var rt=typeof He;return rt=="string"||rt=="number"||rt=="symbol"||rt=="boolean"?He!=="__proto__":He===null}function Tl(He){return!!fi&&fi in He}function Cl(He){var rt=He&&He.constructor,bt=typeof rt=="function"&&rt.prototype||kt;return He===bt}function vi(He){return He===He&&!dn(He)}function Vt(He,rt){return function(bt){return bt==null?!1:bt[He]===rt&&(rt!==void 0||He in Object(bt))}}var bi=La(function(He){He=Ra(He);var rt=[];return Ie.test(He)&&rt.push(""),He.replace(Ge,function(bt,wt,Bt,Lt){rt.push(Bt?Lt.replace(Ve,"$1"):wt||bt)}),rt});function Ks(He){if(typeof He=="string"||Hi(He))return He;var rt=He+"";return rt=="0"&&1/He==-q?"-0":rt}function Br(He){if(He!=null){try{return Jt.call(He)}catch{}try{return He+""}catch{}}return""}function La(He,rt){if(typeof He!="function"||rt&&typeof rt!="function")throw new TypeError(D);var bt=function(){var wt=arguments,Bt=rt?rt.apply(this,wt):wt[0],Lt=bt.cache;if(Lt.has(Bt))return Lt.get(Bt);var Ft=He.apply(this,wt);return bt.cache=Lt.set(Bt,Ft),Ft};return bt.cache=new(La.Cache||mi),bt}La.Cache=mi;function To(He,rt){return He===rt||He!==He&&rt!==rt}function Co(He){return Bi(He)&&ii.call(He,"callee")&&(!_t.call(He,"callee")||ui.call(He)==Q)}var Un=Array.isArray;function ka(He){return He!=null&&Fn(He.length)&&!Pi(He)}function Bi(He){return Dr(He)&&ka(He)}function Pi(He){var rt=dn(He)?ui.call(He):"";return rt==ne||rt==se}function Fn(He){return typeof He=="number"&&He>-1&&He%1==0&&He<=Y}function dn(He){var rt=typeof He;return!!He&&(rt=="object"||rt=="function")}function Dr(He){return!!He&&typeof He=="object"}function Hi(He){return typeof He=="symbol"||Dr(He)&&ui.call(He)==fe}var en=De?Ke(De):yr;function Ra(He){return He==null?"":Ia(He)}function Fa(He,rt,bt){var wt=He==null?void 0:Ta(He,rt);return wt===void 0?bt:wt}function Ba(He,rt){return He!=null&&Na(He,rt,qs)}function as(He){return ka(He)?Pa(He):Ma(He)}function Da(He,rt,bt){var wt=Un(He)||en(He);if(rt=Fr(rt),bt==null)if(wt||dn(He)){var Bt=He.constructor;wt?bt=Un(He)?new Bt:[]:bt=Pi(Bt)?bs(In(He)):{}}else bt={};return(wt?Oe:bo)(He,function(Lt,Ft,Rt){return rt(bt,Lt,Ft,Rt)}),bt}function tn(He){return He}function pn(He){return Qs(He)?tt(Ks(He)):_a(He)}B.exports=Da})(lodash_transform,lodash_transform.exports);const isEmpty$1=lodash_isempty.exports,isPlainObject=lodash_isplainobject,transform=lodash_transform.exports;var src=function B(R,{cleanKeys:F=[],cleanValues:D=[],emptyArrays:G=!0,emptyObjects:U=!0,emptyStrings:W=!0,NaNValues:q=!1,nullValues:Y=!0,undefinedValues:Q=!0}={}){return transform(R,(Z,K,J)=>{if(!F.includes(J)&&((Array.isArray(K)||isPlainObject(K))&&(K=B(K,{NaNValues:q,cleanKeys:F,cleanValues:D,emptyArrays:G,emptyObjects:U,emptyStrings:W,nullValues:Y,undefinedValues:Q})),!D.includes(K)&&!(U&&isPlainObject(K)&&isEmpty$1(K))&&!(G&&Array.isArray(K)&&!K.length)&&!(W&&K==="")&&!(q&&Number.isNaN(K))&&!(Y&&K===null)&&!(Q&&K===void 0))){if(Array.isArray(Z))return Z.push(K);Z[J]=K}})};let isOpenLogin=!1;const request=extend$1({requestType:"json",timeout:1e4,prefix:getRequestHostname()});request.use(async(B,R)=>{B.req,await R()});request.interceptors.request.use((B,R)=>{const F=sessionStorage.getItem("Authorization")||"";return{url:B,options:{...R,params:src(R.params),headers:{...R.headers,Authorization:F}}}},{global:!1});request.interceptors.response.use(async(B,R)=>{if(new URL(B.url),B.status>299||B.status<200){const D="\u670D\u52A1\u5668\u9519\u8BEF\uFF0C\u72B6\u6001\u7801"+B.status;throw Toast(D),new Error(D)}const F=await B.clone().json();if(F.code!==200&&F.errCode!==0){const D=F.msg||F.message||"\u5904\u7406\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";F.code===403||F.code===401||Toast(D);const G=browser();throw F.code===403&&G.isApp&&!isOpenLogin&&(G.android?(postMessage$1({api:"login"}),window.DAYA.postMessage(JSON.stringify({api:"login"}))):G.iPhone&&window.webkit.messageHandlers.DAYA.postMessage(JSON.stringify({api:"login"}))),new Error(D)}return B},{global:!1});const difficultyData={ONE:"BEGINNER",TWO:"ADVANCED",THREE:"PERFORMER",1:"BEGINNER",2:"ADVANCED",3:"PERFORMER"},unitTestData=reactive({isSelectMeasureMode:!1});var UnitTest=defineComponent({name:"unitTest",setup(){const B=ref({difficulty:""}),R=async()=>{var U;const G=useOriginSearch();if(!G.questionId)return"";try{const W=await request.get(`/examinationQuestion/detail?examinationQuestionId=${G.questionId}`);B.value=JSON.parse((U=W==null?void 0:W.data)==null?void 0:U.questionExtendsInfo)||{},B.value.start=Number(B.value.start),B.value.end=Number(B.value.end)}catch(W){console.error("\u89E3\u6790\u5355\u5143\u6D4B\u9A8C\u66F2\u8C31\u9898\u76EE\u5931\u8D25",W)}D()},F=async()=>{var U;const G=useOriginSearch();if(!!G.lessonTrainingId){try{const W=await request.post(`/studentLessonTraining/trainingRecord/${G.courseScheduleId}?userId=${userInfo.id}`);if(Array.isArray((U=W==null?void 0:W.data)==null?void 0:U.trainings)){const q=W.data.trainings.find(Q=>Q.materialId==G.materialId),Y=JSON.parse(q.trainingContent);B.value.start=Number(Y.startSection),B.value.end=Number(Y.endSection),B.value.speed=isNaN(Y.speed)?0:Number(Y.speed)}}catch(W){console.error("\u89E3\u6790\u8BFE\u540E\u8BAD\u7EC3\u66F2\u8C31\u9898\u76EE\u5931\u8D25",W)}D()}},D=()=>{const G=state$2.times.filter(Y=>Y.noteElement.sourceMeasure.MeasureNumberXML==B.value.start),U=state$2.times.filter(Y=>Y.noteElement.sourceMeasure.MeasureNumberXML==B.value.end),W=G[0],q=U[U.length-1];W&&q&&(unitTestData.isSelectMeasureMode=!0,state$2.sectionStatus=!0,state$2.section=[W,q],difficultyData[B.value.difficulty]&&(state$3.eva.difficulty=difficultyData[B.value.difficulty]),B.value.speed&&changeSpeed(B.value.speed))};return onMounted(()=>{!browser().isStudent||(R(),F())}),()=>""}}),accompaniment="/orchestra-music-score/assets/accompaniment.b83f0e6e.svg",__glob_2_0=Object.freeze(Object.defineProperty({__proto__:null,default:accompaniment},Symbol.toStringTag,{value:"Module"})),back$1="/orchestra-music-score/assets/back.0e8784e6.svg",__glob_2_1=Object.freeze(Object.defineProperty({__proto__:null,default:back$1},Symbol.toStringTag,{value:"Module"})),backgroundClose="/orchestra-music-score/assets/background-close.292949ba.svg",__glob_2_2=Object.freeze(Object.defineProperty({__proto__:null,default:backgroundClose},Symbol.toStringTag,{value:"Module"})),background$1="/orchestra-music-score/assets/background.66e3a94f.svg",__glob_2_3=Object.freeze(Object.defineProperty({__proto__:null,default:background$1},Symbol.toStringTag,{value:"Module"})),camera="/orchestra-music-score/assets/camera.6735691d.svg",__glob_2_4=Object.freeze(Object.defineProperty({__proto__:null,default:camera},Symbol.toStringTag,{value:"Module"})),equilibrium="/orchestra-music-score/assets/equilibrium.f9043cf5.svg",__glob_2_5=Object.freeze(Object.defineProperty({__proto__:null,default:equilibrium},Symbol.toStringTag,{value:"Module"})),evaluating$1="/orchestra-music-score/assets/evaluating.9eb5cfac.svg",__glob_2_6=Object.freeze(Object.defineProperty({__proto__:null,default:evaluating$1},Symbol.toStringTag,{value:"Module"})),fingeringOff="/orchestra-music-score/assets/fingeringOff.356cc412.svg",__glob_2_7=Object.freeze(Object.defineProperty({__proto__:null,default:fingeringOff},Symbol.toStringTag,{value:"Module"})),fingeringOn="/orchestra-music-score/assets/fingeringOn.32644085.svg",__glob_2_8=Object.freeze(Object.defineProperty({__proto__:null,default:fingeringOn},Symbol.toStringTag,{value:"Module"})),gudingActive="/orchestra-music-score/assets/guding-active.ffb42216.svg",__glob_2_9=Object.freeze(Object.defineProperty({__proto__:null,default:gudingActive},Symbol.toStringTag,{value:"Module"})),guding="/orchestra-music-score/assets/guding.a3ea7233.svg",__glob_2_10=Object.freeze(Object.defineProperty({__proto__:null,default:guding},Symbol.toStringTag,{value:"Module"})),iconBack$1="/orchestra-music-score/assets/icon-back.c23f1b59.svg",__glob_2_11=Object.freeze(Object.defineProperty({__proto__:null,default:iconBack$1},Symbol.toStringTag,{value:"Module"})),iconStaffActive="/orchestra-music-score/assets/icon-staff-active.c1d6b682.svg",__glob_2_12=Object.freeze(Object.defineProperty({__proto__:null,default:iconStaffActive},Symbol.toStringTag,{value:"Module"})),iconStaff="/orchestra-music-score/assets/icon-staff.5a2b7c94.svg",__glob_2_13=Object.freeze(Object.defineProperty({__proto__:null,default:iconStaff},Symbol.toStringTag,{value:"Module"})),iconZhuanpu="/orchestra-music-score/assets/icon-zhuanpu.035ed1c0.svg",__glob_2_14=Object.freeze(Object.defineProperty({__proto__:null,default:iconZhuanpu},Symbol.toStringTag,{value:"Module"})),jia="/orchestra-music-score/assets/jia.362e133d.svg",__glob_2_15=Object.freeze(Object.defineProperty({__proto__:null,default:jia},Symbol.toStringTag,{value:"Module"})),jian="/orchestra-music-score/assets/jian.ce0820a8.svg",__glob_2_16=Object.freeze(Object.defineProperty({__proto__:null,default:jian},Symbol.toStringTag,{value:"Module"})),jianpu="/orchestra-music-score/assets/jianpu.70310e35.svg",__glob_2_17=Object.freeze(Object.defineProperty({__proto__:null,default:jianpu},Symbol.toStringTag,{value:"Module"})),model1$1="/orchestra-music-score/assets/model-1.5cdc3b59.svg",__glob_2_18=Object.freeze(Object.defineProperty({__proto__:null,default:model1$1},Symbol.toStringTag,{value:"Module"})),model2$1="/orchestra-music-score/assets/model-2.aedda1e7.svg",__glob_2_19=Object.freeze(Object.defineProperty({__proto__:null,default:model2$1},Symbol.toStringTag,{value:"Module"})),model3$1="/orchestra-music-score/assets/model-3.f6cc2e96.svg",__glob_2_20=Object.freeze(Object.defineProperty({__proto__:null,default:model3$1},Symbol.toStringTag,{value:"Module"})),modelType$1="/orchestra-music-score/assets/modelType.7dff5016.svg",__glob_2_21=Object.freeze(Object.defineProperty({__proto__:null,default:modelType$1},Symbol.toStringTag,{value:"Module"})),modelType1="/orchestra-music-score/assets/modelType1.e616d5d5.svg",__glob_2_22=Object.freeze(Object.defineProperty({__proto__:null,default:modelType1},Symbol.toStringTag,{value:"Module"})),modelType2="/orchestra-music-score/assets/modelType2.4364a0ba.svg",__glob_2_23=Object.freeze(Object.defineProperty({__proto__:null,default:modelType2},Symbol.toStringTag,{value:"Module"})),musicList="/orchestra-music-score/assets/music-list.8ad9f128.svg",__glob_2_24=Object.freeze(Object.defineProperty({__proto__:null,default:musicList},Symbol.toStringTag,{value:"Module"})),musicList1="/orchestra-music-score/assets/music-list1.16180b5c.svg",__glob_2_25=Object.freeze(Object.defineProperty({__proto__:null,default:musicList1},Symbol.toStringTag,{value:"Module"})),music="/orchestra-music-score/assets/music.855d26de.svg",__glob_2_26=Object.freeze(Object.defineProperty({__proto__:null,default:music},Symbol.toStringTag,{value:"Module"})),part="/orchestra-music-score/assets/part.7184ecd4.svg",__glob_2_27=Object.freeze(Object.defineProperty({__proto__:null,default:part},Symbol.toStringTag,{value:"Module"})),pause$1="/orchestra-music-score/assets/pause.1f3a158e.svg",__glob_2_28=Object.freeze(Object.defineProperty({__proto__:null,default:pause$1},Symbol.toStringTag,{value:"Module"})),play$1="/orchestra-music-score/assets/play.4cb46bbb.svg",__glob_2_29=Object.freeze(Object.defineProperty({__proto__:null,default:play$1},Symbol.toStringTag,{value:"Module"})),practice="/orchestra-music-score/assets/practice.a1fec217.svg",__glob_2_30=Object.freeze(Object.defineProperty({__proto__:null,default:practice},Symbol.toStringTag,{value:"Module"})),practise="/orchestra-music-score/assets/practise.cdd135b3.svg",__glob_2_31=Object.freeze(Object.defineProperty({__proto__:null,default:practise},Symbol.toStringTag,{value:"Module"})),record="/orchestra-music-score/assets/record.214e6a6d.svg",__glob_2_32=Object.freeze(Object.defineProperty({__proto__:null,default:record},Symbol.toStringTag,{value:"Module"})),resetShengyin="/orchestra-music-score/assets/reset-shengyin.af688c9a.svg",__glob_2_33=Object.freeze(Object.defineProperty({__proto__:null,default:resetShengyin},Symbol.toStringTag,{value:"Module"})),reset="/orchestra-music-score/assets/reset.c00c8122.svg",__glob_2_34=Object.freeze(Object.defineProperty({__proto__:null,default:reset},Symbol.toStringTag,{value:"Module"})),restore="/orchestra-music-score/assets/restore.3a4a6db3.svg",__glob_2_35=Object.freeze(Object.defineProperty({__proto__:null,default:restore},Symbol.toStringTag,{value:"Module"})),section$1="/orchestra-music-score/assets/section.e6286364.svg",__glob_2_36=Object.freeze(Object.defineProperty({__proto__:null,default:section$1},Symbol.toStringTag,{value:"Module"})),section1="/orchestra-music-score/assets/section1.fc48e73d.svg",__glob_2_37=Object.freeze(Object.defineProperty({__proto__:null,default:section1},Symbol.toStringTag,{value:"Module"})),section2="/orchestra-music-score/assets/section2.2194307f.svg",__glob_2_38=Object.freeze(Object.defineProperty({__proto__:null,default:section2},Symbol.toStringTag,{value:"Module"})),setting$1="/orchestra-music-score/assets/setting.d2c48eac.svg",__glob_2_39=Object.freeze(Object.defineProperty({__proto__:null,default:setting$1},Symbol.toStringTag,{value:"Module"})),shuodiaoActive="/orchestra-music-score/assets/shuodiao-active.6b157b93.svg",__glob_2_40=Object.freeze(Object.defineProperty({__proto__:null,default:shuodiaoActive},Symbol.toStringTag,{value:"Module"})),shuodiao="/orchestra-music-score/assets/shuodiao.da855d30.svg",__glob_2_41=Object.freeze(Object.defineProperty({__proto__:null,default:shuodiao},Symbol.toStringTag,{value:"Module"})),speed$2="/orchestra-music-score/assets/speed.256b84ef.svg",__glob_2_42=Object.freeze(Object.defineProperty({__proto__:null,default:speed$2},Symbol.toStringTag,{value:"Module"})),staff$1="/orchestra-music-score/assets/staff.f226ff22.svg",__glob_2_43=Object.freeze(Object.defineProperty({__proto__:null,default:staff$1},Symbol.toStringTag,{value:"Module"})),start$2="/orchestra-music-score/assets/start.7b27072b.svg",__glob_2_44=Object.freeze(Object.defineProperty({__proto__:null,default:start$2},Symbol.toStringTag,{value:"Module"})),stop="/orchestra-music-score/assets/stop.e36ceb44.svg",__glob_2_45=Object.freeze(Object.defineProperty({__proto__:null,default:stop},Symbol.toStringTag,{value:"Module"})),taskBg="/orchestra-music-score/assets/task-bg.9304b5bf.svg",__glob_2_46=Object.freeze(Object.defineProperty({__proto__:null,default:taskBg},Symbol.toStringTag,{value:"Module"})),tuning="/orchestra-music-score/assets/tuning.4b86afaf.svg",__glob_2_47=Object.freeze(Object.defineProperty({__proto__:null,default:tuning},Symbol.toStringTag,{value:"Module"})),volPlus="/orchestra-music-score/assets/vol-plus.8301fc70.svg",__glob_2_48=Object.freeze(Object.defineProperty({__proto__:null,default:volPlus},Symbol.toStringTag,{value:"Module"})),vol="/orchestra-music-score/assets/vol.4b3b0407.svg",__glob_2_49=Object.freeze(Object.defineProperty({__proto__:null,default:vol},Symbol.toStringTag,{value:"Module"})),____="/orchestra-music-score/assets/\u8BC4\u6D4B\u8BB0\u5F55.5949e468.svg",__glob_2_50=Object.freeze(Object.defineProperty({__proto__:null,default:____},Symbol.toStringTag,{value:"Module"}));const getAssetsHomeFile=B=>{var D;const R=`./icons/${B}.svg`;return(D={"./icons/accompaniment.svg":__glob_2_0,"./icons/back.svg":__glob_2_1,"./icons/background-close.svg":__glob_2_2,"./icons/background.svg":__glob_2_3,"./icons/camera.svg":__glob_2_4,"./icons/equilibrium.svg":__glob_2_5,"./icons/evaluating.svg":__glob_2_6,"./icons/fingeringOff.svg":__glob_2_7,"./icons/fingeringOn.svg":__glob_2_8,"./icons/guding-active.svg":__glob_2_9,"./icons/guding.svg":__glob_2_10,"./icons/icon-back.svg":__glob_2_11,"./icons/icon-staff-active.svg":__glob_2_12,"./icons/icon-staff.svg":__glob_2_13,"./icons/icon-zhuanpu.svg":__glob_2_14,"./icons/jia.svg":__glob_2_15,"./icons/jian.svg":__glob_2_16,"./icons/jianpu.svg":__glob_2_17,"./icons/model-1.svg":__glob_2_18,"./icons/model-2.svg":__glob_2_19,"./icons/model-3.svg":__glob_2_20,"./icons/modelType.svg":__glob_2_21,"./icons/modelType1.svg":__glob_2_22,"./icons/modelType2.svg":__glob_2_23,"./icons/music-list.svg":__glob_2_24,"./icons/music-list1.svg":__glob_2_25,"./icons/music.svg":__glob_2_26,"./icons/part.svg":__glob_2_27,"./icons/pause.svg":__glob_2_28,"./icons/play.svg":__glob_2_29,"./icons/practice.svg":__glob_2_30,"./icons/practise.svg":__glob_2_31,"./icons/record.svg":__glob_2_32,"./icons/reset-shengyin.svg":__glob_2_33,"./icons/reset.svg":__glob_2_34,"./icons/restore.svg":__glob_2_35,"./icons/section.svg":__glob_2_36,"./icons/section1.svg":__glob_2_37,"./icons/section2.svg":__glob_2_38,"./icons/setting.svg":__glob_2_39,"./icons/shuodiao-active.svg":__glob_2_40,"./icons/shuodiao.svg":__glob_2_41,"./icons/speed.svg":__glob_2_42,"./icons/staff.svg":__glob_2_43,"./icons/start.svg":__glob_2_44,"./icons/stop.svg":__glob_2_45,"./icons/task-bg.svg":__glob_2_46,"./icons/tuning.svg":__glob_2_47,"./icons/vol-plus.svg":__glob_2_48,"./icons/vol.svg":__glob_2_49,"./icons/\u8BC4\u6D4B\u8BB0\u5F55.svg":__glob_2_50}[R])==null?void 0:D.default};var ButtonIcon=defineComponent({name:"ButtonIcon",props:{name:{type:String}},setup(B){return()=>B.name?createVNode("img",{src:getAssetsHomeFile(B.name)},null):null}}),classnames$1={exports:{}};/*!
- Copyright (c) 2017 Jed Watson.
- Licensed under the MIT License (MIT), see
- http://jedwatson.github.io/classnames
- */(function(B){(function(){var R={}.hasOwnProperty;function F(){for(var D=[],G=0;G<arguments.length;G++){var U=arguments[G];if(!!U){var W=typeof U;if(W==="string"||W==="number")D.push(U);else if(Array.isArray(U)&&U.length){var q=F.apply(null,U);q&&D.push(q)}else if(W==="object")for(var Y in U)R.call(U,Y)&&U[Y]&&D.push(Y)}}return D.join(" ")}B.exports?(F.default=F,B.exports=F):window.classNames=F})()})(classnames$1);var classnames=classnames$1.exports;const title$7="_title_1vit3_4",strong="_strong_1vit3_10",speed$1="_speed_1vit3_1",background="_background_1vit3_21",slider$2="_slider_1vit3_62",show$1="_show_1vit3_112";var styles$p={"speed-change":"_speed-change_1vit3_1",title:title$7,strong,speed:speed$1,background,slider:slider$2,"speed-button":"_speed-button_1vit3_69","custom-button":"_custom-button_1vit3_74",show:show$1},iconMinus="/orchestra-music-score/assets/icon-minus.72e10fdd.svg",iconPlus="/orchestra-music-score/assets/icon-plus.3bda4d0d.svg",iconresetMinus="/orchestra-music-score/assets/icon-resetMinus.fb6d2ff3.svg";const state$1=reactive({speed:90,showHint:!1});var Speed=defineComponent({name:"speed",props:{changed:{type:Function,default:B=>{}},updateSpeed:{type:Function,default:B=>{}},mode:{type:String},changeMode:{type:Function,default:B=>{}},lib:{type:Object}},setup(B){var Y;const{lib:R}=toRefs(B);state$1.speed=(Y=R.value)==null?void 0:Y.speed;const F=()=>{state$1.showHint=!0},D=()=>{state$1.showHint=!1},G=Q=>{state$1.speed=Q,B.changed(state$1.speed)},U=Q=>{state$1.speed=Q,B.updateSpeed(state$1.speed)},W=()=>{state$1.speed=Math.max(state$1.speed-1,45),B.changed(state$1.speed)},q=()=>{state$1.speed=Math.min(state$1.speed+1,270),B.changed(state$1.speed)};return()=>createVNode("div",{class:styles$p["speed-change"]},[createVNode("div",{class:styles$p.speed},[createVNode("div",null,[createVNode(Button,{color:"#01C1B5",icon:iconPlus,type:"primary",size:"mini",round:!0,disabled:state$1.speed==270,onClick:q},null),createVNode(Slider,{class:styles$p.slider,max:270,min:45,barHeight:"3px",buttonSize:"18px",modelValue:315-state$1.speed,"onUpdate:modelValue":Q=>U(315-Q),step:"1",vertical:!0,activeColor:"#ebedf0",onChange:Q=>G(315-Q),onDragStart:F,onDragEnd:D},{button:()=>createVNode("div",{class:styles$p["custom-button"]},[createVNode("span",null,[state$1.speed]),createVNode("div",{class:classnames(styles$p.title)},[createVNode("span",{class:styles$p.strong},[state$1.speed])])])}),createVNode(Button,{class:styles$p.min,color:"#01C1B5",icon:iconMinus,type:"primary",size:"mini",round:!0,disabled:state$1.speed==45,onClick:W},null),createVNode(Button,{class:styles$p.reset,color:"#01C1B5",icon:iconresetMinus,type:"primary",size:"mini",round:!0,onClick:()=>{var Q;state$2.activeDetail&&G((Q=state$2.activeDetail)==null?void 0:Q.originalSpeed)}},null)])])])},methods:{resetSpeed(){var B,R;state$1.speed=(B=this.lib)==null?void 0:B.speed,this.changed((R=this.lib)==null?void 0:R.speed)},refUpdateSpeed(B){state$1.speed=B,this.updateSpeed(state$1.speed)}}});const close$1="_close_1xean_1",bg$2="_bg_1xean_12";var styles$o={close:close$1,bg:bg$2},iconColse="/orchestra-music-score/assets/close.c15efc4b.svg",Popups=defineComponent({name:"ColexiuPopup",props:{data:{type:Object,default:()=>null},zIndex:{type:Number,default:void 0},closeable:{type:Boolean,default:!0},overlay:{type:Boolean,default:!0},style:{type:Object}},setup(B,{slots:R,expose:F}){const D=ref(!1),G=ref(!1),U=()=>{D.value=!0,G.value=!0},W=()=>{D.value=!1},q=()=>{G.value=!1};return F({show:D,close:()=>{D.value=!1},onShow:U,onClose:W,onClosed:q}),()=>createVNode(Popup,{show:D.value,zIndex:B.zIndex,onClose:W,onClosed:q,teleport:"body",onClickOverlay:W,overlay:B.overlay,round:!0,closeable:!1,style:{...B.style},class:styles$o.bg,lockScroll:!0},{default:()=>[G.value&&R.default&&R.default(B),B.closeable&&createVNode(Icon,{class:styles$o.close,name:iconColse,onClick:W},null)]})}});const title$6="_title_184ej_1",wrap$7="_wrap_184ej_8",item$2="_item_184ej_14",label$1="_label_184ej_18";var styles$n={title:title$6,wrap:wrap$7,item:item$2,label:label$1};const sliderClass={"active-color":"#FFB871","inactive-color":"#EAEAEA","button-size":"14"};var Equalizer=defineComponent({name:"ColexiuEqualizer",setup(){const B=ref(10);return()=>createVNode("div",{class:"containerPopups"},[createVNode("div",{class:styles$n.title},[createTextVNode("\u5747\u8861\u5668")]),createVNode("div",{class:styles$n.wrap},[createVNode("div",{class:styles$n.item},[createVNode("span",{class:styles$n.label},[createTextVNode("\u8282\u62CD\u5668")]),createVNode(Slider,mergeProps({modelValue:B.value,"onUpdate:modelValue":R=>B.value=R},sliderClass),null)]),createVNode(Divider,null,null),createVNode("div",{class:styles$n.item},[createVNode("span",{class:styles$n.label},[createTextVNode("\u4F34\u594F")]),createVNode(Slider,mergeProps({modelValue:B.value,"onUpdate:modelValue":R=>B.value=R},sliderClass),null)]),createVNode(Divider,null,null),createVNode("div",{class:styles$n.item},[createVNode("span",{class:styles$n.label},[createTextVNode("\u957F\u7B1B")]),createVNode(Slider,mergeProps({modelValue:B.value,"onUpdate:modelValue":R=>B.value=R},sliderClass),null)]),createVNode(Divider,null,null),createVNode("div",{class:styles$n.item},[createVNode("span",{class:styles$n.label},[createTextVNode("\u8428\u514B\u65AF")]),createVNode(Slider,mergeProps({modelValue:B.value,"onUpdate:modelValue":R=>B.value=R},sliderClass),null)]),createVNode(Divider,null,null),createVNode("div",{class:styles$n.item},[createVNode("span",{class:styles$n.label},[createTextVNode("\u5355\u7C27\u7BA1")]),createVNode(Slider,mergeProps({modelValue:B.value,"onUpdate:modelValue":R=>B.value=R},sliderClass),null)]),createVNode(Divider,null,null),createVNode("div",{class:styles$n.item},[createVNode("span",{class:styles$n.label},[createTextVNode("\u957F\u53F7")]),createVNode(Slider,mergeProps({modelValue:B.value,"onUpdate:modelValue":R=>B.value=R},sliderClass),null)])])])}});const container$7="_container_la5im_1",title$5="_title_la5im_5",practiseBtn="_practiseBtn_la5im_12",wrap$6="_wrap_la5im_21";var styles$m={container:container$7,title:title$5,practiseBtn,wrap:wrap$6};function _isSlot$3(B){return typeof B=="function"||Object.prototype.toString.call(B)==="[object Object]"&&!isVNode(B)}var Part=defineComponent({name:"ColexiuPart",setup(){const B=useOriginSearch(),R=Number(B["part-index"])||0,F=ref(state$2.partListNames[R]),D=()=>{const G=state$2.partListNames.indexOf(F.value);F.value=state$2.partListNames[G];const U=queryString.stringify({...B,"part-index":G});location.search=U};return()=>{let G;return createVNode("div",{class:["containerPopups",styles$m.container]},[createVNode("div",{class:styles$m.title},[createTextVNode("\u58F0\u90E8\u9009\u62E9")]),createVNode("div",{class:styles$m.wrap},[createVNode(RadioGroup,{modelValue:F.value,"onUpdate:modelValue":U=>F.value=U},_isSlot$3(G=state$2.partListNames.map(U=>createVNode(Radio,{name:U},_isSlot$3(U)?U:{default:()=>[U]})))?G:{default:()=>[G]})]),createVNode("div",{style:{display:"flex",justifyContent:"center"}},[createVNode(Button,{class:styles$m.practiseBtn,onClick:D},null)])])}}});const partPopup=ref(null),equalizerPopup=ref(null);var FloatWraper=defineComponent({name:"ColuxiuFloatWraper",setup(){return()=>createVNode(Fragment,null,[createVNode(Popups,{ref:partPopup,style:{borderRadius:"8px"}},{default:()=>[createVNode(Part,null,null)]}),createVNode(Popups,{ref:equalizerPopup,style:{borderRadius:"8px"}},{default:()=>[createVNode(Equalizer,null,null)]})])}});function _taggedTemplateLiteral(B,R){return R||(R=B.slice(0)),Object.freeze(Object.defineProperties(B,{raw:{value:Object.freeze(R)}}))}function __decorate(B,R,F,D){var G,U=arguments.length,W=U<3?R:D===null?D=Object.getOwnPropertyDescriptor(R,F):D;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")W=Reflect.decorate(B,R,F,D);else for(var q=B.length-1;q>=0;q--)(G=B[q])&&(W=(U<3?G(W):U>3?G(R,F,W):G(R,F))||W);return U>3&&W&&Object.defineProperty(R,F,W),W}/**
- * @license
- * Copyright 2019 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */const t$3=window.ShadowRoot&&(window.ShadyCSS===void 0||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,e$8=Symbol(),n$5=new Map;class s$3{constructor(R,F){if(this._$cssResult$=!0,F!==e$8)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=R}get styleSheet(){let R=n$5.get(this.cssText);return t$3&&R===void 0&&(n$5.set(this.cssText,R=new CSSStyleSheet),R.replaceSync(this.cssText)),R}toString(){return this.cssText}}const o$5=B=>new s$3(typeof B=="string"?B:B+"",e$8),r$3=(B,...R)=>{const F=B.length===1?B[0]:R.reduce((D,G,U)=>D+(W=>{if(W._$cssResult$===!0)return W.cssText;if(typeof W=="number")return W;throw Error("Value passed to 'css' function must be a 'css' function result: "+W+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(G)+B[U+1],B[0]);return new s$3(F,e$8)},i$3=(B,R)=>{t$3?B.adoptedStyleSheets=R.map(F=>F instanceof CSSStyleSheet?F:F.styleSheet):R.forEach(F=>{const D=document.createElement("style"),G=window.litNonce;G!==void 0&&D.setAttribute("nonce",G),D.textContent=F.cssText,B.appendChild(D)})},S$1=t$3?B=>B:B=>B instanceof CSSStyleSheet?(R=>{let F="";for(const D of R.cssRules)F+=D.cssText;return o$5(F)})(B):B;var s$2;const e$7=window.trustedTypes,r$2=e$7?e$7.emptyScript:"",h$2$1=window.reactiveElementPolyfillSupport,o$4={toAttribute(B,R){switch(R){case Boolean:B=B?r$2:null;break;case Object:case Array:B=B==null?B:JSON.stringify(B)}return B},fromAttribute(B,R){let F=B;switch(R){case Boolean:F=B!==null;break;case Number:F=B===null?null:Number(B);break;case Object:case Array:try{F=JSON.parse(B)}catch{F=null}}return F}},n$4=(B,R)=>R!==B&&(R==R||B==B),l$3={attribute:!0,type:String,converter:o$4,reflect:!1,hasChanged:n$4};class a$1 extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(R){var F;(F=this.l)!==null&&F!==void 0||(this.l=[]),this.l.push(R)}static get observedAttributes(){this.finalize();const R=[];return this.elementProperties.forEach((F,D)=>{const G=this._$Eh(D,F);G!==void 0&&(this._$Eu.set(G,D),R.push(G))}),R}static createProperty(R,F=l$3){if(F.state&&(F.attribute=!1),this.finalize(),this.elementProperties.set(R,F),!F.noAccessor&&!this.prototype.hasOwnProperty(R)){const D=typeof R=="symbol"?Symbol():"__"+R,G=this.getPropertyDescriptor(R,D,F);G!==void 0&&Object.defineProperty(this.prototype,R,G)}}static getPropertyDescriptor(R,F,D){return{get(){return this[F]},set(G){const U=this[R];this[F]=G,this.requestUpdate(R,U,D)},configurable:!0,enumerable:!0}}static getPropertyOptions(R){return this.elementProperties.get(R)||l$3}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const R=Object.getPrototypeOf(this);if(R.finalize(),this.elementProperties=new Map(R.elementProperties),this._$Eu=new Map,this.hasOwnProperty("properties")){const F=this.properties,D=[...Object.getOwnPropertyNames(F),...Object.getOwnPropertySymbols(F)];for(const G of D)this.createProperty(G,F[G])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(R){const F=[];if(Array.isArray(R)){const D=new Set(R.flat(1/0).reverse());for(const G of D)F.unshift(S$1(G))}else R!==void 0&&F.push(S$1(R));return F}static _$Eh(R,F){const D=F.attribute;return D===!1?void 0:typeof D=="string"?D:typeof R=="string"?R.toLowerCase():void 0}o(){var R;this._$Ep=new Promise(F=>this.enableUpdating=F),this._$AL=new Map,this._$Em(),this.requestUpdate(),(R=this.constructor.l)===null||R===void 0||R.forEach(F=>F(this))}addController(R){var F,D;((F=this._$Eg)!==null&&F!==void 0?F:this._$Eg=[]).push(R),this.renderRoot!==void 0&&this.isConnected&&((D=R.hostConnected)===null||D===void 0||D.call(R))}removeController(R){var F;(F=this._$Eg)===null||F===void 0||F.splice(this._$Eg.indexOf(R)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach((R,F)=>{this.hasOwnProperty(F)&&(this._$Et.set(F,this[F]),delete this[F])})}createRenderRoot(){var R;const F=(R=this.shadowRoot)!==null&&R!==void 0?R:this.attachShadow(this.constructor.shadowRootOptions);return i$3(F,this.constructor.elementStyles),F}connectedCallback(){var R;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(R=this._$Eg)===null||R===void 0||R.forEach(F=>{var D;return(D=F.hostConnected)===null||D===void 0?void 0:D.call(F)})}enableUpdating(R){}disconnectedCallback(){var R;(R=this._$Eg)===null||R===void 0||R.forEach(F=>{var D;return(D=F.hostDisconnected)===null||D===void 0?void 0:D.call(F)})}attributeChangedCallback(R,F,D){this._$AK(R,D)}_$ES(R,F,D=l$3){var G,U;const W=this.constructor._$Eh(R,D);if(W!==void 0&&D.reflect===!0){const q=((U=(G=D.converter)===null||G===void 0?void 0:G.toAttribute)!==null&&U!==void 0?U:o$4.toAttribute)(F,D.type);this._$Ei=R,q==null?this.removeAttribute(W):this.setAttribute(W,q),this._$Ei=null}}_$AK(R,F){var D,G,U;const W=this.constructor,q=W._$Eu.get(R);if(q!==void 0&&this._$Ei!==q){const Y=W.getPropertyOptions(q),Q=Y.converter,Z=(U=(G=(D=Q)===null||D===void 0?void 0:D.fromAttribute)!==null&&G!==void 0?G:typeof Q=="function"?Q:null)!==null&&U!==void 0?U:o$4.fromAttribute;this._$Ei=q,this[q]=Z(F,Y.type),this._$Ei=null}}requestUpdate(R,F,D){let G=!0;R!==void 0&&(((D=D||this.constructor.getPropertyOptions(R)).hasChanged||n$4)(this[R],F)?(this._$AL.has(R)||this._$AL.set(R,F),D.reflect===!0&&this._$Ei!==R&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(R,D))):G=!1),!this.isUpdatePending&&G&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(F){Promise.reject(F)}const R=this.scheduleUpdate();return R!=null&&await R,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var R;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach((G,U)=>this[U]=G),this._$Et=void 0);let F=!1;const D=this._$AL;try{F=this.shouldUpdate(D),F?(this.willUpdate(D),(R=this._$Eg)===null||R===void 0||R.forEach(G=>{var U;return(U=G.hostUpdate)===null||U===void 0?void 0:U.call(G)}),this.update(D)):this._$EU()}catch(G){throw F=!1,this._$EU(),G}F&&this._$AE(D)}willUpdate(R){}_$AE(R){var F;(F=this._$Eg)===null||F===void 0||F.forEach(D=>{var G;return(G=D.hostUpdated)===null||G===void 0?void 0:G.call(D)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(R)),this.updated(R)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(R){return!0}update(R){this._$EC!==void 0&&(this._$EC.forEach((F,D)=>this._$ES(D,this[D],F)),this._$EC=void 0),this._$EU()}updated(R){}firstUpdated(R){}}/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */var t$2;a$1.finalized=!0,a$1.elementProperties=new Map,a$1.elementStyles=[],a$1.shadowRootOptions={mode:"open"},h$2$1==null||h$2$1({ReactiveElement:a$1}),((s$2=globalThis.reactiveElementVersions)!==null&&s$2!==void 0?s$2:globalThis.reactiveElementVersions=[]).push("1.3.1");const i$2=globalThis.trustedTypes,s$1=i$2?i$2.createPolicy("lit-html",{createHTML:B=>B}):void 0,e$6=`lit$${(Math.random()+"").slice(9)}$`,o$3="?"+e$6,n$3=`<${o$3}>`,l$2=document,h$1$1=(B="")=>l$2.createComment(B),r$1=B=>B===null||typeof B!="object"&&typeof B!="function",d=Array.isArray,u$1=B=>{var R;return d(B)||typeof((R=B)===null||R===void 0?void 0:R[Symbol.iterator])=="function"},c$2=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v$3=/-->/g,a$2=/>/g,f$1=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,_$1=/'/g,m$2=/"/g,g=/^(?:script|style|textarea|title)$/i,p$1=B=>(R,...F)=>({_$litType$:B,strings:R,values:F}),$=p$1(1),b=Symbol.for("lit-noChange"),w$2=Symbol.for("lit-nothing"),T$1=new WeakMap,x=(B,R,F)=>{var D,G;const U=(D=F==null?void 0:F.renderBefore)!==null&&D!==void 0?D:R;let W=U._$litPart$;if(W===void 0){const q=(G=F==null?void 0:F.renderBefore)!==null&&G!==void 0?G:null;U._$litPart$=W=new N$1(R.insertBefore(h$1$1(),q),q,void 0,F!=null?F:{})}return W._$AI(B),W},A=l$2.createTreeWalker(l$2,129,null,!1),C=(B,R)=>{const F=B.length-1,D=[];let G,U=R===2?"<svg>":"",W=c$2;for(let Y=0;Y<F;Y++){const Q=B[Y];let Z,K,J=-1,ie=0;for(;ie<Q.length&&(W.lastIndex=ie,K=W.exec(Q),K!==null);)ie=W.lastIndex,W===c$2?K[1]==="!--"?W=v$3:K[1]!==void 0?W=a$2:K[2]!==void 0?(g.test(K[2])&&(G=RegExp("</"+K[2],"g")),W=f$1):K[3]!==void 0&&(W=f$1):W===f$1?K[0]===">"?(W=G!=null?G:c$2,J=-1):K[1]===void 0?J=-2:(J=W.lastIndex-K[2].length,Z=K[1],W=K[3]===void 0?f$1:K[3]==='"'?m$2:_$1):W===m$2||W===_$1?W=f$1:W===v$3||W===a$2?W=c$2:(W=f$1,G=void 0);const ne=W===f$1&&B[Y+1].startsWith("/>")?" ":"";U+=W===c$2?Q+n$3:J>=0?(D.push(Z),Q.slice(0,J)+"$lit$"+Q.slice(J)+e$6+ne):Q+e$6+(J===-2?(D.push(void 0),Y):ne)}const q=U+(B[F]||"<?>")+(R===2?"</svg>":"");if(!Array.isArray(B)||!B.hasOwnProperty("raw"))throw Error("invalid template strings array");return[s$1!==void 0?s$1.createHTML(q):q,D]};class E{constructor({strings:R,_$litType$:F},D){let G;this.parts=[];let U=0,W=0;const q=R.length-1,Y=this.parts,[Q,Z]=C(R,F);if(this.el=E.createElement(Q,D),A.currentNode=this.el.content,F===2){const K=this.el.content,J=K.firstChild;J.remove(),K.append(...J.childNodes)}for(;(G=A.nextNode())!==null&&Y.length<q;){if(G.nodeType===1){if(G.hasAttributes()){const K=[];for(const J of G.getAttributeNames())if(J.endsWith("$lit$")||J.startsWith(e$6)){const ie=Z[W++];if(K.push(J),ie!==void 0){const ne=G.getAttribute(ie.toLowerCase()+"$lit$").split(e$6),se=/([.?@])?(.*)/.exec(ie);Y.push({type:1,index:U,name:se[2],strings:ne,ctor:se[1]==="."?M:se[1]==="?"?H:se[1]==="@"?I:S})}else Y.push({type:6,index:U})}for(const J of K)G.removeAttribute(J)}if(g.test(G.tagName)){const K=G.textContent.split(e$6),J=K.length-1;if(J>0){G.textContent=i$2?i$2.emptyScript:"";for(let ie=0;ie<J;ie++)G.append(K[ie],h$1$1()),A.nextNode(),Y.push({type:2,index:++U});G.append(K[J],h$1$1())}}}else if(G.nodeType===8)if(G.data===o$3)Y.push({type:2,index:U});else{let K=-1;for(;(K=G.data.indexOf(e$6,K+1))!==-1;)Y.push({type:7,index:U}),K+=e$6.length-1}U++}}static createElement(R,F){const D=l$2.createElement("template");return D.innerHTML=R,D}}function P(B,R,F=B,D){var G,U,W,q;if(R===b)return R;let Y=D!==void 0?(G=F._$Cl)===null||G===void 0?void 0:G[D]:F._$Cu;const Q=r$1(R)?void 0:R._$litDirective$;return(Y==null?void 0:Y.constructor)!==Q&&((U=Y==null?void 0:Y._$AO)===null||U===void 0||U.call(Y,!1),Q===void 0?Y=void 0:(Y=new Q(B),Y._$AT(B,F,D)),D!==void 0?((W=(q=F)._$Cl)!==null&&W!==void 0?W:q._$Cl=[])[D]=Y:F._$Cu=Y),Y!==void 0&&(R=P(B,Y._$AS(B,R.values),Y,D)),R}class V{constructor(R,F){this.v=[],this._$AN=void 0,this._$AD=R,this._$AM=F}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(R){var F;const{el:{content:D},parts:G}=this._$AD,U=((F=R==null?void 0:R.creationScope)!==null&&F!==void 0?F:l$2).importNode(D,!0);A.currentNode=U;let W=A.nextNode(),q=0,Y=0,Q=G[0];for(;Q!==void 0;){if(q===Q.index){let Z;Q.type===2?Z=new N$1(W,W.nextSibling,this,R):Q.type===1?Z=new Q.ctor(W,Q.name,Q.strings,this,R):Q.type===6&&(Z=new L$k(W,this,R)),this.v.push(Z),Q=G[++Y]}q!==(Q==null?void 0:Q.index)&&(W=A.nextNode(),q++)}return U}m(R){let F=0;for(const D of this.v)D!==void 0&&(D.strings!==void 0?(D._$AI(R,D,F),F+=D.strings.length-2):D._$AI(R[F])),F++}}class N$1{constructor(R,F,D,G){var U;this.type=2,this._$AH=w$2,this._$AN=void 0,this._$AA=R,this._$AB=F,this._$AM=D,this.options=G,this._$Cg=(U=G==null?void 0:G.isConnected)===null||U===void 0||U}get _$AU(){var R,F;return(F=(R=this._$AM)===null||R===void 0?void 0:R._$AU)!==null&&F!==void 0?F:this._$Cg}get parentNode(){let R=this._$AA.parentNode;const F=this._$AM;return F!==void 0&&R.nodeType===11&&(R=F.parentNode),R}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(R,F=this){R=P(this,R,F),r$1(R)?R===w$2||R==null||R===""?(this._$AH!==w$2&&this._$AR(),this._$AH=w$2):R!==this._$AH&&R!==b&&this.$(R):R._$litType$!==void 0?this.T(R):R.nodeType!==void 0?this.k(R):u$1(R)?this.S(R):this.$(R)}A(R,F=this._$AB){return this._$AA.parentNode.insertBefore(R,F)}k(R){this._$AH!==R&&(this._$AR(),this._$AH=this.A(R))}$(R){this._$AH!==w$2&&r$1(this._$AH)?this._$AA.nextSibling.data=R:this.k(l$2.createTextNode(R)),this._$AH=R}T(R){var F;const{values:D,_$litType$:G}=R,U=typeof G=="number"?this._$AC(R):(G.el===void 0&&(G.el=E.createElement(G.h,this.options)),G);if(((F=this._$AH)===null||F===void 0?void 0:F._$AD)===U)this._$AH.m(D);else{const W=new V(U,this),q=W.p(this.options);W.m(D),this.k(q),this._$AH=W}}_$AC(R){let F=T$1.get(R.strings);return F===void 0&&T$1.set(R.strings,F=new E(R)),F}S(R){d(this._$AH)||(this._$AH=[],this._$AR());const F=this._$AH;let D,G=0;for(const U of R)G===F.length?F.push(D=new N$1(this.A(h$1$1()),this.A(h$1$1()),this,this.options)):D=F[G],D._$AI(U),G++;G<F.length&&(this._$AR(D&&D._$AB.nextSibling,G),F.length=G)}_$AR(R=this._$AA.nextSibling,F){var D;for((D=this._$AP)===null||D===void 0||D.call(this,!1,!0,F);R&&R!==this._$AB;){const G=R.nextSibling;R.remove(),R=G}}setConnected(R){var F;this._$AM===void 0&&(this._$Cg=R,(F=this._$AP)===null||F===void 0||F.call(this,R))}}class S{constructor(R,F,D,G,U){this.type=1,this._$AH=w$2,this._$AN=void 0,this.element=R,this.name=F,this._$AM=G,this.options=U,D.length>2||D[0]!==""||D[1]!==""?(this._$AH=Array(D.length-1).fill(new String),this.strings=D):this._$AH=w$2}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(R,F=this,D,G){const U=this.strings;let W=!1;if(U===void 0)R=P(this,R,F,0),W=!r$1(R)||R!==this._$AH&&R!==b,W&&(this._$AH=R);else{const q=R;let Y,Q;for(R=U[0],Y=0;Y<U.length-1;Y++)Q=P(this,q[D+Y],F,Y),Q===b&&(Q=this._$AH[Y]),W||(W=!r$1(Q)||Q!==this._$AH[Y]),Q===w$2?R=w$2:R!==w$2&&(R+=(Q!=null?Q:"")+U[Y+1]),this._$AH[Y]=Q}W&&!G&&this.C(R)}C(R){R===w$2?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,R!=null?R:"")}}class M extends S{constructor(){super(...arguments),this.type=3}C(R){this.element[this.name]=R===w$2?void 0:R}}const k=i$2?i$2.emptyScript:"";class H extends S{constructor(){super(...arguments),this.type=4}C(R){R&&R!==w$2?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(R,F,D,G,U){super(R,F,D,G,U),this.type=5}_$AI(R,F=this){var D;if((R=(D=P(this,R,F,0))!==null&&D!==void 0?D:w$2)===b)return;const G=this._$AH,U=R===w$2&&G!==w$2||R.capture!==G.capture||R.once!==G.once||R.passive!==G.passive,W=R!==w$2&&(G===w$2||U);U&&this.element.removeEventListener(this.name,this,G),W&&this.element.addEventListener(this.name,this,R),this._$AH=R}handleEvent(R){var F,D;typeof this._$AH=="function"?this._$AH.call((D=(F=this.options)===null||F===void 0?void 0:F.host)!==null&&D!==void 0?D:this.element,R):this._$AH.handleEvent(R)}}class L$k{constructor(R,F,D){this.element=R,this.type=6,this._$AN=void 0,this._$AM=F,this.options=D}get _$AU(){return this._$AM._$AU}_$AI(R){P(this,R)}}const z=window.litHtmlPolyfillSupport;/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */var l$1,o$2;z==null||z(E,N$1),((t$2=globalThis.litHtmlVersions)!==null&&t$2!==void 0?t$2:globalThis.litHtmlVersions=[]).push("2.2.1");class s$4 extends a$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var R,F;const D=super.createRenderRoot();return(R=(F=this.renderOptions).renderBefore)!==null&&R!==void 0||(F.renderBefore=D.firstChild),D}update(R){const F=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(R),this._$Dt=x(F,this.renderRoot,this.renderOptions)}connectedCallback(){var R;super.connectedCallback(),(R=this._$Dt)===null||R===void 0||R.setConnected(!0)}disconnectedCallback(){var R;super.disconnectedCallback(),(R=this._$Dt)===null||R===void 0||R.setConnected(!1)}render(){return b}}s$4.finalized=!0,s$4._$litElement$=!0,(l$1=globalThis.litElementHydrateSupport)===null||l$1===void 0||l$1.call(globalThis,{LitElement:s$4});const n$2=globalThis.litElementPolyfillSupport;n$2==null||n$2({LitElement:s$4});((o$2=globalThis.litElementVersions)!==null&&o$2!==void 0?o$2:globalThis.litElementVersions=[]).push("3.2.0");/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */const n$1=B=>R=>typeof R=="function"?((F,D)=>(window.customElements.define(F,D),D))(B,R):((F,D)=>{const{kind:G,elements:U}=D;return{kind:G,elements:U,finisher(W){window.customElements.define(F,W)}}})(B,R),i$1$1=(B,R)=>R.kind==="method"&&R.descriptor&&!("value"in R.descriptor)?{...R,finisher(F){F.createProperty(R.key,B)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:R.key,initializer(){typeof R.initializer=="function"&&(this[R.key]=R.initializer.call(this))},finisher(F){F.createProperty(R.key,B)}};function e$5(B){return(R,F)=>F!==void 0?((D,G,U)=>{G.constructor.createProperty(U,D)})(B,R,F):i$1$1(B,R);/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */}/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */const o$1=({finisher:B,descriptor:R})=>(F,D)=>{var G;if(D===void 0){const U=(G=F.originalKey)!==null&&G!==void 0?G:F.key,W=R!=null?{kind:"method",placement:"prototype",key:U,descriptor:R(F.key)}:{...F,key:U};return B!=null&&(W.finisher=function(q){B(q,U)}),W}{const U=F.constructor;R!==void 0&&Object.defineProperty(F,D,R(D)),B==null||B(U,D)}};/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */function i$4(B,R){return o$1({descriptor:F=>{const D={get(){var G,U;return(U=(G=this.renderRoot)===null||G===void 0?void 0:G.querySelector(B))!==null&&U!==void 0?U:null},enumerable:!0,configurable:!0};if(R){const G=typeof F=="symbol"?Symbol():"__"+F;D.get=function(){var U,W;return this[G]===void 0&&(this[G]=(W=(U=this.renderRoot)===null||U===void 0?void 0:U.querySelector(B))!==null&&W!==void 0?W:null),this[G]}}return D}})}/**
- * @license
- * Copyright 2021 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */var n$6;((n$6=window.HTMLSlotElement)===null||n$6===void 0?void 0:n$6.prototype.assignedElements)!=null;var commonjsGlobal$1=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function createCommonjsModule(B,R,F){return B(F={path:R,exports:{},require:function(D,G){return commonjsRequire(D,G==null?F.path:G)}},F.exports),F.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var lottie_svg=createCommonjsModule(function(module,exports){typeof navigator!="undefined"&&function(B,R){module.exports=R()}(0,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(B){_useWebWorker=!!B},getWebWorker=function(){return _useWebWorker},setLocationHref=function(B){locationHref=B},getLocationHref=function(){return locationHref};function createTag(B){return document.createElement(B)}function extendPrototype(B,R){var F,D,G=B.length;for(F=0;F<G;F+=1)for(var U in D=B[F].prototype)Object.prototype.hasOwnProperty.call(D,U)&&(R.prototype[U]=D[U])}function getDescriptor(B,R){return Object.getOwnPropertyDescriptor(B,R)}function createProxyFunction(B){function R(){}return R.prototype=B,R}var audioControllerFactory=function(){function B(R){this.audios=[],this.audioFactory=R,this._volume=1,this._isMuted=!1}return B.prototype={addAudio:function(R){this.audios.push(R)},pause:function(){var R,F=this.audios.length;for(R=0;R<F;R+=1)this.audios[R].pause()},resume:function(){var R,F=this.audios.length;for(R=0;R<F;R+=1)this.audios[R].resume()},setRate:function(R){var F,D=this.audios.length;for(F=0;F<D;F+=1)this.audios[F].setRate(R)},createAudio:function(R){return this.audioFactory?this.audioFactory(R):window.Howl?new window.Howl({src:[R]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(R){this.audioFactory=R},setVolume:function(R){this._volume=R,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(){return this._volume},_updateVolume:function(){var R,F=this.audios.length;for(R=0;R<F;R+=1)this.audios[R].volume(this._volume*(this._isMuted?0:1))}},function(){return new B}}(),createTypedArray=function(){function B(R,F){var D,G=0,U=[];switch(R){case"int16":case"uint8c":D=1;break;default:D=1.1}for(G=0;G<F;G+=1)U.push(D);return U}return typeof Uint8ClampedArray=="function"&&typeof Float32Array=="function"?function(R,F){return R==="float32"?new Float32Array(F):R==="int16"?new Int16Array(F):R==="uint8c"?new Uint8ClampedArray(F):B(R,F)}:B}();function createSizedArray(B){return Array.apply(null,{length:B})}function _typeof$6(B){return(_typeof$6=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(B)}var subframeEnabled=!0,expressionsPlugin=null,idPrefix="",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMin=Math.min,BMMath={};(function(){var B,R=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],F=R.length;for(B=0;B<F;B+=1)BMMath[R[B]]=Math[R[B]]})(),BMMath.random=Math.random,BMMath.abs=function(B){if(_typeof$6(B)==="object"&&B.length){var R,F=createSizedArray(B.length),D=B.length;for(R=0;R<D;R+=1)F[R]=Math.abs(B[R]);return F}return Math.abs(B)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function BMEnterFrameEvent(B,R,F,D){this.type=B,this.currentTime=R,this.totalTime=F,this.direction=D<0?-1:1}function BMCompleteEvent(B,R){this.type=B,this.direction=R<0?-1:1}function BMCompleteLoopEvent(B,R,F,D){this.type=B,this.currentLoop=F,this.totalLoops=R,this.direction=D<0?-1:1}function BMSegmentStartEvent(B,R,F){this.type=B,this.firstFrame=R,this.totalFrames=F}function BMDestroyEvent(B,R){this.type=B,this.target=R}function BMRenderFrameErrorEvent(B,R){this.type="renderFrameError",this.nativeError=B,this.currentTime=R}function BMConfigErrorEvent(B){this.type="configError",this.nativeError=B}var createElementID=(_count=0,function(){return idPrefix+"__lottie_element_"+(_count+=1)}),_count;function HSVtoRGB(B,R,F){var D,G,U,W,q,Y,Q,Z;switch(Y=F*(1-R),Q=F*(1-(q=6*B-(W=Math.floor(6*B)))*R),Z=F*(1-(1-q)*R),W%6){case 0:D=F,G=Z,U=Y;break;case 1:D=Q,G=F,U=Y;break;case 2:D=Y,G=F,U=Z;break;case 3:D=Y,G=Q,U=F;break;case 4:D=Z,G=Y,U=F;break;case 5:D=F,G=Y,U=Q}return[D,G,U]}function RGBtoHSV(B,R,F){var D,G=Math.max(B,R,F),U=Math.min(B,R,F),W=G-U,q=G===0?0:W/G,Y=G/255;switch(G){case U:D=0;break;case B:D=R-F+W*(R<F?6:0),D/=6*W;break;case R:D=F-B+2*W,D/=6*W;break;case F:D=B-R+4*W,D/=6*W}return[D,q,Y]}function addSaturationToRGB(B,R){var F=RGBtoHSV(255*B[0],255*B[1],255*B[2]);return F[1]+=R,F[1]>1?F[1]=1:F[1]<=0&&(F[1]=0),HSVtoRGB(F[0],F[1],F[2])}function addBrightnessToRGB(B,R){var F=RGBtoHSV(255*B[0],255*B[1],255*B[2]);return F[2]+=R,F[2]>1?F[2]=1:F[2]<0&&(F[2]=0),HSVtoRGB(F[0],F[1],F[2])}function addHueToRGB(B,R){var F=RGBtoHSV(255*B[0],255*B[1],255*B[2]);return F[0]+=R/360,F[0]>1?F[0]-=1:F[0]<0&&(F[0]+=1),HSVtoRGB(F[0],F[1],F[2])}var rgbToHex=function(){var B,R,F=[];for(B=0;B<256;B+=1)R=B.toString(16),F[B]=R.length===1?"0"+R:R;return function(D,G,U){return D<0&&(D=0),G<0&&(G=0),U<0&&(U=0),"#"+F[D]+F[G]+F[U]}}(),setSubframeEnabled=function(B){subframeEnabled=!!B},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(B){expressionsPlugin=B},getExpressionsPlugin=function(){return expressionsPlugin},setDefaultCurveSegments=function(B){defaultCurveSegments=B},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(B){idPrefix=B};function createNS(B){return document.createElementNS(svgNS,B)}function _typeof$5(B){return(_typeof$5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(B)}var dataManager=function(){var B,R,F=1,D=[],G={onmessage:function(){},postMessage:function(Y){B({data:Y})}},U={postMessage:function(Y){G.onmessage({data:Y})}};function W(){R||((R=function(Y){if(window.Worker&&window.Blob&&getWebWorker()){var Q=new Blob(["var _workerSelf = self; self.onmessage = ",Y.toString()],{type:"text/javascript"}),Z=URL.createObjectURL(Q);return new Worker(Z)}return B=Y,G}(function(Y){if(U.dataManager||(U.dataManager=function(){function Z(fe,ge){var Se,Ee,ve,xe,Pe,ye,Te=fe.length;for(Ee=0;Ee<Te;Ee+=1)if("ks"in(Se=fe[Ee])&&!Se.completed){if(Se.completed=!0,Se.tt&&(fe[Ee-1].td=Se.tt),Se.hasMask){var Le=Se.masksProperties;for(xe=Le.length,ve=0;ve<xe;ve+=1)if(Le[ve].pt.k.i)ie(Le[ve].pt.k);else for(ye=Le[ve].pt.k.length,Pe=0;Pe<ye;Pe+=1)Le[ve].pt.k[Pe].s&&ie(Le[ve].pt.k[Pe].s[0]),Le[ve].pt.k[Pe].e&&ie(Le[ve].pt.k[Pe].e[0])}Se.ty===0?(Se.layers=K(Se.refId,ge),Z(Se.layers,ge)):Se.ty===4?J(Se.shapes):Se.ty===5&&de(Se)}}function K(fe,ge){var Se=function(Ee,ve){for(var xe=0,Pe=ve.length;xe<Pe;){if(ve[xe].id===Ee)return ve[xe];xe+=1}return null}(fe,ge);return Se?Se.layers.__used?JSON.parse(JSON.stringify(Se.layers)):(Se.layers.__used=!0,Se.layers):null}function J(fe){var ge,Se,Ee;for(ge=fe.length-1;ge>=0;ge-=1)if(fe[ge].ty==="sh")if(fe[ge].ks.k.i)ie(fe[ge].ks.k);else for(Ee=fe[ge].ks.k.length,Se=0;Se<Ee;Se+=1)fe[ge].ks.k[Se].s&&ie(fe[ge].ks.k[Se].s[0]),fe[ge].ks.k[Se].e&&ie(fe[ge].ks.k[Se].e[0]);else fe[ge].ty==="gr"&&J(fe[ge].it)}function ie(fe){var ge,Se=fe.i.length;for(ge=0;ge<Se;ge+=1)fe.i[ge][0]+=fe.v[ge][0],fe.i[ge][1]+=fe.v[ge][1],fe.o[ge][0]+=fe.v[ge][0],fe.o[ge][1]+=fe.v[ge][1]}function ne(fe,ge){var Se=ge?ge.split("."):[100,100,100];return fe[0]>Se[0]||!(Se[0]>fe[0])&&(fe[1]>Se[1]||!(Se[1]>fe[1])&&(fe[2]>Se[2]||!(Se[2]>fe[2])&&null))}var se,re=function(){var fe=[4,4,14];function ge(Se){var Ee,ve,xe,Pe=Se.length;for(Ee=0;Ee<Pe;Ee+=1)Se[Ee].ty===5&&(ve=Se[Ee],xe=void 0,xe=ve.t.d,ve.t.d={k:[{s:xe,t:0}]})}return function(Se){if(ne(fe,Se.v)&&(ge(Se.layers),Se.assets)){var Ee,ve=Se.assets.length;for(Ee=0;Ee<ve;Ee+=1)Se.assets[Ee].layers&&ge(Se.assets[Ee].layers)}}}(),ae=(se=[4,7,99],function(fe){if(fe.chars&&!ne(se,fe.v)){var ge,Se=fe.chars.length;for(ge=0;ge<Se;ge+=1){var Ee=fe.chars[ge];Ee.data&&Ee.data.shapes&&(J(Ee.data.shapes),Ee.data.ip=0,Ee.data.op=99999,Ee.data.st=0,Ee.data.sr=1,Ee.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},fe.chars[ge].t||(Ee.data.shapes.push({ty:"no"}),Ee.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:"tr"})))}}}),le=function(){var fe=[5,7,15];function ge(Se){var Ee,ve,xe,Pe=Se.length;for(Ee=0;Ee<Pe;Ee+=1)Se[Ee].ty===5&&(ve=Se[Ee],xe=void 0,typeof(xe=ve.t.p).a=="number"&&(xe.a={a:0,k:xe.a}),typeof xe.p=="number"&&(xe.p={a:0,k:xe.p}),typeof xe.r=="number"&&(xe.r={a:0,k:xe.r}))}return function(Se){if(ne(fe,Se.v)&&(ge(Se.layers),Se.assets)){var Ee,ve=Se.assets.length;for(Ee=0;Ee<ve;Ee+=1)Se.assets[Ee].layers&&ge(Se.assets[Ee].layers)}}}(),ce=function(){var fe=[4,1,9];function ge(Ee){var ve,xe,Pe,ye=Ee.length;for(ve=0;ve<ye;ve+=1)if(Ee[ve].ty==="gr")ge(Ee[ve].it);else if(Ee[ve].ty==="fl"||Ee[ve].ty==="st")if(Ee[ve].c.k&&Ee[ve].c.k[0].i)for(Pe=Ee[ve].c.k.length,xe=0;xe<Pe;xe+=1)Ee[ve].c.k[xe].s&&(Ee[ve].c.k[xe].s[0]/=255,Ee[ve].c.k[xe].s[1]/=255,Ee[ve].c.k[xe].s[2]/=255,Ee[ve].c.k[xe].s[3]/=255),Ee[ve].c.k[xe].e&&(Ee[ve].c.k[xe].e[0]/=255,Ee[ve].c.k[xe].e[1]/=255,Ee[ve].c.k[xe].e[2]/=255,Ee[ve].c.k[xe].e[3]/=255);else Ee[ve].c.k[0]/=255,Ee[ve].c.k[1]/=255,Ee[ve].c.k[2]/=255,Ee[ve].c.k[3]/=255}function Se(Ee){var ve,xe=Ee.length;for(ve=0;ve<xe;ve+=1)Ee[ve].ty===4&&ge(Ee[ve].shapes)}return function(Ee){if(ne(fe,Ee.v)&&(Se(Ee.layers),Ee.assets)){var ve,xe=Ee.assets.length;for(ve=0;ve<xe;ve+=1)Ee.assets[ve].layers&&Se(Ee.assets[ve].layers)}}}(),he=function(){var fe=[4,4,18];function ge(Ee){var ve,xe,Pe;for(ve=Ee.length-1;ve>=0;ve-=1)if(Ee[ve].ty==="sh")if(Ee[ve].ks.k.i)Ee[ve].ks.k.c=Ee[ve].closed;else for(Pe=Ee[ve].ks.k.length,xe=0;xe<Pe;xe+=1)Ee[ve].ks.k[xe].s&&(Ee[ve].ks.k[xe].s[0].c=Ee[ve].closed),Ee[ve].ks.k[xe].e&&(Ee[ve].ks.k[xe].e[0].c=Ee[ve].closed);else Ee[ve].ty==="gr"&&ge(Ee[ve].it)}function Se(Ee){var ve,xe,Pe,ye,Te,Le,we=Ee.length;for(xe=0;xe<we;xe+=1){if((ve=Ee[xe]).hasMask){var Ae=ve.masksProperties;for(ye=Ae.length,Pe=0;Pe<ye;Pe+=1)if(Ae[Pe].pt.k.i)Ae[Pe].pt.k.c=Ae[Pe].cl;else for(Le=Ae[Pe].pt.k.length,Te=0;Te<Le;Te+=1)Ae[Pe].pt.k[Te].s&&(Ae[Pe].pt.k[Te].s[0].c=Ae[Pe].cl),Ae[Pe].pt.k[Te].e&&(Ae[Pe].pt.k[Te].e[0].c=Ae[Pe].cl)}ve.ty===4&&ge(ve.shapes)}}return function(Ee){if(ne(fe,Ee.v)&&(Se(Ee.layers),Ee.assets)){var ve,xe=Ee.assets.length;for(ve=0;ve<xe;ve+=1)Ee.assets[ve].layers&&Se(Ee.assets[ve].layers)}}}();function de(fe){fe.t.a.length===0&&fe.t.p}var me={completeData:function(fe){fe.__complete||(ce(fe),re(fe),ae(fe),le(fe),he(fe),Z(fe.layers,fe.assets),function(ge,Se){if(ge){var Ee=0,ve=ge.length;for(Ee=0;Ee<ve;Ee+=1)ge[Ee].t===1&&(ge[Ee].data.layers=K(ge[Ee].data.refId,Se),Z(ge[Ee].data.layers,Se))}}(fe.chars,fe.assets),fe.__complete=!0)}};return me.checkColors=ce,me.checkChars=ae,me.checkPathProperties=le,me.checkShapes=he,me.completeLayers=Z,me}()),U.assetLoader||(U.assetLoader=function(){function Z(K){var J=K.getResponseHeader("content-type");return J&&K.responseType==="json"&&J.indexOf("json")!==-1||K.response&&_typeof$5(K.response)==="object"?K.response:K.response&&typeof K.response=="string"?JSON.parse(K.response):K.responseText?JSON.parse(K.responseText):null}return{load:function(K,J,ie,ne){var se,re=new XMLHttpRequest;try{re.responseType="json"}catch{}re.onreadystatechange=function(){if(re.readyState===4)if(re.status===200)se=Z(re),ie(se);else try{se=Z(re),ie(se)}catch(ae){ne&&ne(ae)}};try{re.open("GET",K,!0)}catch{re.open("GET",J+"/"+K,!0)}re.send()}}}()),Y.data.type==="loadAnimation")U.assetLoader.load(Y.data.path,Y.data.fullPath,function(Z){U.dataManager.completeData(Z),U.postMessage({id:Y.data.id,payload:Z,status:"success"})},function(){U.postMessage({id:Y.data.id,status:"error"})});else if(Y.data.type==="complete"){var Q=Y.data.animation;U.dataManager.completeData(Q),U.postMessage({id:Y.data.id,payload:Q,status:"success"})}else Y.data.type==="loadData"&&U.assetLoader.load(Y.data.path,Y.data.fullPath,function(Z){U.postMessage({id:Y.data.id,payload:Z,status:"success"})},function(){U.postMessage({id:Y.data.id,status:"error"})})})).onmessage=function(Y){var Q=Y.data,Z=Q.id,K=D[Z];D[Z]=null,Q.status==="success"?K.onComplete(Q.payload):K.onError&&K.onError()})}function q(Y,Q){var Z="processId_"+(F+=1);return D[Z]={onComplete:Y,onError:Q},Z}return{loadAnimation:function(Y,Q,Z){W();var K=q(Q,Z);R.postMessage({type:"loadAnimation",path:Y,fullPath:window.location.origin+window.location.pathname,id:K})},loadData:function(Y,Q,Z){W();var K=q(Q,Z);R.postMessage({type:"loadData",path:Y,fullPath:window.location.origin+window.location.pathname,id:K})},completeAnimation:function(Y,Q,Z){W();var K=q(Q,Z);R.postMessage({type:"complete",animation:Y,id:K})}}}(),ImagePreloader=function(){var B=function(){var q=createTag("canvas");q.width=1,q.height=1;var Y=q.getContext("2d");return Y.fillStyle="rgba(0,0,0,0)",Y.fillRect(0,0,1,1),q}();function R(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function F(){this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function D(q,Y,Q){var Z="";if(q.e)Z=q.p;else if(Y){var K=q.p;K.indexOf("images/")!==-1&&(K=K.split("/")[1]),Z=Y+K}else Z=Q,Z+=q.u?q.u:"",Z+=q.p;return Z}function G(q){var Y=0,Q=setInterval(function(){(q.getBBox().width||Y>500)&&(this._imageLoaded(),clearInterval(Q)),Y+=1}.bind(this),50)}function U(q){var Y={assetData:q},Q=D(q,this.assetsPath,this.path);return dataManager.loadData(Q,function(Z){Y.img=Z,this._footageLoaded()}.bind(this),function(){Y.img={},this._footageLoaded()}.bind(this)),Y}function W(){this._imageLoaded=R.bind(this),this._footageLoaded=F.bind(this),this.testImageLoaded=G.bind(this),this.createFootageData=U.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return W.prototype={loadAssets:function(q,Y){var Q;this.imagesLoadedCb=Y;var Z=q.length;for(Q=0;Q<Z;Q+=1)q[Q].layers||(q[Q].t&&q[Q].t!=="seq"?q[Q].t===3&&(this.totalFootages+=1,this.images.push(this.createFootageData(q[Q]))):(this.totalImages+=1,this.images.push(this._createImageData(q[Q]))))},setAssetsPath:function(q){this.assetsPath=q||""},setPath:function(q){this.path=q||""},loadedImages:function(){return this.totalImages===this.loadedAssets},loadedFootages:function(){return this.totalFootages===this.loadedFootagesCount},destroy:function(){this.imagesLoadedCb=null,this.images.length=0},getAsset:function(q){for(var Y=0,Q=this.images.length;Y<Q;){if(this.images[Y].assetData===q)return this.images[Y].img;Y+=1}return null},createImgData:function(q){var Y=D(q,this.assetsPath,this.path),Q=createTag("img");Q.crossOrigin="anonymous",Q.addEventListener("load",this._imageLoaded,!1),Q.addEventListener("error",function(){Z.img=B,this._imageLoaded()}.bind(this),!1),Q.src=Y;var Z={img:Q,assetData:q};return Z},createImageData:function(q){var Y=D(q,this.assetsPath,this.path),Q=createNS("image");isSafari?this.testImageLoaded(Q):Q.addEventListener("load",this._imageLoaded,!1),Q.addEventListener("error",function(){Z.img=B,this._imageLoaded()}.bind(this),!1),Q.setAttributeNS("http://www.w3.org/1999/xlink","href",Y),this._elementHelper.append?this._elementHelper.append(Q):this._elementHelper.appendChild(Q);var Z={img:Q,assetData:q};return Z},imageLoaded:R,footageLoaded:F,setCacheType:function(q,Y){q==="svg"?(this._elementHelper=Y,this._createImageData=this.createImageData.bind(this)):this._createImageData=this.createImgData.bind(this)}},W}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(B,R){if(this._cbs[B])for(var F=this._cbs[B],D=0;D<F.length;D+=1)F[D](R)},addEventListener:function(B,R){return this._cbs[B]||(this._cbs[B]=[]),this._cbs[B].push(R),function(){this.removeEventListener(B,R)}.bind(this)},removeEventListener:function(B,R){if(R){if(this._cbs[B]){for(var F=0,D=this._cbs[B].length;F<D;)this._cbs[B][F]===R&&(this._cbs[B].splice(F,1),F-=1,D-=1),F+=1;this._cbs[B].length||(this._cbs[B]=null)}}else this._cbs[B]=null}};var markerParser=function(){function B(R){for(var F,D=R.split(`\r
- `),G={},U=0,W=0;W<D.length;W+=1)(F=D[W].split(":")).length===2&&(G[F[0]]=F[1].trim(),U+=1);if(U===0)throw new Error;return G}return function(R){for(var F=[],D=0;D<R.length;D+=1){var G=R[D],U={time:G.tm,duration:G.dr};try{U.payload=JSON.parse(R[D].cm)}catch{try{U.payload=B(R[D].cm)}catch{U.payload={name:R[D]}}}F.push(U)}return F}}(),ProjectInterface=function(){function B(R){this.compositions.push(R)}return function(){function R(F){for(var D=0,G=this.compositions.length;D<G;){if(this.compositions[D].data&&this.compositions[D].data.nm===F)return this.compositions[D].prepareFrame&&this.compositions[D].data.xt&&this.compositions[D].prepareFrame(this.currentFrame),this.compositions[D].compInterface;D+=1}return null}return R.compositions=[],R.currentFrame=0,R.registerComposition=B,R}}(),renderers={},registerRenderer=function(B,R){renderers[B]=R};function getRenderer(B){return renderers[B]}function _typeof$4(B){return(_typeof$4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(B)}var AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this)};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(B){(B.wrapper||B.container)&&(this.wrapper=B.wrapper||B.container);var R="svg";B.animType?R=B.animType:B.renderer&&(R=B.renderer);var F=getRenderer(R);this.renderer=new F(this,B.rendererSettings),this.imagePreloader.setCacheType(R,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=R,B.loop===""||B.loop===null||B.loop===void 0||B.loop===!0?this.loop=!0:B.loop===!1?this.loop=!1:this.loop=parseInt(B.loop,10),this.autoplay=!("autoplay"in B)||B.autoplay,this.name=B.name?B.name:"",this.autoloadSegments=!Object.prototype.hasOwnProperty.call(B,"autoloadSegments")||B.autoloadSegments,this.assetsPath=B.assetsPath,this.initialSegment=B.initialSegment,B.audioFactory&&this.audioController.setAudioFactory(B.audioFactory),B.animationData?this.setupAnimation(B.animationData):B.path&&(B.path.lastIndexOf("\\")!==-1?this.path=B.path.substr(0,B.path.lastIndexOf("\\")+1):this.path=B.path.substr(0,B.path.lastIndexOf("/")+1),this.fileName=B.path.substr(B.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),dataManager.loadAnimation(B.path,this.configAnimation,this.onSetupError))},AnimationItem.prototype.onSetupError=function(){this.trigger("data_failed")},AnimationItem.prototype.setupAnimation=function(B){dataManager.completeAnimation(B,this.configAnimation)},AnimationItem.prototype.setData=function(B,R){R&&_typeof$4(R)!=="object"&&(R=JSON.parse(R));var F={wrapper:B,animationData:R},D=B.attributes;F.path=D.getNamedItem("data-animation-path")?D.getNamedItem("data-animation-path").value:D.getNamedItem("data-bm-path")?D.getNamedItem("data-bm-path").value:D.getNamedItem("bm-path")?D.getNamedItem("bm-path").value:"",F.animType=D.getNamedItem("data-anim-type")?D.getNamedItem("data-anim-type").value:D.getNamedItem("data-bm-type")?D.getNamedItem("data-bm-type").value:D.getNamedItem("bm-type")?D.getNamedItem("bm-type").value:D.getNamedItem("data-bm-renderer")?D.getNamedItem("data-bm-renderer").value:D.getNamedItem("bm-renderer")?D.getNamedItem("bm-renderer").value:"canvas";var G=D.getNamedItem("data-anim-loop")?D.getNamedItem("data-anim-loop").value:D.getNamedItem("data-bm-loop")?D.getNamedItem("data-bm-loop").value:D.getNamedItem("bm-loop")?D.getNamedItem("bm-loop").value:"";G==="false"?F.loop=!1:G==="true"?F.loop=!0:G!==""&&(F.loop=parseInt(G,10));var U=D.getNamedItem("data-anim-autoplay")?D.getNamedItem("data-anim-autoplay").value:D.getNamedItem("data-bm-autoplay")?D.getNamedItem("data-bm-autoplay").value:!D.getNamedItem("bm-autoplay")||D.getNamedItem("bm-autoplay").value;F.autoplay=U!=="false",F.name=D.getNamedItem("data-name")?D.getNamedItem("data-name").value:D.getNamedItem("data-bm-name")?D.getNamedItem("data-bm-name").value:D.getNamedItem("bm-name")?D.getNamedItem("bm-name").value:"",(D.getNamedItem("data-anim-prerender")?D.getNamedItem("data-anim-prerender").value:D.getNamedItem("data-bm-prerender")?D.getNamedItem("data-bm-prerender").value:D.getNamedItem("bm-prerender")?D.getNamedItem("bm-prerender").value:"")==="false"&&(F.prerender=!1),this.setParams(F)},AnimationItem.prototype.includeLayers=function(B){B.op>this.animationData.op&&(this.animationData.op=B.op,this.totalFrames=Math.floor(B.op-this.animationData.ip));var R,F,D=this.animationData.layers,G=D.length,U=B.layers,W=U.length;for(F=0;F<W;F+=1)for(R=0;R<G;){if(D[R].id===U[F].id){D[R]=U[F];break}R+=1}if((B.chars||B.fonts)&&(this.renderer.globalData.fontManager.addChars(B.chars),this.renderer.globalData.fontManager.addFonts(B.fonts,this.renderer.globalData.defs)),B.assets)for(G=B.assets.length,R=0;R<G;R+=1)this.animationData.assets.push(B.assets[R]);this.animationData.__complete=!1,dataManager.completeAnimation(this.animationData,this.onSegmentComplete)},AnimationItem.prototype.onSegmentComplete=function(B){this.animationData=B;var R=getExpressionsPlugin();R&&R.initExpressions(this),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var B=this.animationData.segments;if(!B||B.length===0||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.totalFrames);var R=B.shift();this.timeCompleted=R.time*this.frameRate;var F=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,dataManager.loadData(F,this.includeLayers.bind(this),function(){this.trigger("data_failed")}.bind(this))},AnimationItem.prototype.loadSegments=function(){this.animationData.segments||(this.timeCompleted=this.totalFrames),this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger("loaded_images"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(B){if(this.renderer)try{this.animationData=B,this.initialSegment?(this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0])):(this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip)),this.renderer.configAnimation(B),B.assets||(B.assets=[]),this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1e3,this.renderer.searchExtraCompositions(B.assets),this.markers=markerParser(B.markers||[]),this.trigger("config_ready"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused&&this.audioController.pause()}catch(R){this.triggerConfigError(R)}},AnimationItem.prototype.waitForFontsLoaded=function(){this.renderer&&(this.renderer.globalData.fontManager.isLoaded?this.checkLoaded():setTimeout(this.waitForFontsLoaded.bind(this),20))},AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||this.renderer.rendererType!=="canvas")&&this.imagePreloader.loadedFootages()){this.isLoaded=!0;var B=getExpressionsPlugin();B&&B.initExpressions(this),this.renderer.initItems(),setTimeout(function(){this.trigger("DOMLoaded")}.bind(this),0),this.gotoFrame(),this.autoplay&&this.play()}},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.setSubframe=function(B){this.isSubframeEnabled=!!B},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.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.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(B){this.triggerRenderFrameError(B)}},AnimationItem.prototype.play=function(B){B&&this.name!==B||this.isPaused===!0&&(this.isPaused=!1,this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(B){B&&this.name!==B||this.isPaused===!1&&(this.isPaused=!0,this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(B){B&&this.name!==B||(this.isPaused===!0?this.play():this.pause())},AnimationItem.prototype.stop=function(B){B&&this.name!==B||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(B){for(var R,F=0;F<this.markers.length;F+=1)if((R=this.markers[F]).payload&&R.payload.name===B)return R;return null},AnimationItem.prototype.goToAndStop=function(B,R,F){if(!F||this.name===F){var D=Number(B);if(isNaN(D)){var G=this.getMarkerData(B);G&&this.goToAndStop(G.time,!0)}else R?this.setCurrentRawFrameValue(B):this.setCurrentRawFrameValue(B*this.frameModifier);this.pause()}},AnimationItem.prototype.goToAndPlay=function(B,R,F){if(!F||this.name===F){var D=Number(B);if(isNaN(D)){var G=this.getMarkerData(B);G&&(G.duration?this.playSegments([G.time,G.time+G.duration],!0):this.goToAndStop(G.time,!0))}else this.goToAndStop(D,R,F);this.play()}},AnimationItem.prototype.advanceTime=function(B){if(this.isPaused!==!0&&this.isLoaded!==!1){var R=this.currentRawFrame+B*this.frameModifier,F=!1;R>=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?R>=this.totalFrames?(this.playCount+=1,this.checkSegments(R%this.totalFrames)||(this.setCurrentRawFrameValue(R%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(R):this.checkSegments(R>this.totalFrames?R%this.totalFrames:0)||(F=!0,R=this.totalFrames-1):R<0?this.checkSegments(R%this.totalFrames)||(!this.loop||this.playCount--<=0&&this.loop!==!0?(F=!0,R=0):(this.setCurrentRawFrameValue(this.totalFrames+R%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0)):this.setCurrentRawFrameValue(R),F&&(this.setCurrentRawFrameValue(R),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(B,R){this.playCount=0,B[1]<B[0]?(this.frameModifier>0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=B[0]-B[1],this.timeCompleted=this.totalFrames,this.firstFrame=B[1],this.setCurrentRawFrameValue(this.totalFrames-.001-R)):B[1]>B[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=B[1]-B[0],this.timeCompleted=this.totalFrames,this.firstFrame=B[0],this.setCurrentRawFrameValue(.001+R)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(B,R){var F=-1;this.isPaused&&(this.currentRawFrame+this.firstFrame<B?F=B:this.currentRawFrame+this.firstFrame>R&&(F=R-B)),this.firstFrame=B,this.totalFrames=R-B,this.timeCompleted=this.totalFrames,F!==-1&&this.goToAndStop(F,!0)},AnimationItem.prototype.playSegments=function(B,R){if(R&&(this.segments.length=0),_typeof$4(B[0])==="object"){var F,D=B.length;for(F=0;F<D;F+=1)this.segments.push(B[F])}else this.segments.push(B);this.segments.length&&R&&this.adjustSegment(this.segments.shift(),0),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(B){this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),B&&this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(B){return!!this.segments.length&&(this.adjustSegment(this.segments.shift(),B),!0)},AnimationItem.prototype.destroy=function(B){B&&this.name!==B||!this.renderer||(this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger("destroy"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.renderer=null,this.imagePreloader=null,this.projectInterface=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(B){this.currentRawFrame=B,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(B){this.playSpeed=B,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(B){this.playDirection=B<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setVolume=function(B,R){R&&this.name!==R||this.audioController.setVolume(B)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(B){B&&this.name!==B||this.audioController.mute()},AnimationItem.prototype.unmute=function(B){B&&this.name!==B||this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(B){var R="";if(B.e)R=B.p;else if(this.assetsPath){var F=B.p;F.indexOf("images/")!==-1&&(F=F.split("/")[1]),R=this.assetsPath+F}else R=this.path,R+=B.u?B.u:"",R+=B.p;return R},AnimationItem.prototype.getAssetData=function(B){for(var R=0,F=this.assets.length;R<F;){if(B===this.assets[R].id)return this.assets[R];R+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(B){return B?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.trigger=function(B){if(this._cbs&&this._cbs[B])switch(B){case"enterFrame":case"drawnFrame":this.triggerEvent(B,new BMEnterFrameEvent(B,this.currentFrame,this.totalFrames,this.frameModifier));break;case"loopComplete":this.triggerEvent(B,new BMCompleteLoopEvent(B,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(B,new BMCompleteEvent(B,this.frameMult));break;case"segmentStart":this.triggerEvent(B,new BMSegmentStartEvent(B,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(B,new BMDestroyEvent(B,this));break;default:this.triggerEvent(B)}B==="enterFrame"&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(B,this.currentFrame,this.totalFrames,this.frameMult)),B==="loopComplete"&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(B,this.loop,this.playCount,this.frameMult)),B==="complete"&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(B,this.frameMult)),B==="segmentStart"&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(B,this.firstFrame,this.totalFrames)),B==="destroy"&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(B,this))},AnimationItem.prototype.triggerRenderFrameError=function(B){var R=new BMRenderFrameErrorEvent(B,this.currentFrame);this.triggerEvent("error",R),this.onError&&this.onError.call(this,R)},AnimationItem.prototype.triggerConfigError=function(B){var R=new BMConfigErrorEvent(B,this.currentFrame);this.triggerEvent("error",R),this.onError&&this.onError.call(this,R)};var animationManager=function(){var B={},R=[],F=0,D=0,G=0,U=!0,W=!1;function q(se){for(var re=0,ae=se.target;re<D;)R[re].animation===ae&&(R.splice(re,1),re-=1,D-=1,ae.isPaused||Z()),re+=1}function Y(se,re){if(!se)return null;for(var ae=0;ae<D;){if(R[ae].elem===se&&R[ae].elem!==null)return R[ae].animation;ae+=1}var le=new AnimationItem;return K(le,se),le.setData(se,re),le}function Q(){G+=1,ne()}function Z(){G-=1}function K(se,re){se.addEventListener("destroy",q),se.addEventListener("_active",Q),se.addEventListener("_idle",Z),R.push({elem:re,animation:se}),D+=1}function J(se){var re,ae=se-F;for(re=0;re<D;re+=1)R[re].animation.advanceTime(ae);F=se,G&&!W?window.requestAnimationFrame(J):U=!0}function ie(se){F=se,window.requestAnimationFrame(J)}function ne(){!W&&G&&U&&(window.requestAnimationFrame(ie),U=!1)}return B.registerAnimation=Y,B.loadAnimation=function(se){var re=new AnimationItem;return K(re,null),re.setParams(se),re},B.setSpeed=function(se,re){var ae;for(ae=0;ae<D;ae+=1)R[ae].animation.setSpeed(se,re)},B.setDirection=function(se,re){var ae;for(ae=0;ae<D;ae+=1)R[ae].animation.setDirection(se,re)},B.play=function(se){var re;for(re=0;re<D;re+=1)R[re].animation.play(se)},B.pause=function(se){var re;for(re=0;re<D;re+=1)R[re].animation.pause(se)},B.stop=function(se){var re;for(re=0;re<D;re+=1)R[re].animation.stop(se)},B.togglePause=function(se){var re;for(re=0;re<D;re+=1)R[re].animation.togglePause(se)},B.searchAnimations=function(se,re,ae){var le,ce=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),he=ce.length;for(le=0;le<he;le+=1)ae&&ce[le].setAttribute("data-bm-type",ae),Y(ce[le],se);if(re&&he===0){ae||(ae="svg");var de=document.getElementsByTagName("body")[0];de.innerText="";var me=createTag("div");me.style.width="100%",me.style.height="100%",me.setAttribute("data-bm-type",ae),de.appendChild(me),Y(me,se)}},B.resize=function(){var se;for(se=0;se<D;se+=1)R[se].animation.resize()},B.goToAndStop=function(se,re,ae){var le;for(le=0;le<D;le+=1)R[le].animation.goToAndStop(se,re,ae)},B.destroy=function(se){var re;for(re=D-1;re>=0;re-=1)R[re].animation.destroy(se)},B.freeze=function(){W=!0},B.unfreeze=function(){W=!1,ne()},B.setVolume=function(se,re){var ae;for(ae=0;ae<D;ae+=1)R[ae].animation.setVolume(se,re)},B.mute=function(se){var re;for(re=0;re<D;re+=1)R[re].animation.mute(se)},B.unmute=function(se){var re;for(re=0;re<D;re+=1)R[re].animation.unmute(se)},B.getRegisteredAnimations=function(){var se,re=R.length,ae=[];for(se=0;se<re;se+=1)ae.push(R[se].animation);return ae},B}(),BezierFactory=function(){var B={getBezierEasing:function(Q,Z,K,J,ie){var ne=ie||("bez_"+Q+"_"+Z+"_"+K+"_"+J).replace(/\./g,"p");if(R[ne])return R[ne];var se=new Y([Q,Z,K,J]);return R[ne]=se,se}},R={},F=typeof Float32Array=="function";function D(Q,Z){return 1-3*Z+3*Q}function G(Q,Z){return 3*Z-6*Q}function U(Q){return 3*Q}function W(Q,Z,K){return((D(Z,K)*Q+G(Z,K))*Q+U(Z))*Q}function q(Q,Z,K){return 3*D(Z,K)*Q*Q+2*G(Z,K)*Q+U(Z)}function Y(Q){this._p=Q,this._mSampleValues=F?new Float32Array(11):new Array(11),this._precomputed=!1,this.get=this.get.bind(this)}return Y.prototype={get:function(Q){var Z=this._p[0],K=this._p[1],J=this._p[2],ie=this._p[3];return this._precomputed||this._precompute(),Z===K&&J===ie?Q:Q===0?0:Q===1?1:W(this._getTForX(Q),K,ie)},_precompute:function(){var Q=this._p[0],Z=this._p[1],K=this._p[2],J=this._p[3];this._precomputed=!0,Q===Z&&K===J||this._calcSampleValues()},_calcSampleValues:function(){for(var Q=this._p[0],Z=this._p[2],K=0;K<11;++K)this._mSampleValues[K]=W(.1*K,Q,Z)},_getTForX:function(Q){for(var Z=this._p[0],K=this._p[2],J=this._mSampleValues,ie=0,ne=1;ne!==10&&J[ne]<=Q;++ne)ie+=.1;var se=ie+.1*((Q-J[--ne])/(J[ne+1]-J[ne])),re=q(se,Z,K);return re>=.001?function(ae,le,ce,he){for(var de=0;de<4;++de){var me=q(le,ce,he);if(me===0)return le;le-=(W(le,ce,he)-ae)/me}return le}(Q,se,Z,K):re===0?se:function(ae,le,ce,he,de){var me,fe,ge=0;do(me=W(fe=le+(ce-le)/2,he,de)-ae)>0?ce=fe:le=fe;while(Math.abs(me)>1e-7&&++ge<10);return fe}(Q,ie,ie+.1,Z,K)}},B}(),pooling={double:function(B){return B.concat(createSizedArray(B.length))}},poolFactory=function(B,R,F){var D=0,G=B,U=createSizedArray(G);return{newElement:function(){return D?U[D-=1]:R()},release:function(W){D===G&&(U=pooling.double(U),G*=2),F&&F(W),U[D]=W,D+=1}}},bezierLengthPool=poolFactory(8,function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}),segmentsLengthPool=poolFactory(8,function(){return{lengths:[],totalLength:0}},function(B){var R,F=B.lengths.length;for(R=0;R<F;R+=1)bezierLengthPool.release(B.lengths[R]);B.lengths.length=0});function bezFunction(){var B=Math;function R(Q,Z,K,J,ie,ne){var se=Q*J+Z*ie+K*ne-ie*J-ne*Q-K*Z;return se>-.001&&se<.001}var F=function(Q,Z,K,J){var ie,ne,se,re,ae,le,ce=getDefaultCurveSegments(),he=0,de=[],me=[],fe=bezierLengthPool.newElement();for(se=K.length,ie=0;ie<ce;ie+=1){for(ae=ie/(ce-1),le=0,ne=0;ne<se;ne+=1)re=bmPow(1-ae,3)*Q[ne]+3*bmPow(1-ae,2)*ae*K[ne]+3*(1-ae)*bmPow(ae,2)*J[ne]+bmPow(ae,3)*Z[ne],de[ne]=re,me[ne]!==null&&(le+=bmPow(de[ne]-me[ne],2)),me[ne]=de[ne];le&&(he+=le=bmSqrt(le)),fe.percents[ie]=ae,fe.lengths[ie]=he}return fe.addedLength=he,fe};function D(Q){this.segmentLength=0,this.points=new Array(Q)}function G(Q,Z){this.partialLength=Q,this.point=Z}var U,W=(U={},function(Q,Z,K,J){var ie=(Q[0]+"_"+Q[1]+"_"+Z[0]+"_"+Z[1]+"_"+K[0]+"_"+K[1]+"_"+J[0]+"_"+J[1]).replace(/\./g,"p");if(!U[ie]){var ne,se,re,ae,le,ce,he,de=getDefaultCurveSegments(),me=0,fe=null;Q.length===2&&(Q[0]!==Z[0]||Q[1]!==Z[1])&&R(Q[0],Q[1],Z[0],Z[1],Q[0]+K[0],Q[1]+K[1])&&R(Q[0],Q[1],Z[0],Z[1],Z[0]+J[0],Z[1]+J[1])&&(de=2);var ge=new D(de);for(re=K.length,ne=0;ne<de;ne+=1){for(he=createSizedArray(re),le=ne/(de-1),ce=0,se=0;se<re;se+=1)ae=bmPow(1-le,3)*Q[se]+3*bmPow(1-le,2)*le*(Q[se]+K[se])+3*(1-le)*bmPow(le,2)*(Z[se]+J[se])+bmPow(le,3)*Z[se],he[se]=ae,fe!==null&&(ce+=bmPow(he[se]-fe[se],2));me+=ce=bmSqrt(ce),ge.points[ne]=new G(ce,he),fe=he}ge.segmentLength=me,U[ie]=ge}return U[ie]});function q(Q,Z){var K=Z.percents,J=Z.lengths,ie=K.length,ne=bmFloor((ie-1)*Q),se=Q*Z.addedLength,re=0;if(ne===ie-1||ne===0||se===J[ne])return K[ne];for(var ae=J[ne]>se?-1:1,le=!0;le;)if(J[ne]<=se&&J[ne+1]>se?(re=(se-J[ne])/(J[ne+1]-J[ne]),le=!1):ne+=ae,ne<0||ne>=ie-1){if(ne===ie-1)return K[ne];le=!1}return K[ne]+(K[ne+1]-K[ne])*re}var Y=createTypedArray("float32",8);return{getSegmentsLength:function(Q){var Z,K=segmentsLengthPool.newElement(),J=Q.c,ie=Q.v,ne=Q.o,se=Q.i,re=Q._length,ae=K.lengths,le=0;for(Z=0;Z<re-1;Z+=1)ae[Z]=F(ie[Z],ie[Z+1],ne[Z],se[Z+1]),le+=ae[Z].addedLength;return J&&re&&(ae[Z]=F(ie[Z],ie[0],ne[Z],se[0]),le+=ae[Z].addedLength),K.totalLength=le,K},getNewSegment:function(Q,Z,K,J,ie,ne,se){ie<0?ie=0:ie>1&&(ie=1);var re,ae=q(ie,se),le=q(ne=ne>1?1:ne,se),ce=Q.length,he=1-ae,de=1-le,me=he*he*he,fe=ae*he*he*3,ge=ae*ae*he*3,Se=ae*ae*ae,Ee=he*he*de,ve=ae*he*de+he*ae*de+he*he*le,xe=ae*ae*de+he*ae*le+ae*he*le,Pe=ae*ae*le,ye=he*de*de,Te=ae*de*de+he*le*de+he*de*le,Le=ae*le*de+he*le*le+ae*de*le,we=ae*le*le,Ae=de*de*de,Me=le*de*de+de*le*de+de*de*le,ke=le*le*de+de*le*le+le*de*le,Ne=le*le*le;for(re=0;re<ce;re+=1)Y[4*re]=B.round(1e3*(me*Q[re]+fe*K[re]+ge*J[re]+Se*Z[re]))/1e3,Y[4*re+1]=B.round(1e3*(Ee*Q[re]+ve*K[re]+xe*J[re]+Pe*Z[re]))/1e3,Y[4*re+2]=B.round(1e3*(ye*Q[re]+Te*K[re]+Le*J[re]+we*Z[re]))/1e3,Y[4*re+3]=B.round(1e3*(Ae*Q[re]+Me*K[re]+ke*J[re]+Ne*Z[re]))/1e3;return Y},getPointInSegment:function(Q,Z,K,J,ie,ne){var se=q(ie,ne),re=1-se;return[B.round(1e3*(re*re*re*Q[0]+(se*re*re+re*se*re+re*re*se)*K[0]+(se*se*re+re*se*se+se*re*se)*J[0]+se*se*se*Z[0]))/1e3,B.round(1e3*(re*re*re*Q[1]+(se*re*re+re*se*re+re*re*se)*K[1]+(se*se*re+re*se*se+se*re*se)*J[1]+se*se*se*Z[1]))/1e3]},buildBezierData:W,pointOnLine2D:R,pointOnLine3D:function(Q,Z,K,J,ie,ne,se,re,ae){if(K===0&&ne===0&&ae===0)return R(Q,Z,J,ie,se,re);var le,ce=B.sqrt(B.pow(J-Q,2)+B.pow(ie-Z,2)+B.pow(ne-K,2)),he=B.sqrt(B.pow(se-Q,2)+B.pow(re-Z,2)+B.pow(ae-K,2)),de=B.sqrt(B.pow(se-J,2)+B.pow(re-ie,2)+B.pow(ae-ne,2));return(le=ce>he?ce>de?ce-he-de:de-he-ce:de>he?de-he-ce:he-ce-de)>-1e-4&&le<1e-4}}}var bez=bezFunction(),PropertyFactory=function(){var B=initialDefaultFrame,R=Math.abs;function F(J,ie){var ne,se=this.offsetTime;this.propType==="multidimensional"&&(ne=createTypedArray("float32",this.pv.length));for(var re,ae,le,ce,he,de,me,fe,ge,Se=ie.lastIndex,Ee=Se,ve=this.keyframes.length-1,xe=!0;xe;){if(re=this.keyframes[Ee],ae=this.keyframes[Ee+1],Ee===ve-1&&J>=ae.t-se){re.h&&(re=ae),Se=0;break}if(ae.t-se>J){Se=Ee;break}Ee<ve-1?Ee+=1:(Se=0,xe=!1)}le=this.keyframesMetadata[Ee]||{};var Pe,ye=ae.t-se,Te=re.t-se;if(re.to){le.bezierData||(le.bezierData=bez.buildBezierData(re.s,ae.s||re.e,re.to,re.ti));var Le=le.bezierData;if(J>=ye||J<Te){var we=J>=ye?Le.points.length-1:0;for(he=Le.points[we].point.length,ce=0;ce<he;ce+=1)ne[ce]=Le.points[we].point[ce]}else{le.__fnct?ge=le.__fnct:(ge=BezierFactory.getBezierEasing(re.o.x,re.o.y,re.i.x,re.i.y,re.n).get,le.__fnct=ge),de=ge((J-Te)/(ye-Te));var Ae,Me=Le.segmentLength*de,ke=ie.lastFrame<J&&ie._lastKeyframeIndex===Ee?ie._lastAddedLength:0;for(fe=ie.lastFrame<J&&ie._lastKeyframeIndex===Ee?ie._lastPoint:0,xe=!0,me=Le.points.length;xe;){if(ke+=Le.points[fe].partialLength,Me===0||de===0||fe===Le.points.length-1){for(he=Le.points[fe].point.length,ce=0;ce<he;ce+=1)ne[ce]=Le.points[fe].point[ce];break}if(Me>=ke&&Me<ke+Le.points[fe+1].partialLength){for(Ae=(Me-ke)/Le.points[fe+1].partialLength,he=Le.points[fe].point.length,ce=0;ce<he;ce+=1)ne[ce]=Le.points[fe].point[ce]+(Le.points[fe+1].point[ce]-Le.points[fe].point[ce])*Ae;break}fe<me-1?fe+=1:xe=!1}ie._lastPoint=fe,ie._lastAddedLength=ke-Le.points[fe].partialLength,ie._lastKeyframeIndex=Ee}}else{var Ne,Ie,Ge,ze,Ve;if(ve=re.s.length,Pe=ae.s||re.e,this.sh&&re.h!==1)J>=ye?(ne[0]=Pe[0],ne[1]=Pe[1],ne[2]=Pe[2]):J<=Te?(ne[0]=re.s[0],ne[1]=re.s[1],ne[2]=re.s[2]):function(Ye,et){var Je=et[0],st=et[1],pt=et[2],dt=et[3],yt=Math.atan2(2*st*dt-2*Je*pt,1-2*st*st-2*pt*pt),Fe=Math.asin(2*Je*st+2*pt*dt),_e=Math.atan2(2*Je*dt-2*st*pt,1-2*Je*Je-2*pt*pt);Ye[0]=yt/degToRads,Ye[1]=Fe/degToRads,Ye[2]=_e/degToRads}(ne,function(Ye,et,Je){var st,pt,dt,yt,Fe,_e=[],je=Ye[0],Ze=Ye[1],De=Ye[2],Oe=Ye[3],Xe=et[0],tt=et[1],nt=et[2],Ke=et[3];return(pt=je*Xe+Ze*tt+De*nt+Oe*Ke)<0&&(pt=-pt,Xe=-Xe,tt=-tt,nt=-nt,Ke=-Ke),1-pt>1e-6?(st=Math.acos(pt),dt=Math.sin(st),yt=Math.sin((1-Je)*st)/dt,Fe=Math.sin(Je*st)/dt):(yt=1-Je,Fe=Je),_e[0]=yt*je+Fe*Xe,_e[1]=yt*Ze+Fe*tt,_e[2]=yt*De+Fe*nt,_e[3]=yt*Oe+Fe*Ke,_e}(D(re.s),D(Pe),(J-Te)/(ye-Te)));else for(Ee=0;Ee<ve;Ee+=1)re.h!==1&&(J>=ye?de=1:J<Te?de=0:(re.o.x.constructor===Array?(le.__fnct||(le.__fnct=[]),le.__fnct[Ee]?ge=le.__fnct[Ee]:(Ne=re.o.x[Ee]===void 0?re.o.x[0]:re.o.x[Ee],Ie=re.o.y[Ee]===void 0?re.o.y[0]:re.o.y[Ee],Ge=re.i.x[Ee]===void 0?re.i.x[0]:re.i.x[Ee],ze=re.i.y[Ee]===void 0?re.i.y[0]:re.i.y[Ee],ge=BezierFactory.getBezierEasing(Ne,Ie,Ge,ze).get,le.__fnct[Ee]=ge)):le.__fnct?ge=le.__fnct:(Ne=re.o.x,Ie=re.o.y,Ge=re.i.x,ze=re.i.y,ge=BezierFactory.getBezierEasing(Ne,Ie,Ge,ze).get,re.keyframeMetadata=ge),de=ge((J-Te)/(ye-Te)))),Pe=ae.s||re.e,Ve=re.h===1?re.s[Ee]:re.s[Ee]+(Pe[Ee]-re.s[Ee])*de,this.propType==="multidimensional"?ne[Ee]=Ve:ne=Ve}return ie.lastIndex=Se,ne}function D(J){var ie=J[0]*degToRads,ne=J[1]*degToRads,se=J[2]*degToRads,re=Math.cos(ie/2),ae=Math.cos(ne/2),le=Math.cos(se/2),ce=Math.sin(ie/2),he=Math.sin(ne/2),de=Math.sin(se/2);return[ce*he*le+re*ae*de,ce*ae*le+re*he*de,re*he*le-ce*ae*de,re*ae*le-ce*he*de]}function G(){var J=this.comp.renderedFrame-this.offsetTime,ie=this.keyframes[0].t-this.offsetTime,ne=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(J===this._caching.lastFrame||this._caching.lastFrame!==B&&(this._caching.lastFrame>=ne&&J>=ne||this._caching.lastFrame<ie&&J<ie))){this._caching.lastFrame>=J&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var se=this.interpolateValue(J,this._caching);this.pv=se}return this._caching.lastFrame=J,this.pv}function U(J){var ie;if(this.propType==="unidimensional")ie=J*this.mult,R(this.v-ie)>1e-5&&(this.v=ie,this._mdf=!0);else for(var ne=0,se=this.v.length;ne<se;)ie=J[ne]*this.mult,R(this.v[ne]-ie)>1e-5&&(this.v[ne]=ie,this._mdf=!0),ne+=1}function W(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var J;this.lock=!0,this._mdf=this._isFirstFrame;var ie=this.effectsSequence.length,ne=this.kf?this.pv:this.data.k;for(J=0;J<ie;J+=1)ne=this.effectsSequence[J](ne);this.setVValue(ne),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}}function q(J){this.effectsSequence.push(J),this.container.addDynamicProperty(this)}function Y(J,ie,ne,se){this.propType="unidimensional",this.mult=ne||1,this.data=ie,this.v=ne?ie.k*ne:ie.k,this.pv=ie.k,this._mdf=!1,this.elem=J,this.container=se,this.comp=J.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=W,this.setVValue=U,this.addEffect=q}function Q(J,ie,ne,se){var re;this.propType="multidimensional",this.mult=ne||1,this.data=ie,this._mdf=!1,this.elem=J,this.container=se,this.comp=J.comp,this.k=!1,this.kf=!1,this.frameId=-1;var ae=ie.k.length;for(this.v=createTypedArray("float32",ae),this.pv=createTypedArray("float32",ae),this.vel=createTypedArray("float32",ae),re=0;re<ae;re+=1)this.v[re]=ie.k[re]*this.mult,this.pv[re]=ie.k[re];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=W,this.setVValue=U,this.addEffect=q}function Z(J,ie,ne,se){this.propType="unidimensional",this.keyframes=ie.k,this.keyframesMetadata=[],this.offsetTime=J.data.st,this.frameId=-1,this._caching={lastFrame:B,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=ie,this.mult=ne||1,this.elem=J,this.container=se,this.comp=J.comp,this.v=B,this.pv=B,this._isFirstFrame=!0,this.getValue=W,this.setVValue=U,this.interpolateValue=F,this.effectsSequence=[G.bind(this)],this.addEffect=q}function K(J,ie,ne,se){var re;this.propType="multidimensional";var ae,le,ce,he,de=ie.k.length;for(re=0;re<de-1;re+=1)ie.k[re].to&&ie.k[re].s&&ie.k[re+1]&&ie.k[re+1].s&&(ae=ie.k[re].s,le=ie.k[re+1].s,ce=ie.k[re].to,he=ie.k[re].ti,(ae.length===2&&(ae[0]!==le[0]||ae[1]!==le[1])&&bez.pointOnLine2D(ae[0],ae[1],le[0],le[1],ae[0]+ce[0],ae[1]+ce[1])&&bez.pointOnLine2D(ae[0],ae[1],le[0],le[1],le[0]+he[0],le[1]+he[1])||ae.length===3&&(ae[0]!==le[0]||ae[1]!==le[1]||ae[2]!==le[2])&&bez.pointOnLine3D(ae[0],ae[1],ae[2],le[0],le[1],le[2],ae[0]+ce[0],ae[1]+ce[1],ae[2]+ce[2])&&bez.pointOnLine3D(ae[0],ae[1],ae[2],le[0],le[1],le[2],le[0]+he[0],le[1]+he[1],le[2]+he[2]))&&(ie.k[re].to=null,ie.k[re].ti=null),ae[0]===le[0]&&ae[1]===le[1]&&ce[0]===0&&ce[1]===0&&he[0]===0&&he[1]===0&&(ae.length===2||ae[2]===le[2]&&ce[2]===0&&he[2]===0)&&(ie.k[re].to=null,ie.k[re].ti=null));this.effectsSequence=[G.bind(this)],this.data=ie,this.keyframes=ie.k,this.keyframesMetadata=[],this.offsetTime=J.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=ne||1,this.elem=J,this.container=se,this.comp=J.comp,this.getValue=W,this.setVValue=U,this.interpolateValue=F,this.frameId=-1;var me=ie.k[0].s.length;for(this.v=createTypedArray("float32",me),this.pv=createTypedArray("float32",me),re=0;re<me;re+=1)this.v[re]=B,this.pv[re]=B;this._caching={lastFrame:B,lastIndex:0,value:createTypedArray("float32",me)},this.addEffect=q}return{getProp:function(J,ie,ne,se,re){var ae;if(ie.k.length)if(typeof ie.k[0]=="number")ae=new Q(J,ie,se,re);else switch(ne){case 0:ae=new Z(J,ie,se,re);break;case 1:ae=new K(J,ie,se,re)}else ae=new Y(J,ie,se,re);return ae.effectsSequence.length&&re.addDynamicProperty(ae),ae}}}();function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function(B){this.dynamicProperties.indexOf(B)===-1&&(this.dynamicProperties.push(B),this.container.addDynamicProperty(this),this._isAnimated=!0)},iterateDynamicProperties:function(){var B;this._mdf=!1;var R=this.dynamicProperties.length;for(B=0;B<R;B+=1)this.dynamicProperties[B].getValue(),this.dynamicProperties[B]._mdf&&(this._mdf=!0)},initDynamicPropertyContainer:function(B){this.container=B,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var pointPool=poolFactory(8,function(){return createTypedArray("float32",2)});function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(B,R){this.c=B,this.setLength(R);for(var F=0;F<R;)this.v[F]=pointPool.newElement(),this.o[F]=pointPool.newElement(),this.i[F]=pointPool.newElement(),F+=1},ShapePath.prototype.setLength=function(B){for(;this._maxLength<B;)this.doubleArrayLength();this._length=B},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(B,R,F,D,G){var U;switch(this._length=Math.max(this._length,D+1),this._length>=this._maxLength&&this.doubleArrayLength(),F){case"v":U=this.v;break;case"i":U=this.i;break;case"o":U=this.o;break;default:U=[]}(!U[D]||U[D]&&!G)&&(U[D]=pointPool.newElement()),U[D][0]=B,U[D][1]=R},ShapePath.prototype.setTripleAt=function(B,R,F,D,G,U,W,q){this.setXYAt(B,R,"v",W,q),this.setXYAt(F,D,"o",W,q),this.setXYAt(G,U,"i",W,q)},ShapePath.prototype.reverse=function(){var B=new ShapePath;B.setPathData(this.c,this._length);var R=this.v,F=this.o,D=this.i,G=0;this.c&&(B.setTripleAt(R[0][0],R[0][1],D[0][0],D[0][1],F[0][0],F[0][1],0,!1),G=1);var U,W=this._length-1,q=this._length;for(U=G;U<q;U+=1)B.setTripleAt(R[W][0],R[W][1],D[W][0],D[W][1],F[W][0],F[W][1],U,!1),W-=1;return B};var shapePool=(factory=poolFactory(4,function(){return new ShapePath},function(B){var R,F=B._length;for(R=0;R<F;R+=1)pointPool.release(B.v[R]),pointPool.release(B.i[R]),pointPool.release(B.o[R]),B.v[R]=null,B.i[R]=null,B.o[R]=null;B._length=0,B.c=!1}),factory.clone=function(B){var R,F=factory.newElement(),D=B._length===void 0?B.v.length:B._length;for(F.setLength(D),F.c=B.c,R=0;R<D;R+=1)F.setTripleAt(B.v[R][0],B.v[R][1],B.o[R][0],B.o[R][1],B.i[R][0],B.i[R][1],R);return F},factory),factory;function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}ShapeCollection.prototype.addShape=function(B){this._length===this._maxLength&&(this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2),this.shapes[this._length]=B,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var B;for(B=0;B<this._length;B+=1)shapePool.release(this.shapes[B]);this._length=0};var shapeCollectionPool=(ob={newShapeCollection:function(){return _length?pool[_length-=1]:new ShapeCollection},release:function(B){var R,F=B._length;for(R=0;R<F;R+=1)shapePool.release(B.shapes[R]);B._length=0,_length===_maxLength&&(pool=pooling.double(pool),_maxLength*=2),pool[_length]=B,_length+=1}},_length=0,_maxLength=4,pool=createSizedArray(_maxLength),ob),ob,_length,_maxLength,pool,ShapePropertyFactory=function(){function B(J,ie,ne){var se,re,ae,le,ce,he,de,me,fe,ge=ne.lastIndex,Se=this.keyframes;if(J<Se[0].t-this.offsetTime)se=Se[0].s[0],ae=!0,ge=0;else if(J>=Se[Se.length-1].t-this.offsetTime)se=Se[Se.length-1].s?Se[Se.length-1].s[0]:Se[Se.length-2].e[0],ae=!0;else{for(var Ee,ve,xe,Pe=ge,ye=Se.length-1,Te=!0;Te&&(Ee=Se[Pe],!((ve=Se[Pe+1]).t-this.offsetTime>J));)Pe<ye-1?Pe+=1:Te=!1;if(xe=this.keyframesMetadata[Pe]||{},ge=Pe,!(ae=Ee.h===1)){if(J>=ve.t-this.offsetTime)me=1;else if(J<Ee.t-this.offsetTime)me=0;else{var Le;xe.__fnct?Le=xe.__fnct:(Le=BezierFactory.getBezierEasing(Ee.o.x,Ee.o.y,Ee.i.x,Ee.i.y).get,xe.__fnct=Le),me=Le((J-(Ee.t-this.offsetTime))/(ve.t-this.offsetTime-(Ee.t-this.offsetTime)))}re=ve.s?ve.s[0]:Ee.e[0]}se=Ee.s[0]}for(he=ie._length,de=se.i[0].length,ne.lastIndex=ge,le=0;le<he;le+=1)for(ce=0;ce<de;ce+=1)fe=ae?se.i[le][ce]:se.i[le][ce]+(re.i[le][ce]-se.i[le][ce])*me,ie.i[le][ce]=fe,fe=ae?se.o[le][ce]:se.o[le][ce]+(re.o[le][ce]-se.o[le][ce])*me,ie.o[le][ce]=fe,fe=ae?se.v[le][ce]:se.v[le][ce]+(re.v[le][ce]-se.v[le][ce])*me,ie.v[le][ce]=fe}function R(){var J=this.comp.renderedFrame-this.offsetTime,ie=this.keyframes[0].t-this.offsetTime,ne=this.keyframes[this.keyframes.length-1].t-this.offsetTime,se=this._caching.lastFrame;return se!==-999999&&(se<ie&&J<ie||se>ne&&J>ne)||(this._caching.lastIndex=se<J?this._caching.lastIndex:0,this.interpolateShape(J,this.pv,this._caching)),this._caching.lastFrame=J,this.pv}function F(){this.paths=this.localShapeCollection}function D(J){(function(ie,ne){if(ie._length!==ne._length||ie.c!==ne.c)return!1;var se,re=ie._length;for(se=0;se<re;se+=1)if(ie.v[se][0]!==ne.v[se][0]||ie.v[se][1]!==ne.v[se][1]||ie.o[se][0]!==ne.o[se][0]||ie.o[se][1]!==ne.o[se][1]||ie.i[se][0]!==ne.i[se][0]||ie.i[se][1]!==ne.i[se][1])return!1;return!0})(this.v,J)||(this.v=shapePool.clone(J),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection)}function G(){if(this.elem.globalData.frameId!==this.frameId)if(this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var J,ie;this.lock=!0,this._mdf=!1,J=this.kf?this.pv:this.data.ks?this.data.ks.k:this.data.pt.k;var ne=this.effectsSequence.length;for(ie=0;ie<ne;ie+=1)J=this.effectsSequence[ie](J);this.setVValue(J),this.lock=!1,this.frameId=this.elem.globalData.frameId}else this._mdf=!1}function U(J,ie,ne){this.propType="shape",this.comp=J.comp,this.container=J,this.elem=J,this.data=ie,this.k=!1,this.kf=!1,this._mdf=!1;var se=ne===3?ie.pt.k:ie.ks.k;this.v=shapePool.clone(se),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=F,this.effectsSequence=[]}function W(J){this.effectsSequence.push(J),this.container.addDynamicProperty(this)}function q(J,ie,ne){this.propType="shape",this.comp=J.comp,this.elem=J,this.container=J,this.offsetTime=J.data.st,this.keyframes=ne===3?ie.pt.k:ie.ks.k,this.keyframesMetadata=[],this.k=!0,this.kf=!0;var se=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,se),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=-999999,this.reset=F,this._caching={lastFrame:-999999,lastIndex:0},this.effectsSequence=[R.bind(this)]}U.prototype.interpolateShape=B,U.prototype.getValue=G,U.prototype.setVValue=D,U.prototype.addEffect=W,q.prototype.getValue=G,q.prototype.interpolateShape=B,q.prototype.setVValue=D,q.prototype.addEffect=W;var Y=function(){var J=roundCorner;function ie(ne,se){this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=se.d,this.elem=ne,this.comp=ne.comp,this.frameId=-1,this.initDynamicPropertyContainer(ne),this.p=PropertyFactory.getProp(ne,se.p,1,0,this),this.s=PropertyFactory.getProp(ne,se.s,1,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertEllToPath())}return ie.prototype={reset:F,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertEllToPath())},convertEllToPath:function(){var ne=this.p.v[0],se=this.p.v[1],re=this.s.v[0]/2,ae=this.s.v[1]/2,le=this.d!==3,ce=this.v;ce.v[0][0]=ne,ce.v[0][1]=se-ae,ce.v[1][0]=le?ne+re:ne-re,ce.v[1][1]=se,ce.v[2][0]=ne,ce.v[2][1]=se+ae,ce.v[3][0]=le?ne-re:ne+re,ce.v[3][1]=se,ce.i[0][0]=le?ne-re*J:ne+re*J,ce.i[0][1]=se-ae,ce.i[1][0]=le?ne+re:ne-re,ce.i[1][1]=se-ae*J,ce.i[2][0]=le?ne+re*J:ne-re*J,ce.i[2][1]=se+ae,ce.i[3][0]=le?ne-re:ne+re,ce.i[3][1]=se+ae*J,ce.o[0][0]=le?ne+re*J:ne-re*J,ce.o[0][1]=se-ae,ce.o[1][0]=le?ne+re:ne-re,ce.o[1][1]=se+ae*J,ce.o[2][0]=le?ne-re*J:ne+re*J,ce.o[2][1]=se+ae,ce.o[3][0]=le?ne-re:ne+re,ce.o[3][1]=se-ae*J}},extendPrototype([DynamicPropertyContainer],ie),ie}(),Q=function(){function J(ie,ne){this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=ie,this.comp=ie.comp,this.data=ne,this.frameId=-1,this.d=ne.d,this.initDynamicPropertyContainer(ie),ne.sy===1?(this.ir=PropertyFactory.getProp(ie,ne.ir,0,0,this),this.is=PropertyFactory.getProp(ie,ne.is,0,.01,this),this.convertToPath=this.convertStarToPath):this.convertToPath=this.convertPolygonToPath,this.pt=PropertyFactory.getProp(ie,ne.pt,0,0,this),this.p=PropertyFactory.getProp(ie,ne.p,1,0,this),this.r=PropertyFactory.getProp(ie,ne.r,0,degToRads,this),this.or=PropertyFactory.getProp(ie,ne.or,0,0,this),this.os=PropertyFactory.getProp(ie,ne.os,0,.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertToPath())}return J.prototype={reset:F,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertToPath())},convertStarToPath:function(){var ie,ne,se,re,ae=2*Math.floor(this.pt.v),le=2*Math.PI/ae,ce=!0,he=this.or.v,de=this.ir.v,me=this.os.v,fe=this.is.v,ge=2*Math.PI*he/(2*ae),Se=2*Math.PI*de/(2*ae),Ee=-Math.PI/2;Ee+=this.r.v;var ve=this.data.d===3?-1:1;for(this.v._length=0,ie=0;ie<ae;ie+=1){se=ce?me:fe,re=ce?ge:Se;var xe=(ne=ce?he:de)*Math.cos(Ee),Pe=ne*Math.sin(Ee),ye=xe===0&&Pe===0?0:Pe/Math.sqrt(xe*xe+Pe*Pe),Te=xe===0&&Pe===0?0:-xe/Math.sqrt(xe*xe+Pe*Pe);xe+=+this.p.v[0],Pe+=+this.p.v[1],this.v.setTripleAt(xe,Pe,xe-ye*re*se*ve,Pe-Te*re*se*ve,xe+ye*re*se*ve,Pe+Te*re*se*ve,ie,!0),ce=!ce,Ee+=le*ve}},convertPolygonToPath:function(){var ie,ne=Math.floor(this.pt.v),se=2*Math.PI/ne,re=this.or.v,ae=this.os.v,le=2*Math.PI*re/(4*ne),ce=.5*-Math.PI,he=this.data.d===3?-1:1;for(ce+=this.r.v,this.v._length=0,ie=0;ie<ne;ie+=1){var de=re*Math.cos(ce),me=re*Math.sin(ce),fe=de===0&&me===0?0:me/Math.sqrt(de*de+me*me),ge=de===0&&me===0?0:-de/Math.sqrt(de*de+me*me);de+=+this.p.v[0],me+=+this.p.v[1],this.v.setTripleAt(de,me,de-fe*le*ae*he,me-ge*le*ae*he,de+fe*le*ae*he,me+ge*le*ae*he,ie,!0),ce+=se*he}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],J),J}(),Z=function(){function J(ie,ne){this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=ie,this.comp=ie.comp,this.frameId=-1,this.d=ne.d,this.initDynamicPropertyContainer(ie),this.p=PropertyFactory.getProp(ie,ne.p,1,0,this),this.s=PropertyFactory.getProp(ie,ne.s,1,0,this),this.r=PropertyFactory.getProp(ie,ne.r,0,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertRectToPath())}return J.prototype={convertRectToPath:function(){var ie=this.p.v[0],ne=this.p.v[1],se=this.s.v[0]/2,re=this.s.v[1]/2,ae=bmMin(se,re,this.r.v),le=ae*(1-roundCorner);this.v._length=0,this.d===2||this.d===1?(this.v.setTripleAt(ie+se,ne-re+ae,ie+se,ne-re+ae,ie+se,ne-re+le,0,!0),this.v.setTripleAt(ie+se,ne+re-ae,ie+se,ne+re-le,ie+se,ne+re-ae,1,!0),ae!==0?(this.v.setTripleAt(ie+se-ae,ne+re,ie+se-ae,ne+re,ie+se-le,ne+re,2,!0),this.v.setTripleAt(ie-se+ae,ne+re,ie-se+le,ne+re,ie-se+ae,ne+re,3,!0),this.v.setTripleAt(ie-se,ne+re-ae,ie-se,ne+re-ae,ie-se,ne+re-le,4,!0),this.v.setTripleAt(ie-se,ne-re+ae,ie-se,ne-re+le,ie-se,ne-re+ae,5,!0),this.v.setTripleAt(ie-se+ae,ne-re,ie-se+ae,ne-re,ie-se+le,ne-re,6,!0),this.v.setTripleAt(ie+se-ae,ne-re,ie+se-le,ne-re,ie+se-ae,ne-re,7,!0)):(this.v.setTripleAt(ie-se,ne+re,ie-se+le,ne+re,ie-se,ne+re,2),this.v.setTripleAt(ie-se,ne-re,ie-se,ne-re+le,ie-se,ne-re,3))):(this.v.setTripleAt(ie+se,ne-re+ae,ie+se,ne-re+le,ie+se,ne-re+ae,0,!0),ae!==0?(this.v.setTripleAt(ie+se-ae,ne-re,ie+se-ae,ne-re,ie+se-le,ne-re,1,!0),this.v.setTripleAt(ie-se+ae,ne-re,ie-se+le,ne-re,ie-se+ae,ne-re,2,!0),this.v.setTripleAt(ie-se,ne-re+ae,ie-se,ne-re+ae,ie-se,ne-re+le,3,!0),this.v.setTripleAt(ie-se,ne+re-ae,ie-se,ne+re-le,ie-se,ne+re-ae,4,!0),this.v.setTripleAt(ie-se+ae,ne+re,ie-se+ae,ne+re,ie-se+le,ne+re,5,!0),this.v.setTripleAt(ie+se-ae,ne+re,ie+se-le,ne+re,ie+se-ae,ne+re,6,!0),this.v.setTripleAt(ie+se,ne+re-ae,ie+se,ne+re-ae,ie+se,ne+re-le,7,!0)):(this.v.setTripleAt(ie-se,ne-re,ie-se+le,ne-re,ie-se,ne-re,1,!0),this.v.setTripleAt(ie-se,ne+re,ie-se,ne+re-le,ie-se,ne+re,2,!0),this.v.setTripleAt(ie+se,ne+re,ie+se-le,ne+re,ie+se,ne+re,3,!0)))},getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertRectToPath())},reset:F},extendPrototype([DynamicPropertyContainer],J),J}(),K={getShapeProp:function(J,ie,ne){var se;return ne===3||ne===4?se=(ne===3?ie.pt:ie.ks).k.length?new q(J,ie,ne):new U(J,ie,ne):ne===5?se=new Z(J,ie):ne===6?se=new Y(J,ie):ne===7&&(se=new Q(J,ie)),se.k&&J.addDynamicProperty(se),se},getConstructorFunction:function(){return U},getKeyframedConstructorFunction:function(){return q}};return K}(),Matrix=function(){var B=Math.cos,R=Math.sin,F=Math.tan,D=Math.round;function G(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function U(we){if(we===0)return this;var Ae=B(we),Me=R(we);return this._t(Ae,-Me,0,0,Me,Ae,0,0,0,0,1,0,0,0,0,1)}function W(we){if(we===0)return this;var Ae=B(we),Me=R(we);return this._t(1,0,0,0,0,Ae,-Me,0,0,Me,Ae,0,0,0,0,1)}function q(we){if(we===0)return this;var Ae=B(we),Me=R(we);return this._t(Ae,0,Me,0,0,1,0,0,-Me,0,Ae,0,0,0,0,1)}function Y(we){if(we===0)return this;var Ae=B(we),Me=R(we);return this._t(Ae,-Me,0,0,Me,Ae,0,0,0,0,1,0,0,0,0,1)}function Q(we,Ae){return this._t(1,Ae,we,1,0,0)}function Z(we,Ae){return this.shear(F(we),F(Ae))}function K(we,Ae){var Me=B(Ae),ke=R(Ae);return this._t(Me,ke,0,0,-ke,Me,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,F(we),1,0,0,0,0,1,0,0,0,0,1)._t(Me,-ke,0,0,ke,Me,0,0,0,0,1,0,0,0,0,1)}function J(we,Ae,Me){return Me||Me===0||(Me=1),we===1&&Ae===1&&Me===1?this:this._t(we,0,0,0,0,Ae,0,0,0,0,Me,0,0,0,0,1)}function ie(we,Ae,Me,ke,Ne,Ie,Ge,ze,Ve,Ye,et,Je,st,pt,dt,yt){return this.props[0]=we,this.props[1]=Ae,this.props[2]=Me,this.props[3]=ke,this.props[4]=Ne,this.props[5]=Ie,this.props[6]=Ge,this.props[7]=ze,this.props[8]=Ve,this.props[9]=Ye,this.props[10]=et,this.props[11]=Je,this.props[12]=st,this.props[13]=pt,this.props[14]=dt,this.props[15]=yt,this}function ne(we,Ae,Me){return Me=Me||0,we!==0||Ae!==0||Me!==0?this._t(1,0,0,0,0,1,0,0,0,0,1,0,we,Ae,Me,1):this}function se(we,Ae,Me,ke,Ne,Ie,Ge,ze,Ve,Ye,et,Je,st,pt,dt,yt){var Fe=this.props;if(we===1&&Ae===0&&Me===0&&ke===0&&Ne===0&&Ie===1&&Ge===0&&ze===0&&Ve===0&&Ye===0&&et===1&&Je===0)return Fe[12]=Fe[12]*we+Fe[15]*st,Fe[13]=Fe[13]*Ie+Fe[15]*pt,Fe[14]=Fe[14]*et+Fe[15]*dt,Fe[15]*=yt,this._identityCalculated=!1,this;var _e=Fe[0],je=Fe[1],Ze=Fe[2],De=Fe[3],Oe=Fe[4],Xe=Fe[5],tt=Fe[6],nt=Fe[7],Ke=Fe[8],ct=Fe[9],ut=Fe[10],ht=Fe[11],vt=Fe[12],xt=Fe[13],gt=Fe[14],Pt=Fe[15];return Fe[0]=_e*we+je*Ne+Ze*Ve+De*st,Fe[1]=_e*Ae+je*Ie+Ze*Ye+De*pt,Fe[2]=_e*Me+je*Ge+Ze*et+De*dt,Fe[3]=_e*ke+je*ze+Ze*Je+De*yt,Fe[4]=Oe*we+Xe*Ne+tt*Ve+nt*st,Fe[5]=Oe*Ae+Xe*Ie+tt*Ye+nt*pt,Fe[6]=Oe*Me+Xe*Ge+tt*et+nt*dt,Fe[7]=Oe*ke+Xe*ze+tt*Je+nt*yt,Fe[8]=Ke*we+ct*Ne+ut*Ve+ht*st,Fe[9]=Ke*Ae+ct*Ie+ut*Ye+ht*pt,Fe[10]=Ke*Me+ct*Ge+ut*et+ht*dt,Fe[11]=Ke*ke+ct*ze+ut*Je+ht*yt,Fe[12]=vt*we+xt*Ne+gt*Ve+Pt*st,Fe[13]=vt*Ae+xt*Ie+gt*Ye+Pt*pt,Fe[14]=vt*Me+xt*Ge+gt*et+Pt*dt,Fe[15]=vt*ke+xt*ze+gt*Je+Pt*yt,this._identityCalculated=!1,this}function re(){return this._identityCalculated||(this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1),this._identityCalculated=!0),this._identity}function ae(we){for(var Ae=0;Ae<16;){if(we.props[Ae]!==this.props[Ae])return!1;Ae+=1}return!0}function le(we){var Ae;for(Ae=0;Ae<16;Ae+=1)we.props[Ae]=this.props[Ae];return we}function ce(we){var Ae;for(Ae=0;Ae<16;Ae+=1)this.props[Ae]=we[Ae]}function he(we,Ae,Me){return{x:we*this.props[0]+Ae*this.props[4]+Me*this.props[8]+this.props[12],y:we*this.props[1]+Ae*this.props[5]+Me*this.props[9]+this.props[13],z:we*this.props[2]+Ae*this.props[6]+Me*this.props[10]+this.props[14]}}function de(we,Ae,Me){return we*this.props[0]+Ae*this.props[4]+Me*this.props[8]+this.props[12]}function me(we,Ae,Me){return we*this.props[1]+Ae*this.props[5]+Me*this.props[9]+this.props[13]}function fe(we,Ae,Me){return we*this.props[2]+Ae*this.props[6]+Me*this.props[10]+this.props[14]}function ge(){var we=this.props[0]*this.props[5]-this.props[1]*this.props[4],Ae=this.props[5]/we,Me=-this.props[1]/we,ke=-this.props[4]/we,Ne=this.props[0]/we,Ie=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/we,Ge=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/we,ze=new Matrix;return ze.props[0]=Ae,ze.props[1]=Me,ze.props[4]=ke,ze.props[5]=Ne,ze.props[12]=Ie,ze.props[13]=Ge,ze}function Se(we){return this.getInverseMatrix().applyToPointArray(we[0],we[1],we[2]||0)}function Ee(we){var Ae,Me=we.length,ke=[];for(Ae=0;Ae<Me;Ae+=1)ke[Ae]=Se(we[Ae]);return ke}function ve(we,Ae,Me){var ke=createTypedArray("float32",6);if(this.isIdentity())ke[0]=we[0],ke[1]=we[1],ke[2]=Ae[0],ke[3]=Ae[1],ke[4]=Me[0],ke[5]=Me[1];else{var Ne=this.props[0],Ie=this.props[1],Ge=this.props[4],ze=this.props[5],Ve=this.props[12],Ye=this.props[13];ke[0]=we[0]*Ne+we[1]*Ge+Ve,ke[1]=we[0]*Ie+we[1]*ze+Ye,ke[2]=Ae[0]*Ne+Ae[1]*Ge+Ve,ke[3]=Ae[0]*Ie+Ae[1]*ze+Ye,ke[4]=Me[0]*Ne+Me[1]*Ge+Ve,ke[5]=Me[0]*Ie+Me[1]*ze+Ye}return ke}function xe(we,Ae,Me){return this.isIdentity()?[we,Ae,Me]:[we*this.props[0]+Ae*this.props[4]+Me*this.props[8]+this.props[12],we*this.props[1]+Ae*this.props[5]+Me*this.props[9]+this.props[13],we*this.props[2]+Ae*this.props[6]+Me*this.props[10]+this.props[14]]}function Pe(we,Ae){if(this.isIdentity())return we+","+Ae;var Me=this.props;return Math.round(100*(we*Me[0]+Ae*Me[4]+Me[12]))/100+","+Math.round(100*(we*Me[1]+Ae*Me[5]+Me[13]))/100}function ye(){for(var we=0,Ae=this.props,Me="matrix3d(";we<16;)Me+=D(1e4*Ae[we])/1e4,Me+=we===15?")":",",we+=1;return Me}function Te(we){return we<1e-6&&we>0||we>-1e-6&&we<0?D(1e4*we)/1e4:we}function Le(){var we=this.props;return"matrix("+Te(we[0])+","+Te(we[1])+","+Te(we[4])+","+Te(we[5])+","+Te(we[12])+","+Te(we[13])+")"}return function(){this.reset=G,this.rotate=U,this.rotateX=W,this.rotateY=q,this.rotateZ=Y,this.skew=Z,this.skewFromAxis=K,this.shear=Q,this.scale=J,this.setTransform=ie,this.translate=ne,this.transform=se,this.applyToPoint=he,this.applyToX=de,this.applyToY=me,this.applyToZ=fe,this.applyToPointArray=xe,this.applyToTriplePoints=ve,this.applyToPointStringified=Pe,this.toCSS=ye,this.to2dCSS=Le,this.clone=le,this.cloneFromProps=ce,this.equals=ae,this.inversePoints=Ee,this.inversePoint=Se,this.getInverseMatrix=ge,this._t=this.transform,this.isIdentity=re,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(B){return(_typeof$3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(B)}var lottie={},standalone="__[STANDALONE]__",queryString;function setLocation(B){setLocationHref(B)}function searchAnimations(){animationManager.searchAnimations()}function setSubframeRendering(B){setSubframeEnabled(B)}function setPrefix(B){setIdPrefix(B)}function loadAnimation(B){return animationManager.loadAnimation(B)}function setQuality(B){if(typeof B=="string")switch(B){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(B)&&B>1&&setDefaultCurveSegments(B)}function inBrowser(){return typeof navigator!="undefined"}function installPlugin(B,R){B==="expressions"&&setExpressionsPlugin(R)}function getFactory(B){switch(B){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(B){for(var R=queryString.split("&"),F=0;F<R.length;F+=1){var D=R[F].split("=");if(decodeURIComponent(D[0])==B)return decodeURIComponent(D[1])}return null}if(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.9.1",standalone){var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src.replace(/^[^\?]+\??/,""),getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100);try{_typeof$3(exports)!=="object"&&(window.bodymovin=lottie)}catch(B){}var ShapeModifiers=function(){var B={},R={};return B.registerModifier=function(F,D){R[F]||(R[F]=D)},B.getModifier=function(F,D,G){return new R[F](D,G)},B}();function ShapeModifier(){}function TrimModifier(){}function PuckerAndBloatModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(B){if(!this.closed){B.sh.container.addDynamicProperty(B.sh);var R={shape:B.sh,data:B,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(R),this.addShapeToModifier(R),this._isAnimated&&B.setAsAnimated()}},ShapeModifier.prototype.init=function(B,R){this.shapes=[],this.elem=B,this.initDynamicPropertyContainer(B),this.initModifierProperties(B,R),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties())},extendPrototype([DynamicPropertyContainer],ShapeModifier),extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(B,R){this.s=PropertyFactory.getProp(B,R.s,0,.01,this),this.e=PropertyFactory.getProp(B,R.e,0,.01,this),this.o=PropertyFactory.getProp(B,R.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=R.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(B){B.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(B,R,F,D,G){var U=[];R<=1?U.push({s:B,e:R}):B>=1?U.push({s:B-1,e:R-1}):(U.push({s:B,e:1}),U.push({s:0,e:R-1}));var W,q,Y=[],Q=U.length;for(W=0;W<Q;W+=1){var Z,K;(q=U[W]).e*G<D||q.s*G>D+F||(Z=q.s*G<=D?0:(q.s*G-D)/F,K=q.e*G>=D+F?1:(q.e*G-D)/F,Y.push([Z,K]))}return Y.length||Y.push([0,0]),Y},TrimModifier.prototype.releasePathsData=function(B){var R,F=B.length;for(R=0;R<F;R+=1)segmentsLengthPool.release(B[R]);return B.length=0,B},TrimModifier.prototype.processShapes=function(B){var R,F,D,G;if(this._mdf||B){var U=this.o.v%360/360;if(U<0&&(U+=1),(R=this.s.v>1?1+U:this.s.v<0?0+U:this.s.v+U)>(F=this.e.v>1?1+U:this.e.v<0?0+U:this.e.v+U)){var W=R;R=F,F=W}R=1e-4*Math.round(1e4*R),F=1e-4*Math.round(1e4*F),this.sValue=R,this.eValue=F}else R=this.sValue,F=this.eValue;var q,Y,Q,Z,K,J=this.shapes.length,ie=0;if(F===R)for(G=0;G<J;G+=1)this.shapes[G].localShapeCollection.releaseShapes(),this.shapes[G].shape._mdf=!0,this.shapes[G].shape.paths=this.shapes[G].localShapeCollection,this._mdf&&(this.shapes[G].pathsData.length=0);else if(F===1&&R===0||F===0&&R===1){if(this._mdf)for(G=0;G<J;G+=1)this.shapes[G].pathsData.length=0,this.shapes[G].shape._mdf=!0}else{var ne,se,re=[];for(G=0;G<J;G+=1)if((ne=this.shapes[G]).shape._mdf||this._mdf||B||this.m===2){if(Y=(D=ne.shape.paths)._length,K=0,!ne.shape._mdf&&ne.pathsData.length)K=ne.totalShapeLength;else{for(Q=this.releasePathsData(ne.pathsData),q=0;q<Y;q+=1)Z=bez.getSegmentsLength(D.shapes[q]),Q.push(Z),K+=Z.totalLength;ne.totalShapeLength=K,ne.pathsData=Q}ie+=K,ne.shape._mdf=!0}else ne.shape.paths=ne.localShapeCollection;var ae,le=R,ce=F,he=0;for(G=J-1;G>=0;G-=1)if((ne=this.shapes[G]).shape._mdf){for((se=ne.localShapeCollection).releaseShapes(),this.m===2&&J>1?(ae=this.calculateShapeEdges(R,F,ne.totalShapeLength,he,ie),he+=ne.totalShapeLength):ae=[[le,ce]],Y=ae.length,q=0;q<Y;q+=1){le=ae[q][0],ce=ae[q][1],re.length=0,ce<=1?re.push({s:ne.totalShapeLength*le,e:ne.totalShapeLength*ce}):le>=1?re.push({s:ne.totalShapeLength*(le-1),e:ne.totalShapeLength*(ce-1)}):(re.push({s:ne.totalShapeLength*le,e:ne.totalShapeLength}),re.push({s:0,e:ne.totalShapeLength*(ce-1)}));var de=this.addShapes(ne,re[0]);if(re[0].s!==re[0].e){if(re.length>1)if(ne.shape.paths.shapes[ne.shape.paths._length-1].c){var me=de.pop();this.addPaths(de,se),de=this.addShapes(ne,re[1],me)}else this.addPaths(de,se),de=this.addShapes(ne,re[1]);this.addPaths(de,se)}}ne.shape.paths=se}}},TrimModifier.prototype.addPaths=function(B,R){var F,D=B.length;for(F=0;F<D;F+=1)R.addShape(B[F])},TrimModifier.prototype.addSegment=function(B,R,F,D,G,U,W){G.setXYAt(R[0],R[1],"o",U),G.setXYAt(F[0],F[1],"i",U+1),W&&G.setXYAt(B[0],B[1],"v",U),G.setXYAt(D[0],D[1],"v",U+1)},TrimModifier.prototype.addSegmentFromArray=function(B,R,F,D){R.setXYAt(B[1],B[5],"o",F),R.setXYAt(B[2],B[6],"i",F+1),D&&R.setXYAt(B[0],B[4],"v",F),R.setXYAt(B[3],B[7],"v",F+1)},TrimModifier.prototype.addShapes=function(B,R,F){var D,G,U,W,q,Y,Q,Z,K=B.pathsData,J=B.shape.paths.shapes,ie=B.shape.paths._length,ne=0,se=[],re=!0;for(F?(q=F._length,Z=F._length):(F=shapePool.newElement(),q=0,Z=0),se.push(F),D=0;D<ie;D+=1){for(Y=K[D].lengths,F.c=J[D].c,U=J[D].c?Y.length:Y.length+1,G=1;G<U;G+=1)if(ne+(W=Y[G-1]).addedLength<R.s)ne+=W.addedLength,F.c=!1;else{if(ne>R.e){F.c=!1;break}R.s<=ne&&R.e>=ne+W.addedLength?(this.addSegment(J[D].v[G-1],J[D].o[G-1],J[D].i[G],J[D].v[G],F,q,re),re=!1):(Q=bez.getNewSegment(J[D].v[G-1],J[D].v[G],J[D].o[G-1],J[D].i[G],(R.s-ne)/W.addedLength,(R.e-ne)/W.addedLength,Y[G-1]),this.addSegmentFromArray(Q,F,q,re),re=!1,F.c=!1),ne+=W.addedLength,q+=1}if(J[D].c&&Y.length){if(W=Y[G-1],ne<=R.e){var ae=Y[G-1].addedLength;R.s<=ne&&R.e>=ne+ae?(this.addSegment(J[D].v[G-1],J[D].o[G-1],J[D].i[0],J[D].v[0],F,q,re),re=!1):(Q=bez.getNewSegment(J[D].v[G-1],J[D].v[0],J[D].o[G-1],J[D].i[0],(R.s-ne)/ae,(R.e-ne)/ae,Y[G-1]),this.addSegmentFromArray(Q,F,q,re),re=!1,F.c=!1)}else F.c=!1;ne+=W.addedLength,q+=1}if(F._length&&(F.setXYAt(F.v[Z][0],F.v[Z][1],"i",Z),F.setXYAt(F.v[F._length-1][0],F.v[F._length-1][1],"o",F._length-1)),ne>R.e)break;D<ie-1&&(F=shapePool.newElement(),re=!0,se.push(F),q=0)}return se},extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(B,R){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(B,R.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(B,R){var F=R/100,D=[0,0],G=B._length,U=0;for(U=0;U<G;U+=1)D[0]+=B.v[U][0],D[1]+=B.v[U][1];D[0]/=G,D[1]/=G;var W,q,Y,Q,Z,K,J=shapePool.newElement();for(J.c=B.c,U=0;U<G;U+=1)W=B.v[U][0]+(D[0]-B.v[U][0])*F,q=B.v[U][1]+(D[1]-B.v[U][1])*F,Y=B.o[U][0]+(D[0]-B.o[U][0])*-F,Q=B.o[U][1]+(D[1]-B.o[U][1])*-F,Z=B.i[U][0]+(D[0]-B.i[U][0])*-F,K=B.i[U][1]+(D[1]-B.i[U][1])*-F,J.setTripleAt(W,q,Y,Q,Z,K,U);return J},PuckerAndBloatModifier.prototype.processShapes=function(B){var R,F,D,G,U,W,q=this.shapes.length,Y=this.amount.v;if(Y!==0)for(F=0;F<q;F+=1){if(W=(U=this.shapes[F]).localShapeCollection,U.shape._mdf||this._mdf||B)for(W.releaseShapes(),U.shape._mdf=!0,R=U.shape.paths.shapes,G=U.shape.paths._length,D=0;D<G;D+=1)W.addShape(this.processPath(R[D],Y));U.shape.paths=U.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)};var TransformPropertyFactory=function(){var B=[0,0];function R(F,D,G){if(this.elem=F,this.frameId=-1,this.propType="transform",this.data=D,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(G||F),D.p&&D.p.s?(this.px=PropertyFactory.getProp(F,D.p.x,0,0,this),this.py=PropertyFactory.getProp(F,D.p.y,0,0,this),D.p.z&&(this.pz=PropertyFactory.getProp(F,D.p.z,0,0,this))):this.p=PropertyFactory.getProp(F,D.p||{k:[0,0,0]},1,0,this),D.rx){if(this.rx=PropertyFactory.getProp(F,D.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(F,D.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(F,D.rz,0,degToRads,this),D.or.k[0].ti){var U,W=D.or.k.length;for(U=0;U<W;U+=1)D.or.k[U].to=null,D.or.k[U].ti=null}this.or=PropertyFactory.getProp(F,D.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(F,D.r||{k:0},0,degToRads,this);D.sk&&(this.sk=PropertyFactory.getProp(F,D.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(F,D.sa,0,degToRads,this)),this.a=PropertyFactory.getProp(F,D.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(F,D.s||{k:[100,100,100]},1,.01,this),D.o?this.o=PropertyFactory.getProp(F,D.o,0,.01,F):this.o={_mdf:!1,v:1},this._isDirty=!0,this.dynamicProperties.length||this.getValue(!0)}return R.prototype={applyToMatrix:function(F){var D=this._mdf;this.iterateDynamicProperties(),this._mdf=this._mdf||D,this.a&&F.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.s&&F.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&F.skewFromAxis(-this.sk.v,this.sa.v),this.r?F.rotate(-this.r.v):F.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.data.p.s?this.data.p.z?F.translate(this.px.v,this.py.v,-this.pz.v):F.translate(this.px.v,this.py.v,0):F.translate(this.p.v[0],this.p.v[1],-this.p.v[2])},getValue:function(F){if(this.elem.globalData.frameId!==this.frameId){if(this._isDirty&&(this.precalculateMatrix(),this._isDirty=!1),this.iterateDynamicProperties(),this._mdf||F){var D;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1&&this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations<2&&this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&this.appliedTransformations<3&&this.v.skewFromAxis(-this.sk.v,this.sa.v),this.r&&this.appliedTransformations<4?this.v.rotate(-this.r.v):!this.r&&this.appliedTransformations<4&&this.v.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.autoOriented){var G,U;if(D=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t?(G=this.p.getValueAtTime((this.p.keyframes[0].t+.01)/D,0),U=this.p.getValueAtTime(this.p.keyframes[0].t/D,0)):this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t?(G=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/D,0),U=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/D,0)):(G=this.p.pv,U=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=[],U=[];var W=this.px,q=this.py;W._caching.lastFrame+W.offsetTime<=W.keyframes[0].t?(G[0]=W.getValueAtTime((W.keyframes[0].t+.01)/D,0),G[1]=q.getValueAtTime((q.keyframes[0].t+.01)/D,0),U[0]=W.getValueAtTime(W.keyframes[0].t/D,0),U[1]=q.getValueAtTime(q.keyframes[0].t/D,0)):W._caching.lastFrame+W.offsetTime>=W.keyframes[W.keyframes.length-1].t?(G[0]=W.getValueAtTime(W.keyframes[W.keyframes.length-1].t/D,0),G[1]=q.getValueAtTime(q.keyframes[q.keyframes.length-1].t/D,0),U[0]=W.getValueAtTime((W.keyframes[W.keyframes.length-1].t-.01)/D,0),U[1]=q.getValueAtTime((q.keyframes[q.keyframes.length-1].t-.01)/D,0)):(G=[W.pv,q.pv],U[0]=W.getValueAtTime((W._caching.lastFrame+W.offsetTime-.01)/D,W.offsetTime),U[1]=q.getValueAtTime((q._caching.lastFrame+q.offsetTime-.01)/D,q.offsetTime))}else G=U=B;this.v.rotate(-Math.atan2(G[1]-U[1],G[0]-U[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}},precalculateMatrix:function(){if(!this.a.k&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}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)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],R),R.prototype.addDynamicProperty=function(F){this._addDynamicProperty(F),this.elem.addDynamicProperty(F),this._isDirty=!0},R.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(F,D,G){return new R(F,D,G)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function getFontProperties(B){for(var R=B.fStyle?B.fStyle.split(" "):[],F="normal",D="normal",G=R.length,U=0;U<G;U+=1)switch(R[U].toLowerCase()){case"italic":D="italic";break;case"bold":F="700";break;case"black":F="900";break;case"medium":F="500";break;case"regular":case"normal":F="400";break;case"light":case"thin":F="200"}return{style:D,weight:B.fWeight||F}}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(B,R){this.getValue=this.processKeys,this.c=PropertyFactory.getProp(B,R.c,0,null,this),this.o=PropertyFactory.getProp(B,R.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(B,R.tr,this),this.so=PropertyFactory.getProp(B,R.tr.so,0,.01,this),this.eo=PropertyFactory.getProp(B,R.tr.eo,0,.01,this),this.data=R,this.dynamicProperties.length||this.getValue(!0),this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(B,R,F,D,G,U){var W=U?-1:1,q=D.s.v[0]+(1-D.s.v[0])*(1-G),Y=D.s.v[1]+(1-D.s.v[1])*(1-G);B.translate(D.p.v[0]*W*G,D.p.v[1]*W*G,D.p.v[2]),R.translate(-D.a.v[0],-D.a.v[1],D.a.v[2]),R.rotate(-D.r.v*W*G),R.translate(D.a.v[0],D.a.v[1],D.a.v[2]),F.translate(-D.a.v[0],-D.a.v[1],D.a.v[2]),F.scale(U?1/q:q,U?1/Y:Y),F.translate(D.a.v[0],D.a.v[1],D.a.v[2])},RepeaterModifier.prototype.init=function(B,R,F,D){for(this.elem=B,this.arr=R,this.pos=F,this.elemsData=D,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(B),this.initModifierProperties(B,R[F]);F>0;)F-=1,this._elements.unshift(R[F]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(B){var R,F=B.length;for(R=0;R<F;R+=1)B[R]._processed=!1,B[R].ty==="gr"&&this.resetElements(B[R].it)},RepeaterModifier.prototype.cloneElements=function(B){var R=JSON.parse(JSON.stringify(B));return this.resetElements(R),R},RepeaterModifier.prototype.changeGroupRender=function(B,R){var F,D=B.length;for(F=0;F<D;F+=1)B[F]._render=R,B[F].ty==="gr"&&this.changeGroupRender(B[F].it,R)},RepeaterModifier.prototype.processShapes=function(B){var R,F,D,G,U,W=!1;if(this._mdf||B){var q,Y=Math.ceil(this.c.v);if(this._groups.length<Y){for(;this._groups.length<Y;){var Q={it:this.cloneElements(this._elements),ty:"gr"};Q.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,Q),this._groups.splice(0,0,Q),this._currentCopies+=1}this.elem.reloadShapes(),W=!0}for(U=0,D=0;D<=this._groups.length-1;D+=1){if(q=U<Y,this._groups[D]._render=q,this.changeGroupRender(this._groups[D].it,q),!q){var Z=this.elemsData[D].it,K=Z[Z.length-1];K.transform.op.v!==0?(K.transform.op._mdf=!0,K.transform.op.v=0):K.transform.op._mdf=!1}U+=1}this._currentCopies=Y;var J=this.o.v,ie=J%1,ne=J>0?Math.floor(J):Math.ceil(J),se=this.pMatrix.props,re=this.rMatrix.props,ae=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var le,ce,he=0;if(J>0){for(;he<ne;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),he+=1;ie&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,ie,!1),he+=ie)}else if(J<0){for(;he>ne;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),he-=1;ie&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-ie,!0),he-=ie)}for(D=this.data.m===1?0:this._currentCopies-1,G=this.data.m===1?1:-1,U=this._currentCopies;U;){if(ce=(F=(R=this.elemsData[D].it)[R.length-1].transform.mProps.v.props).length,R[R.length-1].transform.mProps._mdf=!0,R[R.length-1].transform.op._mdf=!0,R[R.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(D/(this._currentCopies-1)),he!==0){for((D!==0&&G===1||D!==this._currentCopies-1&&G===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(re[0],re[1],re[2],re[3],re[4],re[5],re[6],re[7],re[8],re[9],re[10],re[11],re[12],re[13],re[14],re[15]),this.matrix.transform(ae[0],ae[1],ae[2],ae[3],ae[4],ae[5],ae[6],ae[7],ae[8],ae[9],ae[10],ae[11],ae[12],ae[13],ae[14],ae[15]),this.matrix.transform(se[0],se[1],se[2],se[3],se[4],se[5],se[6],se[7],se[8],se[9],se[10],se[11],se[12],se[13],se[14],se[15]),le=0;le<ce;le+=1)F[le]=this.matrix.props[le];this.matrix.reset()}else for(this.matrix.reset(),le=0;le<ce;le+=1)F[le]=this.matrix.props[le];he+=1,U-=1,D+=G}}else for(U=this._currentCopies,D=0,G=1;U;)F=(R=this.elemsData[D].it)[R.length-1].transform.mProps.v.props,R[R.length-1].transform.mProps._mdf=!1,R[R.length-1].transform.op._mdf=!1,U-=1,D+=G;return W},RepeaterModifier.prototype.addShape=function(){},extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(B,R){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(B,R.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(B,R){var F,D=shapePool.newElement();D.c=B.c;var G,U,W,q,Y,Q,Z,K,J,ie,ne,se,re=B._length,ae=0;for(F=0;F<re;F+=1)G=B.v[F],W=B.o[F],U=B.i[F],G[0]===W[0]&&G[1]===W[1]&&G[0]===U[0]&&G[1]===U[1]?F!==0&&F!==re-1||B.c?(q=F===0?B.v[re-1]:B.v[F-1],Q=(Y=Math.sqrt(Math.pow(G[0]-q[0],2)+Math.pow(G[1]-q[1],2)))?Math.min(Y/2,R)/Y:0,Z=ne=G[0]+(q[0]-G[0])*Q,K=se=G[1]-(G[1]-q[1])*Q,J=Z-(Z-G[0])*roundCorner,ie=K-(K-G[1])*roundCorner,D.setTripleAt(Z,K,J,ie,ne,se,ae),ae+=1,q=F===re-1?B.v[0]:B.v[F+1],Q=(Y=Math.sqrt(Math.pow(G[0]-q[0],2)+Math.pow(G[1]-q[1],2)))?Math.min(Y/2,R)/Y:0,Z=J=G[0]+(q[0]-G[0])*Q,K=ie=G[1]+(q[1]-G[1])*Q,ne=Z-(Z-G[0])*roundCorner,se=K-(K-G[1])*roundCorner,D.setTripleAt(Z,K,J,ie,ne,se,ae),ae+=1):(D.setTripleAt(G[0],G[1],W[0],W[1],U[0],U[1],ae),ae+=1):(D.setTripleAt(B.v[F][0],B.v[F][1],B.o[F][0],B.o[F][1],B.i[F][0],B.i[F][1],ae),ae+=1);return D},RoundCornersModifier.prototype.processShapes=function(B){var R,F,D,G,U,W,q=this.shapes.length,Y=this.rd.v;if(Y!==0)for(F=0;F<q;F+=1){if(W=(U=this.shapes[F]).localShapeCollection,U.shape._mdf||this._mdf||B)for(W.releaseShapes(),U.shape._mdf=!0,R=U.shape.paths.shapes,G=U.shape.paths._length,D=0;D<G;D+=1)W.addShape(this.processPath(R[D],Y));U.shape.paths=U.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)};var FontManager=function(){var B={w:0,size:0,shapes:[],data:{shapes:[]}},R=[];R=R.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var F=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"],D=[65039,8205];function G(q,Y){var Q=createTag("span");Q.setAttribute("aria-hidden",!0),Q.style.fontFamily=Y;var Z=createTag("span");Z.innerText="giItT1WQy@!-/#",Q.style.position="absolute",Q.style.left="-10000px",Q.style.top="-10000px",Q.style.fontSize="300px",Q.style.fontVariant="normal",Q.style.fontStyle="normal",Q.style.fontWeight="normal",Q.style.letterSpacing="0",Q.appendChild(Z),document.body.appendChild(Q);var K=Z.offsetWidth;return Z.style.fontFamily=function(J){var ie,ne=J.split(","),se=ne.length,re=[];for(ie=0;ie<se;ie+=1)ne[ie]!=="sans-serif"&&ne[ie]!=="monospace"&&re.push(ne[ie]);return re.join(",")}(q)+", "+Y,{node:Z,w:K,parent:Q}}function U(q,Y){var Q=createNS("text");Q.style.fontSize="100px";var Z=getFontProperties(Y);return Q.setAttribute("font-family",Y.fFamily),Q.setAttribute("font-style",Z.style),Q.setAttribute("font-weight",Z.weight),Q.textContent="1",Y.fClass?(Q.style.fontFamily="inherit",Q.setAttribute("class",Y.fClass)):Q.style.fontFamily=Y.fFamily,q.appendChild(Q),createTag("canvas").getContext("2d").font=Y.fWeight+" "+Y.fStyle+" 100px "+Y.fFamily,Q}var W=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)};return W.isModifier=function(q,Y){var Q=q.toString(16)+Y.toString(16);return F.indexOf(Q)!==-1},W.isZeroWidthJoiner=function(q,Y){return Y?q===D[0]&&Y===D[1]:q===D[1]},W.isCombinedCharacter=function(q){return R.indexOf(q)!==-1},W.prototype={addChars:function(q){if(q){var Y;this.chars||(this.chars=[]);var Q,Z,K=q.length,J=this.chars.length;for(Y=0;Y<K;Y+=1){for(Q=0,Z=!1;Q<J;)this.chars[Q].style===q[Y].style&&this.chars[Q].fFamily===q[Y].fFamily&&this.chars[Q].ch===q[Y].ch&&(Z=!0),Q+=1;Z||(this.chars.push(q[Y]),J+=1)}}},addFonts:function(q,Y){if(q){if(this.chars)return this.isLoaded=!0,void(this.fonts=q.list);var Q,Z=q.list,K=Z.length,J=K;for(Q=0;Q<K;Q+=1){var ie,ne,se=!0;if(Z[Q].loaded=!1,Z[Q].monoCase=G(Z[Q].fFamily,"monospace"),Z[Q].sansCase=G(Z[Q].fFamily,"sans-serif"),Z[Q].fPath){if(Z[Q].fOrigin==="p"||Z[Q].origin===3){if((ie=document.querySelectorAll('style[f-forigin="p"][f-family="'+Z[Q].fFamily+'"], style[f-origin="3"][f-family="'+Z[Q].fFamily+'"]')).length>0&&(se=!1),se){var re=createTag("style");re.setAttribute("f-forigin",Z[Q].fOrigin),re.setAttribute("f-origin",Z[Q].origin),re.setAttribute("f-family",Z[Q].fFamily),re.type="text/css",re.innerText="@font-face {font-family: "+Z[Q].fFamily+"; font-style: normal; src: url('"+Z[Q].fPath+"');}",Y.appendChild(re)}}else if(Z[Q].fOrigin==="g"||Z[Q].origin===1){for(ie=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),ne=0;ne<ie.length;ne+=1)ie[ne].href.indexOf(Z[Q].fPath)!==-1&&(se=!1);if(se){var ae=createTag("link");ae.setAttribute("f-forigin",Z[Q].fOrigin),ae.setAttribute("f-origin",Z[Q].origin),ae.type="text/css",ae.rel="stylesheet",ae.href=Z[Q].fPath,document.body.appendChild(ae)}}else if(Z[Q].fOrigin==="t"||Z[Q].origin===2){for(ie=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'),ne=0;ne<ie.length;ne+=1)Z[Q].fPath===ie[ne].src&&(se=!1);if(se){var le=createTag("link");le.setAttribute("f-forigin",Z[Q].fOrigin),le.setAttribute("f-origin",Z[Q].origin),le.setAttribute("rel","stylesheet"),le.setAttribute("href",Z[Q].fPath),Y.appendChild(le)}}}else Z[Q].loaded=!0,J-=1;Z[Q].helper=U(Y,Z[Q]),Z[Q].cache={},this.fonts.push(Z[Q])}J===0?this.isLoaded=!0:setTimeout(this.checkLoadedFonts.bind(this),100)}else this.isLoaded=!0},getCharData:function(q,Y,Q){for(var Z=0,K=this.chars.length;Z<K;){if(this.chars[Z].ch===q&&this.chars[Z].style===Y&&this.chars[Z].fFamily===Q)return this.chars[Z];Z+=1}return(typeof q=="string"&&q.charCodeAt(0)!==13||!q)&&console&&console.warn&&!this._warned&&(this._warned=!0,console.warn("Missing character from exported characters list: ",q,Y,Q)),B},getFontByName:function(q){for(var Y=0,Q=this.fonts.length;Y<Q;){if(this.fonts[Y].fName===q)return this.fonts[Y];Y+=1}return this.fonts[0]},measureText:function(q,Y,Q){var Z=this.getFontByName(Y),K=q.charCodeAt(0);if(!Z.cache[K+1]){var J=Z.helper;if(q===" "){J.textContent="|"+q+"|";var ie=J.getComputedTextLength();J.textContent="||";var ne=J.getComputedTextLength();Z.cache[K+1]=(ie-ne)/100}else J.textContent=q,Z.cache[K+1]=J.getComputedTextLength()/100}return Z.cache[K+1]*Q},checkLoadedFonts:function(){var q,Y,Q,Z=this.fonts.length,K=Z;for(q=0;q<Z;q+=1)this.fonts[q].loaded?K-=1:this.fonts[q].fOrigin==="n"||this.fonts[q].origin===0?this.fonts[q].loaded=!0:(Y=this.fonts[q].monoCase.node,Q=this.fonts[q].monoCase.w,Y.offsetWidth!==Q?(K-=1,this.fonts[q].loaded=!0):(Y=this.fonts[q].sansCase.node,Q=this.fonts[q].sansCase.w,Y.offsetWidth!==Q&&(K-=1,this.fonts[q].loaded=!0)),this.fonts[q].loaded&&(this.fonts[q].sansCase.parent.parentNode.removeChild(this.fonts[q].sansCase.parent),this.fonts[q].monoCase.parent.parentNode.removeChild(this.fonts[q].monoCase.parent)));K!==0&&Date.now()-this.initTime<5e3?setTimeout(this.checkLoadedFontsBinded,20):setTimeout(this.setIsLoadedBinded,10)},setIsLoaded:function(){this.isLoaded=!0}},W}();function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(B){this.renderableComponents.indexOf(B)===-1&&this.renderableComponents.push(B)},removeRenderableComponent:function(B){this.renderableComponents.indexOf(B)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(B),1)},prepareRenderableFrame:function(B){this.checkLayerLimits(B)},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(B){this.data.ip-this.data.st<=B&&this.data.op-this.data.st>B?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 B,R=this.renderableComponents.length;for(B=0;B<R;B+=1)this.renderableComponents[B].renderFrame(this._isFirstFrame)},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){return this.data.ty===5?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}}};var MaskManagerInterface=function(){function B(R,F){this._mask=R,this._data=F}return Object.defineProperty(B.prototype,"maskPath",{get:function(){return this._mask.prop.k&&this._mask.prop.getValue(),this._mask.prop}}),Object.defineProperty(B.prototype,"maskOpacity",{get:function(){return this._mask.op.k&&this._mask.op.getValue(),100*this._mask.op.v}}),function(R){var F,D=createSizedArray(R.viewData.length),G=R.viewData.length;for(F=0;F<G;F+=1)D[F]=new B(R.viewData[F],R.masksProperties[F]);return function(U){for(F=0;F<G;){if(R.masksProperties[F].nm===U)return D[F];F+=1}return null}}}(),ExpressionPropertyInterface=function(){var B={pv:0,v:0,mult:1},R={pv:[0,0,0],v:[0,0,0],mult:1};function F(G,U,W){Object.defineProperty(G,"velocity",{get:function(){return U.getVelocityAtTime(U.comp.currentFrame)}}),G.numKeys=U.keyframes?U.keyframes.length:0,G.key=function(q){if(!G.numKeys)return 0;var Y="";Y="s"in U.keyframes[q-1]?U.keyframes[q-1].s:"e"in U.keyframes[q-2]?U.keyframes[q-2].e:U.keyframes[q-2].s;var Q=W==="unidimensional"?new Number(Y):Object.assign({},Y);return Q.time=U.keyframes[q-1].t/U.elem.comp.globalData.frameRate,Q.value=W==="unidimensional"?Y[0]:Y,Q},G.valueAtTime=U.getValueAtTime,G.speedAtTime=U.getSpeedAtTime,G.velocityAtTime=U.getVelocityAtTime,G.propertyGroup=U.propertyGroup}function D(){return B}return function(G){return G?G.propType==="unidimensional"?function(U){U&&"pv"in U||(U=B);var W=1/U.mult,q=U.pv*W,Y=new Number(q);return Y.value=q,F(Y,U,"unidimensional"),function(){return U.k&&U.getValue(),q=U.v*W,Y.value!==q&&((Y=new Number(q)).value=q,F(Y,U,"unidimensional")),Y}}(G):function(U){U&&"pv"in U||(U=R);var W=1/U.mult,q=U.data&&U.data.l||U.pv.length,Y=createTypedArray("float32",q),Q=createTypedArray("float32",q);return Y.value=Q,F(Y,U,"multidimensional"),function(){U.k&&U.getValue();for(var Z=0;Z<q;Z+=1)Q[Z]=U.v[Z]*W,Y[Z]=Q[Z];return Y}}(G):D}}(),TransformExpressionInterface=function(B){function R(W){switch(W){case"scale":case"Scale":case"ADBE Scale":case 6:return R.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return R.rotation;case"ADBE Rotate X":return R.xRotation;case"ADBE Rotate Y":return R.yRotation;case"position":case"Position":case"ADBE Position":case 2:return R.position;case"ADBE Position_0":return R.xPosition;case"ADBE Position_1":return R.yPosition;case"ADBE Position_2":return R.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return R.anchorPoint;case"opacity":case"Opacity":case 11:return R.opacity;default:return null}}var F,D,G,U;return Object.defineProperty(R,"rotation",{get:ExpressionPropertyInterface(B.r||B.rz)}),Object.defineProperty(R,"zRotation",{get:ExpressionPropertyInterface(B.rz||B.r)}),Object.defineProperty(R,"xRotation",{get:ExpressionPropertyInterface(B.rx)}),Object.defineProperty(R,"yRotation",{get:ExpressionPropertyInterface(B.ry)}),Object.defineProperty(R,"scale",{get:ExpressionPropertyInterface(B.s)}),B.p?U=ExpressionPropertyInterface(B.p):(F=ExpressionPropertyInterface(B.px),D=ExpressionPropertyInterface(B.py),B.pz&&(G=ExpressionPropertyInterface(B.pz))),Object.defineProperty(R,"position",{get:function(){return B.p?U():[F(),D(),G?G():0]}}),Object.defineProperty(R,"xPosition",{get:ExpressionPropertyInterface(B.px)}),Object.defineProperty(R,"yPosition",{get:ExpressionPropertyInterface(B.py)}),Object.defineProperty(R,"zPosition",{get:ExpressionPropertyInterface(B.pz)}),Object.defineProperty(R,"anchorPoint",{get:ExpressionPropertyInterface(B.a)}),Object.defineProperty(R,"opacity",{get:ExpressionPropertyInterface(B.o)}),Object.defineProperty(R,"skew",{get:ExpressionPropertyInterface(B.sk)}),Object.defineProperty(R,"skewAxis",{get:ExpressionPropertyInterface(B.sa)}),Object.defineProperty(R,"orientation",{get:ExpressionPropertyInterface(B.or)}),R},LayerExpressionInterface=function(){function B(Q){var Z=new Matrix;return Q!==void 0?this._elem.finalTransform.mProp.getValueAtTime(Q).clone(Z):this._elem.finalTransform.mProp.applyToMatrix(Z),Z}function R(Q,Z){var K=this.getMatrix(Z);return K.props[12]=0,K.props[13]=0,K.props[14]=0,this.applyPoint(K,Q)}function F(Q,Z){var K=this.getMatrix(Z);return this.applyPoint(K,Q)}function D(Q,Z){var K=this.getMatrix(Z);return K.props[12]=0,K.props[13]=0,K.props[14]=0,this.invertPoint(K,Q)}function G(Q,Z){var K=this.getMatrix(Z);return this.invertPoint(K,Q)}function U(Q,Z){if(this._elem.hierarchy&&this._elem.hierarchy.length){var K,J=this._elem.hierarchy.length;for(K=0;K<J;K+=1)this._elem.hierarchy[K].finalTransform.mProp.applyToMatrix(Q)}return Q.applyToPointArray(Z[0],Z[1],Z[2]||0)}function W(Q,Z){if(this._elem.hierarchy&&this._elem.hierarchy.length){var K,J=this._elem.hierarchy.length;for(K=0;K<J;K+=1)this._elem.hierarchy[K].finalTransform.mProp.applyToMatrix(Q)}return Q.inversePoint(Z)}function q(Q){var Z=new Matrix;if(Z.reset(),this._elem.finalTransform.mProp.applyToMatrix(Z),this._elem.hierarchy&&this._elem.hierarchy.length){var K,J=this._elem.hierarchy.length;for(K=0;K<J;K+=1)this._elem.hierarchy[K].finalTransform.mProp.applyToMatrix(Z);return Z.inversePoint(Q)}return Z.inversePoint(Q)}function Y(){return[1,1,1,1]}return function(Q){var Z;function K(ie){switch(ie){case"ADBE Root Vectors Group":case"Contents":case 2:return K.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return Z;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return K.effect;case"ADBE Text Properties":return K.textInterface;default:return null}}K.getMatrix=B,K.invertPoint=W,K.applyPoint=U,K.toWorld=F,K.toWorldVec=R,K.fromWorld=G,K.fromWorldVec=D,K.toComp=F,K.fromComp=q,K.sampleImage=Y,K.sourceRectAtTime=Q.sourceRectAtTime.bind(Q),K._elem=Q;var J=getDescriptor(Z=TransformExpressionInterface(Q.finalTransform.mProp),"anchorPoint");return Object.defineProperties(K,{hasParent:{get:function(){return Q.hierarchy.length}},parent:{get:function(){return Q.hierarchy[0].layerInterface}},rotation:getDescriptor(Z,"rotation"),scale:getDescriptor(Z,"scale"),position:getDescriptor(Z,"position"),opacity:getDescriptor(Z,"opacity"),anchorPoint:J,anchor_point:J,transform:{get:function(){return Z}},active:{get:function(){return Q.isInRange}}}),K.startTime=Q.data.st,K.index=Q.data.ind,K.source=Q.data.refId,K.height=Q.data.ty===0?Q.data.h:100,K.width=Q.data.ty===0?Q.data.w:100,K.inPoint=Q.data.ip/Q.comp.globalData.frameRate,K.outPoint=Q.data.op/Q.comp.globalData.frameRate,K._name=Q.data.nm,K.registerMaskInterface=function(ie){K.mask=new MaskManagerInterface(ie,Q)},K.registerEffectsInterface=function(ie){K.effect=ie},K}}(),propertyGroupFactory=function(B,R){return function(F){return(F=F===void 0?1:F)<=0?B:R(F-1)}},PropertyInterface=function(B,R){var F={_name:B};return function(D){return(D=D===void 0?1:D)<=0?F:R(D-1)}},EffectsExpressionInterface=function(){function B(F,D,G,U){function W(K){for(var J=F.ef,ie=0,ne=J.length;ie<ne;){if(K===J[ie].nm||K===J[ie].mn||K===J[ie].ix)return J[ie].ty===5?Q[ie]:Q[ie]();ie+=1}throw new Error}var q,Y=propertyGroupFactory(W,G),Q=[],Z=F.ef.length;for(q=0;q<Z;q+=1)F.ef[q].ty===5?Q.push(B(F.ef[q],D.effectElements[q],D.effectElements[q].propertyGroup,U)):Q.push(R(D.effectElements[q],F.ef[q].ty,U,Y));return F.mn==="ADBE Color Control"&&Object.defineProperty(W,"color",{get:function(){return Q[0]()}}),Object.defineProperties(W,{numProperties:{get:function(){return F.np}},_name:{value:F.nm},propertyGroup:{value:Y}}),W.enabled=F.en!==0,W.active=W.enabled,W}function R(F,D,G,U){var W=ExpressionPropertyInterface(F.p);return F.p.setGroupProperty&&F.p.setGroupProperty(PropertyInterface("",U)),function(){return D===10?G.comp.compInterface(F.p.v):W()}}return{createEffectsInterface:function(F,D){if(F.effectsManager){var G,U=[],W=F.data.ef,q=F.effectsManager.effectElements.length;for(G=0;G<q;G+=1)U.push(B(W[G],F.effectsManager.effectElements[G],D,F));var Y=F.data.ef||[],Q=function(Z){for(G=0,q=Y.length;G<q;){if(Z===Y[G].nm||Z===Y[G].mn||Z===Y[G].ix)return U[G];G+=1}return null};return Object.defineProperty(Q,"numProperties",{get:function(){return Y.length}}),Q}return null}}}(),CompExpressionInterface=function(B){function R(F){for(var D=0,G=B.layers.length;D<G;){if(B.layers[D].nm===F||B.layers[D].ind===F)return B.elements[D].layerInterface;D+=1}return null}return Object.defineProperty(R,"_name",{value:B.data.nm}),R.layer=R,R.pixelAspect=1,R.height=B.data.h||B.globalData.compSize.h,R.width=B.data.w||B.globalData.compSize.w,R.pixelAspect=1,R.frameDuration=1/B.globalData.frameRate,R.displayStartTime=0,R.numLayers=B.layers.length,R},ShapePathInterface=function(B,R,F){var D=R.sh;function G(W){return W==="Shape"||W==="shape"||W==="Path"||W==="path"||W==="ADBE Vector Shape"||W===2?G.path:null}var U=propertyGroupFactory(G,F);return D.setGroupProperty(PropertyInterface("Path",U)),Object.defineProperties(G,{path:{get:function(){return D.k&&D.getValue(),D}},shape:{get:function(){return D.k&&D.getValue(),D}},_name:{value:B.nm},ix:{value:B.ix},propertyIndex:{value:B.ix},mn:{value:B.mn},propertyGroup:{value:F}}),G},ShapeExpressionInterface=function(){function B(ie,ne,se){var re,ae=[],le=ie?ie.length:0;for(re=0;re<le;re+=1)ie[re].ty==="gr"?ae.push(R(ie[re],ne[re],se)):ie[re].ty==="fl"?ae.push(F(ie[re],ne[re],se)):ie[re].ty==="st"?ae.push(U(ie[re],ne[re],se)):ie[re].ty==="tm"?ae.push(W(ie[re],ne[re],se)):ie[re].ty==="tr"||(ie[re].ty==="el"?ae.push(Y(ie[re],ne[re],se)):ie[re].ty==="sr"?ae.push(Q(ie[re],ne[re],se)):ie[re].ty==="sh"?ae.push(ShapePathInterface(ie[re],ne[re],se)):ie[re].ty==="rc"?ae.push(Z(ie[re],ne[re],se)):ie[re].ty==="rd"?ae.push(K(ie[re],ne[re],se)):ie[re].ty==="rp"?ae.push(J(ie[re],ne[re],se)):ie[re].ty==="gf"?ae.push(D(ie[re],ne[re],se)):ae.push(G(ie[re],ne[re])));return ae}function R(ie,ne,se){var re=function(ce){switch(ce){case"ADBE Vectors Group":case"Contents":case 2:return re.content;default:return re.transform}};re.propertyGroup=propertyGroupFactory(re,se);var ae=function(ce,he,de){var me,fe=function(Se){for(var Ee=0,ve=me.length;Ee<ve;){if(me[Ee]._name===Se||me[Ee].mn===Se||me[Ee].propertyIndex===Se||me[Ee].ix===Se||me[Ee].ind===Se)return me[Ee];Ee+=1}return typeof Se=="number"?me[Se-1]:null};fe.propertyGroup=propertyGroupFactory(fe,de),me=B(ce.it,he.it,fe.propertyGroup),fe.numProperties=me.length;var ge=q(ce.it[ce.it.length-1],he.it[he.it.length-1],fe.propertyGroup);return fe.transform=ge,fe.propertyIndex=ce.cix,fe._name=ce.nm,fe}(ie,ne,re.propertyGroup),le=q(ie.it[ie.it.length-1],ne.it[ne.it.length-1],re.propertyGroup);return re.content=ae,re.transform=le,Object.defineProperty(re,"_name",{get:function(){return ie.nm}}),re.numProperties=ie.np,re.propertyIndex=ie.ix,re.nm=ie.nm,re.mn=ie.mn,re}function F(ie,ne,se){function re(ae){return ae==="Color"||ae==="color"?re.color:ae==="Opacity"||ae==="opacity"?re.opacity:null}return Object.defineProperties(re,{color:{get:ExpressionPropertyInterface(ne.c)},opacity:{get:ExpressionPropertyInterface(ne.o)},_name:{value:ie.nm},mn:{value:ie.mn}}),ne.c.setGroupProperty(PropertyInterface("Color",se)),ne.o.setGroupProperty(PropertyInterface("Opacity",se)),re}function D(ie,ne,se){function re(ae){return ae==="Start Point"||ae==="start point"?re.startPoint:ae==="End Point"||ae==="end point"?re.endPoint:ae==="Opacity"||ae==="opacity"?re.opacity:null}return Object.defineProperties(re,{startPoint:{get:ExpressionPropertyInterface(ne.s)},endPoint:{get:ExpressionPropertyInterface(ne.e)},opacity:{get:ExpressionPropertyInterface(ne.o)},type:{get:function(){return"a"}},_name:{value:ie.nm},mn:{value:ie.mn}}),ne.s.setGroupProperty(PropertyInterface("Start Point",se)),ne.e.setGroupProperty(PropertyInterface("End Point",se)),ne.o.setGroupProperty(PropertyInterface("Opacity",se)),re}function G(){return function(){return null}}function U(ie,ne,se){var re,ae=propertyGroupFactory(me,se),le=propertyGroupFactory(de,ae);function ce(fe){Object.defineProperty(de,ie.d[fe].nm,{get:ExpressionPropertyInterface(ne.d.dataProps[fe].p)})}var he=ie.d?ie.d.length:0,de={};for(re=0;re<he;re+=1)ce(re),ne.d.dataProps[re].p.setGroupProperty(le);function me(fe){return fe==="Color"||fe==="color"?me.color:fe==="Opacity"||fe==="opacity"?me.opacity:fe==="Stroke Width"||fe==="stroke width"?me.strokeWidth:null}return Object.defineProperties(me,{color:{get:ExpressionPropertyInterface(ne.c)},opacity:{get:ExpressionPropertyInterface(ne.o)},strokeWidth:{get:ExpressionPropertyInterface(ne.w)},dash:{get:function(){return de}},_name:{value:ie.nm},mn:{value:ie.mn}}),ne.c.setGroupProperty(PropertyInterface("Color",ae)),ne.o.setGroupProperty(PropertyInterface("Opacity",ae)),ne.w.setGroupProperty(PropertyInterface("Stroke Width",ae)),me}function W(ie,ne,se){function re(le){return le===ie.e.ix||le==="End"||le==="end"?re.end:le===ie.s.ix?re.start:le===ie.o.ix?re.offset:null}var ae=propertyGroupFactory(re,se);return re.propertyIndex=ie.ix,ne.s.setGroupProperty(PropertyInterface("Start",ae)),ne.e.setGroupProperty(PropertyInterface("End",ae)),ne.o.setGroupProperty(PropertyInterface("Offset",ae)),re.propertyIndex=ie.ix,re.propertyGroup=se,Object.defineProperties(re,{start:{get:ExpressionPropertyInterface(ne.s)},end:{get:ExpressionPropertyInterface(ne.e)},offset:{get:ExpressionPropertyInterface(ne.o)},_name:{value:ie.nm}}),re.mn=ie.mn,re}function q(ie,ne,se){function re(le){return ie.a.ix===le||le==="Anchor Point"?re.anchorPoint:ie.o.ix===le||le==="Opacity"?re.opacity:ie.p.ix===le||le==="Position"?re.position:ie.r.ix===le||le==="Rotation"||le==="ADBE Vector Rotation"?re.rotation:ie.s.ix===le||le==="Scale"?re.scale:ie.sk&&ie.sk.ix===le||le==="Skew"?re.skew:ie.sa&&ie.sa.ix===le||le==="Skew Axis"?re.skewAxis:null}var ae=propertyGroupFactory(re,se);return ne.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",ae)),ne.transform.mProps.p.setGroupProperty(PropertyInterface("Position",ae)),ne.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",ae)),ne.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",ae)),ne.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",ae)),ne.transform.mProps.sk&&(ne.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",ae)),ne.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",ae))),ne.transform.op.setGroupProperty(PropertyInterface("Opacity",ae)),Object.defineProperties(re,{opacity:{get:ExpressionPropertyInterface(ne.transform.mProps.o)},position:{get:ExpressionPropertyInterface(ne.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(ne.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(ne.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(ne.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(ne.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(ne.transform.mProps.sa)},_name:{value:ie.nm}}),re.ty="tr",re.mn=ie.mn,re.propertyGroup=se,re}function Y(ie,ne,se){function re(ce){return ie.p.ix===ce?re.position:ie.s.ix===ce?re.size:null}var ae=propertyGroupFactory(re,se);re.propertyIndex=ie.ix;var le=ne.sh.ty==="tm"?ne.sh.prop:ne.sh;return le.s.setGroupProperty(PropertyInterface("Size",ae)),le.p.setGroupProperty(PropertyInterface("Position",ae)),Object.defineProperties(re,{size:{get:ExpressionPropertyInterface(le.s)},position:{get:ExpressionPropertyInterface(le.p)},_name:{value:ie.nm}}),re.mn=ie.mn,re}function Q(ie,ne,se){function re(ce){return ie.p.ix===ce?re.position:ie.r.ix===ce?re.rotation:ie.pt.ix===ce?re.points:ie.or.ix===ce||ce==="ADBE Vector Star Outer Radius"?re.outerRadius:ie.os.ix===ce?re.outerRoundness:!ie.ir||ie.ir.ix!==ce&&ce!=="ADBE Vector Star Inner Radius"?ie.is&&ie.is.ix===ce?re.innerRoundness:null:re.innerRadius}var ae=propertyGroupFactory(re,se),le=ne.sh.ty==="tm"?ne.sh.prop:ne.sh;return re.propertyIndex=ie.ix,le.or.setGroupProperty(PropertyInterface("Outer Radius",ae)),le.os.setGroupProperty(PropertyInterface("Outer Roundness",ae)),le.pt.setGroupProperty(PropertyInterface("Points",ae)),le.p.setGroupProperty(PropertyInterface("Position",ae)),le.r.setGroupProperty(PropertyInterface("Rotation",ae)),ie.ir&&(le.ir.setGroupProperty(PropertyInterface("Inner Radius",ae)),le.is.setGroupProperty(PropertyInterface("Inner Roundness",ae))),Object.defineProperties(re,{position:{get:ExpressionPropertyInterface(le.p)},rotation:{get:ExpressionPropertyInterface(le.r)},points:{get:ExpressionPropertyInterface(le.pt)},outerRadius:{get:ExpressionPropertyInterface(le.or)},outerRoundness:{get:ExpressionPropertyInterface(le.os)},innerRadius:{get:ExpressionPropertyInterface(le.ir)},innerRoundness:{get:ExpressionPropertyInterface(le.is)},_name:{value:ie.nm}}),re.mn=ie.mn,re}function Z(ie,ne,se){function re(ce){return ie.p.ix===ce?re.position:ie.r.ix===ce?re.roundness:ie.s.ix===ce||ce==="Size"||ce==="ADBE Vector Rect Size"?re.size:null}var ae=propertyGroupFactory(re,se),le=ne.sh.ty==="tm"?ne.sh.prop:ne.sh;return re.propertyIndex=ie.ix,le.p.setGroupProperty(PropertyInterface("Position",ae)),le.s.setGroupProperty(PropertyInterface("Size",ae)),le.r.setGroupProperty(PropertyInterface("Rotation",ae)),Object.defineProperties(re,{position:{get:ExpressionPropertyInterface(le.p)},roundness:{get:ExpressionPropertyInterface(le.r)},size:{get:ExpressionPropertyInterface(le.s)},_name:{value:ie.nm}}),re.mn=ie.mn,re}function K(ie,ne,se){function re(ce){return ie.r.ix===ce||ce==="Round Corners 1"?re.radius:null}var ae=propertyGroupFactory(re,se),le=ne;return re.propertyIndex=ie.ix,le.rd.setGroupProperty(PropertyInterface("Radius",ae)),Object.defineProperties(re,{radius:{get:ExpressionPropertyInterface(le.rd)},_name:{value:ie.nm}}),re.mn=ie.mn,re}function J(ie,ne,se){function re(ce){return ie.c.ix===ce||ce==="Copies"?re.copies:ie.o.ix===ce||ce==="Offset"?re.offset:null}var ae=propertyGroupFactory(re,se),le=ne;return re.propertyIndex=ie.ix,le.c.setGroupProperty(PropertyInterface("Copies",ae)),le.o.setGroupProperty(PropertyInterface("Offset",ae)),Object.defineProperties(re,{copies:{get:ExpressionPropertyInterface(le.c)},offset:{get:ExpressionPropertyInterface(le.o)},_name:{value:ie.nm}}),re.mn=ie.mn,re}return function(ie,ne,se){var re;function ae(le){if(typeof le=="number")return(le=le===void 0?1:le)===0?se:re[le-1];for(var ce=0,he=re.length;ce<he;){if(re[ce]._name===le)return re[ce];ce+=1}return null}return ae.propertyGroup=propertyGroupFactory(ae,function(){return se}),re=B(ie,ne,ae.propertyGroup),ae.numProperties=re.length,ae._name="Contents",ae}}(),TextExpressionInterface=function(B){var R;function F(D){switch(D){case"ADBE Text Document":return F.sourceText;default:return null}}return Object.defineProperty(F,"sourceText",{get:function(){B.textProperty.getValue();var D=B.textProperty.currentData.t;return D!==void 0&&(B.textProperty.currentData.t=void 0,(R=new String(D)).value=D||new String(D)),R}}),F},getBlendMode=(blendModeEnums={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"},function(B){return blendModeEnums[B]||""}),blendModeEnums;function SliderEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function AngleEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function ColorEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,1,0,F)}function PointEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,1,0,F)}function LayerIndexEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function MaskIndexEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function CheckboxEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function NoValueEffect(){this.p={}}function EffectsManager(B,R){var F,D=B.ef||[];this.effectElements=[];var G,U=D.length;for(F=0;F<U;F+=1)G=new GroupEffect(D[F],R),this.effectElements.push(G)}function GroupEffect(B,R){this.init(B,R)}function BaseElement(){}function FrameElement(){}function _typeof$2(B){return(_typeof$2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(B)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(B,R){var F;this.data=B,this.effectElements=[],this.initDynamicPropertyContainer(R);var D,G=this.data.ef.length,U=this.data.ef;for(F=0;F<G;F+=1){switch(D=null,U[F].ty){case 0:D=new SliderEffect(U[F],R,this);break;case 1:D=new AngleEffect(U[F],R,this);break;case 2:D=new ColorEffect(U[F],R,this);break;case 3:D=new PointEffect(U[F],R,this);break;case 4:case 7:D=new CheckboxEffect(U[F],R,this);break;case 10:D=new LayerIndexEffect(U[F],R,this);break;case 11:D=new MaskIndexEffect(U[F],R,this);break;case 5:D=new EffectsManager(U[F],R);break;default:D=new NoValueEffect(U[F])}D&&this.effectElements.push(D)}},BaseElement.prototype={checkMasks:function(){if(!this.data.hasMask)return!1;for(var B=0,R=this.data.masksProperties.length;B<R;){if(this.data.masksProperties[B].mode!=="n"&&this.data.masksProperties[B].cl!==!1)return!0;B+=1}return!1},initExpressions:function(){this.layerInterface=LayerExpressionInterface(this),this.data.hasMask&&this.maskManager&&this.layerInterface.registerMaskInterface(this.maskManager);var B=EffectsExpressionInterface.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(B),this.data.ty===0||this.data.xt?this.compInterface=CompExpressionInterface(this):this.data.ty===4?(this.layerInterface.shapeInterface=ShapeExpressionInterface(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface):this.data.ty===5&&(this.layerInterface.textInterface=TextExpressionInterface(this),this.layerInterface.text=this.layerInterface.textInterface)},setBlendMode:function(){var B=getBlendMode(this.data.bm);(this.baseElement||this.layerElement).style["mix-blend-mode"]=B},initBaseData:function(B,R,F){this.globalData=R,this.comp=F,this.data=B,this.layerId=createElementID(),this.data.sr||(this.data.sr=1),this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function(){return this.type},sourceRectAtTime:function(){}},FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function(B,R){var F,D=this.dynamicProperties.length;for(F=0;F<D;F+=1)(R||this._isParent&&this.dynamicProperties[F].propType==="transform")&&(this.dynamicProperties[F].getValue(),this.dynamicProperties[F]._mdf&&(this.globalData._mdf=!0,this._mdf=!0))},addDynamicProperty:function(B){this.dynamicProperties.indexOf(B)===-1&&this.dynamicProperties.push(B)}};var FootageInterface=(dataInterfaceFactory=function(B){function R(F){return F==="Outline"?R.outlineInterface():null}return R._name="Outline",R.outlineInterface=function(F){var D="",G=F.getFootageData();function U(W){if(G[W])return D=W,_typeof$2(G=G[W])==="object"?U:G;var q=W.indexOf(D);if(q!==-1){var Y=parseInt(W.substr(q+D.length),10);return _typeof$2(G=G[Y])==="object"?U:G}return""}return function(){return D="",G=F.getFootageData(),U}}(B),R},function(B){function R(F){return F==="Data"?R.dataInterface:null}return R._name="Data",R.dataInterface=dataInterfaceFactory(B),R}),dataInterfaceFactory;function FootageElement(B,R,F){this.initFrame(),this.initRenderable(),this.assetData=R.getAssetData(B.refId),this.footageData=R.imageLoader.getAsset(this.assetData),this.initBaseData(B,R,F)}function AudioElement(B,R,F){this.initFrame(),this.initRenderable(),this.assetData=R.getAssetData(B.refId),this.initBaseData(B,R,F),this._isPlaying=!1,this._canPlay=!1;var D=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(D),this._currentTime=0,this.globalData.audioController.addAudio(this),this.tm=B.tm?PropertyFactory.getProp(this,B.tm,0,R.frameRate,this):{_placeholder:!0}}function BaseRenderer(){}function TransformElement(){}function MaskElement(B,R,F){this.data=B,this.element=R,this.globalData=F,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var D,G,U=this.globalData.defs,W=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(W),this.solidPath="";var q,Y,Q,Z,K,J,ie=this.masksProperties,ne=0,se=[],re=createElementID(),ae="clipPath",le="clip-path";for(D=0;D<W;D+=1)if((ie[D].mode!=="a"&&ie[D].mode!=="n"||ie[D].inv||ie[D].o.k!==100||ie[D].o.x)&&(ae="mask",le="mask"),ie[D].mode!=="s"&&ie[D].mode!=="i"||ne!==0?Q=null:((Q=createNS("rect")).setAttribute("fill","#ffffff"),Q.setAttribute("width",this.element.comp.data.w||0),Q.setAttribute("height",this.element.comp.data.h||0),se.push(Q)),G=createNS("path"),ie[D].mode==="n")this.viewData[D]={op:PropertyFactory.getProp(this.element,ie[D].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,ie[D],3),elem:G,lastPath:""},U.appendChild(G);else{var ce;if(ne+=1,G.setAttribute("fill",ie[D].mode==="s"?"#000000":"#ffffff"),G.setAttribute("clip-rule","nonzero"),ie[D].x.k!==0?(ae="mask",le="mask",J=PropertyFactory.getProp(this.element,ie[D].x,0,null,this.element),ce=createElementID(),(Z=createNS("filter")).setAttribute("id",ce),(K=createNS("feMorphology")).setAttribute("operator","erode"),K.setAttribute("in","SourceGraphic"),K.setAttribute("radius","0"),Z.appendChild(K),U.appendChild(Z),G.setAttribute("stroke",ie[D].mode==="s"?"#000000":"#ffffff")):(K=null,J=null),this.storedData[D]={elem:G,x:J,expan:K,lastPath:"",lastOperator:"",filterId:ce,lastRadius:0},ie[D].mode==="i"){Y=se.length;var he=createNS("g");for(q=0;q<Y;q+=1)he.appendChild(se[q]);var de=createNS("mask");de.setAttribute("mask-type","alpha"),de.setAttribute("id",re+"_"+ne),de.appendChild(G),U.appendChild(de),he.setAttribute("mask","url("+getLocationHref()+"#"+re+"_"+ne+")"),se.length=0,se.push(he)}else se.push(G);ie[D].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),this.viewData[D]={elem:G,lastPath:"",op:PropertyFactory.getProp(this.element,ie[D].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,ie[D],3),invRect:Q},this.viewData[D].prop.k||this.drawPath(ie[D],this.viewData[D].prop.v,this.viewData[D])}for(this.maskElement=createNS(ae),W=se.length,D=0;D<W;D+=1)this.maskElement.appendChild(se[D]);ne>0&&(this.maskElement.setAttribute("id",re),this.element.maskedElement.setAttribute(le,"url("+getLocationHref()+"#"+re+")"),U.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){this.layerInterface=FootageInterface(this)},FootageElement.prototype.getFootageData=function(){return this.footageData},AudioElement.prototype.prepareFrame=function(B){if(this.prepareRenderableFrame(B,!0),this.prepareProperties(B,!0),this.tm._placeholder)this._currentTime=B/this.data.sr;else{var R=this.tm.v;this._currentTime=R}},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){this.isInRange&&this._canPlay&&(this._isPlaying?(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>.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(B){this.audio.rate(B)},AudioElement.prototype.volume=function(B){this.audio.volume(B)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(B){var R,F,D=this.layers.length;for(this.completeLayers=!0,R=D-1;R>=0;R-=1)this.elements[R]||(F=this.layers[R]).ip-F.st<=B-this.layers[R].st&&F.op-F.st>B-this.layers[R].st&&this.buildItem(R),this.completeLayers=!!this.elements[R]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(B){switch(B.ty){case 2:return this.createImage(B);case 0:return this.createComp(B);case 1:return this.createSolid(B);case 3:return this.createNull(B);case 4:return this.createShape(B);case 5:return this.createText(B);case 6:return this.createAudio(B);case 13:return this.createCamera(B);case 15:return this.createFootage(B);default:return this.createNull(B)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(B){return new AudioElement(B,this.globalData,this)},BaseRenderer.prototype.createFootage=function(B){return new FootageElement(B,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var B,R=this.layers.length;for(B=0;B<R;B+=1)this.buildItem(B);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(B){var R;this.completeLayers=!1;var F,D=B.length,G=this.layers.length;for(R=0;R<D;R+=1)for(F=0;F<G;){if(this.layers[F].id===B[R].id){this.layers[F]=B[R];break}F+=1}},BaseRenderer.prototype.setProjectInterface=function(B){this.globalData.projectInterface=B},BaseRenderer.prototype.initItems=function(){this.globalData.progressiveLoad||this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(B,R,F){for(var D=this.elements,G=this.layers,U=0,W=G.length;U<W;)G[U].ind==R&&(D[U]&&D[U]!==!0?(F.push(D[U]),D[U].setAsParent(),G[U].parent!==void 0?this.buildElementParenting(B,G[U].parent,F):B.setHierarchy(F)):(this.buildItem(U),this.addPendingElement(B))),U+=1},BaseRenderer.prototype.addPendingElement=function(B){this.pendingElements.push(B)},BaseRenderer.prototype.searchExtraCompositions=function(B){var R,F=B.length;for(R=0;R<F;R+=1)if(B[R].xt){var D=this.createComp(B[R]);D.initExpressions(),this.globalData.projectInterface.registerComposition(D)}},BaseRenderer.prototype.setupGlobalData=function(B,R){this.globalData.fontManager=new FontManager,this.globalData.fontManager.addChars(B.chars),this.globalData.fontManager.addFonts(B.fonts,R),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=B.fr,this.globalData.nm=B.nm,this.globalData.compSize={w:B.w,h:B.h}},TransformElement.prototype={initTransform:function(){this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_opMdf:!1,mat:new Matrix},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var B,R=this.finalTransform.mat,F=0,D=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;F<D;){if(this.hierarchy[F].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}F+=1}if(this.finalTransform._matMdf)for(B=this.finalTransform.mProp.v.props,R.cloneFromProps(B),F=0;F<D;F+=1)B=this.hierarchy[F].finalTransform.mProp.v.props,R.transform(B[0],B[1],B[2],B[3],B[4],B[5],B[6],B[7],B[8],B[9],B[10],B[11],B[12],B[13],B[14],B[15])}},globalToLocal:function(B){var R=[];R.push(this.finalTransform);for(var F,D=!0,G=this.comp;D;)G.finalTransform?(G.data.hasMask&&R.splice(0,0,G.finalTransform),G=G.comp):D=!1;var U,W=R.length;for(F=0;F<W;F+=1)U=R[F].mat.applyToPointArray(0,0,0),B=[B[0]-U[0],B[1]-U[1],0];return B},mHelper:new Matrix},MaskElement.prototype.getMaskProperty=function(B){return this.viewData[B].prop},MaskElement.prototype.renderFrame=function(B){var R,F=this.element.finalTransform.mat,D=this.masksProperties.length;for(R=0;R<D;R+=1)if((this.viewData[R].prop._mdf||B)&&this.drawPath(this.masksProperties[R],this.viewData[R].prop.v,this.viewData[R]),(this.viewData[R].op._mdf||B)&&this.viewData[R].elem.setAttribute("fill-opacity",this.viewData[R].op.v),this.masksProperties[R].mode!=="n"&&(this.viewData[R].invRect&&(this.element.finalTransform.mProp._mdf||B)&&this.viewData[R].invRect.setAttribute("transform",F.getInverseMatrix().to2dCSS()),this.storedData[R].x&&(this.storedData[R].x._mdf||B))){var G=this.storedData[R].expan;this.storedData[R].x.v<0?(this.storedData[R].lastOperator!=="erode"&&(this.storedData[R].lastOperator="erode",this.storedData[R].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[R].filterId+")")),G.setAttribute("radius",-this.storedData[R].x.v)):(this.storedData[R].lastOperator!=="dilate"&&(this.storedData[R].lastOperator="dilate",this.storedData[R].elem.setAttribute("filter",null)),this.storedData[R].elem.setAttribute("stroke-width",2*this.storedData[R].x.v))}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var B="M0,0 ";return B+=" h"+this.globalData.compSize.w,B+=" v"+this.globalData.compSize.h,B+=" h-"+this.globalData.compSize.w,B+=" v-"+this.globalData.compSize.h+" "},MaskElement.prototype.drawPath=function(B,R,F){var D,G,U=" M"+R.v[0][0]+","+R.v[0][1];for(G=R._length,D=1;D<G;D+=1)U+=" C"+R.o[D-1][0]+","+R.o[D-1][1]+" "+R.i[D][0]+","+R.i[D][1]+" "+R.v[D][0]+","+R.v[D][1];if(R.c&&G>1&&(U+=" C"+R.o[D-1][0]+","+R.o[D-1][1]+" "+R.i[0][0]+","+R.i[0][1]+" "+R.v[0][0]+","+R.v[0][1]),F.lastPath!==U){var W="";F.elem&&(R.c&&(W=B.inv?this.solidPath+U:U),F.elem.setAttribute("d",W)),F.lastPath=U}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var B={};return B.createFilter=function(R,F){var D=createNS("filter");return D.setAttribute("id",R),F!==!0&&(D.setAttribute("filterUnits","objectBoundingBox"),D.setAttribute("x","0%"),D.setAttribute("y","0%"),D.setAttribute("width","100%"),D.setAttribute("height","100%")),D},B.createAlphaToLuminanceFilter=function(){var R=createNS("feColorMatrix");return R.setAttribute("type","matrix"),R.setAttribute("color-interpolation-filters","sRGB"),R.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),R},B}(),featureSupport=function(){var B={maskType:!0};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))&&(B.maskType=!1),B}();function SVGTintFilter(B,R){this.filterManager=R;var F=createNS("feColorMatrix");if(F.setAttribute("type","matrix"),F.setAttribute("color-interpolation-filters","linearRGB"),F.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),F.setAttribute("result","f1"),B.appendChild(F),(F=createNS("feColorMatrix")).setAttribute("type","matrix"),F.setAttribute("color-interpolation-filters","sRGB"),F.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),F.setAttribute("result","f2"),B.appendChild(F),this.matrixFilter=F,R.effectElements[2].p.v!==100||R.effectElements[2].p.k){var D,G=createNS("feMerge");B.appendChild(G),(D=createNS("feMergeNode")).setAttribute("in","SourceGraphic"),G.appendChild(D),(D=createNS("feMergeNode")).setAttribute("in","f2"),G.appendChild(D)}}function SVGFillFilter(B,R){this.filterManager=R;var F=createNS("feColorMatrix");F.setAttribute("type","matrix"),F.setAttribute("color-interpolation-filters","sRGB"),F.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),B.appendChild(F),this.matrixFilter=F}function SVGStrokeEffect(B,R){this.initialized=!1,this.filterManager=R,this.elem=B,this.paths=[]}function SVGTritoneFilter(B,R){this.filterManager=R;var F=createNS("feColorMatrix");F.setAttribute("type","matrix"),F.setAttribute("color-interpolation-filters","linearRGB"),F.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),F.setAttribute("result","f1"),B.appendChild(F);var D=createNS("feComponentTransfer");D.setAttribute("color-interpolation-filters","sRGB"),B.appendChild(D),this.matrixFilter=D;var G=createNS("feFuncR");G.setAttribute("type","table"),D.appendChild(G),this.feFuncR=G;var U=createNS("feFuncG");U.setAttribute("type","table"),D.appendChild(U),this.feFuncG=U;var W=createNS("feFuncB");W.setAttribute("type","table"),D.appendChild(W),this.feFuncB=W}function SVGProLevelsFilter(B,R){this.filterManager=R;var F=this.filterManager.effectElements,D=createNS("feComponentTransfer");(F[10].p.k||F[10].p.v!==0||F[11].p.k||F[11].p.v!==1||F[12].p.k||F[12].p.v!==1||F[13].p.k||F[13].p.v!==0||F[14].p.k||F[14].p.v!==1)&&(this.feFuncR=this.createFeFunc("feFuncR",D)),(F[17].p.k||F[17].p.v!==0||F[18].p.k||F[18].p.v!==1||F[19].p.k||F[19].p.v!==1||F[20].p.k||F[20].p.v!==0||F[21].p.k||F[21].p.v!==1)&&(this.feFuncG=this.createFeFunc("feFuncG",D)),(F[24].p.k||F[24].p.v!==0||F[25].p.k||F[25].p.v!==1||F[26].p.k||F[26].p.v!==1||F[27].p.k||F[27].p.v!==0||F[28].p.k||F[28].p.v!==1)&&(this.feFuncB=this.createFeFunc("feFuncB",D)),(F[31].p.k||F[31].p.v!==0||F[32].p.k||F[32].p.v!==1||F[33].p.k||F[33].p.v!==1||F[34].p.k||F[34].p.v!==0||F[35].p.k||F[35].p.v!==1)&&(this.feFuncA=this.createFeFunc("feFuncA",D)),(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)&&(D.setAttribute("color-interpolation-filters","sRGB"),B.appendChild(D),D=createNS("feComponentTransfer")),(F[3].p.k||F[3].p.v!==0||F[4].p.k||F[4].p.v!==1||F[5].p.k||F[5].p.v!==1||F[6].p.k||F[6].p.v!==0||F[7].p.k||F[7].p.v!==1)&&(D.setAttribute("color-interpolation-filters","sRGB"),B.appendChild(D),this.feFuncRComposed=this.createFeFunc("feFuncR",D),this.feFuncGComposed=this.createFeFunc("feFuncG",D),this.feFuncBComposed=this.createFeFunc("feFuncB",D))}function SVGDropShadowEffect(B,R){var F=R.container.globalData.renderConfig.filterSize;B.setAttribute("x",F.x),B.setAttribute("y",F.y),B.setAttribute("width",F.width),B.setAttribute("height",F.height),this.filterManager=R;var D=createNS("feGaussianBlur");D.setAttribute("in","SourceAlpha"),D.setAttribute("result","drop_shadow_1"),D.setAttribute("stdDeviation","0"),this.feGaussianBlur=D,B.appendChild(D);var G=createNS("feOffset");G.setAttribute("dx","25"),G.setAttribute("dy","0"),G.setAttribute("in","drop_shadow_1"),G.setAttribute("result","drop_shadow_2"),this.feOffset=G,B.appendChild(G);var U=createNS("feFlood");U.setAttribute("flood-color","#00ff00"),U.setAttribute("flood-opacity","1"),U.setAttribute("result","drop_shadow_3"),this.feFlood=U,B.appendChild(U);var W=createNS("feComposite");W.setAttribute("in","drop_shadow_3"),W.setAttribute("in2","drop_shadow_2"),W.setAttribute("operator","in"),W.setAttribute("result","drop_shadow_4"),B.appendChild(W);var q,Y=createNS("feMerge");B.appendChild(Y),q=createNS("feMergeNode"),Y.appendChild(q),(q=createNS("feMergeNode")).setAttribute("in","SourceGraphic"),this.feMergeNode=q,this.feMerge=Y,this.originalNodeAdded=!1,Y.appendChild(q)}SVGTintFilter.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R=this.filterManager.effectElements[0].p.v,F=this.filterManager.effectElements[1].p.v,D=this.filterManager.effectElements[2].p.v/100;this.matrixFilter.setAttribute("values",F[0]-R[0]+" 0 0 0 "+R[0]+" "+(F[1]-R[1])+" 0 0 0 "+R[1]+" "+(F[2]-R[2])+" 0 0 0 "+R[2]+" 0 0 0 "+D+" 0")}},SVGFillFilter.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R=this.filterManager.effectElements[2].p.v,F=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+R[0]+" 0 0 0 0 "+R[1]+" 0 0 0 0 "+R[2]+" 0 0 0 "+F+" 0")}},SVGStrokeEffect.prototype.initialize=function(){var B,R,F,D,G=this.elem.layerElement.children||this.elem.layerElement.childNodes;for(this.filterManager.effectElements[1].p.v===1?(D=this.elem.maskManager.masksProperties.length,F=0):D=(F=this.filterManager.effectElements[0].p.v-1)+1,(R=createNS("g")).setAttribute("fill","none"),R.setAttribute("stroke-linecap","round"),R.setAttribute("stroke-dashoffset",1);F<D;F+=1)B=createNS("path"),R.appendChild(B),this.paths.push({p:B,m:F});if(this.filterManager.effectElements[10].p.v===3){var U=createNS("mask"),W=createElementID();U.setAttribute("id",W),U.setAttribute("mask-type","alpha"),U.appendChild(R),this.elem.globalData.defs.appendChild(U);var q=createNS("g");for(q.setAttribute("mask","url("+getLocationHref()+"#"+W+")");G[0];)q.appendChild(G[0]);this.elem.layerElement.appendChild(q),this.masker=U,R.setAttribute("stroke","#fff")}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2)for(G=this.elem.layerElement.children||this.elem.layerElement.childNodes;G.length;)this.elem.layerElement.removeChild(G[0]);this.elem.layerElement.appendChild(R),this.elem.layerElement.removeAttribute("mask"),R.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=R},SVGStrokeEffect.prototype.renderFrame=function(B){var R;this.initialized||this.initialize();var F,D,G=this.paths.length;for(R=0;R<G;R+=1)if(this.paths[R].m!==-1&&(F=this.elem.maskManager.viewData[this.paths[R].m],D=this.paths[R].p,(B||this.filterManager._mdf||F.prop._mdf)&&D.setAttribute("d",F.lastPath),B||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||F.prop._mdf)){var U;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var W=.01*Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),q=.01*Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),Y=D.getTotalLength();U="0 0 0 "+Y*W+" ";var Q,Z=Y*(q-W),K=1+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01,J=Math.floor(Z/K);for(Q=0;Q<J;Q+=1)U+="1 "+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01+" ";U+="0 "+10*Y+" 0 0"}else U="1 "+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01;D.setAttribute("stroke-dasharray",U)}if((B||this.filterManager.effectElements[4].p._mdf)&&this.pathMasker.setAttribute("stroke-width",2*this.filterManager.effectElements[4].p.v),(B||this.filterManager.effectElements[6].p._mdf)&&this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v),(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2)&&(B||this.filterManager.effectElements[3].p._mdf)){var ie=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(255*ie[0])+","+bmFloor(255*ie[1])+","+bmFloor(255*ie[2])+")")}},SVGTritoneFilter.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R=this.filterManager.effectElements[0].p.v,F=this.filterManager.effectElements[1].p.v,D=this.filterManager.effectElements[2].p.v,G=D[0]+" "+F[0]+" "+R[0],U=D[1]+" "+F[1]+" "+R[1],W=D[2]+" "+F[2]+" "+R[2];this.feFuncR.setAttribute("tableValues",G),this.feFuncG.setAttribute("tableValues",U),this.feFuncB.setAttribute("tableValues",W)}},SVGProLevelsFilter.prototype.createFeFunc=function(B,R){var F=createNS(B);return F.setAttribute("type","table"),R.appendChild(F),F},SVGProLevelsFilter.prototype.getTableValue=function(B,R,F,D,G){for(var U,W,q=0,Y=Math.min(B,R),Q=Math.max(B,R),Z=Array.call(null,{length:256}),K=0,J=G-D,ie=R-B;q<=256;)W=(U=q/256)<=Y?ie<0?G:D:U>=Q?ie<0?D:G:D+J*Math.pow((U-B)/ie,1/F),Z[K]=W,K+=1,q+=256/255;return Z.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R,F=this.filterManager.effectElements;this.feFuncRComposed&&(B||F[3].p._mdf||F[4].p._mdf||F[5].p._mdf||F[6].p._mdf||F[7].p._mdf)&&(R=this.getTableValue(F[3].p.v,F[4].p.v,F[5].p.v,F[6].p.v,F[7].p.v),this.feFuncRComposed.setAttribute("tableValues",R),this.feFuncGComposed.setAttribute("tableValues",R),this.feFuncBComposed.setAttribute("tableValues",R)),this.feFuncR&&(B||F[10].p._mdf||F[11].p._mdf||F[12].p._mdf||F[13].p._mdf||F[14].p._mdf)&&(R=this.getTableValue(F[10].p.v,F[11].p.v,F[12].p.v,F[13].p.v,F[14].p.v),this.feFuncR.setAttribute("tableValues",R)),this.feFuncG&&(B||F[17].p._mdf||F[18].p._mdf||F[19].p._mdf||F[20].p._mdf||F[21].p._mdf)&&(R=this.getTableValue(F[17].p.v,F[18].p.v,F[19].p.v,F[20].p.v,F[21].p.v),this.feFuncG.setAttribute("tableValues",R)),this.feFuncB&&(B||F[24].p._mdf||F[25].p._mdf||F[26].p._mdf||F[27].p._mdf||F[28].p._mdf)&&(R=this.getTableValue(F[24].p.v,F[25].p.v,F[26].p.v,F[27].p.v,F[28].p.v),this.feFuncB.setAttribute("tableValues",R)),this.feFuncA&&(B||F[31].p._mdf||F[32].p._mdf||F[33].p._mdf||F[34].p._mdf||F[35].p._mdf)&&(R=this.getTableValue(F[31].p.v,F[32].p.v,F[33].p.v,F[34].p.v,F[35].p.v),this.feFuncA.setAttribute("tableValues",R))}},SVGDropShadowEffect.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){if((B||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),B||this.filterManager.effectElements[0].p._mdf){var R=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*R[0]),Math.round(255*R[1]),Math.round(255*R[2])))}if((B||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),B||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var F=this.filterManager.effectElements[3].p.v,D=(this.filterManager.effectElements[2].p.v-90)*degToRads,G=F*Math.cos(D),U=F*Math.sin(D);this.feOffset.setAttribute("dx",G),this.feOffset.setAttribute("dy",U)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(B,R,F){this.initialized=!1,this.filterManager=R,this.filterElem=B,this.elem=F,F.matteElement=createNS("g"),F.matteElement.appendChild(F.layerElement),F.matteElement.appendChild(F.transformedElement),F.baseElement=F.matteElement}function SVGGaussianBlurEffect(B,R){B.setAttribute("x","-100%"),B.setAttribute("y","-100%"),B.setAttribute("width","300%"),B.setAttribute("height","300%"),this.filterManager=R;var F=createNS("feGaussianBlur");B.appendChild(F),this.feGaussianBlur=F}SVGMatte3Effect.prototype.findSymbol=function(B){for(var R=0,F=_svgMatteSymbols.length;R<F;){if(_svgMatteSymbols[R]===B)return _svgMatteSymbols[R];R+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(B,R){var F=B.layerElement.parentNode;if(F){for(var D,G=F.children,U=0,W=G.length;U<W&&G[U]!==B.layerElement;)U+=1;U<=W-2&&(D=G[U+1]);var q=createNS("use");q.setAttribute("href","#"+R),D?F.insertBefore(q,D):F.appendChild(q)}},SVGMatte3Effect.prototype.setElementAsMask=function(B,R){if(!this.findSymbol(R)){var F=createElementID(),D=createNS("mask");D.setAttribute("id",R.layerId),D.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(R);var G=B.globalData.defs;G.appendChild(D);var U=createNS("symbol");U.setAttribute("id",F),this.replaceInParent(R,F),U.appendChild(R.layerElement),G.appendChild(U);var W=createNS("use");W.setAttribute("href","#"+F),D.appendChild(W),R.data.hd=!1,R.show()}B.setMatte(R.layerId)},SVGMatte3Effect.prototype.initialize=function(){for(var B=this.filterManager.effectElements[0].p.v,R=this.elem.comp.elements,F=0,D=R.length;F<D;)R[F]&&R[F].data.ind===B&&this.setElementAsMask(this.elem,R[F]),F+=1;this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){this.initialized||this.initialize()},SVGGaussianBlurEffect.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R=.3*this.filterManager.effectElements[0].p.v,F=this.filterManager.effectElements[1].p.v,D=F==3?0:R,G=F==2?0:R;this.feGaussianBlur.setAttribute("stdDeviation",D+" "+G);var U=this.filterManager.effectElements[2].p.v==1?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",U)}};var registeredEffects={};function SVGEffects(B){var R,F,D=B.data.ef?B.data.ef.length:0,G=createElementID(),U=filtersFactory.createFilter(G,!0),W=0;for(this.filters=[],R=0;R<D;R+=1){F=null;var q=B.data.ef[R].ty;registeredEffects[q]&&(F=new registeredEffects[q].effect(U,B.effectsManager.effectElements[R],B),registeredEffects[q].countsAsEffect&&(W+=1)),B.data.ef[R].ty===20?(W+=1,F=new SVGTintFilter(U,B.effectsManager.effectElements[R])):B.data.ef[R].ty===21?(W+=1,F=new SVGFillFilter(U,B.effectsManager.effectElements[R])):B.data.ef[R].ty===22?F=new SVGStrokeEffect(B,B.effectsManager.effectElements[R]):B.data.ef[R].ty===23?(W+=1,F=new SVGTritoneFilter(U,B.effectsManager.effectElements[R])):B.data.ef[R].ty===24?(W+=1,F=new SVGProLevelsFilter(U,B.effectsManager.effectElements[R])):B.data.ef[R].ty===25?(W+=1,F=new SVGDropShadowEffect(U,B.effectsManager.effectElements[R])):B.data.ef[R].ty===28?F=new SVGMatte3Effect(U,B.effectsManager.effectElements[R],B):B.data.ef[R].ty===29&&(W+=1,F=new SVGGaussianBlurEffect(U,B.effectsManager.effectElements[R])),F&&this.filters.push(F)}W&&(B.globalData.defs.appendChild(U),B.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+G+")")),this.filters.length&&B.addRenderableComponent(this)}function registerEffect(B,R,F){registeredEffects[B]={effect:R,countsAsEffect:F}}function SVGBaseElement(){}function HierarchyElement(){}function RenderableDOMElement(){}function IImageElement(B,R,F){this.assetData=R.getAssetData(B.refId),this.initElement(B,R,F),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}function ProcessedElement(B,R){this.elem=B,this.pos=R}function IShapeElement(){}SVGEffects.prototype.renderFrame=function(B){var R,F=this.filters.length;for(R=0;R<F;R+=1)this.filters[R].renderFrame(B)},SVGBaseElement.prototype={initRendererElement:function(){this.layerElement=createNS("g")},createContainerElements:function(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var B,R,F,D=null;if(this.data.td){if(this.data.td==3||this.data.td==1){var G=createNS("mask");G.setAttribute("id",this.layerId),G.setAttribute("mask-type",this.data.td==3?"luminance":"alpha"),G.appendChild(this.layerElement),D=G,this.globalData.defs.appendChild(G),featureSupport.maskType||this.data.td!=1||(G.setAttribute("mask-type","luminance"),B=createElementID(),R=filtersFactory.createFilter(B),this.globalData.defs.appendChild(R),R.appendChild(filtersFactory.createAlphaToLuminanceFilter()),(F=createNS("g")).appendChild(this.layerElement),D=F,G.appendChild(F),F.setAttribute("filter","url("+getLocationHref()+"#"+B+")"))}else if(this.data.td==2){var U=createNS("mask");U.setAttribute("id",this.layerId),U.setAttribute("mask-type","alpha");var W=createNS("g");U.appendChild(W),B=createElementID(),R=filtersFactory.createFilter(B);var q=createNS("feComponentTransfer");q.setAttribute("in","SourceGraphic"),R.appendChild(q);var Y=createNS("feFuncA");Y.setAttribute("type","table"),Y.setAttribute("tableValues","1.0 0.0"),q.appendChild(Y),this.globalData.defs.appendChild(R);var Q=createNS("rect");Q.setAttribute("width",this.comp.data.w),Q.setAttribute("height",this.comp.data.h),Q.setAttribute("x","0"),Q.setAttribute("y","0"),Q.setAttribute("fill","#ffffff"),Q.setAttribute("opacity","0"),W.setAttribute("filter","url("+getLocationHref()+"#"+B+")"),W.appendChild(Q),W.appendChild(this.layerElement),D=W,featureSupport.maskType||(U.setAttribute("mask-type","luminance"),R.appendChild(filtersFactory.createAlphaToLuminanceFilter()),F=createNS("g"),W.appendChild(Q),F.appendChild(this.layerElement),D=F,W.appendChild(F)),this.globalData.defs.appendChild(U)}}else this.data.tt?(this.matteElement.appendChild(this.layerElement),D=this.matteElement,this.baseElement=this.matteElement):this.baseElement=this.layerElement;if(this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),this.data.ty===0&&!this.data.hd){var Z=createNS("clipPath"),K=createNS("path");K.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var J=createElementID();if(Z.setAttribute("id",J),Z.appendChild(K),this.globalData.defs.appendChild(Z),this.checkMasks()){var ie=createNS("g");ie.setAttribute("clip-path","url("+getLocationHref()+"#"+J+")"),ie.appendChild(this.layerElement),this.transformedElement=ie,D?D.appendChild(this.transformedElement):this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+J+")")}this.data.bm!==0&&this.setBlendMode()},renderElement:function(){this.finalTransform._matMdf&&this.transformedElement.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.finalTransform._opMdf&&this.transformedElement.setAttribute("opacity",this.finalTransform.mProp.o.v)},destroyBaseElement:function(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function(){return this.data.hd?null:this.baseElement},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this)},setMatte:function(B){this.matteElement&&this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+B+")")}},HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function(B){this.hierarchy=B},setAsParent:function(){this._isParent=!0},checkParenting:function(){this.data.parent!==void 0&&this.comp.buildElementParenting(this,this.data.parent,[])}},extendPrototype([RenderableElement,createProxyFunction({initElement:function(B,R,F){this.initFrame(),this.initBaseData(B,R,F),this.initTransform(B,R,F),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function(){this.hidden||this.isInRange&&!this.isTransparent||((this.baseElement||this.layerElement).style.display="none",this.hidden=!0)},show:function(){this.isInRange&&!this.isTransparent&&(this.data.hd||((this.baseElement||this.layerElement).style.display="block"),this.hidden=!1,this._isFirstFrame=!0)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},renderInnerContent:function(){},prepareFrame:function(B){this._mdf=!1,this.prepareRenderableFrame(B),this.prepareProperties(B,this.isInRange),this.checkTransparency()},destroy:function(){this.innerElem=null,this.destroyBaseElement()}})],RenderableDOMElement),extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var B=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",B),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect},IShapeElement.prototype={addShapeToModifiers:function(B){var R,F=this.shapeModifiers.length;for(R=0;R<F;R+=1)this.shapeModifiers[R].addShape(B)},isShapeInAnimatedModifiers:function(B){for(var R=this.shapeModifiers.length;0<R;)if(this.shapeModifiers[0].isAnimatedWithShape(B))return!0;return!1},renderModifiers:function(){if(this.shapeModifiers.length){var B,R=this.shapes.length;for(B=0;B<R;B+=1)this.shapes[B].sh.reset();for(B=(R=this.shapeModifiers.length)-1;B>=0&&!this.shapeModifiers[B].processShapes(this._isFirstFrame);B-=1);}},searchProcessedElement:function(B){for(var R=this.processedElements,F=0,D=R.length;F<D;){if(R[F].elem===B)return R[F].pos;F+=1}return 0},addProcessedElement:function(B,R){for(var F=this.processedElements,D=F.length;D;)if(F[D-=1].elem===B)return void(F[D].pos=R);F.push(new ProcessedElement(B,R))},prepareFrame:function(B){this.prepareRenderableFrame(B),this.prepareProperties(B,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(B,R,F){this.caches=[],this.styles=[],this.transformers=B,this.lStr="",this.sh=F,this.lvl=R,this._isAnimated=!!F.k;for(var D=0,G=B.length;D<G;){if(B[D].mProps.dynamicProperties.length){this._isAnimated=!0;break}D+=1}}function SVGStyleData(B,R){this.data=B,this.type=B.ty,this.d="",this.lvl=R,this._mdf=!1,this.closed=B.hd===!0,this.pElem=createNS("path"),this.msElem=null}function DashProperty(B,R,F,D){var G;this.elem=B,this.frameId=-1,this.dataProps=createSizedArray(R.length),this.renderer=F,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",R.length?R.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(D);var U,W=R.length||0;for(G=0;G<W;G+=1)U=PropertyFactory.getProp(B,R[G].v,0,0,this),this.k=U.k||this.k,this.dataProps[G]={n:R[G].n,p:U};this.k||this.getValue(!0),this._isAnimated=this.k}function SVGStrokeStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(B,R.o,0,.01,this),this.w=PropertyFactory.getProp(B,R.w,0,null,this),this.d=new DashProperty(B,R.d||{},"svg",this),this.c=PropertyFactory.getProp(B,R.c,1,255,this),this.style=F,this._isAnimated=!!this._isAnimated}function SVGFillStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(B,R.o,0,.01,this),this.c=PropertyFactory.getProp(B,R.c,1,255,this),this.style=F}function SVGNoStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.style=F}function GradientProperty(B,R,F){this.data=R,this.c=createTypedArray("uint8c",4*R.p);var D=R.k.k[0].s?R.k.k[0].s.length-4*R.p:R.k.k.length-4*R.p;this.o=createTypedArray("float32",D),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=D,this.initDynamicPropertyContainer(F),this.prop=PropertyFactory.getProp(B,R.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}function SVGGradientFillStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.initGradientData(B,R,F)}function SVGGradientStrokeStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(B,R.w,0,null,this),this.d=new DashProperty(B,R.d||{},"svg",this),this.initGradientData(B,R,F),this._isAnimated=!!this._isAnimated}function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(B,R,F){this.transform={mProps:B,op:R,container:F},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0},SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1},DashProperty.prototype.getValue=function(B){if((this.elem.globalData.frameId!==this.frameId||B)&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||B,this._mdf)){var R=0,F=this.dataProps.length;for(this.renderer==="svg"&&(this.dashStr=""),R=0;R<F;R+=1)this.dataProps[R].n!=="o"?this.renderer==="svg"?this.dashStr+=" "+this.dataProps[R].p.v:this.dashArray[R]=this.dataProps[R].p.v:this.dashoffset[0]=this.dataProps[R].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty),extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData),extendPrototype([DynamicPropertyContainer],SVGFillStyleData),extendPrototype([DynamicPropertyContainer],SVGNoStyleData),GradientProperty.prototype.comparePoints=function(B,R){for(var F=0,D=this.o.length/2;F<D;){if(Math.abs(B[4*F]-B[4*R+2*F])>.01)return!1;F+=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 B=0,R=this.data.k.k.length;B<R;){if(!this.comparePoints(this.data.k.k[B].s,this.data.p))return!1;B+=1}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(B){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||B){var R,F,D,G=4*this.data.p;for(R=0;R<G;R+=1)F=R%4==0?100:255,D=Math.round(this.prop.v[R]*F),this.c[R]!==D&&(this.c[R]=D,this._cmdf=!B);if(this.o.length)for(G=this.prop.v.length,R=4*this.data.p;R<G;R+=1)F=R%2==0?100:1,D=R%2==0?Math.round(100*this.prop.v[R]):this.prop.v[R],this.o[R-4*this.data.p]!==D&&(this.o[R-4*this.data.p]=D,this._omdf=!B);this._mdf=!B}},extendPrototype([DynamicPropertyContainer],GradientProperty),SVGGradientFillStyleData.prototype.initGradientData=function(B,R,F){this.o=PropertyFactory.getProp(B,R.o,0,.01,this),this.s=PropertyFactory.getProp(B,R.s,1,null,this),this.e=PropertyFactory.getProp(B,R.e,1,null,this),this.h=PropertyFactory.getProp(B,R.h||{k:0},0,.01,this),this.a=PropertyFactory.getProp(B,R.a||{k:0},0,degToRads,this),this.g=new GradientProperty(B,R.g,this),this.style=F,this.stops=[],this.setGradientData(F.pElem,R),this.setGradientOpacity(R,F),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(B,R){var F=createElementID(),D=createNS(R.t===1?"linearGradient":"radialGradient");D.setAttribute("id",F),D.setAttribute("spreadMethod","pad"),D.setAttribute("gradientUnits","userSpaceOnUse");var G,U,W,q=[];for(W=4*R.g.p,U=0;U<W;U+=4)G=createNS("stop"),D.appendChild(G),q.push(G);B.setAttribute(R.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+F+")"),this.gf=D,this.cst=q},SVGGradientFillStyleData.prototype.setGradientOpacity=function(B,R){if(this.g._hasOpacity&&!this.g._collapsable){var F,D,G,U=createNS("mask"),W=createNS("path");U.appendChild(W);var q=createElementID(),Y=createElementID();U.setAttribute("id",Y);var Q=createNS(B.t===1?"linearGradient":"radialGradient");Q.setAttribute("id",q),Q.setAttribute("spreadMethod","pad"),Q.setAttribute("gradientUnits","userSpaceOnUse"),G=B.g.k.k[0].s?B.g.k.k[0].s.length:B.g.k.k.length;var Z=this.stops;for(D=4*B.g.p;D<G;D+=2)(F=createNS("stop")).setAttribute("stop-color","rgb(255,255,255)"),Q.appendChild(F),Z.push(F);W.setAttribute(B.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+q+")"),B.ty==="gs"&&(W.setAttribute("stroke-linecap",lineCapEnum[B.lc||2]),W.setAttribute("stroke-linejoin",lineJoinEnum[B.lj||2]),B.lj===1&&W.setAttribute("stroke-miterlimit",B.ml)),this.of=Q,this.ms=U,this.ost=Z,this.maskId=Y,R.msElem=W}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData),extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);var buildShapeString=function(B,R,F,D){if(R===0)return"";var G,U=B.o,W=B.i,q=B.v,Y=" M"+D.applyToPointStringified(q[0][0],q[0][1]);for(G=1;G<R;G+=1)Y+=" C"+D.applyToPointStringified(U[G-1][0],U[G-1][1])+" "+D.applyToPointStringified(W[G][0],W[G][1])+" "+D.applyToPointStringified(q[G][0],q[G][1]);return F&&R&&(Y+=" C"+D.applyToPointStringified(U[G-1][0],U[G-1][1])+" "+D.applyToPointStringified(W[0][0],W[0][1])+" "+D.applyToPointStringified(q[0][0],q[0][1]),Y+="z"),Y},SVGElementsRenderer=function(){var B=new Matrix,R=new Matrix;function F(Q,Z,K){(K||Z.transform.op._mdf)&&Z.transform.container.setAttribute("opacity",Z.transform.op.v),(K||Z.transform.mProps._mdf)&&Z.transform.container.setAttribute("transform",Z.transform.mProps.v.to2dCSS())}function D(){}function G(Q,Z,K){var J,ie,ne,se,re,ae,le,ce,he,de,me,fe=Z.styles.length,ge=Z.lvl;for(ae=0;ae<fe;ae+=1){if(se=Z.sh._mdf||K,Z.styles[ae].lvl<ge){for(ce=R.reset(),de=ge-Z.styles[ae].lvl,me=Z.transformers.length-1;!se&&de>0;)se=Z.transformers[me].mProps._mdf||se,de-=1,me-=1;if(se)for(de=ge-Z.styles[ae].lvl,me=Z.transformers.length-1;de>0;)he=Z.transformers[me].mProps.v.props,ce.transform(he[0],he[1],he[2],he[3],he[4],he[5],he[6],he[7],he[8],he[9],he[10],he[11],he[12],he[13],he[14],he[15]),de-=1,me-=1}else ce=B;if(ie=(le=Z.sh.paths)._length,se){for(ne="",J=0;J<ie;J+=1)(re=le.shapes[J])&&re._length&&(ne+=buildShapeString(re,re._length,re.c,ce));Z.caches[ae]=ne}else ne=Z.caches[ae];Z.styles[ae].d+=Q.hd===!0?"":ne,Z.styles[ae]._mdf=se||Z.styles[ae]._mdf}}function U(Q,Z,K){var J=Z.style;(Z.c._mdf||K)&&J.pElem.setAttribute("fill","rgb("+bmFloor(Z.c.v[0])+","+bmFloor(Z.c.v[1])+","+bmFloor(Z.c.v[2])+")"),(Z.o._mdf||K)&&J.pElem.setAttribute("fill-opacity",Z.o.v)}function W(Q,Z,K){q(Q,Z,K),Y(Q,Z,K)}function q(Q,Z,K){var J,ie,ne,se,re,ae=Z.gf,le=Z.g._hasOpacity,ce=Z.s.v,he=Z.e.v;if(Z.o._mdf||K){var de=Q.ty==="gf"?"fill-opacity":"stroke-opacity";Z.style.pElem.setAttribute(de,Z.o.v)}if(Z.s._mdf||K){var me=Q.t===1?"x1":"cx",fe=me==="x1"?"y1":"cy";ae.setAttribute(me,ce[0]),ae.setAttribute(fe,ce[1]),le&&!Z.g._collapsable&&(Z.of.setAttribute(me,ce[0]),Z.of.setAttribute(fe,ce[1]))}if(Z.g._cmdf||K){J=Z.cst;var ge=Z.g.c;for(ne=J.length,ie=0;ie<ne;ie+=1)(se=J[ie]).setAttribute("offset",ge[4*ie]+"%"),se.setAttribute("stop-color","rgb("+ge[4*ie+1]+","+ge[4*ie+2]+","+ge[4*ie+3]+")")}if(le&&(Z.g._omdf||K)){var Se=Z.g.o;for(ne=(J=Z.g._collapsable?Z.cst:Z.ost).length,ie=0;ie<ne;ie+=1)se=J[ie],Z.g._collapsable||se.setAttribute("offset",Se[2*ie]+"%"),se.setAttribute("stop-opacity",Se[2*ie+1])}if(Q.t===1)(Z.e._mdf||K)&&(ae.setAttribute("x2",he[0]),ae.setAttribute("y2",he[1]),le&&!Z.g._collapsable&&(Z.of.setAttribute("x2",he[0]),Z.of.setAttribute("y2",he[1])));else if((Z.s._mdf||Z.e._mdf||K)&&(re=Math.sqrt(Math.pow(ce[0]-he[0],2)+Math.pow(ce[1]-he[1],2)),ae.setAttribute("r",re),le&&!Z.g._collapsable&&Z.of.setAttribute("r",re)),Z.e._mdf||Z.h._mdf||Z.a._mdf||K){re||(re=Math.sqrt(Math.pow(ce[0]-he[0],2)+Math.pow(ce[1]-he[1],2)));var Ee=Math.atan2(he[1]-ce[1],he[0]-ce[0]),ve=Z.h.v;ve>=1?ve=.99:ve<=-1&&(ve=-.99);var xe=re*ve,Pe=Math.cos(Ee+Z.a.v)*xe+ce[0],ye=Math.sin(Ee+Z.a.v)*xe+ce[1];ae.setAttribute("fx",Pe),ae.setAttribute("fy",ye),le&&!Z.g._collapsable&&(Z.of.setAttribute("fx",Pe),Z.of.setAttribute("fy",ye))}}function Y(Q,Z,K){var J=Z.style,ie=Z.d;ie&&(ie._mdf||K)&&ie.dashStr&&(J.pElem.setAttribute("stroke-dasharray",ie.dashStr),J.pElem.setAttribute("stroke-dashoffset",ie.dashoffset[0])),Z.c&&(Z.c._mdf||K)&&J.pElem.setAttribute("stroke","rgb("+bmFloor(Z.c.v[0])+","+bmFloor(Z.c.v[1])+","+bmFloor(Z.c.v[2])+")"),(Z.o._mdf||K)&&J.pElem.setAttribute("stroke-opacity",Z.o.v),(Z.w._mdf||K)&&(J.pElem.setAttribute("stroke-width",Z.w.v),J.msElem&&J.msElem.setAttribute("stroke-width",Z.w.v))}return{createRenderFunction:function(Q){switch(Q.ty){case"fl":return U;case"gf":return q;case"gs":return W;case"st":return Y;case"sh":case"el":case"rc":case"sr":return G;case"tr":return F;case"no":return D;default:return null}}}}();function SVGShapeElement(B,R,F){this.shapes=[],this.shapesData=B.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(B,R,F),this.prevViewData=[]}function LetterProps(B,R,F,D,G,U){this.o=B,this.sw=R,this.sc=F,this.fc=D,this.m=G,this.p=U,this._mdf={o:!0,sw:!!R,sc:!!F,fc:!!D,m:!0,p:!0}}function TextProperty(B,R){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,this.data=R,this.elem=B,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}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 B,R,F,D,G=this.shapes.length,U=this.stylesList.length,W=[],q=!1;for(F=0;F<U;F+=1){for(D=this.stylesList[F],q=!1,W.length=0,B=0;B<G;B+=1)(R=this.shapes[B]).styles.indexOf(D)!==-1&&(W.push(R),q=R._isAnimated||q);W.length>1&&q&&this.setShapesAsAnimated(W)}},SVGShapeElement.prototype.setShapesAsAnimated=function(B){var R,F=B.length;for(R=0;R<F;R+=1)B[R].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(B,R){var F,D=new SVGStyleData(B,R),G=D.pElem;return B.ty==="st"?F=new SVGStrokeStyleData(this,B,D):B.ty==="fl"?F=new SVGFillStyleData(this,B,D):B.ty==="gf"||B.ty==="gs"?(F=new(B.ty==="gf"?SVGGradientFillStyleData:SVGGradientStrokeStyleData)(this,B,D),this.globalData.defs.appendChild(F.gf),F.maskId&&(this.globalData.defs.appendChild(F.ms),this.globalData.defs.appendChild(F.of),G.setAttribute("mask","url("+getLocationHref()+"#"+F.maskId+")"))):B.ty==="no"&&(F=new SVGNoStyleData(this,B,D)),B.ty!=="st"&&B.ty!=="gs"||(G.setAttribute("stroke-linecap",lineCapEnum[B.lc||2]),G.setAttribute("stroke-linejoin",lineJoinEnum[B.lj||2]),G.setAttribute("fill-opacity","0"),B.lj===1&&G.setAttribute("stroke-miterlimit",B.ml)),B.r===2&&G.setAttribute("fill-rule","evenodd"),B.ln&&G.setAttribute("id",B.ln),B.cl&&G.setAttribute("class",B.cl),B.bm&&(G.style["mix-blend-mode"]=getBlendMode(B.bm)),this.stylesList.push(D),this.addToAnimatedContents(B,F),F},SVGShapeElement.prototype.createGroupElement=function(B){var R=new ShapeGroupData;return B.ln&&R.gr.setAttribute("id",B.ln),B.cl&&R.gr.setAttribute("class",B.cl),B.bm&&(R.gr.style["mix-blend-mode"]=getBlendMode(B.bm)),R},SVGShapeElement.prototype.createTransformElement=function(B,R){var F=TransformPropertyFactory.getTransformProperty(this,B,this),D=new SVGTransformData(F,F.o,R);return this.addToAnimatedContents(B,D),D},SVGShapeElement.prototype.createShapeElement=function(B,R,F){var D=4;B.ty==="rc"?D=5:B.ty==="el"?D=6:B.ty==="sr"&&(D=7);var G=new SVGShapeData(R,F,ShapePropertyFactory.getShapeProp(this,B,D,this));return this.shapes.push(G),this.addShapeToModifiers(G),this.addToAnimatedContents(B,G),G},SVGShapeElement.prototype.addToAnimatedContents=function(B,R){for(var F=0,D=this.animatedContents.length;F<D;){if(this.animatedContents[F].element===R)return;F+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(B),element:R,data:B})},SVGShapeElement.prototype.setElementStyles=function(B){var R,F=B.styles,D=this.stylesList.length;for(R=0;R<D;R+=1)this.stylesList[R].closed||F.push(this.stylesList[R])},SVGShapeElement.prototype.reloadShapes=function(){var B;this._isFirstFrame=!0;var R=this.itemsData.length;for(B=0;B<R;B+=1)this.prevViewData[B]=this.itemsData[B];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),R=this.dynamicProperties.length,B=0;B<R;B+=1)this.dynamicProperties[B].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(B,R,F,D,G,U,W){var q,Y,Q,Z,K,J,ie=[].concat(U),ne=B.length-1,se=[],re=[];for(q=ne;q>=0;q-=1){if((J=this.searchProcessedElement(B[q]))?R[q]=F[J-1]:B[q]._render=W,B[q].ty==="fl"||B[q].ty==="st"||B[q].ty==="gf"||B[q].ty==="gs"||B[q].ty==="no")J?R[q].style.closed=!1:R[q]=this.createStyleElement(B[q],G),B[q]._render&&R[q].style.pElem.parentNode!==D&&D.appendChild(R[q].style.pElem),se.push(R[q].style);else if(B[q].ty==="gr"){if(J)for(Q=R[q].it.length,Y=0;Y<Q;Y+=1)R[q].prevViewData[Y]=R[q].it[Y];else R[q]=this.createGroupElement(B[q]);this.searchShapes(B[q].it,R[q].it,R[q].prevViewData,R[q].gr,G+1,ie,W),B[q]._render&&R[q].gr.parentNode!==D&&D.appendChild(R[q].gr)}else B[q].ty==="tr"?(J||(R[q]=this.createTransformElement(B[q],D)),Z=R[q].transform,ie.push(Z)):B[q].ty==="sh"||B[q].ty==="rc"||B[q].ty==="el"||B[q].ty==="sr"?(J||(R[q]=this.createShapeElement(B[q],ie,G)),this.setElementStyles(R[q])):B[q].ty==="tm"||B[q].ty==="rd"||B[q].ty==="ms"||B[q].ty==="pb"?(J?(K=R[q]).closed=!1:((K=ShapeModifiers.getModifier(B[q].ty)).init(this,B[q]),R[q]=K,this.shapeModifiers.push(K)),re.push(K)):B[q].ty==="rp"&&(J?(K=R[q]).closed=!0:(K=ShapeModifiers.getModifier(B[q].ty),R[q]=K,K.init(this,B,q,R),this.shapeModifiers.push(K),W=!1),re.push(K));this.addProcessedElement(B[q],q+1)}for(ne=se.length,q=0;q<ne;q+=1)se[q].closed=!0;for(ne=re.length,q=0;q<ne;q+=1)re[q].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){var B;this.renderModifiers();var R=this.stylesList.length;for(B=0;B<R;B+=1)this.stylesList[B].reset();for(this.renderShape(),B=0;B<R;B+=1)(this.stylesList[B]._mdf||this._isFirstFrame)&&(this.stylesList[B].msElem&&(this.stylesList[B].msElem.setAttribute("d",this.stylesList[B].d),this.stylesList[B].d="M0 0"+this.stylesList[B].d),this.stylesList[B].pElem.setAttribute("d",this.stylesList[B].d||"M0 0"))},SVGShapeElement.prototype.renderShape=function(){var B,R,F=this.animatedContents.length;for(B=0;B<F;B+=1)R=this.animatedContents[B],(this._isFirstFrame||R.element._isAnimated)&&R.data!==!0&&R.fn(R.data,R.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null},LetterProps.prototype.update=function(B,R,F,D,G,U){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var W=!1;return this.o!==B&&(this.o=B,this._mdf.o=!0,W=!0),this.sw!==R&&(this.sw=R,this._mdf.sw=!0,W=!0),this.sc!==F&&(this.sc=F,this._mdf.sc=!0,W=!0),this.fc!==D&&(this.fc=D,this._mdf.fc=!0,W=!0),this.m!==G&&(this.m=G,this._mdf.m=!0,W=!0),!U.length||this.p[0]===U[0]&&this.p[1]===U[1]&&this.p[4]===U[4]&&this.p[5]===U[5]&&this.p[12]===U[12]&&this.p[13]===U[13]||(this.p=U,this._mdf.p=!0,W=!0),W},TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(B,R){for(var F in R)Object.prototype.hasOwnProperty.call(R,F)&&(B[F]=R[F]);return B},TextProperty.prototype.setCurrentData=function(B){B.__complete||this.completeTextData(B),this.currentData=B,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){return this.kf=this.data.d.k.length>1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(B){this.effectsSequence.push(B),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(B){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||B){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var R=this.currentData,F=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var D;this.lock=!0,this._mdf=!1;var G=this.effectsSequence.length,U=B||this.data.d.k[this.keysIndex].s;for(D=0;D<G;D+=1)U=F!==this.keysIndex?this.effectsSequence[D](U,U.t):this.effectsSequence[D](this.currentData,U.t);R!==U&&this.setCurrentData(U),this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId}}},TextProperty.prototype.getKeyframeValue=function(){for(var B=this.data.d.k,R=this.elem.comp.renderedFrame,F=0,D=B.length;F<=D-1&&!(F===D-1||B[F+1].t>R);)F+=1;return this.keysIndex!==F&&(this.keysIndex=F),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(B){for(var R,F,D=[],G=0,U=B.length,W=!1;G<U;)R=B.charCodeAt(G),FontManager.isCombinedCharacter(R)?D[D.length-1]+=B.charAt(G):R>=55296&&R<=56319?(F=B.charCodeAt(G+1))>=56320&&F<=57343?(W||FontManager.isModifier(R,F)?(D[D.length-1]+=B.substr(G,2),W=!1):D.push(B.substr(G,2)),G+=1):D.push(B.charAt(G)):R>56319?(F=B.charCodeAt(G+1),FontManager.isZeroWidthJoiner(R,F)?(W=!0,D[D.length-1]+=B.substr(G,2),G+=1):D.push(B.charAt(G))):FontManager.isZeroWidthJoiner(R)?(D[D.length-1]+=B.charAt(G),W=!0):D.push(B.charAt(G)),G+=1;return D},TextProperty.prototype.completeTextData=function(B){B.__complete=!0;var R,F,D,G,U,W,q,Y=this.elem.globalData.fontManager,Q=this.data,Z=[],K=0,J=Q.m.g,ie=0,ne=0,se=0,re=[],ae=0,le=0,ce=Y.getFontByName(B.f),he=0,de=getFontProperties(ce);B.fWeight=de.weight,B.fStyle=de.style,B.finalSize=B.s,B.finalText=this.buildFinalText(B.t),F=B.finalText.length,B.finalLineHeight=B.lh;var me,fe=B.tr/1e3*B.finalSize;if(B.sz)for(var ge,Se,Ee=!0,ve=B.sz[0],xe=B.sz[1];Ee;){ge=0,ae=0,F=(Se=this.buildFinalText(B.t)).length,fe=B.tr/1e3*B.finalSize;var Pe=-1;for(R=0;R<F;R+=1)me=Se[R].charCodeAt(0),D=!1,Se[R]===" "?Pe=R:me!==13&&me!==3||(ae=0,D=!0,ge+=B.finalLineHeight||1.2*B.finalSize),Y.chars?(q=Y.getCharData(Se[R],ce.fStyle,ce.fFamily),he=D?0:q.w*B.finalSize/100):he=Y.measureText(Se[R],B.f,B.finalSize),ae+he>ve&&Se[R]!==" "?(Pe===-1?F+=1:R=Pe,ge+=B.finalLineHeight||1.2*B.finalSize,Se.splice(R,Pe===R?1:0,"\r"),Pe=-1,ae=0):(ae+=he,ae+=fe);ge+=ce.ascent*B.finalSize/100,this.canResize&&B.finalSize>this.minimumFontSize&&xe<ge?(B.finalSize-=1,B.finalLineHeight=B.finalSize*B.lh/B.s):(B.finalText=Se,F=B.finalText.length,Ee=!1)}ae=-fe,he=0;var ye,Te=0;for(R=0;R<F;R+=1)if(D=!1,(me=(ye=B.finalText[R]).charCodeAt(0))===13||me===3?(Te=0,re.push(ae),le=ae>le?ae:le,ae=-2*fe,G="",D=!0,se+=1):G=ye,Y.chars?(q=Y.getCharData(ye,ce.fStyle,Y.getFontByName(B.f).fFamily),he=D?0:q.w*B.finalSize/100):he=Y.measureText(G,B.f,B.finalSize),ye===" "?Te+=he+fe:(ae+=he+fe+Te,Te=0),Z.push({l:he,an:he,add:ie,n:D,anIndexes:[],val:G,line:se,animatorJustifyOffset:0}),J==2){if(ie+=he,G===""||G===" "||R===F-1){for(G!==""&&G!==" "||(ie-=he);ne<=R;)Z[ne].an=ie,Z[ne].ind=K,Z[ne].extra=he,ne+=1;K+=1,ie=0}}else if(J==3){if(ie+=he,G===""||R===F-1){for(G===""&&(ie-=he);ne<=R;)Z[ne].an=ie,Z[ne].ind=K,Z[ne].extra=he,ne+=1;ie=0,K+=1}}else Z[K].ind=K,Z[K].extra=0,K+=1;if(B.l=Z,le=ae>le?ae:le,re.push(ae),B.sz)B.boxWidth=B.sz[0],B.justifyOffset=0;else switch(B.boxWidth=le,B.j){case 1:B.justifyOffset=-B.boxWidth;break;case 2:B.justifyOffset=-B.boxWidth/2;break;default:B.justifyOffset=0}B.lineWidths=re;var Le,we,Ae,Me,ke=Q.a;W=ke.length;var Ne=[];for(U=0;U<W;U+=1){for((Le=ke[U]).a.sc&&(B.strokeColorAnim=!0),Le.a.sw&&(B.strokeWidthAnim=!0),(Le.a.fc||Le.a.fh||Le.a.fs||Le.a.fb)&&(B.fillColorAnim=!0),Me=0,Ae=Le.s.b,R=0;R<F;R+=1)(we=Z[R]).anIndexes[U]=Me,(Ae==1&&we.val!==""||Ae==2&&we.val!==""&&we.val!==" "||Ae==3&&(we.n||we.val==" "||R==F-1)||Ae==4&&(we.n||R==F-1))&&(Le.s.rn===1&&Ne.push(Me),Me+=1);Q.a[U].s.totalChars=Me;var Ie,Ge=-1;if(Le.s.rn===1)for(R=0;R<F;R+=1)Ge!=(we=Z[R]).anIndexes[U]&&(Ge=we.anIndexes[U],Ie=Ne.splice(Math.floor(Math.random()*Ne.length),1)[0]),we.anIndexes[U]=Ie}B.yOffset=B.finalLineHeight||1.2*B.finalSize,B.ls=B.ls||0,B.ascent=ce.ascent*B.finalSize/100},TextProperty.prototype.updateDocumentData=function(B,R){R=R===void 0?this.keysIndex:R;var F=this.copyData({},this.data.d.k[R].s);F=this.copyData(F,B),this.data.d.k[R].s=F,this.recalculate(R),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(B){var R=this.data.d.k[B].s;R.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(R)},TextProperty.prototype.canResizeFont=function(B){this.canResize=B,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(B){this.minimumFontSize=Math.floor(B)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var B=Math.max,R=Math.min,F=Math.floor;function D(G,U){this._currentTextLength=-1,this.k=!1,this.data=U,this.elem=G,this.comp=G.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(G),this.s=PropertyFactory.getProp(G,U.s||{k:0},0,0,this),this.e="e"in U?PropertyFactory.getProp(G,U.e,0,0,this):{v:100},this.o=PropertyFactory.getProp(G,U.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(G,U.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(G,U.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(G,U.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(G,U.a,0,.01,this),this.dynamicProperties.length||this.getValue()}return D.prototype={getMult:function(G){this._currentTextLength!==this.elem.textProperty.currentData.l.length&&this.getValue();var U=0,W=0,q=1,Y=1;this.ne.v>0?U=this.ne.v/100:W=-this.ne.v/100,this.xe.v>0?q=1-this.xe.v/100:Y=1+this.xe.v/100;var Q=BezierFactory.getBezierEasing(U,W,q,Y).get,Z=0,K=this.finalS,J=this.finalE,ie=this.data.sh;if(ie===2)Z=Q(Z=J===K?G>=J?1:0:B(0,R(.5/(J-K)+(G-K)/(J-K),1)));else if(ie===3)Z=Q(Z=J===K?G>=J?0:1:1-B(0,R(.5/(J-K)+(G-K)/(J-K),1)));else if(ie===4)J===K?Z=0:(Z=B(0,R(.5/(J-K)+(G-K)/(J-K),1)))<.5?Z*=2:Z=1-2*(Z-.5),Z=Q(Z);else if(ie===5){if(J===K)Z=0;else{var ne=J-K,se=-ne/2+(G=R(B(0,G+.5-K),J-K)),re=ne/2;Z=Math.sqrt(1-se*se/(re*re))}Z=Q(Z)}else ie===6?(J===K?Z=0:(G=R(B(0,G+.5-K),J-K),Z=(1+Math.cos(Math.PI+2*Math.PI*G/(J-K)))/2),Z=Q(Z)):(G>=F(K)&&(Z=B(0,R(G-K<0?R(J,1)-(K-G):J-G,1))),Z=Q(Z));if(this.sm.v!==100){var ae=.01*this.sm.v;ae===0&&(ae=1e-8);var le=.5-.5*ae;Z<le?Z=0:(Z=(Z-le)/ae)>1&&(Z=1)}return Z*this.a.v},getValue:function(G){this.iterateDynamicProperties(),this._mdf=G||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,G&&this.data.r===2&&(this.e.v=this._currentTextLength);var U=this.data.r===2?1:100/this.data.totalChars,W=this.o.v/U,q=this.s.v/U+W,Y=this.e.v/U+W;if(q>Y){var Q=q;q=Y,Y=Q}this.finalS=q,this.finalE=Y}},extendPrototype([DynamicPropertyContainer],D),{getTextSelectorProp:function(G,U,W){return new D(G,U)}}}();function TextAnimatorDataProperty(B,R,F){var D={propType:!1},G=PropertyFactory.getProp,U=R.a;this.a={r:U.r?G(B,U.r,0,degToRads,F):D,rx:U.rx?G(B,U.rx,0,degToRads,F):D,ry:U.ry?G(B,U.ry,0,degToRads,F):D,sk:U.sk?G(B,U.sk,0,degToRads,F):D,sa:U.sa?G(B,U.sa,0,degToRads,F):D,s:U.s?G(B,U.s,1,.01,F):D,a:U.a?G(B,U.a,1,0,F):D,o:U.o?G(B,U.o,0,.01,F):D,p:U.p?G(B,U.p,1,0,F):D,sw:U.sw?G(B,U.sw,0,0,F):D,sc:U.sc?G(B,U.sc,1,0,F):D,fc:U.fc?G(B,U.fc,1,0,F):D,fh:U.fh?G(B,U.fh,0,0,F):D,fs:U.fs?G(B,U.fs,0,.01,F):D,fb:U.fb?G(B,U.fb,0,.01,F):D,t:U.t?G(B,U.t,0,0,F):D},this.s=TextSelectorProp.getTextSelectorProp(B,R.s,F),this.s.t=R.s.t}function TextAnimatorProperty(B,R,F){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=B,this._renderType=R,this._elem=F,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(F)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var B,R,F=this._textData.a.length,D=PropertyFactory.getProp;for(B=0;B<F;B+=1)R=this._textData.a[B],this._animatorsData[B]=new TextAnimatorDataProperty(this._elem,R,this);this._textData.p&&"m"in this._textData.p?(this._pathData={a:D(this._elem,this._textData.p.a,0,0,this),f:D(this._elem,this._textData.p.f,0,0,this),l:D(this._elem,this._textData.p.l,0,0,this),r:D(this._elem,this._textData.p.r,0,0,this),p:D(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0):this._hasMaskedPath=!1,this._moreOptions.alignment=D(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(B,R){if(this.lettersChangedFlag=R,this._mdf||this._isFirstFrame||R||this._hasMaskedPath&&this._pathData.m._mdf){this._isFirstFrame=!1;var F,D,G,U,W,q,Y,Q,Z,K,J,ie,ne,se,re,ae,le,ce,he,de=this._moreOptions.alignment.v,me=this._animatorsData,fe=this._textData,ge=this.mHelper,Se=this._renderType,Ee=this.renderedLetters.length,ve=B.l;if(this._hasMaskedPath){if(he=this._pathData.m,!this._pathData.n||this._pathData._mdf){var xe,Pe=he.v;for(this._pathData.r.v&&(Pe=Pe.reverse()),W={tLength:0,segments:[]},U=Pe._length-1,ae=0,G=0;G<U;G+=1)xe=bez.buildBezierData(Pe.v[G],Pe.v[G+1],[Pe.o[G][0]-Pe.v[G][0],Pe.o[G][1]-Pe.v[G][1]],[Pe.i[G+1][0]-Pe.v[G+1][0],Pe.i[G+1][1]-Pe.v[G+1][1]]),W.tLength+=xe.segmentLength,W.segments.push(xe),ae+=xe.segmentLength;G=U,he.v.c&&(xe=bez.buildBezierData(Pe.v[G],Pe.v[0],[Pe.o[G][0]-Pe.v[G][0],Pe.o[G][1]-Pe.v[G][1]],[Pe.i[0][0]-Pe.v[0][0],Pe.i[0][1]-Pe.v[0][1]]),W.tLength+=xe.segmentLength,W.segments.push(xe),ae+=xe.segmentLength),this._pathData.pi=W}if(W=this._pathData.pi,q=this._pathData.f.v,J=0,K=1,Q=0,Z=!0,se=W.segments,q<0&&he.v.c)for(W.tLength<Math.abs(q)&&(q=-Math.abs(q)%W.tLength),K=(ne=se[J=se.length-1].points).length-1;q<0;)q+=ne[K].partialLength,(K-=1)<0&&(K=(ne=se[J-=1].points).length-1);ie=(ne=se[J].points)[K-1],re=(Y=ne[K]).partialLength}U=ve.length,F=0,D=0;var ye,Te,Le,we,Ae,Me=1.2*B.finalSize*.714,ke=!0;Le=me.length;var Ne,Ie,Ge,ze,Ve,Ye,et,Je,st,pt,dt,yt,Fe=-1,_e=q,je=J,Ze=K,De=-1,Oe="",Xe=this.defaultPropsArray;if(B.j===2||B.j===1){var tt=0,nt=0,Ke=B.j===2?-.5:-1,ct=0,ut=!0;for(G=0;G<U;G+=1)if(ve[G].n){for(tt&&(tt+=nt);ct<G;)ve[ct].animatorJustifyOffset=tt,ct+=1;tt=0,ut=!0}else{for(Te=0;Te<Le;Te+=1)(ye=me[Te].a).t.propType&&(ut&&B.j===2&&(nt+=ye.t.v*Ke),(Ae=me[Te].s.getMult(ve[G].anIndexes[Te],fe.a[Te].s.totalChars)).length?tt+=ye.t.v*Ae[0]*Ke:tt+=ye.t.v*Ae*Ke);ut=!1}for(tt&&(tt+=nt);ct<G;)ve[ct].animatorJustifyOffset=tt,ct+=1}for(G=0;G<U;G+=1){if(ge.reset(),ze=1,ve[G].n)F=0,D+=B.yOffset,D+=ke?1:0,q=_e,ke=!1,this._hasMaskedPath&&(K=Ze,ie=(ne=se[J=je].points)[K-1],re=(Y=ne[K]).partialLength,Q=0),Oe="",dt="",st="",yt="",Xe=this.defaultPropsArray;else{if(this._hasMaskedPath){if(De!==ve[G].line){switch(B.j){case 1:q+=ae-B.lineWidths[ve[G].line];break;case 2:q+=(ae-B.lineWidths[ve[G].line])/2}De=ve[G].line}Fe!==ve[G].ind&&(ve[Fe]&&(q+=ve[Fe].extra),q+=ve[G].an/2,Fe=ve[G].ind),q+=de[0]*ve[G].an*.005;var ht=0;for(Te=0;Te<Le;Te+=1)(ye=me[Te].a).p.propType&&((Ae=me[Te].s.getMult(ve[G].anIndexes[Te],fe.a[Te].s.totalChars)).length?ht+=ye.p.v[0]*Ae[0]:ht+=ye.p.v[0]*Ae),ye.a.propType&&((Ae=me[Te].s.getMult(ve[G].anIndexes[Te],fe.a[Te].s.totalChars)).length?ht+=ye.a.v[0]*Ae[0]:ht+=ye.a.v[0]*Ae);for(Z=!0,this._pathData.a.v&&(q=.5*ve[0].an+(ae-this._pathData.f.v-.5*ve[0].an-.5*ve[ve.length-1].an)*Fe/(U-1),q+=this._pathData.f.v);Z;)Q+re>=q+ht||!ne?(le=(q+ht-Q)/Y.partialLength,Ie=ie.point[0]+(Y.point[0]-ie.point[0])*le,Ge=ie.point[1]+(Y.point[1]-ie.point[1])*le,ge.translate(-de[0]*ve[G].an*.005,-de[1]*Me*.01),Z=!1):ne&&(Q+=Y.partialLength,(K+=1)>=ne.length&&(K=0,se[J+=1]?ne=se[J].points:he.v.c?(K=0,ne=se[J=0].points):(Q-=Y.partialLength,ne=null)),ne&&(ie=Y,re=(Y=ne[K]).partialLength));Ne=ve[G].an/2-ve[G].add,ge.translate(-Ne,0,0)}else Ne=ve[G].an/2-ve[G].add,ge.translate(-Ne,0,0),ge.translate(-de[0]*ve[G].an*.005,-de[1]*Me*.01,0);for(Te=0;Te<Le;Te+=1)(ye=me[Te].a).t.propType&&(Ae=me[Te].s.getMult(ve[G].anIndexes[Te],fe.a[Te].s.totalChars),F===0&&B.j===0||(this._hasMaskedPath?Ae.length?q+=ye.t.v*Ae[0]:q+=ye.t.v*Ae:Ae.length?F+=ye.t.v*Ae[0]:F+=ye.t.v*Ae));for(B.strokeWidthAnim&&(Ye=B.sw||0),B.strokeColorAnim&&(Ve=B.sc?[B.sc[0],B.sc[1],B.sc[2]]:[0,0,0]),B.fillColorAnim&&B.fc&&(et=[B.fc[0],B.fc[1],B.fc[2]]),Te=0;Te<Le;Te+=1)(ye=me[Te].a).a.propType&&((Ae=me[Te].s.getMult(ve[G].anIndexes[Te],fe.a[Te].s.totalChars)).length?ge.translate(-ye.a.v[0]*Ae[0],-ye.a.v[1]*Ae[1],ye.a.v[2]*Ae[2]):ge.translate(-ye.a.v[0]*Ae,-ye.a.v[1]*Ae,ye.a.v[2]*Ae));for(Te=0;Te<Le;Te+=1)(ye=me[Te].a).s.propType&&((Ae=me[Te].s.getMult(ve[G].anIndexes[Te],fe.a[Te].s.totalChars)).length?ge.scale(1+(ye.s.v[0]-1)*Ae[0],1+(ye.s.v[1]-1)*Ae[1],1):ge.scale(1+(ye.s.v[0]-1)*Ae,1+(ye.s.v[1]-1)*Ae,1));for(Te=0;Te<Le;Te+=1){if(ye=me[Te].a,Ae=me[Te].s.getMult(ve[G].anIndexes[Te],fe.a[Te].s.totalChars),ye.sk.propType&&(Ae.length?ge.skewFromAxis(-ye.sk.v*Ae[0],ye.sa.v*Ae[1]):ge.skewFromAxis(-ye.sk.v*Ae,ye.sa.v*Ae)),ye.r.propType&&(Ae.length?ge.rotateZ(-ye.r.v*Ae[2]):ge.rotateZ(-ye.r.v*Ae)),ye.ry.propType&&(Ae.length?ge.rotateY(ye.ry.v*Ae[1]):ge.rotateY(ye.ry.v*Ae)),ye.rx.propType&&(Ae.length?ge.rotateX(ye.rx.v*Ae[0]):ge.rotateX(ye.rx.v*Ae)),ye.o.propType&&(Ae.length?ze+=(ye.o.v*Ae[0]-ze)*Ae[0]:ze+=(ye.o.v*Ae-ze)*Ae),B.strokeWidthAnim&&ye.sw.propType&&(Ae.length?Ye+=ye.sw.v*Ae[0]:Ye+=ye.sw.v*Ae),B.strokeColorAnim&&ye.sc.propType)for(Je=0;Je<3;Je+=1)Ae.length?Ve[Je]+=(ye.sc.v[Je]-Ve[Je])*Ae[0]:Ve[Je]+=(ye.sc.v[Je]-Ve[Je])*Ae;if(B.fillColorAnim&&B.fc){if(ye.fc.propType)for(Je=0;Je<3;Je+=1)Ae.length?et[Je]+=(ye.fc.v[Je]-et[Je])*Ae[0]:et[Je]+=(ye.fc.v[Je]-et[Je])*Ae;ye.fh.propType&&(et=Ae.length?addHueToRGB(et,ye.fh.v*Ae[0]):addHueToRGB(et,ye.fh.v*Ae)),ye.fs.propType&&(et=Ae.length?addSaturationToRGB(et,ye.fs.v*Ae[0]):addSaturationToRGB(et,ye.fs.v*Ae)),ye.fb.propType&&(et=Ae.length?addBrightnessToRGB(et,ye.fb.v*Ae[0]):addBrightnessToRGB(et,ye.fb.v*Ae))}}for(Te=0;Te<Le;Te+=1)(ye=me[Te].a).p.propType&&(Ae=me[Te].s.getMult(ve[G].anIndexes[Te],fe.a[Te].s.totalChars),this._hasMaskedPath?Ae.length?ge.translate(0,ye.p.v[1]*Ae[0],-ye.p.v[2]*Ae[1]):ge.translate(0,ye.p.v[1]*Ae,-ye.p.v[2]*Ae):Ae.length?ge.translate(ye.p.v[0]*Ae[0],ye.p.v[1]*Ae[1],-ye.p.v[2]*Ae[2]):ge.translate(ye.p.v[0]*Ae,ye.p.v[1]*Ae,-ye.p.v[2]*Ae));if(B.strokeWidthAnim&&(st=Ye<0?0:Ye),B.strokeColorAnim&&(pt="rgb("+Math.round(255*Ve[0])+","+Math.round(255*Ve[1])+","+Math.round(255*Ve[2])+")"),B.fillColorAnim&&B.fc&&(dt="rgb("+Math.round(255*et[0])+","+Math.round(255*et[1])+","+Math.round(255*et[2])+")"),this._hasMaskedPath){if(ge.translate(0,-B.ls),ge.translate(0,de[1]*Me*.01+D,0),this._pathData.p.v){ce=(Y.point[1]-ie.point[1])/(Y.point[0]-ie.point[0]);var vt=180*Math.atan(ce)/Math.PI;Y.point[0]<ie.point[0]&&(vt+=180),ge.rotate(-vt*Math.PI/180)}ge.translate(Ie,Ge,0),q-=de[0]*ve[G].an*.005,ve[G+1]&&Fe!==ve[G+1].ind&&(q+=ve[G].an/2,q+=.001*B.tr*B.finalSize)}else{switch(ge.translate(F,D,0),B.ps&&ge.translate(B.ps[0],B.ps[1]+B.ascent,0),B.j){case 1:ge.translate(ve[G].animatorJustifyOffset+B.justifyOffset+(B.boxWidth-B.lineWidths[ve[G].line]),0,0);break;case 2:ge.translate(ve[G].animatorJustifyOffset+B.justifyOffset+(B.boxWidth-B.lineWidths[ve[G].line])/2,0,0)}ge.translate(0,-B.ls),ge.translate(Ne,0,0),ge.translate(de[0]*ve[G].an*.005,de[1]*Me*.01,0),F+=ve[G].l+.001*B.tr*B.finalSize}Se==="html"?Oe=ge.toCSS():Se==="svg"?Oe=ge.to2dCSS():Xe=[ge.props[0],ge.props[1],ge.props[2],ge.props[3],ge.props[4],ge.props[5],ge.props[6],ge.props[7],ge.props[8],ge.props[9],ge.props[10],ge.props[11],ge.props[12],ge.props[13],ge.props[14],ge.props[15]],yt=ze}Ee<=G?(we=new LetterProps(yt,st,pt,dt,Oe,Xe),this.renderedLetters.push(we),Ee+=1,this.lettersChangedFlag=!0):(we=this.renderedLetters[G],this.lettersChangedFlag=we.update(yt,st,pt,dt,Oe,Xe)||this.lettersChangedFlag)}}},TextAnimatorProperty.prototype.getValue=function(){this._elem.globalData.frameId!==this._frameId&&(this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties())},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty),ITextElement.prototype.initElement=function(B,R,F){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(B,R,F),this.textProperty=new TextProperty(this,B.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(B.t,this.renderType,this),this.initTransform(B,R,F),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(B){this._mdf=!1,this.prepareRenderableFrame(B),this.prepareProperties(B,this.isInRange),(this.textProperty._mdf||this.textProperty._isFirstFrame)&&(this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1)},ITextElement.prototype.createPathShape=function(B,R){var F,D,G=R.length,U="";for(F=0;F<G;F+=1)R[F].ty==="sh"&&(D=R[F].ks.k,U+=buildShapeString(D,D.i.length,!0,B));return U},ITextElement.prototype.updateDocumentData=function(B,R){this.textProperty.updateDocumentData(B,R)},ITextElement.prototype.canResizeFont=function(B){this.textProperty.canResizeFont(B)},ITextElement.prototype.setMinimumFontSize=function(B){this.textProperty.setMinimumFontSize(B)},ITextElement.prototype.applyTextPropertiesToMatrix=function(B,R,F,D,G){switch(B.ps&&R.translate(B.ps[0],B.ps[1]+B.ascent,0),R.translate(0,-B.ls,0),B.j){case 1:R.translate(B.justifyOffset+(B.boxWidth-B.lineWidths[F]),0,0);break;case 2:R.translate(B.justifyOffset+(B.boxWidth-B.lineWidths[F])/2,0,0)}R.translate(D,G,0)},ITextElement.prototype.buildColor=function(B){return"rgb("+Math.round(255*B[0])+","+Math.round(255*B[1])+","+Math.round(255*B[2])+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){};var emptyShapeData={shapes:[]};function SVGTextLottieElement(B,R,F){this.textSpans=[],this.renderType="svg",this.initElement(B,R,F)}function ISolidElement(B,R,F){this.initElement(B,R,F)}function NullElement(B,R,F){this.initFrame(),this.initBaseData(B,R,F),this.initFrame(),this.initTransform(B,R,F),this.initHierarchy()}function SVGRendererBase(){}function ICompElement(){}function SVGCompElement(B,R,F){this.layers=B.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(B,R,F),this.tm=B.tm?PropertyFactory.getProp(this,B.tm,0,R.frameRate,this):{_placeholder:!0}}function SVGRenderer(B,R){this.animationItem=B,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var F="";if(R&&R.title){var D=createNS("title"),G=createElementID();D.setAttribute("id",G),D.textContent=R.title,this.svgElement.appendChild(D),F+=G}if(R&&R.description){var U=createNS("desc"),W=createElementID();U.setAttribute("id",W),U.textContent=R.description,this.svgElement.appendChild(U),F+=" "+W}F&&this.svgElement.setAttribute("aria-labelledby",F);var q=createNS("defs");this.svgElement.appendChild(q);var Y=createNS("g");this.svgElement.appendChild(Y),this.layerElement=Y,this.renderConfig={preserveAspectRatio:R&&R.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:R&&R.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:R&&R.contentVisibility||"visible",progressiveLoad:R&&R.progressiveLoad||!1,hideOnTransparent:!(R&&R.hideOnTransparent===!1),viewBoxOnly:R&&R.viewBoxOnly||!1,viewBoxSize:R&&R.viewBoxSize||!1,className:R&&R.className||"",id:R&&R.id||"",focusable:R&&R.focusable,filterSize:{width:R&&R.filterSize&&R.filterSize.width||"100%",height:R&&R.filterSize&&R.filterSize.height||"100%",x:R&&R.filterSize&&R.filterSize.x||"0%",y:R&&R.filterSize&&R.filterSize.y||"0%"}},this.globalData={_mdf:!1,frameNum:-1,defs:q,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){this.data.singleShape&&!this.globalData.fontManager.chars&&(this.textContainer=createNS("text"))},SVGTextLottieElement.prototype.buildTextContents=function(B){for(var R=0,F=B.length,D=[],G="";R<F;)B[R]===String.fromCharCode(13)||B[R]===String.fromCharCode(3)?(D.push(G),G=""):G+=B[R],R+=1;return D.push(G),D},SVGTextLottieElement.prototype.buildNewText=function(){var B,R;this.addDynamicProperty(this);var F=this.textProperty.currentData;this.renderedLetters=createSizedArray(F?F.l.length:0),F.fc?this.layerElement.setAttribute("fill",this.buildColor(F.fc)):this.layerElement.setAttribute("fill","rgba(0,0,0,0)"),F.sc&&(this.layerElement.setAttribute("stroke",this.buildColor(F.sc)),this.layerElement.setAttribute("stroke-width",F.sw)),this.layerElement.setAttribute("font-size",F.finalSize);var D=this.globalData.fontManager.getFontByName(F.f);if(D.fClass)this.layerElement.setAttribute("class",D.fClass);else{this.layerElement.setAttribute("font-family",D.fFamily);var G=F.fWeight,U=F.fStyle;this.layerElement.setAttribute("font-style",U),this.layerElement.setAttribute("font-weight",G)}this.layerElement.setAttribute("aria-label",F.t);var W,q=F.l||[],Y=!!this.globalData.fontManager.chars;R=q.length;var Q=this.mHelper,Z=this.data.singleShape,K=0,J=0,ie=!0,ne=.001*F.tr*F.finalSize;if(!Z||Y||F.sz){var se,re=this.textSpans.length;for(B=0;B<R;B+=1){if(this.textSpans[B]||(this.textSpans[B]={span:null,childSpan:null,glyph:null}),!Y||!Z||B===0){if(W=re>B?this.textSpans[B].span:createNS(Y?"g":"text"),re<=B){if(W.setAttribute("stroke-linecap","butt"),W.setAttribute("stroke-linejoin","round"),W.setAttribute("stroke-miterlimit","4"),this.textSpans[B].span=W,Y){var ae=createNS("g");W.appendChild(ae),this.textSpans[B].childSpan=ae}this.textSpans[B].span=W,this.layerElement.appendChild(W)}W.style.display="inherit"}if(Q.reset(),Q.scale(F.finalSize/100,F.finalSize/100),Z&&(q[B].n&&(K=-ne,J+=F.yOffset,J+=ie?1:0,ie=!1),this.applyTextPropertiesToMatrix(F,Q,q[B].line,K,J),K+=q[B].l||0,K+=ne),Y){var le;if((se=this.globalData.fontManager.getCharData(F.finalText[B],D.fStyle,this.globalData.fontManager.getFontByName(F.f).fFamily)).t===1)le=new SVGCompElement(se.data,this.globalData,this);else{var ce=emptyShapeData;se.data&&se.data.shapes&&(ce=se.data),le=new SVGShapeElement(ce,this.globalData,this)}this.textSpans[B].glyph=le,le._debug=!0,le.prepareFrame(0),le.renderFrame(),this.textSpans[B].childSpan.appendChild(le.layerElement),this.textSpans[B].childSpan.setAttribute("transform","scale("+F.finalSize/100+","+F.finalSize/100+")")}else Z&&W.setAttribute("transform","translate("+Q.props[12]+","+Q.props[13]+")"),W.textContent=q[B].val,W.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}Z&&W&&W.setAttribute("d","")}else{var he=this.textContainer,de="start";switch(F.j){case 1:de="end";break;case 2:de="middle";break;default:de="start"}he.setAttribute("text-anchor",de),he.setAttribute("letter-spacing",ne);var me=this.buildTextContents(F.finalText);for(R=me.length,J=F.ps?F.ps[1]+F.ascent:0,B=0;B<R;B+=1)(W=this.textSpans[B].span||createNS("tspan")).textContent=me[B],W.setAttribute("x",0),W.setAttribute("y",J),W.style.display="inherit",he.appendChild(W),this.textSpans[B]||(this.textSpans[B]={span:null,glyph:null}),this.textSpans[B].span=W,J+=F.finalLineHeight;this.layerElement.appendChild(he)}for(;B<this.textSpans.length;)this.textSpans[B].span.style.display="none",B+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var B=this.layerElement.getBBox();this.bbox={top:B.y,left:B.x,width:B.width,height:B.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var B,R,F=this.textSpans.length;for(this.renderedFrame=this.comp.renderedFrame,B=0;B<F;B+=1)(R=this.textSpans[B].glyph)&&(R.prepareFrame(this.comp.renderedFrame-this.data.st),R._mdf&&(this._mdf=!0))},SVGTextLottieElement.prototype.renderInnerContent=function(){if((!this.data.singleShape||this._mdf)&&(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag)){var B,R;this._sizeChanged=!0;var F,D,G,U=this.textAnimator.renderedLetters,W=this.textProperty.currentData.l;for(R=W.length,B=0;B<R;B+=1)W[B].n||(F=U[B],D=this.textSpans[B].span,(G=this.textSpans[B].glyph)&&G.renderFrame(),F._mdf.m&&D.setAttribute("transform",F.m),F._mdf.o&&D.setAttribute("opacity",F.o),F._mdf.sw&&D.setAttribute("stroke-width",F.sw),F._mdf.sc&&D.setAttribute("stroke",F.sc),F._mdf.fc&&D.setAttribute("fill",F.fc))}},extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var B=createNS("rect");B.setAttribute("width",this.data.sw),B.setAttribute("height",this.data.sh),B.setAttribute("fill",this.data.sc),this.layerElement.appendChild(B)},NullElement.prototype.prepareFrame=function(B){this.prepareProperties(B,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement),extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(B){return new NullElement(B,this.globalData,this)},SVGRendererBase.prototype.createShape=function(B){return new SVGShapeElement(B,this.globalData,this)},SVGRendererBase.prototype.createText=function(B){return new SVGTextLottieElement(B,this.globalData,this)},SVGRendererBase.prototype.createImage=function(B){return new IImageElement(B,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(B){return new ISolidElement(B,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(B){this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.renderConfig.viewBoxSize?this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize):this.svgElement.setAttribute("viewBox","0 0 "+B.w+" "+B.h),this.renderConfig.viewBoxOnly||(this.svgElement.setAttribute("width",B.w),this.svgElement.setAttribute("height",B.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility),this.renderConfig.className&&this.svgElement.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.svgElement.setAttribute("id",this.renderConfig.id),this.renderConfig.focusable!==void 0&&this.svgElement.setAttribute("focusable",this.renderConfig.focusable),this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var R=this.globalData.defs;this.setupGlobalData(B,R),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=B;var F=createNS("clipPath"),D=createNS("rect");D.setAttribute("width",B.w),D.setAttribute("height",B.h),D.setAttribute("x",0),D.setAttribute("y",0);var G=createElementID();F.setAttribute("id",G),F.appendChild(D),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+G+")"),R.appendChild(F),this.layers=B.layers,this.elements=createSizedArray(B.layers.length)},SVGRendererBase.prototype.destroy=function(){var B;this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.layerElement=null,this.globalData.defs=null;var R=this.layers?this.layers.length:0;for(B=0;B<R;B+=1)this.elements[B]&&this.elements[B].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.buildItem=function(B){var R=this.elements;if(!R[B]&&this.layers[B].ty!==99){R[B]=!0;var F=this.createItem(this.layers[B]);R[B]=F,getExpressionsPlugin()&&(this.layers[B].ty===0&&this.globalData.projectInterface.registerComposition(F),F.initExpressions()),this.appendElementInPos(F,B),this.layers[B].tt&&(this.elements[B-1]&&this.elements[B-1]!==!0?F.setMatte(R[B-1].layerId):(this.buildItem(B-1),this.addPendingElement(F)))}},SVGRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var B=this.pendingElements.pop();if(B.checkParenting(),B.data.tt)for(var R=0,F=this.elements.length;R<F;){if(this.elements[R]===B){B.setMatte(this.elements[R-1].layerId);break}R+=1}}},SVGRendererBase.prototype.renderFrame=function(B){if(this.renderedFrame!==B&&!this.destroyed){var R;B===null?B=this.renderedFrame:this.renderedFrame=B,this.globalData.frameNum=B,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=B,this.globalData._mdf=!1;var F=this.layers.length;for(this.completeLayers||this.checkLayers(B),R=F-1;R>=0;R-=1)(this.completeLayers||this.elements[R])&&this.elements[R].prepareFrame(B-this.layers[R].st);if(this.globalData._mdf)for(R=0;R<F;R+=1)(this.completeLayers||this.elements[R])&&this.elements[R].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(B,R){var F=B.getBaseElement();if(F){for(var D,G=0;G<R;)this.elements[G]&&this.elements[G]!==!0&&this.elements[G].getBaseElement()&&(D=this.elements[G].getBaseElement()),G+=1;D?this.layerElement.insertBefore(F,D):this.layerElement.appendChild(F)}},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(B,R,F){this.initFrame(),this.initBaseData(B,R,F),this.initTransform(B,R,F),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),!this.data.xt&&R.progressiveLoad||this.buildAllItems(),this.hide()},ICompElement.prototype.prepareFrame=function(B){if(this._mdf=!1,this.prepareRenderableFrame(B),this.prepareProperties(B,this.isInRange),this.isInRange||this.data.xt){if(this.tm._placeholder)this.renderedFrame=B/this.data.sr;else{var R=this.tm.v;R===this.data.op&&(R=this.data.op-1),this.renderedFrame=R}var F,D=this.elements.length;for(this.completeLayers||this.checkLayers(this.renderedFrame),F=D-1;F>=0;F-=1)(this.completeLayers||this.elements[F])&&(this.elements[F].prepareFrame(this.renderedFrame-this.layers[F].st),this.elements[F]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var B,R=this.layers.length;for(B=0;B<R;B+=1)(this.completeLayers||this.elements[B])&&this.elements[B].renderFrame()},ICompElement.prototype.setElements=function(B){this.elements=B},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var B,R=this.layers.length;for(B=0;B<R;B+=1)this.elements[B]&&this.elements[B].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()},extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(B){return new SVGCompElement(B,this.globalData,this)},extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(B){return new SVGCompElement(B,this.globalData,this)},registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier);var Expressions=function(){var B={};return B.initExpressions=function(R){var F=0,D=[];R.renderer.compInterface=CompExpressionInterface(R.renderer),R.renderer.globalData.projectInterface.registerComposition(R.renderer),R.renderer.globalData.pushExpression=function(){F+=1},R.renderer.globalData.popExpression=function(){(F-=1)===0&&function(){var G,U=D.length;for(G=0;G<U;G+=1)D[G].release();D.length=0}()},R.renderer.globalData.registerExpressionProperty=function(G){D.indexOf(G)===-1&&D.push(G)}},B}();function _typeof$1(B){return(_typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(B)}function seedRandom(B,R){var F=this,D=R.pow(256,6),G=R.pow(2,52),U=2*G;function W(Z){var K,J=Z.length,ie=this,ne=0,se=ie.i=ie.j=0,re=ie.S=[];for(J||(Z=[J++]);ne<256;)re[ne]=ne++;for(ne=0;ne<256;ne++)re[ne]=re[se=255&se+Z[ne%J]+(K=re[ne])],re[se]=K;ie.g=function(ae){for(var le,ce=0,he=ie.i,de=ie.j,me=ie.S;ae--;)le=me[he=255&he+1],ce=256*ce+me[255&(me[he]=me[de=255&de+le])+(me[de]=le)];return ie.i=he,ie.j=de,ce}}function q(Z,K){return K.i=Z.i,K.j=Z.j,K.S=Z.S.slice(),K}function Y(Z,K){for(var J,ie=Z+"",ne=0;ne<ie.length;)K[255&ne]=255&(J^=19*K[255&ne])+ie.charCodeAt(ne++);return Q(K)}function Q(Z){return String.fromCharCode.apply(0,Z)}R.seedrandom=function(Z,K,J){var ie=[],ne=Y(function ae(le,ce){var he,de=[],me=_typeof$1(le);if(ce&&me=="object")for(he in le)try{de.push(ae(le[he],ce-1))}catch{}return de.length?de:me=="string"?le:le+"\0"}((K=K===!0?{entropy:!0}:K||{}).entropy?[Z,Q(B)]:Z===null?function(){try{var ae=new Uint8Array(256);return(F.crypto||F.msCrypto).getRandomValues(ae),Q(ae)}catch{var le=F.navigator,ce=le&&le.plugins;return[+new Date,F,ce,F.screen,Q(B)]}}():Z,3),ie),se=new W(ie),re=function(){for(var ae=se.g(6),le=D,ce=0;ae<G;)ae=256*(ae+ce),le*=256,ce=se.g(1);for(;ae>=U;)ae/=2,le/=2,ce>>>=1;return(ae+ce)/le};return re.int32=function(){return 0|se.g(4)},re.quick=function(){return se.g(4)/4294967296},re.double=re,Y(Q(se.S),B),(K.pass||J||function(ae,le,ce,he){return he&&(he.S&&q(he,se),ae.state=function(){return q(se,{})}),ce?(R.random=ae,le):ae})(re,ne,"global"in K?K.global:this==R,K.state)},Y(R.random(),B)}function initialize$2(B){seedRandom([],B)}var propTypes={SHAPE:"shape"};function _typeof(B){return(_typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(B)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null;function $bm_isInstanceOfArray(B){return B.constructor===Array||B.constructor===Float32Array}function isNumerable(B,R){return B==="number"||B==="boolean"||B==="string"||R instanceof Number}function $bm_neg(B){var R=_typeof(B);if(R==="number"||R==="boolean"||B instanceof Number)return-B;if($bm_isInstanceOfArray(B)){var F,D=B.length,G=[];for(F=0;F<D;F+=1)G[F]=-B[F];return G}return B.propType?B.v:-B}initialize$2(BMMath);var easeInBez=BezierFactory.getBezierEasing(.333,0,.833,.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(.167,.167,.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(.33,0,.667,1,"easeInOut").get;function sum(B,R){var F=_typeof(B),D=_typeof(R);if(F==="string"||D==="string"||isNumerable(F,B)&&isNumerable(D,R))return B+R;if($bm_isInstanceOfArray(B)&&isNumerable(D,R))return(B=B.slice(0))[0]+=R,B;if(isNumerable(F,B)&&$bm_isInstanceOfArray(R))return(R=R.slice(0))[0]=B+R[0],R;if($bm_isInstanceOfArray(B)&&$bm_isInstanceOfArray(R)){for(var G=0,U=B.length,W=R.length,q=[];G<U||G<W;)(typeof B[G]=="number"||B[G]instanceof Number)&&(typeof R[G]=="number"||R[G]instanceof Number)?q[G]=B[G]+R[G]:q[G]=R[G]===void 0?B[G]:B[G]||R[G],G+=1;return q}return 0}var add=sum;function sub(B,R){var F=_typeof(B),D=_typeof(R);if(isNumerable(F,B)&&isNumerable(D,R))return F==="string"&&(B=parseInt(B,10)),D==="string"&&(R=parseInt(R,10)),B-R;if($bm_isInstanceOfArray(B)&&isNumerable(D,R))return(B=B.slice(0))[0]-=R,B;if(isNumerable(F,B)&&$bm_isInstanceOfArray(R))return(R=R.slice(0))[0]=B-R[0],R;if($bm_isInstanceOfArray(B)&&$bm_isInstanceOfArray(R)){for(var G=0,U=B.length,W=R.length,q=[];G<U||G<W;)(typeof B[G]=="number"||B[G]instanceof Number)&&(typeof R[G]=="number"||R[G]instanceof Number)?q[G]=B[G]-R[G]:q[G]=R[G]===void 0?B[G]:B[G]||R[G],G+=1;return q}return 0}function mul(B,R){var F,D,G,U=_typeof(B),W=_typeof(R);if(isNumerable(U,B)&&isNumerable(W,R))return B*R;if($bm_isInstanceOfArray(B)&&isNumerable(W,R)){for(G=B.length,F=createTypedArray("float32",G),D=0;D<G;D+=1)F[D]=B[D]*R;return F}if(isNumerable(U,B)&&$bm_isInstanceOfArray(R)){for(G=R.length,F=createTypedArray("float32",G),D=0;D<G;D+=1)F[D]=B*R[D];return F}return 0}function div(B,R){var F,D,G,U=_typeof(B),W=_typeof(R);if(isNumerable(U,B)&&isNumerable(W,R))return B/R;if($bm_isInstanceOfArray(B)&&isNumerable(W,R)){for(G=B.length,F=createTypedArray("float32",G),D=0;D<G;D+=1)F[D]=B[D]/R;return F}if(isNumerable(U,B)&&$bm_isInstanceOfArray(R)){for(G=R.length,F=createTypedArray("float32",G),D=0;D<G;D+=1)F[D]=B/R[D];return F}return 0}function mod(B,R){return typeof B=="string"&&(B=parseInt(B,10)),typeof R=="string"&&(R=parseInt(R,10)),B%R}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(B,R,F){if(R>F){var D=F;F=R,R=D}return Math.min(Math.max(B,R),F)}function radiansToDegrees(B){return B/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(B){return B*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(B,R){if(typeof B=="number"||B instanceof Number)return R=R||0,Math.abs(B-R);var F;R||(R=helperLengthArray);var D=Math.min(B.length,R.length),G=0;for(F=0;F<D;F+=1)G+=Math.pow(R[F]-B[F],2);return Math.sqrt(G)}function normalize(B){return div(B,length(B))}function rgbToHsl(B){var R,F,D=B[0],G=B[1],U=B[2],W=Math.max(D,G,U),q=Math.min(D,G,U),Y=(W+q)/2;if(W===q)R=0,F=0;else{var Q=W-q;switch(F=Y>.5?Q/(2-W-q):Q/(W+q),W){case D:R=(G-U)/Q+(G<U?6:0);break;case G:R=(U-D)/Q+2;break;case U:R=(D-G)/Q+4}R/=6}return[R,F,Y,B[3]]}function hue2rgb(B,R,F){return F<0&&(F+=1),F>1&&(F-=1),F<1/6?B+6*(R-B)*F:F<.5?R:F<2/3?B+(R-B)*(2/3-F)*6:B}function hslToRgb(B){var R,F,D,G=B[0],U=B[1],W=B[2];if(U===0)R=W,D=W,F=W;else{var q=W<.5?W*(1+U):W+U-W*U,Y=2*W-q;R=hue2rgb(Y,q,G+1/3),F=hue2rgb(Y,q,G),D=hue2rgb(Y,q,G-1/3)}return[R,F,D,B[3]]}function linear(B,R,F,D,G){if(D!==void 0&&G!==void 0||(D=R,G=F,R=0,F=1),F<R){var U=F;F=R,R=U}if(B<=R)return D;if(B>=F)return G;var W,q=F===R?0:(B-R)/(F-R);if(!D.length)return D+(G-D)*q;var Y=D.length,Q=createTypedArray("float32",Y);for(W=0;W<Y;W+=1)Q[W]=D[W]+(G[W]-D[W])*q;return Q}function random(B,R){if(R===void 0&&(B===void 0?(B=0,R=1):(R=B,B=void 0)),R.length){var F,D=R.length;B||(B=createTypedArray("float32",D));var G=createTypedArray("float32",D),U=BMMath.random();for(F=0;F<D;F+=1)G[F]=B[F]+U*(R[F]-B[F]);return G}return B===void 0&&(B=0),B+BMMath.random()*(R-B)}function createPath(B,R,F,D){var G,U=B.length,W=shapePool.newElement();W.setPathData(!!D,U);var q,Y,Q=[0,0];for(G=0;G<U;G+=1)q=R&&R[G]?R[G]:Q,Y=F&&F[G]?F[G]:Q,W.setTripleAt(B[G][0],B[G][1],Y[0]+B[G][0],Y[1]+B[G][1],q[0]+B[G][0],q[1]+B[G][1],G,!0);return W}function initiateExpression(elem,data,property){var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=val.indexOf("random")!==-1,elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||this.data.hd!==!0,wiggle=function(B,R){var F,D,G=this.pv.length?this.pv.length:1,U=createTypedArray("float32",G),W=Math.floor(5*time);for(F=0,D=0;F<W;){for(D=0;D<G;D+=1)U[D]+=-R+2*R*BMMath.random();F+=1}var q=5*time,Y=q-Math.floor(q),Q=createTypedArray("float32",G);if(G>1){for(D=0;D<G;D+=1)Q[D]=this.pv[D]+U[D]+(-R+2*R*BMMath.random())*Y;return Q}return this.pv+U[0]+(-R+2*R*BMMath.random())*Y}.bind(this);function loopInDuration(B,R){return loopIn(B,R,!0)}function loopOutDuration(B,R){return loopOut(B,R,!0)}thisProperty.loopIn&&(loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn),thisProperty.loopOut&&(loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut),thisProperty.smooth&&(smooth=thisProperty.smooth.bind(thisProperty)),this.getValueAtTime&&(valueAtTime=this.getValueAtTime.bind(this)),this.getVelocityAtTime&&(velocityAtTime=this.getVelocityAtTime.bind(this));var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),time,velocity,value,text,textIndex,textTotal,selectorValue;function lookAt(B,R){var F=[R[0]-B[0],R[1]-B[1],R[2]-B[2]],D=Math.atan2(F[0],Math.sqrt(F[1]*F[1]+F[2]*F[2]))/degToRads;return[-Math.atan2(F[1],F[2])/degToRads,D,0]}function easeOut(B,R,F,D,G){return applyEase(easeOutBez,B,R,F,D,G)}function easeIn(B,R,F,D,G){return applyEase(easeInBez,B,R,F,D,G)}function ease(B,R,F,D,G){return applyEase(easeInOutBez,B,R,F,D,G)}function applyEase(B,R,F,D,G,U){G===void 0?(G=F,U=D):R=(R-F)/(D-F),R>1?R=1:R<0&&(R=0);var W=B(R);if($bm_isInstanceOfArray(G)){var q,Y=G.length,Q=createTypedArray("float32",Y);for(q=0;q<Y;q+=1)Q[q]=(U[q]-G[q])*W+G[q];return Q}return(U-G)*W+G}function nearestKey(B){var R,F,D,G=data.k.length;if(data.k.length&&typeof data.k[0]!="number")if(F=-1,(B*=elem.comp.globalData.frameRate)<data.k[0].t)F=1,D=data.k[0].t;else{for(R=0;R<G-1;R+=1){if(B===data.k[R].t){F=R+1,D=data.k[R].t;break}if(B>data.k[R].t&&B<data.k[R+1].t){B-data.k[R].t>data.k[R+1].t-B?(F=R+2,D=data.k[R+1].t):(F=R+1,D=data.k[R].t);break}}F===-1&&(F=R+1,D=data.k[R].t)}else F=0,D=0;var U={};return U.index=F,U.time=D/elem.comp.globalData.frameRate,U}function key(B){var R,F,D;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+B);B-=1,R={time:data.k[B].t/elem.comp.globalData.frameRate,value:[]};var G=Object.prototype.hasOwnProperty.call(data.k[B],"s")?data.k[B].s:data.k[B-1].e;for(D=G.length,F=0;F<D;F+=1)R[F]=G[F],R.value[F]=G[F];return R}function framesToTime(B,R){return R||(R=elem.comp.globalData.frameRate),B/R}function timeToFrames(B,R){return B||B===0||(B=time),R||(R=elem.comp.globalData.frameRate),B*R}function seedRandom(B){BMMath.seedrandom(randSeed+B)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(B,R){return typeof value=="string"?R===void 0?value.substring(B):value.substring(B,R):""}function substr(B,R){return typeof value=="string"?R===void 0?value.substr(B):value.substr(B,R):""}function posterizeTime(B){time=B===0?0:Math.floor(time*B)/B,value=valueAtTime(time)}var index=elem.data.ind;!elem.hierarchy||elem.hierarchy.length;var parent,randSeed=Math.floor(1e6*Math.random()),globalData=elem.globalData;function executeExpression(B){return value=B,this.frameExpressionId===elem.globalData.frameId&&this.propType!=="textSelector"?value:(this.propType==="textSelector"&&(textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue),thisLayer||(text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp),transform||(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform&&(anchorPoint=transform.anchorPoint)),elemType!==4||content||(content=thisLayer("ADBE Root Vectors Group")),effect||(effect=thisLayer(4)),!(!elem.hierarchy||!elem.hierarchy.length)&&!parent&&(parent=elem.hierarchy[0].layerInterface),time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom&&seedRandom(randSeed+time),needsVelocity&&(velocity=velocityAtTime(time)),expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt)}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath],ob}(),expressionHelpers={searchExpressions:function(B,R,F){R.x&&(F.k=!0,F.x=!0,F.initiateExpression=ExpressionManager.initiateExpression,F.effectsSequence.push(F.initiateExpression(B,R,F).bind(F)))},getSpeedAtTime:function(B){var R=this.getValueAtTime(B),F=this.getValueAtTime(B+-.01),D=0;if(R.length){var G;for(G=0;G<R.length;G+=1)D+=Math.pow(F[G]-R[G],2);D=100*Math.sqrt(D)}else D=0;return D},getVelocityAtTime:function(B){if(this.vel!==void 0)return this.vel;var R,F,D=this.getValueAtTime(B),G=this.getValueAtTime(B+-.001);if(D.length)for(R=createTypedArray("float32",D.length),F=0;F<D.length;F+=1)R[F]=(G[F]-D[F])/-.001;else R=(G-D)/-.001;return R},getValueAtTime:function(B){return B*=this.elem.globalData.frameRate,(B-=this.offsetTime)!==this._cachingAtTime.lastFrame&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<B?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(B,this._cachingAtTime),this._cachingAtTime.lastFrame=B),this._cachingAtTime.value},getStaticValueAtTime:function(){return this.pv},setGroupProperty:function(B){this.propertyGroup=B}};function addPropertyDecorator(){function B(K,J,ie){if(!this.k||!this.keyframes)return this.pv;K=K?K.toLowerCase():"";var ne,se,re,ae,le,ce=this.comp.renderedFrame,he=this.keyframes,de=he[he.length-1].t;if(ce<=de)return this.pv;if(ie?se=de-(ne=J?Math.abs(de-this.elem.comp.globalData.frameRate*J):Math.max(0,de-this.elem.data.ip)):((!J||J>he.length-1)&&(J=he.length-1),ne=de-(se=he[he.length-1-J].t)),K==="pingpong"){if(Math.floor((ce-se)/ne)%2!=0)return this.getValueAtTime((ne-(ce-se)%ne+se)/this.comp.globalData.frameRate,0)}else{if(K==="offset"){var me=this.getValueAtTime(se/this.comp.globalData.frameRate,0),fe=this.getValueAtTime(de/this.comp.globalData.frameRate,0),ge=this.getValueAtTime(((ce-se)%ne+se)/this.comp.globalData.frameRate,0),Se=Math.floor((ce-se)/ne);if(this.pv.length){for(ae=(le=new Array(me.length)).length,re=0;re<ae;re+=1)le[re]=(fe[re]-me[re])*Se+ge[re];return le}return(fe-me)*Se+ge}if(K==="continue"){var Ee=this.getValueAtTime(de/this.comp.globalData.frameRate,0),ve=this.getValueAtTime((de-.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(ae=(le=new Array(Ee.length)).length,re=0;re<ae;re+=1)le[re]=Ee[re]+(Ee[re]-ve[re])*((ce-de)/this.comp.globalData.frameRate)/5e-4;return le}return Ee+(ce-de)/.001*(Ee-ve)}}return this.getValueAtTime(((ce-se)%ne+se)/this.comp.globalData.frameRate,0)}function R(K,J,ie){if(!this.k)return this.pv;K=K?K.toLowerCase():"";var ne,se,re,ae,le,ce=this.comp.renderedFrame,he=this.keyframes,de=he[0].t;if(ce>=de)return this.pv;if(ie?se=de+(ne=J?Math.abs(this.elem.comp.globalData.frameRate*J):Math.max(0,this.elem.data.op-de)):((!J||J>he.length-1)&&(J=he.length-1),ne=(se=he[J].t)-de),K==="pingpong"){if(Math.floor((de-ce)/ne)%2==0)return this.getValueAtTime(((de-ce)%ne+de)/this.comp.globalData.frameRate,0)}else{if(K==="offset"){var me=this.getValueAtTime(de/this.comp.globalData.frameRate,0),fe=this.getValueAtTime(se/this.comp.globalData.frameRate,0),ge=this.getValueAtTime((ne-(de-ce)%ne+de)/this.comp.globalData.frameRate,0),Se=Math.floor((de-ce)/ne)+1;if(this.pv.length){for(ae=(le=new Array(me.length)).length,re=0;re<ae;re+=1)le[re]=ge[re]-(fe[re]-me[re])*Se;return le}return ge-(fe-me)*Se}if(K==="continue"){var Ee=this.getValueAtTime(de/this.comp.globalData.frameRate,0),ve=this.getValueAtTime((de+.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(ae=(le=new Array(Ee.length)).length,re=0;re<ae;re+=1)le[re]=Ee[re]+(Ee[re]-ve[re])*(de-ce)/.001;return le}return Ee+(Ee-ve)*(de-ce)/.001}}return this.getValueAtTime((ne-((de-ce)%ne+de))/this.comp.globalData.frameRate,0)}function F(K,J){if(!this.k)return this.pv;if(K=.5*(K||.4),(J=Math.floor(J||5))<=1)return this.pv;var ie,ne,se=this.comp.renderedFrame/this.comp.globalData.frameRate,re=se-K,ae=J>1?(se+K-re)/(J-1):1,le=0,ce=0;for(ie=this.pv.length?createTypedArray("float32",this.pv.length):0;le<J;){if(ne=this.getValueAtTime(re+le*ae),this.pv.length)for(ce=0;ce<this.pv.length;ce+=1)ie[ce]+=ne[ce];else ie+=ne;le+=1}if(this.pv.length)for(ce=0;ce<this.pv.length;ce+=1)ie[ce]/=J;else ie/=J;return ie}function D(K){this._transformCachingAtTime||(this._transformCachingAtTime={v:new Matrix});var J=this._transformCachingAtTime.v;if(J.cloneFromProps(this.pre.props),this.appliedTransformations<1){var ie=this.a.getValueAtTime(K);J.translate(-ie[0]*this.a.mult,-ie[1]*this.a.mult,ie[2]*this.a.mult)}if(this.appliedTransformations<2){var ne=this.s.getValueAtTime(K);J.scale(ne[0]*this.s.mult,ne[1]*this.s.mult,ne[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var se=this.sk.getValueAtTime(K),re=this.sa.getValueAtTime(K);J.skewFromAxis(-se*this.sk.mult,re*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var ae=this.r.getValueAtTime(K);J.rotate(-ae*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var le=this.rz.getValueAtTime(K),ce=this.ry.getValueAtTime(K),he=this.rx.getValueAtTime(K),de=this.or.getValueAtTime(K);J.rotateZ(-le*this.rz.mult).rotateY(ce*this.ry.mult).rotateX(he*this.rx.mult).rotateZ(-de[2]*this.or.mult).rotateY(de[1]*this.or.mult).rotateX(de[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var me=this.px.getValueAtTime(K),fe=this.py.getValueAtTime(K);if(this.data.p.z){var ge=this.pz.getValueAtTime(K);J.translate(me*this.px.mult,fe*this.py.mult,-ge*this.pz.mult)}else J.translate(me*this.px.mult,fe*this.py.mult,0)}else{var Se=this.p.getValueAtTime(K);J.translate(Se[0]*this.p.mult,Se[1]*this.p.mult,-Se[2]*this.p.mult)}return J}function G(){return this.v.clone(new Matrix)}var U=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(K,J,ie){var ne=U(K,J,ie);return ne.dynamicProperties.length?ne.getValueAtTime=D.bind(ne):ne.getValueAtTime=G.bind(ne),ne.setGroupProperty=expressionHelpers.setGroupProperty,ne};var W=PropertyFactory.getProp;PropertyFactory.getProp=function(K,J,ie,ne,se){var re=W(K,J,ie,ne,se);re.kf?re.getValueAtTime=expressionHelpers.getValueAtTime.bind(re):re.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(re),re.setGroupProperty=expressionHelpers.setGroupProperty,re.loopOut=B,re.loopIn=R,re.smooth=F,re.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(re),re.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(re),re.numKeys=J.a===1?J.k.length:0,re.propertyIndex=J.ix;var ae=0;return ie!==0&&(ae=createTypedArray("float32",J.a===1?J.k[0].s.length:J.k.length)),re._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:ae},expressionHelpers.searchExpressions(K,J,re),re.k&&se.addDynamicProperty(re),re};var q=ShapePropertyFactory.getConstructorFunction(),Y=ShapePropertyFactory.getKeyframedConstructorFunction();function Q(){}Q.prototype={vertices:function(K,J){this.k&&this.getValue();var ie,ne=this.v;J!==void 0&&(ne=this.getValueAtTime(J,0));var se=ne._length,re=ne[K],ae=ne.v,le=createSizedArray(se);for(ie=0;ie<se;ie+=1)le[ie]=K==="i"||K==="o"?[re[ie][0]-ae[ie][0],re[ie][1]-ae[ie][1]]:[re[ie][0],re[ie][1]];return le},points:function(K){return this.vertices("v",K)},inTangents:function(K){return this.vertices("i",K)},outTangents:function(K){return this.vertices("o",K)},isClosed:function(){return this.v.c},pointOnPath:function(K,J){var ie=this.v;J!==void 0&&(ie=this.getValueAtTime(J,0)),this._segmentsLength||(this._segmentsLength=bez.getSegmentsLength(ie));for(var ne,se=this._segmentsLength,re=se.lengths,ae=se.totalLength*K,le=0,ce=re.length,he=0;le<ce;){if(he+re[le].addedLength>ae){var de=le,me=ie.c&&le===ce-1?0:le+1,fe=(ae-he)/re[le].addedLength;ne=bez.getPointInSegment(ie.v[de],ie.v[me],ie.o[de],ie.i[me],fe,re[le]);break}he+=re[le].addedLength,le+=1}return ne||(ne=ie.c?[ie.v[0][0],ie.v[0][1]]:[ie.v[ie._length-1][0],ie.v[ie._length-1][1]]),ne},vectorOnPath:function(K,J,ie){K==1?K=this.v.c:K==0&&(K=.999);var ne=this.pointOnPath(K,J),se=this.pointOnPath(K+.001,J),re=se[0]-ne[0],ae=se[1]-ne[1],le=Math.sqrt(Math.pow(re,2)+Math.pow(ae,2));return le===0?[0,0]:ie==="tangent"?[re/le,ae/le]:[-ae/le,re/le]},tangentOnPath:function(K,J){return this.vectorOnPath(K,J,"tangent")},normalOnPath:function(K,J){return this.vectorOnPath(K,J,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([Q],q),extendPrototype([Q],Y),Y.prototype.getValueAtTime=function(K){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),K*=this.elem.globalData.frameRate,(K-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<K?this._caching.lastIndex:0,this._cachingAtTime.lastTime=K,this.interpolateShape(K,this._cachingAtTime.shapeValue,this._cachingAtTime)),this._cachingAtTime.shapeValue},Y.prototype.initiateExpression=ExpressionManager.initiateExpression;var Z=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(K,J,ie,ne,se){var re=Z(K,J,ie,ne,se);return re.propertyIndex=J.ix,re.lock=!1,ie===3?expressionHelpers.searchExpressions(K,J.pt,re):ie===4&&expressionHelpers.searchExpressions(K,J.ks,re),re.k&&K.addDynamicProperty(re),re}}function initialize$1(){addPropertyDecorator()}function addDecorator(){TextProperty.prototype.getExpressionValue=function(B,R){var F=this.calculateExpression(R);if(B.t!==F){var D={};return this.copyData(D,B),D.t=F.toString(),D.__complete=!1,D}return B},TextProperty.prototype.searchProperty=function(){var B=this.searchKeyframes(),R=this.searchExpressions();return this.kf=B||R,this.kf},TextProperty.prototype.searchExpressions=function(){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}}function initialize(){addDecorator()}return setExpressionsPlugin(Expressions),initialize$1(),initialize(),registerEffect(20,SVGTintFilter,!0),registerEffect(21,SVGFillFilter,!0),registerEffect(22,SVGStrokeEffect,!1),registerEffect(23,SVGTritoneFilter,!0),registerEffect(24,SVGProLevelsFilter,!0),registerEffect(25,SVGDropShadowEffect,!0),registerEffect(28,SVGMatte3Effect,!1),registerEffect(29,SVGGaussianBlurEffect,!0),lottie})}),jszip=createCommonjsModule(function(B,R){/*!
- JSZip v3.10.0 - A JavaScript class for generating and reading zip files
- <http://stuartk.com/jszip>
- (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
- 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(F){B.exports=F()})(function(){return function F(D,G,U){function W(Q,Z){if(!G[Q]){if(!D[Q]){var K=typeof commonjsRequire=="function"&&commonjsRequire;if(!Z&&K)return K(Q,!0);if(q)return q(Q,!0);var J=new Error("Cannot find module '"+Q+"'");throw J.code="MODULE_NOT_FOUND",J}var ie=G[Q]={exports:{}};D[Q][0].call(ie.exports,function(ne){var se=D[Q][1][ne];return W(se||ne)},ie,ie.exports,F,D,G,U)}return G[Q].exports}for(var q=typeof commonjsRequire=="function"&&commonjsRequire,Y=0;Y<U.length;Y++)W(U[Y]);return W}({1:[function(F,D,G){var U=F("./utils"),W=F("./support"),q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";G.encode=function(Y){for(var Q,Z,K,J,ie,ne,se,re=[],ae=0,le=Y.length,ce=le,he=U.getTypeOf(Y)!=="string";ae<Y.length;)ce=le-ae,he?(Q=Y[ae++],Z=ae<le?Y[ae++]:0,K=ae<le?Y[ae++]:0):(Q=Y.charCodeAt(ae++),Z=ae<le?Y.charCodeAt(ae++):0,K=ae<le?Y.charCodeAt(ae++):0),J=Q>>2,ie=(3&Q)<<4|Z>>4,ne=ce>1?(15&Z)<<2|K>>6:64,se=ce>2?63&K:64,re.push(q.charAt(J)+q.charAt(ie)+q.charAt(ne)+q.charAt(se));return re.join("")},G.decode=function(Y){var Q,Z,K,J,ie,ne,se=0,re=0;if(Y.substr(0,5)==="data:")throw new Error("Invalid base64 input, it looks like a data url.");var ae,le=3*(Y=Y.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(Y.charAt(Y.length-1)===q.charAt(64)&&le--,Y.charAt(Y.length-2)===q.charAt(64)&&le--,le%1!=0)throw new Error("Invalid base64 input, bad content length.");for(ae=W.uint8array?new Uint8Array(0|le):new Array(0|le);se<Y.length;)Q=q.indexOf(Y.charAt(se++))<<2|(J=q.indexOf(Y.charAt(se++)))>>4,Z=(15&J)<<4|(ie=q.indexOf(Y.charAt(se++)))>>2,K=(3&ie)<<6|(ne=q.indexOf(Y.charAt(se++))),ae[re++]=Q,ie!==64&&(ae[re++]=Z),ne!==64&&(ae[re++]=K);return ae}},{"./support":30,"./utils":32}],2:[function(F,D,G){var U=F("./external"),W=F("./stream/DataWorker"),q=F("./stream/Crc32Probe"),Y=F("./stream/DataLengthProbe");function Q(Z,K,J,ie,ne){this.compressedSize=Z,this.uncompressedSize=K,this.crc32=J,this.compression=ie,this.compressedContent=ne}Q.prototype={getContentWorker:function(){var Z=new W(U.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new Y("data_length")),K=this;return Z.on("end",function(){if(this.streamInfo.data_length!==K.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),Z},getCompressedWorker:function(){return new W(U.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},Q.createWorkerFrom=function(Z,K,J){return Z.pipe(new q).pipe(new Y("uncompressedSize")).pipe(K.compressWorker(J)).pipe(new Y("compressedSize")).withStreamInfo("compression",K)},D.exports=Q},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(F,D,G){var U=F("./stream/GenericWorker");G.STORE={magic:"\0\0",compressWorker:function(W){return new U("STORE compression")},uncompressWorker:function(){return new U("STORE decompression")}},G.DEFLATE=F("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(F,D,G){var U=F("./utils"),W=function(){for(var q,Y=[],Q=0;Q<256;Q++){q=Q;for(var Z=0;Z<8;Z++)q=1&q?3988292384^q>>>1:q>>>1;Y[Q]=q}return Y}();D.exports=function(q,Y){return q!==void 0&&q.length?U.getTypeOf(q)!=="string"?function(Q,Z,K,J){var ie=W,ne=J+K;Q^=-1;for(var se=J;se<ne;se++)Q=Q>>>8^ie[255&(Q^Z[se])];return-1^Q}(0|Y,q,q.length,0):function(Q,Z,K,J){var ie=W,ne=J+K;Q^=-1;for(var se=J;se<ne;se++)Q=Q>>>8^ie[255&(Q^Z.charCodeAt(se))];return-1^Q}(0|Y,q,q.length,0):0}},{"./utils":32}],5:[function(F,D,G){G.base64=!1,G.binary=!1,G.dir=!1,G.createFolders=!0,G.date=null,G.compression=null,G.compressionOptions=null,G.comment=null,G.unixPermissions=null,G.dosPermissions=null},{}],6:[function(F,D,G){var U=null;U=typeof Promise!="undefined"?Promise:F("lie"),D.exports={Promise:U}},{lie:37}],7:[function(F,D,G){var U=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Uint32Array!="undefined",W=F("pako"),q=F("./utils"),Y=F("./stream/GenericWorker"),Q=U?"uint8array":"array";function Z(K,J){Y.call(this,"FlateWorker/"+K),this._pako=null,this._pakoAction=K,this._pakoOptions=J,this.meta={}}G.magic="\b\0",q.inherits(Z,Y),Z.prototype.processChunk=function(K){this.meta=K.meta,this._pako===null&&this._createPako(),this._pako.push(q.transformTo(Q,K.data),!1)},Z.prototype.flush=function(){Y.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},Z.prototype.cleanUp=function(){Y.prototype.cleanUp.call(this),this._pako=null},Z.prototype._createPako=function(){this._pako=new W[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var K=this;this._pako.onData=function(J){K.push({data:J,meta:K.meta})}},G.compressWorker=function(K){return new Z("Deflate",K)},G.uncompressWorker=function(){return new Z("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(F,D,G){var U=F("../utils"),W=F("../stream/GenericWorker"),q=F("../utf8"),Y=F("../crc32"),Q=F("../signature"),Z=function(ne,se){var re,ae="";for(re=0;re<se;re++)ae+=String.fromCharCode(255&ne),ne>>>=8;return ae},K=function(ne,se,re,ae,le,ce){var he,de,me=ne.file,fe=ne.compression,ge=ce!==q.utf8encode,Se=U.transformTo("string",ce(me.name)),Ee=U.transformTo("string",q.utf8encode(me.name)),ve=me.comment,xe=U.transformTo("string",ce(ve)),Pe=U.transformTo("string",q.utf8encode(ve)),ye=Ee.length!==me.name.length,Te=Pe.length!==ve.length,Le="",we="",Ae="",Me=me.dir,ke=me.date,Ne={crc32:0,compressedSize:0,uncompressedSize:0};se&&!re||(Ne.crc32=ne.crc32,Ne.compressedSize=ne.compressedSize,Ne.uncompressedSize=ne.uncompressedSize);var Ie=0;se&&(Ie|=8),ge||!ye&&!Te||(Ie|=2048);var Ge,ze,Ve,Ye=0,et=0;Me&&(Ye|=16),le==="UNIX"?(et=798,Ye|=(Ge=me.unixPermissions,ze=Me,Ve=Ge,Ge||(Ve=ze?16893:33204),(65535&Ve)<<16)):(et=20,Ye|=63&(me.dosPermissions||0)),he=ke.getUTCHours(),he<<=6,he|=ke.getUTCMinutes(),he<<=5,he|=ke.getUTCSeconds()/2,de=ke.getUTCFullYear()-1980,de<<=4,de|=ke.getUTCMonth()+1,de<<=5,de|=ke.getUTCDate(),ye&&(we=Z(1,1)+Z(Y(Se),4)+Ee,Le+="up"+Z(we.length,2)+we),Te&&(Ae=Z(1,1)+Z(Y(xe),4)+Pe,Le+="uc"+Z(Ae.length,2)+Ae);var Je="";return Je+=`
- \0`,Je+=Z(Ie,2),Je+=fe.magic,Je+=Z(he,2),Je+=Z(de,2),Je+=Z(Ne.crc32,4),Je+=Z(Ne.compressedSize,4),Je+=Z(Ne.uncompressedSize,4),Je+=Z(Se.length,2),Je+=Z(Le.length,2),{fileRecord:Q.LOCAL_FILE_HEADER+Je+Se+Le,dirRecord:Q.CENTRAL_FILE_HEADER+Z(et,2)+Je+Z(xe.length,2)+"\0\0\0\0"+Z(Ye,4)+Z(ae,4)+Se+Le+xe}},J=function(ne){return Q.DATA_DESCRIPTOR+Z(ne.crc32,4)+Z(ne.compressedSize,4)+Z(ne.uncompressedSize,4)};function ie(ne,se,re,ae){W.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=se,this.zipPlatform=re,this.encodeFileName=ae,this.streamFiles=ne,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}U.inherits(ie,W),ie.prototype.push=function(ne){var se=ne.meta.percent||0,re=this.entriesCount,ae=this._sources.length;this.accumulate?this.contentBuffer.push(ne):(this.bytesWritten+=ne.data.length,W.prototype.push.call(this,{data:ne.data,meta:{currentFile:this.currentFile,percent:re?(se+100*(re-ae-1))/re:100}}))},ie.prototype.openedSource=function(ne){this.currentSourceOffset=this.bytesWritten,this.currentFile=ne.file.name;var se=this.streamFiles&&!ne.file.dir;if(se){var re=K(ne,se,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:re.fileRecord,meta:{percent:0}})}else this.accumulate=!0},ie.prototype.closedSource=function(ne){this.accumulate=!1;var se=this.streamFiles&&!ne.file.dir,re=K(ne,se,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(re.dirRecord),se)this.push({data:J(ne),meta:{percent:100}});else for(this.push({data:re.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},ie.prototype.flush=function(){for(var ne=this.bytesWritten,se=0;se<this.dirRecords.length;se++)this.push({data:this.dirRecords[se],meta:{percent:100}});var re=this.bytesWritten-ne,ae=function(le,ce,he,de,me){var fe=U.transformTo("string",me(de));return Q.CENTRAL_DIRECTORY_END+"\0\0\0\0"+Z(le,2)+Z(le,2)+Z(ce,4)+Z(he,4)+Z(fe.length,2)+fe}(this.dirRecords.length,re,ne,this.zipComment,this.encodeFileName);this.push({data:ae,meta:{percent:100}})},ie.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},ie.prototype.registerPrevious=function(ne){this._sources.push(ne);var se=this;return ne.on("data",function(re){se.processChunk(re)}),ne.on("end",function(){se.closedSource(se.previous.streamInfo),se._sources.length?se.prepareNextSource():se.end()}),ne.on("error",function(re){se.error(re)}),this},ie.prototype.resume=function(){return!!W.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},ie.prototype.error=function(ne){var se=this._sources;if(!W.prototype.error.call(this,ne))return!1;for(var re=0;re<se.length;re++)try{se[re].error(ne)}catch{}return!0},ie.prototype.lock=function(){W.prototype.lock.call(this);for(var ne=this._sources,se=0;se<ne.length;se++)ne[se].lock()},D.exports=ie},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(F,D,G){var U=F("../compressions"),W=F("./ZipFileWorker");G.generateWorker=function(q,Y,Q){var Z=new W(Y.streamFiles,Q,Y.platform,Y.encodeFileName),K=0;try{q.forEach(function(J,ie){K++;var ne=function(le,ce){var he=le||ce,de=U[he];if(!de)throw new Error(he+" is not a valid compression method !");return de}(ie.options.compression,Y.compression),se=ie.options.compressionOptions||Y.compressionOptions||{},re=ie.dir,ae=ie.date;ie._compressWorker(ne,se).withStreamInfo("file",{name:J,dir:re,date:ae,comment:ie.comment||"",unixPermissions:ie.unixPermissions,dosPermissions:ie.dosPermissions}).pipe(Z)}),Z.entriesCount=K}catch(J){Z.error(J)}return Z}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(F,D,G){function U(){if(!(this instanceof U))return new U;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var W=new U;for(var q in this)typeof this[q]!="function"&&(W[q]=this[q]);return W}}U.prototype=F("./object"),U.prototype.loadAsync=F("./load"),U.support=F("./support"),U.defaults=F("./defaults"),U.version="3.10.0",U.loadAsync=function(W,q){return new U().loadAsync(W,q)},U.external=F("./external"),D.exports=U},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(F,D,G){var U=F("./utils"),W=F("./external"),q=F("./utf8"),Y=F("./zipEntries"),Q=F("./stream/Crc32Probe"),Z=F("./nodejsUtils");function K(J){return new W.Promise(function(ie,ne){var se=J.decompressed.getContentWorker().pipe(new Q);se.on("error",function(re){ne(re)}).on("end",function(){se.streamInfo.crc32!==J.decompressed.crc32?ne(new Error("Corrupted zip : CRC32 mismatch")):ie()}).resume()})}D.exports=function(J,ie){var ne=this;return ie=U.extend(ie||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:q.utf8decode}),Z.isNode&&Z.isStream(J)?W.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):U.prepareContent("the loaded zip file",J,!0,ie.optimizedBinaryString,ie.base64).then(function(se){var re=new Y(ie);return re.load(se),re}).then(function(se){var re=[W.Promise.resolve(se)],ae=se.files;if(ie.checkCRC32)for(var le=0;le<ae.length;le++)re.push(K(ae[le]));return W.Promise.all(re)}).then(function(se){for(var re=se.shift(),ae=re.files,le=0;le<ae.length;le++){var ce=ae[le],he=ce.fileNameStr,de=U.resolve(ce.fileNameStr);ne.file(de,ce.decompressed,{binary:!0,optimizedBinaryString:!0,date:ce.date,dir:ce.dir,comment:ce.fileCommentStr.length?ce.fileCommentStr:null,unixPermissions:ce.unixPermissions,dosPermissions:ce.dosPermissions,createFolders:ie.createFolders}),ce.dir||(ne.file(de).unsafeOriginalName=he)}return re.zipComment.length&&(ne.comment=re.zipComment),ne})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(F,D,G){var U=F("../utils"),W=F("../stream/GenericWorker");function q(Y,Q){W.call(this,"Nodejs stream input adapter for "+Y),this._upstreamEnded=!1,this._bindStream(Q)}U.inherits(q,W),q.prototype._bindStream=function(Y){var Q=this;this._stream=Y,Y.pause(),Y.on("data",function(Z){Q.push({data:Z,meta:{percent:0}})}).on("error",function(Z){Q.isPaused?this.generatedError=Z:Q.error(Z)}).on("end",function(){Q.isPaused?Q._upstreamEnded=!0:Q.end()})},q.prototype.pause=function(){return!!W.prototype.pause.call(this)&&(this._stream.pause(),!0)},q.prototype.resume=function(){return!!W.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},D.exports=q},{"../stream/GenericWorker":28,"../utils":32}],13:[function(F,D,G){var U=F("readable-stream").Readable;function W(q,Y,Q){U.call(this,Y),this._helper=q;var Z=this;q.on("data",function(K,J){Z.push(K)||Z._helper.pause(),Q&&Q(J)}).on("error",function(K){Z.emit("error",K)}).on("end",function(){Z.push(null)})}F("../utils").inherits(W,U),W.prototype._read=function(){this._helper.resume()},D.exports=W},{"../utils":32,"readable-stream":16}],14:[function(F,D,G){D.exports={isNode:typeof Buffer!="undefined",newBufferFrom:function(U,W){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(U,W);if(typeof U=="number")throw new Error('The "data" argument must not be a number');return new Buffer(U,W)},allocBuffer:function(U){if(Buffer.alloc)return Buffer.alloc(U);var W=new Buffer(U);return W.fill(0),W},isBuffer:function(U){return Buffer.isBuffer(U)},isStream:function(U){return U&&typeof U.on=="function"&&typeof U.pause=="function"&&typeof U.resume=="function"}}},{}],15:[function(F,D,G){var U=F("./utf8"),W=F("./utils"),q=F("./stream/GenericWorker"),Y=F("./stream/StreamHelper"),Q=F("./defaults"),Z=F("./compressedObject"),K=F("./zipObject"),J=F("./generate"),ie=F("./nodejsUtils"),ne=F("./nodejs/NodejsStreamInputAdapter"),se=function(de,me,fe){var ge,Se=W.getTypeOf(me),Ee=W.extend(fe||{},Q);Ee.date=Ee.date||new Date,Ee.compression!==null&&(Ee.compression=Ee.compression.toUpperCase()),typeof Ee.unixPermissions=="string"&&(Ee.unixPermissions=parseInt(Ee.unixPermissions,8)),Ee.unixPermissions&&16384&Ee.unixPermissions&&(Ee.dir=!0),Ee.dosPermissions&&16&Ee.dosPermissions&&(Ee.dir=!0),Ee.dir&&(de=ae(de)),Ee.createFolders&&(ge=re(de))&&le.call(this,ge,!0);var ve=Se==="string"&&Ee.binary===!1&&Ee.base64===!1;fe&&fe.binary!==void 0||(Ee.binary=!ve),(me instanceof Z&&me.uncompressedSize===0||Ee.dir||!me||me.length===0)&&(Ee.base64=!1,Ee.binary=!0,me="",Ee.compression="STORE",Se="string");var xe=null;xe=me instanceof Z||me instanceof q?me:ie.isNode&&ie.isStream(me)?new ne(de,me):W.prepareContent(de,me,Ee.binary,Ee.optimizedBinaryString,Ee.base64);var Pe=new K(de,xe,Ee);this.files[de]=Pe},re=function(de){de.slice(-1)==="/"&&(de=de.substring(0,de.length-1));var me=de.lastIndexOf("/");return me>0?de.substring(0,me):""},ae=function(de){return de.slice(-1)!=="/"&&(de+="/"),de},le=function(de,me){return me=me!==void 0?me:Q.createFolders,de=ae(de),this.files[de]||se.call(this,de,null,{dir:!0,createFolders:me}),this.files[de]};function ce(de){return Object.prototype.toString.call(de)==="[object RegExp]"}var he={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(de){var me,fe,ge;for(me in this.files)ge=this.files[me],(fe=me.slice(this.root.length,me.length))&&me.slice(0,this.root.length)===this.root&&de(fe,ge)},filter:function(de){var me=[];return this.forEach(function(fe,ge){de(fe,ge)&&me.push(ge)}),me},file:function(de,me,fe){if(arguments.length===1){if(ce(de)){var ge=de;return this.filter(function(Ee,ve){return!ve.dir&&ge.test(Ee)})}var Se=this.files[this.root+de];return Se&&!Se.dir?Se:null}return de=this.root+de,se.call(this,de,me,fe),this},folder:function(de){if(!de)return this;if(ce(de))return this.filter(function(Se,Ee){return Ee.dir&&de.test(Se)});var me=this.root+de,fe=le.call(this,me),ge=this.clone();return ge.root=fe.name,ge},remove:function(de){de=this.root+de;var me=this.files[de];if(me||(de.slice(-1)!=="/"&&(de+="/"),me=this.files[de]),me&&!me.dir)delete this.files[de];else for(var fe=this.filter(function(Se,Ee){return Ee.name.slice(0,de.length)===de}),ge=0;ge<fe.length;ge++)delete this.files[fe[ge].name];return this},generate:function(de){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(de){var me,fe={};try{if((fe=W.extend(de||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:U.utf8encode})).type=fe.type.toLowerCase(),fe.compression=fe.compression.toUpperCase(),fe.type==="binarystring"&&(fe.type="string"),!fe.type)throw new Error("No output type specified.");W.checkSupport(fe.type),fe.platform!=="darwin"&&fe.platform!=="freebsd"&&fe.platform!=="linux"&&fe.platform!=="sunos"||(fe.platform="UNIX"),fe.platform==="win32"&&(fe.platform="DOS");var ge=fe.comment||this.comment||"";me=J.generateWorker(this,fe,ge)}catch(Se){(me=new q("error")).error(Se)}return new Y(me,fe.type||"string",fe.mimeType)},generateAsync:function(de,me){return this.generateInternalStream(de).accumulate(me)},generateNodeStream:function(de,me){return(de=de||{}).type||(de.type="nodebuffer"),this.generateInternalStream(de).toNodejsStream(me)}};D.exports=he},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(F,D,G){D.exports=F("stream")},{stream:void 0}],17:[function(F,D,G){var U=F("./DataReader");function W(q){U.call(this,q);for(var Y=0;Y<this.data.length;Y++)q[Y]=255&q[Y]}F("../utils").inherits(W,U),W.prototype.byteAt=function(q){return this.data[this.zero+q]},W.prototype.lastIndexOfSignature=function(q){for(var Y=q.charCodeAt(0),Q=q.charCodeAt(1),Z=q.charCodeAt(2),K=q.charCodeAt(3),J=this.length-4;J>=0;--J)if(this.data[J]===Y&&this.data[J+1]===Q&&this.data[J+2]===Z&&this.data[J+3]===K)return J-this.zero;return-1},W.prototype.readAndCheckSignature=function(q){var Y=q.charCodeAt(0),Q=q.charCodeAt(1),Z=q.charCodeAt(2),K=q.charCodeAt(3),J=this.readData(4);return Y===J[0]&&Q===J[1]&&Z===J[2]&&K===J[3]},W.prototype.readData=function(q){if(this.checkOffset(q),q===0)return[];var Y=this.data.slice(this.zero+this.index,this.zero+this.index+q);return this.index+=q,Y},D.exports=W},{"../utils":32,"./DataReader":18}],18:[function(F,D,G){var U=F("../utils");function W(q){this.data=q,this.length=q.length,this.index=0,this.zero=0}W.prototype={checkOffset:function(q){this.checkIndex(this.index+q)},checkIndex:function(q){if(this.length<this.zero+q||q<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+q+"). Corrupted zip ?")},setIndex:function(q){this.checkIndex(q),this.index=q},skip:function(q){this.setIndex(this.index+q)},byteAt:function(q){},readInt:function(q){var Y,Q=0;for(this.checkOffset(q),Y=this.index+q-1;Y>=this.index;Y--)Q=(Q<<8)+this.byteAt(Y);return this.index+=q,Q},readString:function(q){return U.transformTo("string",this.readData(q))},readData:function(q){},lastIndexOfSignature:function(q){},readAndCheckSignature:function(q){},readDate:function(){var q=this.readInt(4);return new Date(Date.UTC(1980+(q>>25&127),(q>>21&15)-1,q>>16&31,q>>11&31,q>>5&63,(31&q)<<1))}},D.exports=W},{"../utils":32}],19:[function(F,D,G){var U=F("./Uint8ArrayReader");function W(q){U.call(this,q)}F("../utils").inherits(W,U),W.prototype.readData=function(q){this.checkOffset(q);var Y=this.data.slice(this.zero+this.index,this.zero+this.index+q);return this.index+=q,Y},D.exports=W},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(F,D,G){var U=F("./DataReader");function W(q){U.call(this,q)}F("../utils").inherits(W,U),W.prototype.byteAt=function(q){return this.data.charCodeAt(this.zero+q)},W.prototype.lastIndexOfSignature=function(q){return this.data.lastIndexOf(q)-this.zero},W.prototype.readAndCheckSignature=function(q){return q===this.readData(4)},W.prototype.readData=function(q){this.checkOffset(q);var Y=this.data.slice(this.zero+this.index,this.zero+this.index+q);return this.index+=q,Y},D.exports=W},{"../utils":32,"./DataReader":18}],21:[function(F,D,G){var U=F("./ArrayReader");function W(q){U.call(this,q)}F("../utils").inherits(W,U),W.prototype.readData=function(q){if(this.checkOffset(q),q===0)return new Uint8Array(0);var Y=this.data.subarray(this.zero+this.index,this.zero+this.index+q);return this.index+=q,Y},D.exports=W},{"../utils":32,"./ArrayReader":17}],22:[function(F,D,G){var U=F("../utils"),W=F("../support"),q=F("./ArrayReader"),Y=F("./StringReader"),Q=F("./NodeBufferReader"),Z=F("./Uint8ArrayReader");D.exports=function(K){var J=U.getTypeOf(K);return U.checkSupport(J),J!=="string"||W.uint8array?J==="nodebuffer"?new Q(K):W.uint8array?new Z(U.transformTo("uint8array",K)):new q(U.transformTo("array",K)):new Y(K)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(F,D,G){G.LOCAL_FILE_HEADER="PK",G.CENTRAL_FILE_HEADER="PK",G.CENTRAL_DIRECTORY_END="PK",G.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",G.ZIP64_CENTRAL_DIRECTORY_END="PK",G.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(F,D,G){var U=F("./GenericWorker"),W=F("../utils");function q(Y){U.call(this,"ConvertWorker to "+Y),this.destType=Y}W.inherits(q,U),q.prototype.processChunk=function(Y){this.push({data:W.transformTo(this.destType,Y.data),meta:Y.meta})},D.exports=q},{"../utils":32,"./GenericWorker":28}],25:[function(F,D,G){var U=F("./GenericWorker"),W=F("../crc32");function q(){U.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}F("../utils").inherits(q,U),q.prototype.processChunk=function(Y){this.streamInfo.crc32=W(Y.data,this.streamInfo.crc32||0),this.push(Y)},D.exports=q},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(F,D,G){var U=F("../utils"),W=F("./GenericWorker");function q(Y){W.call(this,"DataLengthProbe for "+Y),this.propName=Y,this.withStreamInfo(Y,0)}U.inherits(q,W),q.prototype.processChunk=function(Y){if(Y){var Q=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=Q+Y.data.length}W.prototype.processChunk.call(this,Y)},D.exports=q},{"../utils":32,"./GenericWorker":28}],27:[function(F,D,G){var U=F("../utils"),W=F("./GenericWorker");function q(Y){W.call(this,"DataWorker");var Q=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,Y.then(function(Z){Q.dataIsReady=!0,Q.data=Z,Q.max=Z&&Z.length||0,Q.type=U.getTypeOf(Z),Q.isPaused||Q._tickAndRepeat()},function(Z){Q.error(Z)})}U.inherits(q,W),q.prototype.cleanUp=function(){W.prototype.cleanUp.call(this),this.data=null},q.prototype.resume=function(){return!!W.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,U.delay(this._tickAndRepeat,[],this)),!0)},q.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(U.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},q.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var Y=null,Q=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":Y=this.data.substring(this.index,Q);break;case"uint8array":Y=this.data.subarray(this.index,Q);break;case"array":case"nodebuffer":Y=this.data.slice(this.index,Q)}return this.index=Q,this.push({data:Y,meta:{percent:this.max?this.index/this.max*100:0}})},D.exports=q},{"../utils":32,"./GenericWorker":28}],28:[function(F,D,G){function U(W){this.name=W||"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}U.prototype={push:function(W){this.emit("data",W)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(W){this.emit("error",W)}return!0},error:function(W){return!this.isFinished&&(this.isPaused?this.generatedError=W:(this.isFinished=!0,this.emit("error",W),this.previous&&this.previous.error(W),this.cleanUp()),!0)},on:function(W,q){return this._listeners[W].push(q),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(W,q){if(this._listeners[W])for(var Y=0;Y<this._listeners[W].length;Y++)this._listeners[W][Y].call(this,q)},pipe:function(W){return W.registerPrevious(this)},registerPrevious:function(W){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=W.streamInfo,this.mergeStreamInfo(),this.previous=W;var q=this;return W.on("data",function(Y){q.processChunk(Y)}),W.on("end",function(){q.end()}),W.on("error",function(Y){q.error(Y)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var W=!1;return this.generatedError&&(this.error(this.generatedError),W=!0),this.previous&&this.previous.resume(),!W},flush:function(){},processChunk:function(W){this.push(W)},withStreamInfo:function(W,q){return this.extraStreamInfo[W]=q,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var W in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(W)&&(this.streamInfo[W]=this.extraStreamInfo[W])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var W="Worker "+this.name;return this.previous?this.previous+" -> "+W:W}},D.exports=U},{}],29:[function(F,D,G){var U=F("../utils"),W=F("./ConvertWorker"),q=F("./GenericWorker"),Y=F("../base64"),Q=F("../support"),Z=F("../external"),K=null;if(Q.nodestream)try{K=F("../nodejs/NodejsStreamOutputAdapter")}catch{}function J(ne,se){return new Z.Promise(function(re,ae){var le=[],ce=ne._internalType,he=ne._outputType,de=ne._mimeType;ne.on("data",function(me,fe){le.push(me),se&&se(fe)}).on("error",function(me){le=[],ae(me)}).on("end",function(){try{var me=function(fe,ge,Se){switch(fe){case"blob":return U.newBlob(U.transformTo("arraybuffer",ge),Se);case"base64":return Y.encode(ge);default:return U.transformTo(fe,ge)}}(he,function(fe,ge){var Se,Ee=0,ve=null,xe=0;for(Se=0;Se<ge.length;Se++)xe+=ge[Se].length;switch(fe){case"string":return ge.join("");case"array":return Array.prototype.concat.apply([],ge);case"uint8array":for(ve=new Uint8Array(xe),Se=0;Se<ge.length;Se++)ve.set(ge[Se],Ee),Ee+=ge[Se].length;return ve;case"nodebuffer":return Buffer.concat(ge);default:throw new Error("concat : unsupported type '"+fe+"'")}}(ce,le),de);re(me)}catch(fe){ae(fe)}le=[]}).resume()})}function ie(ne,se,re){var ae=se;switch(se){case"blob":case"arraybuffer":ae="uint8array";break;case"base64":ae="string"}try{this._internalType=ae,this._outputType=se,this._mimeType=re,U.checkSupport(ae),this._worker=ne.pipe(new W(ae)),ne.lock()}catch(le){this._worker=new q("error"),this._worker.error(le)}}ie.prototype={accumulate:function(ne){return J(this,ne)},on:function(ne,se){var re=this;return ne==="data"?this._worker.on(ne,function(ae){se.call(re,ae.data,ae.meta)}):this._worker.on(ne,function(){U.delay(se,arguments,re)}),this},resume:function(){return U.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(ne){if(U.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new K(this,{objectMode:this._outputType!=="nodebuffer"},ne)}},D.exports=ie},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(F,D,G){if(G.base64=!0,G.array=!0,G.string=!0,G.arraybuffer=typeof ArrayBuffer!="undefined"&&typeof Uint8Array!="undefined",G.nodebuffer=typeof Buffer!="undefined",G.uint8array=typeof Uint8Array!="undefined",typeof ArrayBuffer=="undefined")G.blob=!1;else{var U=new ArrayBuffer(0);try{G.blob=new Blob([U],{type:"application/zip"}).size===0}catch{try{var W=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);W.append(U),G.blob=W.getBlob("application/zip").size===0}catch{G.blob=!1}}}try{G.nodestream=!!F("readable-stream").Readable}catch{G.nodestream=!1}},{"readable-stream":16}],31:[function(F,D,G){for(var U=F("./utils"),W=F("./support"),q=F("./nodejsUtils"),Y=F("./stream/GenericWorker"),Q=new Array(256),Z=0;Z<256;Z++)Q[Z]=Z>=252?6:Z>=248?5:Z>=240?4:Z>=224?3:Z>=192?2:1;Q[254]=Q[254]=1;function K(){Y.call(this,"utf-8 decode"),this.leftOver=null}function J(){Y.call(this,"utf-8 encode")}G.utf8encode=function(ie){return W.nodebuffer?q.newBufferFrom(ie,"utf-8"):function(ne){var se,re,ae,le,ce,he=ne.length,de=0;for(le=0;le<he;le++)(64512&(re=ne.charCodeAt(le)))==55296&&le+1<he&&(64512&(ae=ne.charCodeAt(le+1)))==56320&&(re=65536+(re-55296<<10)+(ae-56320),le++),de+=re<128?1:re<2048?2:re<65536?3:4;for(se=W.uint8array?new Uint8Array(de):new Array(de),ce=0,le=0;ce<de;le++)(64512&(re=ne.charCodeAt(le)))==55296&&le+1<he&&(64512&(ae=ne.charCodeAt(le+1)))==56320&&(re=65536+(re-55296<<10)+(ae-56320),le++),re<128?se[ce++]=re:re<2048?(se[ce++]=192|re>>>6,se[ce++]=128|63&re):re<65536?(se[ce++]=224|re>>>12,se[ce++]=128|re>>>6&63,se[ce++]=128|63&re):(se[ce++]=240|re>>>18,se[ce++]=128|re>>>12&63,se[ce++]=128|re>>>6&63,se[ce++]=128|63&re);return se}(ie)},G.utf8decode=function(ie){return W.nodebuffer?U.transformTo("nodebuffer",ie).toString("utf-8"):function(ne){var se,re,ae,le,ce=ne.length,he=new Array(2*ce);for(re=0,se=0;se<ce;)if((ae=ne[se++])<128)he[re++]=ae;else if((le=Q[ae])>4)he[re++]=65533,se+=le-1;else{for(ae&=le===2?31:le===3?15:7;le>1&&se<ce;)ae=ae<<6|63&ne[se++],le--;le>1?he[re++]=65533:ae<65536?he[re++]=ae:(ae-=65536,he[re++]=55296|ae>>10&1023,he[re++]=56320|1023&ae)}return he.length!==re&&(he.subarray?he=he.subarray(0,re):he.length=re),U.applyFromCharCode(he)}(ie=U.transformTo(W.uint8array?"uint8array":"array",ie))},U.inherits(K,Y),K.prototype.processChunk=function(ie){var ne=U.transformTo(W.uint8array?"uint8array":"array",ie.data);if(this.leftOver&&this.leftOver.length){if(W.uint8array){var se=ne;(ne=new Uint8Array(se.length+this.leftOver.length)).set(this.leftOver,0),ne.set(se,this.leftOver.length)}else ne=this.leftOver.concat(ne);this.leftOver=null}var re=function(le,ce){var he;for((ce=ce||le.length)>le.length&&(ce=le.length),he=ce-1;he>=0&&(192&le[he])==128;)he--;return he<0||he===0?ce:he+Q[le[he]]>ce?he:ce}(ne),ae=ne;re!==ne.length&&(W.uint8array?(ae=ne.subarray(0,re),this.leftOver=ne.subarray(re,ne.length)):(ae=ne.slice(0,re),this.leftOver=ne.slice(re,ne.length))),this.push({data:G.utf8decode(ae),meta:ie.meta})},K.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:G.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},G.Utf8DecodeWorker=K,U.inherits(J,Y),J.prototype.processChunk=function(ie){this.push({data:G.utf8encode(ie.data),meta:ie.meta})},G.Utf8EncodeWorker=J},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(F,D,G){var U=F("./support"),W=F("./base64"),q=F("./nodejsUtils"),Y=F("./external");function Q(se){return se}function Z(se,re){for(var ae=0;ae<se.length;++ae)re[ae]=255&se.charCodeAt(ae);return re}F("setimmediate"),G.newBlob=function(se,re){G.checkSupport("blob");try{return new Blob([se],{type:re})}catch{try{var ae=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return ae.append(se),ae.getBlob(re)}catch{throw new Error("Bug : can't construct the Blob.")}}};var K={stringifyByChunk:function(se,re,ae){var le=[],ce=0,he=se.length;if(he<=ae)return String.fromCharCode.apply(null,se);for(;ce<he;)re==="array"||re==="nodebuffer"?le.push(String.fromCharCode.apply(null,se.slice(ce,Math.min(ce+ae,he)))):le.push(String.fromCharCode.apply(null,se.subarray(ce,Math.min(ce+ae,he)))),ce+=ae;return le.join("")},stringifyByChar:function(se){for(var re="",ae=0;ae<se.length;ae++)re+=String.fromCharCode(se[ae]);return re},applyCanBeUsed:{uint8array:function(){try{return U.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}}(),nodebuffer:function(){try{return U.nodebuffer&&String.fromCharCode.apply(null,q.allocBuffer(1)).length===1}catch{return!1}}()}};function J(se){var re=65536,ae=G.getTypeOf(se),le=!0;if(ae==="uint8array"?le=K.applyCanBeUsed.uint8array:ae==="nodebuffer"&&(le=K.applyCanBeUsed.nodebuffer),le)for(;re>1;)try{return K.stringifyByChunk(se,ae,re)}catch{re=Math.floor(re/2)}return K.stringifyByChar(se)}function ie(se,re){for(var ae=0;ae<se.length;ae++)re[ae]=se[ae];return re}G.applyFromCharCode=J;var ne={};ne.string={string:Q,array:function(se){return Z(se,new Array(se.length))},arraybuffer:function(se){return ne.string.uint8array(se).buffer},uint8array:function(se){return Z(se,new Uint8Array(se.length))},nodebuffer:function(se){return Z(se,q.allocBuffer(se.length))}},ne.array={string:J,array:Q,arraybuffer:function(se){return new Uint8Array(se).buffer},uint8array:function(se){return new Uint8Array(se)},nodebuffer:function(se){return q.newBufferFrom(se)}},ne.arraybuffer={string:function(se){return J(new Uint8Array(se))},array:function(se){return ie(new Uint8Array(se),new Array(se.byteLength))},arraybuffer:Q,uint8array:function(se){return new Uint8Array(se)},nodebuffer:function(se){return q.newBufferFrom(new Uint8Array(se))}},ne.uint8array={string:J,array:function(se){return ie(se,new Array(se.length))},arraybuffer:function(se){return se.buffer},uint8array:Q,nodebuffer:function(se){return q.newBufferFrom(se)}},ne.nodebuffer={string:J,array:function(se){return ie(se,new Array(se.length))},arraybuffer:function(se){return ne.nodebuffer.uint8array(se).buffer},uint8array:function(se){return ie(se,new Uint8Array(se.length))},nodebuffer:Q},G.transformTo=function(se,re){if(re||(re=""),!se)return re;G.checkSupport(se);var ae=G.getTypeOf(re);return ne[ae][se](re)},G.resolve=function(se){for(var re=se.split("/"),ae=[],le=0;le<re.length;le++){var ce=re[le];ce==="."||ce===""&&le!==0&&le!==re.length-1||(ce===".."?ae.pop():ae.push(ce))}return ae.join("/")},G.getTypeOf=function(se){return typeof se=="string"?"string":Object.prototype.toString.call(se)==="[object Array]"?"array":U.nodebuffer&&q.isBuffer(se)?"nodebuffer":U.uint8array&&se instanceof Uint8Array?"uint8array":U.arraybuffer&&se instanceof ArrayBuffer?"arraybuffer":void 0},G.checkSupport=function(se){if(!U[se.toLowerCase()])throw new Error(se+" is not supported by this platform")},G.MAX_VALUE_16BITS=65535,G.MAX_VALUE_32BITS=-1,G.pretty=function(se){var re,ae,le="";for(ae=0;ae<(se||"").length;ae++)le+="\\x"+((re=se.charCodeAt(ae))<16?"0":"")+re.toString(16).toUpperCase();return le},G.delay=function(se,re,ae){setImmediate(function(){se.apply(ae||null,re||[])})},G.inherits=function(se,re){var ae=function(){};ae.prototype=re.prototype,se.prototype=new ae},G.extend=function(){var se,re,ae={};for(se=0;se<arguments.length;se++)for(re in arguments[se])arguments[se].hasOwnProperty(re)&&ae[re]===void 0&&(ae[re]=arguments[se][re]);return ae},G.prepareContent=function(se,re,ae,le,ce){return Y.Promise.resolve(re).then(function(he){return U.blob&&(he instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(he))!==-1)&&typeof FileReader!="undefined"?new Y.Promise(function(de,me){var fe=new FileReader;fe.onload=function(ge){de(ge.target.result)},fe.onerror=function(ge){me(ge.target.error)},fe.readAsArrayBuffer(he)}):he}).then(function(he){var de,me=G.getTypeOf(he);return me?(me==="arraybuffer"?he=G.transformTo("uint8array",he):me==="string"&&(ce?he=W.decode(he):ae&&le!==!0&&(he=Z(de=he,U.uint8array?new Uint8Array(de.length):new Array(de.length)))),he):Y.Promise.reject(new Error("Can't read the data of '"+se+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(F,D,G){var U=F("./reader/readerFor"),W=F("./utils"),q=F("./signature"),Y=F("./zipEntry"),Q=(F("./utf8"),F("./support"));function Z(K){this.files=[],this.loadOptions=K}Z.prototype={checkSignature:function(K){if(!this.reader.readAndCheckSignature(K)){this.reader.index-=4;var J=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+W.pretty(J)+", expected "+W.pretty(K)+")")}},isSignature:function(K,J){var ie=this.reader.index;this.reader.setIndex(K);var ne=this.reader.readString(4)===J;return this.reader.setIndex(ie),ne},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var K=this.reader.readData(this.zipCommentLength),J=Q.uint8array?"uint8array":"array",ie=W.transformTo(J,K);this.zipComment=this.loadOptions.decodeFileName(ie)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var K,J,ie,ne=this.zip64EndOfCentralSize-44;0<ne;)K=this.reader.readInt(2),J=this.reader.readInt(4),ie=this.reader.readData(J),this.zip64ExtensibleData[K]={id:K,length:J,value:ie}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var K,J;for(K=0;K<this.files.length;K++)J=this.files[K],this.reader.setIndex(J.localHeaderOffset),this.checkSignature(q.LOCAL_FILE_HEADER),J.readLocalPart(this.reader),J.handleUTF8(),J.processAttributes()},readCentralDir:function(){var K;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(q.CENTRAL_FILE_HEADER);)(K=new Y({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(K);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var K=this.reader.lastIndexOfSignature(q.CENTRAL_DIRECTORY_END);if(K<0)throw this.isSignature(0,q.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(K);var J=K;if(this.checkSignature(q.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===W.MAX_VALUE_16BITS||this.diskWithCentralDirStart===W.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===W.MAX_VALUE_16BITS||this.centralDirRecords===W.MAX_VALUE_16BITS||this.centralDirSize===W.MAX_VALUE_32BITS||this.centralDirOffset===W.MAX_VALUE_32BITS){if(this.zip64=!0,(K=this.reader.lastIndexOfSignature(q.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(K),this.checkSignature(q.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,q.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(q.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(q.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var ie=this.centralDirOffset+this.centralDirSize;this.zip64&&(ie+=20,ie+=12+this.zip64EndOfCentralSize);var ne=J-ie;if(ne>0)this.isSignature(J,q.CENTRAL_FILE_HEADER)||(this.reader.zero=ne);else if(ne<0)throw new Error("Corrupted zip: missing "+Math.abs(ne)+" bytes.")},prepareReader:function(K){this.reader=U(K)},load:function(K){this.prepareReader(K),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},D.exports=Z},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(F,D,G){var U=F("./reader/readerFor"),W=F("./utils"),q=F("./compressedObject"),Y=F("./crc32"),Q=F("./utf8"),Z=F("./compressions"),K=F("./support");function J(ie,ne){this.options=ie,this.loadOptions=ne}J.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(ie){var ne,se;if(ie.skip(22),this.fileNameLength=ie.readInt(2),se=ie.readInt(2),this.fileName=ie.readData(this.fileNameLength),ie.skip(se),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((ne=function(re){for(var ae in Z)if(Z.hasOwnProperty(ae)&&Z[ae].magic===re)return Z[ae];return null}(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+W.pretty(this.compressionMethod)+" unknown (inner file : "+W.transformTo("string",this.fileName)+")");this.decompressed=new q(this.compressedSize,this.uncompressedSize,this.crc32,ne,ie.readData(this.compressedSize))},readCentralPart:function(ie){this.versionMadeBy=ie.readInt(2),ie.skip(2),this.bitFlag=ie.readInt(2),this.compressionMethod=ie.readString(2),this.date=ie.readDate(),this.crc32=ie.readInt(4),this.compressedSize=ie.readInt(4),this.uncompressedSize=ie.readInt(4);var ne=ie.readInt(2);if(this.extraFieldsLength=ie.readInt(2),this.fileCommentLength=ie.readInt(2),this.diskNumberStart=ie.readInt(2),this.internalFileAttributes=ie.readInt(2),this.externalFileAttributes=ie.readInt(4),this.localHeaderOffset=ie.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");ie.skip(ne),this.readExtraFields(ie),this.parseZIP64ExtraField(ie),this.fileComment=ie.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var ie=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),ie===0&&(this.dosPermissions=63&this.externalFileAttributes),ie===3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(ie){if(this.extraFields[1]){var ne=U(this.extraFields[1].value);this.uncompressedSize===W.MAX_VALUE_32BITS&&(this.uncompressedSize=ne.readInt(8)),this.compressedSize===W.MAX_VALUE_32BITS&&(this.compressedSize=ne.readInt(8)),this.localHeaderOffset===W.MAX_VALUE_32BITS&&(this.localHeaderOffset=ne.readInt(8)),this.diskNumberStart===W.MAX_VALUE_32BITS&&(this.diskNumberStart=ne.readInt(4))}},readExtraFields:function(ie){var ne,se,re,ae=ie.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});ie.index+4<ae;)ne=ie.readInt(2),se=ie.readInt(2),re=ie.readData(se),this.extraFields[ne]={id:ne,length:se,value:re};ie.setIndex(ae)},handleUTF8:function(){var ie=K.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=Q.utf8decode(this.fileName),this.fileCommentStr=Q.utf8decode(this.fileComment);else{var ne=this.findExtraFieldUnicodePath();if(ne!==null)this.fileNameStr=ne;else{var se=W.transformTo(ie,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(se)}var re=this.findExtraFieldUnicodeComment();if(re!==null)this.fileCommentStr=re;else{var ae=W.transformTo(ie,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(ae)}}},findExtraFieldUnicodePath:function(){var ie=this.extraFields[28789];if(ie){var ne=U(ie.value);return ne.readInt(1)!==1||Y(this.fileName)!==ne.readInt(4)?null:Q.utf8decode(ne.readData(ie.length-5))}return null},findExtraFieldUnicodeComment:function(){var ie=this.extraFields[25461];if(ie){var ne=U(ie.value);return ne.readInt(1)!==1||Y(this.fileComment)!==ne.readInt(4)?null:Q.utf8decode(ne.readData(ie.length-5))}return null}},D.exports=J},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(F,D,G){var U=F("./stream/StreamHelper"),W=F("./stream/DataWorker"),q=F("./utf8"),Y=F("./compressedObject"),Q=F("./stream/GenericWorker"),Z=function(ne,se,re){this.name=ne,this.dir=re.dir,this.date=re.date,this.comment=re.comment,this.unixPermissions=re.unixPermissions,this.dosPermissions=re.dosPermissions,this._data=se,this._dataBinary=re.binary,this.options={compression:re.compression,compressionOptions:re.compressionOptions}};Z.prototype={internalStream:function(ne){var se=null,re="string";try{if(!ne)throw new Error("No output type specified.");var ae=(re=ne.toLowerCase())==="string"||re==="text";re!=="binarystring"&&re!=="text"||(re="string"),se=this._decompressWorker();var le=!this._dataBinary;le&&!ae&&(se=se.pipe(new q.Utf8EncodeWorker)),!le&&ae&&(se=se.pipe(new q.Utf8DecodeWorker))}catch(ce){(se=new Q("error")).error(ce)}return new U(se,re,"")},async:function(ne,se){return this.internalStream(ne).accumulate(se)},nodeStream:function(ne,se){return this.internalStream(ne||"nodebuffer").toNodejsStream(se)},_compressWorker:function(ne,se){if(this._data instanceof Y&&this._data.compression.magic===ne.magic)return this._data.getCompressedWorker();var re=this._decompressWorker();return this._dataBinary||(re=re.pipe(new q.Utf8EncodeWorker)),Y.createWorkerFrom(re,ne,se)},_decompressWorker:function(){return this._data instanceof Y?this._data.getContentWorker():this._data instanceof Q?this._data:new W(this._data)}};for(var K=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],J=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},ie=0;ie<K.length;ie++)Z.prototype[K[ie]]=J;D.exports=Z},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(F,D,G){(function(U){var W,q,Y=U.MutationObserver||U.WebKitMutationObserver;if(Y){var Q=0,Z=new Y(ne),K=U.document.createTextNode("");Z.observe(K,{characterData:!0}),W=function(){K.data=Q=++Q%2}}else if(U.setImmediate||U.MessageChannel===void 0)W="document"in U&&"onreadystatechange"in U.document.createElement("script")?function(){var se=U.document.createElement("script");se.onreadystatechange=function(){ne(),se.onreadystatechange=null,se.parentNode.removeChild(se),se=null},U.document.documentElement.appendChild(se)}:function(){setTimeout(ne,0)};else{var J=new U.MessageChannel;J.port1.onmessage=ne,W=function(){J.port2.postMessage(0)}}var ie=[];function ne(){var se,re;q=!0;for(var ae=ie.length;ae;){for(re=ie,ie=[],se=-1;++se<ae;)re[se]();ae=ie.length}q=!1}D.exports=function(se){ie.push(se)!==1||q||W()}}).call(this,commonjsGlobal$1!==void 0?commonjsGlobal$1:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],37:[function(F,D,G){var U=F("immediate");function W(){}var q={},Y=["REJECTED"],Q=["FULFILLED"],Z=["PENDING"];function K(ae){if(typeof ae!="function")throw new TypeError("resolver must be a function");this.state=Z,this.queue=[],this.outcome=void 0,ae!==W&&se(this,ae)}function J(ae,le,ce){this.promise=ae,typeof le=="function"&&(this.onFulfilled=le,this.callFulfilled=this.otherCallFulfilled),typeof ce=="function"&&(this.onRejected=ce,this.callRejected=this.otherCallRejected)}function ie(ae,le,ce){U(function(){var he;try{he=le(ce)}catch(de){return q.reject(ae,de)}he===ae?q.reject(ae,new TypeError("Cannot resolve promise with itself")):q.resolve(ae,he)})}function ne(ae){var le=ae&&ae.then;if(ae&&(typeof ae=="object"||typeof ae=="function")&&typeof le=="function")return function(){le.apply(ae,arguments)}}function se(ae,le){var ce=!1;function he(fe){ce||(ce=!0,q.reject(ae,fe))}function de(fe){ce||(ce=!0,q.resolve(ae,fe))}var me=re(function(){le(de,he)});me.status==="error"&&he(me.value)}function re(ae,le){var ce={};try{ce.value=ae(le),ce.status="success"}catch(he){ce.status="error",ce.value=he}return ce}D.exports=K,K.prototype.finally=function(ae){if(typeof ae!="function")return this;var le=this.constructor;return this.then(function(ce){return le.resolve(ae()).then(function(){return ce})},function(ce){return le.resolve(ae()).then(function(){throw ce})})},K.prototype.catch=function(ae){return this.then(null,ae)},K.prototype.then=function(ae,le){if(typeof ae!="function"&&this.state===Q||typeof le!="function"&&this.state===Y)return this;var ce=new this.constructor(W);return this.state!==Z?ie(ce,this.state===Q?ae:le,this.outcome):this.queue.push(new J(ce,ae,le)),ce},J.prototype.callFulfilled=function(ae){q.resolve(this.promise,ae)},J.prototype.otherCallFulfilled=function(ae){ie(this.promise,this.onFulfilled,ae)},J.prototype.callRejected=function(ae){q.reject(this.promise,ae)},J.prototype.otherCallRejected=function(ae){ie(this.promise,this.onRejected,ae)},q.resolve=function(ae,le){var ce=re(ne,le);if(ce.status==="error")return q.reject(ae,ce.value);var he=ce.value;if(he)se(ae,he);else{ae.state=Q,ae.outcome=le;for(var de=-1,me=ae.queue.length;++de<me;)ae.queue[de].callFulfilled(le)}return ae},q.reject=function(ae,le){ae.state=Y,ae.outcome=le;for(var ce=-1,he=ae.queue.length;++ce<he;)ae.queue[ce].callRejected(le);return ae},K.resolve=function(ae){return ae instanceof this?ae:q.resolve(new this(W),ae)},K.reject=function(ae){var le=new this(W);return q.reject(le,ae)},K.all=function(ae){var le=this;if(Object.prototype.toString.call(ae)!=="[object Array]")return this.reject(new TypeError("must be an array"));var ce=ae.length,he=!1;if(!ce)return this.resolve([]);for(var de=new Array(ce),me=0,fe=-1,ge=new this(W);++fe<ce;)Se(ae[fe],fe);return ge;function Se(Ee,ve){le.resolve(Ee).then(function(xe){de[ve]=xe,++me!==ce||he||(he=!0,q.resolve(ge,de))},function(xe){he||(he=!0,q.reject(ge,xe))})}},K.race=function(ae){var le=this;if(Object.prototype.toString.call(ae)!=="[object Array]")return this.reject(new TypeError("must be an array"));var ce=ae.length,he=!1;if(!ce)return this.resolve([]);for(var de=-1,me=new this(W);++de<ce;)fe=ae[de],le.resolve(fe).then(function(ge){he||(he=!0,q.resolve(me,ge))},function(ge){he||(he=!0,q.reject(me,ge))});var fe;return me}},{immediate:36}],38:[function(F,D,G){var U={};(0,F("./lib/utils/common").assign)(U,F("./lib/deflate"),F("./lib/inflate"),F("./lib/zlib/constants")),D.exports=U},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(F,D,G){var U=F("./zlib/deflate"),W=F("./utils/common"),q=F("./utils/strings"),Y=F("./zlib/messages"),Q=F("./zlib/zstream"),Z=Object.prototype.toString;function K(ie){if(!(this instanceof K))return new K(ie);this.options=W.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},ie||{});var ne=this.options;ne.raw&&ne.windowBits>0?ne.windowBits=-ne.windowBits:ne.gzip&&ne.windowBits>0&&ne.windowBits<16&&(ne.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Q,this.strm.avail_out=0;var se=U.deflateInit2(this.strm,ne.level,ne.method,ne.windowBits,ne.memLevel,ne.strategy);if(se!==0)throw new Error(Y[se]);if(ne.header&&U.deflateSetHeader(this.strm,ne.header),ne.dictionary){var re;if(re=typeof ne.dictionary=="string"?q.string2buf(ne.dictionary):Z.call(ne.dictionary)==="[object ArrayBuffer]"?new Uint8Array(ne.dictionary):ne.dictionary,(se=U.deflateSetDictionary(this.strm,re))!==0)throw new Error(Y[se]);this._dict_set=!0}}function J(ie,ne){var se=new K(ne);if(se.push(ie,!0),se.err)throw se.msg||Y[se.err];return se.result}K.prototype.push=function(ie,ne){var se,re,ae=this.strm,le=this.options.chunkSize;if(this.ended)return!1;re=ne===~~ne?ne:ne===!0?4:0,typeof ie=="string"?ae.input=q.string2buf(ie):Z.call(ie)==="[object ArrayBuffer]"?ae.input=new Uint8Array(ie):ae.input=ie,ae.next_in=0,ae.avail_in=ae.input.length;do{if(ae.avail_out===0&&(ae.output=new W.Buf8(le),ae.next_out=0,ae.avail_out=le),(se=U.deflate(ae,re))!==1&&se!==0)return this.onEnd(se),this.ended=!0,!1;ae.avail_out!==0&&(ae.avail_in!==0||re!==4&&re!==2)||(this.options.to==="string"?this.onData(q.buf2binstring(W.shrinkBuf(ae.output,ae.next_out))):this.onData(W.shrinkBuf(ae.output,ae.next_out)))}while((ae.avail_in>0||ae.avail_out===0)&&se!==1);return re===4?(se=U.deflateEnd(this.strm),this.onEnd(se),this.ended=!0,se===0):re!==2||(this.onEnd(0),ae.avail_out=0,!0)},K.prototype.onData=function(ie){this.chunks.push(ie)},K.prototype.onEnd=function(ie){ie===0&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=W.flattenChunks(this.chunks)),this.chunks=[],this.err=ie,this.msg=this.strm.msg},G.Deflate=K,G.deflate=J,G.deflateRaw=function(ie,ne){return(ne=ne||{}).raw=!0,J(ie,ne)},G.gzip=function(ie,ne){return(ne=ne||{}).gzip=!0,J(ie,ne)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(F,D,G){var U=F("./zlib/inflate"),W=F("./utils/common"),q=F("./utils/strings"),Y=F("./zlib/constants"),Q=F("./zlib/messages"),Z=F("./zlib/zstream"),K=F("./zlib/gzheader"),J=Object.prototype.toString;function ie(se){if(!(this instanceof ie))return new ie(se);this.options=W.assign({chunkSize:16384,windowBits:0,to:""},se||{});var re=this.options;re.raw&&re.windowBits>=0&&re.windowBits<16&&(re.windowBits=-re.windowBits,re.windowBits===0&&(re.windowBits=-15)),!(re.windowBits>=0&&re.windowBits<16)||se&&se.windowBits||(re.windowBits+=32),re.windowBits>15&&re.windowBits<48&&(15&re.windowBits)==0&&(re.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Z,this.strm.avail_out=0;var ae=U.inflateInit2(this.strm,re.windowBits);if(ae!==Y.Z_OK)throw new Error(Q[ae]);this.header=new K,U.inflateGetHeader(this.strm,this.header)}function ne(se,re){var ae=new ie(re);if(ae.push(se,!0),ae.err)throw ae.msg||Q[ae.err];return ae.result}ie.prototype.push=function(se,re){var ae,le,ce,he,de,me,fe=this.strm,ge=this.options.chunkSize,Se=this.options.dictionary,Ee=!1;if(this.ended)return!1;le=re===~~re?re:re===!0?Y.Z_FINISH:Y.Z_NO_FLUSH,typeof se=="string"?fe.input=q.binstring2buf(se):J.call(se)==="[object ArrayBuffer]"?fe.input=new Uint8Array(se):fe.input=se,fe.next_in=0,fe.avail_in=fe.input.length;do{if(fe.avail_out===0&&(fe.output=new W.Buf8(ge),fe.next_out=0,fe.avail_out=ge),(ae=U.inflate(fe,Y.Z_NO_FLUSH))===Y.Z_NEED_DICT&&Se&&(me=typeof Se=="string"?q.string2buf(Se):J.call(Se)==="[object ArrayBuffer]"?new Uint8Array(Se):Se,ae=U.inflateSetDictionary(this.strm,me)),ae===Y.Z_BUF_ERROR&&Ee===!0&&(ae=Y.Z_OK,Ee=!1),ae!==Y.Z_STREAM_END&&ae!==Y.Z_OK)return this.onEnd(ae),this.ended=!0,!1;fe.next_out&&(fe.avail_out!==0&&ae!==Y.Z_STREAM_END&&(fe.avail_in!==0||le!==Y.Z_FINISH&&le!==Y.Z_SYNC_FLUSH)||(this.options.to==="string"?(ce=q.utf8border(fe.output,fe.next_out),he=fe.next_out-ce,de=q.buf2string(fe.output,ce),fe.next_out=he,fe.avail_out=ge-he,he&&W.arraySet(fe.output,fe.output,ce,he,0),this.onData(de)):this.onData(W.shrinkBuf(fe.output,fe.next_out)))),fe.avail_in===0&&fe.avail_out===0&&(Ee=!0)}while((fe.avail_in>0||fe.avail_out===0)&&ae!==Y.Z_STREAM_END);return ae===Y.Z_STREAM_END&&(le=Y.Z_FINISH),le===Y.Z_FINISH?(ae=U.inflateEnd(this.strm),this.onEnd(ae),this.ended=!0,ae===Y.Z_OK):le!==Y.Z_SYNC_FLUSH||(this.onEnd(Y.Z_OK),fe.avail_out=0,!0)},ie.prototype.onData=function(se){this.chunks.push(se)},ie.prototype.onEnd=function(se){se===Y.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=W.flattenChunks(this.chunks)),this.chunks=[],this.err=se,this.msg=this.strm.msg},G.Inflate=ie,G.inflate=ne,G.inflateRaw=function(se,re){return(re=re||{}).raw=!0,ne(se,re)},G.ungzip=ne},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(F,D,G){var U=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";G.assign=function(Y){for(var Q=Array.prototype.slice.call(arguments,1);Q.length;){var Z=Q.shift();if(Z){if(typeof Z!="object")throw new TypeError(Z+"must be non-object");for(var K in Z)Z.hasOwnProperty(K)&&(Y[K]=Z[K])}}return Y},G.shrinkBuf=function(Y,Q){return Y.length===Q?Y:Y.subarray?Y.subarray(0,Q):(Y.length=Q,Y)};var W={arraySet:function(Y,Q,Z,K,J){if(Q.subarray&&Y.subarray)Y.set(Q.subarray(Z,Z+K),J);else for(var ie=0;ie<K;ie++)Y[J+ie]=Q[Z+ie]},flattenChunks:function(Y){var Q,Z,K,J,ie,ne;for(K=0,Q=0,Z=Y.length;Q<Z;Q++)K+=Y[Q].length;for(ne=new Uint8Array(K),J=0,Q=0,Z=Y.length;Q<Z;Q++)ie=Y[Q],ne.set(ie,J),J+=ie.length;return ne}},q={arraySet:function(Y,Q,Z,K,J){for(var ie=0;ie<K;ie++)Y[J+ie]=Q[Z+ie]},flattenChunks:function(Y){return[].concat.apply([],Y)}};G.setTyped=function(Y){Y?(G.Buf8=Uint8Array,G.Buf16=Uint16Array,G.Buf32=Int32Array,G.assign(G,W)):(G.Buf8=Array,G.Buf16=Array,G.Buf32=Array,G.assign(G,q))},G.setTyped(U)},{}],42:[function(F,D,G){var U=F("./common"),W=!0,q=!0;try{String.fromCharCode.apply(null,[0])}catch{W=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{q=!1}for(var Y=new U.Buf8(256),Q=0;Q<256;Q++)Y[Q]=Q>=252?6:Q>=248?5:Q>=240?4:Q>=224?3:Q>=192?2:1;function Z(K,J){if(J<65537&&(K.subarray&&q||!K.subarray&&W))return String.fromCharCode.apply(null,U.shrinkBuf(K,J));for(var ie="",ne=0;ne<J;ne++)ie+=String.fromCharCode(K[ne]);return ie}Y[254]=Y[254]=1,G.string2buf=function(K){var J,ie,ne,se,re,ae=K.length,le=0;for(se=0;se<ae;se++)(64512&(ie=K.charCodeAt(se)))==55296&&se+1<ae&&(64512&(ne=K.charCodeAt(se+1)))==56320&&(ie=65536+(ie-55296<<10)+(ne-56320),se++),le+=ie<128?1:ie<2048?2:ie<65536?3:4;for(J=new U.Buf8(le),re=0,se=0;re<le;se++)(64512&(ie=K.charCodeAt(se)))==55296&&se+1<ae&&(64512&(ne=K.charCodeAt(se+1)))==56320&&(ie=65536+(ie-55296<<10)+(ne-56320),se++),ie<128?J[re++]=ie:ie<2048?(J[re++]=192|ie>>>6,J[re++]=128|63&ie):ie<65536?(J[re++]=224|ie>>>12,J[re++]=128|ie>>>6&63,J[re++]=128|63&ie):(J[re++]=240|ie>>>18,J[re++]=128|ie>>>12&63,J[re++]=128|ie>>>6&63,J[re++]=128|63&ie);return J},G.buf2binstring=function(K){return Z(K,K.length)},G.binstring2buf=function(K){for(var J=new U.Buf8(K.length),ie=0,ne=J.length;ie<ne;ie++)J[ie]=K.charCodeAt(ie);return J},G.buf2string=function(K,J){var ie,ne,se,re,ae=J||K.length,le=new Array(2*ae);for(ne=0,ie=0;ie<ae;)if((se=K[ie++])<128)le[ne++]=se;else if((re=Y[se])>4)le[ne++]=65533,ie+=re-1;else{for(se&=re===2?31:re===3?15:7;re>1&&ie<ae;)se=se<<6|63&K[ie++],re--;re>1?le[ne++]=65533:se<65536?le[ne++]=se:(se-=65536,le[ne++]=55296|se>>10&1023,le[ne++]=56320|1023&se)}return Z(le,ne)},G.utf8border=function(K,J){var ie;for((J=J||K.length)>K.length&&(J=K.length),ie=J-1;ie>=0&&(192&K[ie])==128;)ie--;return ie<0||ie===0?J:ie+Y[K[ie]]>J?ie:J}},{"./common":41}],43:[function(F,D,G){D.exports=function(U,W,q,Y){for(var Q=65535&U|0,Z=U>>>16&65535|0,K=0;q!==0;){q-=K=q>2e3?2e3:q;do Z=Z+(Q=Q+W[Y++]|0)|0;while(--K);Q%=65521,Z%=65521}return Q|Z<<16|0}},{}],44:[function(F,D,G){D.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(F,D,G){var U=function(){for(var W,q=[],Y=0;Y<256;Y++){W=Y;for(var Q=0;Q<8;Q++)W=1&W?3988292384^W>>>1:W>>>1;q[Y]=W}return q}();D.exports=function(W,q,Y,Q){var Z=U,K=Q+Y;W^=-1;for(var J=Q;J<K;J++)W=W>>>8^Z[255&(W^q[J])];return-1^W}},{}],46:[function(F,D,G){var U,W=F("../utils/common"),q=F("./trees"),Y=F("./adler32"),Q=F("./crc32"),Z=F("./messages");function K(ve,xe){return ve.msg=Z[xe],xe}function J(ve){return(ve<<1)-(ve>4?9:0)}function ie(ve){for(var xe=ve.length;--xe>=0;)ve[xe]=0}function ne(ve){var xe=ve.state,Pe=xe.pending;Pe>ve.avail_out&&(Pe=ve.avail_out),Pe!==0&&(W.arraySet(ve.output,xe.pending_buf,xe.pending_out,Pe,ve.next_out),ve.next_out+=Pe,xe.pending_out+=Pe,ve.total_out+=Pe,ve.avail_out-=Pe,xe.pending-=Pe,xe.pending===0&&(xe.pending_out=0))}function se(ve,xe){q._tr_flush_block(ve,ve.block_start>=0?ve.block_start:-1,ve.strstart-ve.block_start,xe),ve.block_start=ve.strstart,ne(ve.strm)}function re(ve,xe){ve.pending_buf[ve.pending++]=xe}function ae(ve,xe){ve.pending_buf[ve.pending++]=xe>>>8&255,ve.pending_buf[ve.pending++]=255&xe}function le(ve,xe){var Pe,ye,Te=ve.max_chain_length,Le=ve.strstart,we=ve.prev_length,Ae=ve.nice_match,Me=ve.strstart>ve.w_size-262?ve.strstart-(ve.w_size-262):0,ke=ve.window,Ne=ve.w_mask,Ie=ve.prev,Ge=ve.strstart+258,ze=ke[Le+we-1],Ve=ke[Le+we];ve.prev_length>=ve.good_match&&(Te>>=2),Ae>ve.lookahead&&(Ae=ve.lookahead);do if(ke[(Pe=xe)+we]===Ve&&ke[Pe+we-1]===ze&&ke[Pe]===ke[Le]&&ke[++Pe]===ke[Le+1]){Le+=2,Pe++;do;while(ke[++Le]===ke[++Pe]&&ke[++Le]===ke[++Pe]&&ke[++Le]===ke[++Pe]&&ke[++Le]===ke[++Pe]&&ke[++Le]===ke[++Pe]&&ke[++Le]===ke[++Pe]&&ke[++Le]===ke[++Pe]&&ke[++Le]===ke[++Pe]&&Le<Ge);if(ye=258-(Ge-Le),Le=Ge-258,ye>we){if(ve.match_start=xe,we=ye,ye>=Ae)break;ze=ke[Le+we-1],Ve=ke[Le+we]}}while((xe=Ie[xe&Ne])>Me&&--Te!=0);return we<=ve.lookahead?we:ve.lookahead}function ce(ve){var xe,Pe,ye,Te,Le,we,Ae,Me,ke,Ne,Ie=ve.w_size;do{if(Te=ve.window_size-ve.lookahead-ve.strstart,ve.strstart>=Ie+(Ie-262)){W.arraySet(ve.window,ve.window,Ie,Ie,0),ve.match_start-=Ie,ve.strstart-=Ie,ve.block_start-=Ie,xe=Pe=ve.hash_size;do ye=ve.head[--xe],ve.head[xe]=ye>=Ie?ye-Ie:0;while(--Pe);xe=Pe=Ie;do ye=ve.prev[--xe],ve.prev[xe]=ye>=Ie?ye-Ie:0;while(--Pe);Te+=Ie}if(ve.strm.avail_in===0)break;if(we=ve.strm,Ae=ve.window,Me=ve.strstart+ve.lookahead,ke=Te,Ne=void 0,(Ne=we.avail_in)>ke&&(Ne=ke),Pe=Ne===0?0:(we.avail_in-=Ne,W.arraySet(Ae,we.input,we.next_in,Ne,Me),we.state.wrap===1?we.adler=Y(we.adler,Ae,Ne,Me):we.state.wrap===2&&(we.adler=Q(we.adler,Ae,Ne,Me)),we.next_in+=Ne,we.total_in+=Ne,Ne),ve.lookahead+=Pe,ve.lookahead+ve.insert>=3)for(Le=ve.strstart-ve.insert,ve.ins_h=ve.window[Le],ve.ins_h=(ve.ins_h<<ve.hash_shift^ve.window[Le+1])&ve.hash_mask;ve.insert&&(ve.ins_h=(ve.ins_h<<ve.hash_shift^ve.window[Le+3-1])&ve.hash_mask,ve.prev[Le&ve.w_mask]=ve.head[ve.ins_h],ve.head[ve.ins_h]=Le,Le++,ve.insert--,!(ve.lookahead+ve.insert<3)););}while(ve.lookahead<262&&ve.strm.avail_in!==0)}function he(ve,xe){for(var Pe,ye;;){if(ve.lookahead<262){if(ce(ve),ve.lookahead<262&&xe===0)return 1;if(ve.lookahead===0)break}if(Pe=0,ve.lookahead>=3&&(ve.ins_h=(ve.ins_h<<ve.hash_shift^ve.window[ve.strstart+3-1])&ve.hash_mask,Pe=ve.prev[ve.strstart&ve.w_mask]=ve.head[ve.ins_h],ve.head[ve.ins_h]=ve.strstart),Pe!==0&&ve.strstart-Pe<=ve.w_size-262&&(ve.match_length=le(ve,Pe)),ve.match_length>=3)if(ye=q._tr_tally(ve,ve.strstart-ve.match_start,ve.match_length-3),ve.lookahead-=ve.match_length,ve.match_length<=ve.max_lazy_match&&ve.lookahead>=3){ve.match_length--;do ve.strstart++,ve.ins_h=(ve.ins_h<<ve.hash_shift^ve.window[ve.strstart+3-1])&ve.hash_mask,Pe=ve.prev[ve.strstart&ve.w_mask]=ve.head[ve.ins_h],ve.head[ve.ins_h]=ve.strstart;while(--ve.match_length!=0);ve.strstart++}else ve.strstart+=ve.match_length,ve.match_length=0,ve.ins_h=ve.window[ve.strstart],ve.ins_h=(ve.ins_h<<ve.hash_shift^ve.window[ve.strstart+1])&ve.hash_mask;else ye=q._tr_tally(ve,0,ve.window[ve.strstart]),ve.lookahead--,ve.strstart++;if(ye&&(se(ve,!1),ve.strm.avail_out===0))return 1}return ve.insert=ve.strstart<2?ve.strstart:2,xe===4?(se(ve,!0),ve.strm.avail_out===0?3:4):ve.last_lit&&(se(ve,!1),ve.strm.avail_out===0)?1:2}function de(ve,xe){for(var Pe,ye,Te;;){if(ve.lookahead<262){if(ce(ve),ve.lookahead<262&&xe===0)return 1;if(ve.lookahead===0)break}if(Pe=0,ve.lookahead>=3&&(ve.ins_h=(ve.ins_h<<ve.hash_shift^ve.window[ve.strstart+3-1])&ve.hash_mask,Pe=ve.prev[ve.strstart&ve.w_mask]=ve.head[ve.ins_h],ve.head[ve.ins_h]=ve.strstart),ve.prev_length=ve.match_length,ve.prev_match=ve.match_start,ve.match_length=2,Pe!==0&&ve.prev_length<ve.max_lazy_match&&ve.strstart-Pe<=ve.w_size-262&&(ve.match_length=le(ve,Pe),ve.match_length<=5&&(ve.strategy===1||ve.match_length===3&&ve.strstart-ve.match_start>4096)&&(ve.match_length=2)),ve.prev_length>=3&&ve.match_length<=ve.prev_length){Te=ve.strstart+ve.lookahead-3,ye=q._tr_tally(ve,ve.strstart-1-ve.prev_match,ve.prev_length-3),ve.lookahead-=ve.prev_length-1,ve.prev_length-=2;do++ve.strstart<=Te&&(ve.ins_h=(ve.ins_h<<ve.hash_shift^ve.window[ve.strstart+3-1])&ve.hash_mask,Pe=ve.prev[ve.strstart&ve.w_mask]=ve.head[ve.ins_h],ve.head[ve.ins_h]=ve.strstart);while(--ve.prev_length!=0);if(ve.match_available=0,ve.match_length=2,ve.strstart++,ye&&(se(ve,!1),ve.strm.avail_out===0))return 1}else if(ve.match_available){if((ye=q._tr_tally(ve,0,ve.window[ve.strstart-1]))&&se(ve,!1),ve.strstart++,ve.lookahead--,ve.strm.avail_out===0)return 1}else ve.match_available=1,ve.strstart++,ve.lookahead--}return ve.match_available&&(ye=q._tr_tally(ve,0,ve.window[ve.strstart-1]),ve.match_available=0),ve.insert=ve.strstart<2?ve.strstart:2,xe===4?(se(ve,!0),ve.strm.avail_out===0?3:4):ve.last_lit&&(se(ve,!1),ve.strm.avail_out===0)?1:2}function me(ve,xe,Pe,ye,Te){this.good_length=ve,this.max_lazy=xe,this.nice_length=Pe,this.max_chain=ye,this.func=Te}function fe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new W.Buf16(1146),this.dyn_dtree=new W.Buf16(122),this.bl_tree=new W.Buf16(78),ie(this.dyn_ltree),ie(this.dyn_dtree),ie(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new W.Buf16(16),this.heap=new W.Buf16(573),ie(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new W.Buf16(573),ie(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ge(ve){var xe;return ve&&ve.state?(ve.total_in=ve.total_out=0,ve.data_type=2,(xe=ve.state).pending=0,xe.pending_out=0,xe.wrap<0&&(xe.wrap=-xe.wrap),xe.status=xe.wrap?42:113,ve.adler=xe.wrap===2?0:1,xe.last_flush=0,q._tr_init(xe),0):K(ve,-2)}function Se(ve){var xe=ge(ve);return xe===0&&function(Pe){Pe.window_size=2*Pe.w_size,ie(Pe.head),Pe.max_lazy_match=U[Pe.level].max_lazy,Pe.good_match=U[Pe.level].good_length,Pe.nice_match=U[Pe.level].nice_length,Pe.max_chain_length=U[Pe.level].max_chain,Pe.strstart=0,Pe.block_start=0,Pe.lookahead=0,Pe.insert=0,Pe.match_length=Pe.prev_length=2,Pe.match_available=0,Pe.ins_h=0}(ve.state),xe}function Ee(ve,xe,Pe,ye,Te,Le){if(!ve)return-2;var we=1;if(xe===-1&&(xe=6),ye<0?(we=0,ye=-ye):ye>15&&(we=2,ye-=16),Te<1||Te>9||Pe!==8||ye<8||ye>15||xe<0||xe>9||Le<0||Le>4)return K(ve,-2);ye===8&&(ye=9);var Ae=new fe;return ve.state=Ae,Ae.strm=ve,Ae.wrap=we,Ae.gzhead=null,Ae.w_bits=ye,Ae.w_size=1<<Ae.w_bits,Ae.w_mask=Ae.w_size-1,Ae.hash_bits=Te+7,Ae.hash_size=1<<Ae.hash_bits,Ae.hash_mask=Ae.hash_size-1,Ae.hash_shift=~~((Ae.hash_bits+3-1)/3),Ae.window=new W.Buf8(2*Ae.w_size),Ae.head=new W.Buf16(Ae.hash_size),Ae.prev=new W.Buf16(Ae.w_size),Ae.lit_bufsize=1<<Te+6,Ae.pending_buf_size=4*Ae.lit_bufsize,Ae.pending_buf=new W.Buf8(Ae.pending_buf_size),Ae.d_buf=1*Ae.lit_bufsize,Ae.l_buf=3*Ae.lit_bufsize,Ae.level=xe,Ae.strategy=Le,Ae.method=Pe,Se(ve)}U=[new me(0,0,0,0,function(ve,xe){var Pe=65535;for(Pe>ve.pending_buf_size-5&&(Pe=ve.pending_buf_size-5);;){if(ve.lookahead<=1){if(ce(ve),ve.lookahead===0&&xe===0)return 1;if(ve.lookahead===0)break}ve.strstart+=ve.lookahead,ve.lookahead=0;var ye=ve.block_start+Pe;if((ve.strstart===0||ve.strstart>=ye)&&(ve.lookahead=ve.strstart-ye,ve.strstart=ye,se(ve,!1),ve.strm.avail_out===0)||ve.strstart-ve.block_start>=ve.w_size-262&&(se(ve,!1),ve.strm.avail_out===0))return 1}return ve.insert=0,xe===4?(se(ve,!0),ve.strm.avail_out===0?3:4):(ve.strstart>ve.block_start&&(se(ve,!1),ve.strm.avail_out),1)}),new me(4,4,8,4,he),new me(4,5,16,8,he),new me(4,6,32,32,he),new me(4,4,16,16,de),new me(8,16,32,32,de),new me(8,16,128,128,de),new me(8,32,128,256,de),new me(32,128,258,1024,de),new me(32,258,258,4096,de)],G.deflateInit=function(ve,xe){return Ee(ve,xe,8,15,8,0)},G.deflateInit2=Ee,G.deflateReset=Se,G.deflateResetKeep=ge,G.deflateSetHeader=function(ve,xe){return ve&&ve.state?ve.state.wrap!==2?-2:(ve.state.gzhead=xe,0):-2},G.deflate=function(ve,xe){var Pe,ye,Te,Le;if(!ve||!ve.state||xe>5||xe<0)return ve?K(ve,-2):-2;if(ye=ve.state,!ve.output||!ve.input&&ve.avail_in!==0||ye.status===666&&xe!==4)return K(ve,ve.avail_out===0?-5:-2);if(ye.strm=ve,Pe=ye.last_flush,ye.last_flush=xe,ye.status===42)if(ye.wrap===2)ve.adler=0,re(ye,31),re(ye,139),re(ye,8),ye.gzhead?(re(ye,(ye.gzhead.text?1:0)+(ye.gzhead.hcrc?2:0)+(ye.gzhead.extra?4:0)+(ye.gzhead.name?8:0)+(ye.gzhead.comment?16:0)),re(ye,255&ye.gzhead.time),re(ye,ye.gzhead.time>>8&255),re(ye,ye.gzhead.time>>16&255),re(ye,ye.gzhead.time>>24&255),re(ye,ye.level===9?2:ye.strategy>=2||ye.level<2?4:0),re(ye,255&ye.gzhead.os),ye.gzhead.extra&&ye.gzhead.extra.length&&(re(ye,255&ye.gzhead.extra.length),re(ye,ye.gzhead.extra.length>>8&255)),ye.gzhead.hcrc&&(ve.adler=Q(ve.adler,ye.pending_buf,ye.pending,0)),ye.gzindex=0,ye.status=69):(re(ye,0),re(ye,0),re(ye,0),re(ye,0),re(ye,0),re(ye,ye.level===9?2:ye.strategy>=2||ye.level<2?4:0),re(ye,3),ye.status=113);else{var we=8+(ye.w_bits-8<<4)<<8;we|=(ye.strategy>=2||ye.level<2?0:ye.level<6?1:ye.level===6?2:3)<<6,ye.strstart!==0&&(we|=32),we+=31-we%31,ye.status=113,ae(ye,we),ye.strstart!==0&&(ae(ye,ve.adler>>>16),ae(ye,65535&ve.adler)),ve.adler=1}if(ye.status===69)if(ye.gzhead.extra){for(Te=ye.pending;ye.gzindex<(65535&ye.gzhead.extra.length)&&(ye.pending!==ye.pending_buf_size||(ye.gzhead.hcrc&&ye.pending>Te&&(ve.adler=Q(ve.adler,ye.pending_buf,ye.pending-Te,Te)),ne(ve),Te=ye.pending,ye.pending!==ye.pending_buf_size));)re(ye,255&ye.gzhead.extra[ye.gzindex]),ye.gzindex++;ye.gzhead.hcrc&&ye.pending>Te&&(ve.adler=Q(ve.adler,ye.pending_buf,ye.pending-Te,Te)),ye.gzindex===ye.gzhead.extra.length&&(ye.gzindex=0,ye.status=73)}else ye.status=73;if(ye.status===73)if(ye.gzhead.name){Te=ye.pending;do{if(ye.pending===ye.pending_buf_size&&(ye.gzhead.hcrc&&ye.pending>Te&&(ve.adler=Q(ve.adler,ye.pending_buf,ye.pending-Te,Te)),ne(ve),Te=ye.pending,ye.pending===ye.pending_buf_size)){Le=1;break}Le=ye.gzindex<ye.gzhead.name.length?255&ye.gzhead.name.charCodeAt(ye.gzindex++):0,re(ye,Le)}while(Le!==0);ye.gzhead.hcrc&&ye.pending>Te&&(ve.adler=Q(ve.adler,ye.pending_buf,ye.pending-Te,Te)),Le===0&&(ye.gzindex=0,ye.status=91)}else ye.status=91;if(ye.status===91)if(ye.gzhead.comment){Te=ye.pending;do{if(ye.pending===ye.pending_buf_size&&(ye.gzhead.hcrc&&ye.pending>Te&&(ve.adler=Q(ve.adler,ye.pending_buf,ye.pending-Te,Te)),ne(ve),Te=ye.pending,ye.pending===ye.pending_buf_size)){Le=1;break}Le=ye.gzindex<ye.gzhead.comment.length?255&ye.gzhead.comment.charCodeAt(ye.gzindex++):0,re(ye,Le)}while(Le!==0);ye.gzhead.hcrc&&ye.pending>Te&&(ve.adler=Q(ve.adler,ye.pending_buf,ye.pending-Te,Te)),Le===0&&(ye.status=103)}else ye.status=103;if(ye.status===103&&(ye.gzhead.hcrc?(ye.pending+2>ye.pending_buf_size&&ne(ve),ye.pending+2<=ye.pending_buf_size&&(re(ye,255&ve.adler),re(ye,ve.adler>>8&255),ve.adler=0,ye.status=113)):ye.status=113),ye.pending!==0){if(ne(ve),ve.avail_out===0)return ye.last_flush=-1,0}else if(ve.avail_in===0&&J(xe)<=J(Pe)&&xe!==4)return K(ve,-5);if(ye.status===666&&ve.avail_in!==0)return K(ve,-5);if(ve.avail_in!==0||ye.lookahead!==0||xe!==0&&ye.status!==666){var Ae=ye.strategy===2?function(Me,ke){for(var Ne;;){if(Me.lookahead===0&&(ce(Me),Me.lookahead===0)){if(ke===0)return 1;break}if(Me.match_length=0,Ne=q._tr_tally(Me,0,Me.window[Me.strstart]),Me.lookahead--,Me.strstart++,Ne&&(se(Me,!1),Me.strm.avail_out===0))return 1}return Me.insert=0,ke===4?(se(Me,!0),Me.strm.avail_out===0?3:4):Me.last_lit&&(se(Me,!1),Me.strm.avail_out===0)?1:2}(ye,xe):ye.strategy===3?function(Me,ke){for(var Ne,Ie,Ge,ze,Ve=Me.window;;){if(Me.lookahead<=258){if(ce(Me),Me.lookahead<=258&&ke===0)return 1;if(Me.lookahead===0)break}if(Me.match_length=0,Me.lookahead>=3&&Me.strstart>0&&(Ie=Ve[Ge=Me.strstart-1])===Ve[++Ge]&&Ie===Ve[++Ge]&&Ie===Ve[++Ge]){ze=Me.strstart+258;do;while(Ie===Ve[++Ge]&&Ie===Ve[++Ge]&&Ie===Ve[++Ge]&&Ie===Ve[++Ge]&&Ie===Ve[++Ge]&&Ie===Ve[++Ge]&&Ie===Ve[++Ge]&&Ie===Ve[++Ge]&&Ge<ze);Me.match_length=258-(ze-Ge),Me.match_length>Me.lookahead&&(Me.match_length=Me.lookahead)}if(Me.match_length>=3?(Ne=q._tr_tally(Me,1,Me.match_length-3),Me.lookahead-=Me.match_length,Me.strstart+=Me.match_length,Me.match_length=0):(Ne=q._tr_tally(Me,0,Me.window[Me.strstart]),Me.lookahead--,Me.strstart++),Ne&&(se(Me,!1),Me.strm.avail_out===0))return 1}return Me.insert=0,ke===4?(se(Me,!0),Me.strm.avail_out===0?3:4):Me.last_lit&&(se(Me,!1),Me.strm.avail_out===0)?1:2}(ye,xe):U[ye.level].func(ye,xe);if(Ae!==3&&Ae!==4||(ye.status=666),Ae===1||Ae===3)return ve.avail_out===0&&(ye.last_flush=-1),0;if(Ae===2&&(xe===1?q._tr_align(ye):xe!==5&&(q._tr_stored_block(ye,0,0,!1),xe===3&&(ie(ye.head),ye.lookahead===0&&(ye.strstart=0,ye.block_start=0,ye.insert=0))),ne(ve),ve.avail_out===0))return ye.last_flush=-1,0}return xe!==4?0:ye.wrap<=0?1:(ye.wrap===2?(re(ye,255&ve.adler),re(ye,ve.adler>>8&255),re(ye,ve.adler>>16&255),re(ye,ve.adler>>24&255),re(ye,255&ve.total_in),re(ye,ve.total_in>>8&255),re(ye,ve.total_in>>16&255),re(ye,ve.total_in>>24&255)):(ae(ye,ve.adler>>>16),ae(ye,65535&ve.adler)),ne(ve),ye.wrap>0&&(ye.wrap=-ye.wrap),ye.pending!==0?0:1)},G.deflateEnd=function(ve){var xe;return ve&&ve.state?(xe=ve.state.status)!==42&&xe!==69&&xe!==73&&xe!==91&&xe!==103&&xe!==113&&xe!==666?K(ve,-2):(ve.state=null,xe===113?K(ve,-3):0):-2},G.deflateSetDictionary=function(ve,xe){var Pe,ye,Te,Le,we,Ae,Me,ke,Ne=xe.length;if(!ve||!ve.state||(Le=(Pe=ve.state).wrap)===2||Le===1&&Pe.status!==42||Pe.lookahead)return-2;for(Le===1&&(ve.adler=Y(ve.adler,xe,Ne,0)),Pe.wrap=0,Ne>=Pe.w_size&&(Le===0&&(ie(Pe.head),Pe.strstart=0,Pe.block_start=0,Pe.insert=0),ke=new W.Buf8(Pe.w_size),W.arraySet(ke,xe,Ne-Pe.w_size,Pe.w_size,0),xe=ke,Ne=Pe.w_size),we=ve.avail_in,Ae=ve.next_in,Me=ve.input,ve.avail_in=Ne,ve.next_in=0,ve.input=xe,ce(Pe);Pe.lookahead>=3;){ye=Pe.strstart,Te=Pe.lookahead-2;do Pe.ins_h=(Pe.ins_h<<Pe.hash_shift^Pe.window[ye+3-1])&Pe.hash_mask,Pe.prev[ye&Pe.w_mask]=Pe.head[Pe.ins_h],Pe.head[Pe.ins_h]=ye,ye++;while(--Te);Pe.strstart=ye,Pe.lookahead=2,ce(Pe)}return Pe.strstart+=Pe.lookahead,Pe.block_start=Pe.strstart,Pe.insert=Pe.lookahead,Pe.lookahead=0,Pe.match_length=Pe.prev_length=2,Pe.match_available=0,ve.next_in=Ae,ve.input=Me,ve.avail_in=we,Pe.wrap=Le,0},G.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(F,D,G){D.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(F,D,G){D.exports=function(U,W){var q,Y,Q,Z,K,J,ie,ne,se,re,ae,le,ce,he,de,me,fe,ge,Se,Ee,ve,xe,Pe,ye,Te;q=U.state,Y=U.next_in,ye=U.input,Q=Y+(U.avail_in-5),Z=U.next_out,Te=U.output,K=Z-(W-U.avail_out),J=Z+(U.avail_out-257),ie=q.dmax,ne=q.wsize,se=q.whave,re=q.wnext,ae=q.window,le=q.hold,ce=q.bits,he=q.lencode,de=q.distcode,me=(1<<q.lenbits)-1,fe=(1<<q.distbits)-1;e:do{ce<15&&(le+=ye[Y++]<<ce,ce+=8,le+=ye[Y++]<<ce,ce+=8),ge=he[le&me];t:for(;;){if(le>>>=Se=ge>>>24,ce-=Se,(Se=ge>>>16&255)===0)Te[Z++]=65535≥else{if(!(16&Se)){if((64&Se)==0){ge=he[(65535&ge)+(le&(1<<Se)-1)];continue t}if(32&Se){q.mode=12;break e}U.msg="invalid literal/length code",q.mode=30;break e}Ee=65535&ge,(Se&=15)&&(ce<Se&&(le+=ye[Y++]<<ce,ce+=8),Ee+=le&(1<<Se)-1,le>>>=Se,ce-=Se),ce<15&&(le+=ye[Y++]<<ce,ce+=8,le+=ye[Y++]<<ce,ce+=8),ge=de[le&fe];i:for(;;){if(le>>>=Se=ge>>>24,ce-=Se,!(16&(Se=ge>>>16&255))){if((64&Se)==0){ge=de[(65535&ge)+(le&(1<<Se)-1)];continue i}U.msg="invalid distance code",q.mode=30;break e}if(ve=65535&ge,ce<(Se&=15)&&(le+=ye[Y++]<<ce,(ce+=8)<Se&&(le+=ye[Y++]<<ce,ce+=8)),(ve+=le&(1<<Se)-1)>ie){U.msg="invalid distance too far back",q.mode=30;break e}if(le>>>=Se,ce-=Se,ve>(Se=Z-K)){if((Se=ve-Se)>se&&q.sane){U.msg="invalid distance too far back",q.mode=30;break e}if(xe=0,Pe=ae,re===0){if(xe+=ne-Se,Se<Ee){Ee-=Se;do Te[Z++]=ae[xe++];while(--Se);xe=Z-ve,Pe=Te}}else if(re<Se){if(xe+=ne+re-Se,(Se-=re)<Ee){Ee-=Se;do Te[Z++]=ae[xe++];while(--Se);if(xe=0,re<Ee){Ee-=Se=re;do Te[Z++]=ae[xe++];while(--Se);xe=Z-ve,Pe=Te}}}else if(xe+=re-Se,Se<Ee){Ee-=Se;do Te[Z++]=ae[xe++];while(--Se);xe=Z-ve,Pe=Te}for(;Ee>2;)Te[Z++]=Pe[xe++],Te[Z++]=Pe[xe++],Te[Z++]=Pe[xe++],Ee-=3;Ee&&(Te[Z++]=Pe[xe++],Ee>1&&(Te[Z++]=Pe[xe++]))}else{xe=Z-ve;do Te[Z++]=Te[xe++],Te[Z++]=Te[xe++],Te[Z++]=Te[xe++],Ee-=3;while(Ee>2);Ee&&(Te[Z++]=Te[xe++],Ee>1&&(Te[Z++]=Te[xe++]))}break}}break}}while(Y<Q&&Z<J);Y-=Ee=ce>>3,le&=(1<<(ce-=Ee<<3))-1,U.next_in=Y,U.next_out=Z,U.avail_in=Y<Q?Q-Y+5:5-(Y-Q),U.avail_out=Z<J?J-Z+257:257-(Z-J),q.hold=le,q.bits=ce}},{}],49:[function(F,D,G){var U=F("../utils/common"),W=F("./adler32"),q=F("./crc32"),Y=F("./inffast"),Q=F("./inftrees");function Z(de){return(de>>>24&255)+(de>>>8&65280)+((65280&de)<<8)+((255&de)<<24)}function K(){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 U.Buf16(320),this.work=new U.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function J(de){var me;return de&&de.state?(me=de.state,de.total_in=de.total_out=me.total=0,de.msg="",me.wrap&&(de.adler=1&me.wrap),me.mode=1,me.last=0,me.havedict=0,me.dmax=32768,me.head=null,me.hold=0,me.bits=0,me.lencode=me.lendyn=new U.Buf32(852),me.distcode=me.distdyn=new U.Buf32(592),me.sane=1,me.back=-1,0):-2}function ie(de){var me;return de&&de.state?((me=de.state).wsize=0,me.whave=0,me.wnext=0,J(de)):-2}function ne(de,me){var fe,ge;return de&&de.state?(ge=de.state,me<0?(fe=0,me=-me):(fe=1+(me>>4),me<48&&(me&=15)),me&&(me<8||me>15)?-2:(ge.window!==null&&ge.wbits!==me&&(ge.window=null),ge.wrap=fe,ge.wbits=me,ie(de))):-2}function se(de,me){var fe,ge;return de?(ge=new K,de.state=ge,ge.window=null,(fe=ne(de,me))!==0&&(de.state=null),fe):-2}var re,ae,le=!0;function ce(de){if(le){var me;for(re=new U.Buf32(512),ae=new U.Buf32(32),me=0;me<144;)de.lens[me++]=8;for(;me<256;)de.lens[me++]=9;for(;me<280;)de.lens[me++]=7;for(;me<288;)de.lens[me++]=8;for(Q(1,de.lens,0,288,re,0,de.work,{bits:9}),me=0;me<32;)de.lens[me++]=5;Q(2,de.lens,0,32,ae,0,de.work,{bits:5}),le=!1}de.lencode=re,de.lenbits=9,de.distcode=ae,de.distbits=5}function he(de,me,fe,ge){var Se,Ee=de.state;return Ee.window===null&&(Ee.wsize=1<<Ee.wbits,Ee.wnext=0,Ee.whave=0,Ee.window=new U.Buf8(Ee.wsize)),ge>=Ee.wsize?(U.arraySet(Ee.window,me,fe-Ee.wsize,Ee.wsize,0),Ee.wnext=0,Ee.whave=Ee.wsize):((Se=Ee.wsize-Ee.wnext)>ge&&(Se=ge),U.arraySet(Ee.window,me,fe-ge,Se,Ee.wnext),(ge-=Se)?(U.arraySet(Ee.window,me,fe-ge,ge,0),Ee.wnext=ge,Ee.whave=Ee.wsize):(Ee.wnext+=Se,Ee.wnext===Ee.wsize&&(Ee.wnext=0),Ee.whave<Ee.wsize&&(Ee.whave+=Se))),0}G.inflateReset=ie,G.inflateReset2=ne,G.inflateResetKeep=J,G.inflateInit=function(de){return se(de,15)},G.inflateInit2=se,G.inflate=function(de,me){var fe,ge,Se,Ee,ve,xe,Pe,ye,Te,Le,we,Ae,Me,ke,Ne,Ie,Ge,ze,Ve,Ye,et,Je,st,pt,dt=0,yt=new U.Buf8(4),Fe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!de||!de.state||!de.output||!de.input&&de.avail_in!==0)return-2;(fe=de.state).mode===12&&(fe.mode=13),ve=de.next_out,Se=de.output,Pe=de.avail_out,Ee=de.next_in,ge=de.input,xe=de.avail_in,ye=fe.hold,Te=fe.bits,Le=xe,we=Pe,Je=0;e:for(;;)switch(fe.mode){case 1:if(fe.wrap===0){fe.mode=13;break}for(;Te<16;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if(2&fe.wrap&&ye===35615){fe.check=0,yt[0]=255&ye,yt[1]=ye>>>8&255,fe.check=q(fe.check,yt,2,0),ye=0,Te=0,fe.mode=2;break}if(fe.flags=0,fe.head&&(fe.head.done=!1),!(1&fe.wrap)||(((255&ye)<<8)+(ye>>8))%31){de.msg="incorrect header check",fe.mode=30;break}if((15&ye)!=8){de.msg="unknown compression method",fe.mode=30;break}if(Te-=4,et=8+(15&(ye>>>=4)),fe.wbits===0)fe.wbits=et;else if(et>fe.wbits){de.msg="invalid window size",fe.mode=30;break}fe.dmax=1<<et,de.adler=fe.check=1,fe.mode=512&ye?10:12,ye=0,Te=0;break;case 2:for(;Te<16;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if(fe.flags=ye,(255&fe.flags)!=8){de.msg="unknown compression method",fe.mode=30;break}if(57344&fe.flags){de.msg="unknown header flags set",fe.mode=30;break}fe.head&&(fe.head.text=ye>>8&1),512&fe.flags&&(yt[0]=255&ye,yt[1]=ye>>>8&255,fe.check=q(fe.check,yt,2,0)),ye=0,Te=0,fe.mode=3;case 3:for(;Te<32;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}fe.head&&(fe.head.time=ye),512&fe.flags&&(yt[0]=255&ye,yt[1]=ye>>>8&255,yt[2]=ye>>>16&255,yt[3]=ye>>>24&255,fe.check=q(fe.check,yt,4,0)),ye=0,Te=0,fe.mode=4;case 4:for(;Te<16;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}fe.head&&(fe.head.xflags=255&ye,fe.head.os=ye>>8),512&fe.flags&&(yt[0]=255&ye,yt[1]=ye>>>8&255,fe.check=q(fe.check,yt,2,0)),ye=0,Te=0,fe.mode=5;case 5:if(1024&fe.flags){for(;Te<16;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}fe.length=ye,fe.head&&(fe.head.extra_len=ye),512&fe.flags&&(yt[0]=255&ye,yt[1]=ye>>>8&255,fe.check=q(fe.check,yt,2,0)),ye=0,Te=0}else fe.head&&(fe.head.extra=null);fe.mode=6;case 6:if(1024&fe.flags&&((Ae=fe.length)>xe&&(Ae=xe),Ae&&(fe.head&&(et=fe.head.extra_len-fe.length,fe.head.extra||(fe.head.extra=new Array(fe.head.extra_len)),U.arraySet(fe.head.extra,ge,Ee,Ae,et)),512&fe.flags&&(fe.check=q(fe.check,ge,Ae,Ee)),xe-=Ae,Ee+=Ae,fe.length-=Ae),fe.length))break e;fe.length=0,fe.mode=7;case 7:if(2048&fe.flags){if(xe===0)break e;Ae=0;do et=ge[Ee+Ae++],fe.head&&et&&fe.length<65536&&(fe.head.name+=String.fromCharCode(et));while(et&&Ae<xe);if(512&fe.flags&&(fe.check=q(fe.check,ge,Ae,Ee)),xe-=Ae,Ee+=Ae,et)break e}else fe.head&&(fe.head.name=null);fe.length=0,fe.mode=8;case 8:if(4096&fe.flags){if(xe===0)break e;Ae=0;do et=ge[Ee+Ae++],fe.head&&et&&fe.length<65536&&(fe.head.comment+=String.fromCharCode(et));while(et&&Ae<xe);if(512&fe.flags&&(fe.check=q(fe.check,ge,Ae,Ee)),xe-=Ae,Ee+=Ae,et)break e}else fe.head&&(fe.head.comment=null);fe.mode=9;case 9:if(512&fe.flags){for(;Te<16;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if(ye!==(65535&fe.check)){de.msg="header crc mismatch",fe.mode=30;break}ye=0,Te=0}fe.head&&(fe.head.hcrc=fe.flags>>9&1,fe.head.done=!0),de.adler=fe.check=0,fe.mode=12;break;case 10:for(;Te<32;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}de.adler=fe.check=Z(ye),ye=0,Te=0,fe.mode=11;case 11:if(fe.havedict===0)return de.next_out=ve,de.avail_out=Pe,de.next_in=Ee,de.avail_in=xe,fe.hold=ye,fe.bits=Te,2;de.adler=fe.check=1,fe.mode=12;case 12:if(me===5||me===6)break e;case 13:if(fe.last){ye>>>=7&Te,Te-=7&Te,fe.mode=27;break}for(;Te<3;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}switch(fe.last=1&ye,Te-=1,3&(ye>>>=1)){case 0:fe.mode=14;break;case 1:if(ce(fe),fe.mode=20,me===6){ye>>>=2,Te-=2;break e}break;case 2:fe.mode=17;break;case 3:de.msg="invalid block type",fe.mode=30}ye>>>=2,Te-=2;break;case 14:for(ye>>>=7&Te,Te-=7&Te;Te<32;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if((65535&ye)!=(ye>>>16^65535)){de.msg="invalid stored block lengths",fe.mode=30;break}if(fe.length=65535&ye,ye=0,Te=0,fe.mode=15,me===6)break e;case 15:fe.mode=16;case 16:if(Ae=fe.length){if(Ae>xe&&(Ae=xe),Ae>Pe&&(Ae=Pe),Ae===0)break e;U.arraySet(Se,ge,Ee,Ae,ve),xe-=Ae,Ee+=Ae,Pe-=Ae,ve+=Ae,fe.length-=Ae;break}fe.mode=12;break;case 17:for(;Te<14;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if(fe.nlen=257+(31&ye),ye>>>=5,Te-=5,fe.ndist=1+(31&ye),ye>>>=5,Te-=5,fe.ncode=4+(15&ye),ye>>>=4,Te-=4,fe.nlen>286||fe.ndist>30){de.msg="too many length or distance symbols",fe.mode=30;break}fe.have=0,fe.mode=18;case 18:for(;fe.have<fe.ncode;){for(;Te<3;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}fe.lens[Fe[fe.have++]]=7&ye,ye>>>=3,Te-=3}for(;fe.have<19;)fe.lens[Fe[fe.have++]]=0;if(fe.lencode=fe.lendyn,fe.lenbits=7,st={bits:fe.lenbits},Je=Q(0,fe.lens,0,19,fe.lencode,0,fe.work,st),fe.lenbits=st.bits,Je){de.msg="invalid code lengths set",fe.mode=30;break}fe.have=0,fe.mode=19;case 19:for(;fe.have<fe.nlen+fe.ndist;){for(;Ie=(dt=fe.lencode[ye&(1<<fe.lenbits)-1])>>>16&255,Ge=65535&dt,!((Ne=dt>>>24)<=Te);){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if(Ge<16)ye>>>=Ne,Te-=Ne,fe.lens[fe.have++]=Ge;else{if(Ge===16){for(pt=Ne+2;Te<pt;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if(ye>>>=Ne,Te-=Ne,fe.have===0){de.msg="invalid bit length repeat",fe.mode=30;break}et=fe.lens[fe.have-1],Ae=3+(3&ye),ye>>>=2,Te-=2}else if(Ge===17){for(pt=Ne+3;Te<pt;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}Te-=Ne,et=0,Ae=3+(7&(ye>>>=Ne)),ye>>>=3,Te-=3}else{for(pt=Ne+7;Te<pt;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}Te-=Ne,et=0,Ae=11+(127&(ye>>>=Ne)),ye>>>=7,Te-=7}if(fe.have+Ae>fe.nlen+fe.ndist){de.msg="invalid bit length repeat",fe.mode=30;break}for(;Ae--;)fe.lens[fe.have++]=et}}if(fe.mode===30)break;if(fe.lens[256]===0){de.msg="invalid code -- missing end-of-block",fe.mode=30;break}if(fe.lenbits=9,st={bits:fe.lenbits},Je=Q(1,fe.lens,0,fe.nlen,fe.lencode,0,fe.work,st),fe.lenbits=st.bits,Je){de.msg="invalid literal/lengths set",fe.mode=30;break}if(fe.distbits=6,fe.distcode=fe.distdyn,st={bits:fe.distbits},Je=Q(2,fe.lens,fe.nlen,fe.ndist,fe.distcode,0,fe.work,st),fe.distbits=st.bits,Je){de.msg="invalid distances set",fe.mode=30;break}if(fe.mode=20,me===6)break e;case 20:fe.mode=21;case 21:if(xe>=6&&Pe>=258){de.next_out=ve,de.avail_out=Pe,de.next_in=Ee,de.avail_in=xe,fe.hold=ye,fe.bits=Te,Y(de,we),ve=de.next_out,Se=de.output,Pe=de.avail_out,Ee=de.next_in,ge=de.input,xe=de.avail_in,ye=fe.hold,Te=fe.bits,fe.mode===12&&(fe.back=-1);break}for(fe.back=0;Ie=(dt=fe.lencode[ye&(1<<fe.lenbits)-1])>>>16&255,Ge=65535&dt,!((Ne=dt>>>24)<=Te);){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if(Ie&&(240&Ie)==0){for(ze=Ne,Ve=Ie,Ye=Ge;Ie=(dt=fe.lencode[Ye+((ye&(1<<ze+Ve)-1)>>ze)])>>>16&255,Ge=65535&dt,!(ze+(Ne=dt>>>24)<=Te);){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}ye>>>=ze,Te-=ze,fe.back+=ze}if(ye>>>=Ne,Te-=Ne,fe.back+=Ne,fe.length=Ge,Ie===0){fe.mode=26;break}if(32&Ie){fe.back=-1,fe.mode=12;break}if(64&Ie){de.msg="invalid literal/length code",fe.mode=30;break}fe.extra=15&Ie,fe.mode=22;case 22:if(fe.extra){for(pt=fe.extra;Te<pt;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}fe.length+=ye&(1<<fe.extra)-1,ye>>>=fe.extra,Te-=fe.extra,fe.back+=fe.extra}fe.was=fe.length,fe.mode=23;case 23:for(;Ie=(dt=fe.distcode[ye&(1<<fe.distbits)-1])>>>16&255,Ge=65535&dt,!((Ne=dt>>>24)<=Te);){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if((240&Ie)==0){for(ze=Ne,Ve=Ie,Ye=Ge;Ie=(dt=fe.distcode[Ye+((ye&(1<<ze+Ve)-1)>>ze)])>>>16&255,Ge=65535&dt,!(ze+(Ne=dt>>>24)<=Te);){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}ye>>>=ze,Te-=ze,fe.back+=ze}if(ye>>>=Ne,Te-=Ne,fe.back+=Ne,64&Ie){de.msg="invalid distance code",fe.mode=30;break}fe.offset=Ge,fe.extra=15&Ie,fe.mode=24;case 24:if(fe.extra){for(pt=fe.extra;Te<pt;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}fe.offset+=ye&(1<<fe.extra)-1,ye>>>=fe.extra,Te-=fe.extra,fe.back+=fe.extra}if(fe.offset>fe.dmax){de.msg="invalid distance too far back",fe.mode=30;break}fe.mode=25;case 25:if(Pe===0)break e;if(Ae=we-Pe,fe.offset>Ae){if((Ae=fe.offset-Ae)>fe.whave&&fe.sane){de.msg="invalid distance too far back",fe.mode=30;break}Ae>fe.wnext?(Ae-=fe.wnext,Me=fe.wsize-Ae):Me=fe.wnext-Ae,Ae>fe.length&&(Ae=fe.length),ke=fe.window}else ke=Se,Me=ve-fe.offset,Ae=fe.length;Ae>Pe&&(Ae=Pe),Pe-=Ae,fe.length-=Ae;do Se[ve++]=ke[Me++];while(--Ae);fe.length===0&&(fe.mode=21);break;case 26:if(Pe===0)break e;Se[ve++]=fe.length,Pe--,fe.mode=21;break;case 27:if(fe.wrap){for(;Te<32;){if(xe===0)break e;xe--,ye|=ge[Ee++]<<Te,Te+=8}if(we-=Pe,de.total_out+=we,fe.total+=we,we&&(de.adler=fe.check=fe.flags?q(fe.check,Se,we,ve-we):W(fe.check,Se,we,ve-we)),we=Pe,(fe.flags?ye:Z(ye))!==fe.check){de.msg="incorrect data check",fe.mode=30;break}ye=0,Te=0}fe.mode=28;case 28:if(fe.wrap&&fe.flags){for(;Te<32;){if(xe===0)break e;xe--,ye+=ge[Ee++]<<Te,Te+=8}if(ye!==(4294967295&fe.total)){de.msg="incorrect length check",fe.mode=30;break}ye=0,Te=0}fe.mode=29;case 29:Je=1;break e;case 30:Je=-3;break e;case 31:return-4;case 32:default:return-2}return de.next_out=ve,de.avail_out=Pe,de.next_in=Ee,de.avail_in=xe,fe.hold=ye,fe.bits=Te,(fe.wsize||we!==de.avail_out&&fe.mode<30&&(fe.mode<27||me!==4))&&he(de,de.output,de.next_out,we-de.avail_out)?(fe.mode=31,-4):(Le-=de.avail_in,we-=de.avail_out,de.total_in+=Le,de.total_out+=we,fe.total+=we,fe.wrap&&we&&(de.adler=fe.check=fe.flags?q(fe.check,Se,we,de.next_out-we):W(fe.check,Se,we,de.next_out-we)),de.data_type=fe.bits+(fe.last?64:0)+(fe.mode===12?128:0)+(fe.mode===20||fe.mode===15?256:0),(Le===0&&we===0||me===4)&&Je===0&&(Je=-5),Je)},G.inflateEnd=function(de){if(!de||!de.state)return-2;var me=de.state;return me.window&&(me.window=null),de.state=null,0},G.inflateGetHeader=function(de,me){var fe;return de&&de.state?(2&(fe=de.state).wrap)==0?-2:(fe.head=me,me.done=!1,0):-2},G.inflateSetDictionary=function(de,me){var fe,ge=me.length;return de&&de.state?(fe=de.state).wrap!==0&&fe.mode!==11?-2:fe.mode===11&&W(1,me,ge,0)!==fe.check?-3:he(de,me,ge,ge)?(fe.mode=31,-4):(fe.havedict=1,0):-2},G.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(F,D,G){var U=F("../utils/common"),W=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],q=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Y=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Q=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];D.exports=function(Z,K,J,ie,ne,se,re,ae){var le,ce,he,de,me,fe,ge,Se,Ee,ve=ae.bits,xe=0,Pe=0,ye=0,Te=0,Le=0,we=0,Ae=0,Me=0,ke=0,Ne=0,Ie=null,Ge=0,ze=new U.Buf16(16),Ve=new U.Buf16(16),Ye=null,et=0;for(xe=0;xe<=15;xe++)ze[xe]=0;for(Pe=0;Pe<ie;Pe++)ze[K[J+Pe]]++;for(Le=ve,Te=15;Te>=1&&ze[Te]===0;Te--);if(Le>Te&&(Le=Te),Te===0)return ne[se++]=20971520,ne[se++]=20971520,ae.bits=1,0;for(ye=1;ye<Te&&ze[ye]===0;ye++);for(Le<ye&&(Le=ye),Me=1,xe=1;xe<=15;xe++)if(Me<<=1,(Me-=ze[xe])<0)return-1;if(Me>0&&(Z===0||Te!==1))return-1;for(Ve[1]=0,xe=1;xe<15;xe++)Ve[xe+1]=Ve[xe]+ze[xe];for(Pe=0;Pe<ie;Pe++)K[J+Pe]!==0&&(re[Ve[K[J+Pe]]++]=Pe);if(Z===0?(Ie=Ye=re,fe=19):Z===1?(Ie=W,Ge-=257,Ye=q,et-=257,fe=256):(Ie=Y,Ye=Q,fe=-1),Ne=0,Pe=0,xe=ye,me=se,we=Le,Ae=0,he=-1,de=(ke=1<<Le)-1,Z===1&&ke>852||Z===2&&ke>592)return 1;for(;;){ge=xe-Ae,re[Pe]<fe?(Se=0,Ee=re[Pe]):re[Pe]>fe?(Se=Ye[et+re[Pe]],Ee=Ie[Ge+re[Pe]]):(Se=96,Ee=0),le=1<<xe-Ae,ye=ce=1<<we;do ne[me+(Ne>>Ae)+(ce-=le)]=ge<<24|Se<<16|Ee|0;while(ce!==0);for(le=1<<xe-1;Ne≤)le>>=1;if(le!==0?(Ne&=le-1,Ne+=le):Ne=0,Pe++,--ze[xe]==0){if(xe===Te)break;xe=K[J+re[Pe]]}if(xe>Le&&(Ne&de)!==he){for(Ae===0&&(Ae=Le),me+=ye,Me=1<<(we=xe-Ae);we+Ae<Te&&!((Me-=ze[we+Ae])<=0);)we++,Me<<=1;if(ke+=1<<we,Z===1&&ke>852||Z===2&&ke>592)return 1;ne[he=Ne&de]=Le<<24|we<<16|me-se|0}}return Ne!==0&&(ne[me+Ne]=xe-Ae<<24|64<<16|0),ae.bits=Le,0}},{"../utils/common":41}],51:[function(F,D,G){D.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(F,D,G){var U=F("../utils/common");function W(Ie){for(var Ge=Ie.length;--Ge>=0;)Ie[Ge]=0}var q=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Y=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Q=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],K=new Array(576);W(K);var J=new Array(60);W(J);var ie=new Array(512);W(ie);var ne=new Array(256);W(ne);var se=new Array(29);W(se);var re,ae,le,ce=new Array(30);function he(Ie,Ge,ze,Ve,Ye){this.static_tree=Ie,this.extra_bits=Ge,this.extra_base=ze,this.elems=Ve,this.max_length=Ye,this.has_stree=Ie&&Ie.length}function de(Ie,Ge){this.dyn_tree=Ie,this.max_code=0,this.stat_desc=Ge}function me(Ie){return Ie<256?ie[Ie]:ie[256+(Ie>>>7)]}function fe(Ie,Ge){Ie.pending_buf[Ie.pending++]=255&Ge,Ie.pending_buf[Ie.pending++]=Ge>>>8&255}function ge(Ie,Ge,ze){Ie.bi_valid>16-ze?(Ie.bi_buf|=Ge<<Ie.bi_valid&65535,fe(Ie,Ie.bi_buf),Ie.bi_buf=Ge>>16-Ie.bi_valid,Ie.bi_valid+=ze-16):(Ie.bi_buf|=Ge<<Ie.bi_valid&65535,Ie.bi_valid+=ze)}function Se(Ie,Ge,ze){ge(Ie,ze[2*Ge],ze[2*Ge+1])}function Ee(Ie,Ge){var ze=0;do ze|=1&Ie,Ie>>>=1,ze<<=1;while(--Ge>0);return ze>>>1}function ve(Ie,Ge,ze){var Ve,Ye,et=new Array(16),Je=0;for(Ve=1;Ve<=15;Ve++)et[Ve]=Je=Je+ze[Ve-1]<<1;for(Ye=0;Ye<=Ge;Ye++){var st=Ie[2*Ye+1];st!==0&&(Ie[2*Ye]=Ee(et[st]++,st))}}function xe(Ie){var Ge;for(Ge=0;Ge<286;Ge++)Ie.dyn_ltree[2*Ge]=0;for(Ge=0;Ge<30;Ge++)Ie.dyn_dtree[2*Ge]=0;for(Ge=0;Ge<19;Ge++)Ie.bl_tree[2*Ge]=0;Ie.dyn_ltree[512]=1,Ie.opt_len=Ie.static_len=0,Ie.last_lit=Ie.matches=0}function Pe(Ie){Ie.bi_valid>8?fe(Ie,Ie.bi_buf):Ie.bi_valid>0&&(Ie.pending_buf[Ie.pending++]=Ie.bi_buf),Ie.bi_buf=0,Ie.bi_valid=0}function ye(Ie,Ge,ze,Ve){var Ye=2*Ge,et=2*ze;return Ie[Ye]<Ie[et]||Ie[Ye]===Ie[et]&&Ve[Ge]<=Ve[ze]}function Te(Ie,Ge,ze){for(var Ve=Ie.heap[ze],Ye=ze<<1;Ye<=Ie.heap_len&&(Ye<Ie.heap_len&&ye(Ge,Ie.heap[Ye+1],Ie.heap[Ye],Ie.depth)&&Ye++,!ye(Ge,Ve,Ie.heap[Ye],Ie.depth));)Ie.heap[ze]=Ie.heap[Ye],ze=Ye,Ye<<=1;Ie.heap[ze]=Ve}function Le(Ie,Ge,ze){var Ve,Ye,et,Je,st=0;if(Ie.last_lit!==0)do Ve=Ie.pending_buf[Ie.d_buf+2*st]<<8|Ie.pending_buf[Ie.d_buf+2*st+1],Ye=Ie.pending_buf[Ie.l_buf+st],st++,Ve===0?Se(Ie,Ye,Ge):(Se(Ie,(et=ne[Ye])+256+1,Ge),(Je=q[et])!==0&&ge(Ie,Ye-=se[et],Je),Se(Ie,et=me(--Ve),ze),(Je=Y[et])!==0&&ge(Ie,Ve-=ce[et],Je));while(st<Ie.last_lit);Se(Ie,256,Ge)}function we(Ie,Ge){var ze,Ve,Ye,et=Ge.dyn_tree,Je=Ge.stat_desc.static_tree,st=Ge.stat_desc.has_stree,pt=Ge.stat_desc.elems,dt=-1;for(Ie.heap_len=0,Ie.heap_max=573,ze=0;ze<pt;ze++)et[2*ze]!==0?(Ie.heap[++Ie.heap_len]=dt=ze,Ie.depth[ze]=0):et[2*ze+1]=0;for(;Ie.heap_len<2;)et[2*(Ye=Ie.heap[++Ie.heap_len]=dt<2?++dt:0)]=1,Ie.depth[Ye]=0,Ie.opt_len--,st&&(Ie.static_len-=Je[2*Ye+1]);for(Ge.max_code=dt,ze=Ie.heap_len>>1;ze>=1;ze--)Te(Ie,et,ze);Ye=pt;do ze=Ie.heap[1],Ie.heap[1]=Ie.heap[Ie.heap_len--],Te(Ie,et,1),Ve=Ie.heap[1],Ie.heap[--Ie.heap_max]=ze,Ie.heap[--Ie.heap_max]=Ve,et[2*Ye]=et[2*ze]+et[2*Ve],Ie.depth[Ye]=(Ie.depth[ze]>=Ie.depth[Ve]?Ie.depth[ze]:Ie.depth[Ve])+1,et[2*ze+1]=et[2*Ve+1]=Ye,Ie.heap[1]=Ye++,Te(Ie,et,1);while(Ie.heap_len>=2);Ie.heap[--Ie.heap_max]=Ie.heap[1],function(yt,Fe){var _e,je,Ze,De,Oe,Xe,tt=Fe.dyn_tree,nt=Fe.max_code,Ke=Fe.stat_desc.static_tree,ct=Fe.stat_desc.has_stree,ut=Fe.stat_desc.extra_bits,ht=Fe.stat_desc.extra_base,vt=Fe.stat_desc.max_length,xt=0;for(De=0;De<=15;De++)yt.bl_count[De]=0;for(tt[2*yt.heap[yt.heap_max]+1]=0,_e=yt.heap_max+1;_e<573;_e++)(De=tt[2*tt[2*(je=yt.heap[_e])+1]+1]+1)>vt&&(De=vt,xt++),tt[2*je+1]=De,je>nt||(yt.bl_count[De]++,Oe=0,je>=ht&&(Oe=ut[je-ht]),Xe=tt[2*je],yt.opt_len+=Xe*(De+Oe),ct&&(yt.static_len+=Xe*(Ke[2*je+1]+Oe)));if(xt!==0){do{for(De=vt-1;yt.bl_count[De]===0;)De--;yt.bl_count[De]--,yt.bl_count[De+1]+=2,yt.bl_count[vt]--,xt-=2}while(xt>0);for(De=vt;De!==0;De--)for(je=yt.bl_count[De];je!==0;)(Ze=yt.heap[--_e])>nt||(tt[2*Ze+1]!==De&&(yt.opt_len+=(De-tt[2*Ze+1])*tt[2*Ze],tt[2*Ze+1]=De),je--)}}(Ie,Ge),ve(et,dt,Ie.bl_count)}function Ae(Ie,Ge,ze){var Ve,Ye,et=-1,Je=Ge[1],st=0,pt=7,dt=4;for(Je===0&&(pt=138,dt=3),Ge[2*(ze+1)+1]=65535,Ve=0;Ve<=ze;Ve++)Ye=Je,Je=Ge[2*(Ve+1)+1],++st<pt&&Ye===Je||(st<dt?Ie.bl_tree[2*Ye]+=st:Ye!==0?(Ye!==et&&Ie.bl_tree[2*Ye]++,Ie.bl_tree[32]++):st<=10?Ie.bl_tree[34]++:Ie.bl_tree[36]++,st=0,et=Ye,Je===0?(pt=138,dt=3):Ye===Je?(pt=6,dt=3):(pt=7,dt=4))}function Me(Ie,Ge,ze){var Ve,Ye,et=-1,Je=Ge[1],st=0,pt=7,dt=4;for(Je===0&&(pt=138,dt=3),Ve=0;Ve<=ze;Ve++)if(Ye=Je,Je=Ge[2*(Ve+1)+1],!(++st<pt&&Ye===Je)){if(st<dt)do Se(Ie,Ye,Ie.bl_tree);while(--st!=0);else Ye!==0?(Ye!==et&&(Se(Ie,Ye,Ie.bl_tree),st--),Se(Ie,16,Ie.bl_tree),ge(Ie,st-3,2)):st<=10?(Se(Ie,17,Ie.bl_tree),ge(Ie,st-3,3)):(Se(Ie,18,Ie.bl_tree),ge(Ie,st-11,7));st=0,et=Ye,Je===0?(pt=138,dt=3):Ye===Je?(pt=6,dt=3):(pt=7,dt=4)}}W(ce);var ke=!1;function Ne(Ie,Ge,ze,Ve){ge(Ie,0+(Ve?1:0),3),function(Ye,et,Je,st){Pe(Ye),st&&(fe(Ye,Je),fe(Ye,~Je)),U.arraySet(Ye.pending_buf,Ye.window,et,Je,Ye.pending),Ye.pending+=Je}(Ie,Ge,ze,!0)}G._tr_init=function(Ie){ke||(function(){var Ge,ze,Ve,Ye,et,Je=new Array(16);for(Ve=0,Ye=0;Ye<28;Ye++)for(se[Ye]=Ve,Ge=0;Ge<1<<q[Ye];Ge++)ne[Ve++]=Ye;for(ne[Ve-1]=Ye,et=0,Ye=0;Ye<16;Ye++)for(ce[Ye]=et,Ge=0;Ge<1<<Y[Ye];Ge++)ie[et++]=Ye;for(et>>=7;Ye<30;Ye++)for(ce[Ye]=et<<7,Ge=0;Ge<1<<Y[Ye]-7;Ge++)ie[256+et++]=Ye;for(ze=0;ze<=15;ze++)Je[ze]=0;for(Ge=0;Ge<=143;)K[2*Ge+1]=8,Ge++,Je[8]++;for(;Ge<=255;)K[2*Ge+1]=9,Ge++,Je[9]++;for(;Ge<=279;)K[2*Ge+1]=7,Ge++,Je[7]++;for(;Ge<=287;)K[2*Ge+1]=8,Ge++,Je[8]++;for(ve(K,287,Je),Ge=0;Ge<30;Ge++)J[2*Ge+1]=5,J[2*Ge]=Ee(Ge,5);re=new he(K,q,257,286,15),ae=new he(J,Y,0,30,15),le=new he(new Array(0),Q,0,19,7)}(),ke=!0),Ie.l_desc=new de(Ie.dyn_ltree,re),Ie.d_desc=new de(Ie.dyn_dtree,ae),Ie.bl_desc=new de(Ie.bl_tree,le),Ie.bi_buf=0,Ie.bi_valid=0,xe(Ie)},G._tr_stored_block=Ne,G._tr_flush_block=function(Ie,Ge,ze,Ve){var Ye,et,Je=0;Ie.level>0?(Ie.strm.data_type===2&&(Ie.strm.data_type=function(st){var pt,dt=4093624447;for(pt=0;pt<=31;pt++,dt>>>=1)if(1&dt&&st.dyn_ltree[2*pt]!==0)return 0;if(st.dyn_ltree[18]!==0||st.dyn_ltree[20]!==0||st.dyn_ltree[26]!==0)return 1;for(pt=32;pt<256;pt++)if(st.dyn_ltree[2*pt]!==0)return 1;return 0}(Ie)),we(Ie,Ie.l_desc),we(Ie,Ie.d_desc),Je=function(st){var pt;for(Ae(st,st.dyn_ltree,st.l_desc.max_code),Ae(st,st.dyn_dtree,st.d_desc.max_code),we(st,st.bl_desc),pt=18;pt>=3&&st.bl_tree[2*Z[pt]+1]===0;pt--);return st.opt_len+=3*(pt+1)+5+5+4,pt}(Ie),Ye=Ie.opt_len+3+7>>>3,(et=Ie.static_len+3+7>>>3)<=Ye&&(Ye=et)):Ye=et=ze+5,ze+4<=Ye&&Ge!==-1?Ne(Ie,Ge,ze,Ve):Ie.strategy===4||et===Ye?(ge(Ie,2+(Ve?1:0),3),Le(Ie,K,J)):(ge(Ie,4+(Ve?1:0),3),function(st,pt,dt,yt){var Fe;for(ge(st,pt-257,5),ge(st,dt-1,5),ge(st,yt-4,4),Fe=0;Fe<yt;Fe++)ge(st,st.bl_tree[2*Z[Fe]+1],3);Me(st,st.dyn_ltree,pt-1),Me(st,st.dyn_dtree,dt-1)}(Ie,Ie.l_desc.max_code+1,Ie.d_desc.max_code+1,Je+1),Le(Ie,Ie.dyn_ltree,Ie.dyn_dtree)),xe(Ie),Ve&&Pe(Ie)},G._tr_tally=function(Ie,Ge,ze){return Ie.pending_buf[Ie.d_buf+2*Ie.last_lit]=Ge>>>8&255,Ie.pending_buf[Ie.d_buf+2*Ie.last_lit+1]=255&Ge,Ie.pending_buf[Ie.l_buf+Ie.last_lit]=255&ze,Ie.last_lit++,Ge===0?Ie.dyn_ltree[2*ze]++:(Ie.matches++,Ge--,Ie.dyn_ltree[2*(ne[ze]+256+1)]++,Ie.dyn_dtree[2*me(Ge)]++),Ie.last_lit===Ie.lit_bufsize-1},G._tr_align=function(Ie){ge(Ie,2,3),Se(Ie,256,K),function(Ge){Ge.bi_valid===16?(fe(Ge,Ge.bi_buf),Ge.bi_buf=0,Ge.bi_valid=0):Ge.bi_valid>=8&&(Ge.pending_buf[Ge.pending++]=255&Ge.bi_buf,Ge.bi_buf>>=8,Ge.bi_valid-=8)}(Ie)}},{"../utils/common":41}],53:[function(F,D,G){D.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(F,D,G){(function(U){(function(W,q){if(!W.setImmediate){var Y,Q,Z,K,J,ie=1,ne={},se=!1,re=W.document,ae=Object.getPrototypeOf&&Object.getPrototypeOf(W);ae=ae&&ae.setTimeout?ae:W,{}.toString.call(W.process)==="[object process]"?Y=function(he){process.nextTick(function(){ce(he)})}:function(){if(W.postMessage&&!W.importScripts){var he=!0,de=W.onmessage;return W.onmessage=function(){he=!1},W.postMessage("","*"),W.onmessage=de,he}}()?(K="setImmediate$"+Math.random()+"$",J=function(he){he.source===W&&typeof he.data=="string"&&he.data.indexOf(K)===0&&ce(+he.data.slice(K.length))},W.addEventListener?W.addEventListener("message",J,!1):W.attachEvent("onmessage",J),Y=function(he){W.postMessage(K+he,"*")}):W.MessageChannel?((Z=new MessageChannel).port1.onmessage=function(he){ce(he.data)},Y=function(he){Z.port2.postMessage(he)}):re&&"onreadystatechange"in re.createElement("script")?(Q=re.documentElement,Y=function(he){var de=re.createElement("script");de.onreadystatechange=function(){ce(he),de.onreadystatechange=null,Q.removeChild(de),de=null},Q.appendChild(de)}):Y=function(he){setTimeout(ce,0,he)},ae.setImmediate=function(he){typeof he!="function"&&(he=new Function(""+he));for(var de=new Array(arguments.length-1),me=0;me<de.length;me++)de[me]=arguments[me+1];var fe={callback:he,args:de};return ne[ie]=fe,Y(ie),ie++},ae.clearImmediate=le}function le(he){delete ne[he]}function ce(he){if(se)setTimeout(ce,0,he);else{var de=ne[he];if(de){se=!0;try{(function(me){var fe=me.callback,ge=me.args;switch(ge.length){case 0:fe();break;case 1:fe(ge[0]);break;case 2:fe(ge[0],ge[1]);break;case 3:fe(ge[0],ge[1],ge[2]);break;default:fe.apply(void 0,ge)}})(de)}finally{le(he),se=!1}}}}})(typeof self=="undefined"?U===void 0?this:U:self)}).call(this,commonjsGlobal$1!==void 0?commonjsGlobal$1:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}]},{},[10])(10)})}),_templateObject$1,styles$l=r$3(_templateObject$1||(_templateObject$1=_taggedTemplateLiteral([`
- * {
- box-sizing: border-box;
- }
- :host {
- --lottie-player-toolbar-height: 35px;
- --lottie-player-toolbar-background-color: transparent;
- --lottie-player-toolbar-icon-color: #999;
- --lottie-player-toolbar-icon-hover-color: #222;
- --lottie-player-toolbar-icon-active-color: #555;
- --lottie-player-seeker-track-color: #ccc;
- --lottie-player-seeker-thumb-color: rgba(0, 107, 120, 0.8);
- --lottie-player-seeker-display: block;
- display: block;
- width: 100%;
- height: 100%;
- }
- .main {
- display: flex;
- flex-direction: column;
- height: 100%;
- width: 100%;
- }
- .animation {
- width: 100%;
- height: 100%;
- display: flex;
- }
- .animation.controls {
- height: calc(100% - 35px);
- }
- .toolbar {
- display: flex;
- align-items: center;
- justify-items: center;
- background-color: var(--lottie-player-toolbar-background-color);
- margin: 0 5px;
- height: 35px;
- }
- .toolbar button {
- cursor: pointer;
- fill: var(--lottie-player-toolbar-icon-color);
- display: flex;
- background: none;
- border: 0;
- padding: 0;
- outline: none;
- height: 100%;
- }
- .toolbar button:hover {
- fill: var(--lottie-player-toolbar-icon-hover-color);
- }
- .toolbar button.active {
- fill: var(--lottie-player-toolbar-icon-active-color);
- }
- .toolbar button.active:hover {
- fill: var(--lottie-player-toolbar-icon-hover-color);
- }
- .toolbar button:focus {
- outline: 1px dotted var(--lottie-player-toolbar-icon-active-color);
- }
- .toolbar button svg {
- }
- .toolbar button.disabled svg {
- display: none;
- }
- .seeker {
- -webkit-appearance: none;
- width: 95%;
- outline: none;
- background-color: var(--lottie-player-toolbar-background-color);
- display: var(--lottie-player-seeker-display);
- }
- .seeker::-webkit-slider-runnable-track {
- width: 100%;
- height: 5px;
- cursor: pointer;
- background: var(--lottie-player-seeker-track-color);
- border-radius: 3px;
- }
- .seeker::-webkit-slider-thumb {
- height: 15px;
- width: 15px;
- border-radius: 50%;
- background: var(--lottie-player-seeker-thumb-color);
- cursor: pointer;
- -webkit-appearance: none;
- margin-top: -5px;
- }
- .seeker:focus::-webkit-slider-runnable-track {
- background: #999;
- }
- .seeker::-moz-range-track {
- width: 100%;
- height: 5px;
- cursor: pointer;
- background: var(--lottie-player-seeker-track-color);
- border-radius: 3px;
- }
- .seeker::-moz-range-thumb {
- height: 15px;
- width: 15px;
- border-radius: 50%;
- background: var(--lottie-player-seeker-thumb-color);
- cursor: pointer;
- }
- .seeker::-ms-track {
- width: 100%;
- height: 5px;
- cursor: pointer;
- background: transparent;
- border-color: transparent;
- color: transparent;
- }
- .seeker::-ms-fill-lower {
- background: var(--lottie-player-seeker-track-color);
- border-radius: 3px;
- }
- .seeker::-ms-fill-upper {
- background: var(--lottie-player-seeker-track-color);
- border-radius: 3px;
- }
- .seeker::-ms-thumb {
- border: 0;
- height: 15px;
- width: 15px;
- border-radius: 50%;
- background: var(--lottie-player-seeker-thumb-color);
- cursor: pointer;
- }
- .seeker:focus::-ms-fill-lower {
- background: var(--lottie-player-seeker-track-color);
- }
- .seeker:focus::-ms-fill-upper {
- background: var(--lottie-player-seeker-track-color);
- }
- .error {
- display: flex;
- justify-content: center;
- height: 100%;
- align-items: center;
- }
- `]))),_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,PlayerState,PlayMode,PlayerEvents;function fetchPath(B){return new Promise((R,F)=>{const D=new XMLHttpRequest;D.open("GET",B,!0),D.responseType="arraybuffer",D.send(),D.onreadystatechange=function(){D.readyState==4&&D.status==200&&jszip.loadAsync(D.response).then(G=>{G.file("manifest.json").async("string").then(U=>{const W=JSON.parse(U);if(!("animations"in W))throw new Error("Manifest not found");if(W.animations.length===0)throw new Error("No animations listed in the manifest");const q=W.animations[0];G.file("animations/".concat(q.id,".json")).async("string").then(Y=>{const Q=JSON.parse(Y);"assets"in Q&&Promise.all(Q.assets.map(Z=>{if(Z.p&&G.file("images/".concat(Z.p))!=null)return new Promise(K=>{const J=Z.p.split(".").pop();G.file("images/".concat(Z.p)).async("base64").then(ie=>{Z.p=J==="svg"||J==="svg+xml"?"data:image/svg+xml;base64,"+ie:"data:;base64,"+ie,Z.e=1,K()})})})).then(()=>{R(Q)})})})}).catch(G=>{F(G)})}})}(function(B){B.Loading="loading",B.Playing="playing",B.Paused="paused",B.Stopped="stopped",B.Frozen="frozen",B.Error="error"})(PlayerState||(PlayerState={})),function(B){B.Normal="normal",B.Bounce="bounce"}(PlayMode||(PlayMode={})),function(B){B.Load="load",B.Error="error",B.Ready="ready",B.Play="play",B.Pause="pause",B.Stop="stop",B.Freeze="freeze",B.Loop="loop",B.Complete="complete",B.Frame="frame"}(PlayerEvents||(PlayerEvents={}));let DotLottiePlayer=class extends s$4{constructor(){super(...arguments),this.mode=PlayMode.Normal,this.autoplay=!1,this.background="transparent",this.controls=!1,this.direction=1,this.hover=!1,this.loop=!1,this.renderer="svg",this.speed=1,this.currentState=PlayerState.Loading,this.intermission=1,this._counter=0}_onVisibilityChange(){document.hidden&&this.currentState===PlayerState.Playing?this.freeze():this.currentState===PlayerState.Frozen&&this.play()}_handleSeekChange(B){if(!this._lottie||isNaN(B.target.value))return;const R=B.target.value/100*this._lottie.totalFrames;this.seek(R)}async load(B){if(!this.shadowRoot)return;const R={container:this.container,loop:!1,autoplay:!1,renderer:this.renderer,rendererSettings:{scaleMode:"noScale",clearCanvas:!1,progressiveLoad:!0,hideOnTransparent:!0}};try{const F=await fetchPath(B);this._lottie&&this._lottie.destroy(),this._lottie=lottie_svg.loadAnimation(Object.assign(Object.assign({},R),{animationData:F}))}catch{return this.currentState=PlayerState.Error,void this.dispatchEvent(new CustomEvent(PlayerEvents.Error))}this._lottie&&(this._lottie.addEventListener("enterFrame",()=>{this.seeker=this._lottie.currentFrame/this._lottie.totalFrames*100,this.dispatchEvent(new CustomEvent(PlayerEvents.Frame,{detail:{frame:this._lottie.currentFrame,seeker:this.seeker}}))}),this._lottie.addEventListener("complete",()=>{this.currentState===PlayerState.Playing?!this.loop||this.count&&this._counter>=this.count?this.dispatchEvent(new CustomEvent(PlayerEvents.Complete)):this.mode===PlayMode.Bounce?(this.count&&(this._counter+=.5),setTimeout(()=>{this.dispatchEvent(new CustomEvent(PlayerEvents.Loop)),this.currentState===PlayerState.Playing&&(this._lottie.setDirection(-1*this._lottie.playDirection),this._lottie.play())},this.intermission)):(this.count&&(this._counter+=1),window.setTimeout(()=>{this.dispatchEvent(new CustomEvent(PlayerEvents.Loop)),this.currentState===PlayerState.Playing&&(this._lottie.stop(),this._lottie.play())},this.intermission)):this.dispatchEvent(new CustomEvent(PlayerEvents.Complete))}),this._lottie.addEventListener("DOMLoaded",()=>{this.dispatchEvent(new CustomEvent(PlayerEvents.Ready))}),this._lottie.addEventListener("data_ready",()=>{this.dispatchEvent(new CustomEvent(PlayerEvents.Load))}),this._lottie.addEventListener("data_failed",()=>{this.currentState=PlayerState.Error,this.dispatchEvent(new CustomEvent(PlayerEvents.Error))}),this.container.addEventListener("mouseenter",()=>{this.hover&&this.currentState!==PlayerState.Playing&&this.play()}),this.container.addEventListener("mouseleave",()=>{this.hover&&this.currentState===PlayerState.Playing&&this.stop()}),this.setSpeed(this.speed),this.setDirection(this.direction),this.autoplay&&this.play())}getLottie(){return this._lottie}play(){this._lottie&&(this._lottie.play(),this.currentState=PlayerState.Playing,this.dispatchEvent(new CustomEvent(PlayerEvents.Play)))}pause(){this._lottie&&(this._lottie.pause(),this.currentState=PlayerState.Paused,this.dispatchEvent(new CustomEvent(PlayerEvents.Pause)))}stop(){this._lottie&&(this._counter=0,this._lottie.stop(),this.currentState=PlayerState.Stopped,this.dispatchEvent(new CustomEvent(PlayerEvents.Stop)))}seek(B){if(!this._lottie)return;const R=B.toString().match(/^([0-9]+)(%?)$/);if(!R)return;const F=R[2]==="%"?this._lottie.totalFrames*Number(R[1])/100:R[1];this.seeker=F,this.currentState===PlayerState.Playing?this._lottie.goToAndPlay(F,!0):(this._lottie.goToAndStop(F,!0),this._lottie.pause())}snapshot(){let B=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];if(!this.shadowRoot)return;const R=this.shadowRoot.querySelector(".animation svg"),F=new XMLSerializer().serializeToString(R);if(B){const D=document.createElement("a");D.href="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(F),D.download="download_"+this.seeker+".svg",document.body.appendChild(D),D.click(),document.body.removeChild(D)}return F}freeze(){this._lottie&&(this._lottie.pause(),this.currentState=PlayerState.Frozen,this.dispatchEvent(new CustomEvent(PlayerEvents.Freeze)))}setSpeed(){let B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this._lottie&&this._lottie.setSpeed(B)}setDirection(B){this._lottie&&this._lottie.setDirection(B)}setLooping(B){this._lottie&&(this.loop=B,this._lottie.loop=B)}togglePlay(){return this.currentState===PlayerState.Playing?this.pause():this.play()}toggleLooping(){this.setLooping(!this.loop)}static get styles(){return styles$l}async firstUpdated(){"IntersectionObserver"in window&&(this._io=new IntersectionObserver(B=>{B[0].isIntersecting?this.currentState===PlayerState.Frozen&&this.play():this.currentState===PlayerState.Playing&&this.freeze()}),this._io.observe(this.container)),document.hidden!==void 0&&document.addEventListener("visibilitychange",()=>this._onVisibilityChange()),this.src&&await this.load(this.src)}disconnectedCallback(){this._io&&(this._io.disconnect(),this._io=void 0),document.removeEventListener("visibilitychange",()=>this._onVisibilityChange())}renderControls(){const B=this.currentState===PlayerState.Playing,R=this.currentState===PlayerState.Paused,F=this.currentState===PlayerState.Stopped;return $(_templateObject||(_templateObject=_taggedTemplateLiteral([`
- <div id="lottie-controls" aria-label="lottie-animation-controls" class="toolbar">
- <button
- id="lottie-play-button"
- @click=`,`
- class=`,`
- style="align-items:center;"
- tabindex="0"
- aria-label="play-pause"
- >
- `,`
- </button>
- <button
- id="lottie-stop-button"
- @click=`,`
- class=`,`
- style="align-items:center;"
- tabindex="0"
- aria-label="stop"
- >
- <svg width="24" height="24" aria-hidden="true" focusable="false">
- <path d="M6 6h12v12H6V6z" />
- </svg>
- </button>
- <input
- id="lottie-seeker-input"
- class="seeker"
- type="range"
- min="0"
- step="1"
- max="100"
- .value=`,`
- @input=`,`
- @mousedown=`,`
- @mouseup=`,`
- aria-valuemin="1"
- aria-valuemax="100"
- role="slider"
- aria-valuenow=`,`
- tabindex="0"
- aria-label="lottie-seek-input"
- />
- <button
- id="lottie-loop-toggle"
- @click=`,`
- class=`,`
- style="align-items:center;"
- tabindex="0"
- aria-label="loop-toggle"
- >
- <svg width="24" height="24" aria-hidden="true" focusable="false">
- <path
- d="M17.016 17.016v-4.031h1.969v6h-12v3l-3.984-3.984 3.984-3.984v3h10.031zM6.984 6.984v4.031H5.015v-6h12v-3l3.984 3.984-3.984 3.984v-3H6.984z"
- />
- </svg>
- </button>
- </div>
- `])),this.togglePlay,B||R?"active":"",$(B?_templateObject2||(_templateObject2=_taggedTemplateLiteral([`
- <svg width="24" height="24" aria-hidden="true" focusable="false">
- <path d="M14.016 5.016H18v13.969h-3.984V5.016zM6 18.984V5.015h3.984v13.969H6z" />
- </svg>
- `])):_templateObject3||(_templateObject3=_taggedTemplateLiteral([`
- <svg width="24" height="24" aria-hidden="true" focusable="false">
- <path d="M8.016 5.016L18.985 12 8.016 18.984V5.015z" />
- </svg>
- `]))),this.stop,F?"active":"",this.seeker,this._handleSeekChange,()=>{this._prevState=this.currentState,this.freeze()},()=>{this._prevState===PlayerState.Playing&&this.play()},this.seeker,this.toggleLooping,this.loop?"active":"")}render(){const B=this.controls?"main controls":"main",R=this.controls?"animation controls":"animation";return $(_templateObject4||(_templateObject4=_taggedTemplateLiteral([`
- <div id="animation-container" class=`,` lang="en" role="img">
- <div id="animation" class=`,' style="background:',`;">
- `,`
- </div>
- `,`
- </div>
- `])),B,R,this.background,this.currentState===PlayerState.Error?$(_templateObject5||(_templateObject5=_taggedTemplateLiteral([`
- <div class="error">\u26A0\uFE0F</div>
- `]))):void 0,this.controls?this.renderControls():void 0)}};__decorate([i$4(".animation")],DotLottiePlayer.prototype,"container",void 0),__decorate([e$5()],DotLottiePlayer.prototype,"mode",void 0),__decorate([e$5({type:Boolean})],DotLottiePlayer.prototype,"autoplay",void 0),__decorate([e$5({type:String,reflect:!0})],DotLottiePlayer.prototype,"background",void 0),__decorate([e$5({type:Boolean})],DotLottiePlayer.prototype,"controls",void 0),__decorate([e$5({type:Number})],DotLottiePlayer.prototype,"count",void 0),__decorate([e$5({type:Number})],DotLottiePlayer.prototype,"direction",void 0),__decorate([e$5({type:Boolean})],DotLottiePlayer.prototype,"hover",void 0),__decorate([e$5({type:Boolean,reflect:!0})],DotLottiePlayer.prototype,"loop",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"renderer",void 0),__decorate([e$5({type:Number})],DotLottiePlayer.prototype,"speed",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"src",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"currentState",void 0),__decorate([e$5()],DotLottiePlayer.prototype,"seeker",void 0),__decorate([e$5()],DotLottiePlayer.prototype,"intermission",void 0),DotLottiePlayer=__decorate([n$1("dotlottie-player")],DotLottiePlayer);var Image1$1="/orchestra-music-score/assets/5.d8bfbf51.png",Image2$1="/orchestra-music-score/assets/4.cfa387c7.png",Image3$1="/orchestra-music-score/assets/3.d02c685a.png",Image4$1="/orchestra-music-score/assets/2.5c4c2ef5.png",Image5$1="/orchestra-music-score/assets/1.a0d5037d.png",IconBad="/orchestra-music-score/assets/bad.d9395829.png",IconGood="/orchestra-music-score/assets/good.b0fbfb32.png",IconGreat="/orchestra-music-score/assets/great.55272f0a.png",IconPerfect="/orchestra-music-score/assets/perfect.ab44b0e5.png";const icons={1:{icon:IconBad,text:"bad"},2:{icon:IconGood,text:"good"},3:{icon:IconGreat,text:"great"},4:{icon:IconPerfect,text:"perfect"}};var constant={1:{img:Image1$1,tips:"\u4F60\u7684\u6F14\u594F\u4E0D\u592A\u597D\uFF0C\u518D\u7EC3\u4E00\u7EC3\u5427\uFF5E",mome:"\u6562\u4E8E\u5C1D\u8BD5"},2:{img:Image2$1,tips:"\u4F60\u7684\u6F14\u594F\u8FD8\u4E0D\u719F\u7EC3\uFF0C\u52A0\u7D27\u8BAD\u7EC3\u624D\u80FD\u6709\u597D\u6210\u7EE9\u54E6\uFF5E",mome:"\u8FD8\u8981\u52A0\u6CB9\u54E6\uFF5E"},3:{img:Image3$1,tips:"\u4F60\u7684\u6F14\u594F\u8FD8\u4E0D\u6D41\u7545\uFF0C\u79D1\u5B66\u7684\u7EC3\u4E60\u624D\u80FD\u66F4\u5B8C\u7F8E\u54E6\uFF5E",mome:"\u7A81\u7834\u81EA\u6211"},4:{img:Image4$1,tips:"\u4F60\u7684\u6F14\u594F\u8FD8\u4E0D\u9519\uFF0C\u7EE7\u7EED\u52A0\u6CB9\u5427\uFF0C\u79BB\u5B8C\u7F8E\u5C31\u5DEE\u4E00\u6B65\u5566\uFF5E",mome:"\u5D2D\u9732\u5934\u89D2"},5:{img:Image5$1,tips:"\u4F60\u7684\u6F14\u594F\u5B8C\u7F8E\u65E0\u7F3A\uFF0C\u7EE7\u7EED\u52AA\u529B\u5427\uFF5E",mome:"\u4F60\u5F88\u68D2"}};const getLeveByScoreId=B=>{if(!B&&typeof B!="number")return{};let R=1;return B>20&&B<=40?R=2:B>40&&B<=60?R=3:B>60&&B<=80?R=4:B>80&&(R=5),R},getLeveByScore=B=>{if(!B&&typeof B!="number")return{};let R=getLeveByScoreId(B);return constant[R]},getLeveByScoreMeasure=B=>{if(!B&&typeof B!="number")return{};let R=1;return B>=40&&B<70?R=2:B>=70&&B<90?R=3:B>=90&&(R=4),icons[R]},box$1="_box_iibie_1",bg$1="_bg_iibie_9",button$4="_button_iibie_16",iconSound$2="_iconSound_iibie_33",skepBtn$1="_skepBtn_iibie_39",wrap$5="_wrap_iibie_53",wrapContainer="_wrapContainer_iibie_59",top$1="_top_iibie_65",title$4="_title_iibie_72",num="_num_iibie_82",txt="_txt_iibie_86",iconLeft="_iconLeft_iibie_89",iconTop="_iconTop_iibie_93",evaluatWrap="_evaluatWrap_iibie_98",evaluatTitle="_evaluatTitle_iibie_129",evaluatIcon="_evaluatIcon_iibie_134",fraction="_fraction_iibie_140",line="_line_iibie_147",tips$1="_tips_iibie_152",btns$2="_btns_iibie_164",btnIcon="_btnIcon_iibie_177",rigthBtns="_rigthBtns_iibie_181",confirm="_confirm_iibie_191",iconTitle$1="_iconTitle_iibie_197",footer="_footer_iibie_202",sbtn="_sbtn_iibie_231";var evastyles={box:box$1,bg:bg$1,button:button$4,iconSound:iconSound$2,skepBtn:skepBtn$1,wrap:wrap$5,wrapContainer,top:top$1,title:title$4,num,txt,iconLeft,iconTop,evaluatWrap,evaluatTitle,evaluatIcon,fraction,line,tips:tips$1,btns:btns$2,btnIcon,rigthBtns,confirm,iconTitle:iconTitle$1,footer,sbtn},iconTitle="/orchestra-music-score/assets/title.bea4c09d.svg",iconCancel$1="/orchestra-music-score/assets/cancel.948b4df9.png",iconConfirm$1="/orchestra-music-score/assets/confirm.8f41729f.png",iconBack="/orchestra-music-score/assets/back.ad4ed6fc.png",iconLianxi="/orchestra-music-score/assets/icon-lianxi.fcc30d94.png",iconReport="/orchestra-music-score/assets/icon-report.6db8af00.png",TryIcon="/orchestra-music-score/assets/icon-try.6f9f730c.png",IntegrityIcon="/orchestra-music-score/assets/integrity.f311836f.svg",IntonationIcon="/orchestra-music-score/assets/intonation.64e00f66.svg",CadenceIcon="/orchestra-music-score/assets/cadence.18a7a60b.svg",Image1="/orchestra-music-score/assets/5.602e43c1.png",Image2="/orchestra-music-score/assets/4.7cd4aa5f.png",Image3="/orchestra-music-score/assets/3.f804efc6.png",Image4="/orchestra-music-score/assets/2.3014e96e.png",Image5="/orchestra-music-score/assets/1.916612fa.png",iconUpload="/orchestra-music-score/assets/icon-upload.53f774c1.svg";const scoreInfos={1:{img:Image1,tips:"\u4F60\u7684\u6F14\u594F\u4E0D\u592A\u597D\uFF0C\u518D\u7EC3\u4E00\u7EC3\u5427\uFF5E",mome:"\u6562\u4E8E\u5C1D\u8BD5"},2:{img:Image2,tips:"\u4F60\u7684\u6F14\u594F\u8FD8\u4E0D\u719F\u7EC3\uFF0C\u52A0\u7D27\u8BAD\u7EC3\u624D\u80FD\u6709\u597D\u6210\u7EE9\u54E6\uFF5E",mome:"\u8FD8\u8981\u52A0\u6CB9\u54E6"},3:{img:Image3,tips:"\u4F60\u7684\u6F14\u594F\u8FD8\u4E0D\u6D41\u7545\uFF0C\u79D1\u5B66\u7684\u7EC3\u4E60\u624D\u80FD\u66F4\u5B8C\u7F8E\u54E6\uFF5E",mome:"\u7A81\u7834\u81EA\u6211"},4:{img:Image4,tips:"\u4F60\u7684\u6F14\u594F\u8FD8\u4E0D\u9519\uFF0C\u7EE7\u7EED\u52A0\u6CB9\u5427\uFF0C\u79BB\u5B8C\u7F8E\u5C31\u5DEE\u4E00\u6B65\u5566\uFF5E",mome:"\u5D2D\u9732\u5934\u89D2"},5:{img:Image5,tips:"\u4F60\u7684\u6F14\u594F\u975E\u5E38\u4E0D\u9519\uFF0C\u5B8C\u6574\u6027\u628A\u63E1\u7684\u5F88\u597D~",mome:"\u4F60\u5F88\u68D2"}};var Content$1=defineComponent({name:"ColexiuEvaluatingContent",props:{data:{type:Object,default:()=>null}},emits:["restart","upload"],setup(B,{emit:R}){const F=useOriginSearch(),D=!!F.unitId,G=ref(!1),U=ref(""),{data:W}=toRefs(B),q=location.pathname,Y=()=>{var ie,ne,se,re,ae,le,ce,he,de;const J={id:(ie=W.value)==null?void 0:ie.recordId,musicId:F.id,name:((ne=state$4.user)==null?void 0:ne.username)||"",subjectName:(((se=state$4.user)==null?void 0:se.subjectName)||"").split(",")[0]||"",avatar:encodeURIComponent(((re=state$4.user)==null?void 0:re.avatar)||""),score:((ae=W.value)==null?void 0:ae.score)||0,examSongName:((le=state$2.activeDetail)==null?void 0:le.examSongName)||""};return state$2.isPercussion||(J.intonation=(ce=W.value)==null?void 0:ce.intonation,J.cadence=(he=W.value)==null?void 0:he.cadence,J.integrity=(de=W.value)==null?void 0:de.integrity),`${location.origin}${q}/share-colexiu-evaluating/index.html?${queryString.stringify(J)}`},Q=J=>{const ie=J.target;ie&&(ie.contentWindow.setPng=ne=>{U.value=ne})},Z=()=>{!U.value||postMessage$1({api:"shareAchievements",content:{title:"\u5206\u4EAB\u6211\u7684\u4E50\u5668\u7EC3\u4E60\u8FDB\u5EA6\uFF0C\u4E00\u8D77\u89C1\u8BC1\u6211\u7684\u6210\u957F\uFF01",desc:"\u6652\u4E00\u4E0B\u6211\u7684\u8BC4\u6D4B\u5206\u6570\uFF0C\u5FEB\u6765\u201C\u5C0F\u9177AI\u201D\u4E0A\u548C\u6211PK\u4E00\u4E0B\u5427\uFF01",image:U.value,video:"",type:"image",button:["copy"],url:Y()}},J=>{var ie,ne,se;(ie=J==null?void 0:J.content)!=null&&ie.status&&(G.value=!1),(ne=J==null?void 0:J.content)!=null&&ne.message&&Toast((se=J==null?void 0:J.content)==null?void 0:se.message)})},K=()=>{var J;postMessage$1({api:"openWebView",content:{url:`${location.origin}${q}colexiu-report.html?source=evaluation&musicId=${F.id}&id=${(J=W.value)==null?void 0:J.recordIdStr}`,orientation:0,isHideTitle:!0,statusBarTextColor:!1,isOpenLight:!0}})};return()=>{var ie,ne;const J=getLeveByScoreId((ie=W.value)==null?void 0:ie.score);return createVNode("div",null,[createVNode("div",{class:evastyles.box},[createVNode("div",{class:evastyles.wrap},[createVNode("div",{class:evastyles.wrapContainer},[createVNode("div",{class:evastyles.top},[createVNode("div",{class:evastyles.title},[createVNode("div",{style:{position:"relative",zIndex:1,"white-space":"nowrap"}},[createVNode("span",{class:evastyles.num},[(ne=W.value)==null?void 0:ne.score]),createVNode("span",{class:evastyles.txt},[createTextVNode("\u5206 "),scoreInfos[J].mome])]),createVNode("div",{class:evastyles.line},null)]),createVNode("img",{class:evastyles.iconTop,src:scoreInfos[J].img},null)]),state$2.isPercussion?null:createVNode("div",{class:evastyles.evaluatWrap},[createVNode(Grid,null,{default:()=>[createVNode(GridItem,null,{icon:()=>createVNode("div",null,[createVNode("img",{class:evastyles.evaluatIcon,src:IntonationIcon},null),createVNode("span",{class:evastyles.evaluatTitle},[createTextVNode("\u97F3\u51C6")])]),text:()=>{var se;return createVNode("span",{class:evastyles.fraction},[(se=W.value)==null?void 0:se.intonation,createVNode("span",null,[createTextVNode("\u5206")])])}}),createVNode("div",{class:evastyles.line},null),createVNode(GridItem,null,{icon:()=>createVNode("div",null,[createVNode("img",{class:evastyles.evaluatIcon,src:CadenceIcon},null),createVNode("span",{class:evastyles.evaluatTitle},[createTextVNode("\u8282\u594F")])]),text:()=>{var se;return createVNode("span",{class:evastyles.fraction},[(se=W.value)==null?void 0:se.cadence,createVNode("span",null,[createTextVNode("\u5206")])])}}),createVNode("div",{class:evastyles.line},null),createVNode(GridItem,null,{icon:()=>createVNode("div",null,[createVNode("img",{class:evastyles.evaluatIcon,src:IntegrityIcon},null),createVNode("span",{class:evastyles.evaluatTitle},[createTextVNode("\u5B8C\u6574\u6027")])]),text:()=>{var se;return createVNode("span",{class:evastyles.fraction},[(se=W.value)==null?void 0:se.integrity,createVNode("span",null,[createTextVNode("\u5206")])])}})]})]),createVNode("div",{class:evastyles.tips},[createVNode("div",{style:state$2.isPercussion?{height:"45px",fontSize:"15px"}:""},[scoreInfos[J].tips]),createVNode("div",{class:evastyles.btns,style:{justifyContent:D?"center":""}},[state$2.frozenMode||D?null:createVNode(Button,{onClick:()=>{state.evaluatingStatus=!1,state$2.evaluatings={},evaluatingShow.value=!1,onChangeModelType("practice")}},{default:()=>[createVNode("img",{class:evastyles.btnIcon,src:iconLianxi},null)]}),createVNode(Button,{style:{margin:"0 4px"},onClick:()=>{state$2.evaluatings={},R("restart")}},{default:()=>[createVNode("img",{class:evastyles.btnIcon,src:TryIcon},null)]}),D?null:createVNode(Button,{onClick:K},{default:()=>[createVNode("img",{class:evastyles.btnIcon,src:iconReport,alt:"\u67E5\u770B\u62A5\u544A"},null)]})])])]),D?null:createVNode("div",{class:evastyles.rigthBtns},[createVNode("div",{class:evastyles.skepBtn,onClick:()=>R("upload")},[createVNode("img",{src:iconUpload},null),createTextVNode("\u4E0A\u4F20")])])]),createVNode(Popup,{teleport:"body",show:G.value,style:{background:"transparent"}},{default:()=>[createVNode("div",{style:{textAlign:"right"}},[createVNode(Button,{class:evastyles.sbtn,onClick:Z,round:!0,type:"primary",color:"#2DC7AA"},{default:()=>[createTextVNode("\u5206\u4EAB")]}),createVNode(Button,{class:evastyles.sbtn,onClick:()=>G.value=!1,round:!0},{default:()=>[createTextVNode("\u5173\u95ED")]})]),createVNode("iframe",{style:{width:"50vw",border:"none",height:"70vh",marginTop:"1vh"},src:Y(),onLoad:Q},null)]}),createVNode(Button,{class:evastyles.button,icon:iconBack,onClick:()=>{state$2.evaluatings={},R("restart")}},null)])])}}});const evaluatingShow=ref(!1),open=ref(!1);var Evaluating$1=defineComponent({name:"ColexiuEvaluating",props:{data:{type:Object,default:()=>null}},emits:["restart"],setup(B){const R=ref(!1),F=G=>{var U,W;postMessage$1({api:"proxyServiceMessage",content:{header:{commond:"videoUpload",status:200,type:"SOUND_COMPARE"},body:{filePath:(U=G==null?void 0:G.content)==null?void 0:U.filePath,recordId:(W=B.data)==null?void 0:W.recordIdStr}}})},D=()=>{state$3.sett.camera&&state$3.eva.save?postMessage$1({api:"videoUpdate"},G=>{if(console.log("\u4FDD\u5B58\u89C6\u9891",G),R.value=!1,G!=null&&G.content){if(G.content.type==="error"){Toast(G.content.message);return}F(G)}}):(R.value=!1,F(),Toast.success("\u4E0A\u4F20\u6210\u529F"))};return()=>createVNode("div",null,[createVNode(Popup,{position:"bottom",show:evaluatingShow.value,"onUpdate:show":G=>evaluatingShow.value=G,onOpen:()=>open.value=!0,onClosed:()=>open.value=!1,teleport:"body",style:{backgroundColor:"transparent"}},{default:()=>[open&&createVNode(Content$1,{data:B.data,onUpload:()=>R.value=!0,onRestart:()=>evaluatingShow.value=!1},null)]}),createVNode(Dialog.Component,{teleport:"body",class:evastyles.confirm,style:{overflow:"initial"},show:R.value,"onUpdate:show":G=>R.value=G,message:`\u8BC4\u6D4B${state$3.sett.camera&&state$3.eva.save?"\u97F3\u89C6\u9891":"\u97F3\u9891"}\u662F\u5426\u4FDD\u5B58\u6F14\u594F\uFF1F`},{title:()=>createVNode("img",{class:evastyles.iconTitle,src:iconTitle},null),footer:()=>createVNode("div",{class:evastyles.footer},[createVNode("img",{src:iconCancel$1,onClick:()=>R.value=!1},null),createVNode("img",{src:iconConfirm$1,onClick:D},null)])})])}});const container$6="_container_1b2ds_1",outUp="_outUp_1b2ds_19",chenkuang="_chenkuang_1b2ds_22",moreButton="_moreButton_1b2ds_25",button$3="_button_1b2ds_29",centerButton="_centerButton_1b2ds_32",leftButton="_leftButton_1b2ds_38",titleWrap="_titleWrap_1b2ds_42",title$3="_title_1b2ds_42",album="_album_1b2ds_54",hasText$1="_hasText_1b2ds_67",bigIcon$1="_bigIcon_1b2ds_83",evaluatBtn="_evaluatBtn_1b2ds_90",start$1="_start_1b2ds_93",evaluatStartBtn="_evaluatStartBtn_1b2ds_108",icon="_icon_1b2ds_118",onShow="_onShow_1b2ds_121",popover="_popover_1b2ds_124",backbtn="_backbtn_1b2ds_131",speed="_speed_1b2ds_135",schedule="_schedule_1b2ds_174",ring="_ring_1b2ds_180",speedButton="_speedButton_1b2ds_191",label="_label_1b2ds_194",player$1="_player_1b2ds_205",fullbtn="_fullbtn_1b2ds_213",finish="_finish_1b2ds_222",dialogueBox="_dialogueBox_1b2ds_273",dialogue="_dialogue_1b2ds_273",dialogueIcon="_dialogueIcon_1b2ds_298",inRadioIcon="_inRadioIcon_1b2ds_303",inRadio="_inRadio_1b2ds_303",animation="_animation_1b2ds_324",btnMusicList="_btnMusicList_1b2ds_329",toggleMusicType="_toggleMusicType_1b2ds_341",slider$1="_slider_1b2ds_374",followEndBtn="_followEndBtn_1b2ds_394";var styles$k={container:container$6,outUp,chenkuang,moreButton,button:button$3,centerButton,leftButton,titleWrap,title:title$3,album,hasText:hasText$1,bigIcon:bigIcon$1,evaluatBtn,start:start$1,evaluatStartBtn,icon,onShow,popover,backbtn,speed,schedule,ring,speedButton,label,player:player$1,fullbtn,finish,dialogueBox,dialogue,dialogueIcon,inRadioIcon,inRadio,animation,btnMusicList,toggleMusicType,slider:slider$1,followEndBtn},lottie={exports:{}};(function(module,exports){typeof navigator!="undefined"&&function(B,R){module.exports=R()}(commonjsGlobal$2,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(R){_useWebWorker=!!R},getWebWorker=function(){return _useWebWorker},setLocationHref=function(R){locationHref=R},getLocationHref=function(){return locationHref};function createTag(B){return document.createElement(B)}function extendPrototype(B,R){var F,D=B.length,G;for(F=0;F<D;F+=1){G=B[F].prototype;for(var U in G)Object.prototype.hasOwnProperty.call(G,U)&&(R.prototype[U]=G[U])}}function getDescriptor(B,R){return Object.getOwnPropertyDescriptor(B,R)}function createProxyFunction(B){function R(){}return R.prototype=B,R}var audioControllerFactory=function(){function B(R){this.audios=[],this.audioFactory=R,this._volume=1,this._isMuted=!1}return B.prototype={addAudio:function(F){this.audios.push(F)},pause:function(){var F,D=this.audios.length;for(F=0;F<D;F+=1)this.audios[F].pause()},resume:function(){var F,D=this.audios.length;for(F=0;F<D;F+=1)this.audios[F].resume()},setRate:function(F){var D,G=this.audios.length;for(D=0;D<G;D+=1)this.audios[D].setRate(F)},createAudio:function(F){return this.audioFactory?this.audioFactory(F):window.Howl?new window.Howl({src:[F]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(F){this.audioFactory=F},setVolume:function(F){this._volume=F,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(){return this._volume},_updateVolume:function(){var F,D=this.audios.length;for(F=0;F<D;F+=1)this.audios[F].volume(this._volume*(this._isMuted?0:1))}},function(){return new B}}(),createTypedArray=function(){function B(F,D){var G=0,U=[],W;switch(F){case"int16":case"uint8c":W=1;break;default:W=1.1;break}for(G=0;G<D;G+=1)U.push(W);return U}function R(F,D){return F==="float32"?new Float32Array(D):F==="int16"?new Int16Array(D):F==="uint8c"?new Uint8ClampedArray(D):B(F,D)}return typeof Uint8ClampedArray=="function"&&typeof Float32Array=="function"?R:B}();function createSizedArray(B){return Array.apply(null,{length:B})}function _typeof$6(B){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$6=function(F){return typeof F}:_typeof$6=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},_typeof$6(B)}var subframeEnabled=!0,expressionsPlugin=null,idPrefix$1="",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};(function(){var B=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],R,F=B.length;for(R=0;R<F;R+=1)BMMath[B[R]]=Math[B[R]]})(),BMMath.random=Math.random,BMMath.abs=function(B){var R=_typeof$6(B);if(R==="object"&&B.length){var F=createSizedArray(B.length),D,G=B.length;for(D=0;D<G;D+=1)F[D]=Math.abs(B[D]);return F}return Math.abs(B)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function styleDiv(B){B.style.position="absolute",B.style.top=0,B.style.left=0,B.style.display="block",B.style.transformOrigin="0 0",B.style.webkitTransformOrigin="0 0",B.style.backfaceVisibility="visible",B.style.webkitBackfaceVisibility="visible",B.style.transformStyle="preserve-3d",B.style.webkitTransformStyle="preserve-3d",B.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(B,R,F,D){this.type=B,this.currentTime=R,this.totalTime=F,this.direction=D<0?-1:1}function BMCompleteEvent(B,R){this.type=B,this.direction=R<0?-1:1}function BMCompleteLoopEvent(B,R,F,D){this.type=B,this.currentLoop=F,this.totalLoops=R,this.direction=D<0?-1:1}function BMSegmentStartEvent(B,R,F){this.type=B,this.firstFrame=R,this.totalFrames=F}function BMDestroyEvent(B,R){this.type=B,this.target=R}function BMRenderFrameErrorEvent(B,R){this.type="renderFrameError",this.nativeError=B,this.currentTime=R}function BMConfigErrorEvent(B){this.type="configError",this.nativeError=B}var createElementID=function(){var B=0;return function(){return B+=1,idPrefix$1+"__lottie_element_"+B}}();function HSVtoRGB(B,R,F){var D,G,U,W,q,Y,Q,Z;switch(W=Math.floor(B*6),q=B*6-W,Y=F*(1-R),Q=F*(1-q*R),Z=F*(1-(1-q)*R),W%6){case 0:D=F,G=Z,U=Y;break;case 1:D=Q,G=F,U=Y;break;case 2:D=Y,G=F,U=Z;break;case 3:D=Y,G=Q,U=F;break;case 4:D=Z,G=Y,U=F;break;case 5:D=F,G=Y,U=Q;break}return[D,G,U]}function RGBtoHSV(B,R,F){var D=Math.max(B,R,F),G=Math.min(B,R,F),U=D-G,W,q=D===0?0:U/D,Y=D/255;switch(D){case G:W=0;break;case B:W=R-F+U*(R<F?6:0),W/=6*U;break;case R:W=F-B+U*2,W/=6*U;break;case F:W=B-R+U*4,W/=6*U;break}return[W,q,Y]}function addSaturationToRGB(B,R){var F=RGBtoHSV(B[0]*255,B[1]*255,B[2]*255);return F[1]+=R,F[1]>1?F[1]=1:F[1]<=0&&(F[1]=0),HSVtoRGB(F[0],F[1],F[2])}function addBrightnessToRGB(B,R){var F=RGBtoHSV(B[0]*255,B[1]*255,B[2]*255);return F[2]+=R,F[2]>1?F[2]=1:F[2]<0&&(F[2]=0),HSVtoRGB(F[0],F[1],F[2])}function addHueToRGB(B,R){var F=RGBtoHSV(B[0]*255,B[1]*255,B[2]*255);return F[0]+=R/360,F[0]>1?F[0]-=1:F[0]<0&&(F[0]+=1),HSVtoRGB(F[0],F[1],F[2])}var rgbToHex=function(){var B=[],R,F;for(R=0;R<256;R+=1)F=R.toString(16),B[R]=F.length===1?"0"+F:F;return function(D,G,U){return D<0&&(D=0),G<0&&(G=0),U<0&&(U=0),"#"+B[D]+B[G]+B[U]}}(),setSubframeEnabled=function(R){subframeEnabled=!!R},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(R){expressionsPlugin=R},getExpressionsPlugin=function(){return expressionsPlugin},setDefaultCurveSegments=function(R){defaultCurveSegments=R},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(R){idPrefix$1=R};function createNS(B){return document.createElementNS(svgNS,B)}function _typeof$5(B){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(F){return typeof F}:_typeof$5=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},_typeof$5(B)}var dataManager=function(){var B=1,R=[],F,D,G={onmessage:function(){},postMessage:function(ie){F({data:ie})}},U={postMessage:function(ie){G.onmessage({data:ie})}};function W(J){if(window.Worker&&window.Blob&&getWebWorker()){var ie=new Blob(["var _workerSelf = self; self.onmessage = ",J.toString()],{type:"text/javascript"}),ne=URL.createObjectURL(ie);return new Worker(ne)}return F=J,G}function q(){D||(D=W(function(ie){function ne(){function re(Te,Le){var we,Ae,Me=Te.length,ke,Ne,Ie,Ge;for(Ae=0;Ae<Me;Ae+=1)if(we=Te[Ae],"ks"in we&&!we.completed){if(we.completed=!0,we.tt&&(Te[Ae-1].td=we.tt),we.hasMask){var ze=we.masksProperties;for(Ne=ze.length,ke=0;ke<Ne;ke+=1)if(ze[ke].pt.k.i)de(ze[ke].pt.k);else for(Ge=ze[ke].pt.k.length,Ie=0;Ie<Ge;Ie+=1)ze[ke].pt.k[Ie].s&&de(ze[ke].pt.k[Ie].s[0]),ze[ke].pt.k[Ie].e&&de(ze[ke].pt.k[Ie].e[0])}we.ty===0?(we.layers=ce(we.refId,Le),re(we.layers,Le)):we.ty===4?he(we.shapes):we.ty===5&&Pe(we)}}function ae(Te,Le){if(Te){var we=0,Ae=Te.length;for(we=0;we<Ae;we+=1)Te[we].t===1&&(Te[we].data.layers=ce(Te[we].data.refId,Le),re(Te[we].data.layers,Le))}}function le(Te,Le){for(var we=0,Ae=Le.length;we<Ae;){if(Le[we].id===Te)return Le[we];we+=1}return null}function ce(Te,Le){var we=le(Te,Le);return we?we.layers.__used?JSON.parse(JSON.stringify(we.layers)):(we.layers.__used=!0,we.layers):null}function he(Te){var Le,we=Te.length,Ae,Me;for(Le=we-1;Le>=0;Le-=1)if(Te[Le].ty==="sh")if(Te[Le].ks.k.i)de(Te[Le].ks.k);else for(Me=Te[Le].ks.k.length,Ae=0;Ae<Me;Ae+=1)Te[Le].ks.k[Ae].s&&de(Te[Le].ks.k[Ae].s[0]),Te[Le].ks.k[Ae].e&&de(Te[Le].ks.k[Ae].e[0]);else Te[Le].ty==="gr"&&he(Te[Le].it)}function de(Te){var Le,we=Te.i.length;for(Le=0;Le<we;Le+=1)Te.i[Le][0]+=Te.v[Le][0],Te.i[Le][1]+=Te.v[Le][1],Te.o[Le][0]+=Te.v[Le][0],Te.o[Le][1]+=Te.v[Le][1]}function me(Te,Le){var we=Le?Le.split("."):[100,100,100];return Te[0]>we[0]?!0:we[0]>Te[0]?!1:Te[1]>we[1]?!0:we[1]>Te[1]?!1:Te[2]>we[2]?!0:we[2]>Te[2]?!1:null}var fe=function(){var Te=[4,4,14];function Le(Ae){var Me=Ae.t.d;Ae.t.d={k:[{s:Me,t:0}]}}function we(Ae){var Me,ke=Ae.length;for(Me=0;Me<ke;Me+=1)Ae[Me].ty===5&&Le(Ae[Me])}return function(Ae){if(me(Te,Ae.v)&&(we(Ae.layers),Ae.assets)){var Me,ke=Ae.assets.length;for(Me=0;Me<ke;Me+=1)Ae.assets[Me].layers&&we(Ae.assets[Me].layers)}}}(),ge=function(){var Te=[4,7,99];return function(Le){if(Le.chars&&!me(Te,Le.v)){var we,Ae=Le.chars.length;for(we=0;we<Ae;we+=1){var Me=Le.chars[we];Me.data&&Me.data.shapes&&(he(Me.data.shapes),Me.data.ip=0,Me.data.op=99999,Me.data.st=0,Me.data.sr=1,Me.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},Le.chars[we].t||(Me.data.shapes.push({ty:"no"}),Me.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:"tr"})))}}}}(),Se=function(){var Te=[5,7,15];function Le(Ae){var Me=Ae.t.p;typeof Me.a=="number"&&(Me.a={a:0,k:Me.a}),typeof Me.p=="number"&&(Me.p={a:0,k:Me.p}),typeof Me.r=="number"&&(Me.r={a:0,k:Me.r})}function we(Ae){var Me,ke=Ae.length;for(Me=0;Me<ke;Me+=1)Ae[Me].ty===5&&Le(Ae[Me])}return function(Ae){if(me(Te,Ae.v)&&(we(Ae.layers),Ae.assets)){var Me,ke=Ae.assets.length;for(Me=0;Me<ke;Me+=1)Ae.assets[Me].layers&&we(Ae.assets[Me].layers)}}}(),Ee=function(){var Te=[4,1,9];function Le(Ae){var Me,ke=Ae.length,Ne,Ie;for(Me=0;Me<ke;Me+=1)if(Ae[Me].ty==="gr")Le(Ae[Me].it);else if(Ae[Me].ty==="fl"||Ae[Me].ty==="st")if(Ae[Me].c.k&&Ae[Me].c.k[0].i)for(Ie=Ae[Me].c.k.length,Ne=0;Ne<Ie;Ne+=1)Ae[Me].c.k[Ne].s&&(Ae[Me].c.k[Ne].s[0]/=255,Ae[Me].c.k[Ne].s[1]/=255,Ae[Me].c.k[Ne].s[2]/=255,Ae[Me].c.k[Ne].s[3]/=255),Ae[Me].c.k[Ne].e&&(Ae[Me].c.k[Ne].e[0]/=255,Ae[Me].c.k[Ne].e[1]/=255,Ae[Me].c.k[Ne].e[2]/=255,Ae[Me].c.k[Ne].e[3]/=255);else Ae[Me].c.k[0]/=255,Ae[Me].c.k[1]/=255,Ae[Me].c.k[2]/=255,Ae[Me].c.k[3]/=255}function we(Ae){var Me,ke=Ae.length;for(Me=0;Me<ke;Me+=1)Ae[Me].ty===4&&Le(Ae[Me].shapes)}return function(Ae){if(me(Te,Ae.v)&&(we(Ae.layers),Ae.assets)){var Me,ke=Ae.assets.length;for(Me=0;Me<ke;Me+=1)Ae.assets[Me].layers&&we(Ae.assets[Me].layers)}}}(),ve=function(){var Te=[4,4,18];function Le(Ae){var Me,ke=Ae.length,Ne,Ie;for(Me=ke-1;Me>=0;Me-=1)if(Ae[Me].ty==="sh")if(Ae[Me].ks.k.i)Ae[Me].ks.k.c=Ae[Me].closed;else for(Ie=Ae[Me].ks.k.length,Ne=0;Ne<Ie;Ne+=1)Ae[Me].ks.k[Ne].s&&(Ae[Me].ks.k[Ne].s[0].c=Ae[Me].closed),Ae[Me].ks.k[Ne].e&&(Ae[Me].ks.k[Ne].e[0].c=Ae[Me].closed);else Ae[Me].ty==="gr"&&Le(Ae[Me].it)}function we(Ae){var Me,ke,Ne=Ae.length,Ie,Ge,ze,Ve;for(ke=0;ke<Ne;ke+=1){if(Me=Ae[ke],Me.hasMask){var Ye=Me.masksProperties;for(Ge=Ye.length,Ie=0;Ie<Ge;Ie+=1)if(Ye[Ie].pt.k.i)Ye[Ie].pt.k.c=Ye[Ie].cl;else for(Ve=Ye[Ie].pt.k.length,ze=0;ze<Ve;ze+=1)Ye[Ie].pt.k[ze].s&&(Ye[Ie].pt.k[ze].s[0].c=Ye[Ie].cl),Ye[Ie].pt.k[ze].e&&(Ye[Ie].pt.k[ze].e[0].c=Ye[Ie].cl)}Me.ty===4&&Le(Me.shapes)}}return function(Ae){if(me(Te,Ae.v)&&(we(Ae.layers),Ae.assets)){var Me,ke=Ae.assets.length;for(Me=0;Me<ke;Me+=1)Ae.assets[Me].layers&&we(Ae.assets[Me].layers)}}}();function xe(Te){Te.__complete||(Ee(Te),fe(Te),ge(Te),Se(Te),ve(Te),re(Te.layers,Te.assets),ae(Te.chars,Te.assets),Te.__complete=!0)}function Pe(Te){Te.t.a.length===0&&"m"in Te.t.p}var ye={};return ye.completeData=xe,ye.checkColors=Ee,ye.checkChars=ge,ye.checkPathProperties=Se,ye.checkShapes=ve,ye.completeLayers=re,ye}if(U.dataManager||(U.dataManager=ne()),U.assetLoader||(U.assetLoader=function(){function re(le){var ce=le.getResponseHeader("content-type");return ce&&le.responseType==="json"&&ce.indexOf("json")!==-1||le.response&&_typeof$5(le.response)==="object"?le.response:le.response&&typeof le.response=="string"?JSON.parse(le.response):le.responseText?JSON.parse(le.responseText):null}function ae(le,ce,he,de){var me,fe=new XMLHttpRequest;try{fe.responseType="json"}catch{}fe.onreadystatechange=function(){if(fe.readyState===4)if(fe.status===200)me=re(fe),he(me);else try{me=re(fe),he(me)}catch(ge){de&&de(ge)}};try{fe.open("GET",le,!0)}catch{fe.open("GET",ce+"/"+le,!0)}fe.send()}return{load:ae}}()),ie.data.type==="loadAnimation")U.assetLoader.load(ie.data.path,ie.data.fullPath,function(re){U.dataManager.completeData(re),U.postMessage({id:ie.data.id,payload:re,status:"success"})},function(){U.postMessage({id:ie.data.id,status:"error"})});else if(ie.data.type==="complete"){var se=ie.data.animation;U.dataManager.completeData(se),U.postMessage({id:ie.data.id,payload:se,status:"success"})}else ie.data.type==="loadData"&&U.assetLoader.load(ie.data.path,ie.data.fullPath,function(re){U.postMessage({id:ie.data.id,payload:re,status:"success"})},function(){U.postMessage({id:ie.data.id,status:"error"})})}),D.onmessage=function(J){var ie=J.data,ne=ie.id,se=R[ne];R[ne]=null,ie.status==="success"?se.onComplete(ie.payload):se.onError&&se.onError()})}function Y(J,ie){B+=1;var ne="processId_"+B;return R[ne]={onComplete:J,onError:ie},ne}function Q(J,ie,ne){q();var se=Y(ie,ne);D.postMessage({type:"loadAnimation",path:J,fullPath:window.location.origin+window.location.pathname,id:se})}function Z(J,ie,ne){q();var se=Y(ie,ne);D.postMessage({type:"loadData",path:J,fullPath:window.location.origin+window.location.pathname,id:se})}function K(J,ie,ne){q();var se=Y(ie,ne);D.postMessage({type:"complete",animation:J,id:se})}return{loadAnimation:Q,loadData:Z,completeAnimation:K}}(),ImagePreloader=function(){var B=function(){var ae=createTag("canvas");ae.width=1,ae.height=1;var le=ae.getContext("2d");return le.fillStyle="rgba(0,0,0,0)",le.fillRect(0,0,1,1),ae}();function R(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function F(){this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function D(ae,le,ce){var he="";if(ae.e)he=ae.p;else if(le){var de=ae.p;de.indexOf("images/")!==-1&&(de=de.split("/")[1]),he=le+de}else he=ce,he+=ae.u?ae.u:"",he+=ae.p;return he}function G(ae){var le=0,ce=setInterval(function(){var he=ae.getBBox();(he.width||le>500)&&(this._imageLoaded(),clearInterval(ce)),le+=1}.bind(this),50)}function U(ae){var le=D(ae,this.assetsPath,this.path),ce=createNS("image");isSafari?this.testImageLoaded(ce):ce.addEventListener("load",this._imageLoaded,!1),ce.addEventListener("error",function(){he.img=B,this._imageLoaded()}.bind(this),!1),ce.setAttributeNS("http://www.w3.org/1999/xlink","href",le),this._elementHelper.append?this._elementHelper.append(ce):this._elementHelper.appendChild(ce);var he={img:ce,assetData:ae};return he}function W(ae){var le=D(ae,this.assetsPath,this.path),ce=createTag("img");ce.crossOrigin="anonymous",ce.addEventListener("load",this._imageLoaded,!1),ce.addEventListener("error",function(){he.img=B,this._imageLoaded()}.bind(this),!1),ce.src=le;var he={img:ce,assetData:ae};return he}function q(ae){var le={assetData:ae},ce=D(ae,this.assetsPath,this.path);return dataManager.loadData(ce,function(he){le.img=he,this._footageLoaded()}.bind(this),function(){le.img={},this._footageLoaded()}.bind(this)),le}function Y(ae,le){this.imagesLoadedCb=le;var ce,he=ae.length;for(ce=0;ce<he;ce+=1)ae[ce].layers||(!ae[ce].t||ae[ce].t==="seq"?(this.totalImages+=1,this.images.push(this._createImageData(ae[ce]))):ae[ce].t===3&&(this.totalFootages+=1,this.images.push(this.createFootageData(ae[ce]))))}function Q(ae){this.path=ae||""}function Z(ae){this.assetsPath=ae||""}function K(ae){for(var le=0,ce=this.images.length;le<ce;){if(this.images[le].assetData===ae)return this.images[le].img;le+=1}return null}function J(){this.imagesLoadedCb=null,this.images.length=0}function ie(){return this.totalImages===this.loadedAssets}function ne(){return this.totalFootages===this.loadedFootagesCount}function se(ae,le){ae==="svg"?(this._elementHelper=le,this._createImageData=this.createImageData.bind(this)):this._createImageData=this.createImgData.bind(this)}function re(){this._imageLoaded=R.bind(this),this._footageLoaded=F.bind(this),this.testImageLoaded=G.bind(this),this.createFootageData=q.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return re.prototype={loadAssets:Y,setAssetsPath:Z,setPath:Q,loadedImages:ie,loadedFootages:ne,destroy:J,getAsset:K,createImgData:W,createImageData:U,imageLoaded:R,footageLoaded:F,setCacheType:se},re}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(R,F){if(this._cbs[R])for(var D=this._cbs[R],G=0;G<D.length;G+=1)D[G](F)},addEventListener:function(R,F){return this._cbs[R]||(this._cbs[R]=[]),this._cbs[R].push(F),function(){this.removeEventListener(R,F)}.bind(this)},removeEventListener:function(R,F){if(!F)this._cbs[R]=null;else if(this._cbs[R]){for(var D=0,G=this._cbs[R].length;D<G;)this._cbs[R][D]===F&&(this._cbs[R].splice(D,1),D-=1,G-=1),D+=1;this._cbs[R].length||(this._cbs[R]=null)}}};var markerParser=function(){function B(R){for(var F=R.split(`\r
- `),D={},G,U=0,W=0;W<F.length;W+=1)G=F[W].split(":"),G.length===2&&(D[G[0]]=G[1].trim(),U+=1);if(U===0)throw new Error;return D}return function(R){for(var F=[],D=0;D<R.length;D+=1){var G=R[D],U={time:G.tm,duration:G.dr};try{U.payload=JSON.parse(R[D].cm)}catch{try{U.payload=B(R[D].cm)}catch{U.payload={name:R[D].cm}}}F.push(U)}return F}}(),ProjectInterface=function(){function B(R){this.compositions.push(R)}return function(){function R(F){for(var D=0,G=this.compositions.length;D<G;){if(this.compositions[D].data&&this.compositions[D].data.nm===F)return this.compositions[D].prepareFrame&&this.compositions[D].data.xt&&this.compositions[D].prepareFrame(this.currentFrame),this.compositions[D].compInterface;D+=1}return null}return R.compositions=[],R.currentFrame=0,R.registerComposition=B,R}}(),renderers={},registerRenderer=function(R,F){renderers[R]=F};function getRenderer(B){return renderers[B]}function _typeof$4(B){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$4=function(F){return typeof F}:_typeof$4=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},_typeof$4(B)}var AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this),this.drawnFrameEvent=new BMEnterFrameEvent("drawnFrame",0,0,0)};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(B){(B.wrapper||B.container)&&(this.wrapper=B.wrapper||B.container);var R="svg";B.animType?R=B.animType:B.renderer&&(R=B.renderer);var F=getRenderer(R);this.renderer=new F(this,B.rendererSettings),this.imagePreloader.setCacheType(R,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=R,B.loop===""||B.loop===null||B.loop===void 0||B.loop===!0?this.loop=!0:B.loop===!1?this.loop=!1:this.loop=parseInt(B.loop,10),this.autoplay="autoplay"in B?B.autoplay:!0,this.name=B.name?B.name:"",this.autoloadSegments=Object.prototype.hasOwnProperty.call(B,"autoloadSegments")?B.autoloadSegments:!0,this.assetsPath=B.assetsPath,this.initialSegment=B.initialSegment,B.audioFactory&&this.audioController.setAudioFactory(B.audioFactory),B.animationData?this.setupAnimation(B.animationData):B.path&&(B.path.lastIndexOf("\\")!==-1?this.path=B.path.substr(0,B.path.lastIndexOf("\\")+1):this.path=B.path.substr(0,B.path.lastIndexOf("/")+1),this.fileName=B.path.substr(B.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),dataManager.loadAnimation(B.path,this.configAnimation,this.onSetupError))},AnimationItem.prototype.onSetupError=function(){this.trigger("data_failed")},AnimationItem.prototype.setupAnimation=function(B){dataManager.completeAnimation(B,this.configAnimation)},AnimationItem.prototype.setData=function(B,R){R&&_typeof$4(R)!=="object"&&(R=JSON.parse(R));var F={wrapper:B,animationData:R},D=B.attributes;F.path=D.getNamedItem("data-animation-path")?D.getNamedItem("data-animation-path").value:D.getNamedItem("data-bm-path")?D.getNamedItem("data-bm-path").value:D.getNamedItem("bm-path")?D.getNamedItem("bm-path").value:"",F.animType=D.getNamedItem("data-anim-type")?D.getNamedItem("data-anim-type").value:D.getNamedItem("data-bm-type")?D.getNamedItem("data-bm-type").value:D.getNamedItem("bm-type")?D.getNamedItem("bm-type").value:D.getNamedItem("data-bm-renderer")?D.getNamedItem("data-bm-renderer").value:D.getNamedItem("bm-renderer")?D.getNamedItem("bm-renderer").value:"canvas";var G=D.getNamedItem("data-anim-loop")?D.getNamedItem("data-anim-loop").value:D.getNamedItem("data-bm-loop")?D.getNamedItem("data-bm-loop").value:D.getNamedItem("bm-loop")?D.getNamedItem("bm-loop").value:"";G==="false"?F.loop=!1:G==="true"?F.loop=!0:G!==""&&(F.loop=parseInt(G,10));var U=D.getNamedItem("data-anim-autoplay")?D.getNamedItem("data-anim-autoplay").value:D.getNamedItem("data-bm-autoplay")?D.getNamedItem("data-bm-autoplay").value:D.getNamedItem("bm-autoplay")?D.getNamedItem("bm-autoplay").value:!0;F.autoplay=U!=="false",F.name=D.getNamedItem("data-name")?D.getNamedItem("data-name").value:D.getNamedItem("data-bm-name")?D.getNamedItem("data-bm-name").value:D.getNamedItem("bm-name")?D.getNamedItem("bm-name").value:"";var W=D.getNamedItem("data-anim-prerender")?D.getNamedItem("data-anim-prerender").value:D.getNamedItem("data-bm-prerender")?D.getNamedItem("data-bm-prerender").value:D.getNamedItem("bm-prerender")?D.getNamedItem("bm-prerender").value:"";W==="false"&&(F.prerender=!1),this.setParams(F)},AnimationItem.prototype.includeLayers=function(B){B.op>this.animationData.op&&(this.animationData.op=B.op,this.totalFrames=Math.floor(B.op-this.animationData.ip));var R=this.animationData.layers,F,D=R.length,G=B.layers,U,W=G.length;for(U=0;U<W;U+=1)for(F=0;F<D;){if(R[F].id===G[U].id){R[F]=G[U];break}F+=1}if((B.chars||B.fonts)&&(this.renderer.globalData.fontManager.addChars(B.chars),this.renderer.globalData.fontManager.addFonts(B.fonts,this.renderer.globalData.defs)),B.assets)for(D=B.assets.length,F=0;F<D;F+=1)this.animationData.assets.push(B.assets[F]);this.animationData.__complete=!1,dataManager.completeAnimation(this.animationData,this.onSegmentComplete)},AnimationItem.prototype.onSegmentComplete=function(B){this.animationData=B;var R=getExpressionsPlugin();R&&R.initExpressions(this),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var B=this.animationData.segments;if(!B||B.length===0||!this.autoloadSegments){this.trigger("data_ready"),this.timeCompleted=this.totalFrames;return}var R=B.shift();this.timeCompleted=R.time*this.frameRate;var F=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,dataManager.loadData(F,this.includeLayers.bind(this),function(){this.trigger("data_failed")}.bind(this))},AnimationItem.prototype.loadSegments=function(){var B=this.animationData.segments;B||(this.timeCompleted=this.totalFrames),this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger("loaded_images"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(B){if(!!this.renderer)try{this.animationData=B,this.initialSegment?(this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0])):(this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip)),this.renderer.configAnimation(B),B.assets||(B.assets=[]),this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1e3,this.renderer.searchExtraCompositions(B.assets),this.markers=markerParser(B.markers||[]),this.trigger("config_ready"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused&&this.audioController.pause()}catch(R){this.triggerConfigError(R)}},AnimationItem.prototype.waitForFontsLoaded=function(){!this.renderer||(this.renderer.globalData.fontManager.isLoaded?this.checkLoaded():setTimeout(this.waitForFontsLoaded.bind(this),20))},AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||this.renderer.rendererType!=="canvas")&&this.imagePreloader.loadedFootages()){this.isLoaded=!0;var B=getExpressionsPlugin();B&&B.initExpressions(this),this.renderer.initItems(),setTimeout(function(){this.trigger("DOMLoaded")}.bind(this),0),this.gotoFrame(),this.autoplay&&this.play()}},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.setSubframe=function(B){this.isSubframeEnabled=!!B},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.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.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(B){this.triggerRenderFrameError(B)}},AnimationItem.prototype.play=function(B){B&&this.name!==B||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_pause"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(B){B&&this.name!==B||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_play"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(B){B&&this.name!==B||(this.isPaused===!0?this.play():this.pause())},AnimationItem.prototype.stop=function(B){B&&this.name!==B||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(B){for(var R,F=0;F<this.markers.length;F+=1)if(R=this.markers[F],R.payload&&R.payload.name===B)return R;return null},AnimationItem.prototype.goToAndStop=function(B,R,F){if(!(F&&this.name!==F)){var D=Number(B);if(isNaN(D)){var G=this.getMarkerData(B);G&&this.goToAndStop(G.time,!0)}else R?this.setCurrentRawFrameValue(B):this.setCurrentRawFrameValue(B*this.frameModifier);this.pause()}},AnimationItem.prototype.goToAndPlay=function(B,R,F){if(!(F&&this.name!==F)){var D=Number(B);if(isNaN(D)){var G=this.getMarkerData(B);G&&(G.duration?this.playSegments([G.time,G.time+G.duration],!0):this.goToAndStop(G.time,!0))}else this.goToAndStop(D,R,F);this.play()}},AnimationItem.prototype.advanceTime=function(B){if(!(this.isPaused===!0||this.isLoaded===!1)){var R=this.currentRawFrame+B*this.frameModifier,F=!1;R>=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(R>this.totalFrames?R%this.totalFrames:0)||(F=!0,R=this.totalFrames-1):R>=this.totalFrames?(this.playCount+=1,this.checkSegments(R%this.totalFrames)||(this.setCurrentRawFrameValue(R%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(R):R<0?this.checkSegments(R%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+R%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(F=!0,R=0)):this.setCurrentRawFrameValue(R),F&&(this.setCurrentRawFrameValue(R),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(B,R){this.playCount=0,B[1]<B[0]?(this.frameModifier>0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=B[0]-B[1],this.timeCompleted=this.totalFrames,this.firstFrame=B[1],this.setCurrentRawFrameValue(this.totalFrames-.001-R)):B[1]>B[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=B[1]-B[0],this.timeCompleted=this.totalFrames,this.firstFrame=B[0],this.setCurrentRawFrameValue(.001+R)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(B,R){var F=-1;this.isPaused&&(this.currentRawFrame+this.firstFrame<B?F=B:this.currentRawFrame+this.firstFrame>R&&(F=R-B)),this.firstFrame=B,this.totalFrames=R-B,this.timeCompleted=this.totalFrames,F!==-1&&this.goToAndStop(F,!0)},AnimationItem.prototype.playSegments=function(B,R){if(R&&(this.segments.length=0),_typeof$4(B[0])==="object"){var F,D=B.length;for(F=0;F<D;F+=1)this.segments.push(B[F])}else this.segments.push(B);this.segments.length&&R&&this.adjustSegment(this.segments.shift(),0),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(B){this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),B&&this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(B){return this.segments.length?(this.adjustSegment(this.segments.shift(),B),!0):!1},AnimationItem.prototype.destroy=function(B){B&&this.name!==B||!this.renderer||(this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger("destroy"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.renderer=null,this.imagePreloader=null,this.projectInterface=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(B){this.currentRawFrame=B,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(B){this.playSpeed=B,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(B){this.playDirection=B<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setVolume=function(B,R){R&&this.name!==R||this.audioController.setVolume(B)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(B){B&&this.name!==B||this.audioController.mute()},AnimationItem.prototype.unmute=function(B){B&&this.name!==B||this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(B){var R="";if(B.e)R=B.p;else if(this.assetsPath){var F=B.p;F.indexOf("images/")!==-1&&(F=F.split("/")[1]),R=this.assetsPath+F}else R=this.path,R+=B.u?B.u:"",R+=B.p;return R},AnimationItem.prototype.getAssetData=function(B){for(var R=0,F=this.assets.length;R<F;){if(B===this.assets[R].id)return this.assets[R];R+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(B){return B?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.updateDocumentData=function(B,R,F){try{var D=this.renderer.getElementByPath(B);D.updateDocumentData(R,F)}catch{}},AnimationItem.prototype.trigger=function(B){if(this._cbs&&this._cbs[B])switch(B){case"enterFrame":this.triggerEvent(B,new BMEnterFrameEvent(B,this.currentFrame,this.totalFrames,this.frameModifier));break;case"drawnFrame":this.drawnFrameEvent.currentTime=this.currentFrame,this.drawnFrameEvent.totalTime=this.totalFrames,this.drawnFrameEvent.direction=this.frameModifier,this.triggerEvent(B,this.drawnFrameEvent);break;case"loopComplete":this.triggerEvent(B,new BMCompleteLoopEvent(B,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(B,new BMCompleteEvent(B,this.frameMult));break;case"segmentStart":this.triggerEvent(B,new BMSegmentStartEvent(B,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(B,new BMDestroyEvent(B,this));break;default:this.triggerEvent(B)}B==="enterFrame"&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(B,this.currentFrame,this.totalFrames,this.frameMult)),B==="loopComplete"&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(B,this.loop,this.playCount,this.frameMult)),B==="complete"&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(B,this.frameMult)),B==="segmentStart"&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(B,this.firstFrame,this.totalFrames)),B==="destroy"&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(B,this))},AnimationItem.prototype.triggerRenderFrameError=function(B){var R=new BMRenderFrameErrorEvent(B,this.currentFrame);this.triggerEvent("error",R),this.onError&&this.onError.call(this,R)},AnimationItem.prototype.triggerConfigError=function(B){var R=new BMConfigErrorEvent(B,this.currentFrame);this.triggerEvent("error",R),this.onError&&this.onError.call(this,R)};var animationManager=function(){var B={},R=[],F=0,D=0,G=0,U=!0,W=!1;function q(Le){for(var we=0,Ae=Le.target;we<D;)R[we].animation===Ae&&(R.splice(we,1),we-=1,D-=1,Ae.isPaused||K()),we+=1}function Y(Le,we){if(!Le)return null;for(var Ae=0;Ae<D;){if(R[Ae].elem===Le&&R[Ae].elem!==null)return R[Ae].animation;Ae+=1}var Me=new AnimationItem;return J(Me,Le),Me.setData(Le,we),Me}function Q(){var Le,we=R.length,Ae=[];for(Le=0;Le<we;Le+=1)Ae.push(R[Le].animation);return Ae}function Z(){G+=1,Ee()}function K(){G-=1}function J(Le,we){Le.addEventListener("destroy",q),Le.addEventListener("_active",Z),Le.addEventListener("_idle",K),R.push({elem:we,animation:Le}),D+=1}function ie(Le){var we=new AnimationItem;return J(we,null),we.setParams(Le),we}function ne(Le,we){var Ae;for(Ae=0;Ae<D;Ae+=1)R[Ae].animation.setSpeed(Le,we)}function se(Le,we){var Ae;for(Ae=0;Ae<D;Ae+=1)R[Ae].animation.setDirection(Le,we)}function re(Le){var we;for(we=0;we<D;we+=1)R[we].animation.play(Le)}function ae(Le){var we=Le-F,Ae;for(Ae=0;Ae<D;Ae+=1)R[Ae].animation.advanceTime(we);F=Le,G&&!W?window.requestAnimationFrame(ae):U=!0}function le(Le){F=Le,window.requestAnimationFrame(ae)}function ce(Le){var we;for(we=0;we<D;we+=1)R[we].animation.pause(Le)}function he(Le,we,Ae){var Me;for(Me=0;Me<D;Me+=1)R[Me].animation.goToAndStop(Le,we,Ae)}function de(Le){var we;for(we=0;we<D;we+=1)R[we].animation.stop(Le)}function me(Le){var we;for(we=0;we<D;we+=1)R[we].animation.togglePause(Le)}function fe(Le){var we;for(we=D-1;we>=0;we-=1)R[we].animation.destroy(Le)}function ge(Le,we,Ae){var Me=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),ke,Ne=Me.length;for(ke=0;ke<Ne;ke+=1)Ae&&Me[ke].setAttribute("data-bm-type",Ae),Y(Me[ke],Le);if(we&&Ne===0){Ae||(Ae="svg");var Ie=document.getElementsByTagName("body")[0];Ie.innerText="";var Ge=createTag("div");Ge.style.width="100%",Ge.style.height="100%",Ge.setAttribute("data-bm-type",Ae),Ie.appendChild(Ge),Y(Ge,Le)}}function Se(){var Le;for(Le=0;Le<D;Le+=1)R[Le].animation.resize()}function Ee(){!W&&G&&U&&(window.requestAnimationFrame(le),U=!1)}function ve(){W=!0}function xe(){W=!1,Ee()}function Pe(Le,we){var Ae;for(Ae=0;Ae<D;Ae+=1)R[Ae].animation.setVolume(Le,we)}function ye(Le){var we;for(we=0;we<D;we+=1)R[we].animation.mute(Le)}function Te(Le){var we;for(we=0;we<D;we+=1)R[we].animation.unmute(Le)}return B.registerAnimation=Y,B.loadAnimation=ie,B.setSpeed=ne,B.setDirection=se,B.play=re,B.pause=ce,B.stop=de,B.togglePause=me,B.searchAnimations=ge,B.resize=Se,B.goToAndStop=he,B.destroy=fe,B.freeze=ve,B.unfreeze=xe,B.setVolume=Pe,B.mute=ye,B.unmute=Te,B.getRegisteredAnimations=Q,B}(),BezierFactory=function(){var B={};B.getBezierEasing=F;var R={};function F(le,ce,he,de,me){var fe=me||("bez_"+le+"_"+ce+"_"+he+"_"+de).replace(/\./g,"p");if(R[fe])return R[fe];var ge=new ae([le,ce,he,de]);return R[fe]=ge,ge}var D=4,G=.001,U=1e-7,W=10,q=11,Y=1/(q-1),Q=typeof Float32Array=="function";function Z(le,ce){return 1-3*ce+3*le}function K(le,ce){return 3*ce-6*le}function J(le){return 3*le}function ie(le,ce,he){return((Z(ce,he)*le+K(ce,he))*le+J(ce))*le}function ne(le,ce,he){return 3*Z(ce,he)*le*le+2*K(ce,he)*le+J(ce)}function se(le,ce,he,de,me){var fe,ge,Se=0;do ge=ce+(he-ce)/2,fe=ie(ge,de,me)-le,fe>0?he=ge:ce=ge;while(Math.abs(fe)>U&&++Se<W);return ge}function re(le,ce,he,de){for(var me=0;me<D;++me){var fe=ne(ce,he,de);if(fe===0)return ce;var ge=ie(ce,he,de)-le;ce-=ge/fe}return ce}function ae(le){this._p=le,this._mSampleValues=Q?new Float32Array(q):new Array(q),this._precomputed=!1,this.get=this.get.bind(this)}return ae.prototype={get:function(ce){var he=this._p[0],de=this._p[1],me=this._p[2],fe=this._p[3];return this._precomputed||this._precompute(),he===de&&me===fe?ce:ce===0?0:ce===1?1:ie(this._getTForX(ce),de,fe)},_precompute:function(){var ce=this._p[0],he=this._p[1],de=this._p[2],me=this._p[3];this._precomputed=!0,(ce!==he||de!==me)&&this._calcSampleValues()},_calcSampleValues:function(){for(var ce=this._p[0],he=this._p[2],de=0;de<q;++de)this._mSampleValues[de]=ie(de*Y,ce,he)},_getTForX:function(ce){for(var he=this._p[0],de=this._p[2],me=this._mSampleValues,fe=0,ge=1,Se=q-1;ge!==Se&&me[ge]<=ce;++ge)fe+=Y;--ge;var Ee=(ce-me[ge])/(me[ge+1]-me[ge]),ve=fe+Ee*Y,xe=ne(ve,he,de);return xe>=G?re(ce,ve,he,de):xe===0?ve:se(ce,fe,fe+Y,he,de)}},B}(),pooling=function(){function B(R){return R.concat(createSizedArray(R.length))}return{double:B}}(),poolFactory=function(){return function(B,R,F){var D=0,G=B,U=createSizedArray(G),W={newElement:q,release:Y};function q(){var Q;return D?(D-=1,Q=U[D]):Q=R(),Q}function Y(Q){D===G&&(U=pooling.double(U),G*=2),F&&F(Q),U[D]=Q,D+=1}return W}}(),bezierLengthPool=function(){function B(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,B)}(),segmentsLengthPool=function(){function B(){return{lengths:[],totalLength:0}}function R(F){var D,G=F.lengths.length;for(D=0;D<G;D+=1)bezierLengthPool.release(F.lengths[D]);F.lengths.length=0}return poolFactory(8,B,R)}();function bezFunction(){var B=Math;function R(J,ie,ne,se,re,ae){var le=J*se+ie*re+ne*ae-re*se-ae*J-ne*ie;return le>-.001&&le<.001}function F(J,ie,ne,se,re,ae,le,ce,he){if(ne===0&&ae===0&&he===0)return R(J,ie,se,re,le,ce);var de=B.sqrt(B.pow(se-J,2)+B.pow(re-ie,2)+B.pow(ae-ne,2)),me=B.sqrt(B.pow(le-J,2)+B.pow(ce-ie,2)+B.pow(he-ne,2)),fe=B.sqrt(B.pow(le-se,2)+B.pow(ce-re,2)+B.pow(he-ae,2)),ge;return de>me?de>fe?ge=de-me-fe:ge=fe-me-de:fe>me?ge=fe-me-de:ge=me-de-fe,ge>-1e-4&&ge<1e-4}var D=function(){return function(J,ie,ne,se){var re=getDefaultCurveSegments(),ae,le,ce,he,de,me=0,fe,ge=[],Se=[],Ee=bezierLengthPool.newElement();for(ce=ne.length,ae=0;ae<re;ae+=1){for(de=ae/(re-1),fe=0,le=0;le<ce;le+=1)he=bmPow(1-de,3)*J[le]+3*bmPow(1-de,2)*de*ne[le]+3*(1-de)*bmPow(de,2)*se[le]+bmPow(de,3)*ie[le],ge[le]=he,Se[le]!==null&&(fe+=bmPow(ge[le]-Se[le],2)),Se[le]=ge[le];fe&&(fe=bmSqrt(fe),me+=fe),Ee.percents[ae]=de,Ee.lengths[ae]=me}return Ee.addedLength=me,Ee}}();function G(J){var ie=segmentsLengthPool.newElement(),ne=J.c,se=J.v,re=J.o,ae=J.i,le,ce=J._length,he=ie.lengths,de=0;for(le=0;le<ce-1;le+=1)he[le]=D(se[le],se[le+1],re[le],ae[le+1]),de+=he[le].addedLength;return ne&&ce&&(he[le]=D(se[le],se[0],re[le],ae[0]),de+=he[le].addedLength),ie.totalLength=de,ie}function U(J){this.segmentLength=0,this.points=new Array(J)}function W(J,ie){this.partialLength=J,this.point=ie}var q=function(){var J={};return function(ie,ne,se,re){var ae=(ie[0]+"_"+ie[1]+"_"+ne[0]+"_"+ne[1]+"_"+se[0]+"_"+se[1]+"_"+re[0]+"_"+re[1]).replace(/\./g,"p");if(!J[ae]){var le=getDefaultCurveSegments(),ce,he,de,me,fe,ge=0,Se,Ee,ve=null;ie.length===2&&(ie[0]!==ne[0]||ie[1]!==ne[1])&&R(ie[0],ie[1],ne[0],ne[1],ie[0]+se[0],ie[1]+se[1])&&R(ie[0],ie[1],ne[0],ne[1],ne[0]+re[0],ne[1]+re[1])&&(le=2);var xe=new U(le);for(de=se.length,ce=0;ce<le;ce+=1){for(Ee=createSizedArray(de),fe=ce/(le-1),Se=0,he=0;he<de;he+=1)me=bmPow(1-fe,3)*ie[he]+3*bmPow(1-fe,2)*fe*(ie[he]+se[he])+3*(1-fe)*bmPow(fe,2)*(ne[he]+re[he])+bmPow(fe,3)*ne[he],Ee[he]=me,ve!==null&&(Se+=bmPow(Ee[he]-ve[he],2));Se=bmSqrt(Se),ge+=Se,xe.points[ce]=new W(Se,Ee),ve=Ee}xe.segmentLength=ge,J[ae]=xe}return J[ae]}}();function Y(J,ie){var ne=ie.percents,se=ie.lengths,re=ne.length,ae=bmFloor((re-1)*J),le=J*ie.addedLength,ce=0;if(ae===re-1||ae===0||le===se[ae])return ne[ae];for(var he=se[ae]>le?-1:1,de=!0;de;)if(se[ae]<=le&&se[ae+1]>le?(ce=(le-se[ae])/(se[ae+1]-se[ae]),de=!1):ae+=he,ae<0||ae>=re-1){if(ae===re-1)return ne[ae];de=!1}return ne[ae]+(ne[ae+1]-ne[ae])*ce}function Q(J,ie,ne,se,re,ae){var le=Y(re,ae),ce=1-le,he=B.round((ce*ce*ce*J[0]+(le*ce*ce+ce*le*ce+ce*ce*le)*ne[0]+(le*le*ce+ce*le*le+le*ce*le)*se[0]+le*le*le*ie[0])*1e3)/1e3,de=B.round((ce*ce*ce*J[1]+(le*ce*ce+ce*le*ce+ce*ce*le)*ne[1]+(le*le*ce+ce*le*le+le*ce*le)*se[1]+le*le*le*ie[1])*1e3)/1e3;return[he,de]}var Z=createTypedArray("float32",8);function K(J,ie,ne,se,re,ae,le){re<0?re=0:re>1&&(re=1);var ce=Y(re,le);ae=ae>1?1:ae;var he=Y(ae,le),de,me=J.length,fe=1-ce,ge=1-he,Se=fe*fe*fe,Ee=ce*fe*fe*3,ve=ce*ce*fe*3,xe=ce*ce*ce,Pe=fe*fe*ge,ye=ce*fe*ge+fe*ce*ge+fe*fe*he,Te=ce*ce*ge+fe*ce*he+ce*fe*he,Le=ce*ce*he,we=fe*ge*ge,Ae=ce*ge*ge+fe*he*ge+fe*ge*he,Me=ce*he*ge+fe*he*he+ce*ge*he,ke=ce*he*he,Ne=ge*ge*ge,Ie=he*ge*ge+ge*he*ge+ge*ge*he,Ge=he*he*ge+ge*he*he+he*ge*he,ze=he*he*he;for(de=0;de<me;de+=1)Z[de*4]=B.round((Se*J[de]+Ee*ne[de]+ve*se[de]+xe*ie[de])*1e3)/1e3,Z[de*4+1]=B.round((Pe*J[de]+ye*ne[de]+Te*se[de]+Le*ie[de])*1e3)/1e3,Z[de*4+2]=B.round((we*J[de]+Ae*ne[de]+Me*se[de]+ke*ie[de])*1e3)/1e3,Z[de*4+3]=B.round((Ne*J[de]+Ie*ne[de]+Ge*se[de]+ze*ie[de])*1e3)/1e3;return Z}return{getSegmentsLength:G,getNewSegment:K,getPointInSegment:Q,buildBezierData:q,pointOnLine2D:R,pointOnLine3D:F}}var bez=bezFunction(),PropertyFactory=function(){var B=initialDefaultFrame,R=Math.abs;function F(re,ae){var le=this.offsetTime,ce;this.propType==="multidimensional"&&(ce=createTypedArray("float32",this.pv.length));for(var he=ae.lastIndex,de=he,me=this.keyframes.length-1,fe=!0,ge,Se,Ee;fe;){if(ge=this.keyframes[de],Se=this.keyframes[de+1],de===me-1&&re>=Se.t-le){ge.h&&(ge=Se),he=0;break}if(Se.t-le>re){he=de;break}de<me-1?de+=1:(he=0,fe=!1)}Ee=this.keyframesMetadata[de]||{};var ve,xe,Pe,ye,Te,Le,we=Se.t-le,Ae=ge.t-le,Me;if(ge.to){Ee.bezierData||(Ee.bezierData=bez.buildBezierData(ge.s,Se.s||ge.e,ge.to,ge.ti));var ke=Ee.bezierData;if(re>=we||re<Ae){var Ne=re>=we?ke.points.length-1:0;for(xe=ke.points[Ne].point.length,ve=0;ve<xe;ve+=1)ce[ve]=ke.points[Ne].point[ve]}else{Ee.__fnct?Le=Ee.__fnct:(Le=BezierFactory.getBezierEasing(ge.o.x,ge.o.y,ge.i.x,ge.i.y,ge.n).get,Ee.__fnct=Le),Pe=Le((re-Ae)/(we-Ae));var Ie=ke.segmentLength*Pe,Ge,ze=ae.lastFrame<re&&ae._lastKeyframeIndex===de?ae._lastAddedLength:0;for(Te=ae.lastFrame<re&&ae._lastKeyframeIndex===de?ae._lastPoint:0,fe=!0,ye=ke.points.length;fe;){if(ze+=ke.points[Te].partialLength,Ie===0||Pe===0||Te===ke.points.length-1){for(xe=ke.points[Te].point.length,ve=0;ve<xe;ve+=1)ce[ve]=ke.points[Te].point[ve];break}else if(Ie>=ze&&Ie<ze+ke.points[Te+1].partialLength){for(Ge=(Ie-ze)/ke.points[Te+1].partialLength,xe=ke.points[Te].point.length,ve=0;ve<xe;ve+=1)ce[ve]=ke.points[Te].point[ve]+(ke.points[Te+1].point[ve]-ke.points[Te].point[ve])*Ge;break}Te<ye-1?Te+=1:fe=!1}ae._lastPoint=Te,ae._lastAddedLength=ze-ke.points[Te].partialLength,ae._lastKeyframeIndex=de}}else{var Ve,Ye,et,Je,st;if(me=ge.s.length,Me=Se.s||ge.e,this.sh&&ge.h!==1)if(re>=we)ce[0]=Me[0],ce[1]=Me[1],ce[2]=Me[2];else if(re<=Ae)ce[0]=ge.s[0],ce[1]=ge.s[1],ce[2]=ge.s[2];else{var pt=U(ge.s),dt=U(Me),yt=(re-Ae)/(we-Ae);G(ce,D(pt,dt,yt))}else for(de=0;de<me;de+=1)ge.h!==1&&(re>=we?Pe=1:re<Ae?Pe=0:(ge.o.x.constructor===Array?(Ee.__fnct||(Ee.__fnct=[]),Ee.__fnct[de]?Le=Ee.__fnct[de]:(Ve=ge.o.x[de]===void 0?ge.o.x[0]:ge.o.x[de],Ye=ge.o.y[de]===void 0?ge.o.y[0]:ge.o.y[de],et=ge.i.x[de]===void 0?ge.i.x[0]:ge.i.x[de],Je=ge.i.y[de]===void 0?ge.i.y[0]:ge.i.y[de],Le=BezierFactory.getBezierEasing(Ve,Ye,et,Je).get,Ee.__fnct[de]=Le)):Ee.__fnct?Le=Ee.__fnct:(Ve=ge.o.x,Ye=ge.o.y,et=ge.i.x,Je=ge.i.y,Le=BezierFactory.getBezierEasing(Ve,Ye,et,Je).get,ge.keyframeMetadata=Le),Pe=Le((re-Ae)/(we-Ae)))),Me=Se.s||ge.e,st=ge.h===1?ge.s[de]:ge.s[de]+(Me[de]-ge.s[de])*Pe,this.propType==="multidimensional"?ce[de]=st:ce=st}return ae.lastIndex=he,ce}function D(re,ae,le){var ce=[],he=re[0],de=re[1],me=re[2],fe=re[3],ge=ae[0],Se=ae[1],Ee=ae[2],ve=ae[3],xe,Pe,ye,Te,Le;return Pe=he*ge+de*Se+me*Ee+fe*ve,Pe<0&&(Pe=-Pe,ge=-ge,Se=-Se,Ee=-Ee,ve=-ve),1-Pe>1e-6?(xe=Math.acos(Pe),ye=Math.sin(xe),Te=Math.sin((1-le)*xe)/ye,Le=Math.sin(le*xe)/ye):(Te=1-le,Le=le),ce[0]=Te*he+Le*ge,ce[1]=Te*de+Le*Se,ce[2]=Te*me+Le*Ee,ce[3]=Te*fe+Le*ve,ce}function G(re,ae){var le=ae[0],ce=ae[1],he=ae[2],de=ae[3],me=Math.atan2(2*ce*de-2*le*he,1-2*ce*ce-2*he*he),fe=Math.asin(2*le*ce+2*he*de),ge=Math.atan2(2*le*de-2*ce*he,1-2*le*le-2*he*he);re[0]=me/degToRads,re[1]=fe/degToRads,re[2]=ge/degToRads}function U(re){var ae=re[0]*degToRads,le=re[1]*degToRads,ce=re[2]*degToRads,he=Math.cos(ae/2),de=Math.cos(le/2),me=Math.cos(ce/2),fe=Math.sin(ae/2),ge=Math.sin(le/2),Se=Math.sin(ce/2),Ee=he*de*me-fe*ge*Se,ve=fe*ge*me+he*de*Se,xe=fe*de*me+he*ge*Se,Pe=he*ge*me-fe*de*Se;return[ve,xe,Pe,Ee]}function W(){var re=this.comp.renderedFrame-this.offsetTime,ae=this.keyframes[0].t-this.offsetTime,le=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(re===this._caching.lastFrame||this._caching.lastFrame!==B&&(this._caching.lastFrame>=le&&re>=le||this._caching.lastFrame<ae&&re<ae))){this._caching.lastFrame>=re&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var ce=this.interpolateValue(re,this._caching);this.pv=ce}return this._caching.lastFrame=re,this.pv}function q(re){var ae;if(this.propType==="unidimensional")ae=re*this.mult,R(this.v-ae)>1e-5&&(this.v=ae,this._mdf=!0);else for(var le=0,ce=this.v.length;le<ce;)ae=re[le]*this.mult,R(this.v[le]-ae)>1e-5&&(this.v[le]=ae,this._mdf=!0),le+=1}function Y(){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 re,ae=this.effectsSequence.length,le=this.kf?this.pv:this.data.k;for(re=0;re<ae;re+=1)le=this.effectsSequence[re](le);this.setVValue(le),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}}function Q(re){this.effectsSequence.push(re),this.container.addDynamicProperty(this)}function Z(re,ae,le,ce){this.propType="unidimensional",this.mult=le||1,this.data=ae,this.v=le?ae.k*le:ae.k,this.pv=ae.k,this._mdf=!1,this.elem=re,this.container=ce,this.comp=re.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=Y,this.setVValue=q,this.addEffect=Q}function K(re,ae,le,ce){this.propType="multidimensional",this.mult=le||1,this.data=ae,this._mdf=!1,this.elem=re,this.container=ce,this.comp=re.comp,this.k=!1,this.kf=!1,this.frameId=-1;var he,de=ae.k.length;for(this.v=createTypedArray("float32",de),this.pv=createTypedArray("float32",de),this.vel=createTypedArray("float32",de),he=0;he<de;he+=1)this.v[he]=ae.k[he]*this.mult,this.pv[he]=ae.k[he];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=Y,this.setVValue=q,this.addEffect=Q}function J(re,ae,le,ce){this.propType="unidimensional",this.keyframes=ae.k,this.keyframesMetadata=[],this.offsetTime=re.data.st,this.frameId=-1,this._caching={lastFrame:B,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=ae,this.mult=le||1,this.elem=re,this.container=ce,this.comp=re.comp,this.v=B,this.pv=B,this._isFirstFrame=!0,this.getValue=Y,this.setVValue=q,this.interpolateValue=F,this.effectsSequence=[W.bind(this)],this.addEffect=Q}function ie(re,ae,le,ce){this.propType="multidimensional";var he,de=ae.k.length,me,fe,ge,Se;for(he=0;he<de-1;he+=1)ae.k[he].to&&ae.k[he].s&&ae.k[he+1]&&ae.k[he+1].s&&(me=ae.k[he].s,fe=ae.k[he+1].s,ge=ae.k[he].to,Se=ae.k[he].ti,(me.length===2&&!(me[0]===fe[0]&&me[1]===fe[1])&&bez.pointOnLine2D(me[0],me[1],fe[0],fe[1],me[0]+ge[0],me[1]+ge[1])&&bez.pointOnLine2D(me[0],me[1],fe[0],fe[1],fe[0]+Se[0],fe[1]+Se[1])||me.length===3&&!(me[0]===fe[0]&&me[1]===fe[1]&&me[2]===fe[2])&&bez.pointOnLine3D(me[0],me[1],me[2],fe[0],fe[1],fe[2],me[0]+ge[0],me[1]+ge[1],me[2]+ge[2])&&bez.pointOnLine3D(me[0],me[1],me[2],fe[0],fe[1],fe[2],fe[0]+Se[0],fe[1]+Se[1],fe[2]+Se[2]))&&(ae.k[he].to=null,ae.k[he].ti=null),me[0]===fe[0]&&me[1]===fe[1]&&ge[0]===0&&ge[1]===0&&Se[0]===0&&Se[1]===0&&(me.length===2||me[2]===fe[2]&&ge[2]===0&&Se[2]===0)&&(ae.k[he].to=null,ae.k[he].ti=null));this.effectsSequence=[W.bind(this)],this.data=ae,this.keyframes=ae.k,this.keyframesMetadata=[],this.offsetTime=re.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=le||1,this.elem=re,this.container=ce,this.comp=re.comp,this.getValue=Y,this.setVValue=q,this.interpolateValue=F,this.frameId=-1;var Ee=ae.k[0].s.length;for(this.v=createTypedArray("float32",Ee),this.pv=createTypedArray("float32",Ee),he=0;he<Ee;he+=1)this.v[he]=B,this.pv[he]=B;this._caching={lastFrame:B,lastIndex:0,value:createTypedArray("float32",Ee)},this.addEffect=Q}function ne(re,ae,le,ce,he){var de;if(!ae.k.length)de=new Z(re,ae,ce,he);else if(typeof ae.k[0]=="number")de=new K(re,ae,ce,he);else switch(le){case 0:de=new J(re,ae,ce,he);break;case 1:de=new ie(re,ae,ce,he);break}return de.effectsSequence.length&&he.addDynamicProperty(de),de}var se={getProp:ne};return se}();function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function(R){this.dynamicProperties.indexOf(R)===-1&&(this.dynamicProperties.push(R),this.container.addDynamicProperty(this),this._isAnimated=!0)},iterateDynamicProperties:function(){this._mdf=!1;var R,F=this.dynamicProperties.length;for(R=0;R<F;R+=1)this.dynamicProperties[R].getValue(),this.dynamicProperties[R]._mdf&&(this._mdf=!0)},initDynamicPropertyContainer:function(R){this.container=R,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var pointPool=function(){function B(){return createTypedArray("float32",2)}return poolFactory(8,B)}();function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(B,R){this.c=B,this.setLength(R);for(var F=0;F<R;)this.v[F]=pointPool.newElement(),this.o[F]=pointPool.newElement(),this.i[F]=pointPool.newElement(),F+=1},ShapePath.prototype.setLength=function(B){for(;this._maxLength<B;)this.doubleArrayLength();this._length=B},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(B,R,F,D,G){var U;switch(this._length=Math.max(this._length,D+1),this._length>=this._maxLength&&this.doubleArrayLength(),F){case"v":U=this.v;break;case"i":U=this.i;break;case"o":U=this.o;break;default:U=[];break}(!U[D]||U[D]&&!G)&&(U[D]=pointPool.newElement()),U[D][0]=B,U[D][1]=R},ShapePath.prototype.setTripleAt=function(B,R,F,D,G,U,W,q){this.setXYAt(B,R,"v",W,q),this.setXYAt(F,D,"o",W,q),this.setXYAt(G,U,"i",W,q)},ShapePath.prototype.reverse=function(){var B=new ShapePath;B.setPathData(this.c,this._length);var R=this.v,F=this.o,D=this.i,G=0;this.c&&(B.setTripleAt(R[0][0],R[0][1],D[0][0],D[0][1],F[0][0],F[0][1],0,!1),G=1);var U=this._length-1,W=this._length,q;for(q=G;q<W;q+=1)B.setTripleAt(R[U][0],R[U][1],D[U][0],D[U][1],F[U][0],F[U][1],q,!1),U-=1;return B};var shapePool=function(){function B(){return new ShapePath}function R(G){var U=G._length,W;for(W=0;W<U;W+=1)pointPool.release(G.v[W]),pointPool.release(G.i[W]),pointPool.release(G.o[W]),G.v[W]=null,G.i[W]=null,G.o[W]=null;G._length=0,G.c=!1}function F(G){var U=D.newElement(),W,q=G._length===void 0?G.v.length:G._length;for(U.setLength(q),U.c=G.c,W=0;W<q;W+=1)U.setTripleAt(G.v[W][0],G.v[W][1],G.o[W][0],G.o[W][1],G.i[W][0],G.i[W][1],W);return U}var D=poolFactory(4,B,R);return D.clone=F,D}();function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}ShapeCollection.prototype.addShape=function(B){this._length===this._maxLength&&(this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2),this.shapes[this._length]=B,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var B;for(B=0;B<this._length;B+=1)shapePool.release(this.shapes[B]);this._length=0};var shapeCollectionPool=function(){var B={newShapeCollection:G,release:U},R=0,F=4,D=createSizedArray(F);function G(){var W;return R?(R-=1,W=D[R]):W=new ShapeCollection,W}function U(W){var q,Y=W._length;for(q=0;q<Y;q+=1)shapePool.release(W.shapes[q]);W._length=0,R===F&&(D=pooling.double(D),F*=2),D[R]=W,R+=1}return B}(),ShapePropertyFactory=function(){var B=-999999;function R(ae,le,ce){var he=ce.lastIndex,de,me,fe,ge,Se,Ee,ve,xe,Pe,ye=this.keyframes;if(ae<ye[0].t-this.offsetTime)de=ye[0].s[0],fe=!0,he=0;else if(ae>=ye[ye.length-1].t-this.offsetTime)de=ye[ye.length-1].s?ye[ye.length-1].s[0]:ye[ye.length-2].e[0],fe=!0;else{for(var Te=he,Le=ye.length-1,we=!0,Ae,Me,ke;we&&(Ae=ye[Te],Me=ye[Te+1],!(Me.t-this.offsetTime>ae));)Te<Le-1?Te+=1:we=!1;if(ke=this.keyframesMetadata[Te]||{},fe=Ae.h===1,he=Te,!fe){if(ae>=Me.t-this.offsetTime)xe=1;else if(ae<Ae.t-this.offsetTime)xe=0;else{var Ne;ke.__fnct?Ne=ke.__fnct:(Ne=BezierFactory.getBezierEasing(Ae.o.x,Ae.o.y,Ae.i.x,Ae.i.y).get,ke.__fnct=Ne),xe=Ne((ae-(Ae.t-this.offsetTime))/(Me.t-this.offsetTime-(Ae.t-this.offsetTime)))}me=Me.s?Me.s[0]:Ae.e[0]}de=Ae.s[0]}for(Ee=le._length,ve=de.i[0].length,ce.lastIndex=he,ge=0;ge<Ee;ge+=1)for(Se=0;Se<ve;Se+=1)Pe=fe?de.i[ge][Se]:de.i[ge][Se]+(me.i[ge][Se]-de.i[ge][Se])*xe,le.i[ge][Se]=Pe,Pe=fe?de.o[ge][Se]:de.o[ge][Se]+(me.o[ge][Se]-de.o[ge][Se])*xe,le.o[ge][Se]=Pe,Pe=fe?de.v[ge][Se]:de.v[ge][Se]+(me.v[ge][Se]-de.v[ge][Se])*xe,le.v[ge][Se]=Pe}function F(){var ae=this.comp.renderedFrame-this.offsetTime,le=this.keyframes[0].t-this.offsetTime,ce=this.keyframes[this.keyframes.length-1].t-this.offsetTime,he=this._caching.lastFrame;return he!==B&&(he<le&&ae<le||he>ce&&ae>ce)||(this._caching.lastIndex=he<ae?this._caching.lastIndex:0,this.interpolateShape(ae,this.pv,this._caching)),this._caching.lastFrame=ae,this.pv}function D(){this.paths=this.localShapeCollection}function G(ae,le){if(ae._length!==le._length||ae.c!==le.c)return!1;var ce,he=ae._length;for(ce=0;ce<he;ce+=1)if(ae.v[ce][0]!==le.v[ce][0]||ae.v[ce][1]!==le.v[ce][1]||ae.o[ce][0]!==le.o[ce][0]||ae.o[ce][1]!==le.o[ce][1]||ae.i[ce][0]!==le.i[ce][0]||ae.i[ce][1]!==le.i[ce][1])return!1;return!0}function U(ae){G(this.v,ae)||(this.v=shapePool.clone(ae),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection)}function W(){if(this.elem.globalData.frameId!==this.frameId){if(!this.effectsSequence.length){this._mdf=!1;return}if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=!1;var ae;this.kf?ae=this.pv:this.data.ks?ae=this.data.ks.k:ae=this.data.pt.k;var le,ce=this.effectsSequence.length;for(le=0;le<ce;le+=1)ae=this.effectsSequence[le](ae);this.setVValue(ae),this.lock=!1,this.frameId=this.elem.globalData.frameId}}function q(ae,le,ce){this.propType="shape",this.comp=ae.comp,this.container=ae,this.elem=ae,this.data=le,this.k=!1,this.kf=!1,this._mdf=!1;var he=ce===3?le.pt.k:le.ks.k;this.v=shapePool.clone(he),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=D,this.effectsSequence=[]}function Y(ae){this.effectsSequence.push(ae),this.container.addDynamicProperty(this)}q.prototype.interpolateShape=R,q.prototype.getValue=W,q.prototype.setVValue=U,q.prototype.addEffect=Y;function Q(ae,le,ce){this.propType="shape",this.comp=ae.comp,this.elem=ae,this.container=ae,this.offsetTime=ae.data.st,this.keyframes=ce===3?le.pt.k:le.ks.k,this.keyframesMetadata=[],this.k=!0,this.kf=!0;var he=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,he),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=B,this.reset=D,this._caching={lastFrame:B,lastIndex:0},this.effectsSequence=[F.bind(this)]}Q.prototype.getValue=W,Q.prototype.interpolateShape=R,Q.prototype.setVValue=U,Q.prototype.addEffect=Y;var Z=function(){var ae=roundCorner;function le(ce,he){this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=he.d,this.elem=ce,this.comp=ce.comp,this.frameId=-1,this.initDynamicPropertyContainer(ce),this.p=PropertyFactory.getProp(ce,he.p,1,0,this),this.s=PropertyFactory.getProp(ce,he.s,1,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertEllToPath())}return le.prototype={reset:D,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertEllToPath())},convertEllToPath:function(){var he=this.p.v[0],de=this.p.v[1],me=this.s.v[0]/2,fe=this.s.v[1]/2,ge=this.d!==3,Se=this.v;Se.v[0][0]=he,Se.v[0][1]=de-fe,Se.v[1][0]=ge?he+me:he-me,Se.v[1][1]=de,Se.v[2][0]=he,Se.v[2][1]=de+fe,Se.v[3][0]=ge?he-me:he+me,Se.v[3][1]=de,Se.i[0][0]=ge?he-me*ae:he+me*ae,Se.i[0][1]=de-fe,Se.i[1][0]=ge?he+me:he-me,Se.i[1][1]=de-fe*ae,Se.i[2][0]=ge?he+me*ae:he-me*ae,Se.i[2][1]=de+fe,Se.i[3][0]=ge?he-me:he+me,Se.i[3][1]=de+fe*ae,Se.o[0][0]=ge?he+me*ae:he-me*ae,Se.o[0][1]=de-fe,Se.o[1][0]=ge?he+me:he-me,Se.o[1][1]=de+fe*ae,Se.o[2][0]=ge?he-me*ae:he+me*ae,Se.o[2][1]=de+fe,Se.o[3][0]=ge?he-me:he+me,Se.o[3][1]=de-fe*ae}},extendPrototype([DynamicPropertyContainer],le),le}(),K=function(){function ae(le,ce){this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=le,this.comp=le.comp,this.data=ce,this.frameId=-1,this.d=ce.d,this.initDynamicPropertyContainer(le),ce.sy===1?(this.ir=PropertyFactory.getProp(le,ce.ir,0,0,this),this.is=PropertyFactory.getProp(le,ce.is,0,.01,this),this.convertToPath=this.convertStarToPath):this.convertToPath=this.convertPolygonToPath,this.pt=PropertyFactory.getProp(le,ce.pt,0,0,this),this.p=PropertyFactory.getProp(le,ce.p,1,0,this),this.r=PropertyFactory.getProp(le,ce.r,0,degToRads,this),this.or=PropertyFactory.getProp(le,ce.or,0,0,this),this.os=PropertyFactory.getProp(le,ce.os,0,.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertToPath())}return ae.prototype={reset:D,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertToPath())},convertStarToPath:function(){var ce=Math.floor(this.pt.v)*2,he=Math.PI*2/ce,de=!0,me=this.or.v,fe=this.ir.v,ge=this.os.v,Se=this.is.v,Ee=2*Math.PI*me/(ce*2),ve=2*Math.PI*fe/(ce*2),xe,Pe,ye,Te,Le=-Math.PI/2;Le+=this.r.v;var we=this.data.d===3?-1:1;for(this.v._length=0,xe=0;xe<ce;xe+=1){Pe=de?me:fe,ye=de?ge:Se,Te=de?Ee:ve;var Ae=Pe*Math.cos(Le),Me=Pe*Math.sin(Le),ke=Ae===0&&Me===0?0:Me/Math.sqrt(Ae*Ae+Me*Me),Ne=Ae===0&&Me===0?0:-Ae/Math.sqrt(Ae*Ae+Me*Me);Ae+=+this.p.v[0],Me+=+this.p.v[1],this.v.setTripleAt(Ae,Me,Ae-ke*Te*ye*we,Me-Ne*Te*ye*we,Ae+ke*Te*ye*we,Me+Ne*Te*ye*we,xe,!0),de=!de,Le+=he*we}},convertPolygonToPath:function(){var ce=Math.floor(this.pt.v),he=Math.PI*2/ce,de=this.or.v,me=this.os.v,fe=2*Math.PI*de/(ce*4),ge,Se=-Math.PI*.5,Ee=this.data.d===3?-1:1;for(Se+=this.r.v,this.v._length=0,ge=0;ge<ce;ge+=1){var ve=de*Math.cos(Se),xe=de*Math.sin(Se),Pe=ve===0&&xe===0?0:xe/Math.sqrt(ve*ve+xe*xe),ye=ve===0&&xe===0?0:-ve/Math.sqrt(ve*ve+xe*xe);ve+=+this.p.v[0],xe+=+this.p.v[1],this.v.setTripleAt(ve,xe,ve-Pe*fe*me*Ee,xe-ye*fe*me*Ee,ve+Pe*fe*me*Ee,xe+ye*fe*me*Ee,ge,!0),Se+=he*Ee}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],ae),ae}(),J=function(){function ae(le,ce){this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=le,this.comp=le.comp,this.frameId=-1,this.d=ce.d,this.initDynamicPropertyContainer(le),this.p=PropertyFactory.getProp(le,ce.p,1,0,this),this.s=PropertyFactory.getProp(le,ce.s,1,0,this),this.r=PropertyFactory.getProp(le,ce.r,0,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertRectToPath())}return ae.prototype={convertRectToPath:function(){var ce=this.p.v[0],he=this.p.v[1],de=this.s.v[0]/2,me=this.s.v[1]/2,fe=bmMin(de,me,this.r.v),ge=fe*(1-roundCorner);this.v._length=0,this.d===2||this.d===1?(this.v.setTripleAt(ce+de,he-me+fe,ce+de,he-me+fe,ce+de,he-me+ge,0,!0),this.v.setTripleAt(ce+de,he+me-fe,ce+de,he+me-ge,ce+de,he+me-fe,1,!0),fe!==0?(this.v.setTripleAt(ce+de-fe,he+me,ce+de-fe,he+me,ce+de-ge,he+me,2,!0),this.v.setTripleAt(ce-de+fe,he+me,ce-de+ge,he+me,ce-de+fe,he+me,3,!0),this.v.setTripleAt(ce-de,he+me-fe,ce-de,he+me-fe,ce-de,he+me-ge,4,!0),this.v.setTripleAt(ce-de,he-me+fe,ce-de,he-me+ge,ce-de,he-me+fe,5,!0),this.v.setTripleAt(ce-de+fe,he-me,ce-de+fe,he-me,ce-de+ge,he-me,6,!0),this.v.setTripleAt(ce+de-fe,he-me,ce+de-ge,he-me,ce+de-fe,he-me,7,!0)):(this.v.setTripleAt(ce-de,he+me,ce-de+ge,he+me,ce-de,he+me,2),this.v.setTripleAt(ce-de,he-me,ce-de,he-me+ge,ce-de,he-me,3))):(this.v.setTripleAt(ce+de,he-me+fe,ce+de,he-me+ge,ce+de,he-me+fe,0,!0),fe!==0?(this.v.setTripleAt(ce+de-fe,he-me,ce+de-fe,he-me,ce+de-ge,he-me,1,!0),this.v.setTripleAt(ce-de+fe,he-me,ce-de+ge,he-me,ce-de+fe,he-me,2,!0),this.v.setTripleAt(ce-de,he-me+fe,ce-de,he-me+fe,ce-de,he-me+ge,3,!0),this.v.setTripleAt(ce-de,he+me-fe,ce-de,he+me-ge,ce-de,he+me-fe,4,!0),this.v.setTripleAt(ce-de+fe,he+me,ce-de+fe,he+me,ce-de+ge,he+me,5,!0),this.v.setTripleAt(ce+de-fe,he+me,ce+de-ge,he+me,ce+de-fe,he+me,6,!0),this.v.setTripleAt(ce+de,he+me-fe,ce+de,he+me-fe,ce+de,he+me-ge,7,!0)):(this.v.setTripleAt(ce-de,he-me,ce-de+ge,he-me,ce-de,he-me,1,!0),this.v.setTripleAt(ce-de,he+me,ce-de,he+me-ge,ce-de,he+me,2,!0),this.v.setTripleAt(ce+de,he+me,ce+de-ge,he+me,ce+de,he+me,3,!0)))},getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertRectToPath())},reset:D},extendPrototype([DynamicPropertyContainer],ae),ae}();function ie(ae,le,ce){var he;if(ce===3||ce===4){var de=ce===3?le.pt:le.ks,me=de.k;me.length?he=new Q(ae,le,ce):he=new q(ae,le,ce)}else ce===5?he=new J(ae,le):ce===6?he=new Z(ae,le):ce===7&&(he=new K(ae,le));return he.k&&ae.addDynamicProperty(he),he}function ne(){return q}function se(){return Q}var re={};return re.getShapeProp=ie,re.getConstructorFunction=ne,re.getKeyframedConstructorFunction=se,re}();/*!
- Transformation Matrix v2.0
- (c) Epistemex 2014-2015
- www.epistemex.com
- By Ken Fyrstenberg
- Contributions by leeoniya.
- License: MIT, header required.
- */var Matrix=function(){var B=Math.cos,R=Math.sin,F=Math.tan,D=Math.round;function G(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function U(we){if(we===0)return this;var Ae=B(we),Me=R(we);return this._t(Ae,-Me,0,0,Me,Ae,0,0,0,0,1,0,0,0,0,1)}function W(we){if(we===0)return this;var Ae=B(we),Me=R(we);return this._t(1,0,0,0,0,Ae,-Me,0,0,Me,Ae,0,0,0,0,1)}function q(we){if(we===0)return this;var Ae=B(we),Me=R(we);return this._t(Ae,0,Me,0,0,1,0,0,-Me,0,Ae,0,0,0,0,1)}function Y(we){if(we===0)return this;var Ae=B(we),Me=R(we);return this._t(Ae,-Me,0,0,Me,Ae,0,0,0,0,1,0,0,0,0,1)}function Q(we,Ae){return this._t(1,Ae,we,1,0,0)}function Z(we,Ae){return this.shear(F(we),F(Ae))}function K(we,Ae){var Me=B(Ae),ke=R(Ae);return this._t(Me,ke,0,0,-ke,Me,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,F(we),1,0,0,0,0,1,0,0,0,0,1)._t(Me,-ke,0,0,ke,Me,0,0,0,0,1,0,0,0,0,1)}function J(we,Ae,Me){return!Me&&Me!==0&&(Me=1),we===1&&Ae===1&&Me===1?this:this._t(we,0,0,0,0,Ae,0,0,0,0,Me,0,0,0,0,1)}function ie(we,Ae,Me,ke,Ne,Ie,Ge,ze,Ve,Ye,et,Je,st,pt,dt,yt){return this.props[0]=we,this.props[1]=Ae,this.props[2]=Me,this.props[3]=ke,this.props[4]=Ne,this.props[5]=Ie,this.props[6]=Ge,this.props[7]=ze,this.props[8]=Ve,this.props[9]=Ye,this.props[10]=et,this.props[11]=Je,this.props[12]=st,this.props[13]=pt,this.props[14]=dt,this.props[15]=yt,this}function ne(we,Ae,Me){return Me=Me||0,we!==0||Ae!==0||Me!==0?this._t(1,0,0,0,0,1,0,0,0,0,1,0,we,Ae,Me,1):this}function se(we,Ae,Me,ke,Ne,Ie,Ge,ze,Ve,Ye,et,Je,st,pt,dt,yt){var Fe=this.props;if(we===1&&Ae===0&&Me===0&&ke===0&&Ne===0&&Ie===1&&Ge===0&&ze===0&&Ve===0&&Ye===0&&et===1&&Je===0)return Fe[12]=Fe[12]*we+Fe[15]*st,Fe[13]=Fe[13]*Ie+Fe[15]*pt,Fe[14]=Fe[14]*et+Fe[15]*dt,Fe[15]*=yt,this._identityCalculated=!1,this;var _e=Fe[0],je=Fe[1],Ze=Fe[2],De=Fe[3],Oe=Fe[4],Xe=Fe[5],tt=Fe[6],nt=Fe[7],Ke=Fe[8],ct=Fe[9],ut=Fe[10],ht=Fe[11],vt=Fe[12],xt=Fe[13],gt=Fe[14],Pt=Fe[15];return Fe[0]=_e*we+je*Ne+Ze*Ve+De*st,Fe[1]=_e*Ae+je*Ie+Ze*Ye+De*pt,Fe[2]=_e*Me+je*Ge+Ze*et+De*dt,Fe[3]=_e*ke+je*ze+Ze*Je+De*yt,Fe[4]=Oe*we+Xe*Ne+tt*Ve+nt*st,Fe[5]=Oe*Ae+Xe*Ie+tt*Ye+nt*pt,Fe[6]=Oe*Me+Xe*Ge+tt*et+nt*dt,Fe[7]=Oe*ke+Xe*ze+tt*Je+nt*yt,Fe[8]=Ke*we+ct*Ne+ut*Ve+ht*st,Fe[9]=Ke*Ae+ct*Ie+ut*Ye+ht*pt,Fe[10]=Ke*Me+ct*Ge+ut*et+ht*dt,Fe[11]=Ke*ke+ct*ze+ut*Je+ht*yt,Fe[12]=vt*we+xt*Ne+gt*Ve+Pt*st,Fe[13]=vt*Ae+xt*Ie+gt*Ye+Pt*pt,Fe[14]=vt*Me+xt*Ge+gt*et+Pt*dt,Fe[15]=vt*ke+xt*ze+gt*Je+Pt*yt,this._identityCalculated=!1,this}function re(){return this._identityCalculated||(this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1),this._identityCalculated=!0),this._identity}function ae(we){for(var Ae=0;Ae<16;){if(we.props[Ae]!==this.props[Ae])return!1;Ae+=1}return!0}function le(we){var Ae;for(Ae=0;Ae<16;Ae+=1)we.props[Ae]=this.props[Ae];return we}function ce(we){var Ae;for(Ae=0;Ae<16;Ae+=1)this.props[Ae]=we[Ae]}function he(we,Ae,Me){return{x:we*this.props[0]+Ae*this.props[4]+Me*this.props[8]+this.props[12],y:we*this.props[1]+Ae*this.props[5]+Me*this.props[9]+this.props[13],z:we*this.props[2]+Ae*this.props[6]+Me*this.props[10]+this.props[14]}}function de(we,Ae,Me){return we*this.props[0]+Ae*this.props[4]+Me*this.props[8]+this.props[12]}function me(we,Ae,Me){return we*this.props[1]+Ae*this.props[5]+Me*this.props[9]+this.props[13]}function fe(we,Ae,Me){return we*this.props[2]+Ae*this.props[6]+Me*this.props[10]+this.props[14]}function ge(){var we=this.props[0]*this.props[5]-this.props[1]*this.props[4],Ae=this.props[5]/we,Me=-this.props[1]/we,ke=-this.props[4]/we,Ne=this.props[0]/we,Ie=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/we,Ge=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/we,ze=new Matrix;return ze.props[0]=Ae,ze.props[1]=Me,ze.props[4]=ke,ze.props[5]=Ne,ze.props[12]=Ie,ze.props[13]=Ge,ze}function Se(we){var Ae=this.getInverseMatrix();return Ae.applyToPointArray(we[0],we[1],we[2]||0)}function Ee(we){var Ae,Me=we.length,ke=[];for(Ae=0;Ae<Me;Ae+=1)ke[Ae]=Se(we[Ae]);return ke}function ve(we,Ae,Me){var ke=createTypedArray("float32",6);if(this.isIdentity())ke[0]=we[0],ke[1]=we[1],ke[2]=Ae[0],ke[3]=Ae[1],ke[4]=Me[0],ke[5]=Me[1];else{var Ne=this.props[0],Ie=this.props[1],Ge=this.props[4],ze=this.props[5],Ve=this.props[12],Ye=this.props[13];ke[0]=we[0]*Ne+we[1]*Ge+Ve,ke[1]=we[0]*Ie+we[1]*ze+Ye,ke[2]=Ae[0]*Ne+Ae[1]*Ge+Ve,ke[3]=Ae[0]*Ie+Ae[1]*ze+Ye,ke[4]=Me[0]*Ne+Me[1]*Ge+Ve,ke[5]=Me[0]*Ie+Me[1]*ze+Ye}return ke}function xe(we,Ae,Me){var ke;return this.isIdentity()?ke=[we,Ae,Me]:ke=[we*this.props[0]+Ae*this.props[4]+Me*this.props[8]+this.props[12],we*this.props[1]+Ae*this.props[5]+Me*this.props[9]+this.props[13],we*this.props[2]+Ae*this.props[6]+Me*this.props[10]+this.props[14]],ke}function Pe(we,Ae){if(this.isIdentity())return we+","+Ae;var Me=this.props;return Math.round((we*Me[0]+Ae*Me[4]+Me[12])*100)/100+","+Math.round((we*Me[1]+Ae*Me[5]+Me[13])*100)/100}function ye(){for(var we=0,Ae=this.props,Me="matrix3d(",ke=1e4;we<16;)Me+=D(Ae[we]*ke)/ke,Me+=we===15?")":",",we+=1;return Me}function Te(we){var Ae=1e4;return we<1e-6&&we>0||we>-1e-6&&we<0?D(we*Ae)/Ae:we}function Le(){var we=this.props,Ae=Te(we[0]),Me=Te(we[1]),ke=Te(we[4]),Ne=Te(we[5]),Ie=Te(we[12]),Ge=Te(we[13]);return"matrix("+Ae+","+Me+","+ke+","+Ne+","+Ie+","+Ge+")"}return function(){this.reset=G,this.rotate=U,this.rotateX=W,this.rotateY=q,this.rotateZ=Y,this.skew=Z,this.skewFromAxis=K,this.shear=Q,this.scale=J,this.setTransform=ie,this.translate=ne,this.transform=se,this.applyToPoint=he,this.applyToX=de,this.applyToY=me,this.applyToZ=fe,this.applyToPointArray=xe,this.applyToTriplePoints=ve,this.applyToPointStringified=Pe,this.toCSS=ye,this.to2dCSS=Le,this.clone=le,this.cloneFromProps=ce,this.equals=ae,this.inversePoints=Ee,this.inversePoint=Se,this.getInverseMatrix=ge,this._t=this.transform,this.isIdentity=re,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(B){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(F){return typeof F}:_typeof$3=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},_typeof$3(B)}var lottie={};function setLocation(B){setLocationHref(B)}function searchAnimations(){animationManager.searchAnimations()}function setSubframeRendering(B){setSubframeEnabled(B)}function setPrefix(B){setIdPrefix(B)}function loadAnimation(B){return animationManager.loadAnimation(B)}function setQuality(B){if(typeof B=="string")switch(B){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else!isNaN(B)&&B>1&&setDefaultCurveSegments(B)}function inBrowser(){return typeof navigator!="undefined"}function installPlugin(B,R){B==="expressions"&&setExpressionsPlugin(R)}function getFactory(B){switch(B){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.9.6";function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(B){for(var R=queryString.split("&"),F=0;F<R.length;F+=1){var D=R[F].split("=");if(decodeURIComponent(D[0])==B)return decodeURIComponent(D[1])}return null}var queryString="";{var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,""):"",getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100);try{_typeof$3(exports)!=="object"&&(window.bodymovin=lottie)}catch(B){}var ShapeModifiers=function(){var B={},R={};B.registerModifier=F,B.getModifier=D;function F(G,U){R[G]||(R[G]=U)}function D(G,U,W){return new R[G](U,W)}return B}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(B){if(!this.closed){B.sh.container.addDynamicProperty(B.sh);var R={shape:B.sh,data:B,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(R),this.addShapeToModifier(R),this._isAnimated&&B.setAsAnimated()}},ShapeModifier.prototype.init=function(B,R){this.shapes=[],this.elem=B,this.initDynamicPropertyContainer(B),this.initModifierProperties(B,R),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties())},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(B,R){this.s=PropertyFactory.getProp(B,R.s,0,.01,this),this.e=PropertyFactory.getProp(B,R.e,0,.01,this),this.o=PropertyFactory.getProp(B,R.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=R.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(B){B.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(B,R,F,D,G){var U=[];R<=1?U.push({s:B,e:R}):B>=1?U.push({s:B-1,e:R-1}):(U.push({s:B,e:1}),U.push({s:0,e:R-1}));var W=[],q,Y=U.length,Q;for(q=0;q<Y;q+=1)if(Q=U[q],!(Q.e*G<D||Q.s*G>D+F)){var Z,K;Q.s*G<=D?Z=0:Z=(Q.s*G-D)/F,Q.e*G>=D+F?K=1:K=(Q.e*G-D)/F,W.push([Z,K])}return W.length||W.push([0,0]),W},TrimModifier.prototype.releasePathsData=function(B){var R,F=B.length;for(R=0;R<F;R+=1)segmentsLengthPool.release(B[R]);return B.length=0,B},TrimModifier.prototype.processShapes=function(B){var R,F;if(this._mdf||B){var D=this.o.v%360/360;if(D<0&&(D+=1),this.s.v>1?R=1+D:this.s.v<0?R=0+D:R=this.s.v+D,this.e.v>1?F=1+D:this.e.v<0?F=0+D:F=this.e.v+D,R>F){var G=R;R=F,F=G}R=Math.round(R*1e4)*1e-4,F=Math.round(F*1e4)*1e-4,this.sValue=R,this.eValue=F}else R=this.sValue,F=this.eValue;var U,W,q=this.shapes.length,Y,Q,Z,K,J,ie=0;if(F===R)for(W=0;W<q;W+=1)this.shapes[W].localShapeCollection.releaseShapes(),this.shapes[W].shape._mdf=!0,this.shapes[W].shape.paths=this.shapes[W].localShapeCollection,this._mdf&&(this.shapes[W].pathsData.length=0);else if(F===1&&R===0||F===0&&R===1){if(this._mdf)for(W=0;W<q;W+=1)this.shapes[W].pathsData.length=0,this.shapes[W].shape._mdf=!0}else{var ne=[],se,re;for(W=0;W<q;W+=1)if(se=this.shapes[W],!se.shape._mdf&&!this._mdf&&!B&&this.m!==2)se.shape.paths=se.localShapeCollection;else{if(U=se.shape.paths,Q=U._length,J=0,!se.shape._mdf&&se.pathsData.length)J=se.totalShapeLength;else{for(Z=this.releasePathsData(se.pathsData),Y=0;Y<Q;Y+=1)K=bez.getSegmentsLength(U.shapes[Y]),Z.push(K),J+=K.totalLength;se.totalShapeLength=J,se.pathsData=Z}ie+=J,se.shape._mdf=!0}var ae=R,le=F,ce=0,he;for(W=q-1;W>=0;W-=1)if(se=this.shapes[W],se.shape._mdf){for(re=se.localShapeCollection,re.releaseShapes(),this.m===2&&q>1?(he=this.calculateShapeEdges(R,F,se.totalShapeLength,ce,ie),ce+=se.totalShapeLength):he=[[ae,le]],Q=he.length,Y=0;Y<Q;Y+=1){ae=he[Y][0],le=he[Y][1],ne.length=0,le<=1?ne.push({s:se.totalShapeLength*ae,e:se.totalShapeLength*le}):ae>=1?ne.push({s:se.totalShapeLength*(ae-1),e:se.totalShapeLength*(le-1)}):(ne.push({s:se.totalShapeLength*ae,e:se.totalShapeLength}),ne.push({s:0,e:se.totalShapeLength*(le-1)}));var de=this.addShapes(se,ne[0]);if(ne[0].s!==ne[0].e){if(ne.length>1){var me=se.shape.paths.shapes[se.shape.paths._length-1];if(me.c){var fe=de.pop();this.addPaths(de,re),de=this.addShapes(se,ne[1],fe)}else this.addPaths(de,re),de=this.addShapes(se,ne[1])}this.addPaths(de,re)}}se.shape.paths=re}}},TrimModifier.prototype.addPaths=function(B,R){var F,D=B.length;for(F=0;F<D;F+=1)R.addShape(B[F])},TrimModifier.prototype.addSegment=function(B,R,F,D,G,U,W){G.setXYAt(R[0],R[1],"o",U),G.setXYAt(F[0],F[1],"i",U+1),W&&G.setXYAt(B[0],B[1],"v",U),G.setXYAt(D[0],D[1],"v",U+1)},TrimModifier.prototype.addSegmentFromArray=function(B,R,F,D){R.setXYAt(B[1],B[5],"o",F),R.setXYAt(B[2],B[6],"i",F+1),D&&R.setXYAt(B[0],B[4],"v",F),R.setXYAt(B[3],B[7],"v",F+1)},TrimModifier.prototype.addShapes=function(B,R,F){var D=B.pathsData,G=B.shape.paths.shapes,U,W=B.shape.paths._length,q,Y,Q=0,Z,K,J,ie,ne=[],se,re=!0;for(F?(K=F._length,se=F._length):(F=shapePool.newElement(),K=0,se=0),ne.push(F),U=0;U<W;U+=1){for(J=D[U].lengths,F.c=G[U].c,Y=G[U].c?J.length:J.length+1,q=1;q<Y;q+=1)if(Z=J[q-1],Q+Z.addedLength<R.s)Q+=Z.addedLength,F.c=!1;else if(Q>R.e){F.c=!1;break}else R.s<=Q&&R.e>=Q+Z.addedLength?(this.addSegment(G[U].v[q-1],G[U].o[q-1],G[U].i[q],G[U].v[q],F,K,re),re=!1):(ie=bez.getNewSegment(G[U].v[q-1],G[U].v[q],G[U].o[q-1],G[U].i[q],(R.s-Q)/Z.addedLength,(R.e-Q)/Z.addedLength,J[q-1]),this.addSegmentFromArray(ie,F,K,re),re=!1,F.c=!1),Q+=Z.addedLength,K+=1;if(G[U].c&&J.length){if(Z=J[q-1],Q<=R.e){var ae=J[q-1].addedLength;R.s<=Q&&R.e>=Q+ae?(this.addSegment(G[U].v[q-1],G[U].o[q-1],G[U].i[0],G[U].v[0],F,K,re),re=!1):(ie=bez.getNewSegment(G[U].v[q-1],G[U].v[0],G[U].o[q-1],G[U].i[0],(R.s-Q)/ae,(R.e-Q)/ae,J[q-1]),this.addSegmentFromArray(ie,F,K,re),re=!1,F.c=!1)}else F.c=!1;Q+=Z.addedLength,K+=1}if(F._length&&(F.setXYAt(F.v[se][0],F.v[se][1],"i",se),F.setXYAt(F.v[F._length-1][0],F.v[F._length-1][1],"o",F._length-1)),Q>R.e)break;U<W-1&&(F=shapePool.newElement(),re=!0,ne.push(F),K=0)}return ne};function PuckerAndBloatModifier(){}extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(B,R){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(B,R.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(B,R){var F=R/100,D=[0,0],G=B._length,U=0;for(U=0;U<G;U+=1)D[0]+=B.v[U][0],D[1]+=B.v[U][1];D[0]/=G,D[1]/=G;var W=shapePool.newElement();W.c=B.c;var q,Y,Q,Z,K,J;for(U=0;U<G;U+=1)q=B.v[U][0]+(D[0]-B.v[U][0])*F,Y=B.v[U][1]+(D[1]-B.v[U][1])*F,Q=B.o[U][0]+(D[0]-B.o[U][0])*-F,Z=B.o[U][1]+(D[1]-B.o[U][1])*-F,K=B.i[U][0]+(D[0]-B.i[U][0])*-F,J=B.i[U][1]+(D[1]-B.i[U][1])*-F,W.setTripleAt(q,Y,Q,Z,K,J,U);return W},PuckerAndBloatModifier.prototype.processShapes=function(B){var R,F,D=this.shapes.length,G,U,W=this.amount.v;if(W!==0){var q,Y;for(F=0;F<D;F+=1){if(q=this.shapes[F],Y=q.localShapeCollection,!(!q.shape._mdf&&!this._mdf&&!B))for(Y.releaseShapes(),q.shape._mdf=!0,R=q.shape.paths.shapes,U=q.shape.paths._length,G=0;G<U;G+=1)Y.addShape(this.processPath(R[G],W));q.shape.paths=q.localShapeCollection}}this.dynamicProperties.length||(this._mdf=!1)};var TransformPropertyFactory=function(){var B=[0,0];function R(Y){var Q=this._mdf;this.iterateDynamicProperties(),this._mdf=this._mdf||Q,this.a&&Y.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.s&&Y.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&Y.skewFromAxis(-this.sk.v,this.sa.v),this.r?Y.rotate(-this.r.v):Y.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.data.p.s?this.data.p.z?Y.translate(this.px.v,this.py.v,-this.pz.v):Y.translate(this.px.v,this.py.v,0):Y.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}function F(Y){if(this.elem.globalData.frameId!==this.frameId){if(this._isDirty&&(this.precalculateMatrix(),this._isDirty=!1),this.iterateDynamicProperties(),this._mdf||Y){var Q;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1&&this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations<2&&this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&this.appliedTransformations<3&&this.v.skewFromAxis(-this.sk.v,this.sa.v),this.r&&this.appliedTransformations<4?this.v.rotate(-this.r.v):!this.r&&this.appliedTransformations<4&&this.v.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.autoOriented){var Z,K;if(Q=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t?(Z=this.p.getValueAtTime((this.p.keyframes[0].t+.01)/Q,0),K=this.p.getValueAtTime(this.p.keyframes[0].t/Q,0)):this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t?(Z=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/Q,0),K=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/Q,0)):(Z=this.p.pv,K=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/Q,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){Z=[],K=[];var J=this.px,ie=this.py;J._caching.lastFrame+J.offsetTime<=J.keyframes[0].t?(Z[0]=J.getValueAtTime((J.keyframes[0].t+.01)/Q,0),Z[1]=ie.getValueAtTime((ie.keyframes[0].t+.01)/Q,0),K[0]=J.getValueAtTime(J.keyframes[0].t/Q,0),K[1]=ie.getValueAtTime(ie.keyframes[0].t/Q,0)):J._caching.lastFrame+J.offsetTime>=J.keyframes[J.keyframes.length-1].t?(Z[0]=J.getValueAtTime(J.keyframes[J.keyframes.length-1].t/Q,0),Z[1]=ie.getValueAtTime(ie.keyframes[ie.keyframes.length-1].t/Q,0),K[0]=J.getValueAtTime((J.keyframes[J.keyframes.length-1].t-.01)/Q,0),K[1]=ie.getValueAtTime((ie.keyframes[ie.keyframes.length-1].t-.01)/Q,0)):(Z=[J.pv,ie.pv],K[0]=J.getValueAtTime((J._caching.lastFrame+J.offsetTime-.01)/Q,J.offsetTime),K[1]=ie.getValueAtTime((ie._caching.lastFrame+ie.offsetTime-.01)/Q,ie.offsetTime))}else K=B,Z=K;this.v.rotate(-Math.atan2(Z[1]-K[1],Z[0]-K[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 D(){if(!this.a.k)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 G(){}function U(Y){this._addDynamicProperty(Y),this.elem.addDynamicProperty(Y),this._isDirty=!0}function W(Y,Q,Z){if(this.elem=Y,this.frameId=-1,this.propType="transform",this.data=Q,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(Z||Y),Q.p&&Q.p.s?(this.px=PropertyFactory.getProp(Y,Q.p.x,0,0,this),this.py=PropertyFactory.getProp(Y,Q.p.y,0,0,this),Q.p.z&&(this.pz=PropertyFactory.getProp(Y,Q.p.z,0,0,this))):this.p=PropertyFactory.getProp(Y,Q.p||{k:[0,0,0]},1,0,this),Q.rx){if(this.rx=PropertyFactory.getProp(Y,Q.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(Y,Q.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(Y,Q.rz,0,degToRads,this),Q.or.k[0].ti){var K,J=Q.or.k.length;for(K=0;K<J;K+=1)Q.or.k[K].to=null,Q.or.k[K].ti=null}this.or=PropertyFactory.getProp(Y,Q.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(Y,Q.r||{k:0},0,degToRads,this);Q.sk&&(this.sk=PropertyFactory.getProp(Y,Q.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(Y,Q.sa,0,degToRads,this)),this.a=PropertyFactory.getProp(Y,Q.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(Y,Q.s||{k:[100,100,100]},1,.01,this),Q.o?this.o=PropertyFactory.getProp(Y,Q.o,0,.01,Y):this.o={_mdf:!1,v:1},this._isDirty=!0,this.dynamicProperties.length||this.getValue(!0)}W.prototype={applyToMatrix:R,getValue:F,precalculateMatrix:D,autoOrient:G},extendPrototype([DynamicPropertyContainer],W),W.prototype.addDynamicProperty=U,W.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty;function q(Y,Q,Z){return new W(Y,Q,Z)}return{getTransformProperty:q}}();function RepeaterModifier(){}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(B,R){this.getValue=this.processKeys,this.c=PropertyFactory.getProp(B,R.c,0,null,this),this.o=PropertyFactory.getProp(B,R.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(B,R.tr,this),this.so=PropertyFactory.getProp(B,R.tr.so,0,.01,this),this.eo=PropertyFactory.getProp(B,R.tr.eo,0,.01,this),this.data=R,this.dynamicProperties.length||this.getValue(!0),this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(B,R,F,D,G,U){var W=U?-1:1,q=D.s.v[0]+(1-D.s.v[0])*(1-G),Y=D.s.v[1]+(1-D.s.v[1])*(1-G);B.translate(D.p.v[0]*W*G,D.p.v[1]*W*G,D.p.v[2]),R.translate(-D.a.v[0],-D.a.v[1],D.a.v[2]),R.rotate(-D.r.v*W*G),R.translate(D.a.v[0],D.a.v[1],D.a.v[2]),F.translate(-D.a.v[0],-D.a.v[1],D.a.v[2]),F.scale(U?1/q:q,U?1/Y:Y),F.translate(D.a.v[0],D.a.v[1],D.a.v[2])},RepeaterModifier.prototype.init=function(B,R,F,D){for(this.elem=B,this.arr=R,this.pos=F,this.elemsData=D,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(B),this.initModifierProperties(B,R[F]);F>0;)F-=1,this._elements.unshift(R[F]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(B){var R,F=B.length;for(R=0;R<F;R+=1)B[R]._processed=!1,B[R].ty==="gr"&&this.resetElements(B[R].it)},RepeaterModifier.prototype.cloneElements=function(B){var R=JSON.parse(JSON.stringify(B));return this.resetElements(R),R},RepeaterModifier.prototype.changeGroupRender=function(B,R){var F,D=B.length;for(F=0;F<D;F+=1)B[F]._render=R,B[F].ty==="gr"&&this.changeGroupRender(B[F].it,R)},RepeaterModifier.prototype.processShapes=function(B){var R,F,D,G,U,W=!1;if(this._mdf||B){var q=Math.ceil(this.c.v);if(this._groups.length<q){for(;this._groups.length<q;){var Y={it:this.cloneElements(this._elements),ty:"gr"};Y.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,Y),this._groups.splice(0,0,Y),this._currentCopies+=1}this.elem.reloadShapes(),W=!0}U=0;var Q;for(D=0;D<=this._groups.length-1;D+=1){if(Q=U<q,this._groups[D]._render=Q,this.changeGroupRender(this._groups[D].it,Q),!Q){var Z=this.elemsData[D].it,K=Z[Z.length-1];K.transform.op.v!==0?(K.transform.op._mdf=!0,K.transform.op.v=0):K.transform.op._mdf=!1}U+=1}this._currentCopies=q;var J=this.o.v,ie=J%1,ne=J>0?Math.floor(J):Math.ceil(J),se=this.pMatrix.props,re=this.rMatrix.props,ae=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var le=0;if(J>0){for(;le<ne;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),le+=1;ie&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,ie,!1),le+=ie)}else if(J<0){for(;le>ne;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),le-=1;ie&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-ie,!0),le-=ie)}D=this.data.m===1?0:this._currentCopies-1,G=this.data.m===1?1:-1,U=this._currentCopies;for(var ce,he;U;){if(R=this.elemsData[D].it,F=R[R.length-1].transform.mProps.v.props,he=F.length,R[R.length-1].transform.mProps._mdf=!0,R[R.length-1].transform.op._mdf=!0,R[R.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(D/(this._currentCopies-1)),le!==0){for((D!==0&&G===1||D!==this._currentCopies-1&&G===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(re[0],re[1],re[2],re[3],re[4],re[5],re[6],re[7],re[8],re[9],re[10],re[11],re[12],re[13],re[14],re[15]),this.matrix.transform(ae[0],ae[1],ae[2],ae[3],ae[4],ae[5],ae[6],ae[7],ae[8],ae[9],ae[10],ae[11],ae[12],ae[13],ae[14],ae[15]),this.matrix.transform(se[0],se[1],se[2],se[3],se[4],se[5],se[6],se[7],se[8],se[9],se[10],se[11],se[12],se[13],se[14],se[15]),ce=0;ce<he;ce+=1)F[ce]=this.matrix.props[ce];this.matrix.reset()}else for(this.matrix.reset(),ce=0;ce<he;ce+=1)F[ce]=this.matrix.props[ce];le+=1,U-=1,D+=G}}else for(U=this._currentCopies,D=0,G=1;U;)R=this.elemsData[D].it,F=R[R.length-1].transform.mProps.v.props,R[R.length-1].transform.mProps._mdf=!1,R[R.length-1].transform.op._mdf=!1,U-=1,D+=G;return W},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(B,R){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(B,R.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(B,R){var F=shapePool.newElement();F.c=B.c;var D,G=B._length,U,W,q,Y,Q,Z,K=0,J,ie,ne,se,re,ae;for(D=0;D<G;D+=1)U=B.v[D],q=B.o[D],W=B.i[D],U[0]===q[0]&&U[1]===q[1]&&U[0]===W[0]&&U[1]===W[1]?(D===0||D===G-1)&&!B.c?(F.setTripleAt(U[0],U[1],q[0],q[1],W[0],W[1],K),K+=1):(D===0?Y=B.v[G-1]:Y=B.v[D-1],Q=Math.sqrt(Math.pow(U[0]-Y[0],2)+Math.pow(U[1]-Y[1],2)),Z=Q?Math.min(Q/2,R)/Q:0,re=U[0]+(Y[0]-U[0])*Z,J=re,ae=U[1]-(U[1]-Y[1])*Z,ie=ae,ne=J-(J-U[0])*roundCorner,se=ie-(ie-U[1])*roundCorner,F.setTripleAt(J,ie,ne,se,re,ae,K),K+=1,D===G-1?Y=B.v[0]:Y=B.v[D+1],Q=Math.sqrt(Math.pow(U[0]-Y[0],2)+Math.pow(U[1]-Y[1],2)),Z=Q?Math.min(Q/2,R)/Q:0,ne=U[0]+(Y[0]-U[0])*Z,J=ne,se=U[1]+(Y[1]-U[1])*Z,ie=se,re=J-(J-U[0])*roundCorner,ae=ie-(ie-U[1])*roundCorner,F.setTripleAt(J,ie,ne,se,re,ae,K),K+=1):(F.setTripleAt(B.v[D][0],B.v[D][1],B.o[D][0],B.o[D][1],B.i[D][0],B.i[D][1],K),K+=1);return F},RoundCornersModifier.prototype.processShapes=function(B){var R,F,D=this.shapes.length,G,U,W=this.rd.v;if(W!==0){var q,Y;for(F=0;F<D;F+=1){if(q=this.shapes[F],Y=q.localShapeCollection,!(!q.shape._mdf&&!this._mdf&&!B))for(Y.releaseShapes(),q.shape._mdf=!0,R=q.shape.paths.shapes,U=q.shape.paths._length,G=0;G<U;G+=1)Y.addShape(this.processPath(R[G],W));q.shape.paths=q.localShapeCollection}}this.dynamicProperties.length||(this._mdf=!1)};function getFontProperties(B){for(var R=B.fStyle?B.fStyle.split(" "):[],F="normal",D="normal",G=R.length,U,W=0;W<G;W+=1)switch(U=R[W].toLowerCase(),U){case"italic":D="italic";break;case"bold":F="700";break;case"black":F="900";break;case"medium":F="500";break;case"regular":case"normal":F="400";break;case"light":case"thin":F="200";break}return{style:D,weight:B.fWeight||F}}var FontManager=function(){var B=5e3,R={w:0,size:0,shapes:[],data:{shapes:[]}},F=[];F=F.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var D=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"],G=[65039,8205];function U(he){var de=he.split(","),me,fe=de.length,ge=[];for(me=0;me<fe;me+=1)de[me]!=="sans-serif"&&de[me]!=="monospace"&&ge.push(de[me]);return ge.join(",")}function W(he,de){var me=createTag("span");me.setAttribute("aria-hidden",!0),me.style.fontFamily=de;var fe=createTag("span");fe.innerText="giItT1WQy@!-/#",me.style.position="absolute",me.style.left="-10000px",me.style.top="-10000px",me.style.fontSize="300px",me.style.fontVariant="normal",me.style.fontStyle="normal",me.style.fontWeight="normal",me.style.letterSpacing="0",me.appendChild(fe),document.body.appendChild(me);var ge=fe.offsetWidth;return fe.style.fontFamily=U(he)+", "+de,{node:fe,w:ge,parent:me}}function q(){var he,de=this.fonts.length,me,fe,ge=de;for(he=0;he<de;he+=1)this.fonts[he].loaded?ge-=1:this.fonts[he].fOrigin==="n"||this.fonts[he].origin===0?this.fonts[he].loaded=!0:(me=this.fonts[he].monoCase.node,fe=this.fonts[he].monoCase.w,me.offsetWidth!==fe?(ge-=1,this.fonts[he].loaded=!0):(me=this.fonts[he].sansCase.node,fe=this.fonts[he].sansCase.w,me.offsetWidth!==fe&&(ge-=1,this.fonts[he].loaded=!0)),this.fonts[he].loaded&&(this.fonts[he].sansCase.parent.parentNode.removeChild(this.fonts[he].sansCase.parent),this.fonts[he].monoCase.parent.parentNode.removeChild(this.fonts[he].monoCase.parent)));ge!==0&&Date.now()-this.initTime<B?setTimeout(this.checkLoadedFontsBinded,20):setTimeout(this.setIsLoadedBinded,10)}function Y(he,de){var me=document.body&&de?"svg":"canvas",fe,ge=getFontProperties(he);if(me==="svg"){var Se=createNS("text");Se.style.fontSize="100px",Se.setAttribute("font-family",he.fFamily),Se.setAttribute("font-style",ge.style),Se.setAttribute("font-weight",ge.weight),Se.textContent="1",he.fClass?(Se.style.fontFamily="inherit",Se.setAttribute("class",he.fClass)):Se.style.fontFamily=he.fFamily,de.appendChild(Se),fe=Se}else{var Ee=new OffscreenCanvas(500,500).getContext("2d");Ee.font=ge.style+" "+ge.weight+" 100px "+he.fFamily,fe=Ee}function ve(xe){return me==="svg"?(fe.textContent=xe,fe.getComputedTextLength()):fe.measureText(xe).width}return{measureText:ve}}function Q(he,de){if(!he){this.isLoaded=!0;return}if(this.chars){this.isLoaded=!0,this.fonts=he.list;return}if(!document.body){this.isLoaded=!0,he.list.forEach(function(Le){Le.helper=Y(Le),Le.cache={}}),this.fonts=he.list;return}var me=he.list,fe,ge=me.length,Se=ge;for(fe=0;fe<ge;fe+=1){var Ee=!0,ve,xe;if(me[fe].loaded=!1,me[fe].monoCase=W(me[fe].fFamily,"monospace"),me[fe].sansCase=W(me[fe].fFamily,"sans-serif"),!me[fe].fPath)me[fe].loaded=!0,Se-=1;else if(me[fe].fOrigin==="p"||me[fe].origin===3){if(ve=document.querySelectorAll('style[f-forigin="p"][f-family="'+me[fe].fFamily+'"], style[f-origin="3"][f-family="'+me[fe].fFamily+'"]'),ve.length>0&&(Ee=!1),Ee){var Pe=createTag("style");Pe.setAttribute("f-forigin",me[fe].fOrigin),Pe.setAttribute("f-origin",me[fe].origin),Pe.setAttribute("f-family",me[fe].fFamily),Pe.type="text/css",Pe.innerText="@font-face {font-family: "+me[fe].fFamily+"; font-style: normal; src: url('"+me[fe].fPath+"');}",de.appendChild(Pe)}}else if(me[fe].fOrigin==="g"||me[fe].origin===1){for(ve=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),xe=0;xe<ve.length;xe+=1)ve[xe].href.indexOf(me[fe].fPath)!==-1&&(Ee=!1);if(Ee){var ye=createTag("link");ye.setAttribute("f-forigin",me[fe].fOrigin),ye.setAttribute("f-origin",me[fe].origin),ye.type="text/css",ye.rel="stylesheet",ye.href=me[fe].fPath,document.body.appendChild(ye)}}else if(me[fe].fOrigin==="t"||me[fe].origin===2){for(ve=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'),xe=0;xe<ve.length;xe+=1)me[fe].fPath===ve[xe].src&&(Ee=!1);if(Ee){var Te=createTag("link");Te.setAttribute("f-forigin",me[fe].fOrigin),Te.setAttribute("f-origin",me[fe].origin),Te.setAttribute("rel","stylesheet"),Te.setAttribute("href",me[fe].fPath),de.appendChild(Te)}}me[fe].helper=Y(me[fe],de),me[fe].cache={},this.fonts.push(me[fe])}Se===0?this.isLoaded=!0:setTimeout(this.checkLoadedFonts.bind(this),100)}function Z(he){if(!!he){this.chars||(this.chars=[]);var de,me=he.length,fe,ge=this.chars.length,Se;for(de=0;de<me;de+=1){for(fe=0,Se=!1;fe<ge;)this.chars[fe].style===he[de].style&&this.chars[fe].fFamily===he[de].fFamily&&this.chars[fe].ch===he[de].ch&&(Se=!0),fe+=1;Se||(this.chars.push(he[de]),ge+=1)}}}function K(he,de,me){for(var fe=0,ge=this.chars.length;fe<ge;){if(this.chars[fe].ch===he&&this.chars[fe].style===de&&this.chars[fe].fFamily===me)return this.chars[fe];fe+=1}return(typeof he=="string"&&he.charCodeAt(0)!==13||!he)&&console&&console.warn&&!this._warned&&(this._warned=!0,console.warn("Missing character from exported characters list: ",he,de,me)),R}function J(he,de,me){var fe=this.getFontByName(de),ge=he.charCodeAt(0);if(!fe.cache[ge+1]){var Se=fe.helper;if(he===" "){var Ee=Se.measureText("|"+he+"|"),ve=Se.measureText("||");fe.cache[ge+1]=(Ee-ve)/100}else fe.cache[ge+1]=Se.measureText(he)/100}return fe.cache[ge+1]*me}function ie(he){for(var de=0,me=this.fonts.length;de<me;){if(this.fonts[de].fName===he)return this.fonts[de];de+=1}return this.fonts[0]}function ne(he,de){var me=he.toString(16)+de.toString(16);return D.indexOf(me)!==-1}function se(he,de){return de?he===G[0]&&de===G[1]:he===G[1]}function re(he){return F.indexOf(he)!==-1}function ae(){this.isLoaded=!0}var le=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)};le.isModifier=ne,le.isZeroWidthJoiner=se,le.isCombinedCharacter=re;var ce={addChars:Z,addFonts:Q,getCharData:K,getFontByName:ie,measureText:J,checkLoadedFonts:q,setIsLoaded:ae};return le.prototype=ce,le}();function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(R){this.renderableComponents.indexOf(R)===-1&&this.renderableComponents.push(R)},removeRenderableComponent:function(R){this.renderableComponents.indexOf(R)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(R),1)},prepareRenderableFrame:function(R){this.checkLayerLimits(R)},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(R){this.data.ip-this.data.st<=R&&this.data.op-this.data.st>R?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 R,F=this.renderableComponents.length;for(R=0;R<F;R+=1)this.renderableComponents[R].renderFrame(this._isFirstFrame)},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){return this.data.ty===5?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}}};var MaskManagerInterface=function(){function B(F,D){this._mask=F,this._data=D}Object.defineProperty(B.prototype,"maskPath",{get:function(){return this._mask.prop.k&&this._mask.prop.getValue(),this._mask.prop}}),Object.defineProperty(B.prototype,"maskOpacity",{get:function(){return this._mask.op.k&&this._mask.op.getValue(),this._mask.op.v*100}});var R=function(D){var G=createSizedArray(D.viewData.length),U,W=D.viewData.length;for(U=0;U<W;U+=1)G[U]=new B(D.viewData[U],D.masksProperties[U]);var q=function(Q){for(U=0;U<W;){if(D.masksProperties[U].nm===Q)return G[U];U+=1}return null};return q};return R}(),ExpressionPropertyInterface=function(){var B={pv:0,v:0,mult:1},R={pv:[0,0,0],v:[0,0,0],mult:1};function F(W,q,Y){Object.defineProperty(W,"velocity",{get:function(){return q.getVelocityAtTime(q.comp.currentFrame)}}),W.numKeys=q.keyframes?q.keyframes.length:0,W.key=function(Q){if(!W.numKeys)return 0;var Z="";"s"in q.keyframes[Q-1]?Z=q.keyframes[Q-1].s:"e"in q.keyframes[Q-2]?Z=q.keyframes[Q-2].e:Z=q.keyframes[Q-2].s;var K=Y==="unidimensional"?new Number(Z):Object.assign({},Z);return K.time=q.keyframes[Q-1].t/q.elem.comp.globalData.frameRate,K.value=Y==="unidimensional"?Z[0]:Z,K},W.valueAtTime=q.getValueAtTime,W.speedAtTime=q.getSpeedAtTime,W.velocityAtTime=q.getVelocityAtTime,W.propertyGroup=q.propertyGroup}function D(W){(!W||!("pv"in W))&&(W=B);var q=1/W.mult,Y=W.pv*q,Q=new Number(Y);return Q.value=Y,F(Q,W,"unidimensional"),function(){return W.k&&W.getValue(),Y=W.v*q,Q.value!==Y&&(Q=new Number(Y),Q.value=Y,F(Q,W,"unidimensional")),Q}}function G(W){(!W||!("pv"in W))&&(W=R);var q=1/W.mult,Y=W.data&&W.data.l||W.pv.length,Q=createTypedArray("float32",Y),Z=createTypedArray("float32",Y);return Q.value=Z,F(Q,W,"multidimensional"),function(){W.k&&W.getValue();for(var K=0;K<Y;K+=1)Z[K]=W.v[K]*q,Q[K]=Z[K];return Q}}function U(){return B}return function(W){return W?W.propType==="unidimensional"?D(W):G(W):U}}(),TransformExpressionInterface=function(){return function(B){function R(W){switch(W){case"scale":case"Scale":case"ADBE Scale":case 6:return R.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return R.rotation;case"ADBE Rotate X":return R.xRotation;case"ADBE Rotate Y":return R.yRotation;case"position":case"Position":case"ADBE Position":case 2:return R.position;case"ADBE Position_0":return R.xPosition;case"ADBE Position_1":return R.yPosition;case"ADBE Position_2":return R.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return R.anchorPoint;case"opacity":case"Opacity":case 11:return R.opacity;default:return null}}Object.defineProperty(R,"rotation",{get:ExpressionPropertyInterface(B.r||B.rz)}),Object.defineProperty(R,"zRotation",{get:ExpressionPropertyInterface(B.rz||B.r)}),Object.defineProperty(R,"xRotation",{get:ExpressionPropertyInterface(B.rx)}),Object.defineProperty(R,"yRotation",{get:ExpressionPropertyInterface(B.ry)}),Object.defineProperty(R,"scale",{get:ExpressionPropertyInterface(B.s)});var F,D,G,U;return B.p?U=ExpressionPropertyInterface(B.p):(F=ExpressionPropertyInterface(B.px),D=ExpressionPropertyInterface(B.py),B.pz&&(G=ExpressionPropertyInterface(B.pz))),Object.defineProperty(R,"position",{get:function(){return B.p?U():[F(),D(),G?G():0]}}),Object.defineProperty(R,"xPosition",{get:ExpressionPropertyInterface(B.px)}),Object.defineProperty(R,"yPosition",{get:ExpressionPropertyInterface(B.py)}),Object.defineProperty(R,"zPosition",{get:ExpressionPropertyInterface(B.pz)}),Object.defineProperty(R,"anchorPoint",{get:ExpressionPropertyInterface(B.a)}),Object.defineProperty(R,"opacity",{get:ExpressionPropertyInterface(B.o)}),Object.defineProperty(R,"skew",{get:ExpressionPropertyInterface(B.sk)}),Object.defineProperty(R,"skewAxis",{get:ExpressionPropertyInterface(B.sa)}),Object.defineProperty(R,"orientation",{get:ExpressionPropertyInterface(B.or)}),R}}(),LayerExpressionInterface=function(){function B(Q){var Z=new Matrix;if(Q!==void 0){var K=this._elem.finalTransform.mProp.getValueAtTime(Q);K.clone(Z)}else{var J=this._elem.finalTransform.mProp;J.applyToMatrix(Z)}return Z}function R(Q,Z){var K=this.getMatrix(Z);return K.props[12]=0,K.props[13]=0,K.props[14]=0,this.applyPoint(K,Q)}function F(Q,Z){var K=this.getMatrix(Z);return this.applyPoint(K,Q)}function D(Q,Z){var K=this.getMatrix(Z);return K.props[12]=0,K.props[13]=0,K.props[14]=0,this.invertPoint(K,Q)}function G(Q,Z){var K=this.getMatrix(Z);return this.invertPoint(K,Q)}function U(Q,Z){if(this._elem.hierarchy&&this._elem.hierarchy.length){var K,J=this._elem.hierarchy.length;for(K=0;K<J;K+=1)this._elem.hierarchy[K].finalTransform.mProp.applyToMatrix(Q)}return Q.applyToPointArray(Z[0],Z[1],Z[2]||0)}function W(Q,Z){if(this._elem.hierarchy&&this._elem.hierarchy.length){var K,J=this._elem.hierarchy.length;for(K=0;K<J;K+=1)this._elem.hierarchy[K].finalTransform.mProp.applyToMatrix(Q)}return Q.inversePoint(Z)}function q(Q){var Z=new Matrix;if(Z.reset(),this._elem.finalTransform.mProp.applyToMatrix(Z),this._elem.hierarchy&&this._elem.hierarchy.length){var K,J=this._elem.hierarchy.length;for(K=0;K<J;K+=1)this._elem.hierarchy[K].finalTransform.mProp.applyToMatrix(Z);return Z.inversePoint(Q)}return Z.inversePoint(Q)}function Y(){return[1,1,1,1]}return function(Q){var Z;function K(se){ie.mask=new MaskManagerInterface(se,Q)}function J(se){ie.effect=se}function ie(se){switch(se){case"ADBE Root Vectors Group":case"Contents":case 2:return ie.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return Z;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return ie.effect;case"ADBE Text Properties":return ie.textInterface;default:return null}}ie.getMatrix=B,ie.invertPoint=W,ie.applyPoint=U,ie.toWorld=F,ie.toWorldVec=R,ie.fromWorld=G,ie.fromWorldVec=D,ie.toComp=F,ie.fromComp=q,ie.sampleImage=Y,ie.sourceRectAtTime=Q.sourceRectAtTime.bind(Q),ie._elem=Q,Z=TransformExpressionInterface(Q.finalTransform.mProp);var ne=getDescriptor(Z,"anchorPoint");return Object.defineProperties(ie,{hasParent:{get:function(){return Q.hierarchy.length}},parent:{get:function(){return Q.hierarchy[0].layerInterface}},rotation:getDescriptor(Z,"rotation"),scale:getDescriptor(Z,"scale"),position:getDescriptor(Z,"position"),opacity:getDescriptor(Z,"opacity"),anchorPoint:ne,anchor_point:ne,transform:{get:function(){return Z}},active:{get:function(){return Q.isInRange}}}),ie.startTime=Q.data.st,ie.index=Q.data.ind,ie.source=Q.data.refId,ie.height=Q.data.ty===0?Q.data.h:100,ie.width=Q.data.ty===0?Q.data.w:100,ie.inPoint=Q.data.ip/Q.comp.globalData.frameRate,ie.outPoint=Q.data.op/Q.comp.globalData.frameRate,ie._name=Q.data.nm,ie.registerMaskInterface=K,ie.registerEffectsInterface=J,ie}}(),propertyGroupFactory=function(){return function(B,R){return function(F){return F=F===void 0?1:F,F<=0?B:R(F-1)}}}(),PropertyInterface=function(){return function(B,R){var F={_name:B};function D(G){return G=G===void 0?1:G,G<=0?F:R(G-1)}return D}}(),EffectsExpressionInterface=function(){var B={createEffectsInterface:R};function R(G,U){if(G.effectsManager){var W=[],q=G.data.ef,Y,Q=G.effectsManager.effectElements.length;for(Y=0;Y<Q;Y+=1)W.push(F(q[Y],G.effectsManager.effectElements[Y],U,G));var Z=G.data.ef||[],K=function(ie){for(Y=0,Q=Z.length;Y<Q;){if(ie===Z[Y].nm||ie===Z[Y].mn||ie===Z[Y].ix)return W[Y];Y+=1}return null};return Object.defineProperty(K,"numProperties",{get:function(){return Z.length}}),K}return null}function F(G,U,W,q){function Y(ie){for(var ne=G.ef,se=0,re=ne.length;se<re;){if(ie===ne[se].nm||ie===ne[se].mn||ie===ne[se].ix)return ne[se].ty===5?Z[se]:Z[se]();se+=1}throw new Error}var Q=propertyGroupFactory(Y,W),Z=[],K,J=G.ef.length;for(K=0;K<J;K+=1)G.ef[K].ty===5?Z.push(F(G.ef[K],U.effectElements[K],U.effectElements[K].propertyGroup,q)):Z.push(D(U.effectElements[K],G.ef[K].ty,q,Q));return G.mn==="ADBE Color Control"&&Object.defineProperty(Y,"color",{get:function(){return Z[0]()}}),Object.defineProperties(Y,{numProperties:{get:function(){return G.np}},_name:{value:G.nm},propertyGroup:{value:Q}}),Y.enabled=G.en!==0,Y.active=Y.enabled,Y}function D(G,U,W,q){var Y=ExpressionPropertyInterface(G.p);function Q(){return U===10?W.comp.compInterface(G.p.v):Y()}return G.p.setGroupProperty&&G.p.setGroupProperty(PropertyInterface("",q)),Q}return B}(),CompExpressionInterface=function(){return function(B){function R(F){for(var D=0,G=B.layers.length;D<G;){if(B.layers[D].nm===F||B.layers[D].ind===F)return B.elements[D].layerInterface;D+=1}return null}return Object.defineProperty(R,"_name",{value:B.data.nm}),R.layer=R,R.pixelAspect=1,R.height=B.data.h||B.globalData.compSize.h,R.width=B.data.w||B.globalData.compSize.w,R.pixelAspect=1,R.frameDuration=1/B.globalData.frameRate,R.displayStartTime=0,R.numLayers=B.layers.length,R}}(),ShapePathInterface=function(){return function(R,F,D){var G=F.sh;function U(q){return q==="Shape"||q==="shape"||q==="Path"||q==="path"||q==="ADBE Vector Shape"||q===2?U.path:null}var W=propertyGroupFactory(U,D);return G.setGroupProperty(PropertyInterface("Path",W)),Object.defineProperties(U,{path:{get:function(){return G.k&&G.getValue(),G}},shape:{get:function(){return G.k&&G.getValue(),G}},_name:{value:R.nm},ix:{value:R.ix},propertyIndex:{value:R.ix},mn:{value:R.mn},propertyGroup:{value:D}}),U}}(),ShapeExpressionInterface=function(){function B(ne,se,re){var ae=[],le,ce=ne?ne.length:0;for(le=0;le<ce;le+=1)ne[le].ty==="gr"?ae.push(F(ne[le],se[le],re)):ne[le].ty==="fl"?ae.push(D(ne[le],se[le],re)):ne[le].ty==="st"?ae.push(W(ne[le],se[le],re)):ne[le].ty==="tm"?ae.push(q(ne[le],se[le],re)):ne[le].ty==="tr"||(ne[le].ty==="el"?ae.push(Q(ne[le],se[le],re)):ne[le].ty==="sr"?ae.push(Z(ne[le],se[le],re)):ne[le].ty==="sh"?ae.push(ShapePathInterface(ne[le],se[le],re)):ne[le].ty==="rc"?ae.push(K(ne[le],se[le],re)):ne[le].ty==="rd"?ae.push(J(ne[le],se[le],re)):ne[le].ty==="rp"?ae.push(ie(ne[le],se[le],re)):ne[le].ty==="gf"?ae.push(G(ne[le],se[le],re)):ae.push(U(ne[le],se[le])));return ae}function R(ne,se,re){var ae,le=function(de){for(var me=0,fe=ae.length;me<fe;){if(ae[me]._name===de||ae[me].mn===de||ae[me].propertyIndex===de||ae[me].ix===de||ae[me].ind===de)return ae[me];me+=1}return typeof de=="number"?ae[de-1]:null};le.propertyGroup=propertyGroupFactory(le,re),ae=B(ne.it,se.it,le.propertyGroup),le.numProperties=ae.length;var ce=Y(ne.it[ne.it.length-1],se.it[se.it.length-1],le.propertyGroup);return le.transform=ce,le.propertyIndex=ne.cix,le._name=ne.nm,le}function F(ne,se,re){var ae=function(de){switch(de){case"ADBE Vectors Group":case"Contents":case 2:return ae.content;default:return ae.transform}};ae.propertyGroup=propertyGroupFactory(ae,re);var le=R(ne,se,ae.propertyGroup),ce=Y(ne.it[ne.it.length-1],se.it[se.it.length-1],ae.propertyGroup);return ae.content=le,ae.transform=ce,Object.defineProperty(ae,"_name",{get:function(){return ne.nm}}),ae.numProperties=ne.np,ae.propertyIndex=ne.ix,ae.nm=ne.nm,ae.mn=ne.mn,ae}function D(ne,se,re){function ae(le){return le==="Color"||le==="color"?ae.color:le==="Opacity"||le==="opacity"?ae.opacity:null}return Object.defineProperties(ae,{color:{get:ExpressionPropertyInterface(se.c)},opacity:{get:ExpressionPropertyInterface(se.o)},_name:{value:ne.nm},mn:{value:ne.mn}}),se.c.setGroupProperty(PropertyInterface("Color",re)),se.o.setGroupProperty(PropertyInterface("Opacity",re)),ae}function G(ne,se,re){function ae(le){return le==="Start Point"||le==="start point"?ae.startPoint:le==="End Point"||le==="end point"?ae.endPoint:le==="Opacity"||le==="opacity"?ae.opacity:null}return Object.defineProperties(ae,{startPoint:{get:ExpressionPropertyInterface(se.s)},endPoint:{get:ExpressionPropertyInterface(se.e)},opacity:{get:ExpressionPropertyInterface(se.o)},type:{get:function(){return"a"}},_name:{value:ne.nm},mn:{value:ne.mn}}),se.s.setGroupProperty(PropertyInterface("Start Point",re)),se.e.setGroupProperty(PropertyInterface("End Point",re)),se.o.setGroupProperty(PropertyInterface("Opacity",re)),ae}function U(){function ne(){return null}return ne}function W(ne,se,re){var ae=propertyGroupFactory(fe,re),le=propertyGroupFactory(me,ae);function ce(ge){Object.defineProperty(me,ne.d[ge].nm,{get:ExpressionPropertyInterface(se.d.dataProps[ge].p)})}var he,de=ne.d?ne.d.length:0,me={};for(he=0;he<de;he+=1)ce(he),se.d.dataProps[he].p.setGroupProperty(le);function fe(ge){return ge==="Color"||ge==="color"?fe.color:ge==="Opacity"||ge==="opacity"?fe.opacity:ge==="Stroke Width"||ge==="stroke width"?fe.strokeWidth:null}return Object.defineProperties(fe,{color:{get:ExpressionPropertyInterface(se.c)},opacity:{get:ExpressionPropertyInterface(se.o)},strokeWidth:{get:ExpressionPropertyInterface(se.w)},dash:{get:function(){return me}},_name:{value:ne.nm},mn:{value:ne.mn}}),se.c.setGroupProperty(PropertyInterface("Color",ae)),se.o.setGroupProperty(PropertyInterface("Opacity",ae)),se.w.setGroupProperty(PropertyInterface("Stroke Width",ae)),fe}function q(ne,se,re){function ae(ce){return ce===ne.e.ix||ce==="End"||ce==="end"?ae.end:ce===ne.s.ix?ae.start:ce===ne.o.ix?ae.offset:null}var le=propertyGroupFactory(ae,re);return ae.propertyIndex=ne.ix,se.s.setGroupProperty(PropertyInterface("Start",le)),se.e.setGroupProperty(PropertyInterface("End",le)),se.o.setGroupProperty(PropertyInterface("Offset",le)),ae.propertyIndex=ne.ix,ae.propertyGroup=re,Object.defineProperties(ae,{start:{get:ExpressionPropertyInterface(se.s)},end:{get:ExpressionPropertyInterface(se.e)},offset:{get:ExpressionPropertyInterface(se.o)},_name:{value:ne.nm}}),ae.mn=ne.mn,ae}function Y(ne,se,re){function ae(ce){return ne.a.ix===ce||ce==="Anchor Point"?ae.anchorPoint:ne.o.ix===ce||ce==="Opacity"?ae.opacity:ne.p.ix===ce||ce==="Position"?ae.position:ne.r.ix===ce||ce==="Rotation"||ce==="ADBE Vector Rotation"?ae.rotation:ne.s.ix===ce||ce==="Scale"?ae.scale:ne.sk&&ne.sk.ix===ce||ce==="Skew"?ae.skew:ne.sa&&ne.sa.ix===ce||ce==="Skew Axis"?ae.skewAxis:null}var le=propertyGroupFactory(ae,re);return se.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",le)),se.transform.mProps.p.setGroupProperty(PropertyInterface("Position",le)),se.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",le)),se.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",le)),se.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",le)),se.transform.mProps.sk&&(se.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",le)),se.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",le))),se.transform.op.setGroupProperty(PropertyInterface("Opacity",le)),Object.defineProperties(ae,{opacity:{get:ExpressionPropertyInterface(se.transform.mProps.o)},position:{get:ExpressionPropertyInterface(se.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(se.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(se.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(se.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(se.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(se.transform.mProps.sa)},_name:{value:ne.nm}}),ae.ty="tr",ae.mn=ne.mn,ae.propertyGroup=re,ae}function Q(ne,se,re){function ae(he){return ne.p.ix===he?ae.position:ne.s.ix===he?ae.size:null}var le=propertyGroupFactory(ae,re);ae.propertyIndex=ne.ix;var ce=se.sh.ty==="tm"?se.sh.prop:se.sh;return ce.s.setGroupProperty(PropertyInterface("Size",le)),ce.p.setGroupProperty(PropertyInterface("Position",le)),Object.defineProperties(ae,{size:{get:ExpressionPropertyInterface(ce.s)},position:{get:ExpressionPropertyInterface(ce.p)},_name:{value:ne.nm}}),ae.mn=ne.mn,ae}function Z(ne,se,re){function ae(he){return ne.p.ix===he?ae.position:ne.r.ix===he?ae.rotation:ne.pt.ix===he?ae.points:ne.or.ix===he||he==="ADBE Vector Star Outer Radius"?ae.outerRadius:ne.os.ix===he?ae.outerRoundness:ne.ir&&(ne.ir.ix===he||he==="ADBE Vector Star Inner Radius")?ae.innerRadius:ne.is&&ne.is.ix===he?ae.innerRoundness:null}var le=propertyGroupFactory(ae,re),ce=se.sh.ty==="tm"?se.sh.prop:se.sh;return ae.propertyIndex=ne.ix,ce.or.setGroupProperty(PropertyInterface("Outer Radius",le)),ce.os.setGroupProperty(PropertyInterface("Outer Roundness",le)),ce.pt.setGroupProperty(PropertyInterface("Points",le)),ce.p.setGroupProperty(PropertyInterface("Position",le)),ce.r.setGroupProperty(PropertyInterface("Rotation",le)),ne.ir&&(ce.ir.setGroupProperty(PropertyInterface("Inner Radius",le)),ce.is.setGroupProperty(PropertyInterface("Inner Roundness",le))),Object.defineProperties(ae,{position:{get:ExpressionPropertyInterface(ce.p)},rotation:{get:ExpressionPropertyInterface(ce.r)},points:{get:ExpressionPropertyInterface(ce.pt)},outerRadius:{get:ExpressionPropertyInterface(ce.or)},outerRoundness:{get:ExpressionPropertyInterface(ce.os)},innerRadius:{get:ExpressionPropertyInterface(ce.ir)},innerRoundness:{get:ExpressionPropertyInterface(ce.is)},_name:{value:ne.nm}}),ae.mn=ne.mn,ae}function K(ne,se,re){function ae(he){return ne.p.ix===he?ae.position:ne.r.ix===he?ae.roundness:ne.s.ix===he||he==="Size"||he==="ADBE Vector Rect Size"?ae.size:null}var le=propertyGroupFactory(ae,re),ce=se.sh.ty==="tm"?se.sh.prop:se.sh;return ae.propertyIndex=ne.ix,ce.p.setGroupProperty(PropertyInterface("Position",le)),ce.s.setGroupProperty(PropertyInterface("Size",le)),ce.r.setGroupProperty(PropertyInterface("Rotation",le)),Object.defineProperties(ae,{position:{get:ExpressionPropertyInterface(ce.p)},roundness:{get:ExpressionPropertyInterface(ce.r)},size:{get:ExpressionPropertyInterface(ce.s)},_name:{value:ne.nm}}),ae.mn=ne.mn,ae}function J(ne,se,re){function ae(he){return ne.r.ix===he||he==="Round Corners 1"?ae.radius:null}var le=propertyGroupFactory(ae,re),ce=se;return ae.propertyIndex=ne.ix,ce.rd.setGroupProperty(PropertyInterface("Radius",le)),Object.defineProperties(ae,{radius:{get:ExpressionPropertyInterface(ce.rd)},_name:{value:ne.nm}}),ae.mn=ne.mn,ae}function ie(ne,se,re){function ae(he){return ne.c.ix===he||he==="Copies"?ae.copies:ne.o.ix===he||he==="Offset"?ae.offset:null}var le=propertyGroupFactory(ae,re),ce=se;return ae.propertyIndex=ne.ix,ce.c.setGroupProperty(PropertyInterface("Copies",le)),ce.o.setGroupProperty(PropertyInterface("Offset",le)),Object.defineProperties(ae,{copies:{get:ExpressionPropertyInterface(ce.c)},offset:{get:ExpressionPropertyInterface(ce.o)},_name:{value:ne.nm}}),ae.mn=ne.mn,ae}return function(ne,se,re){var ae;function le(he){if(typeof he=="number")return he=he===void 0?1:he,he===0?re:ae[he-1];for(var de=0,me=ae.length;de<me;){if(ae[de]._name===he)return ae[de];de+=1}return null}function ce(){return re}return le.propertyGroup=propertyGroupFactory(le,ce),ae=B(ne,se,le.propertyGroup),le.numProperties=ae.length,le._name="Contents",le}}(),TextExpressionInterface=function(){return function(B){var R,F;function D(G){switch(G){case"ADBE Text Document":return D.sourceText;default:return null}}return Object.defineProperty(D,"sourceText",{get:function(){B.textProperty.getValue();var U=B.textProperty.currentData.t;return U!==R&&(B.textProperty.currentData.t=R,F=new String(U),F.value=U||new String(U)),F}}),D}}(),getBlendMode=function(){var B={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"};return function(R){return B[R]||""}}();function SliderEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function AngleEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function ColorEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,1,0,F)}function PointEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,1,0,F)}function LayerIndexEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function MaskIndexEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function CheckboxEffect(B,R,F){this.p=PropertyFactory.getProp(R,B.v,0,0,F)}function NoValueEffect(){this.p={}}function EffectsManager(B,R){var F=B.ef||[];this.effectElements=[];var D,G=F.length,U;for(D=0;D<G;D+=1)U=new GroupEffect(F[D],R),this.effectElements.push(U)}function GroupEffect(B,R){this.init(B,R)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(B,R){this.data=B,this.effectElements=[],this.initDynamicPropertyContainer(R);var F,D=this.data.ef.length,G,U=this.data.ef;for(F=0;F<D;F+=1){switch(G=null,U[F].ty){case 0:G=new SliderEffect(U[F],R,this);break;case 1:G=new AngleEffect(U[F],R,this);break;case 2:G=new ColorEffect(U[F],R,this);break;case 3:G=new PointEffect(U[F],R,this);break;case 4:case 7:G=new CheckboxEffect(U[F],R,this);break;case 10:G=new LayerIndexEffect(U[F],R,this);break;case 11:G=new MaskIndexEffect(U[F],R,this);break;case 5:G=new EffectsManager(U[F],R);break;default:G=new NoValueEffect(U[F]);break}G&&this.effectElements.push(G)}};function BaseElement(){}BaseElement.prototype={checkMasks:function(){if(!this.data.hasMask)return!1;for(var R=0,F=this.data.masksProperties.length;R<F;){if(this.data.masksProperties[R].mode!=="n"&&this.data.masksProperties[R].cl!==!1)return!0;R+=1}return!1},initExpressions:function(){this.layerInterface=LayerExpressionInterface(this),this.data.hasMask&&this.maskManager&&this.layerInterface.registerMaskInterface(this.maskManager);var R=EffectsExpressionInterface.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(R),this.data.ty===0||this.data.xt?this.compInterface=CompExpressionInterface(this):this.data.ty===4?(this.layerInterface.shapeInterface=ShapeExpressionInterface(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface):this.data.ty===5&&(this.layerInterface.textInterface=TextExpressionInterface(this),this.layerInterface.text=this.layerInterface.textInterface)},setBlendMode:function(){var R=getBlendMode(this.data.bm),F=this.baseElement||this.layerElement;F.style["mix-blend-mode"]=R},initBaseData:function(R,F,D){this.globalData=F,this.comp=D,this.data=R,this.layerId=createElementID(),this.data.sr||(this.data.sr=1),this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function(){return this.type},sourceRectAtTime:function(){}};function FrameElement(){}FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function(R,F){var D,G=this.dynamicProperties.length;for(D=0;D<G;D+=1)(F||this._isParent&&this.dynamicProperties[D].propType==="transform")&&(this.dynamicProperties[D].getValue(),this.dynamicProperties[D]._mdf&&(this.globalData._mdf=!0,this._mdf=!0))},addDynamicProperty:function(R){this.dynamicProperties.indexOf(R)===-1&&this.dynamicProperties.push(R)}};function _typeof$2(B){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$2=function(F){return typeof F}:_typeof$2=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},_typeof$2(B)}var FootageInterface=function(){var B=function(D){var G="",U=D.getFootageData();function W(){return G="",U=D.getFootageData(),q}function q(Y){if(U[Y])return G=Y,U=U[Y],_typeof$2(U)==="object"?q:U;var Q=Y.indexOf(G);if(Q!==-1){var Z=parseInt(Y.substr(Q+G.length),10);return U=U[Z],_typeof$2(U)==="object"?q:U}return""}return W},R=function(D){function G(U){return U==="Outline"?G.outlineInterface():null}return G._name="Outline",G.outlineInterface=B(D),G};return function(F){function D(G){return G==="Data"?D.dataInterface:null}return D._name="Data",D.dataInterface=R(F),D}}();function FootageElement(B,R,F){this.initFrame(),this.initRenderable(),this.assetData=R.getAssetData(B.refId),this.footageData=R.imageLoader.getAsset(this.assetData),this.initBaseData(B,R,F)}FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){this.layerInterface=FootageInterface(this)},FootageElement.prototype.getFootageData=function(){return this.footageData};function AudioElement(B,R,F){this.initFrame(),this.initRenderable(),this.assetData=R.getAssetData(B.refId),this.initBaseData(B,R,F),this._isPlaying=!1,this._canPlay=!1;var D=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(D),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=B.tm?PropertyFactory.getProp(this,B.tm,0,R.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,B.au&&B.au.lv?B.au.lv:{k:[100]},1,.01,this)}AudioElement.prototype.prepareFrame=function(B){if(this.prepareRenderableFrame(B,!0),this.prepareProperties(B,!0),this.tm._placeholder)this._currentTime=B/this.data.sr;else{var R=this.tm.v;this._currentTime=R}this._volume=this.lv.v[0];var F=this._volume*this._volumeMultiplier;this._previousVolume!==F&&(this._previousVolume=F,this.audio.volume(F))},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){this.isInRange&&this._canPlay&&(this._isPlaying?(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>.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(B){this.audio.rate(B)},AudioElement.prototype.volume=function(B){this._volumeMultiplier=B,this._previousVolume=B*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(B){var R,F=this.layers.length,D;for(this.completeLayers=!0,R=F-1;R>=0;R-=1)this.elements[R]||(D=this.layers[R],D.ip-D.st<=B-this.layers[R].st&&D.op-D.st>B-this.layers[R].st&&this.buildItem(R)),this.completeLayers=this.elements[R]?this.completeLayers:!1;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(B){switch(B.ty){case 2:return this.createImage(B);case 0:return this.createComp(B);case 1:return this.createSolid(B);case 3:return this.createNull(B);case 4:return this.createShape(B);case 5:return this.createText(B);case 6:return this.createAudio(B);case 13:return this.createCamera(B);case 15:return this.createFootage(B);default:return this.createNull(B)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(B){return new AudioElement(B,this.globalData,this)},BaseRenderer.prototype.createFootage=function(B){return new FootageElement(B,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var B,R=this.layers.length;for(B=0;B<R;B+=1)this.buildItem(B);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(B){this.completeLayers=!1;var R,F=B.length,D,G=this.layers.length;for(R=0;R<F;R+=1)for(D=0;D<G;){if(this.layers[D].id===B[R].id){this.layers[D]=B[R];break}D+=1}},BaseRenderer.prototype.setProjectInterface=function(B){this.globalData.projectInterface=B},BaseRenderer.prototype.initItems=function(){this.globalData.progressiveLoad||this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(B,R,F){for(var D=this.elements,G=this.layers,U=0,W=G.length;U<W;)G[U].ind==R&&(!D[U]||D[U]===!0?(this.buildItem(U),this.addPendingElement(B)):(F.push(D[U]),D[U].setAsParent(),G[U].parent!==void 0?this.buildElementParenting(B,G[U].parent,F):B.setHierarchy(F))),U+=1},BaseRenderer.prototype.addPendingElement=function(B){this.pendingElements.push(B)},BaseRenderer.prototype.searchExtraCompositions=function(B){var R,F=B.length;for(R=0;R<F;R+=1)if(B[R].xt){var D=this.createComp(B[R]);D.initExpressions(),this.globalData.projectInterface.registerComposition(D)}},BaseRenderer.prototype.getElementByPath=function(B){var R=B.shift(),F;if(typeof R=="number")F=this.elements[R];else{var D,G=this.elements.length;for(D=0;D<G;D+=1)if(this.elements[D].data.nm===R){F=this.elements[D];break}}return B.length===0?F:F.getElementByPath(B)},BaseRenderer.prototype.setupGlobalData=function(B,R){this.globalData.fontManager=new FontManager,this.globalData.fontManager.addChars(B.chars),this.globalData.fontManager.addFonts(B.fonts,R),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=B.fr,this.globalData.nm=B.nm,this.globalData.compSize={w:B.w,h:B.h}};function TransformElement(){}TransformElement.prototype={initTransform:function(){this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_opMdf:!1,mat:new Matrix},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var R,F=this.finalTransform.mat,D=0,G=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;D<G;){if(this.hierarchy[D].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}D+=1}if(this.finalTransform._matMdf)for(R=this.finalTransform.mProp.v.props,F.cloneFromProps(R),D=0;D<G;D+=1)R=this.hierarchy[D].finalTransform.mProp.v.props,F.transform(R[0],R[1],R[2],R[3],R[4],R[5],R[6],R[7],R[8],R[9],R[10],R[11],R[12],R[13],R[14],R[15])}},globalToLocal:function(R){var F=[];F.push(this.finalTransform);for(var D=!0,G=this.comp;D;)G.finalTransform?(G.data.hasMask&&F.splice(0,0,G.finalTransform),G=G.comp):D=!1;var U,W=F.length,q;for(U=0;U<W;U+=1)q=F[U].mat.applyToPointArray(0,0,0),R=[R[0]-q[0],R[1]-q[1],0];return R},mHelper:new Matrix};function MaskElement(B,R,F){this.data=B,this.element=R,this.globalData=F,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var D=this.globalData.defs,G,U=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(U),this.solidPath="";var W,q=this.masksProperties,Y=0,Q=[],Z,K,J=createElementID(),ie,ne,se,re,ae="clipPath",le="clip-path";for(G=0;G<U;G+=1)if((q[G].mode!=="a"&&q[G].mode!=="n"||q[G].inv||q[G].o.k!==100||q[G].o.x)&&(ae="mask",le="mask"),(q[G].mode==="s"||q[G].mode==="i")&&Y===0?(ie=createNS("rect"),ie.setAttribute("fill","#ffffff"),ie.setAttribute("width",this.element.comp.data.w||0),ie.setAttribute("height",this.element.comp.data.h||0),Q.push(ie)):ie=null,W=createNS("path"),q[G].mode==="n")this.viewData[G]={op:PropertyFactory.getProp(this.element,q[G].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,q[G],3),elem:W,lastPath:""},D.appendChild(W);else{Y+=1,W.setAttribute("fill",q[G].mode==="s"?"#000000":"#ffffff"),W.setAttribute("clip-rule","nonzero");var ce;if(q[G].x.k!==0?(ae="mask",le="mask",re=PropertyFactory.getProp(this.element,q[G].x,0,null,this.element),ce=createElementID(),ne=createNS("filter"),ne.setAttribute("id",ce),se=createNS("feMorphology"),se.setAttribute("operator","erode"),se.setAttribute("in","SourceGraphic"),se.setAttribute("radius","0"),ne.appendChild(se),D.appendChild(ne),W.setAttribute("stroke",q[G].mode==="s"?"#000000":"#ffffff")):(se=null,re=null),this.storedData[G]={elem:W,x:re,expan:se,lastPath:"",lastOperator:"",filterId:ce,lastRadius:0},q[G].mode==="i"){K=Q.length;var he=createNS("g");for(Z=0;Z<K;Z+=1)he.appendChild(Q[Z]);var de=createNS("mask");de.setAttribute("mask-type","alpha"),de.setAttribute("id",J+"_"+Y),de.appendChild(W),D.appendChild(de),he.setAttribute("mask","url("+getLocationHref()+"#"+J+"_"+Y+")"),Q.length=0,Q.push(he)}else Q.push(W);q[G].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),this.viewData[G]={elem:W,lastPath:"",op:PropertyFactory.getProp(this.element,q[G].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,q[G],3),invRect:ie},this.viewData[G].prop.k||this.drawPath(q[G],this.viewData[G].prop.v,this.viewData[G])}for(this.maskElement=createNS(ae),U=Q.length,G=0;G<U;G+=1)this.maskElement.appendChild(Q[G]);Y>0&&(this.maskElement.setAttribute("id",J),this.element.maskedElement.setAttribute(le,"url("+getLocationHref()+"#"+J+")"),D.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}MaskElement.prototype.getMaskProperty=function(B){return this.viewData[B].prop},MaskElement.prototype.renderFrame=function(B){var R=this.element.finalTransform.mat,F,D=this.masksProperties.length;for(F=0;F<D;F+=1)if((this.viewData[F].prop._mdf||B)&&this.drawPath(this.masksProperties[F],this.viewData[F].prop.v,this.viewData[F]),(this.viewData[F].op._mdf||B)&&this.viewData[F].elem.setAttribute("fill-opacity",this.viewData[F].op.v),this.masksProperties[F].mode!=="n"&&(this.viewData[F].invRect&&(this.element.finalTransform.mProp._mdf||B)&&this.viewData[F].invRect.setAttribute("transform",R.getInverseMatrix().to2dCSS()),this.storedData[F].x&&(this.storedData[F].x._mdf||B))){var G=this.storedData[F].expan;this.storedData[F].x.v<0?(this.storedData[F].lastOperator!=="erode"&&(this.storedData[F].lastOperator="erode",this.storedData[F].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[F].filterId+")")),G.setAttribute("radius",-this.storedData[F].x.v)):(this.storedData[F].lastOperator!=="dilate"&&(this.storedData[F].lastOperator="dilate",this.storedData[F].elem.setAttribute("filter",null)),this.storedData[F].elem.setAttribute("stroke-width",this.storedData[F].x.v*2))}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var B="M0,0 ";return B+=" h"+this.globalData.compSize.w,B+=" v"+this.globalData.compSize.h,B+=" h-"+this.globalData.compSize.w,B+=" v-"+this.globalData.compSize.h+" ",B},MaskElement.prototype.drawPath=function(B,R,F){var D=" M"+R.v[0][0]+","+R.v[0][1],G,U;for(U=R._length,G=1;G<U;G+=1)D+=" C"+R.o[G-1][0]+","+R.o[G-1][1]+" "+R.i[G][0]+","+R.i[G][1]+" "+R.v[G][0]+","+R.v[G][1];if(R.c&&U>1&&(D+=" C"+R.o[G-1][0]+","+R.o[G-1][1]+" "+R.i[0][0]+","+R.i[0][1]+" "+R.v[0][0]+","+R.v[0][1]),F.lastPath!==D){var W="";F.elem&&(R.c&&(W=B.inv?this.solidPath+D:D),F.elem.setAttribute("d",W)),F.lastPath=D}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var B={};B.createFilter=R,B.createAlphaToLuminanceFilter=F;function R(D,G){var U=createNS("filter");return U.setAttribute("id",D),G!==!0&&(U.setAttribute("filterUnits","objectBoundingBox"),U.setAttribute("x","0%"),U.setAttribute("y","0%"),U.setAttribute("width","100%"),U.setAttribute("height","100%")),U}function F(){var D=createNS("feColorMatrix");return D.setAttribute("type","matrix"),D.setAttribute("color-interpolation-filters","sRGB"),D.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),D}return B}(),featureSupport=function(){var B={maskType:!0};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))&&(B.maskType=!1),B}(),registeredEffects={},idPrefix="filter_result_";function SVGEffects(B){var R,F="SourceGraphic",D=B.data.ef?B.data.ef.length:0,G=createElementID(),U=filtersFactory.createFilter(G,!0),W=0;this.filters=[];var q;for(R=0;R<D;R+=1){q=null;var Y=B.data.ef[R].ty;if(registeredEffects[Y]){var Q=registeredEffects[Y].effect;q=new Q(U,B.effectsManager.effectElements[R],B,idPrefix+W,F),F=idPrefix+W,registeredEffects[Y].countsAsEffect&&(W+=1)}q&&this.filters.push(q)}W&&(B.globalData.defs.appendChild(U),B.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+G+")")),this.filters.length&&B.addRenderableComponent(this)}SVGEffects.prototype.renderFrame=function(B){var R,F=this.filters.length;for(R=0;R<F;R+=1)this.filters[R].renderFrame(B)};function registerEffect(B,R,F){registeredEffects[B]={effect:R,countsAsEffect:F}}function SVGBaseElement(){}SVGBaseElement.prototype={initRendererElement:function(){this.layerElement=createNS("g")},createContainerElements:function(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var R=null,F,D,G;if(this.data.td){if(this.data.td==3||this.data.td==1){var U=createNS("mask");U.setAttribute("id",this.layerId),U.setAttribute("mask-type",this.data.td==3?"luminance":"alpha"),U.appendChild(this.layerElement),R=U,this.globalData.defs.appendChild(U),!featureSupport.maskType&&this.data.td==1&&(U.setAttribute("mask-type","luminance"),F=createElementID(),D=filtersFactory.createFilter(F),this.globalData.defs.appendChild(D),D.appendChild(filtersFactory.createAlphaToLuminanceFilter()),G=createNS("g"),G.appendChild(this.layerElement),R=G,U.appendChild(G),G.setAttribute("filter","url("+getLocationHref()+"#"+F+")"))}else if(this.data.td==2){var W=createNS("mask");W.setAttribute("id",this.layerId),W.setAttribute("mask-type","alpha");var q=createNS("g");W.appendChild(q),F=createElementID(),D=filtersFactory.createFilter(F);var Y=createNS("feComponentTransfer");Y.setAttribute("in","SourceGraphic"),D.appendChild(Y);var Q=createNS("feFuncA");Q.setAttribute("type","table"),Q.setAttribute("tableValues","1.0 0.0"),Y.appendChild(Q),this.globalData.defs.appendChild(D);var Z=createNS("rect");Z.setAttribute("width",this.comp.data.w),Z.setAttribute("height",this.comp.data.h),Z.setAttribute("x","0"),Z.setAttribute("y","0"),Z.setAttribute("fill","#ffffff"),Z.setAttribute("opacity","0"),q.setAttribute("filter","url("+getLocationHref()+"#"+F+")"),q.appendChild(Z),q.appendChild(this.layerElement),R=q,featureSupport.maskType||(W.setAttribute("mask-type","luminance"),D.appendChild(filtersFactory.createAlphaToLuminanceFilter()),G=createNS("g"),q.appendChild(Z),G.appendChild(this.layerElement),R=G,q.appendChild(G)),this.globalData.defs.appendChild(W)}}else this.data.tt?(this.matteElement.appendChild(this.layerElement),R=this.matteElement,this.baseElement=this.matteElement):this.baseElement=this.layerElement;if(this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),this.data.ty===0&&!this.data.hd){var K=createNS("clipPath"),J=createNS("path");J.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var ie=createElementID();if(K.setAttribute("id",ie),K.appendChild(J),this.globalData.defs.appendChild(K),this.checkMasks()){var ne=createNS("g");ne.setAttribute("clip-path","url("+getLocationHref()+"#"+ie+")"),ne.appendChild(this.layerElement),this.transformedElement=ne,R?R.appendChild(this.transformedElement):this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+ie+")")}this.data.bm!==0&&this.setBlendMode()},renderElement:function(){this.finalTransform._matMdf&&this.transformedElement.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.finalTransform._opMdf&&this.transformedElement.setAttribute("opacity",this.finalTransform.mProp.o.v)},destroyBaseElement:function(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function(){return this.data.hd?null:this.baseElement},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this)},setMatte:function(R){!this.matteElement||this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+R+")")}};function HierarchyElement(){}HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function(R){this.hierarchy=R},setAsParent:function(){this._isParent=!0},checkParenting:function(){this.data.parent!==void 0&&this.comp.buildElementParenting(this,this.data.parent,[])}};function RenderableDOMElement(){}(function(){var B={initElement:function(F,D,G){this.initFrame(),this.initBaseData(F,D,G),this.initTransform(F,D,G),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){var F=this.baseElement||this.layerElement;F.style.display="none",this.hidden=!0}},show:function(){if(this.isInRange&&!this.isTransparent){if(!this.data.hd){var F=this.baseElement||this.layerElement;F.style.display="block"}this.hidden=!1,this._isFirstFrame=!0}},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},renderInnerContent:function(){},prepareFrame:function(F){this._mdf=!1,this.prepareRenderableFrame(F),this.prepareProperties(F,this.isInRange),this.checkTransparency()},destroy:function(){this.innerElem=null,this.destroyBaseElement()}};extendPrototype([RenderableElement,createProxyFunction(B)],RenderableDOMElement)})();function IImageElement(B,R,F){this.assetData=R.getAssetData(B.refId),this.initElement(B,R,F),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var B=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",B),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect};function ProcessedElement(B,R){this.elem=B,this.pos=R}function IShapeElement(){}IShapeElement.prototype={addShapeToModifiers:function(R){var F,D=this.shapeModifiers.length;for(F=0;F<D;F+=1)this.shapeModifiers[F].addShape(R)},isShapeInAnimatedModifiers:function(R){for(var F=0,D=this.shapeModifiers.length;F<D;)if(this.shapeModifiers[F].isAnimatedWithShape(R))return!0;return!1},renderModifiers:function(){if(!!this.shapeModifiers.length){var R,F=this.shapes.length;for(R=0;R<F;R+=1)this.shapes[R].sh.reset();F=this.shapeModifiers.length;var D;for(R=F-1;R>=0&&(D=this.shapeModifiers[R].processShapes(this._isFirstFrame),!D);R-=1);}},searchProcessedElement:function(R){for(var F=this.processedElements,D=0,G=F.length;D<G;){if(F[D].elem===R)return F[D].pos;D+=1}return 0},addProcessedElement:function(R,F){for(var D=this.processedElements,G=D.length;G;)if(G-=1,D[G].elem===R){D[G].pos=F;return}D.push(new ProcessedElement(R,F))},prepareFrame:function(R){this.prepareRenderableFrame(R),this.prepareProperties(R,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(B,R,F){this.caches=[],this.styles=[],this.transformers=B,this.lStr="",this.sh=F,this.lvl=R,this._isAnimated=!!F.k;for(var D=0,G=B.length;D<G;){if(B[D].mProps.dynamicProperties.length){this._isAnimated=!0;break}D+=1}}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0};function SVGStyleData(B,R){this.data=B,this.type=B.ty,this.d="",this.lvl=R,this._mdf=!1,this.closed=B.hd===!0,this.pElem=createNS("path"),this.msElem=null}SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1};function DashProperty(B,R,F,D){this.elem=B,this.frameId=-1,this.dataProps=createSizedArray(R.length),this.renderer=F,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",R.length?R.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(D);var G,U=R.length||0,W;for(G=0;G<U;G+=1)W=PropertyFactory.getProp(B,R[G].v,0,0,this),this.k=W.k||this.k,this.dataProps[G]={n:R[G].n,p:W};this.k||this.getValue(!0),this._isAnimated=this.k}DashProperty.prototype.getValue=function(B){if(!(this.elem.globalData.frameId===this.frameId&&!B)&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||B,this._mdf)){var R=0,F=this.dataProps.length;for(this.renderer==="svg"&&(this.dashStr=""),R=0;R<F;R+=1)this.dataProps[R].n!=="o"?this.renderer==="svg"?this.dashStr+=" "+this.dataProps[R].p.v:this.dashArray[R]=this.dataProps[R].p.v:this.dashoffset[0]=this.dataProps[R].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty);function SVGStrokeStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(B,R.o,0,.01,this),this.w=PropertyFactory.getProp(B,R.w,0,null,this),this.d=new DashProperty(B,R.d||{},"svg",this),this.c=PropertyFactory.getProp(B,R.c,1,255,this),this.style=F,this._isAnimated=!!this._isAnimated}extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData);function SVGFillStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(B,R.o,0,.01,this),this.c=PropertyFactory.getProp(B,R.c,1,255,this),this.style=F}extendPrototype([DynamicPropertyContainer],SVGFillStyleData);function SVGNoStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.style=F}extendPrototype([DynamicPropertyContainer],SVGNoStyleData);function GradientProperty(B,R,F){this.data=R,this.c=createTypedArray("uint8c",R.p*4);var D=R.k.k[0].s?R.k.k[0].s.length-R.p*4:R.k.k.length-R.p*4;this.o=createTypedArray("float32",D),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=D,this.initDynamicPropertyContainer(F),this.prop=PropertyFactory.getProp(B,R.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}GradientProperty.prototype.comparePoints=function(B,R){for(var F=0,D=this.o.length/2,G;F<D;){if(G=Math.abs(B[F*4]-B[R*4+F*2]),G>.01)return!1;F+=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 B=0,R=this.data.k.k.length;B<R;){if(!this.comparePoints(this.data.k.k[B].s,this.data.p))return!1;B+=1}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(B){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||B){var R,F=this.data.p*4,D,G;for(R=0;R<F;R+=1)D=R%4===0?100:255,G=Math.round(this.prop.v[R]*D),this.c[R]!==G&&(this.c[R]=G,this._cmdf=!B);if(this.o.length)for(F=this.prop.v.length,R=this.data.p*4;R<F;R+=1)D=R%2===0?100:1,G=R%2===0?Math.round(this.prop.v[R]*100):this.prop.v[R],this.o[R-this.data.p*4]!==G&&(this.o[R-this.data.p*4]=G,this._omdf=!B);this._mdf=!B}},extendPrototype([DynamicPropertyContainer],GradientProperty);function SVGGradientFillStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.initGradientData(B,R,F)}SVGGradientFillStyleData.prototype.initGradientData=function(B,R,F){this.o=PropertyFactory.getProp(B,R.o,0,.01,this),this.s=PropertyFactory.getProp(B,R.s,1,null,this),this.e=PropertyFactory.getProp(B,R.e,1,null,this),this.h=PropertyFactory.getProp(B,R.h||{k:0},0,.01,this),this.a=PropertyFactory.getProp(B,R.a||{k:0},0,degToRads,this),this.g=new GradientProperty(B,R.g,this),this.style=F,this.stops=[],this.setGradientData(F.pElem,R),this.setGradientOpacity(R,F),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(B,R){var F=createElementID(),D=createNS(R.t===1?"linearGradient":"radialGradient");D.setAttribute("id",F),D.setAttribute("spreadMethod","pad"),D.setAttribute("gradientUnits","userSpaceOnUse");var G=[],U,W,q;for(q=R.g.p*4,W=0;W<q;W+=4)U=createNS("stop"),D.appendChild(U),G.push(U);B.setAttribute(R.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+F+")"),this.gf=D,this.cst=G},SVGGradientFillStyleData.prototype.setGradientOpacity=function(B,R){if(this.g._hasOpacity&&!this.g._collapsable){var F,D,G,U=createNS("mask"),W=createNS("path");U.appendChild(W);var q=createElementID(),Y=createElementID();U.setAttribute("id",Y);var Q=createNS(B.t===1?"linearGradient":"radialGradient");Q.setAttribute("id",q),Q.setAttribute("spreadMethod","pad"),Q.setAttribute("gradientUnits","userSpaceOnUse"),G=B.g.k.k[0].s?B.g.k.k[0].s.length:B.g.k.k.length;var Z=this.stops;for(D=B.g.p*4;D<G;D+=2)F=createNS("stop"),F.setAttribute("stop-color","rgb(255,255,255)"),Q.appendChild(F),Z.push(F);W.setAttribute(B.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+q+")"),B.ty==="gs"&&(W.setAttribute("stroke-linecap",lineCapEnum[B.lc||2]),W.setAttribute("stroke-linejoin",lineJoinEnum[B.lj||2]),B.lj===1&&W.setAttribute("stroke-miterlimit",B.ml)),this.of=Q,this.ms=U,this.ost=Z,this.maskId=Y,R.msElem=W}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData);function SVGGradientStrokeStyleData(B,R,F){this.initDynamicPropertyContainer(B),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(B,R.w,0,null,this),this.d=new DashProperty(B,R.d||{},"svg",this),this.initGradientData(B,R,F),this._isAnimated=!!this._isAnimated}extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(B,R,F){this.transform={mProps:B,op:R,container:F},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}var buildShapeString=function(R,F,D,G){if(F===0)return"";var U=R.o,W=R.i,q=R.v,Y,Q=" M"+G.applyToPointStringified(q[0][0],q[0][1]);for(Y=1;Y<F;Y+=1)Q+=" C"+G.applyToPointStringified(U[Y-1][0],U[Y-1][1])+" "+G.applyToPointStringified(W[Y][0],W[Y][1])+" "+G.applyToPointStringified(q[Y][0],q[Y][1]);return D&&F&&(Q+=" C"+G.applyToPointStringified(U[Y-1][0],U[Y-1][1])+" "+G.applyToPointStringified(W[0][0],W[0][1])+" "+G.applyToPointStringified(q[0][0],q[0][1]),Q+="z"),Q},SVGElementsRenderer=function(){var B=new Matrix,R=new Matrix,F={createRenderFunction:D};function D(K){switch(K.ty){case"fl":return q;case"gf":return Q;case"gs":return Y;case"st":return Z;case"sh":case"el":case"rc":case"sr":return W;case"tr":return G;case"no":return U;default:return null}}function G(K,J,ie){(ie||J.transform.op._mdf)&&J.transform.container.setAttribute("opacity",J.transform.op.v),(ie||J.transform.mProps._mdf)&&J.transform.container.setAttribute("transform",J.transform.mProps.v.to2dCSS())}function U(){}function W(K,J,ie){var ne,se,re,ae,le,ce,he=J.styles.length,de=J.lvl,me,fe,ge,Se,Ee;for(ce=0;ce<he;ce+=1){if(ae=J.sh._mdf||ie,J.styles[ce].lvl<de){for(fe=R.reset(),Se=de-J.styles[ce].lvl,Ee=J.transformers.length-1;!ae&&Se>0;)ae=J.transformers[Ee].mProps._mdf||ae,Se-=1,Ee-=1;if(ae)for(Se=de-J.styles[ce].lvl,Ee=J.transformers.length-1;Se>0;)ge=J.transformers[Ee].mProps.v.props,fe.transform(ge[0],ge[1],ge[2],ge[3],ge[4],ge[5],ge[6],ge[7],ge[8],ge[9],ge[10],ge[11],ge[12],ge[13],ge[14],ge[15]),Se-=1,Ee-=1}else fe=B;if(me=J.sh.paths,se=me._length,ae){for(re="",ne=0;ne<se;ne+=1)le=me.shapes[ne],le&&le._length&&(re+=buildShapeString(le,le._length,le.c,fe));J.caches[ce]=re}else re=J.caches[ce];J.styles[ce].d+=K.hd===!0?"":re,J.styles[ce]._mdf=ae||J.styles[ce]._mdf}}function q(K,J,ie){var ne=J.style;(J.c._mdf||ie)&&ne.pElem.setAttribute("fill","rgb("+bmFloor(J.c.v[0])+","+bmFloor(J.c.v[1])+","+bmFloor(J.c.v[2])+")"),(J.o._mdf||ie)&&ne.pElem.setAttribute("fill-opacity",J.o.v)}function Y(K,J,ie){Q(K,J,ie),Z(K,J,ie)}function Q(K,J,ie){var ne=J.gf,se=J.g._hasOpacity,re=J.s.v,ae=J.e.v;if(J.o._mdf||ie){var le=K.ty==="gf"?"fill-opacity":"stroke-opacity";J.style.pElem.setAttribute(le,J.o.v)}if(J.s._mdf||ie){var ce=K.t===1?"x1":"cx",he=ce==="x1"?"y1":"cy";ne.setAttribute(ce,re[0]),ne.setAttribute(he,re[1]),se&&!J.g._collapsable&&(J.of.setAttribute(ce,re[0]),J.of.setAttribute(he,re[1]))}var de,me,fe,ge;if(J.g._cmdf||ie){de=J.cst;var Se=J.g.c;for(fe=de.length,me=0;me<fe;me+=1)ge=de[me],ge.setAttribute("offset",Se[me*4]+"%"),ge.setAttribute("stop-color","rgb("+Se[me*4+1]+","+Se[me*4+2]+","+Se[me*4+3]+")")}if(se&&(J.g._omdf||ie)){var Ee=J.g.o;for(J.g._collapsable?de=J.cst:de=J.ost,fe=de.length,me=0;me<fe;me+=1)ge=de[me],J.g._collapsable||ge.setAttribute("offset",Ee[me*2]+"%"),ge.setAttribute("stop-opacity",Ee[me*2+1])}if(K.t===1)(J.e._mdf||ie)&&(ne.setAttribute("x2",ae[0]),ne.setAttribute("y2",ae[1]),se&&!J.g._collapsable&&(J.of.setAttribute("x2",ae[0]),J.of.setAttribute("y2",ae[1])));else{var ve;if((J.s._mdf||J.e._mdf||ie)&&(ve=Math.sqrt(Math.pow(re[0]-ae[0],2)+Math.pow(re[1]-ae[1],2)),ne.setAttribute("r",ve),se&&!J.g._collapsable&&J.of.setAttribute("r",ve)),J.e._mdf||J.h._mdf||J.a._mdf||ie){ve||(ve=Math.sqrt(Math.pow(re[0]-ae[0],2)+Math.pow(re[1]-ae[1],2)));var xe=Math.atan2(ae[1]-re[1],ae[0]-re[0]),Pe=J.h.v;Pe>=1?Pe=.99:Pe<=-1&&(Pe=-.99);var ye=ve*Pe,Te=Math.cos(xe+J.a.v)*ye+re[0],Le=Math.sin(xe+J.a.v)*ye+re[1];ne.setAttribute("fx",Te),ne.setAttribute("fy",Le),se&&!J.g._collapsable&&(J.of.setAttribute("fx",Te),J.of.setAttribute("fy",Le))}}}function Z(K,J,ie){var ne=J.style,se=J.d;se&&(se._mdf||ie)&&se.dashStr&&(ne.pElem.setAttribute("stroke-dasharray",se.dashStr),ne.pElem.setAttribute("stroke-dashoffset",se.dashoffset[0])),J.c&&(J.c._mdf||ie)&&ne.pElem.setAttribute("stroke","rgb("+bmFloor(J.c.v[0])+","+bmFloor(J.c.v[1])+","+bmFloor(J.c.v[2])+")"),(J.o._mdf||ie)&&ne.pElem.setAttribute("stroke-opacity",J.o.v),(J.w._mdf||ie)&&(ne.pElem.setAttribute("stroke-width",J.w.v),ne.msElem&&ne.msElem.setAttribute("stroke-width",J.w.v))}return F}();function SVGShapeElement(B,R,F){this.shapes=[],this.shapesData=B.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(B,R,F),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 B,R=this.shapes.length,F,D,G=this.stylesList.length,U,W=[],q=!1;for(D=0;D<G;D+=1){for(U=this.stylesList[D],q=!1,W.length=0,B=0;B<R;B+=1)F=this.shapes[B],F.styles.indexOf(U)!==-1&&(W.push(F),q=F._isAnimated||q);W.length>1&&q&&this.setShapesAsAnimated(W)}},SVGShapeElement.prototype.setShapesAsAnimated=function(B){var R,F=B.length;for(R=0;R<F;R+=1)B[R].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(B,R){var F,D=new SVGStyleData(B,R),G=D.pElem;if(B.ty==="st")F=new SVGStrokeStyleData(this,B,D);else if(B.ty==="fl")F=new SVGFillStyleData(this,B,D);else if(B.ty==="gf"||B.ty==="gs"){var U=B.ty==="gf"?SVGGradientFillStyleData:SVGGradientStrokeStyleData;F=new U(this,B,D),this.globalData.defs.appendChild(F.gf),F.maskId&&(this.globalData.defs.appendChild(F.ms),this.globalData.defs.appendChild(F.of),G.setAttribute("mask","url("+getLocationHref()+"#"+F.maskId+")"))}else B.ty==="no"&&(F=new SVGNoStyleData(this,B,D));return(B.ty==="st"||B.ty==="gs")&&(G.setAttribute("stroke-linecap",lineCapEnum[B.lc||2]),G.setAttribute("stroke-linejoin",lineJoinEnum[B.lj||2]),G.setAttribute("fill-opacity","0"),B.lj===1&&G.setAttribute("stroke-miterlimit",B.ml)),B.r===2&&G.setAttribute("fill-rule","evenodd"),B.ln&&G.setAttribute("id",B.ln),B.cl&&G.setAttribute("class",B.cl),B.bm&&(G.style["mix-blend-mode"]=getBlendMode(B.bm)),this.stylesList.push(D),this.addToAnimatedContents(B,F),F},SVGShapeElement.prototype.createGroupElement=function(B){var R=new ShapeGroupData;return B.ln&&R.gr.setAttribute("id",B.ln),B.cl&&R.gr.setAttribute("class",B.cl),B.bm&&(R.gr.style["mix-blend-mode"]=getBlendMode(B.bm)),R},SVGShapeElement.prototype.createTransformElement=function(B,R){var F=TransformPropertyFactory.getTransformProperty(this,B,this),D=new SVGTransformData(F,F.o,R);return this.addToAnimatedContents(B,D),D},SVGShapeElement.prototype.createShapeElement=function(B,R,F){var D=4;B.ty==="rc"?D=5:B.ty==="el"?D=6:B.ty==="sr"&&(D=7);var G=ShapePropertyFactory.getShapeProp(this,B,D,this),U=new SVGShapeData(R,F,G);return this.shapes.push(U),this.addShapeToModifiers(U),this.addToAnimatedContents(B,U),U},SVGShapeElement.prototype.addToAnimatedContents=function(B,R){for(var F=0,D=this.animatedContents.length;F<D;){if(this.animatedContents[F].element===R)return;F+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(B),element:R,data:B})},SVGShapeElement.prototype.setElementStyles=function(B){var R=B.styles,F,D=this.stylesList.length;for(F=0;F<D;F+=1)this.stylesList[F].closed||R.push(this.stylesList[F])},SVGShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var B,R=this.itemsData.length;for(B=0;B<R;B+=1)this.prevViewData[B]=this.itemsData[B];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),R=this.dynamicProperties.length,B=0;B<R;B+=1)this.dynamicProperties[B].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(B,R,F,D,G,U,W){var q=[].concat(U),Y,Q=B.length-1,Z,K,J=[],ie=[],ne,se,re;for(Y=Q;Y>=0;Y-=1){if(re=this.searchProcessedElement(B[Y]),re?R[Y]=F[re-1]:B[Y]._render=W,B[Y].ty==="fl"||B[Y].ty==="st"||B[Y].ty==="gf"||B[Y].ty==="gs"||B[Y].ty==="no")re?R[Y].style.closed=!1:R[Y]=this.createStyleElement(B[Y],G),B[Y]._render&&R[Y].style.pElem.parentNode!==D&&D.appendChild(R[Y].style.pElem),J.push(R[Y].style);else if(B[Y].ty==="gr"){if(!re)R[Y]=this.createGroupElement(B[Y]);else for(K=R[Y].it.length,Z=0;Z<K;Z+=1)R[Y].prevViewData[Z]=R[Y].it[Z];this.searchShapes(B[Y].it,R[Y].it,R[Y].prevViewData,R[Y].gr,G+1,q,W),B[Y]._render&&R[Y].gr.parentNode!==D&&D.appendChild(R[Y].gr)}else B[Y].ty==="tr"?(re||(R[Y]=this.createTransformElement(B[Y],D)),ne=R[Y].transform,q.push(ne)):B[Y].ty==="sh"||B[Y].ty==="rc"||B[Y].ty==="el"||B[Y].ty==="sr"?(re||(R[Y]=this.createShapeElement(B[Y],q,G)),this.setElementStyles(R[Y])):B[Y].ty==="tm"||B[Y].ty==="rd"||B[Y].ty==="ms"||B[Y].ty==="pb"?(re?(se=R[Y],se.closed=!1):(se=ShapeModifiers.getModifier(B[Y].ty),se.init(this,B[Y]),R[Y]=se,this.shapeModifiers.push(se)),ie.push(se)):B[Y].ty==="rp"&&(re?(se=R[Y],se.closed=!0):(se=ShapeModifiers.getModifier(B[Y].ty),R[Y]=se,se.init(this,B,Y,R),this.shapeModifiers.push(se),W=!1),ie.push(se));this.addProcessedElement(B[Y],Y+1)}for(Q=J.length,Y=0;Y<Q;Y+=1)J[Y].closed=!0;for(Q=ie.length,Y=0;Y<Q;Y+=1)ie[Y].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){this.renderModifiers();var B,R=this.stylesList.length;for(B=0;B<R;B+=1)this.stylesList[B].reset();for(this.renderShape(),B=0;B<R;B+=1)(this.stylesList[B]._mdf||this._isFirstFrame)&&(this.stylesList[B].msElem&&(this.stylesList[B].msElem.setAttribute("d",this.stylesList[B].d),this.stylesList[B].d="M0 0"+this.stylesList[B].d),this.stylesList[B].pElem.setAttribute("d",this.stylesList[B].d||"M0 0"))},SVGShapeElement.prototype.renderShape=function(){var B,R=this.animatedContents.length,F;for(B=0;B<R;B+=1)F=this.animatedContents[B],(this._isFirstFrame||F.element._isAnimated)&&F.data!==!0&&F.fn(F.data,F.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null};function LetterProps(B,R,F,D,G,U){this.o=B,this.sw=R,this.sc=F,this.fc=D,this.m=G,this.p=U,this._mdf={o:!0,sw:!!R,sc:!!F,fc:!!D,m:!0,p:!0}}LetterProps.prototype.update=function(B,R,F,D,G,U){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var W=!1;return this.o!==B&&(this.o=B,this._mdf.o=!0,W=!0),this.sw!==R&&(this.sw=R,this._mdf.sw=!0,W=!0),this.sc!==F&&(this.sc=F,this._mdf.sc=!0,W=!0),this.fc!==D&&(this.fc=D,this._mdf.fc=!0,W=!0),this.m!==G&&(this.m=G,this._mdf.m=!0,W=!0),U.length&&(this.p[0]!==U[0]||this.p[1]!==U[1]||this.p[4]!==U[4]||this.p[5]!==U[5]||this.p[12]!==U[12]||this.p[13]!==U[13])&&(this.p=U,this._mdf.p=!0,W=!0),W};function TextProperty(B,R){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,this.data=R,this.elem=B,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(B,R){for(var F in R)Object.prototype.hasOwnProperty.call(R,F)&&(B[F]=R[F]);return B},TextProperty.prototype.setCurrentData=function(B){B.__complete||this.completeTextData(B),this.currentData=B,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){return this.kf=this.data.d.k.length>1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(B){this.effectsSequence.push(B),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(B){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!B)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var R=this.currentData,F=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var D,G=this.effectsSequence.length,U=B||this.data.d.k[this.keysIndex].s;for(D=0;D<G;D+=1)F!==this.keysIndex?U=this.effectsSequence[D](U,U.t):U=this.effectsSequence[D](this.currentData,U.t);R!==U&&this.setCurrentData(U),this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId}},TextProperty.prototype.getKeyframeValue=function(){for(var B=this.data.d.k,R=this.elem.comp.renderedFrame,F=0,D=B.length;F<=D-1&&!(F===D-1||B[F+1].t>R);)F+=1;return this.keysIndex!==F&&(this.keysIndex=F),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(B){for(var R=[],F=0,D=B.length,G,U,W=!1;F<D;)G=B.charCodeAt(F),FontManager.isCombinedCharacter(G)?R[R.length-1]+=B.charAt(F):G>=55296&&G<=56319?(U=B.charCodeAt(F+1),U>=56320&&U<=57343?(W||FontManager.isModifier(G,U)?(R[R.length-1]+=B.substr(F,2),W=!1):R.push(B.substr(F,2)),F+=1):R.push(B.charAt(F))):G>56319?(U=B.charCodeAt(F+1),FontManager.isZeroWidthJoiner(G,U)?(W=!0,R[R.length-1]+=B.substr(F,2),F+=1):R.push(B.charAt(F))):FontManager.isZeroWidthJoiner(G)?(R[R.length-1]+=B.charAt(F),W=!0):R.push(B.charAt(F)),F+=1;return R},TextProperty.prototype.completeTextData=function(B){B.__complete=!0;var R=this.elem.globalData.fontManager,F=this.data,D=[],G,U,W,q=0,Y,Q=F.m.g,Z=0,K=0,J=0,ie=[],ne=0,se=0,re,ae,le=R.getFontByName(B.f),ce,he=0,de=getFontProperties(le);B.fWeight=de.weight,B.fStyle=de.style,B.finalSize=B.s,B.finalText=this.buildFinalText(B.t),U=B.finalText.length,B.finalLineHeight=B.lh;var me=B.tr/1e3*B.finalSize,fe;if(B.sz)for(var ge=!0,Se=B.sz[0],Ee=B.sz[1],ve,xe;ge;){xe=this.buildFinalText(B.t),ve=0,ne=0,U=xe.length,me=B.tr/1e3*B.finalSize;var Pe=-1;for(G=0;G<U;G+=1)fe=xe[G].charCodeAt(0),W=!1,xe[G]===" "?Pe=G:(fe===13||fe===3)&&(ne=0,W=!0,ve+=B.finalLineHeight||B.finalSize*1.2),R.chars?(ce=R.getCharData(xe[G],le.fStyle,le.fFamily),he=W?0:ce.w*B.finalSize/100):he=R.measureText(xe[G],B.f,B.finalSize),ne+he>Se&&xe[G]!==" "?(Pe===-1?U+=1:G=Pe,ve+=B.finalLineHeight||B.finalSize*1.2,xe.splice(G,Pe===G?1:0,"\r"),Pe=-1,ne=0):(ne+=he,ne+=me);ve+=le.ascent*B.finalSize/100,this.canResize&&B.finalSize>this.minimumFontSize&&Ee<ve?(B.finalSize-=1,B.finalLineHeight=B.finalSize*B.lh/B.s):(B.finalText=xe,U=B.finalText.length,ge=!1)}ne=-me,he=0;var ye=0,Te;for(G=0;G<U;G+=1)if(W=!1,Te=B.finalText[G],fe=Te.charCodeAt(0),fe===13||fe===3?(ye=0,ie.push(ne),se=ne>se?ne:se,ne=-2*me,Y="",W=!0,J+=1):Y=Te,R.chars?(ce=R.getCharData(Te,le.fStyle,R.getFontByName(B.f).fFamily),he=W?0:ce.w*B.finalSize/100):he=R.measureText(Y,B.f,B.finalSize),Te===" "?ye+=he+me:(ne+=he+me+ye,ye=0),D.push({l:he,an:he,add:Z,n:W,anIndexes:[],val:Y,line:J,animatorJustifyOffset:0}),Q==2){if(Z+=he,Y===""||Y===" "||G===U-1){for((Y===""||Y===" ")&&(Z-=he);K<=G;)D[K].an=Z,D[K].ind=q,D[K].extra=he,K+=1;q+=1,Z=0}}else if(Q==3){if(Z+=he,Y===""||G===U-1){for(Y===""&&(Z-=he);K<=G;)D[K].an=Z,D[K].ind=q,D[K].extra=he,K+=1;Z=0,q+=1}}else D[q].ind=q,D[q].extra=0,q+=1;if(B.l=D,se=ne>se?ne:se,ie.push(ne),B.sz)B.boxWidth=B.sz[0],B.justifyOffset=0;else switch(B.boxWidth=se,B.j){case 1:B.justifyOffset=-B.boxWidth;break;case 2:B.justifyOffset=-B.boxWidth/2;break;default:B.justifyOffset=0}B.lineWidths=ie;var Le=F.a,we,Ae;ae=Le.length;var Me,ke,Ne=[];for(re=0;re<ae;re+=1){for(we=Le[re],we.a.sc&&(B.strokeColorAnim=!0),we.a.sw&&(B.strokeWidthAnim=!0),(we.a.fc||we.a.fh||we.a.fs||we.a.fb)&&(B.fillColorAnim=!0),ke=0,Me=we.s.b,G=0;G<U;G+=1)Ae=D[G],Ae.anIndexes[re]=ke,(Me==1&&Ae.val!==""||Me==2&&Ae.val!==""&&Ae.val!==" "||Me==3&&(Ae.n||Ae.val==" "||G==U-1)||Me==4&&(Ae.n||G==U-1))&&(we.s.rn===1&&Ne.push(ke),ke+=1);F.a[re].s.totalChars=ke;var Ie=-1,Ge;if(we.s.rn===1)for(G=0;G<U;G+=1)Ae=D[G],Ie!=Ae.anIndexes[re]&&(Ie=Ae.anIndexes[re],Ge=Ne.splice(Math.floor(Math.random()*Ne.length),1)[0]),Ae.anIndexes[re]=Ge}B.yOffset=B.finalLineHeight||B.finalSize*1.2,B.ls=B.ls||0,B.ascent=le.ascent*B.finalSize/100},TextProperty.prototype.updateDocumentData=function(B,R){R=R===void 0?this.keysIndex:R;var F=this.copyData({},this.data.d.k[R].s);F=this.copyData(F,B),this.data.d.k[R].s=F,this.recalculate(R),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(B){var R=this.data.d.k[B].s;R.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(R)},TextProperty.prototype.canResizeFont=function(B){this.canResize=B,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(B){this.minimumFontSize=Math.floor(B)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var B=Math.max,R=Math.min,F=Math.floor;function D(U,W){this._currentTextLength=-1,this.k=!1,this.data=W,this.elem=U,this.comp=U.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(U),this.s=PropertyFactory.getProp(U,W.s||{k:0},0,0,this),"e"in W?this.e=PropertyFactory.getProp(U,W.e,0,0,this):this.e={v:100},this.o=PropertyFactory.getProp(U,W.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(U,W.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(U,W.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(U,W.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(U,W.a,0,.01,this),this.dynamicProperties.length||this.getValue()}D.prototype={getMult:function(W){this._currentTextLength!==this.elem.textProperty.currentData.l.length&&this.getValue();var q=0,Y=0,Q=1,Z=1;this.ne.v>0?q=this.ne.v/100:Y=-this.ne.v/100,this.xe.v>0?Q=1-this.xe.v/100:Z=1+this.xe.v/100;var K=BezierFactory.getBezierEasing(q,Y,Q,Z).get,J=0,ie=this.finalS,ne=this.finalE,se=this.data.sh;if(se===2)ne===ie?J=W>=ne?1:0:J=B(0,R(.5/(ne-ie)+(W-ie)/(ne-ie),1)),J=K(J);else if(se===3)ne===ie?J=W>=ne?0:1:J=1-B(0,R(.5/(ne-ie)+(W-ie)/(ne-ie),1)),J=K(J);else if(se===4)ne===ie?J=0:(J=B(0,R(.5/(ne-ie)+(W-ie)/(ne-ie),1)),J<.5?J*=2:J=1-2*(J-.5)),J=K(J);else if(se===5){if(ne===ie)J=0;else{var re=ne-ie;W=R(B(0,W+.5-ie),ne-ie);var ae=-re/2+W,le=re/2;J=Math.sqrt(1-ae*ae/(le*le))}J=K(J)}else se===6?(ne===ie?J=0:(W=R(B(0,W+.5-ie),ne-ie),J=(1+Math.cos(Math.PI+Math.PI*2*W/(ne-ie)))/2),J=K(J)):(W>=F(ie)&&(W-ie<0?J=B(0,R(R(ne,1)-(ie-W),1)):J=B(0,R(ne-W,1))),J=K(J));if(this.sm.v!==100){var ce=this.sm.v*.01;ce===0&&(ce=1e-8);var he=.5-ce*.5;J<he?J=0:(J=(J-he)/ce,J>1&&(J=1))}return J*this.a.v},getValue:function(W){this.iterateDynamicProperties(),this._mdf=W||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,W&&this.data.r===2&&(this.e.v=this._currentTextLength);var q=this.data.r===2?1:100/this.data.totalChars,Y=this.o.v/q,Q=this.s.v/q+Y,Z=this.e.v/q+Y;if(Q>Z){var K=Q;Q=Z,Z=K}this.finalS=Q,this.finalE=Z}},extendPrototype([DynamicPropertyContainer],D);function G(U,W,q){return new D(U,W)}return{getTextSelectorProp:G}}();function TextAnimatorDataProperty(B,R,F){var D={propType:!1},G=PropertyFactory.getProp,U=R.a;this.a={r:U.r?G(B,U.r,0,degToRads,F):D,rx:U.rx?G(B,U.rx,0,degToRads,F):D,ry:U.ry?G(B,U.ry,0,degToRads,F):D,sk:U.sk?G(B,U.sk,0,degToRads,F):D,sa:U.sa?G(B,U.sa,0,degToRads,F):D,s:U.s?G(B,U.s,1,.01,F):D,a:U.a?G(B,U.a,1,0,F):D,o:U.o?G(B,U.o,0,.01,F):D,p:U.p?G(B,U.p,1,0,F):D,sw:U.sw?G(B,U.sw,0,0,F):D,sc:U.sc?G(B,U.sc,1,0,F):D,fc:U.fc?G(B,U.fc,1,0,F):D,fh:U.fh?G(B,U.fh,0,0,F):D,fs:U.fs?G(B,U.fs,0,.01,F):D,fb:U.fb?G(B,U.fb,0,.01,F):D,t:U.t?G(B,U.t,0,0,F):D},this.s=TextSelectorProp.getTextSelectorProp(B,R.s,F),this.s.t=R.s.t}function TextAnimatorProperty(B,R,F){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=B,this._renderType=R,this._elem=F,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(F)}TextAnimatorProperty.prototype.searchProperties=function(){var B,R=this._textData.a.length,F,D=PropertyFactory.getProp;for(B=0;B<R;B+=1)F=this._textData.a[B],this._animatorsData[B]=new TextAnimatorDataProperty(this._elem,F,this);this._textData.p&&"m"in this._textData.p?(this._pathData={a:D(this._elem,this._textData.p.a,0,0,this),f:D(this._elem,this._textData.p.f,0,0,this),l:D(this._elem,this._textData.p.l,0,0,this),r:D(this._elem,this._textData.p.r,0,0,this),p:D(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0):this._hasMaskedPath=!1,this._moreOptions.alignment=D(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(B,R){if(this.lettersChangedFlag=R,!(!this._mdf&&!this._isFirstFrame&&!R&&(!this._hasMaskedPath||!this._pathData.m._mdf))){this._isFirstFrame=!1;var F=this._moreOptions.alignment.v,D=this._animatorsData,G=this._textData,U=this.mHelper,W=this._renderType,q=this.renderedLetters.length,Y,Q,Z,K,J=B.l,ie,ne,se,re,ae,le,ce,he,de,me,fe,ge,Se,Ee,ve;if(this._hasMaskedPath){if(ve=this._pathData.m,!this._pathData.n||this._pathData._mdf){var xe=ve.v;this._pathData.r.v&&(xe=xe.reverse()),ie={tLength:0,segments:[]},K=xe._length-1;var Pe;for(ge=0,Z=0;Z<K;Z+=1)Pe=bez.buildBezierData(xe.v[Z],xe.v[Z+1],[xe.o[Z][0]-xe.v[Z][0],xe.o[Z][1]-xe.v[Z][1]],[xe.i[Z+1][0]-xe.v[Z+1][0],xe.i[Z+1][1]-xe.v[Z+1][1]]),ie.tLength+=Pe.segmentLength,ie.segments.push(Pe),ge+=Pe.segmentLength;Z=K,ve.v.c&&(Pe=bez.buildBezierData(xe.v[Z],xe.v[0],[xe.o[Z][0]-xe.v[Z][0],xe.o[Z][1]-xe.v[Z][1]],[xe.i[0][0]-xe.v[0][0],xe.i[0][1]-xe.v[0][1]]),ie.tLength+=Pe.segmentLength,ie.segments.push(Pe),ge+=Pe.segmentLength),this._pathData.pi=ie}if(ie=this._pathData.pi,ne=this._pathData.f.v,ce=0,le=1,re=0,ae=!0,me=ie.segments,ne<0&&ve.v.c)for(ie.tLength<Math.abs(ne)&&(ne=-Math.abs(ne)%ie.tLength),ce=me.length-1,de=me[ce].points,le=de.length-1;ne<0;)ne+=de[le].partialLength,le-=1,le<0&&(ce-=1,de=me[ce].points,le=de.length-1);de=me[ce].points,he=de[le-1],se=de[le],fe=se.partialLength}K=J.length,Y=0,Q=0;var ye=B.finalSize*1.2*.714,Te=!0,Le,we,Ae,Me,ke;Me=D.length;var Ne,Ie=-1,Ge,ze,Ve,Ye=ne,et=ce,Je=le,st=-1,pt,dt,yt,Fe,_e,je,Ze,De,Oe="",Xe=this.defaultPropsArray,tt;if(B.j===2||B.j===1){var nt=0,Ke=0,ct=B.j===2?-.5:-1,ut=0,ht=!0;for(Z=0;Z<K;Z+=1)if(J[Z].n){for(nt&&(nt+=Ke);ut<Z;)J[ut].animatorJustifyOffset=nt,ut+=1;nt=0,ht=!0}else{for(Ae=0;Ae<Me;Ae+=1)Le=D[Ae].a,Le.t.propType&&(ht&&B.j===2&&(Ke+=Le.t.v*ct),we=D[Ae].s,Ne=we.getMult(J[Z].anIndexes[Ae],G.a[Ae].s.totalChars),Ne.length?nt+=Le.t.v*Ne[0]*ct:nt+=Le.t.v*Ne*ct);ht=!1}for(nt&&(nt+=Ke);ut<Z;)J[ut].animatorJustifyOffset=nt,ut+=1}for(Z=0;Z<K;Z+=1){if(U.reset(),pt=1,J[Z].n)Y=0,Q+=B.yOffset,Q+=Te?1:0,ne=Ye,Te=!1,this._hasMaskedPath&&(ce=et,le=Je,de=me[ce].points,he=de[le-1],se=de[le],fe=se.partialLength,re=0),Oe="",De="",je="",tt="",Xe=this.defaultPropsArray;else{if(this._hasMaskedPath){if(st!==J[Z].line){switch(B.j){case 1:ne+=ge-B.lineWidths[J[Z].line];break;case 2:ne+=(ge-B.lineWidths[J[Z].line])/2;break}st=J[Z].line}Ie!==J[Z].ind&&(J[Ie]&&(ne+=J[Ie].extra),ne+=J[Z].an/2,Ie=J[Z].ind),ne+=F[0]*J[Z].an*.005;var vt=0;for(Ae=0;Ae<Me;Ae+=1)Le=D[Ae].a,Le.p.propType&&(we=D[Ae].s,Ne=we.getMult(J[Z].anIndexes[Ae],G.a[Ae].s.totalChars),Ne.length?vt+=Le.p.v[0]*Ne[0]:vt+=Le.p.v[0]*Ne),Le.a.propType&&(we=D[Ae].s,Ne=we.getMult(J[Z].anIndexes[Ae],G.a[Ae].s.totalChars),Ne.length?vt+=Le.a.v[0]*Ne[0]:vt+=Le.a.v[0]*Ne);for(ae=!0,this._pathData.a.v&&(ne=J[0].an*.5+(ge-this._pathData.f.v-J[0].an*.5-J[J.length-1].an*.5)*Ie/(K-1),ne+=this._pathData.f.v);ae;)re+fe>=ne+vt||!de?(Se=(ne+vt-re)/se.partialLength,ze=he.point[0]+(se.point[0]-he.point[0])*Se,Ve=he.point[1]+(se.point[1]-he.point[1])*Se,U.translate(-F[0]*J[Z].an*.005,-(F[1]*ye)*.01),ae=!1):de&&(re+=se.partialLength,le+=1,le>=de.length&&(le=0,ce+=1,me[ce]?de=me[ce].points:ve.v.c?(le=0,ce=0,de=me[ce].points):(re-=se.partialLength,de=null)),de&&(he=se,se=de[le],fe=se.partialLength));Ge=J[Z].an/2-J[Z].add,U.translate(-Ge,0,0)}else Ge=J[Z].an/2-J[Z].add,U.translate(-Ge,0,0),U.translate(-F[0]*J[Z].an*.005,-F[1]*ye*.01,0);for(Ae=0;Ae<Me;Ae+=1)Le=D[Ae].a,Le.t.propType&&(we=D[Ae].s,Ne=we.getMult(J[Z].anIndexes[Ae],G.a[Ae].s.totalChars),(Y!==0||B.j!==0)&&(this._hasMaskedPath?Ne.length?ne+=Le.t.v*Ne[0]:ne+=Le.t.v*Ne:Ne.length?Y+=Le.t.v*Ne[0]:Y+=Le.t.v*Ne));for(B.strokeWidthAnim&&(yt=B.sw||0),B.strokeColorAnim&&(B.sc?dt=[B.sc[0],B.sc[1],B.sc[2]]:dt=[0,0,0]),B.fillColorAnim&&B.fc&&(Fe=[B.fc[0],B.fc[1],B.fc[2]]),Ae=0;Ae<Me;Ae+=1)Le=D[Ae].a,Le.a.propType&&(we=D[Ae].s,Ne=we.getMult(J[Z].anIndexes[Ae],G.a[Ae].s.totalChars),Ne.length?U.translate(-Le.a.v[0]*Ne[0],-Le.a.v[1]*Ne[1],Le.a.v[2]*Ne[2]):U.translate(-Le.a.v[0]*Ne,-Le.a.v[1]*Ne,Le.a.v[2]*Ne));for(Ae=0;Ae<Me;Ae+=1)Le=D[Ae].a,Le.s.propType&&(we=D[Ae].s,Ne=we.getMult(J[Z].anIndexes[Ae],G.a[Ae].s.totalChars),Ne.length?U.scale(1+(Le.s.v[0]-1)*Ne[0],1+(Le.s.v[1]-1)*Ne[1],1):U.scale(1+(Le.s.v[0]-1)*Ne,1+(Le.s.v[1]-1)*Ne,1));for(Ae=0;Ae<Me;Ae+=1){if(Le=D[Ae].a,we=D[Ae].s,Ne=we.getMult(J[Z].anIndexes[Ae],G.a[Ae].s.totalChars),Le.sk.propType&&(Ne.length?U.skewFromAxis(-Le.sk.v*Ne[0],Le.sa.v*Ne[1]):U.skewFromAxis(-Le.sk.v*Ne,Le.sa.v*Ne)),Le.r.propType&&(Ne.length?U.rotateZ(-Le.r.v*Ne[2]):U.rotateZ(-Le.r.v*Ne)),Le.ry.propType&&(Ne.length?U.rotateY(Le.ry.v*Ne[1]):U.rotateY(Le.ry.v*Ne)),Le.rx.propType&&(Ne.length?U.rotateX(Le.rx.v*Ne[0]):U.rotateX(Le.rx.v*Ne)),Le.o.propType&&(Ne.length?pt+=(Le.o.v*Ne[0]-pt)*Ne[0]:pt+=(Le.o.v*Ne-pt)*Ne),B.strokeWidthAnim&&Le.sw.propType&&(Ne.length?yt+=Le.sw.v*Ne[0]:yt+=Le.sw.v*Ne),B.strokeColorAnim&&Le.sc.propType)for(_e=0;_e<3;_e+=1)Ne.length?dt[_e]+=(Le.sc.v[_e]-dt[_e])*Ne[0]:dt[_e]+=(Le.sc.v[_e]-dt[_e])*Ne;if(B.fillColorAnim&&B.fc){if(Le.fc.propType)for(_e=0;_e<3;_e+=1)Ne.length?Fe[_e]+=(Le.fc.v[_e]-Fe[_e])*Ne[0]:Fe[_e]+=(Le.fc.v[_e]-Fe[_e])*Ne;Le.fh.propType&&(Ne.length?Fe=addHueToRGB(Fe,Le.fh.v*Ne[0]):Fe=addHueToRGB(Fe,Le.fh.v*Ne)),Le.fs.propType&&(Ne.length?Fe=addSaturationToRGB(Fe,Le.fs.v*Ne[0]):Fe=addSaturationToRGB(Fe,Le.fs.v*Ne)),Le.fb.propType&&(Ne.length?Fe=addBrightnessToRGB(Fe,Le.fb.v*Ne[0]):Fe=addBrightnessToRGB(Fe,Le.fb.v*Ne))}}for(Ae=0;Ae<Me;Ae+=1)Le=D[Ae].a,Le.p.propType&&(we=D[Ae].s,Ne=we.getMult(J[Z].anIndexes[Ae],G.a[Ae].s.totalChars),this._hasMaskedPath?Ne.length?U.translate(0,Le.p.v[1]*Ne[0],-Le.p.v[2]*Ne[1]):U.translate(0,Le.p.v[1]*Ne,-Le.p.v[2]*Ne):Ne.length?U.translate(Le.p.v[0]*Ne[0],Le.p.v[1]*Ne[1],-Le.p.v[2]*Ne[2]):U.translate(Le.p.v[0]*Ne,Le.p.v[1]*Ne,-Le.p.v[2]*Ne));if(B.strokeWidthAnim&&(je=yt<0?0:yt),B.strokeColorAnim&&(Ze="rgb("+Math.round(dt[0]*255)+","+Math.round(dt[1]*255)+","+Math.round(dt[2]*255)+")"),B.fillColorAnim&&B.fc&&(De="rgb("+Math.round(Fe[0]*255)+","+Math.round(Fe[1]*255)+","+Math.round(Fe[2]*255)+")"),this._hasMaskedPath){if(U.translate(0,-B.ls),U.translate(0,F[1]*ye*.01+Q,0),this._pathData.p.v){Ee=(se.point[1]-he.point[1])/(se.point[0]-he.point[0]);var xt=Math.atan(Ee)*180/Math.PI;se.point[0]<he.point[0]&&(xt+=180),U.rotate(-xt*Math.PI/180)}U.translate(ze,Ve,0),ne-=F[0]*J[Z].an*.005,J[Z+1]&&Ie!==J[Z+1].ind&&(ne+=J[Z].an/2,ne+=B.tr*.001*B.finalSize)}else{switch(U.translate(Y,Q,0),B.ps&&U.translate(B.ps[0],B.ps[1]+B.ascent,0),B.j){case 1:U.translate(J[Z].animatorJustifyOffset+B.justifyOffset+(B.boxWidth-B.lineWidths[J[Z].line]),0,0);break;case 2:U.translate(J[Z].animatorJustifyOffset+B.justifyOffset+(B.boxWidth-B.lineWidths[J[Z].line])/2,0,0);break}U.translate(0,-B.ls),U.translate(Ge,0,0),U.translate(F[0]*J[Z].an*.005,F[1]*ye*.01,0),Y+=J[Z].l+B.tr*.001*B.finalSize}W==="html"?Oe=U.toCSS():W==="svg"?Oe=U.to2dCSS():Xe=[U.props[0],U.props[1],U.props[2],U.props[3],U.props[4],U.props[5],U.props[6],U.props[7],U.props[8],U.props[9],U.props[10],U.props[11],U.props[12],U.props[13],U.props[14],U.props[15]],tt=pt}q<=Z?(ke=new LetterProps(tt,je,Ze,De,Oe,Xe),this.renderedLetters.push(ke),q+=1,this.lettersChangedFlag=!0):(ke=this.renderedLetters[Z],this.lettersChangedFlag=ke.update(tt,je,Ze,De,Oe,Xe)||this.lettersChangedFlag)}}},TextAnimatorProperty.prototype.getValue=function(){this._elem.globalData.frameId!==this._frameId&&(this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties())},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty);function ITextElement(){}ITextElement.prototype.initElement=function(B,R,F){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(B,R,F),this.textProperty=new TextProperty(this,B.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(B.t,this.renderType,this),this.initTransform(B,R,F),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(B){this._mdf=!1,this.prepareRenderableFrame(B),this.prepareProperties(B,this.isInRange),(this.textProperty._mdf||this.textProperty._isFirstFrame)&&(this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1)},ITextElement.prototype.createPathShape=function(B,R){var F,D=R.length,G,U="";for(F=0;F<D;F+=1)R[F].ty==="sh"&&(G=R[F].ks.k,U+=buildShapeString(G,G.i.length,!0,B));return U},ITextElement.prototype.updateDocumentData=function(B,R){this.textProperty.updateDocumentData(B,R)},ITextElement.prototype.canResizeFont=function(B){this.textProperty.canResizeFont(B)},ITextElement.prototype.setMinimumFontSize=function(B){this.textProperty.setMinimumFontSize(B)},ITextElement.prototype.applyTextPropertiesToMatrix=function(B,R,F,D,G){switch(B.ps&&R.translate(B.ps[0],B.ps[1]+B.ascent,0),R.translate(0,-B.ls,0),B.j){case 1:R.translate(B.justifyOffset+(B.boxWidth-B.lineWidths[F]),0,0);break;case 2:R.translate(B.justifyOffset+(B.boxWidth-B.lineWidths[F])/2,0,0);break}R.translate(D,G,0)},ITextElement.prototype.buildColor=function(B){return"rgb("+Math.round(B[0]*255)+","+Math.round(B[1]*255)+","+Math.round(B[2]*255)+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){};var emptyShapeData={shapes:[]};function SVGTextLottieElement(B,R,F){this.textSpans=[],this.renderType="svg",this.initElement(B,R,F)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){this.data.singleShape&&!this.globalData.fontManager.chars&&(this.textContainer=createNS("text"))},SVGTextLottieElement.prototype.buildTextContents=function(B){for(var R=0,F=B.length,D=[],G="";R<F;)B[R]===String.fromCharCode(13)||B[R]===String.fromCharCode(3)?(D.push(G),G=""):G+=B[R],R+=1;return D.push(G),D},SVGTextLottieElement.prototype.buildShapeData=function(B,R){if(B.shapes&&B.shapes.length){var F=B.shapes[0];if(F.it){var D=F.it[F.it.length-1];D.s&&(D.s.k[0]=R,D.s.k[1]=R)}}return B},SVGTextLottieElement.prototype.buildNewText=function(){this.addDynamicProperty(this);var B,R,F=this.textProperty.currentData;this.renderedLetters=createSizedArray(F?F.l.length:0),F.fc?this.layerElement.setAttribute("fill",this.buildColor(F.fc)):this.layerElement.setAttribute("fill","rgba(0,0,0,0)"),F.sc&&(this.layerElement.setAttribute("stroke",this.buildColor(F.sc)),this.layerElement.setAttribute("stroke-width",F.sw)),this.layerElement.setAttribute("font-size",F.finalSize);var D=this.globalData.fontManager.getFontByName(F.f);if(D.fClass)this.layerElement.setAttribute("class",D.fClass);else{this.layerElement.setAttribute("font-family",D.fFamily);var G=F.fWeight,U=F.fStyle;this.layerElement.setAttribute("font-style",U),this.layerElement.setAttribute("font-weight",G)}this.layerElement.setAttribute("aria-label",F.t);var W=F.l||[],q=!!this.globalData.fontManager.chars;R=W.length;var Y,Q=this.mHelper,Z="",K=this.data.singleShape,J=0,ie=0,ne=!0,se=F.tr*.001*F.finalSize;if(K&&!q&&!F.sz){var re=this.textContainer,ae="start";switch(F.j){case 1:ae="end";break;case 2:ae="middle";break;default:ae="start";break}re.setAttribute("text-anchor",ae),re.setAttribute("letter-spacing",se);var le=this.buildTextContents(F.finalText);for(R=le.length,ie=F.ps?F.ps[1]+F.ascent:0,B=0;B<R;B+=1)Y=this.textSpans[B].span||createNS("tspan"),Y.textContent=le[B],Y.setAttribute("x",0),Y.setAttribute("y",ie),Y.style.display="inherit",re.appendChild(Y),this.textSpans[B]||(this.textSpans[B]={span:null,glyph:null}),this.textSpans[B].span=Y,ie+=F.finalLineHeight;this.layerElement.appendChild(re)}else{var ce=this.textSpans.length,he;for(B=0;B<R;B+=1){if(this.textSpans[B]||(this.textSpans[B]={span:null,childSpan:null,glyph:null}),!q||!K||B===0){if(Y=ce>B?this.textSpans[B].span:createNS(q?"g":"text"),ce<=B){if(Y.setAttribute("stroke-linecap","butt"),Y.setAttribute("stroke-linejoin","round"),Y.setAttribute("stroke-miterlimit","4"),this.textSpans[B].span=Y,q){var de=createNS("g");Y.appendChild(de),this.textSpans[B].childSpan=de}this.textSpans[B].span=Y,this.layerElement.appendChild(Y)}Y.style.display="inherit"}if(Q.reset(),K&&(W[B].n&&(J=-se,ie+=F.yOffset,ie+=ne?1:0,ne=!1),this.applyTextPropertiesToMatrix(F,Q,W[B].line,J,ie),J+=W[B].l||0,J+=se),q){he=this.globalData.fontManager.getCharData(F.finalText[B],D.fStyle,this.globalData.fontManager.getFontByName(F.f).fFamily);var me;if(he.t===1)me=new SVGCompElement(he.data,this.globalData,this);else{var fe=emptyShapeData;he.data&&he.data.shapes&&(fe=this.buildShapeData(he.data,F.finalSize)),me=new SVGShapeElement(fe,this.globalData,this)}if(this.textSpans[B].glyph){var ge=this.textSpans[B].glyph;this.textSpans[B].childSpan.removeChild(ge.layerElement),ge.destroy()}this.textSpans[B].glyph=me,me._debug=!0,me.prepareFrame(0),me.renderFrame(),this.textSpans[B].childSpan.appendChild(me.layerElement),he.t===1&&this.textSpans[B].childSpan.setAttribute("transform","scale("+F.finalSize/100+","+F.finalSize/100+")")}else K&&Y.setAttribute("transform","translate("+Q.props[12]+","+Q.props[13]+")"),Y.textContent=W[B].val,Y.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}K&&Y&&Y.setAttribute("d",Z)}for(;B<this.textSpans.length;)this.textSpans[B].span.style.display="none",B+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var B=this.layerElement.getBBox();this.bbox={top:B.y,left:B.x,width:B.width,height:B.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var B,R=this.textSpans.length,F;for(this.renderedFrame=this.comp.renderedFrame,B=0;B<R;B+=1)F=this.textSpans[B].glyph,F&&(F.prepareFrame(this.comp.renderedFrame-this.data.st),F._mdf&&(this._mdf=!0))},SVGTextLottieElement.prototype.renderInnerContent=function(){if((!this.data.singleShape||this._mdf)&&(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag)){this._sizeChanged=!0;var B,R,F=this.textAnimator.renderedLetters,D=this.textProperty.currentData.l;R=D.length;var G,U,W;for(B=0;B<R;B+=1)D[B].n||(G=F[B],U=this.textSpans[B].span,W=this.textSpans[B].glyph,W&&W.renderFrame(),G._mdf.m&&U.setAttribute("transform",G.m),G._mdf.o&&U.setAttribute("opacity",G.o),G._mdf.sw&&U.setAttribute("stroke-width",G.sw),G._mdf.sc&&U.setAttribute("stroke",G.sc),G._mdf.fc&&U.setAttribute("fill",G.fc))}};function ISolidElement(B,R,F){this.initElement(B,R,F)}extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var B=createNS("rect");B.setAttribute("width",this.data.sw),B.setAttribute("height",this.data.sh),B.setAttribute("fill",this.data.sc),this.layerElement.appendChild(B)};function NullElement(B,R,F){this.initFrame(),this.initBaseData(B,R,F),this.initFrame(),this.initTransform(B,R,F),this.initHierarchy()}NullElement.prototype.prepareFrame=function(B){this.prepareProperties(B,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement);function SVGRendererBase(){}extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(B){return new NullElement(B,this.globalData,this)},SVGRendererBase.prototype.createShape=function(B){return new SVGShapeElement(B,this.globalData,this)},SVGRendererBase.prototype.createText=function(B){return new SVGTextLottieElement(B,this.globalData,this)},SVGRendererBase.prototype.createImage=function(B){return new IImageElement(B,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(B){return new ISolidElement(B,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(B){this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.renderConfig.viewBoxSize?this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize):this.svgElement.setAttribute("viewBox","0 0 "+B.w+" "+B.h),this.renderConfig.viewBoxOnly||(this.svgElement.setAttribute("width",B.w),this.svgElement.setAttribute("height",B.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility),this.renderConfig.width&&this.svgElement.setAttribute("width",this.renderConfig.width),this.renderConfig.height&&this.svgElement.setAttribute("height",this.renderConfig.height),this.renderConfig.className&&this.svgElement.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.svgElement.setAttribute("id",this.renderConfig.id),this.renderConfig.focusable!==void 0&&this.svgElement.setAttribute("focusable",this.renderConfig.focusable),this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var R=this.globalData.defs;this.setupGlobalData(B,R),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=B;var F=createNS("clipPath"),D=createNS("rect");D.setAttribute("width",B.w),D.setAttribute("height",B.h),D.setAttribute("x",0),D.setAttribute("y",0);var G=createElementID();F.setAttribute("id",G),F.appendChild(D),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+G+")"),R.appendChild(F),this.layers=B.layers,this.elements=createSizedArray(B.layers.length)},SVGRendererBase.prototype.destroy=function(){this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.layerElement=null,this.globalData.defs=null;var B,R=this.layers?this.layers.length:0;for(B=0;B<R;B+=1)this.elements[B]&&this.elements[B].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.buildItem=function(B){var R=this.elements;if(!(R[B]||this.layers[B].ty===99)){R[B]=!0;var F=this.createItem(this.layers[B]);R[B]=F,getExpressionsPlugin()&&(this.layers[B].ty===0&&this.globalData.projectInterface.registerComposition(F),F.initExpressions()),this.appendElementInPos(F,B),this.layers[B].tt&&(!this.elements[B-1]||this.elements[B-1]===!0?(this.buildItem(B-1),this.addPendingElement(F)):F.setMatte(R[B-1].layerId))}},SVGRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var B=this.pendingElements.pop();if(B.checkParenting(),B.data.tt)for(var R=0,F=this.elements.length;R<F;){if(this.elements[R]===B){B.setMatte(this.elements[R-1].layerId);break}R+=1}}},SVGRendererBase.prototype.renderFrame=function(B){if(!(this.renderedFrame===B||this.destroyed)){B===null?B=this.renderedFrame:this.renderedFrame=B,this.globalData.frameNum=B,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=B,this.globalData._mdf=!1;var R,F=this.layers.length;for(this.completeLayers||this.checkLayers(B),R=F-1;R>=0;R-=1)(this.completeLayers||this.elements[R])&&this.elements[R].prepareFrame(B-this.layers[R].st);if(this.globalData._mdf)for(R=0;R<F;R+=1)(this.completeLayers||this.elements[R])&&this.elements[R].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(B,R){var F=B.getBaseElement();if(!!F){for(var D=0,G;D<R;)this.elements[D]&&this.elements[D]!==!0&&this.elements[D].getBaseElement()&&(G=this.elements[D].getBaseElement()),D+=1;G?this.layerElement.insertBefore(F,G):this.layerElement.appendChild(F)}},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"};function ICompElement(){}extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(B,R,F){this.initFrame(),this.initBaseData(B,R,F),this.initTransform(B,R,F),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),(this.data.xt||!R.progressiveLoad)&&this.buildAllItems(),this.hide()},ICompElement.prototype.prepareFrame=function(B){if(this._mdf=!1,this.prepareRenderableFrame(B),this.prepareProperties(B,this.isInRange),!(!this.isInRange&&!this.data.xt)){if(this.tm._placeholder)this.renderedFrame=B/this.data.sr;else{var R=this.tm.v;R===this.data.op&&(R=this.data.op-1),this.renderedFrame=R}var F,D=this.elements.length;for(this.completeLayers||this.checkLayers(this.renderedFrame),F=D-1;F>=0;F-=1)(this.completeLayers||this.elements[F])&&(this.elements[F].prepareFrame(this.renderedFrame-this.layers[F].st),this.elements[F]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var B,R=this.layers.length;for(B=0;B<R;B+=1)(this.completeLayers||this.elements[B])&&this.elements[B].renderFrame()},ICompElement.prototype.setElements=function(B){this.elements=B},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var B,R=this.layers.length;for(B=0;B<R;B+=1)this.elements[B]&&this.elements[B].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()};function SVGCompElement(B,R,F){this.layers=B.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(B,R,F),this.tm=B.tm?PropertyFactory.getProp(this,B.tm,0,R.frameRate,this):{_placeholder:!0}}extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(B){return new SVGCompElement(B,this.globalData,this)};function SVGRenderer(B,R){this.animationItem=B,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var F="";if(R&&R.title){var D=createNS("title"),G=createElementID();D.setAttribute("id",G),D.textContent=R.title,this.svgElement.appendChild(D),F+=G}if(R&&R.description){var U=createNS("desc"),W=createElementID();U.setAttribute("id",W),U.textContent=R.description,this.svgElement.appendChild(U),F+=" "+W}F&&this.svgElement.setAttribute("aria-labelledby",F);var q=createNS("defs");this.svgElement.appendChild(q);var Y=createNS("g");this.svgElement.appendChild(Y),this.layerElement=Y,this.renderConfig={preserveAspectRatio:R&&R.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:R&&R.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:R&&R.contentVisibility||"visible",progressiveLoad:R&&R.progressiveLoad||!1,hideOnTransparent:!(R&&R.hideOnTransparent===!1),viewBoxOnly:R&&R.viewBoxOnly||!1,viewBoxSize:R&&R.viewBoxSize||!1,className:R&&R.className||"",id:R&&R.id||"",focusable:R&&R.focusable,filterSize:{width:R&&R.filterSize&&R.filterSize.width||"100%",height:R&&R.filterSize&&R.filterSize.height||"100%",x:R&&R.filterSize&&R.filterSize.x||"0%",y:R&&R.filterSize&&R.filterSize.y||"0%"},width:R&&R.width,height:R&&R.height},this.globalData={_mdf:!1,frameNum:-1,defs:q,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(B){return new SVGCompElement(B,this.globalData,this)};function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matrix,this.cO=1;var B,R=15;for(this.savedOp=createTypedArray("float32",R),B=0;B<R;B+=1)this.saved[B]=createTypedArray("float32",16);this._length=R}CVContextData.prototype.duplicate=function(){var B=this._length*2,R=this.savedOp;this.savedOp=createTypedArray("float32",B),this.savedOp.set(R);var F=0;for(F=this._length;F<B;F+=1)this.saved[F]=createTypedArray("float32",16);this._length=B},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.cO=1};function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}ShapeTransformManager.prototype={addTransformSequence:function(R){var F,D=R.length,G="_";for(F=0;F<D;F+=1)G+=R[F].transform.key+"_";var U=this.sequences[G];return U||(U={transforms:[].concat(R),finalTransform:new Matrix,_mdf:!1},this.sequences[G]=U,this.sequenceList.push(U)),U},processSequence:function(R,F){for(var D=0,G=R.transforms.length,U=F;D<G&&!F;){if(R.transforms[D].transform.mProps._mdf){U=!0;break}D+=1}if(U){var W;for(R.finalTransform.reset(),D=G-1;D>=0;D-=1)W=R.transforms[D].transform.mProps.v.props,R.finalTransform.transform(W[0],W[1],W[2],W[3],W[4],W[5],W[6],W[7],W[8],W[9],W[10],W[11],W[12],W[13],W[14],W[15])}R._mdf=U},processSequences:function(R){var F,D=this.sequenceList.length;for(F=0;F<D;F+=1)this.processSequence(this.sequenceList[F],R)},getNewKey:function(){return this.transform_key_count+=1,"_"+this.transform_key_count}};function CVEffects(){}CVEffects.prototype.renderFrame=function(){};function CVMaskElement(B,R){this.data=B,this.element=R,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var F,D=this.masksProperties.length,G=!1;for(F=0;F<D;F+=1)this.masksProperties[F].mode!=="n"&&(G=!0),this.viewData[F]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[F],3);this.hasMasks=G,G&&this.element.addRenderableComponent(this)}CVMaskElement.prototype.renderFrame=function(){if(!!this.hasMasks){var B=this.element.finalTransform.mat,R=this.element.canvasContext,F,D=this.masksProperties.length,G,U,W;for(R.beginPath(),F=0;F<D;F+=1)if(this.masksProperties[F].mode!=="n"){this.masksProperties[F].inv&&(R.moveTo(0,0),R.lineTo(this.element.globalData.compSize.w,0),R.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),R.lineTo(0,this.element.globalData.compSize.h),R.lineTo(0,0)),W=this.viewData[F].v,G=B.applyToPointArray(W.v[0][0],W.v[0][1],0),R.moveTo(G[0],G[1]);var q,Y=W._length;for(q=1;q<Y;q+=1)U=B.applyToTriplePoints(W.o[q-1],W.i[q],W.v[q]),R.bezierCurveTo(U[0],U[1],U[2],U[3],U[4],U[5]);U=B.applyToTriplePoints(W.o[q-1],W.i[0],W.v[0]),R.bezierCurveTo(U[0],U[1],U[2],U[3],U[4],U[5])}this.element.globalData.renderer.save(!0),R.clip()}},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null};function CVBaseElement(){}CVBaseElement.prototype={createElements:function(){},initRendererElement:function(){},createContainerElements:function(){this.canvasContext=this.globalData.canvasContext,this.renderableEffectsManager=new CVEffects},createContent:function(){},setBlendMode:function(){var R=this.globalData;if(R.blendMode!==this.data.bm){R.blendMode=this.data.bm;var F=getBlendMode(this.data.bm);R.canvasContext.globalCompositeOperation=F}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this)},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)},renderFrame:function(){if(!(this.hidden||this.data.hd)){this.renderTransform(),this.renderRenderable(),this.setBlendMode();var R=this.data.ty===0;this.globalData.renderer.save(R),this.globalData.renderer.ctxTransform(this.finalTransform.mat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v),this.renderInnerContent(),this.globalData.renderer.restore(R),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(B,R,F,D){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var G=4;R.ty==="rc"?G=5:R.ty==="el"?G=6:R.ty==="sr"&&(G=7),this.sh=ShapePropertyFactory.getShapeProp(B,R,G,B);var U,W=F.length,q;for(U=0;U<W;U+=1)F[U].closed||(q={transforms:D.addTransformSequence(F[U].transforms),trNodes:[]},this.styledShapes.push(q),F[U].elements.push(q))}CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated;function CVShapeElement(B,R,F){this.shapes=[],this.shapesData=B.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(B,R,F)}extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(B,R){var F={data:B,type:B.ty,preTransforms:this.transformsManager.addTransformSequence(R),transforms:[],elements:[],closed:B.hd===!0},D={};if(B.ty==="fl"||B.ty==="st"?(D.c=PropertyFactory.getProp(this,B.c,1,255,this),D.c.k||(F.co="rgb("+bmFloor(D.c.v[0])+","+bmFloor(D.c.v[1])+","+bmFloor(D.c.v[2])+")")):(B.ty==="gf"||B.ty==="gs")&&(D.s=PropertyFactory.getProp(this,B.s,1,null,this),D.e=PropertyFactory.getProp(this,B.e,1,null,this),D.h=PropertyFactory.getProp(this,B.h||{k:0},0,.01,this),D.a=PropertyFactory.getProp(this,B.a||{k:0},0,degToRads,this),D.g=new GradientProperty(this,B.g,this)),D.o=PropertyFactory.getProp(this,B.o,0,.01,this),B.ty==="st"||B.ty==="gs"){if(F.lc=lineCapEnum[B.lc||2],F.lj=lineJoinEnum[B.lj||2],B.lj==1&&(F.ml=B.ml),D.w=PropertyFactory.getProp(this,B.w,0,null,this),D.w.k||(F.wi=D.w.v),B.d){var G=new DashProperty(this,B.d,"canvas",this);D.d=G,D.d.k||(F.da=D.d.dashArray,F.do=D.d.dashoffset[0])}}else F.r=B.r===2?"evenodd":"nonzero";return this.stylesList.push(F),D.style=F,D},CVShapeElement.prototype.createGroupElement=function(){var B={it:[],prevViewData:[]};return B},CVShapeElement.prototype.createTransformElement=function(B){var R={transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,B.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,B,this)}};return R},CVShapeElement.prototype.createShapeElement=function(B){var R=new CVShapeData(this,B,this.stylesList,this.transformsManager);return this.shapes.push(R),this.addShapeToModifiers(R),R},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var B,R=this.itemsData.length;for(B=0;B<R;B+=1)this.prevViewData[B]=this.itemsData[B];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),R=this.dynamicProperties.length,B=0;B<R;B+=1)this.dynamicProperties[B].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(B){var R,F=this.stylesList.length;for(R=0;R<F;R+=1)this.stylesList[R].closed||this.stylesList[R].transforms.push(B)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var B,R=this.stylesList.length;for(B=0;B<R;B+=1)this.stylesList[B].closed||this.stylesList[B].transforms.pop()},CVShapeElement.prototype.closeStyles=function(B){var R,F=B.length;for(R=0;R<F;R+=1)B[R].closed=!0},CVShapeElement.prototype.searchShapes=function(B,R,F,D,G){var U,W=B.length-1,q,Y,Q=[],Z=[],K,J,ie,ne=[].concat(G);for(U=W;U>=0;U-=1){if(K=this.searchProcessedElement(B[U]),K?R[U]=F[K-1]:B[U]._shouldRender=D,B[U].ty==="fl"||B[U].ty==="st"||B[U].ty==="gf"||B[U].ty==="gs")K?R[U].style.closed=!1:R[U]=this.createStyleElement(B[U],ne),Q.push(R[U].style);else if(B[U].ty==="gr"){if(!K)R[U]=this.createGroupElement(B[U]);else for(Y=R[U].it.length,q=0;q<Y;q+=1)R[U].prevViewData[q]=R[U].it[q];this.searchShapes(B[U].it,R[U].it,R[U].prevViewData,D,ne)}else B[U].ty==="tr"?(K||(ie=this.createTransformElement(B[U]),R[U]=ie),ne.push(R[U]),this.addTransformToStyleList(R[U])):B[U].ty==="sh"||B[U].ty==="rc"||B[U].ty==="el"||B[U].ty==="sr"?K||(R[U]=this.createShapeElement(B[U])):B[U].ty==="tm"||B[U].ty==="rd"||B[U].ty==="pb"?(K?(J=R[U],J.closed=!1):(J=ShapeModifiers.getModifier(B[U].ty),J.init(this,B[U]),R[U]=J,this.shapeModifiers.push(J)),Z.push(J)):B[U].ty==="rp"&&(K?(J=R[U],J.closed=!0):(J=ShapeModifiers.getModifier(B[U].ty),R[U]=J,J.init(this,B,U,R),this.shapeModifiers.push(J),D=!1),Z.push(J));this.addProcessedElement(B[U],U+1)}for(this.removeTransformFromStyleList(),this.closeStyles(Q),W=Z.length,U=0;U<W;U+=1)Z[U].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(B,R){(B._opMdf||R.op._mdf||this._isFirstFrame)&&(R.opacity=B.opacity,R.opacity*=R.op.v,R._opMdf=!0)},CVShapeElement.prototype.drawLayer=function(){var B,R=this.stylesList.length,F,D,G,U,W,q,Y=this.globalData.renderer,Q=this.globalData.canvasContext,Z,K;for(B=0;B<R;B+=1)if(K=this.stylesList[B],Z=K.type,!((Z==="st"||Z==="gs")&&K.wi===0||!K.data._shouldRender||K.coOp===0||this.globalData.currentGlobalAlpha===0)){for(Y.save(),W=K.elements,Z==="st"||Z==="gs"?(Q.strokeStyle=Z==="st"?K.co:K.grd,Q.lineWidth=K.wi,Q.lineCap=K.lc,Q.lineJoin=K.lj,Q.miterLimit=K.ml||0):Q.fillStyle=Z==="fl"?K.co:K.grd,Y.ctxOpacity(K.coOp),Z!=="st"&&Z!=="gs"&&Q.beginPath(),Y.ctxTransform(K.preTransforms.finalTransform.props),D=W.length,F=0;F<D;F+=1){for((Z==="st"||Z==="gs")&&(Q.beginPath(),K.da&&(Q.setLineDash(K.da),Q.lineDashOffset=K.do)),q=W[F].trNodes,U=q.length,G=0;G<U;G+=1)q[G].t==="m"?Q.moveTo(q[G].p[0],q[G].p[1]):q[G].t==="c"?Q.bezierCurveTo(q[G].pts[0],q[G].pts[1],q[G].pts[2],q[G].pts[3],q[G].pts[4],q[G].pts[5]):Q.closePath();(Z==="st"||Z==="gs")&&(Q.stroke(),K.da&&Q.setLineDash(this.dashResetter))}Z!=="st"&&Z!=="gs"&&Q.fill(K.r),Y.restore()}},CVShapeElement.prototype.renderShape=function(B,R,F,D){var G,U=R.length-1,W;for(W=B,G=U;G>=0;G-=1)R[G].ty==="tr"?(W=F[G].transform,this.renderShapeTransform(B,W)):R[G].ty==="sh"||R[G].ty==="el"||R[G].ty==="rc"||R[G].ty==="sr"?this.renderPath(R[G],F[G]):R[G].ty==="fl"?this.renderFill(R[G],F[G],W):R[G].ty==="st"?this.renderStroke(R[G],F[G],W):R[G].ty==="gf"||R[G].ty==="gs"?this.renderGradientFill(R[G],F[G],W):R[G].ty==="gr"?this.renderShape(W,R[G].it,F[G].it):R[G].ty;D&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(B,R){if(this._isFirstFrame||R._mdf||B.transforms._mdf){var F=B.trNodes,D=R.paths,G,U,W,q=D._length;F.length=0;var Y=B.transforms.finalTransform;for(W=0;W<q;W+=1){var Q=D.shapes[W];if(Q&&Q.v){for(U=Q._length,G=1;G<U;G+=1)G===1&&F.push({t:"m",p:Y.applyToPointArray(Q.v[0][0],Q.v[0][1],0)}),F.push({t:"c",pts:Y.applyToTriplePoints(Q.o[G-1],Q.i[G],Q.v[G])});U===1&&F.push({t:"m",p:Y.applyToPointArray(Q.v[0][0],Q.v[0][1],0)}),Q.c&&U&&(F.push({t:"c",pts:Y.applyToTriplePoints(Q.o[G-1],Q.i[0],Q.v[0])}),F.push({t:"z"}))}}B.trNodes=F}},CVShapeElement.prototype.renderPath=function(B,R){if(B.hd!==!0&&B._shouldRender){var F,D=R.styledShapes.length;for(F=0;F<D;F+=1)this.renderStyledShape(R.styledShapes[F],R.sh)}},CVShapeElement.prototype.renderFill=function(B,R,F){var D=R.style;(R.c._mdf||this._isFirstFrame)&&(D.co="rgb("+bmFloor(R.c.v[0])+","+bmFloor(R.c.v[1])+","+bmFloor(R.c.v[2])+")"),(R.o._mdf||F._opMdf||this._isFirstFrame)&&(D.coOp=R.o.v*F.opacity)},CVShapeElement.prototype.renderGradientFill=function(B,R,F){var D=R.style,G;if(!D.grd||R.g._mdf||R.s._mdf||R.e._mdf||B.t!==1&&(R.h._mdf||R.a._mdf)){var U=this.globalData.canvasContext,W=R.s.v,q=R.e.v;if(B.t===1)G=U.createLinearGradient(W[0],W[1],q[0],q[1]);else{var Y=Math.sqrt(Math.pow(W[0]-q[0],2)+Math.pow(W[1]-q[1],2)),Q=Math.atan2(q[1]-W[1],q[0]-W[0]),Z=R.h.v;Z>=1?Z=.99:Z<=-1&&(Z=-.99);var K=Y*Z,J=Math.cos(Q+R.a.v)*K+W[0],ie=Math.sin(Q+R.a.v)*K+W[1];G=U.createRadialGradient(J,ie,0,W[0],W[1],Y)}var ne,se=B.g.p,re=R.g.c,ae=1;for(ne=0;ne<se;ne+=1)R.g._hasOpacity&&R.g._collapsable&&(ae=R.g.o[ne*2+1]),G.addColorStop(re[ne*4]/100,"rgba("+re[ne*4+1]+","+re[ne*4+2]+","+re[ne*4+3]+","+ae+")");D.grd=G}D.coOp=R.o.v*F.opacity},CVShapeElement.prototype.renderStroke=function(B,R,F){var D=R.style,G=R.d;G&&(G._mdf||this._isFirstFrame)&&(D.da=G.dashArray,D.do=G.dashoffset[0]),(R.c._mdf||this._isFirstFrame)&&(D.co="rgb("+bmFloor(R.c.v[0])+","+bmFloor(R.c.v[1])+","+bmFloor(R.c.v[2])+")"),(R.o._mdf||F._opMdf||this._isFirstFrame)&&(D.coOp=R.o.v*F.opacity),(R.w._mdf||this._isFirstFrame)&&(D.wi=R.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0};function CVTextElement(B,R,F){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(B,R,F)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var B=this.textProperty.currentData;this.renderedLetters=createSizedArray(B.l?B.l.length:0);var R=!1;B.fc?(R=!0,this.values.fill=this.buildColor(B.fc)):this.values.fill="rgba(0,0,0,0)",this.fill=R;var F=!1;B.sc&&(F=!0,this.values.stroke=this.buildColor(B.sc),this.values.sWidth=B.sw);var D=this.globalData.fontManager.getFontByName(B.f),G,U,W=B.l,q=this.mHelper;this.stroke=F,this.values.fValue=B.finalSize+"px "+this.globalData.fontManager.getFontByName(B.f).fFamily,U=B.finalText.length;var Y,Q,Z,K,J,ie,ne,se,re,ae,le=this.data.singleShape,ce=B.tr*.001*B.finalSize,he=0,de=0,me=!0,fe=0;for(G=0;G<U;G+=1){Y=this.globalData.fontManager.getCharData(B.finalText[G],D.fStyle,this.globalData.fontManager.getFontByName(B.f).fFamily),Q=Y&&Y.data||{},q.reset(),le&&W[G].n&&(he=-ce,de+=B.yOffset,de+=me?1:0,me=!1),J=Q.shapes?Q.shapes[0].it:[],ne=J.length,q.scale(B.finalSize/100,B.finalSize/100),le&&this.applyTextPropertiesToMatrix(B,q,W[G].line,he,de),re=createSizedArray(ne-1);var ge=0;for(ie=0;ie<ne;ie+=1)if(J[ie].ty==="sh"){for(K=J[ie].ks.k.i.length,se=J[ie].ks.k,ae=[],Z=1;Z<K;Z+=1)Z===1&&ae.push(q.applyToX(se.v[0][0],se.v[0][1],0),q.applyToY(se.v[0][0],se.v[0][1],0)),ae.push(q.applyToX(se.o[Z-1][0],se.o[Z-1][1],0),q.applyToY(se.o[Z-1][0],se.o[Z-1][1],0),q.applyToX(se.i[Z][0],se.i[Z][1],0),q.applyToY(se.i[Z][0],se.i[Z][1],0),q.applyToX(se.v[Z][0],se.v[Z][1],0),q.applyToY(se.v[Z][0],se.v[Z][1],0));ae.push(q.applyToX(se.o[Z-1][0],se.o[Z-1][1],0),q.applyToY(se.o[Z-1][0],se.o[Z-1][1],0),q.applyToX(se.i[0][0],se.i[0][1],0),q.applyToY(se.i[0][0],se.i[0][1],0),q.applyToX(se.v[0][0],se.v[0][1],0),q.applyToY(se.v[0][0],se.v[0][1],0)),re[ge]=ae,ge+=1}le&&(he+=W[G].l,he+=ce),this.textSpans[fe]?this.textSpans[fe].elem=re:this.textSpans[fe]={elem:re},fe+=1}},CVTextElement.prototype.renderInnerContent=function(){var B=this.canvasContext;B.font=this.values.fValue,B.lineCap="butt",B.lineJoin="miter",B.miterLimit=4,this.data.singleShape||this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var R,F,D,G,U,W,q=this.textAnimator.renderedLetters,Y=this.textProperty.currentData.l;F=Y.length;var Q,Z=null,K=null,J=null,ie,ne;for(R=0;R<F;R+=1)if(!Y[R].n){if(Q=q[R],Q&&(this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(Q.p),this.globalData.renderer.ctxOpacity(Q.o)),this.fill){for(Q&&Q.fc?Z!==Q.fc&&(Z=Q.fc,B.fillStyle=Q.fc):Z!==this.values.fill&&(Z=this.values.fill,B.fillStyle=this.values.fill),ie=this.textSpans[R].elem,G=ie.length,this.globalData.canvasContext.beginPath(),D=0;D<G;D+=1)for(ne=ie[D],W=ne.length,this.globalData.canvasContext.moveTo(ne[0],ne[1]),U=2;U<W;U+=6)this.globalData.canvasContext.bezierCurveTo(ne[U],ne[U+1],ne[U+2],ne[U+3],ne[U+4],ne[U+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.fill()}if(this.stroke){for(Q&&Q.sw?J!==Q.sw&&(J=Q.sw,B.lineWidth=Q.sw):J!==this.values.sWidth&&(J=this.values.sWidth,B.lineWidth=this.values.sWidth),Q&&Q.sc?K!==Q.sc&&(K=Q.sc,B.strokeStyle=Q.sc):K!==this.values.stroke&&(K=this.values.stroke,B.strokeStyle=this.values.stroke),ie=this.textSpans[R].elem,G=ie.length,this.globalData.canvasContext.beginPath(),D=0;D<G;D+=1)for(ne=ie[D],W=ne.length,this.globalData.canvasContext.moveTo(ne[0],ne[1]),U=2;U<W;U+=6)this.globalData.canvasContext.bezierCurveTo(ne[U],ne[U+1],ne[U+2],ne[U+3],ne[U+4],ne[U+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.stroke()}Q&&this.globalData.renderer.restore()}};function CVImageElement(B,R,F){this.assetData=R.getAssetData(B.refId),this.img=R.imageLoader.getAsset(this.assetData),this.initElement(B,R,F)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var B=createTag("canvas");B.width=this.assetData.w,B.height=this.assetData.h;var R=B.getContext("2d"),F=this.img.width,D=this.img.height,G=F/D,U=this.assetData.w/this.assetData.h,W,q,Y=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;G>U&&Y==="xMidYMid slice"||G<U&&Y!=="xMidYMid slice"?(q=D,W=q*U):(W=F,q=W/U),R.drawImage(this.img,(F-W)/2,(D-q)/2,W,q,0,0,this.assetData.w,this.assetData.h),this.img=B}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null};function CVSolidElement(B,R,F){this.initElement(B,R,F)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){var B=this.canvasContext;B.fillStyle=this.data.sc,B.fillRect(0,0,this.data.sw,this.data.sh)};function CanvasRendererBase(B,R){this.animationItem=B,this.renderConfig={clearCanvas:R&&R.clearCanvas!==void 0?R.clearCanvas:!0,context:R&&R.context||null,progressiveLoad:R&&R.progressiveLoad||!1,preserveAspectRatio:R&&R.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:R&&R.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:R&&R.contentVisibility||"visible",className:R&&R.className||"",id:R&&R.id||""},this.renderConfig.dpr=R&&R.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=R&&R.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"}extendPrototype([BaseRenderer],CanvasRendererBase),CanvasRendererBase.prototype.createShape=function(B){return new CVShapeElement(B,this.globalData,this)},CanvasRendererBase.prototype.createText=function(B){return new CVTextElement(B,this.globalData,this)},CanvasRendererBase.prototype.createImage=function(B){return new CVImageElement(B,this.globalData,this)},CanvasRendererBase.prototype.createSolid=function(B){return new CVSolidElement(B,this.globalData,this)},CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRendererBase.prototype.ctxTransform=function(B){if(!(B[0]===1&&B[1]===0&&B[4]===0&&B[5]===1&&B[12]===0&&B[13]===0)){if(!this.renderConfig.clearCanvas){this.canvasContext.transform(B[0],B[1],B[4],B[5],B[12],B[13]);return}this.transformMat.cloneFromProps(B);var R=this.contextData.cTr.props;this.transformMat.transform(R[0],R[1],R[2],R[3],R[4],R[5],R[6],R[7],R[8],R[9],R[10],R[11],R[12],R[13],R[14],R[15]),this.contextData.cTr.cloneFromProps(this.transformMat.props);var F=this.contextData.cTr.props;this.canvasContext.setTransform(F[0],F[1],F[4],F[5],F[12],F[13])}},CanvasRendererBase.prototype.ctxOpacity=function(B){if(!this.renderConfig.clearCanvas){this.canvasContext.globalAlpha*=B<0?0:B,this.globalData.currentGlobalAlpha=this.contextData.cO;return}this.contextData.cO*=B<0?0:B,this.globalData.currentGlobalAlpha!==this.contextData.cO&&(this.canvasContext.globalAlpha=this.contextData.cO,this.globalData.currentGlobalAlpha=this.contextData.cO)},CanvasRendererBase.prototype.reset=function(){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}this.contextData.reset()},CanvasRendererBase.prototype.save=function(B){if(!this.renderConfig.clearCanvas){this.canvasContext.save();return}B&&this.canvasContext.save();var R=this.contextData.cTr.props;this.contextData._length<=this.contextData.cArrPos&&this.contextData.duplicate();var F,D=this.contextData.saved[this.contextData.cArrPos];for(F=0;F<16;F+=1)D[F]=R[F];this.contextData.savedOp[this.contextData.cArrPos]=this.contextData.cO,this.contextData.cArrPos+=1},CanvasRendererBase.prototype.restore=function(B){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}B&&(this.canvasContext.restore(),this.globalData.blendMode="source-over"),this.contextData.cArrPos-=1;var R=this.contextData.saved[this.contextData.cArrPos],F,D=this.contextData.cTr.props;for(F=0;F<16;F+=1)D[F]=R[F];this.canvasContext.setTransform(R[0],R[1],R[4],R[5],R[12],R[13]),R=this.contextData.savedOp[this.contextData.cArrPos],this.contextData.cO=R,this.globalData.currentGlobalAlpha!==R&&(this.canvasContext.globalAlpha=R,this.globalData.currentGlobalAlpha=R)},CanvasRendererBase.prototype.configAnimation=function(B){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var R=this.animationItem.container.style;R.width="100%",R.height="100%";var F="0px 0px 0px";R.transformOrigin=F,R.mozTransformOrigin=F,R.webkitTransformOrigin=F,R["-webkit-transform"]=F,R.contentVisibility=this.renderConfig.contentVisibility,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className&&this.animationItem.container.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.data=B,this.layers=B.layers,this.transformCanvas={w:B.w,h:B.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(B,document.body),this.globalData.canvasContext=this.canvasContext,this.globalData.renderer=this,this.globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(B.layers.length),this.updateContainerSize()},CanvasRendererBase.prototype.updateContainerSize=function(){this.reset();var B,R;this.animationItem.wrapper&&this.animationItem.container?(B=this.animationItem.wrapper.offsetWidth,R=this.animationItem.wrapper.offsetHeight,this.animationItem.container.setAttribute("width",B*this.renderConfig.dpr),this.animationItem.container.setAttribute("height",R*this.renderConfig.dpr)):(B=this.canvasContext.canvas.width*this.renderConfig.dpr,R=this.canvasContext.canvas.height*this.renderConfig.dpr);var F,D;if(this.renderConfig.preserveAspectRatio.indexOf("meet")!==-1||this.renderConfig.preserveAspectRatio.indexOf("slice")!==-1){var G=this.renderConfig.preserveAspectRatio.split(" "),U=G[1]||"meet",W=G[0]||"xMidYMid",q=W.substr(0,4),Y=W.substr(4);F=B/R,D=this.transformCanvas.w/this.transformCanvas.h,D>F&&U==="meet"||D<F&&U==="slice"?(this.transformCanvas.sx=B/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=B/(this.transformCanvas.w/this.renderConfig.dpr)):(this.transformCanvas.sx=R/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.sy=R/(this.transformCanvas.h/this.renderConfig.dpr)),q==="xMid"&&(D<F&&U==="meet"||D>F&&U==="slice")?this.transformCanvas.tx=(B-this.transformCanvas.w*(R/this.transformCanvas.h))/2*this.renderConfig.dpr:q==="xMax"&&(D<F&&U==="meet"||D>F&&U==="slice")?this.transformCanvas.tx=(B-this.transformCanvas.w*(R/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,Y==="YMid"&&(D>F&&U==="meet"||D<F&&U==="slice")?this.transformCanvas.ty=(R-this.transformCanvas.h*(B/this.transformCanvas.w))/2*this.renderConfig.dpr:Y==="YMax"&&(D>F&&U==="meet"||D<F&&U==="slice")?this.transformCanvas.ty=(R-this.transformCanvas.h*(B/this.transformCanvas.w))*this.renderConfig.dpr:this.transformCanvas.ty=0}else this.renderConfig.preserveAspectRatio==="none"?(this.transformCanvas.sx=B/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=R/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0):(this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr,this.transformCanvas.tx=0,this.transformCanvas.ty=0);this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRendererBase.prototype.destroy=function(){this.renderConfig.clearCanvas&&this.animationItem.wrapper&&(this.animationItem.wrapper.innerText="");var B,R=this.layers?this.layers.length:0;for(B=R-1;B>=0;B-=1)this.elements[B]&&this.elements[B].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(B,R){if(!(this.renderedFrame===B&&this.renderConfig.clearCanvas===!0&&!R||this.destroyed||B===-1)){this.renderedFrame=B,this.globalData.frameNum=B-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||R,this.globalData.projectInterface.currentFrame=B;var F,D=this.layers.length;for(this.completeLayers||this.checkLayers(B),F=0;F<D;F+=1)(this.completeLayers||this.elements[F])&&this.elements[F].prepareFrame(B-this.layers[F].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),F=D-1;F>=0;F-=1)(this.completeLayers||this.elements[F])&&this.elements[F].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(B){var R=this.elements;if(!(R[B]||this.layers[B].ty===99)){var F=this.createItem(this.layers[B],this,this.globalData);R[B]=F,F.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var B=this.pendingElements.pop();B.checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"};function CVCompElement(B,R,F){this.completeLayers=!1,this.layers=B.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(B,R,F),this.tm=B.tm?PropertyFactory.getProp(this,B.tm,0,R.frameRate,this):{_placeholder:!0}}extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var B=this.canvasContext;B.beginPath(),B.moveTo(0,0),B.lineTo(this.data.w,0),B.lineTo(this.data.w,this.data.h),B.lineTo(0,this.data.h),B.lineTo(0,0),B.clip();var R,F=this.layers.length;for(R=F-1;R>=0;R-=1)(this.completeLayers||this.elements[R])&&this.elements[R].renderFrame()},CVCompElement.prototype.destroy=function(){var B,R=this.layers.length;for(B=R-1;B>=0;B-=1)this.elements[B]&&this.elements[B].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(B){return new CVCompElement(B,this.globalData,this)};function CanvasRenderer(B,R){this.animationItem=B,this.renderConfig={clearCanvas:R&&R.clearCanvas!==void 0?R.clearCanvas:!0,context:R&&R.context||null,progressiveLoad:R&&R.progressiveLoad||!1,preserveAspectRatio:R&&R.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:R&&R.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:R&&R.contentVisibility||"visible",className:R&&R.className||"",id:R&&R.id||""},this.renderConfig.dpr=R&&R.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=R&&R.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"}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(B){return new CVCompElement(B,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.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 R=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var F=this.finalTransform.mat.toCSS();R.transform=F,R.webkitTransform=F}this.finalTransform._opMdf&&(R.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(B,R,F){this.initElement(B,R,F)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var B;this.data.hasMask?(B=createNS("rect"),B.setAttribute("width",this.data.sw),B.setAttribute("height",this.data.sh),B.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):(B=createTag("div"),B.style.width=this.data.sw+"px",B.style.height=this.data.sh+"px",B.style.backgroundColor=this.data.sc),this.layerElement.appendChild(B)};function HShapeElement(B,R,F){this.shapes=[],this.shapesData=B.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(B,R,F),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 B;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),B=this.svgElement;else{B=createNS("svg");var R=this.comp.data?this.comp.data:this.globalData.compSize;B.setAttribute("width",R.w),B.setAttribute("height",R.h),B.appendChild(this.shapesContainer),this.layerElement.appendChild(B)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=B},HShapeElement.prototype.getTransformedPoint=function(B,R){var F,D=B.length;for(F=0;F<D;F+=1)R=B[F].mProps.v.applyToPointArray(R[0],R[1],0);return R},HShapeElement.prototype.calculateShapeBoundingBox=function(B,R){var F=B.sh.v,D=B.transformers,G,U=F._length,W,q,Y,Q;if(!(U<=1)){for(G=0;G<U-1;G+=1)W=this.getTransformedPoint(D,F.v[G]),q=this.getTransformedPoint(D,F.o[G]),Y=this.getTransformedPoint(D,F.i[G+1]),Q=this.getTransformedPoint(D,F.v[G+1]),this.checkBounds(W,q,Y,Q,R);F.c&&(W=this.getTransformedPoint(D,F.v[G]),q=this.getTransformedPoint(D,F.o[G]),Y=this.getTransformedPoint(D,F.i[0]),Q=this.getTransformedPoint(D,F.v[0]),this.checkBounds(W,q,Y,Q,R))}},HShapeElement.prototype.checkBounds=function(B,R,F,D,G){this.getBoundsOfCurve(B,R,F,D);var U=this.shapeBoundingBox;G.x=bmMin(U.left,G.x),G.xMax=bmMax(U.right,G.xMax),G.y=bmMin(U.top,G.y),G.yMax=bmMax(U.bottom,G.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(B,R,F,D){for(var G=[[B[0],D[0]],[B[1],D[1]]],U,W,q,Y,Q,Z,K,J=0;J<2;++J)W=6*B[J]-12*R[J]+6*F[J],U=-3*B[J]+9*R[J]-9*F[J]+3*D[J],q=3*R[J]-3*B[J],W|=0,U|=0,q|=0,U===0&&W===0||(U===0?(Y=-q/W,Y>0&&Y<1&&G[J].push(this.calculateF(Y,B,R,F,D,J))):(Q=W*W-4*q*U,Q>=0&&(Z=(-W+bmSqrt(Q))/(2*U),Z>0&&Z<1&&G[J].push(this.calculateF(Z,B,R,F,D,J)),K=(-W-bmSqrt(Q))/(2*U),K>0&&K<1&&G[J].push(this.calculateF(K,B,R,F,D,J)))));this.shapeBoundingBox.left=bmMin.apply(null,G[0]),this.shapeBoundingBox.top=bmMin.apply(null,G[1]),this.shapeBoundingBox.right=bmMax.apply(null,G[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,G[1])},HShapeElement.prototype.calculateF=function(B,R,F,D,G,U){return bmPow(1-B,3)*R[U]+3*bmPow(1-B,2)*B*F[U]+3*(1-B)*bmPow(B,2)*D[U]+bmPow(B,3)*G[U]},HShapeElement.prototype.calculateBoundingBox=function(B,R){var F,D=B.length;for(F=0;F<D;F+=1)B[F]&&B[F].sh?this.calculateShapeBoundingBox(B[F],R):B[F]&&B[F].it?this.calculateBoundingBox(B[F].it,R):B[F]&&B[F].style&&B[F].w&&this.expandStrokeBoundingBox(B[F].w,R)},HShapeElement.prototype.expandStrokeBoundingBox=function(B,R){var F=0;if(B.keyframes){for(var D=0;D<B.keyframes.length;D+=1){var G=B.keyframes[D].s;G>F&&(F=G)}F*=B.mult}else F=B.v*B.mult;R.x-=F,R.xMax+=F,R.y-=F,R.yMax+=F},HShapeElement.prototype.currentBoxContains=function(B){return this.currentBBox.x<=B.x&&this.currentBBox.y<=B.y&&this.currentBBox.width+this.currentBBox.x>=B.x+B.width&&this.currentBBox.height+this.currentBBox.y>=B.y+B.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var B=this.tempBoundingBox,R=999999;if(B.x=R,B.xMax=-R,B.y=R,B.yMax=-R,this.calculateBoundingBox(this.itemsData,B),B.width=B.xMax<B.x?0:B.xMax-B.x,B.height=B.yMax<B.y?0:B.yMax-B.y,this.currentBoxContains(B))return;var F=!1;if(this.currentBBox.w!==B.width&&(this.currentBBox.w=B.width,this.shapeCont.setAttribute("width",B.width),F=!0),this.currentBBox.h!==B.height&&(this.currentBBox.h=B.height,this.shapeCont.setAttribute("height",B.height),F=!0),F||this.currentBBox.x!==B.x||this.currentBBox.y!==B.y){this.currentBBox.w=B.width,this.currentBBox.h=B.height,this.currentBBox.x=B.x,this.currentBBox.y=B.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var D=this.shapeCont.style,G="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";D.transform=G,D.webkitTransform=G}}};function HTextElement(B,R,F){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(B,R,F)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var B=createNS("g");this.maskedElement.appendChild(B),this.innerElem=B}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var B=this.textProperty.currentData;this.renderedLetters=createSizedArray(B.l?B.l.length:0);var R=this.innerElem.style,F=B.fc?this.buildColor(B.fc):"rgba(0,0,0,0)";R.fill=F,R.color=F,B.sc&&(R.stroke=this.buildColor(B.sc),R.strokeWidth=B.sw+"px");var D=this.globalData.fontManager.getFontByName(B.f);if(!this.globalData.fontManager.chars)if(R.fontSize=B.finalSize+"px",R.lineHeight=B.finalSize+"px",D.fClass)this.innerElem.className=D.fClass;else{R.fontFamily=D.fFamily;var G=B.fWeight,U=B.fStyle;R.fontStyle=U,R.fontWeight=G}var W,q,Y=B.l;q=Y.length;var Q,Z,K,J=this.mHelper,ie,ne="",se=0;for(W=0;W<q;W+=1){if(this.globalData.fontManager.chars?(this.textPaths[se]?Q=this.textPaths[se]:(Q=createNS("path"),Q.setAttribute("stroke-linecap",lineCapEnum[1]),Q.setAttribute("stroke-linejoin",lineJoinEnum[2]),Q.setAttribute("stroke-miterlimit","4")),this.isMasked||(this.textSpans[se]?(Z=this.textSpans[se],K=Z.children[0]):(Z=createTag("div"),Z.style.lineHeight=0,K=createNS("svg"),K.appendChild(Q),styleDiv(Z)))):this.isMasked?Q=this.textPaths[se]?this.textPaths[se]:createNS("text"):this.textSpans[se]?(Z=this.textSpans[se],Q=this.textPaths[se]):(Z=createTag("span"),styleDiv(Z),Q=createTag("span"),styleDiv(Q),Z.appendChild(Q)),this.globalData.fontManager.chars){var re=this.globalData.fontManager.getCharData(B.finalText[W],D.fStyle,this.globalData.fontManager.getFontByName(B.f).fFamily),ae;if(re?ae=re.data:ae=null,J.reset(),ae&&ae.shapes&&ae.shapes.length&&(ie=ae.shapes[0].it,J.scale(B.finalSize/100,B.finalSize/100),ne=this.createPathShape(J,ie),Q.setAttribute("d",ne)),this.isMasked)this.innerElem.appendChild(Q);else{if(this.innerElem.appendChild(Z),ae&&ae.shapes){document.body.appendChild(K);var le=K.getBBox();K.setAttribute("width",le.width+2),K.setAttribute("height",le.height+2),K.setAttribute("viewBox",le.x-1+" "+(le.y-1)+" "+(le.width+2)+" "+(le.height+2));var ce=K.style,he="translate("+(le.x-1)+"px,"+(le.y-1)+"px)";ce.transform=he,ce.webkitTransform=he,Y[W].yOffset=le.y-1}else K.setAttribute("width",1),K.setAttribute("height",1);Z.appendChild(K)}}else if(Q.textContent=Y[W].val,Q.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked)this.innerElem.appendChild(Q);else{this.innerElem.appendChild(Z);var de=Q.style,me="translate3d(0,"+-B.finalSize/1.2+"px,0)";de.transform=me,de.webkitTransform=me}this.isMasked?this.textSpans[se]=Q:this.textSpans[se]=Z,this.textSpans[se].style.display="block",this.textPaths[se]=Q,se+=1}for(;se<this.textSpans.length;)this.textSpans[se].style.display="none",se+=1},HTextElement.prototype.renderInnerContent=function(){var B;if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),B=this.svgElement.style;var R="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";B.transform=R,B.webkitTransform=R}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),!(!this.lettersChangedFlag&&!this.textAnimator.lettersChangedFlag)){var F,D,G=0,U=this.textAnimator.renderedLetters,W=this.textProperty.currentData.l;D=W.length;var q,Y,Q;for(F=0;F<D;F+=1)W[F].n?G+=1:(Y=this.textSpans[F],Q=this.textPaths[F],q=U[G],G+=1,q._mdf.m&&(this.isMasked?Y.setAttribute("transform",q.m):(Y.style.webkitTransform=q.m,Y.style.transform=q.m)),Y.style.opacity=q.o,q.sw&&q._mdf.sw&&Q.setAttribute("stroke-width",q.sw),q.sc&&q._mdf.sc&&Q.setAttribute("stroke",q.sc),q.fc&&q._mdf.fc&&(Q.setAttribute("fill",q.fc),Q.style.color=q.fc));if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var Z=this.innerElem.getBBox();this.currentBBox.w!==Z.width&&(this.currentBBox.w=Z.width,this.svgElement.setAttribute("width",Z.width)),this.currentBBox.h!==Z.height&&(this.currentBBox.h=Z.height,this.svgElement.setAttribute("height",Z.height));var K=1;if(this.currentBBox.w!==Z.width+K*2||this.currentBBox.h!==Z.height+K*2||this.currentBBox.x!==Z.x-K||this.currentBBox.y!==Z.y-K){this.currentBBox.w=Z.width+K*2,this.currentBBox.h=Z.height+K*2,this.currentBBox.x=Z.x-K,this.currentBBox.y=Z.y-K,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),B=this.svgElement.style;var J="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";B.transform=J,B.webkitTransform=J}}}};function HCameraElement(B,R,F){this.initFrame(),this.initBaseData(B,R,F),this.initHierarchy();var D=PropertyFactory.getProp;if(this.pe=D(this,B.pe,0,0,this),B.ks.p.s?(this.px=D(this,B.ks.p.x,1,0,this),this.py=D(this,B.ks.p.y,1,0,this),this.pz=D(this,B.ks.p.z,1,0,this)):this.p=D(this,B.ks.p,1,0,this),B.ks.a&&(this.a=D(this,B.ks.a,1,0,this)),B.ks.or.k.length&&B.ks.or.k[0].to){var G,U=B.ks.or.k.length;for(G=0;G<U;G+=1)B.ks.or.k[G].to=null,B.ks.or.k[G].ti=null}this.or=D(this,B.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=D(this,B.ks.rx,0,degToRads,this),this.ry=D(this,B.ks.ry,0,degToRads,this),this.rz=D(this,B.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=new Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var B,R=this.comp.threeDElements.length,F,D,G;for(B=0;B<R;B+=1)if(F=this.comp.threeDElements[B],F.type==="3d"){D=F.perspectiveElem.style,G=F.container.style;var U=this.pe.v+"px",W="0px 0px 0px",q="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";D.perspective=U,D.webkitPerspective=U,G.transformOrigin=W,G.mozTransformOrigin=W,G.webkitTransformOrigin=W,D.transform=q,D.webkitTransform=q}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var B=this._isFirstFrame,R,F;if(this.hierarchy)for(F=this.hierarchy.length,R=0;R<F;R+=1)B=this.hierarchy[R].finalTransform.mProp._mdf||B;if(B||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy)for(F=this.hierarchy.length-1,R=F;R>=0;R-=1){var D=this.hierarchy[R].finalTransform.mProp;this.mat.translate(-D.p.v[0],-D.p.v[1],D.p.v[2]),this.mat.rotateX(-D.or.v[0]).rotateY(-D.or.v[1]).rotateZ(D.or.v[2]),this.mat.rotateX(-D.rx.v).rotateY(-D.ry.v).rotateZ(D.rz.v),this.mat.scale(1/D.s.v[0],1/D.s.v[1],1/D.s.v[2]),this.mat.translate(D.a.v[0],D.a.v[1],D.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 G;this.p?G=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:G=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var U=Math.sqrt(Math.pow(G[0],2)+Math.pow(G[1],2)+Math.pow(G[2],2)),W=[G[0]/U,G[1]/U,G[2]/U],q=Math.sqrt(W[2]*W[2]+W[0]*W[0]),Y=Math.atan2(W[1],q),Q=Math.atan2(W[0],-W[2]);this.mat.rotateY(Q).rotateX(-Y)}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 Z=!this._prevMat.equals(this.mat);if((Z||this.pe._mdf)&&this.comp.threeDElements){F=this.comp.threeDElements.length;var K,J,ie;for(R=0;R<F;R+=1)if(K=this.comp.threeDElements[R],K.type==="3d"){if(Z){var ne=this.mat.toCSS();ie=K.container.style,ie.transform=ne,ie.webkitTransform=ne}this.pe._mdf&&(J=K.perspectiveElem.style,J.perspective=this.pe.v+"px",J.webkitPerspective=this.pe.v+"px")}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(B){this.prepareProperties(B,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null};function HImageElement(B,R,F){this.assetData=R.getAssetData(B.refId),this.initElement(B,R,F)}extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var B=this.globalData.getAssetsPath(this.assetData),R=new Image;this.data.hasMask?(this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",B),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h)):this.layerElement.appendChild(R),R.crossOrigin="anonymous",R.src=B,this.data.ln&&this.baseElement.setAttribute("id",this.data.ln)};function HybridRendererBase(B,R){this.animationItem=B,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:R&&R.className||"",imagePreserveAspectRatio:R&&R.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(R&&R.hideOnTransparent===!1),filterSize:{width:R&&R.filterSize&&R.filterSize.width||"400%",height:R&&R.filterSize&&R.filterSize.height||"400%",x:R&&R.filterSize&&R.filterSize.x||"-100%",y:R&&R.filterSize&&R.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([BaseRenderer],HybridRendererBase),HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var B=this.pendingElements.pop();B.checkParenting()}},HybridRendererBase.prototype.appendElementInPos=function(B,R){var F=B.getBaseElement();if(!!F){var D=this.layers[R];if(!D.ddd||!this.supports3d)if(this.threeDElements)this.addTo3dContainer(F,R);else{for(var G=0,U,W,q;G<R;)this.elements[G]&&this.elements[G]!==!0&&this.elements[G].getBaseElement&&(W=this.elements[G],q=this.layers[G].ddd?this.getThreeDContainerByPos(G):W.getBaseElement(),U=q||U),G+=1;U?(!D.ddd||!this.supports3d)&&this.layerElement.insertBefore(F,U):(!D.ddd||!this.supports3d)&&this.layerElement.appendChild(F)}else this.addTo3dContainer(F,R)}},HybridRendererBase.prototype.createShape=function(B){return this.supports3d?new HShapeElement(B,this.globalData,this):new SVGShapeElement(B,this.globalData,this)},HybridRendererBase.prototype.createText=function(B){return this.supports3d?new HTextElement(B,this.globalData,this):new SVGTextLottieElement(B,this.globalData,this)},HybridRendererBase.prototype.createCamera=function(B){return this.camera=new HCameraElement(B,this.globalData,this),this.camera},HybridRendererBase.prototype.createImage=function(B){return this.supports3d?new HImageElement(B,this.globalData,this):new IImageElement(B,this.globalData,this)},HybridRendererBase.prototype.createSolid=function(B){return this.supports3d?new HSolidElement(B,this.globalData,this):new ISolidElement(B,this.globalData,this)},HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,HybridRendererBase.prototype.getThreeDContainerByPos=function(B){for(var R=0,F=this.threeDElements.length;R<F;){if(this.threeDElements[R].startPos<=B&&this.threeDElements[R].endPos>=B)return this.threeDElements[R].perspectiveElem;R+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(B,R){var F=createTag("div"),D,G;styleDiv(F);var U=createTag("div");if(styleDiv(U),R==="3d"){D=F.style,D.width=this.globalData.compSize.w+"px",D.height=this.globalData.compSize.h+"px";var W="50% 50%";D.webkitTransformOrigin=W,D.mozTransformOrigin=W,D.transformOrigin=W,G=U.style;var q="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";G.transform=q,G.webkitTransform=q}F.appendChild(U);var Y={container:U,perspectiveElem:F,startPos:B,endPos:B,type:R};return this.threeDElements.push(Y),Y},HybridRendererBase.prototype.build3dContainers=function(){var B,R=this.layers.length,F,D="";for(B=0;B<R;B+=1)this.layers[B].ddd&&this.layers[B].ty!==3?(D!=="3d"&&(D="3d",F=this.createThreeDContainer(B,"3d")),F.endPos=Math.max(F.endPos,B)):(D!=="2d"&&(D="2d",F=this.createThreeDContainer(B,"2d")),F.endPos=Math.max(F.endPos,B));for(R=this.threeDElements.length,B=R-1;B>=0;B-=1)this.resizerElem.appendChild(this.threeDElements[B].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(B,R){for(var F=0,D=this.threeDElements.length;F<D;){if(R<=this.threeDElements[F].endPos){for(var G=this.threeDElements[F].startPos,U;G<R;)this.elements[G]&&this.elements[G].getBaseElement&&(U=this.elements[G].getBaseElement()),G+=1;U?this.threeDElements[F].container.insertBefore(B,U):this.threeDElements[F].container.appendChild(B);break}F+=1}},HybridRendererBase.prototype.configAnimation=function(B){var R=createTag("div"),F=this.animationItem.wrapper,D=R.style;D.width=B.w+"px",D.height=B.h+"px",this.resizerElem=R,styleDiv(R),D.transformStyle="flat",D.mozTransformStyle="flat",D.webkitTransformStyle="flat",this.renderConfig.className&&R.setAttribute("class",this.renderConfig.className),F.appendChild(R),D.overflow="hidden";var G=createNS("svg");G.setAttribute("width","1"),G.setAttribute("height","1"),styleDiv(G),this.resizerElem.appendChild(G);var U=createNS("defs");G.appendChild(U),this.data=B,this.setupGlobalData(B,G),this.globalData.defs=U,this.layers=B.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRendererBase.prototype.destroy=function(){this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.animationItem.container=null,this.globalData.defs=null;var B,R=this.layers?this.layers.length:0;for(B=0;B<R;B+=1)this.elements[B].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRendererBase.prototype.updateContainerSize=function(){var B=this.animationItem.wrapper.offsetWidth,R=this.animationItem.wrapper.offsetHeight,F=B/R,D=this.globalData.compSize.w/this.globalData.compSize.h,G,U,W,q;D>F?(G=B/this.globalData.compSize.w,U=B/this.globalData.compSize.w,W=0,q=(R-this.globalData.compSize.h*(B/this.globalData.compSize.w))/2):(G=R/this.globalData.compSize.h,U=R/this.globalData.compSize.h,W=(B-this.globalData.compSize.w*(R/this.globalData.compSize.h))/2,q=0);var Y=this.resizerElem.style;Y.webkitTransform="matrix3d("+G+",0,0,0,0,"+U+",0,0,0,0,1,0,"+W+","+q+",0,1)",Y.transform=Y.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 B=this.globalData.compSize.w,R=this.globalData.compSize.h,F,D=this.threeDElements.length;for(F=0;F<D;F+=1){var G=this.threeDElements[F].perspectiveElem.style;G.webkitPerspective=Math.sqrt(Math.pow(B,2)+Math.pow(R,2))+"px",G.perspective=G.webkitPerspective}}},HybridRendererBase.prototype.searchExtraCompositions=function(B){var R,F=B.length,D=createTag("div");for(R=0;R<F;R+=1)if(B[R].xt){var G=this.createComp(B[R],D,this.globalData.comp,null);G.initExpressions(),this.globalData.projectInterface.registerComposition(G)}};function HCompElement(B,R,F){this.layers=B.layers,this.supports3d=!B.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(B,R,F),this.tm=B.tm?PropertyFactory.getProp(this,B.tm,0,R.frameRate,this):{_placeholder:!0}}extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){this._createBaseContainerElements(),this.data.hasMask?(this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement):this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(B,R){for(var F=0,D;F<R;)this.elements[F]&&this.elements[F].getBaseElement&&(D=this.elements[F].getBaseElement()),F+=1;D?this.layerElement.insertBefore(B,D):this.layerElement.appendChild(B)},HCompElement.prototype.createComp=function(B){return this.supports3d?new HCompElement(B,this.globalData,this):new SVGCompElement(B,this.globalData,this)};function HybridRenderer(B,R){this.animationItem=B,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:R&&R.className||"",imagePreserveAspectRatio:R&&R.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(R&&R.hideOnTransparent===!1),filterSize:{width:R&&R.filterSize&&R.filterSize.width||"400%",height:R&&R.filterSize&&R.filterSize.height||"400%",x:R&&R.filterSize&&R.filterSize.x||"-100%",y:R&&R.filterSize&&R.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([HybridRendererBase],HybridRenderer),HybridRenderer.prototype.createComp=function(B){return this.supports3d?new HCompElement(B,this.globalData,this):new SVGCompElement(B,this.globalData,this)};var Expressions=function(){var B={};B.initExpressions=R;function R(F){var D=0,G=[];function U(){D+=1}function W(){D-=1,D===0&&Y()}function q(Q){G.indexOf(Q)===-1&&G.push(Q)}function Y(){var Q,Z=G.length;for(Q=0;Q<Z;Q+=1)G[Q].release();G.length=0}F.renderer.compInterface=CompExpressionInterface(F.renderer),F.renderer.globalData.projectInterface.registerComposition(F.renderer),F.renderer.globalData.pushExpression=U,F.renderer.globalData.popExpression=W,F.renderer.globalData.registerExpressionProperty=q}return B}();function _typeof$1(B){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1=function(F){return typeof F}:_typeof$1=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},_typeof$1(B)}function seedRandom(B,R){var F=this,D=256,G=6,U=52,W="random",q=R.pow(D,G),Y=R.pow(2,U),Q=Y*2,Z=D-1,K;function J(ce,he,de){var me=[];he=he===!0?{entropy:!0}:he||{};var fe=re(se(he.entropy?[ce,le(B)]:ce===null?ae():ce,3),me),ge=new ie(me),Se=function(){for(var ve=ge.g(G),xe=q,Pe=0;ve<Y;)ve=(ve+Pe)*D,xe*=D,Pe=ge.g(1);for(;ve>=Q;)ve/=2,xe/=2,Pe>>>=1;return(ve+Pe)/xe};return Se.int32=function(){return ge.g(4)|0},Se.quick=function(){return ge.g(4)/4294967296},Se.double=Se,re(le(ge.S),B),(he.pass||de||function(Ee,ve,xe,Pe){return Pe&&(Pe.S&&ne(Pe,ge),Ee.state=function(){return ne(ge,{})}),xe?(R[W]=Ee,ve):Ee})(Se,fe,"global"in he?he.global:this==R,he.state)}R["seed"+W]=J;function ie(ce){var he,de=ce.length,me=this,fe=0,ge=me.i=me.j=0,Se=me.S=[];for(de||(ce=[de++]);fe<D;)Se[fe]=fe++;for(fe=0;fe<D;fe++)Se[fe]=Se[ge=Z&ge+ce[fe%de]+(he=Se[fe])],Se[ge]=he;me.g=function(Ee){for(var ve,xe=0,Pe=me.i,ye=me.j,Te=me.S;Ee--;)ve=Te[Pe=Z&Pe+1],xe=xe*D+Te[Z&(Te[Pe]=Te[ye=Z&ye+ve])+(Te[ye]=ve)];return me.i=Pe,me.j=ye,xe}}function ne(ce,he){return he.i=ce.i,he.j=ce.j,he.S=ce.S.slice(),he}function se(ce,he){var de=[],me=_typeof$1(ce),fe;if(he&&me=="object")for(fe in ce)try{de.push(se(ce[fe],he-1))}catch{}return de.length?de:me=="string"?ce:ce+"\0"}function re(ce,he){for(var de=ce+"",me,fe=0;fe<de.length;)he[Z&fe]=Z&(me^=he[Z&fe]*19)+de.charCodeAt(fe++);return le(he)}function ae(){try{var ce=new Uint8Array(D);return(F.crypto||F.msCrypto).getRandomValues(ce),le(ce)}catch{var he=F.navigator,de=he&&he.plugins;return[+new Date,F,de,F.screen,le(B)]}}function le(ce){return String.fromCharCode.apply(0,ce)}re(R.random(),B)}function initialize$2(B){seedRandom([],B)}var propTypes={SHAPE:"shape"};function _typeof(B){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof=function(F){return typeof F}:_typeof=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},_typeof(B)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null;initialize$2(BMMath);function $bm_isInstanceOfArray(B){return B.constructor===Array||B.constructor===Float32Array}function isNumerable(B,R){return B==="number"||B==="boolean"||B==="string"||R instanceof Number}function $bm_neg(B){var R=_typeof(B);if(R==="number"||R==="boolean"||B instanceof Number)return-B;if($bm_isInstanceOfArray(B)){var F,D=B.length,G=[];for(F=0;F<D;F+=1)G[F]=-B[F];return G}return B.propType?B.v:-B}var easeInBez=BezierFactory.getBezierEasing(.333,0,.833,.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(.167,.167,.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(.33,0,.667,1,"easeInOut").get;function sum(B,R){var F=_typeof(B),D=_typeof(R);if(F==="string"||D==="string"||isNumerable(F,B)&&isNumerable(D,R))return B+R;if($bm_isInstanceOfArray(B)&&isNumerable(D,R))return B=B.slice(0),B[0]+=R,B;if(isNumerable(F,B)&&$bm_isInstanceOfArray(R))return R=R.slice(0),R[0]=B+R[0],R;if($bm_isInstanceOfArray(B)&&$bm_isInstanceOfArray(R)){for(var G=0,U=B.length,W=R.length,q=[];G<U||G<W;)(typeof B[G]=="number"||B[G]instanceof Number)&&(typeof R[G]=="number"||R[G]instanceof Number)?q[G]=B[G]+R[G]:q[G]=R[G]===void 0?B[G]:B[G]||R[G],G+=1;return q}return 0}var add=sum;function sub(B,R){var F=_typeof(B),D=_typeof(R);if(isNumerable(F,B)&&isNumerable(D,R))return F==="string"&&(B=parseInt(B,10)),D==="string"&&(R=parseInt(R,10)),B-R;if($bm_isInstanceOfArray(B)&&isNumerable(D,R))return B=B.slice(0),B[0]-=R,B;if(isNumerable(F,B)&&$bm_isInstanceOfArray(R))return R=R.slice(0),R[0]=B-R[0],R;if($bm_isInstanceOfArray(B)&&$bm_isInstanceOfArray(R)){for(var G=0,U=B.length,W=R.length,q=[];G<U||G<W;)(typeof B[G]=="number"||B[G]instanceof Number)&&(typeof R[G]=="number"||R[G]instanceof Number)?q[G]=B[G]-R[G]:q[G]=R[G]===void 0?B[G]:B[G]||R[G],G+=1;return q}return 0}function mul(B,R){var F=_typeof(B),D=_typeof(R),G;if(isNumerable(F,B)&&isNumerable(D,R))return B*R;var U,W;if($bm_isInstanceOfArray(B)&&isNumerable(D,R)){for(W=B.length,G=createTypedArray("float32",W),U=0;U<W;U+=1)G[U]=B[U]*R;return G}if(isNumerable(F,B)&&$bm_isInstanceOfArray(R)){for(W=R.length,G=createTypedArray("float32",W),U=0;U<W;U+=1)G[U]=B*R[U];return G}return 0}function div(B,R){var F=_typeof(B),D=_typeof(R),G;if(isNumerable(F,B)&&isNumerable(D,R))return B/R;var U,W;if($bm_isInstanceOfArray(B)&&isNumerable(D,R)){for(W=B.length,G=createTypedArray("float32",W),U=0;U<W;U+=1)G[U]=B[U]/R;return G}if(isNumerable(F,B)&&$bm_isInstanceOfArray(R)){for(W=R.length,G=createTypedArray("float32",W),U=0;U<W;U+=1)G[U]=B/R[U];return G}return 0}function mod(B,R){return typeof B=="string"&&(B=parseInt(B,10)),typeof R=="string"&&(R=parseInt(R,10)),B%R}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(B,R,F){if(R>F){var D=F;F=R,R=D}return Math.min(Math.max(B,R),F)}function radiansToDegrees(B){return B/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(B){return B*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(B,R){if(typeof B=="number"||B instanceof Number)return R=R||0,Math.abs(B-R);R||(R=helperLengthArray);var F,D=Math.min(B.length,R.length),G=0;for(F=0;F<D;F+=1)G+=Math.pow(R[F]-B[F],2);return Math.sqrt(G)}function normalize(B){return div(B,length(B))}function rgbToHsl(B){var R=B[0],F=B[1],D=B[2],G=Math.max(R,F,D),U=Math.min(R,F,D),W,q,Y=(G+U)/2;if(G===U)W=0,q=0;else{var Q=G-U;switch(q=Y>.5?Q/(2-G-U):Q/(G+U),G){case R:W=(F-D)/Q+(F<D?6:0);break;case F:W=(D-R)/Q+2;break;case D:W=(R-F)/Q+4;break}W/=6}return[W,q,Y,B[3]]}function hue2rgb(B,R,F){return F<0&&(F+=1),F>1&&(F-=1),F<1/6?B+(R-B)*6*F:F<1/2?R:F<2/3?B+(R-B)*(2/3-F)*6:B}function hslToRgb(B){var R=B[0],F=B[1],D=B[2],G,U,W;if(F===0)G=D,W=D,U=D;else{var q=D<.5?D*(1+F):D+F-D*F,Y=2*D-q;G=hue2rgb(Y,q,R+1/3),U=hue2rgb(Y,q,R),W=hue2rgb(Y,q,R-1/3)}return[G,U,W,B[3]]}function linear(B,R,F,D,G){if((D===void 0||G===void 0)&&(D=R,G=F,R=0,F=1),F<R){var U=F;F=R,R=U}if(B<=R)return D;if(B>=F)return G;var W=F===R?0:(B-R)/(F-R);if(!D.length)return D+(G-D)*W;var q,Y=D.length,Q=createTypedArray("float32",Y);for(q=0;q<Y;q+=1)Q[q]=D[q]+(G[q]-D[q])*W;return Q}function random(B,R){if(R===void 0&&(B===void 0?(B=0,R=1):(R=B,B=void 0)),R.length){var F,D=R.length;B||(B=createTypedArray("float32",D));var G=createTypedArray("float32",D),U=BMMath.random();for(F=0;F<D;F+=1)G[F]=B[F]+U*(R[F]-B[F]);return G}B===void 0&&(B=0);var W=BMMath.random();return B+W*(R-B)}function createPath(B,R,F,D){var G,U=B.length,W=shapePool.newElement();W.setPathData(!!D,U);var q=[0,0],Y,Q;for(G=0;G<U;G+=1)Y=R&&R[G]?R[G]:q,Q=F&&F[G]?F[G]:q,W.setTripleAt(B[G][0],B[G][1],Q[0]+B[G][0],Q[1]+B[G][1],Y[0]+B[G][0],Y[1]+B[G][1],G,!0);return W}function initiateExpression(elem,data,property){var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=val.indexOf("random")!==-1,elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||this.data.hd!==!0,wiggle=function B(R,F){var D,G,U=this.pv.length?this.pv.length:1,W=createTypedArray("float32",U);R=5;var q=Math.floor(time*R);for(D=0,G=0;D<q;){for(G=0;G<U;G+=1)W[G]+=-F+F*2*BMMath.random();D+=1}var Y=time*R,Q=Y-Math.floor(Y),Z=createTypedArray("float32",U);if(U>1){for(G=0;G<U;G+=1)Z[G]=this.pv[G]+W[G]+(-F+F*2*BMMath.random())*Q;return Z}return this.pv+W[0]+(-F+F*2*BMMath.random())*Q}.bind(this);thisProperty.loopIn&&(loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn),thisProperty.loopOut&&(loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut),thisProperty.smooth&&(smooth=thisProperty.smooth.bind(thisProperty));function loopInDuration(B,R){return loopIn(B,R,!0)}function loopOutDuration(B,R){return loopOut(B,R,!0)}this.getValueAtTime&&(valueAtTime=this.getValueAtTime.bind(this)),this.getVelocityAtTime&&(velocityAtTime=this.getVelocityAtTime.bind(this));var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);function lookAt(B,R){var F=[R[0]-B[0],R[1]-B[1],R[2]-B[2]],D=Math.atan2(F[0],Math.sqrt(F[1]*F[1]+F[2]*F[2]))/degToRads,G=-Math.atan2(F[1],F[2])/degToRads;return[G,D,0]}function easeOut(B,R,F,D,G){return applyEase(easeOutBez,B,R,F,D,G)}function easeIn(B,R,F,D,G){return applyEase(easeInBez,B,R,F,D,G)}function ease(B,R,F,D,G){return applyEase(easeInOutBez,B,R,F,D,G)}function applyEase(B,R,F,D,G,U){G===void 0?(G=F,U=D):R=(R-F)/(D-F),R>1?R=1:R<0&&(R=0);var W=B(R);if($bm_isInstanceOfArray(G)){var q,Y=G.length,Q=createTypedArray("float32",Y);for(q=0;q<Y;q+=1)Q[q]=(U[q]-G[q])*W+G[q];return Q}return(U-G)*W+G}function nearestKey(B){var R,F=data.k.length,D,G;if(!data.k.length||typeof data.k[0]=="number")D=0,G=0;else if(D=-1,B*=elem.comp.globalData.frameRate,B<data.k[0].t)D=1,G=data.k[0].t;else{for(R=0;R<F-1;R+=1)if(B===data.k[R].t){D=R+1,G=data.k[R].t;break}else if(B>data.k[R].t&&B<data.k[R+1].t){B-data.k[R].t>data.k[R+1].t-B?(D=R+2,G=data.k[R+1].t):(D=R+1,G=data.k[R].t);break}D===-1&&(D=R+1,G=data.k[R].t)}var U={};return U.index=D,U.time=G/elem.comp.globalData.frameRate,U}function key(B){var R,F,D;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+B);B-=1,R={time:data.k[B].t/elem.comp.globalData.frameRate,value:[]};var G=Object.prototype.hasOwnProperty.call(data.k[B],"s")?data.k[B].s:data.k[B-1].e;for(D=G.length,F=0;F<D;F+=1)R[F]=G[F],R.value[F]=G[F];return R}function framesToTime(B,R){return R||(R=elem.comp.globalData.frameRate),B/R}function timeToFrames(B,R){return!B&&B!==0&&(B=time),R||(R=elem.comp.globalData.frameRate),B*R}function seedRandom(B){BMMath.seedrandom(randSeed+B)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(B,R){return typeof value=="string"?R===void 0?value.substring(B):value.substring(B,R):""}function substr(B,R){return typeof value=="string"?R===void 0?value.substr(B):value.substr(B,R):""}function posterizeTime(B){time=B===0?0:Math.floor(time*B)/B,value=valueAtTime(time)}var time,velocity,value,text,textIndex,textTotal,selectorValue,index=elem.data.ind,hasParent=!!(elem.hierarchy&&elem.hierarchy.length),parent,randSeed=Math.floor(Math.random()*1e6),globalData=elem.globalData;function executeExpression(B){return value=B,this.frameExpressionId===elem.globalData.frameId&&this.propType!=="textSelector"?value:(this.propType==="textSelector"&&(textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue),thisLayer||(text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp),transform||(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform&&(anchorPoint=transform.anchorPoint)),elemType===4&&!content&&(content=thisLayer("ADBE Root Vectors Group")),effect||(effect=thisLayer(4)),hasParent=!!(elem.hierarchy&&elem.hierarchy.length),hasParent&&!parent&&(parent=elem.hierarchy[0].layerInterface),time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom&&seedRandom(randSeed+time),needsVelocity&&(velocity=velocityAtTime(time)),expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt,scoped_bm_rt)}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath],ob}(),expressionHelpers=function(){function B(W,q,Y){q.x&&(Y.k=!0,Y.x=!0,Y.initiateExpression=ExpressionManager.initiateExpression,Y.effectsSequence.push(Y.initiateExpression(W,q,Y).bind(Y)))}function R(W){return W*=this.elem.globalData.frameRate,W-=this.offsetTime,W!==this._cachingAtTime.lastFrame&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<W?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(W,this._cachingAtTime),this._cachingAtTime.lastFrame=W),this._cachingAtTime.value}function F(W){var q=-.01,Y=this.getValueAtTime(W),Q=this.getValueAtTime(W+q),Z=0;if(Y.length){var K;for(K=0;K<Y.length;K+=1)Z+=Math.pow(Q[K]-Y[K],2);Z=Math.sqrt(Z)*100}else Z=0;return Z}function D(W){if(this.vel!==void 0)return this.vel;var q=-.001,Y=this.getValueAtTime(W),Q=this.getValueAtTime(W+q),Z;if(Y.length){Z=createTypedArray("float32",Y.length);var K;for(K=0;K<Y.length;K+=1)Z[K]=(Q[K]-Y[K])/q}else Z=(Q-Y)/q;return Z}function G(){return this.pv}function U(W){this.propertyGroup=W}return{searchExpressions:B,getSpeedAtTime:F,getVelocityAtTime:D,getValueAtTime:R,getStaticValueAtTime:G,setGroupProperty:U}}();function addPropertyDecorator(){function B(J,ie,ne){if(!this.k||!this.keyframes)return this.pv;J=J?J.toLowerCase():"";var se=this.comp.renderedFrame,re=this.keyframes,ae=re[re.length-1].t;if(se<=ae)return this.pv;var le,ce;ne?(ie?le=Math.abs(ae-this.elem.comp.globalData.frameRate*ie):le=Math.max(0,ae-this.elem.data.ip),ce=ae-le):((!ie||ie>re.length-1)&&(ie=re.length-1),ce=re[re.length-1-ie].t,le=ae-ce);var he,de,me;if(J==="pingpong"){var fe=Math.floor((se-ce)/le);if(fe%2!==0)return this.getValueAtTime((le-(se-ce)%le+ce)/this.comp.globalData.frameRate,0)}else if(J==="offset"){var ge=this.getValueAtTime(ce/this.comp.globalData.frameRate,0),Se=this.getValueAtTime(ae/this.comp.globalData.frameRate,0),Ee=this.getValueAtTime(((se-ce)%le+ce)/this.comp.globalData.frameRate,0),ve=Math.floor((se-ce)/le);if(this.pv.length){for(me=new Array(ge.length),de=me.length,he=0;he<de;he+=1)me[he]=(Se[he]-ge[he])*ve+Ee[he];return me}return(Se-ge)*ve+Ee}else if(J==="continue"){var xe=this.getValueAtTime(ae/this.comp.globalData.frameRate,0),Pe=this.getValueAtTime((ae-.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(me=new Array(xe.length),de=me.length,he=0;he<de;he+=1)me[he]=xe[he]+(xe[he]-Pe[he])*((se-ae)/this.comp.globalData.frameRate)/5e-4;return me}return xe+(xe-Pe)*((se-ae)/.001)}return this.getValueAtTime(((se-ce)%le+ce)/this.comp.globalData.frameRate,0)}function R(J,ie,ne){if(!this.k)return this.pv;J=J?J.toLowerCase():"";var se=this.comp.renderedFrame,re=this.keyframes,ae=re[0].t;if(se>=ae)return this.pv;var le,ce;ne?(ie?le=Math.abs(this.elem.comp.globalData.frameRate*ie):le=Math.max(0,this.elem.data.op-ae),ce=ae+le):((!ie||ie>re.length-1)&&(ie=re.length-1),ce=re[ie].t,le=ce-ae);var he,de,me;if(J==="pingpong"){var fe=Math.floor((ae-se)/le);if(fe%2===0)return this.getValueAtTime(((ae-se)%le+ae)/this.comp.globalData.frameRate,0)}else if(J==="offset"){var ge=this.getValueAtTime(ae/this.comp.globalData.frameRate,0),Se=this.getValueAtTime(ce/this.comp.globalData.frameRate,0),Ee=this.getValueAtTime((le-(ae-se)%le+ae)/this.comp.globalData.frameRate,0),ve=Math.floor((ae-se)/le)+1;if(this.pv.length){for(me=new Array(ge.length),de=me.length,he=0;he<de;he+=1)me[he]=Ee[he]-(Se[he]-ge[he])*ve;return me}return Ee-(Se-ge)*ve}else if(J==="continue"){var xe=this.getValueAtTime(ae/this.comp.globalData.frameRate,0),Pe=this.getValueAtTime((ae+.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(me=new Array(xe.length),de=me.length,he=0;he<de;he+=1)me[he]=xe[he]+(xe[he]-Pe[he])*(ae-se)/.001;return me}return xe+(xe-Pe)*(ae-se)/.001}return this.getValueAtTime((le-((ae-se)%le+ae))/this.comp.globalData.frameRate,0)}function F(J,ie){if(!this.k)return this.pv;if(J=(J||.4)*.5,ie=Math.floor(ie||5),ie<=1)return this.pv;var ne=this.comp.renderedFrame/this.comp.globalData.frameRate,se=ne-J,re=ne+J,ae=ie>1?(re-se)/(ie-1):1,le=0,ce=0,he;this.pv.length?he=createTypedArray("float32",this.pv.length):he=0;for(var de;le<ie;){if(de=this.getValueAtTime(se+le*ae),this.pv.length)for(ce=0;ce<this.pv.length;ce+=1)he[ce]+=de[ce];else he+=de;le+=1}if(this.pv.length)for(ce=0;ce<this.pv.length;ce+=1)he[ce]/=ie;else he/=ie;return he}function D(J){this._transformCachingAtTime||(this._transformCachingAtTime={v:new Matrix});var ie=this._transformCachingAtTime.v;if(ie.cloneFromProps(this.pre.props),this.appliedTransformations<1){var ne=this.a.getValueAtTime(J);ie.translate(-ne[0]*this.a.mult,-ne[1]*this.a.mult,ne[2]*this.a.mult)}if(this.appliedTransformations<2){var se=this.s.getValueAtTime(J);ie.scale(se[0]*this.s.mult,se[1]*this.s.mult,se[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var re=this.sk.getValueAtTime(J),ae=this.sa.getValueAtTime(J);ie.skewFromAxis(-re*this.sk.mult,ae*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var le=this.r.getValueAtTime(J);ie.rotate(-le*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var ce=this.rz.getValueAtTime(J),he=this.ry.getValueAtTime(J),de=this.rx.getValueAtTime(J),me=this.or.getValueAtTime(J);ie.rotateZ(-ce*this.rz.mult).rotateY(he*this.ry.mult).rotateX(de*this.rx.mult).rotateZ(-me[2]*this.or.mult).rotateY(me[1]*this.or.mult).rotateX(me[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var fe=this.px.getValueAtTime(J),ge=this.py.getValueAtTime(J);if(this.data.p.z){var Se=this.pz.getValueAtTime(J);ie.translate(fe*this.px.mult,ge*this.py.mult,-Se*this.pz.mult)}else ie.translate(fe*this.px.mult,ge*this.py.mult,0)}else{var Ee=this.p.getValueAtTime(J);ie.translate(Ee[0]*this.p.mult,Ee[1]*this.p.mult,-Ee[2]*this.p.mult)}return ie}function G(){return this.v.clone(new Matrix)}var U=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(J,ie,ne){var se=U(J,ie,ne);return se.dynamicProperties.length?se.getValueAtTime=D.bind(se):se.getValueAtTime=G.bind(se),se.setGroupProperty=expressionHelpers.setGroupProperty,se};var W=PropertyFactory.getProp;PropertyFactory.getProp=function(J,ie,ne,se,re){var ae=W(J,ie,ne,se,re);ae.kf?ae.getValueAtTime=expressionHelpers.getValueAtTime.bind(ae):ae.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(ae),ae.setGroupProperty=expressionHelpers.setGroupProperty,ae.loopOut=B,ae.loopIn=R,ae.smooth=F,ae.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(ae),ae.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(ae),ae.numKeys=ie.a===1?ie.k.length:0,ae.propertyIndex=ie.ix;var le=0;return ne!==0&&(le=createTypedArray("float32",ie.a===1?ie.k[0].s.length:ie.k.length)),ae._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:le},expressionHelpers.searchExpressions(J,ie,ae),ae.k&&re.addDynamicProperty(ae),ae};function q(J){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),J*=this.elem.globalData.frameRate,J-=this.offsetTime,J!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<J?this._caching.lastIndex:0,this._cachingAtTime.lastTime=J,this.interpolateShape(J,this._cachingAtTime.shapeValue,this._cachingAtTime)),this._cachingAtTime.shapeValue}var Y=ShapePropertyFactory.getConstructorFunction(),Q=ShapePropertyFactory.getKeyframedConstructorFunction();function Z(){}Z.prototype={vertices:function(ie,ne){this.k&&this.getValue();var se=this.v;ne!==void 0&&(se=this.getValueAtTime(ne,0));var re,ae=se._length,le=se[ie],ce=se.v,he=createSizedArray(ae);for(re=0;re<ae;re+=1)ie==="i"||ie==="o"?he[re]=[le[re][0]-ce[re][0],le[re][1]-ce[re][1]]:he[re]=[le[re][0],le[re][1]];return he},points:function(ie){return this.vertices("v",ie)},inTangents:function(ie){return this.vertices("i",ie)},outTangents:function(ie){return this.vertices("o",ie)},isClosed:function(){return this.v.c},pointOnPath:function(ie,ne){var se=this.v;ne!==void 0&&(se=this.getValueAtTime(ne,0)),this._segmentsLength||(this._segmentsLength=bez.getSegmentsLength(se));for(var re=this._segmentsLength,ae=re.lengths,le=re.totalLength*ie,ce=0,he=ae.length,de=0,me;ce<he;){if(de+ae[ce].addedLength>le){var fe=ce,ge=se.c&&ce===he-1?0:ce+1,Se=(le-de)/ae[ce].addedLength;me=bez.getPointInSegment(se.v[fe],se.v[ge],se.o[fe],se.i[ge],Se,ae[ce]);break}else de+=ae[ce].addedLength;ce+=1}return me||(me=se.c?[se.v[0][0],se.v[0][1]]:[se.v[se._length-1][0],se.v[se._length-1][1]]),me},vectorOnPath:function(ie,ne,se){ie==1?ie=this.v.c:ie==0&&(ie=.999);var re=this.pointOnPath(ie,ne),ae=this.pointOnPath(ie+.001,ne),le=ae[0]-re[0],ce=ae[1]-re[1],he=Math.sqrt(Math.pow(le,2)+Math.pow(ce,2));if(he===0)return[0,0];var de=se==="tangent"?[le/he,ce/he]:[-ce/he,le/he];return de},tangentOnPath:function(ie,ne){return this.vectorOnPath(ie,ne,"tangent")},normalOnPath:function(ie,ne){return this.vectorOnPath(ie,ne,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([Z],Y),extendPrototype([Z],Q),Q.prototype.getValueAtTime=q,Q.prototype.initiateExpression=ExpressionManager.initiateExpression;var K=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(J,ie,ne,se,re){var ae=K(J,ie,ne,se,re);return ae.propertyIndex=ie.ix,ae.lock=!1,ne===3?expressionHelpers.searchExpressions(J,ie.pt,ae):ne===4&&expressionHelpers.searchExpressions(J,ie.ks,ae),ae.k&&J.addDynamicProperty(ae),ae}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function B(){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(R,F){var D=this.calculateExpression(F);if(R.t!==D){var G={};return this.copyData(G,R),G.t=D.toString(),G.__complete=!1,G}return R},TextProperty.prototype.searchProperty=function(){var R=this.searchKeyframes(),F=this.searchExpressions();return this.kf=R||F,this.kf},TextProperty.prototype.searchExpressions=B}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function B(R,F){var D=createNS("feMerge");D.setAttribute("result",R);var G,U;for(U=0;U<F.length;U+=1)G=createNS("feMergeNode"),G.setAttribute("in",F[U]),D.appendChild(G),D.appendChild(G);return D}};function SVGTintFilter(B,R,F,D,G){this.filterManager=R;var U=createNS("feColorMatrix");U.setAttribute("type","matrix"),U.setAttribute("color-interpolation-filters","linearRGB"),U.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),U.setAttribute("result",D+"_tint_1"),B.appendChild(U),U=createNS("feColorMatrix"),U.setAttribute("type","matrix"),U.setAttribute("color-interpolation-filters","sRGB"),U.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),U.setAttribute("result",D+"_tint_2"),B.appendChild(U),this.matrixFilter=U;var W=this.createMergeNode(D,[G,D+"_tint_1",D+"_tint_2"]);B.appendChild(W)}extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R=this.filterManager.effectElements[0].p.v,F=this.filterManager.effectElements[1].p.v,D=this.filterManager.effectElements[2].p.v/100;this.matrixFilter.setAttribute("values",F[0]-R[0]+" 0 0 0 "+R[0]+" "+(F[1]-R[1])+" 0 0 0 "+R[1]+" "+(F[2]-R[2])+" 0 0 0 "+R[2]+" 0 0 0 "+D+" 0")}};function SVGFillFilter(B,R,F,D){this.filterManager=R;var G=createNS("feColorMatrix");G.setAttribute("type","matrix"),G.setAttribute("color-interpolation-filters","sRGB"),G.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),G.setAttribute("result",D),B.appendChild(G),this.matrixFilter=G}SVGFillFilter.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R=this.filterManager.effectElements[2].p.v,F=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+R[0]+" 0 0 0 0 "+R[1]+" 0 0 0 0 "+R[2]+" 0 0 0 "+F+" 0")}};function SVGStrokeEffect(B,R,F){this.initialized=!1,this.filterManager=R,this.elem=F,this.paths=[]}SVGStrokeEffect.prototype.initialize=function(){var B=this.elem.layerElement.children||this.elem.layerElement.childNodes,R,F,D,G;for(this.filterManager.effectElements[1].p.v===1?(G=this.elem.maskManager.masksProperties.length,D=0):(D=this.filterManager.effectElements[0].p.v-1,G=D+1),F=createNS("g"),F.setAttribute("fill","none"),F.setAttribute("stroke-linecap","round"),F.setAttribute("stroke-dashoffset",1),D;D<G;D+=1)R=createNS("path"),F.appendChild(R),this.paths.push({p:R,m:D});if(this.filterManager.effectElements[10].p.v===3){var U=createNS("mask"),W=createElementID();U.setAttribute("id",W),U.setAttribute("mask-type","alpha"),U.appendChild(F),this.elem.globalData.defs.appendChild(U);var q=createNS("g");for(q.setAttribute("mask","url("+getLocationHref()+"#"+W+")");B[0];)q.appendChild(B[0]);this.elem.layerElement.appendChild(q),this.masker=U,F.setAttribute("stroke","#fff")}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2)for(B=this.elem.layerElement.children||this.elem.layerElement.childNodes;B.length;)this.elem.layerElement.removeChild(B[0]);this.elem.layerElement.appendChild(F),this.elem.layerElement.removeAttribute("mask"),F.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=F},SVGStrokeEffect.prototype.renderFrame=function(B){this.initialized||this.initialize();var R,F=this.paths.length,D,G;for(R=0;R<F;R+=1)if(this.paths[R].m!==-1&&(D=this.elem.maskManager.viewData[this.paths[R].m],G=this.paths[R].p,(B||this.filterManager._mdf||D.prop._mdf)&&G.setAttribute("d",D.lastPath),B||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||D.prop._mdf)){var U;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var W=Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*.01,q=Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*.01,Y=G.getTotalLength();U="0 0 0 "+Y*W+" ";var Q=Y*(q-W),Z=1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*.01,K=Math.floor(Q/Z),J;for(J=0;J<K;J+=1)U+="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*.01+" ";U+="0 "+Y*10+" 0 0"}else U="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*.01;G.setAttribute("stroke-dasharray",U)}if((B||this.filterManager.effectElements[4].p._mdf)&&this.pathMasker.setAttribute("stroke-width",this.filterManager.effectElements[4].p.v*2),(B||this.filterManager.effectElements[6].p._mdf)&&this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v),(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2)&&(B||this.filterManager.effectElements[3].p._mdf)){var ie=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(ie[0]*255)+","+bmFloor(ie[1]*255)+","+bmFloor(ie[2]*255)+")")}};function SVGTritoneFilter(B,R,F,D){this.filterManager=R;var G=createNS("feColorMatrix");G.setAttribute("type","matrix"),G.setAttribute("color-interpolation-filters","linearRGB"),G.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),B.appendChild(G);var U=createNS("feComponentTransfer");U.setAttribute("color-interpolation-filters","sRGB"),U.setAttribute("result",D),this.matrixFilter=U;var W=createNS("feFuncR");W.setAttribute("type","table"),U.appendChild(W),this.feFuncR=W;var q=createNS("feFuncG");q.setAttribute("type","table"),U.appendChild(q),this.feFuncG=q;var Y=createNS("feFuncB");Y.setAttribute("type","table"),U.appendChild(Y),this.feFuncB=Y,B.appendChild(U)}SVGTritoneFilter.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R=this.filterManager.effectElements[0].p.v,F=this.filterManager.effectElements[1].p.v,D=this.filterManager.effectElements[2].p.v,G=D[0]+" "+F[0]+" "+R[0],U=D[1]+" "+F[1]+" "+R[1],W=D[2]+" "+F[2]+" "+R[2];this.feFuncR.setAttribute("tableValues",G),this.feFuncG.setAttribute("tableValues",U),this.feFuncB.setAttribute("tableValues",W)}};function SVGProLevelsFilter(B,R,F,D){this.filterManager=R;var G=this.filterManager.effectElements,U=createNS("feComponentTransfer");(G[10].p.k||G[10].p.v!==0||G[11].p.k||G[11].p.v!==1||G[12].p.k||G[12].p.v!==1||G[13].p.k||G[13].p.v!==0||G[14].p.k||G[14].p.v!==1)&&(this.feFuncR=this.createFeFunc("feFuncR",U)),(G[17].p.k||G[17].p.v!==0||G[18].p.k||G[18].p.v!==1||G[19].p.k||G[19].p.v!==1||G[20].p.k||G[20].p.v!==0||G[21].p.k||G[21].p.v!==1)&&(this.feFuncG=this.createFeFunc("feFuncG",U)),(G[24].p.k||G[24].p.v!==0||G[25].p.k||G[25].p.v!==1||G[26].p.k||G[26].p.v!==1||G[27].p.k||G[27].p.v!==0||G[28].p.k||G[28].p.v!==1)&&(this.feFuncB=this.createFeFunc("feFuncB",U)),(G[31].p.k||G[31].p.v!==0||G[32].p.k||G[32].p.v!==1||G[33].p.k||G[33].p.v!==1||G[34].p.k||G[34].p.v!==0||G[35].p.k||G[35].p.v!==1)&&(this.feFuncA=this.createFeFunc("feFuncA",U)),(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)&&(U.setAttribute("color-interpolation-filters","sRGB"),B.appendChild(U)),(G[3].p.k||G[3].p.v!==0||G[4].p.k||G[4].p.v!==1||G[5].p.k||G[5].p.v!==1||G[6].p.k||G[6].p.v!==0||G[7].p.k||G[7].p.v!==1)&&(U=createNS("feComponentTransfer"),U.setAttribute("color-interpolation-filters","sRGB"),U.setAttribute("result",D),B.appendChild(U),this.feFuncRComposed=this.createFeFunc("feFuncR",U),this.feFuncGComposed=this.createFeFunc("feFuncG",U),this.feFuncBComposed=this.createFeFunc("feFuncB",U))}SVGProLevelsFilter.prototype.createFeFunc=function(B,R){var F=createNS(B);return F.setAttribute("type","table"),R.appendChild(F),F},SVGProLevelsFilter.prototype.getTableValue=function(B,R,F,D,G){for(var U=0,W=256,q,Y=Math.min(B,R),Q=Math.max(B,R),Z=Array.call(null,{length:W}),K,J=0,ie=G-D,ne=R-B;U<=256;)q=U/256,q<=Y?K=ne<0?G:D:q>=Q?K=ne<0?D:G:K=D+ie*Math.pow((q-B)/ne,1/F),Z[J]=K,J+=1,U+=256/(W-1);return Z.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R,F=this.filterManager.effectElements;this.feFuncRComposed&&(B||F[3].p._mdf||F[4].p._mdf||F[5].p._mdf||F[6].p._mdf||F[7].p._mdf)&&(R=this.getTableValue(F[3].p.v,F[4].p.v,F[5].p.v,F[6].p.v,F[7].p.v),this.feFuncRComposed.setAttribute("tableValues",R),this.feFuncGComposed.setAttribute("tableValues",R),this.feFuncBComposed.setAttribute("tableValues",R)),this.feFuncR&&(B||F[10].p._mdf||F[11].p._mdf||F[12].p._mdf||F[13].p._mdf||F[14].p._mdf)&&(R=this.getTableValue(F[10].p.v,F[11].p.v,F[12].p.v,F[13].p.v,F[14].p.v),this.feFuncR.setAttribute("tableValues",R)),this.feFuncG&&(B||F[17].p._mdf||F[18].p._mdf||F[19].p._mdf||F[20].p._mdf||F[21].p._mdf)&&(R=this.getTableValue(F[17].p.v,F[18].p.v,F[19].p.v,F[20].p.v,F[21].p.v),this.feFuncG.setAttribute("tableValues",R)),this.feFuncB&&(B||F[24].p._mdf||F[25].p._mdf||F[26].p._mdf||F[27].p._mdf||F[28].p._mdf)&&(R=this.getTableValue(F[24].p.v,F[25].p.v,F[26].p.v,F[27].p.v,F[28].p.v),this.feFuncB.setAttribute("tableValues",R)),this.feFuncA&&(B||F[31].p._mdf||F[32].p._mdf||F[33].p._mdf||F[34].p._mdf||F[35].p._mdf)&&(R=this.getTableValue(F[31].p.v,F[32].p.v,F[33].p.v,F[34].p.v,F[35].p.v),this.feFuncA.setAttribute("tableValues",R))}};function SVGDropShadowEffect(B,R,F,D,G){var U=R.container.globalData.renderConfig.filterSize,W=R.data.fs||U;B.setAttribute("x",W.x||U.x),B.setAttribute("y",W.y||U.y),B.setAttribute("width",W.width||U.width),B.setAttribute("height",W.height||U.height),this.filterManager=R;var q=createNS("feGaussianBlur");q.setAttribute("in","SourceAlpha"),q.setAttribute("result",D+"_drop_shadow_1"),q.setAttribute("stdDeviation","0"),this.feGaussianBlur=q,B.appendChild(q);var Y=createNS("feOffset");Y.setAttribute("dx","25"),Y.setAttribute("dy","0"),Y.setAttribute("in",D+"_drop_shadow_1"),Y.setAttribute("result",D+"_drop_shadow_2"),this.feOffset=Y,B.appendChild(Y);var Q=createNS("feFlood");Q.setAttribute("flood-color","#00ff00"),Q.setAttribute("flood-opacity","1"),Q.setAttribute("result",D+"_drop_shadow_3"),this.feFlood=Q,B.appendChild(Q);var Z=createNS("feComposite");Z.setAttribute("in",D+"_drop_shadow_3"),Z.setAttribute("in2",D+"_drop_shadow_2"),Z.setAttribute("operator","in"),Z.setAttribute("result",D+"_drop_shadow_4"),B.appendChild(Z);var K=this.createMergeNode(D,[D+"_drop_shadow_4",G]);B.appendChild(K)}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){if((B||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),B||this.filterManager.effectElements[0].p._mdf){var R=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(R[0]*255),Math.round(R[1]*255),Math.round(R[2]*255)))}if((B||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),B||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var F=this.filterManager.effectElements[3].p.v,D=(this.filterManager.effectElements[2].p.v-90)*degToRads,G=F*Math.cos(D),U=F*Math.sin(D);this.feOffset.setAttribute("dx",G),this.feOffset.setAttribute("dy",U)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(B,R,F){this.initialized=!1,this.filterManager=R,this.filterElem=B,this.elem=F,F.matteElement=createNS("g"),F.matteElement.appendChild(F.layerElement),F.matteElement.appendChild(F.transformedElement),F.baseElement=F.matteElement}SVGMatte3Effect.prototype.findSymbol=function(B){for(var R=0,F=_svgMatteSymbols.length;R<F;){if(_svgMatteSymbols[R]===B)return _svgMatteSymbols[R];R+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(B,R){var F=B.layerElement.parentNode;if(!!F){for(var D=F.children,G=0,U=D.length;G<U&&D[G]!==B.layerElement;)G+=1;var W;G<=U-2&&(W=D[G+1]);var q=createNS("use");q.setAttribute("href","#"+R),W?F.insertBefore(q,W):F.appendChild(q)}},SVGMatte3Effect.prototype.setElementAsMask=function(B,R){if(!this.findSymbol(R)){var F=createElementID(),D=createNS("mask");D.setAttribute("id",R.layerId),D.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(R);var G=B.globalData.defs;G.appendChild(D);var U=createNS("symbol");U.setAttribute("id",F),this.replaceInParent(R,F),U.appendChild(R.layerElement),G.appendChild(U);var W=createNS("use");W.setAttribute("href","#"+F),D.appendChild(W),R.data.hd=!1,R.show()}B.setMatte(R.layerId)},SVGMatte3Effect.prototype.initialize=function(){for(var B=this.filterManager.effectElements[0].p.v,R=this.elem.comp.elements,F=0,D=R.length;F<D;)R[F]&&R[F].data.ind===B&&this.setElementAsMask(this.elem,R[F]),F+=1;this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){this.initialized||this.initialize()};function SVGGaussianBlurEffect(B,R,F,D){B.setAttribute("x","-100%"),B.setAttribute("y","-100%"),B.setAttribute("width","300%"),B.setAttribute("height","300%"),this.filterManager=R;var G=createNS("feGaussianBlur");G.setAttribute("result",D),B.appendChild(G),this.feGaussianBlur=G}return SVGGaussianBlurEffect.prototype.renderFrame=function(B){if(B||this.filterManager._mdf){var R=.3,F=this.filterManager.effectElements[0].p.v*R,D=this.filterManager.effectElements[1].p.v,G=D==3?0:F,U=D==2?0:F;this.feGaussianBlur.setAttribute("stdDeviation",G+" "+U);var W=this.filterManager.effectElements[2].p.v==1?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",W)}},registerRenderer("canvas",CanvasRenderer),registerRenderer("html",HybridRenderer),registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),setExpressionsPlugin(Expressions),initialize$1(),initialize(),registerEffect(20,SVGTintFilter,!0),registerEffect(21,SVGFillFilter,!0),registerEffect(22,SVGStrokeEffect,!1),registerEffect(23,SVGTritoneFilter,!0),registerEffect(24,SVGProLevelsFilter,!0),registerEffect(25,SVGDropShadowEffect,!0),registerEffect(28,SVGMatte3Effect,!1),registerEffect(29,SVGGaussianBlurEffect,!0),lottie})})(lottie,lottie.exports);var Lottie=lottie.exports,commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},lodash={exports:{}};/**
- * @license
- * Lodash <https://lodash.com/>
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */(function(B,R){(function(){var F,D=200,G="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",U="Expected a function",W="Invalid `variable` option passed into `_.template`",q="__lodash_hash_undefined__",Y=500,Q="__lodash_placeholder__",Z=1,K=2,J=4,ie=1,ne=2,se=1,re=2,ae=4,le=8,ce=16,he=32,de=64,me=128,fe=256,ge=512,Se=30,Ee="...",ve=800,xe=16,Pe=1,ye=2,Te=3,Le=1/0,we=9007199254740991,Ae=17976931348623157e292,Me=0/0,ke=4294967295,Ne=ke-1,Ie=ke>>>1,Ge=[["ary",me],["bind",se],["bindKey",re],["curry",le],["curryRight",ce],["flip",ge],["partial",he],["partialRight",de],["rearg",fe]],ze="[object Arguments]",Ve="[object Array]",Ye="[object AsyncFunction]",et="[object Boolean]",Je="[object Date]",st="[object DOMException]",pt="[object Error]",dt="[object Function]",yt="[object GeneratorFunction]",Fe="[object Map]",_e="[object Number]",je="[object Null]",Ze="[object Object]",De="[object Promise]",Oe="[object Proxy]",Xe="[object RegExp]",tt="[object Set]",nt="[object String]",Ke="[object Symbol]",ct="[object Undefined]",ut="[object WeakMap]",ht="[object WeakSet]",vt="[object ArrayBuffer]",xt="[object DataView]",gt="[object Float32Array]",Pt="[object Float64Array]",kt="[object Int8Array]",Yt="[object Int16Array]",fi="[object Int32Array]",Jt="[object Uint8Array]",ii="[object Uint8ClampedArray]",ui="[object Uint16Array]",Qt="[object Uint32Array]",Ai=/\b__p \+= '';/g,Qi=/\b(__p \+=) '' \+/g,In=/(__e\(.*?\)|\b__t\)) \+\n'';/g,cn=/&(?:amp|lt|gt|quot|#39);/g,_t=/[&<>"']/g,oi=RegExp(cn.source),$i=RegExp(_t.source),Ui=/<%-([\s\S]+?)%>/g,Nr=/<%([\s\S]+?)%>/g,On=/<%=([\s\S]+?)%>/g,Jn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lr=/^\w*$/,Vn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,rs=RegExp(kr.source),mr=/^\s+/,Gn=/\s/,$n=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,er=/\{\n\/\* \[wrapped with (.+)\] \*/,Nn=/,? & /,hn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Sn=/[()=,{}\[\]\/\s]/,Aa=/\\(\\)?/g,Us=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ys=/\w*$/,xn=/^[-+]0x[0-9a-f]+$/i,Ln=/^0b[01]+$/i,kn=/^\[object .+?Constructor\]$/,Hs=/^0o[0-7]+$/i,ei=/^(?:0|[1-9]\d*)$/,Fi=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ei=/($^)/,Ni=/['\n\r\u2028\u2029\\]/g,mi="\\ud800-\\udfff",Li="\\u0300-\\u036f",fn="\\ufe20-\\ufe2f",Rn="\\u20d0-\\u20ff",zn=Li+fn+Rn,Rr="\\u2700-\\u27bf",gr="a-z\\xdf-\\xf6\\xf8-\\xff",yo="\\xac\\xb1\\xd7\\xf7",xl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",tr="\\u2000-\\u206f",Al=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",vo="A-Z\\xc0-\\xd6\\xd8-\\xde",Ea="\\ufe0e\\ufe0f",wa=yo+xl+tr+Al,Ws="['\u2019]",Pa="["+mi+"]",vs="["+wa+"]",bs="["+zn+"]",Ss="\\d+",bo="["+Rr+"]",Ta="["+gr+"]",Ca="[^"+mi+wa+Ss+Rr+gr+vo+"]",qs="\\ud83c[\\udffb-\\udfff]",xs="(?:"+bs+"|"+qs+")",So="[^"+mi+"]",Xs="(?:\\ud83c[\\udde6-\\uddff]){2}",As="[\\ud800-\\udbff][\\udc00-\\udfff]",yr="["+vo+"]",Fr="\\u200d",Ma="(?:"+Ta+"|"+Ca+")",xo="(?:"+yr+"|"+Ca+")",Ao="(?:"+Ws+"(?:d|ll|m|re|s|t|ve))?",_a="(?:"+Ws+"(?:D|LL|M|RE|S|T|VE))?",Ia=xs+"?",Ys="["+Ea+"]?",Eo="(?:"+Fr+"(?:"+[So,Xs,As].join("|")+")"+Ys+Ia+")*",wo="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",El="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Po=Ys+Ia+Eo,Es="(?:"+[bo,Xs,As].join("|")+")"+Po,wl="(?:"+[So+bs+"?",bs,Xs,As,Pa].join("|")+")",ss=RegExp(Ws,"g"),vr=RegExp(bs,"g"),Na=RegExp(qs+"(?="+qs+")|"+wl+Po,"g"),js=RegExp([yr+"?"+Ta+"+"+Ao+"(?="+[vs,yr,"$"].join("|")+")",xo+"+"+_a+"(?="+[vs,yr+Ma,"$"].join("|")+")",yr+"?"+Ma+"+"+Ao,yr+"+"+_a,El,wo,Ss,Es].join("|"),"g"),Qs=RegExp("["+Fr+mi+zn+Ea+"]"),Pl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Tl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Cl=-1,vi={};vi[gt]=vi[Pt]=vi[kt]=vi[Yt]=vi[fi]=vi[Jt]=vi[ii]=vi[ui]=vi[Qt]=!0,vi[ze]=vi[Ve]=vi[vt]=vi[et]=vi[xt]=vi[Je]=vi[pt]=vi[dt]=vi[Fe]=vi[_e]=vi[Ze]=vi[Xe]=vi[tt]=vi[nt]=vi[ut]=!1;var Vt={};Vt[ze]=Vt[Ve]=Vt[vt]=Vt[xt]=Vt[et]=Vt[Je]=Vt[gt]=Vt[Pt]=Vt[kt]=Vt[Yt]=Vt[fi]=Vt[Fe]=Vt[_e]=Vt[Ze]=Vt[Xe]=Vt[tt]=Vt[nt]=Vt[Ke]=Vt[Jt]=Vt[ii]=Vt[ui]=Vt[Qt]=!0,Vt[pt]=Vt[dt]=Vt[ut]=!1;var bi={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Ks={"&":"&","<":"<",">":">",'"':""","'":"'"},Br={"&":"&","<":"<",">":">",""":'"',"'":"'"},La={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},To=parseFloat,Co=parseInt,Un=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,ka=typeof self=="object"&&self&&self.Object===Object&&self,Bi=Un||ka||Function("return this")(),Pi=R&&!R.nodeType&&R,Fn=Pi&&!0&&B&&!B.nodeType&&B,dn=Fn&&Fn.exports===Pi,Dr=dn&&Un.process,Hi=function(){try{var ft=Fn&&Fn.require&&Fn.require("util").types;return ft||Dr&&Dr.binding&&Dr.binding("util")}catch{}}(),en=Hi&&Hi.isArrayBuffer,Ra=Hi&&Hi.isDate,Fa=Hi&&Hi.isMap,Ba=Hi&&Hi.isRegExp,as=Hi&&Hi.isSet,Da=Hi&&Hi.isTypedArray;function tn(ft,Qe,it){switch(it.length){case 0:return ft.call(Qe);case 1:return ft.call(Qe,it[0]);case 2:return ft.call(Qe,it[0],it[1]);case 3:return ft.call(Qe,it[0],it[1],it[2])}return ft.apply(Qe,it)}function pn(ft,Qe,it,lt){for(var At=-1,It=ft==null?0:ft.length;++At<It;){var Gt=ft[At];Qe(lt,Gt,it(Gt),ft)}return lt}function He(ft,Qe){for(var it=-1,lt=ft==null?0:ft.length;++it<lt&&Qe(ft[it],it,ft)!==!1;);return ft}function rt(ft,Qe){for(var it=ft==null?0:ft.length;it--&&Qe(ft[it],it,ft)!==!1;);return ft}function bt(ft,Qe){for(var it=-1,lt=ft==null?0:ft.length;++it<lt;)if(!Qe(ft[it],it,ft))return!1;return!0}function wt(ft,Qe){for(var it=-1,lt=ft==null?0:ft.length,At=0,It=[];++it<lt;){var Gt=ft[it];Qe(Gt,it,ft)&&(It[At++]=Gt)}return It}function Bt(ft,Qe){var it=ft==null?0:ft.length;return!!it&&Oi(ft,Qe,0)>-1}function Lt(ft,Qe,it){for(var lt=-1,At=ft==null?0:ft.length;++lt<At;)if(it(Qe,ft[lt]))return!0;return!1}function Ft(ft,Qe){for(var it=-1,lt=ft==null?0:ft.length,At=Array(lt);++it<lt;)At[it]=Qe(ft[it],it,ft);return At}function Rt(ft,Qe){for(var it=-1,lt=Qe.length,At=ft.length;++it<lt;)ft[At+it]=Qe[it];return ft}function ni(ft,Qe,it,lt){var At=-1,It=ft==null?0:ft.length;for(lt&&It&&(it=ft[++At]);++At<It;)it=Qe(it,ft[At],At,ft);return it}function _i(ft,Qe,it,lt){var At=ft==null?0:ft.length;for(lt&&At&&(it=ft[--At]);At--;)it=Qe(it,ft[At],At,ft);return it}function Di(ft,Qe){for(var it=-1,lt=ft==null?0:ft.length;++it<lt;)if(Qe(ft[it],it,ft))return!0;return!1}var Wi=Or("length");function ki(ft){return ft.split("")}function An(ft){return ft.match(hn)||[]}function mn(ft,Qe,it){var lt;return it(ft,function(At,It,Gt){if(Qe(At,It,Gt))return lt=It,!1}),lt}function En(ft,Qe,it,lt){for(var At=ft.length,It=it+(lt?1:-1);lt?It--:++It<At;)if(Qe(ft[It],It,ft))return It;return-1}function Oi(ft,Qe,it){return Qe===Qe?vh(ft,Qe,it):En(ft,Oa,it)}function wn(ft,Qe,it,lt){for(var At=it-1,It=ft.length;++At<It;)if(lt(ft[At],Qe))return At;return-1}function Oa(ft){return ft!==ft}function os(ft,Qe){var it=ft==null?0:ft.length;return it?Ml(ft,Qe)/it:Me}function Or(ft){return function(Qe){return Qe==null?F:Qe[ft]}}function Va(ft){return function(Qe){return ft==null?F:ft[Qe]}}function Mo(ft,Qe,it,lt,At){return At(ft,function(It,Gt,qt){it=lt?(lt=!1,It):Qe(it,It,Gt,qt)}),it}function qu(ft,Qe){var it=ft.length;for(ft.sort(Qe);it--;)ft[it]=ft[it].value;return ft}function Ml(ft,Qe){for(var it,lt=-1,At=ft.length;++lt<At;){var It=Qe(ft[lt]);It!==F&&(it=it===F?It:it+It)}return it}function Ga(ft,Qe){for(var it=-1,lt=Array(ft);++it<ft;)lt[it]=Qe(it);return lt}function _l(ft,Qe){return Ft(Qe,function(it){return[it,ft[it]]})}function Xu(ft){return ft&&ft.slice(0,Hn(ft)+1).replace(mr,"")}function Pn(ft){return function(Qe){return ft(Qe)}}function gn(ft,Qe){return Ft(Qe,function(it){return ft[it]})}function ws(ft,Qe){return ft.has(Qe)}function Zs(ft,Qe){for(var it=-1,lt=ft.length;++it<lt&&Oi(Qe,ft[it],0)>-1;);return it}function Il(ft,Qe){for(var it=ft.length;it--&&Oi(Qe,ft[it],0)>-1;);return it}function Yu(ft,Qe){for(var it=ft.length,lt=0;it--;)ft[it]===Qe&&++lt;return lt}var dh=Va(bi),ph=Va(Ks);function mh(ft){return"\\"+La[ft]}function gh(ft,Qe){return ft==null?F:ft[Qe]}function Js(ft){return Qs.test(ft)}function $s(ft){return Pl.test(ft)}function yh(ft){for(var Qe,it=[];!(Qe=ft.next()).done;)it.push(Qe.value);return it}function Nl(ft){var Qe=-1,it=Array(ft.size);return ft.forEach(function(lt,At){it[++Qe]=[At,lt]}),it}function _o(ft,Qe){return function(it){return ft(Qe(it))}}function Vr(ft,Qe){for(var it=-1,lt=ft.length,At=0,It=[];++it<lt;){var Gt=ft[it];(Gt===Qe||Gt===Q)&&(ft[it]=Q,It[At++]=it)}return It}function ir(ft){var Qe=-1,it=Array(ft.size);return ft.forEach(function(lt){it[++Qe]=lt}),it}function Io(ft){var Qe=-1,it=Array(ft.size);return ft.forEach(function(lt){it[++Qe]=[lt,lt]}),it}function vh(ft,Qe,it){for(var lt=it-1,At=ft.length;++lt<At;)if(ft[lt]===Qe)return lt;return-1}function bh(ft,Qe,it){for(var lt=it+1;lt--;)if(ft[lt]===Qe)return lt;return lt}function ea(ft){return Js(ft)?Sh(ft):Wi(ft)}function nn(ft){return Js(ft)?xh(ft):ki(ft)}function Hn(ft){for(var Qe=ft.length;Qe--&&Gn.test(ft.charAt(Qe)););return Qe}var ju=Va(Br);function Sh(ft){for(var Qe=Na.lastIndex=0;Na.test(ft);)++Qe;return Qe}function xh(ft){return ft.match(Na)||[]}function Ah(ft){return ft.match(js)||[]}var Eh=function ft(Qe){Qe=Qe==null?Bi:ta.defaults(Bi.Object(),Qe,ta.pick(Bi,Tl));var it=Qe.Array,lt=Qe.Date,At=Qe.Error,It=Qe.Function,Gt=Qe.Math,qt=Qe.Object,gi=Qe.RegExp,Ll=Qe.String,Wn=Qe.TypeError,yn=it.prototype,No=It.prototype,ia=qt.prototype,Gr=Qe["__core-js_shared__"],Ps=No.toString,li=ia.hasOwnProperty,yi=0,Qu=function(){var ue=/[^.]+$/.exec(Gr&&Gr.keys&&Gr.keys.IE_PROTO||"");return ue?"Symbol(src)_1."+ue:""}(),za=ia.toString,Lo=Ps.call(qt),wh=Bi._,Ph=gi("^"+Ps.call(li).replace(kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ko=dn?Qe.Buffer:F,nr=Qe.Symbol,rr=Qe.Uint8Array,Ua=ko?ko.allocUnsafe:F,Ha=_o(qt.getPrototypeOf,qt),Wa=qt.create,kl=ia.propertyIsEnumerable,qa=yn.splice,Xa=nr?nr.isConcatSpreadable:F,na=nr?nr.iterator:F,sr=nr?nr.toStringTag:F,br=function(){try{var ue=ts(qt,"defineProperty");return ue({},"",{}),ue}catch{}}(),Ro=Qe.clearTimeout!==Bi.clearTimeout&&Qe.clearTimeout,Th=lt&<.now!==Bi.Date.now&<.now,Ch=Qe.setTimeout!==Bi.setTimeout&&Qe.setTimeout,Fo=Gt.ceil,Ts=Gt.floor,ra=qt.getOwnPropertySymbols,Rl=ko?ko.isBuffer:F,Ku=Qe.isFinite,Zu=yn.join,Mh=_o(qt.keys,qt),Vi=Gt.max,ri=Gt.min,rn=lt.now,_h=Qe.parseInt,Ju=Gt.random,$u=yn.reverse,Fl=ts(Qe,"DataView"),Cs=ts(Qe,"Map"),Ms=ts(Qe,"Promise"),ls=ts(Qe,"Set"),Sr=ts(Qe,"WeakMap"),zr=ts(qt,"create"),us=Sr&&new Sr,Ur={},sa=on(Fl),Ih=on(Cs),Nh=on(Ms),Lh=on(ls),kh=on(Sr),Bo=nr?nr.prototype:F,cs=Bo?Bo.valueOf:F,aa=Bo?Bo.toString:F;function qe(ue){if(Xt(ue)&&!zt(ue)&&!(ue instanceof Ht)){if(ue instanceof vn)return ue;if(li.call(ue,"__wrapped__"))return Rc(ue)}return new vn(ue)}var We=function(){function ue(){}return function(te){if(!wi(te))return{};if(Wa)return Wa(te);ue.prototype=te;var oe=new ue;return ue.prototype=F,oe}}();function Hr(){}function vn(ue,te){this.__wrapped__=ue,this.__actions__=[],this.__chain__=!!te,this.__index__=0,this.__values__=F}qe.templateSettings={escape:Ui,evaluate:Nr,interpolate:On,variable:"",imports:{_:qe}},qe.prototype=Hr.prototype,qe.prototype.constructor=qe,vn.prototype=We(Hr.prototype),vn.prototype.constructor=vn;function Ht(ue){this.__wrapped__=ue,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ke,this.__views__=[]}function ti(){var ue=new Ht(this.__wrapped__);return ue.__actions__=bn(this.__actions__),ue.__dir__=this.__dir__,ue.__filtered__=this.__filtered__,ue.__iteratees__=bn(this.__iteratees__),ue.__takeCount__=this.__takeCount__,ue.__views__=bn(this.__views__),ue}function Rh(){if(this.__filtered__){var ue=new Ht(this);ue.__dir__=-1,ue.__filtered__=!0}else ue=this.clone(),ue.__dir__*=-1;return ue}function Fh(){var ue=this.__wrapped__.value(),te=this.__dir__,oe=zt(ue),pe=te<0,be=oe?ue.length:0,Ce=an(0,be,this.__views__),Re=Ce.start,Be=Ce.end,Ue=Be-Re,$e=pe?Be:Re-1,at=this.__iteratees__,ot=at.length,mt=0,St=ri(Ue,this.__takeCount__);if(!oe||!pe&&be==Ue&&St==Ue)return $a(ue,this.__actions__);var Et=[];e:for(;Ue--&&mt<St;){$e+=te;for(var Tt=-1,Ct=ue[$e];++Tt<ot;){var Mt=at[Tt],Nt=Mt.iteratee,Wt=Mt.type,Si=Nt(Ct);if(Wt==ye)Ct=Si;else if(!Si){if(Wt==Pe)continue e;break e}}Et[mt++]=Ct}return Et}Ht.prototype=We(Hr.prototype),Ht.prototype.constructor=Ht;function _s(ue){var te=-1,oe=ue==null?0:ue.length;for(this.clear();++te<oe;){var pe=ue[te];this.set(pe[0],pe[1])}}function Is(){this.__data__=zr?zr(null):{},this.size=0}function Bh(ue){var te=this.has(ue)&&delete this.__data__[ue];return this.size-=te?1:0,te}function Dh(ue){var te=this.__data__;if(zr){var oe=te[ue];return oe===q?F:oe}return li.call(te,ue)?te[ue]:F}function Oh(ue){var te=this.__data__;return zr?te[ue]!==F:li.call(te,ue)}function Vh(ue,te){var oe=this.__data__;return this.size+=this.has(ue)?0:1,oe[ue]=zr&&te===F?q:te,this}_s.prototype.clear=Is,_s.prototype.delete=Bh,_s.prototype.get=Dh,_s.prototype.has=Oh,_s.prototype.set=Vh;function Wr(ue){var te=-1,oe=ue==null?0:ue.length;for(this.clear();++te<oe;){var pe=ue[te];this.set(pe[0],pe[1])}}function qr(){this.__data__=[],this.size=0}function Gh(ue){var te=this.__data__,oe=hs(te,ue);if(oe<0)return!1;var pe=te.length-1;return oe==pe?te.pop():qa.call(te,oe,1),--this.size,!0}function zh(ue){var te=this.__data__,oe=hs(te,ue);return oe<0?F:te[oe][1]}function Uh(ue){return hs(this.__data__,ue)>-1}function Hh(ue,te){var oe=this.__data__,pe=hs(oe,ue);return pe<0?(++this.size,oe.push([ue,te])):oe[pe][1]=te,this}Wr.prototype.clear=qr,Wr.prototype.delete=Gh,Wr.prototype.get=zh,Wr.prototype.has=Uh,Wr.prototype.set=Hh;function Xr(ue){var te=-1,oe=ue==null?0:ue.length;for(this.clear();++te<oe;){var pe=ue[te];this.set(pe[0],pe[1])}}function Yr(){this.size=0,this.__data__={hash:new _s,map:new(Cs||Wr),string:new _s}}function Wh(ue){var te=Ot(this,ue).delete(ue);return this.size-=te?1:0,te}function qh(ue){return Ot(this,ue).get(ue)}function Xh(ue){return Ot(this,ue).has(ue)}function Yh(ue,te){var oe=Ot(this,ue),pe=oe.size;return oe.set(ue,te),this.size+=oe.size==pe?0:1,this}Xr.prototype.clear=Yr,Xr.prototype.delete=Wh,Xr.prototype.get=qh,Xr.prototype.has=Xh,Xr.prototype.set=Yh;function Ns(ue){var te=-1,oe=ue==null?0:ue.length;for(this.__data__=new Xr;++te<oe;)this.add(ue[te])}function Ls(ue){return this.__data__.set(ue,q),this}function jh(ue){return this.__data__.has(ue)}Ns.prototype.add=Ns.prototype.push=Ls,Ns.prototype.has=jh;function ar(ue){var te=this.__data__=new Wr(ue);this.size=te.size}function or(){this.__data__=new Wr,this.size=0}function Qh(ue){var te=this.__data__,oe=te.delete(ue);return this.size=te.size,oe}function Kh(ue){return this.__data__.get(ue)}function Zh(ue){return this.__data__.has(ue)}function Jh(ue,te){var oe=this.__data__;if(oe instanceof Wr){var pe=oe.__data__;if(!Cs||pe.length<D-1)return pe.push([ue,te]),this.size=++oe.size,this;oe=this.__data__=new Xr(pe)}return oe.set(ue,te),this.size=oe.size,this}ar.prototype.clear=or,ar.prototype.delete=Qh,ar.prototype.get=Kh,ar.prototype.has=Zh,ar.prototype.set=Jh;function ec(ue,te){var oe=zt(ue),pe=!oe&&Gs(ue),be=!oe&&!pe&&ms(ue),Ce=!oe&&!pe&&!be&&Yi(ue),Re=oe||pe||be||Ce,Be=Re?Ga(ue.length,Ll):[],Ue=Be.length;for(var $e in ue)(te||li.call(ue,$e))&&!(Re&&($e=="length"||be&&($e=="offset"||$e=="parent")||Ce&&($e=="buffer"||$e=="byteLength"||$e=="byteOffset")||is($e,Ue)))&&Be.push($e);return Be}function Bl(ue){var te=ue.length;return te?ue[Xo(0,te-1)]:F}function tc(ue,te){return co(bn(ue),Qr(te,0,ue.length))}function $h(ue){return co(bn(ue))}function Dl(ue,te,oe){(oe!==F&&!dr(ue[te],oe)||oe===F&&!(te in ue))&&jr(ue,te,oe)}function ks(ue,te,oe){var pe=ue[te];(!(li.call(ue,te)&&dr(pe,oe))||oe===F&&!(te in ue))&&jr(ue,te,oe)}function hs(ue,te){for(var oe=ue.length;oe--;)if(dr(ue[oe][0],te))return oe;return-1}function Do(ue,te,oe,pe){return Xn(ue,function(be,Ce,Re){te(pe,be,oe(be),Re)}),pe}function ic(ue,te){return ue&&Ti(te,ji(te),ue)}function nc(ue,te){return ue&&Ti(te,ci(te),ue)}function jr(ue,te,oe){te=="__proto__"&&br?br(ue,te,{configurable:!0,enumerable:!0,value:oe,writable:!0}):ue[te]=oe}function lr(ue,te){for(var oe=-1,pe=te.length,be=it(pe),Ce=ue==null;++oe<pe;)be[oe]=Ce?F:Mu(ue,te[oe]);return be}function Qr(ue,te,oe){return ue===ue&&(oe!==F&&(ue=ue<=oe?ue:oe),te!==F&&(ue=ue>=te?ue:te)),ue}function qi(ue,te,oe,pe,be,Ce){var Re,Be=te&Z,Ue=te&K,$e=te&J;if(oe&&(Re=be?oe(ue,pe,be,Ce):oe(ue)),Re!==F)return Re;if(!wi(ue))return ue;var at=zt(ue);if(at){if(Re=Mc(ue),!Be)return bn(ue,Re)}else{var ot=Zi(ue),mt=ot==dt||ot==yt;if(ms(ue))return Jl(ue,Be);if(ot==Ze||ot==ze||mt&&!be){if(Re=Ue||mt?{}:_c(ue),!Be)return Ue?hf(ue,nc(Re,ue)):wr(ue,ic(Re,ue))}else{if(!Vt[ot])return be?ue:{};Re=Ic(ue,ot,Be)}}Ce||(Ce=new ar);var St=Ce.get(ue);if(St)return St;Ce.set(ue,Re),Jc(ue)?ue.forEach(function(Ct){Re.add(qi(Ct,te,oe,Ct,ue,Ce))}):Mi(ue)&&ue.forEach(function(Ct,Mt){Re.set(Mt,qi(Ct,te,oe,Mt,ue,Ce))});var Et=$e?Ue?oo:cr:Ue?ci:ji,Tt=at?F:Et(ue);return He(Tt||ue,function(Ct,Mt){Tt&&(Mt=Ct,Ct=ue[Mt]),ks(Re,Mt,qi(Ct,te,oe,Mt,ue,Ce))}),Re}function qn(ue){var te=ji(ue);return function(oe){return rc(oe,ue,te)}}function rc(ue,te,oe){var pe=oe.length;if(ue==null)return!pe;for(ue=qt(ue);pe--;){var be=oe[pe],Ce=te[be],Re=ue[be];if(Re===F&&!(be in ue)||!Ce(Re))return!1}return!0}function Ol(ue,te,oe){if(typeof ue!="function")throw new Wn(U);return ya(function(){ue.apply(F,oe)},te)}function oa(ue,te,oe,pe){var be=-1,Ce=Bt,Re=!0,Be=ue.length,Ue=[],$e=te.length;if(!Be)return Ue;oe&&(te=Ft(te,Pn(oe))),pe?(Ce=Lt,Re=!1):te.length>=D&&(Ce=ws,Re=!1,te=new Ns(te));e:for(;++be<Be;){var at=ue[be],ot=oe==null?at:oe(at);if(at=pe||at!==0?at:0,Re&&ot===ot){for(var mt=$e;mt--;)if(te[mt]===ot)continue e;Ue.push(at)}else Ce(te,ot,pe)||Ue.push(at)}return Ue}var Xn=Rs(ur),Kr=Rs(Yn,!0);function sc(ue,te){var oe=!0;return Xn(ue,function(pe,be,Ce){return oe=!!te(pe,be,Ce),oe}),oe}function Oo(ue,te,oe){for(var pe=-1,be=ue.length;++pe<be;){var Ce=ue[pe],Re=te(Ce);if(Re!=null&&(Be===F?Re===Re&&!ln(Re):oe(Re,Be)))var Be=Re,Ue=Ce}return Ue}function Vo(ue,te,oe,pe){var be=ue.length;for(oe=Ut(oe),oe<0&&(oe=-oe>be?0:be+oe),pe=pe===F||pe>be?be:Ut(pe),pe<0&&(pe+=be),pe=oe>pe?0:Kt(pe);oe<pe;)ue[oe++]=te;return ue}function ac(ue,te){var oe=[];return Xn(ue,function(pe,be,Ce){te(pe,be,Ce)&&oe.push(pe)}),oe}function Xi(ue,te,oe,pe,be){var Ce=-1,Re=ue.length;for(oe||(oe=mf),be||(be=[]);++Ce<Re;){var Be=ue[Ce];te>0&&oe(Be)?te>1?Xi(Be,te-1,oe,pe,be):Rt(be,Be):pe||(be[be.length]=Be)}return be}var Gi=iu(),Go=iu(!0);function ur(ue,te){return ue&&Gi(ue,te,ji)}function Yn(ue,te){return ue&&Go(ue,te,ji)}function la(ue,te){return wt(te,function(oe){return ns(ue[oe])})}function xr(ue,te){te=Er(te,ue);for(var oe=0,pe=te.length;ue!=null&&oe<pe;)ue=ue[hr(te[oe++])];return oe&&oe==pe?ue:F}function fs(ue,te,oe){var pe=te(ue);return zt(ue)?pe:Rt(pe,oe(ue))}function sn(ue){return ue==null?ue===F?ct:je:sr&&sr in qt(ue)?Bs(ue):bf(ue)}function Ki(ue,te){return ue>te}function Vl(ue,te){return ue!=null&&li.call(ue,te)}function ef(ue,te){return ue!=null&&te in qt(ue)}function tf(ue,te,oe){return ue>=ri(te,oe)&&ue<Vi(te,oe)}function Gl(ue,te,oe){for(var pe=oe?Lt:Bt,be=ue[0].length,Ce=ue.length,Re=Ce,Be=it(Ce),Ue=1/0,$e=[];Re--;){var at=ue[Re];Re&&te&&(at=Ft(at,Pn(te))),Ue=ri(at.length,Ue),Be[Re]=!oe&&(te||be>=120&&at.length>=120)?new Ns(Re&&at):F}at=ue[0];var ot=-1,mt=Be[0];e:for(;++ot<be&&$e.length<Ue;){var St=at[ot],Et=te?te(St):St;if(St=oe||St!==0?St:0,!(mt?ws(mt,Et):pe($e,Et,oe))){for(Re=Ce;--Re;){var Tt=Be[Re];if(!(Tt?ws(Tt,Et):pe(ue[Re],Et,oe)))continue e}mt&&mt.push(Et),$e.push(St)}}return $e}function zl(ue,te,oe,pe){return ur(ue,function(be,Ce,Re){te(pe,oe(be),Ce,Re)}),pe}function Ya(ue,te,oe){te=Er(te,ue),ue=hu(ue,te);var pe=ue==null?ue:ue[hr(Kn(te))];return pe==null?F:tn(pe,ue,oe)}function ua(ue){return Xt(ue)&&sn(ue)==ze}function oc(ue){return Xt(ue)&&sn(ue)==vt}function nf(ue){return Xt(ue)&&sn(ue)==Je}function ja(ue,te,oe,pe,be){return ue===te?!0:ue==null||te==null||!Xt(ue)&&!Xt(te)?ue!==ue&&te!==te:Qa(ue,te,oe,pe,ja,be)}function Qa(ue,te,oe,pe,be,Ce){var Re=zt(ue),Be=zt(te),Ue=Re?Ve:Zi(ue),$e=Be?Ve:Zi(te);Ue=Ue==ze?Ze:Ue,$e=$e==ze?Ze:$e;var at=Ue==Ze,ot=$e==Ze,mt=Ue==$e;if(mt&&ms(ue)){if(!ms(te))return!1;Re=!0,at=!1}if(mt&&!at)return Ce||(Ce=new ar),Re||Yi(ue)?Pc(ue,te,oe,pe,be,Ce):Tc(ue,te,Ue,oe,pe,be,Ce);if(!(oe&ie)){var St=at&&li.call(ue,"__wrapped__"),Et=ot&&li.call(te,"__wrapped__");if(St||Et){var Tt=St?ue.value():ue,Ct=Et?te.value():te;return Ce||(Ce=new ar),be(Tt,Ct,oe,pe,Ce)}}return mt?(Ce||(Ce=new ar),ff(ue,te,oe,pe,be,Ce)):!1}function rf(ue){return Xt(ue)&&Zi(ue)==Fe}function Ul(ue,te,oe,pe){var be=oe.length,Ce=be,Re=!pe;if(ue==null)return!Ce;for(ue=qt(ue);be--;){var Be=oe[be];if(Re&&Be[2]?Be[1]!==ue[Be[0]]:!(Be[0]in ue))return!1}for(;++be<Ce;){Be=oe[be];var Ue=Be[0],$e=ue[Ue],at=Be[1];if(Re&&Be[2]){if($e===F&&!(Ue in ue))return!1}else{var ot=new ar;if(pe)var mt=pe($e,at,Ue,ue,te,ot);if(!(mt===F?ja(at,$e,ie|ne,pe,ot):mt))return!1}}return!0}function zo(ue){if(!wi(ue)||uu(ue))return!1;var te=ns(ue)?Ph:kn;return te.test(on(ue))}function lc(ue){return Xt(ue)&&sn(ue)==Xe}function sf(ue){return Xt(ue)&&Zi(ue)==tt}function af(ue){return Xt(ue)&&fo(ue.length)&&!!vi[sn(ue)]}function uc(ue){return typeof ue=="function"?ue:ue==null?_n:typeof ue=="object"?zt(ue)?Xl(ue[0],ue[1]):ql(ue):hh(ue)}function Uo(ue){if(!uo(ue))return Mh(ue);var te=[];for(var oe in qt(ue))li.call(ue,oe)&&oe!="constructor"&&te.push(oe);return te}function Hl(ue){if(!wi(ue))return vf(ue);var te=uo(ue),oe=[];for(var pe in ue)pe=="constructor"&&(te||!li.call(ue,pe))||oe.push(pe);return oe}function Wl(ue,te){return ue<te}function Ho(ue,te){var oe=-1,pe=Cn(ue)?it(ue.length):[];return Xn(ue,function(be,Ce,Re){pe[++oe]=te(be,Ce,Re)}),pe}function ql(ue){var te=ma(ue);return te.length==1&&te[0][2]?cu(te[0][0],te[0][1]):function(oe){return oe===ue||Ul(oe,ue,te)}}function Xl(ue,te){return Ji(ue)&&ga(te)?cu(hr(ue),te):function(oe){var pe=Mu(oe,ue);return pe===F&&pe===te?Iu(oe,ue):ja(te,pe,ie|ne)}}function Ka(ue,te,oe,pe,be){ue!==te&&Gi(te,function(Ce,Re){if(be||(be=new ar),wi(Ce))Wo(ue,te,Re,oe,Ka,pe,be);else{var Be=pe?pe(fu(ue,Re),Ce,Re+"",ue,te,be):F;Be===F&&(Be=Ce),Dl(ue,Re,Be)}},ci)}function Wo(ue,te,oe,pe,be,Ce,Re){var Be=fu(ue,oe),Ue=fu(te,oe),$e=Re.get(Ue);if($e){Dl(ue,oe,$e);return}var at=Ce?Ce(Be,Ue,oe+"",ue,te,Re):F,ot=at===F;if(ot){var mt=zt(Ue),St=!mt&&ms(Ue),Et=!mt&&!St&&Yi(Ue);at=Ue,mt||St||Et?zt(Be)?at=Be:si(Be)?at=bn(Be):St?(ot=!1,at=Jl(Ue,!0)):Et?(ot=!1,at=gc(Ue,!0)):at=[]:va(Ue)||Gs(Ue)?(at=Be,Gs(Be)?at=Dn(Be):(!wi(Be)||ns(Be))&&(at=_c(Ue))):ot=!1}ot&&(Re.set(Ue,at),be(at,Ue,pe,Ce,Re),Re.delete(Ue)),Dl(ue,oe,at)}function cc(ue,te){var oe=ue.length;if(!!oe)return te+=te<0?oe:0,is(te,oe)?ue[te]:F}function Yl(ue,te,oe){te.length?te=Ft(te,function(Ce){return zt(Ce)?function(Re){return xr(Re,Ce.length===1?Ce[0]:Ce)}:Ce}):te=[_n];var pe=-1;te=Ft(te,Pn(Dt()));var be=Ho(ue,function(Ce,Re,Be){var Ue=Ft(te,function($e){return $e(Ce)});return{criteria:Ue,index:++pe,value:Ce}});return qu(be,function(Ce,Re){return yc(Ce,Re,oe)})}function hc(ue,te){return fc(ue,te,function(oe,pe){return Iu(ue,pe)})}function fc(ue,te,oe){for(var pe=-1,be=te.length,Ce={};++pe<be;){var Re=te[pe],Be=xr(ue,Re);oe(Be,Re)&&Za(Ce,Er(Re,ue),Be)}return Ce}function dc(ue){return function(te){return xr(te,ue)}}function jl(ue,te,oe,pe){var be=pe?wn:Oi,Ce=-1,Re=te.length,Be=ue;for(ue===te&&(te=bn(te)),oe&&(Be=Ft(ue,Pn(oe)));++Ce<Re;)for(var Ue=0,$e=te[Ce],at=oe?oe($e):$e;(Ue=be(Be,at,Ue,pe))>-1;)Be!==ue&&qa.call(Be,Ue,1),qa.call(ue,Ue,1);return ue}function qo(ue,te){for(var oe=ue?te.length:0,pe=oe-1;oe--;){var be=te[oe];if(oe==pe||be!==Ce){var Ce=be;is(be)?qa.call(ue,be,1):Ar(ue,be)}}return ue}function Xo(ue,te){return ue+Ts(Ju()*(te-ue+1))}function Ql(ue,te,oe,pe){for(var be=-1,Ce=Vi(Fo((te-ue)/(oe||1)),0),Re=it(Ce);Ce--;)Re[pe?Ce:++be]=ue,ue+=oe;return Re}function Kl(ue,te){var oe="";if(!ue||te<1||te>we)return oe;do te%2&&(oe+=ue),te=Ts(te/2),te&&(ue+=ue);while(te);return oe}function Zt(ue,te){return Ds(Lc(ue,te,_n),ue+"")}function $t(ue){return Bl(Sa(ue))}function of(ue,te){var oe=Sa(ue);return co(oe,Qr(te,0,oe.length))}function Za(ue,te,oe,pe){if(!wi(ue))return ue;te=Er(te,ue);for(var be=-1,Ce=te.length,Re=Ce-1,Be=ue;Be!=null&&++be<Ce;){var Ue=hr(te[be]),$e=oe;if(Ue==="__proto__"||Ue==="constructor"||Ue==="prototype")return ue;if(be!=Re){var at=Be[Ue];$e=pe?pe(at,Ue,Be):F,$e===F&&($e=wi(at)?at:is(te[be+1])?[]:{})}ks(Be,Ue,$e),Be=Be[Ue]}return ue}var ca=us?function(ue,te){return us.set(ue,te),ue}:_n,mc=br?function(ue,te){return br(ue,"toString",{configurable:!0,enumerable:!1,value:Bu(te),writable:!0})}:_n;function lf(ue){return co(Sa(ue))}function jn(ue,te,oe){var pe=-1,be=ue.length;te<0&&(te=-te>be?0:be+te),oe=oe>be?be:oe,oe<0&&(oe+=be),be=te>oe?0:oe-te>>>0,te>>>=0;for(var Ce=it(be);++pe<be;)Ce[pe]=ue[pe+te];return Ce}function Qn(ue,te){var oe;return Xn(ue,function(pe,be,Ce){return oe=te(pe,be,Ce),!oe}),!!oe}function Yo(ue,te,oe){var pe=0,be=ue==null?pe:ue.length;if(typeof te=="number"&&te===te&&be<=Ie){for(;pe<be;){var Ce=pe+be>>>1,Re=ue[Ce];Re!==null&&!ln(Re)&&(oe?Re<=te:Re<te)?pe=Ce+1:be=Ce}return be}return ha(ue,te,_n,oe)}function ha(ue,te,oe,pe){var be=0,Ce=ue==null?0:ue.length;if(Ce===0)return 0;te=oe(te);for(var Re=te!==te,Be=te===null,Ue=ln(te),$e=te===F;be<Ce;){var at=Ts((be+Ce)/2),ot=oe(ue[at]),mt=ot!==F,St=ot===null,Et=ot===ot,Tt=ln(ot);if(Re)var Ct=pe||Et;else $e?Ct=Et&&(pe||mt):Be?Ct=Et&&mt&&(pe||!St):Ue?Ct=Et&&mt&&!St&&(pe||!Tt):St||Tt?Ct=!1:Ct=pe?ot<=te:ot<te;Ct?be=at+1:Ce=at}return ri(Ce,Ne)}function jo(ue,te){for(var oe=-1,pe=ue.length,be=0,Ce=[];++oe<pe;){var Re=ue[oe],Be=te?te(Re):Re;if(!oe||!dr(Be,Ue)){var Ue=Be;Ce[be++]=Re===0?0:Re}}return Ce}function Zl(ue){return typeof ue=="number"?ue:ln(ue)?Me:+ue}function Tn(ue){if(typeof ue=="string")return ue;if(zt(ue))return Ft(ue,Tn)+"";if(ln(ue))return aa?aa.call(ue):"";var te=ue+"";return te=="0"&&1/ue==-Le?"-0":te}function Ri(ue,te,oe){var pe=-1,be=Bt,Ce=ue.length,Re=!0,Be=[],Ue=Be;if(oe)Re=!1,be=Lt;else if(Ce>=D){var $e=te?null:ru(ue);if($e)return ir($e);Re=!1,be=ws,Ue=new Ns}else Ue=te?[]:Be;e:for(;++pe<Ce;){var at=ue[pe],ot=te?te(at):at;if(at=oe||at!==0?at:0,Re&&ot===ot){for(var mt=Ue.length;mt--;)if(Ue[mt]===ot)continue e;te&&Ue.push(ot),Be.push(at)}else be(Ue,ot,oe)||(Ue!==Be&&Ue.push(ot),Be.push(at))}return Be}function Ar(ue,te){return te=Er(te,ue),ue=hu(ue,te),ue==null||delete ue[hr(Kn(te))]}function Qo(ue,te,oe,pe){return Za(ue,te,oe(xr(ue,te)),pe)}function Ja(ue,te,oe,pe){for(var be=ue.length,Ce=pe?be:-1;(pe?Ce--:++Ce<be)&&te(ue[Ce],Ce,ue););return oe?jn(ue,pe?0:Ce,pe?Ce+1:be):jn(ue,pe?Ce+1:0,pe?be:Ce)}function $a(ue,te){var oe=ue;return oe instanceof Ht&&(oe=oe.value()),ni(te,function(pe,be){return be.func.apply(be.thisArg,Rt([pe],be.args))},oe)}function Ko(ue,te,oe){var pe=ue.length;if(pe<2)return pe?Ri(ue[0]):[];for(var be=-1,Ce=it(pe);++be<pe;)for(var Re=ue[be],Be=-1;++Be<pe;)Be!=be&&(Ce[be]=oa(Ce[be]||Re,ue[Be],te,oe));return Ri(Xi(Ce,1),te,oe)}function Zo(ue,te,oe){for(var pe=-1,be=ue.length,Ce=te.length,Re={};++pe<be;){var Be=pe<Ce?te[pe]:F;oe(Re,ue[pe],Be)}return Re}function Jo(ue){return si(ue)?ue:[]}function eo(ue){return typeof ue=="function"?ue:_n}function Er(ue,te){return zt(ue)?ue:Ji(ue,te)?[ue]:ho(di(ue))}var ds=Zt;function ps(ue,te,oe){var pe=ue.length;return oe=oe===F?pe:oe,!te&&oe>=pe?ue:jn(ue,te,oe)}var Zr=Ro||function(ue){return Bi.clearTimeout(ue)};function Jl(ue,te){if(te)return ue.slice();var oe=ue.length,pe=Ua?Ua(oe):new ue.constructor(oe);return ue.copy(pe),pe}function $o(ue){var te=new ue.constructor(ue.byteLength);return new rr(te).set(new rr(ue)),te}function $l(ue,te){var oe=te?$o(ue.buffer):ue.buffer;return new ue.constructor(oe,ue.byteOffset,ue.byteLength)}function uf(ue){var te=new ue.constructor(ue.source,ys.exec(ue));return te.lastIndex=ue.lastIndex,te}function cf(ue){return cs?qt(cs.call(ue)):{}}function gc(ue,te){var oe=te?$o(ue.buffer):ue.buffer;return new ue.constructor(oe,ue.byteOffset,ue.length)}function eu(ue,te){if(ue!==te){var oe=ue!==F,pe=ue===null,be=ue===ue,Ce=ln(ue),Re=te!==F,Be=te===null,Ue=te===te,$e=ln(te);if(!Be&&!$e&&!Ce&&ue>te||Ce&&Re&&Ue&&!Be&&!$e||pe&&Re&&Ue||!oe&&Ue||!be)return 1;if(!pe&&!Ce&&!$e&&ue<te||$e&&oe&&be&&!pe&&!Ce||Be&&oe&&be||!Re&&be||!Ue)return-1}return 0}function yc(ue,te,oe){for(var pe=-1,be=ue.criteria,Ce=te.criteria,Re=be.length,Be=oe.length;++pe<Re;){var Ue=eu(be[pe],Ce[pe]);if(Ue){if(pe>=Be)return Ue;var $e=oe[pe];return Ue*($e=="desc"?-1:1)}}return ue.index-te.index}function vc(ue,te,oe,pe){for(var be=-1,Ce=ue.length,Re=oe.length,Be=-1,Ue=te.length,$e=Vi(Ce-Re,0),at=it(Ue+$e),ot=!pe;++Be<Ue;)at[Be]=te[Be];for(;++be<Re;)(ot||be<Ce)&&(at[oe[be]]=ue[be]);for(;$e--;)at[Be++]=ue[be++];return at}function tu(ue,te,oe,pe){for(var be=-1,Ce=ue.length,Re=-1,Be=oe.length,Ue=-1,$e=te.length,at=Vi(Ce-Be,0),ot=it(at+$e),mt=!pe;++be<at;)ot[be]=ue[be];for(var St=be;++Ue<$e;)ot[St+Ue]=te[Ue];for(;++Re<Be;)(mt||be<Ce)&&(ot[St+oe[Re]]=ue[be++]);return ot}function bn(ue,te){var oe=-1,pe=ue.length;for(te||(te=it(pe));++oe<pe;)te[oe]=ue[oe];return te}function Ti(ue,te,oe,pe){var be=!oe;oe||(oe={});for(var Ce=-1,Re=te.length;++Ce<Re;){var Be=te[Ce],Ue=pe?pe(oe[Be],ue[Be],Be,oe,ue):F;Ue===F&&(Ue=ue[Be]),be?jr(oe,Be,Ue):ks(oe,Be,Ue)}return oe}function wr(ue,te){return Ti(ue,au(ue),te)}function hf(ue,te){return Ti(ue,rl(ue),te)}function tl(ue,te){return function(oe,pe){var be=zt(oe)?pn:Do,Ce=te?te():{};return be(oe,ue,Dt(pe,2),Ce)}}function Jr(ue){return Zt(function(te,oe){var pe=-1,be=oe.length,Ce=be>1?oe[be-1]:F,Re=be>2?oe[2]:F;for(Ce=ue.length>3&&typeof Ce=="function"?(be--,Ce):F,Re&&Ci(oe[0],oe[1],Re)&&(Ce=be<3?F:Ce,be=1),te=qt(te);++pe<be;){var Be=oe[pe];Be&&ue(te,Be,pe,Ce)}return te})}function Rs(ue,te){return function(oe,pe){if(oe==null)return oe;if(!Cn(oe))return ue(oe,pe);for(var be=oe.length,Ce=te?be:-1,Re=qt(oe);(te?Ce--:++Ce<be)&&pe(Re[Ce],Ce,Re)!==!1;);return oe}}function iu(ue){return function(te,oe,pe){for(var be=-1,Ce=qt(te),Re=pe(te),Be=Re.length;Be--;){var Ue=Re[ue?Be:++be];if(oe(Ce[Ue],Ue,Ce)===!1)break}return te}}function bc(ue,te,oe){var pe=te&se,be=Pr(ue);function Ce(){var Re=this&&this!==Bi&&this instanceof Ce?be:ue;return Re.apply(pe?oe:this,arguments)}return Ce}function Sc(ue){return function(te){te=di(te);var oe=Js(te)?nn(te):F,pe=oe?oe[0]:te.charAt(0),be=oe?ps(oe,1).join(""):te.slice(1);return pe[ue]()+be}}function Fs(ue){return function(te){return ni(Sl(ku(te).replace(ss,"")),ue,"")}}function Pr(ue){return function(){var te=arguments;switch(te.length){case 0:return new ue;case 1:return new ue(te[0]);case 2:return new ue(te[0],te[1]);case 3:return new ue(te[0],te[1],te[2]);case 4:return new ue(te[0],te[1],te[2],te[3]);case 5:return new ue(te[0],te[1],te[2],te[3],te[4]);case 6:return new ue(te[0],te[1],te[2],te[3],te[4],te[5]);case 7:return new ue(te[0],te[1],te[2],te[3],te[4],te[5],te[6])}var oe=We(ue.prototype),pe=ue.apply(oe,te);return wi(pe)?pe:oe}}function to(ue,te,oe){var pe=Pr(ue);function be(){for(var Ce=arguments.length,Re=it(Ce),Be=Ce,Ue=es(be);Be--;)Re[Be]=arguments[Be];var $e=Ce<3&&Re[0]!==Ue&&Re[Ce-1]!==Ue?[]:Vr(Re,Ue);if(Ce-=$e.length,Ce<oe)return ao(ue,te,io,be.placeholder,F,Re,$e,F,F,oe-Ce);var at=this&&this!==Bi&&this instanceof be?pe:ue;return tn(at,this,Re)}return be}function xc(ue){return function(te,oe,pe){var be=qt(te);if(!Cn(te)){var Ce=Dt(oe,3);te=ji(te),oe=function(Be){return Ce(be[Be],Be,be)}}var Re=ue(te,oe,pe);return Re>-1?be[Ce?te[Re]:Re]:F}}function nu(ue){return $r(function(te){var oe=te.length,pe=oe,be=vn.prototype.thru;for(ue&&te.reverse();pe--;){var Ce=te[pe];if(typeof Ce!="function")throw new Wn(U);if(be&&!Re&&pa(Ce)=="wrapper")var Re=new vn([],!0)}for(pe=Re?pe:oe;++pe<oe;){Ce=te[pe];var Be=pa(Ce),Ue=Be=="wrapper"?lo(Ce):F;Ue&&lu(Ue[0])&&Ue[1]==(me|le|he|fe)&&!Ue[4].length&&Ue[9]==1?Re=Re[pa(Ue[0])].apply(Re,Ue[3]):Re=Ce.length==1&&lu(Ce)?Re[Be]():Re.thru(Ce)}return function(){var $e=arguments,at=$e[0];if(Re&&$e.length==1&&zt(at))return Re.plant(at).value();for(var ot=0,mt=oe?te[ot].apply(this,$e):at;++ot<oe;)mt=te[ot].call(this,mt);return mt}})}function io(ue,te,oe,pe,be,Ce,Re,Be,Ue,$e){var at=te&me,ot=te&se,mt=te&re,St=te&(le|ce),Et=te&ge,Tt=mt?F:Pr(ue);function Ct(){for(var Mt=arguments.length,Nt=it(Mt),Wt=Mt;Wt--;)Nt[Wt]=arguments[Wt];if(St)var Si=es(Ct),xi=Yu(Nt,Si);if(pe&&(Nt=vc(Nt,pe,be,St)),Ce&&(Nt=tu(Nt,Ce,Re,St)),Mt-=xi,St&&Mt<$e){var ai=Vr(Nt,Si);return ao(ue,te,io,Ct.placeholder,oe,Nt,ai,Be,Ue,$e-Mt)}var hi=ot?oe:this,zi=mt?hi[ue]:ue;return Mt=Nt.length,Be?Nt=kc(Nt,Be):Et&&Mt>1&&Nt.reverse(),at&&Ue<Mt&&(Nt.length=Ue),this&&this!==Bi&&this instanceof Ct&&(zi=Tt||Pr(zi)),zi.apply(hi,Nt)}return Ct}function no(ue,te){return function(oe,pe){return zl(oe,ue,te(pe),{})}}function ro(ue,te){return function(oe,pe){var be;if(oe===F&&pe===F)return te;if(oe!==F&&(be=oe),pe!==F){if(be===F)return pe;typeof oe=="string"||typeof pe=="string"?(oe=Tn(oe),pe=Tn(pe)):(oe=Zl(oe),pe=Zl(pe)),be=ue(oe,pe)}return be}}function fa(ue){return $r(function(te){return te=Ft(te,Pn(Dt())),Zt(function(oe){var pe=this;return ue(te,function(be){return tn(be,pe,oe)})})})}function da(ue,te){te=te===F?" ":Tn(te);var oe=te.length;if(oe<2)return oe?Kl(te,ue):te;var pe=Kl(te,Fo(ue/ea(te)));return Js(te)?ps(nn(pe),0,ue).join(""):pe.slice(0,ue)}function il(ue,te,oe,pe){var be=te&se,Ce=Pr(ue);function Re(){for(var Be=-1,Ue=arguments.length,$e=-1,at=pe.length,ot=it(at+Ue),mt=this&&this!==Bi&&this instanceof Re?Ce:ue;++$e<at;)ot[$e]=pe[$e];for(;Ue--;)ot[$e++]=arguments[++Be];return tn(mt,be?oe:this,ot)}return Re}function Ac(ue){return function(te,oe,pe){return pe&&typeof pe!="number"&&Ci(te,oe,pe)&&(oe=pe=F),te=_r(te),oe===F?(oe=te,te=0):oe=_r(oe),pe=pe===F?te<oe?1:-1:_r(pe),Ql(te,oe,pe,ue)}}function so(ue){return function(te,oe){return typeof te=="string"&&typeof oe=="string"||(te=Bn(te),oe=Bn(oe)),ue(te,oe)}}function ao(ue,te,oe,pe,be,Ce,Re,Be,Ue,$e){var at=te&le,ot=at?Re:F,mt=at?F:Re,St=at?Ce:F,Et=at?F:Ce;te|=at?he:de,te&=~(at?de:he),te&ae||(te&=~(se|re));var Tt=[ue,te,be,St,ot,Et,mt,Be,Ue,$e],Ct=oe.apply(F,Tt);return lu(ue)&&sl(Ct,Tt),Ct.placeholder=pe,al(Ct,ue,te)}function nl(ue){var te=Gt[ue];return function(oe,pe){if(oe=Bn(oe),pe=pe==null?0:ri(Ut(pe),292),pe&&Ku(oe)){var be=(di(oe)+"e").split("e"),Ce=te(be[0]+"e"+(+be[1]+pe));return be=(di(Ce)+"e").split("e"),+(be[0]+"e"+(+be[1]-pe))}return te(oe)}}var ru=ls&&1/ir(new ls([,-0]))[1]==Le?function(ue){return new ls(ue)}:zu;function Ec(ue){return function(te){var oe=Zi(te);return oe==Fe?Nl(te):oe==tt?Io(te):_l(te,ue(te))}}function Tr(ue,te,oe,pe,be,Ce,Re,Be){var Ue=te&re;if(!Ue&&typeof ue!="function")throw new Wn(U);var $e=pe?pe.length:0;if($e||(te&=~(he|de),pe=be=F),Re=Re===F?Re:Vi(Ut(Re),0),Be=Be===F?Be:Ut(Be),$e-=be?be.length:0,te&de){var at=pe,ot=be;pe=be=F}var mt=Ue?F:lo(ue),St=[ue,te,oe,pe,be,at,ot,Ce,Re,Be];if(mt&&yf(St,mt),ue=St[0],te=St[1],oe=St[2],pe=St[3],be=St[4],Be=St[9]=St[9]===F?Ue?0:ue.length:Vi(St[9]-$e,0),!Be&&te&(le|ce)&&(te&=~(le|ce)),!te||te==se)var Et=bc(ue,te,oe);else te==le||te==ce?Et=to(ue,te,Be):(te==he||te==(se|he))&&!be.length?Et=il(ue,te,oe,pe):Et=io.apply(F,St);var Tt=mt?ca:sl;return al(Tt(Et,St),ue,te)}function Cr(ue,te,oe,pe){return ue===F||dr(ue,ia[oe])&&!li.call(pe,oe)?te:ue}function su(ue,te,oe,pe,be,Ce){return wi(ue)&&wi(te)&&(Ce.set(te,ue),Ka(ue,te,F,su,Ce),Ce.delete(te)),ue}function wc(ue){return va(ue)?F:ue}function Pc(ue,te,oe,pe,be,Ce){var Re=oe&ie,Be=ue.length,Ue=te.length;if(Be!=Ue&&!(Re&&Ue>Be))return!1;var $e=Ce.get(ue),at=Ce.get(te);if($e&&at)return $e==te&&at==ue;var ot=-1,mt=!0,St=oe&ne?new Ns:F;for(Ce.set(ue,te),Ce.set(te,ue);++ot<Be;){var Et=ue[ot],Tt=te[ot];if(pe)var Ct=Re?pe(Tt,Et,ot,te,ue,Ce):pe(Et,Tt,ot,ue,te,Ce);if(Ct!==F){if(Ct)continue;mt=!1;break}if(St){if(!Di(te,function(Mt,Nt){if(!ws(St,Nt)&&(Et===Mt||be(Et,Mt,oe,pe,Ce)))return St.push(Nt)})){mt=!1;break}}else if(!(Et===Tt||be(Et,Tt,oe,pe,Ce))){mt=!1;break}}return Ce.delete(ue),Ce.delete(te),mt}function Tc(ue,te,oe,pe,be,Ce,Re){switch(oe){case xt:if(ue.byteLength!=te.byteLength||ue.byteOffset!=te.byteOffset)return!1;ue=ue.buffer,te=te.buffer;case vt:return!(ue.byteLength!=te.byteLength||!Ce(new rr(ue),new rr(te)));case et:case Je:case _e:return dr(+ue,+te);case pt:return ue.name==te.name&&ue.message==te.message;case Xe:case nt:return ue==te+"";case Fe:var Be=Nl;case tt:var Ue=pe&ie;if(Be||(Be=ir),ue.size!=te.size&&!Ue)return!1;var $e=Re.get(ue);if($e)return $e==te;pe|=ne,Re.set(ue,te);var at=Pc(Be(ue),Be(te),pe,be,Ce,Re);return Re.delete(ue),at;case Ke:if(cs)return cs.call(ue)==cs.call(te)}return!1}function ff(ue,te,oe,pe,be,Ce){var Re=oe&ie,Be=cr(ue),Ue=Be.length,$e=cr(te),at=$e.length;if(Ue!=at&&!Re)return!1;for(var ot=Ue;ot--;){var mt=Be[ot];if(!(Re?mt in te:li.call(te,mt)))return!1}var St=Ce.get(ue),Et=Ce.get(te);if(St&&Et)return St==te&&Et==ue;var Tt=!0;Ce.set(ue,te),Ce.set(te,ue);for(var Ct=Re;++ot<Ue;){mt=Be[ot];var Mt=ue[mt],Nt=te[mt];if(pe)var Wt=Re?pe(Nt,Mt,mt,te,ue,Ce):pe(Mt,Nt,mt,ue,te,Ce);if(!(Wt===F?Mt===Nt||be(Mt,Nt,oe,pe,Ce):Wt)){Tt=!1;break}Ct||(Ct=mt=="constructor")}if(Tt&&!Ct){var Si=ue.constructor,xi=te.constructor;Si!=xi&&"constructor"in ue&&"constructor"in te&&!(typeof Si=="function"&&Si instanceof Si&&typeof xi=="function"&&xi instanceof xi)&&(Tt=!1)}return Ce.delete(ue),Ce.delete(te),Tt}function $r(ue){return Ds(Lc(ue,F,mu),ue+"")}function cr(ue){return fs(ue,ji,au)}function oo(ue){return fs(ue,ci,rl)}var lo=us?function(ue){return us.get(ue)}:zu;function pa(ue){for(var te=ue.name+"",oe=Ur[te],pe=li.call(Ur,te)?oe.length:0;pe--;){var be=oe[pe],Ce=be.func;if(Ce==null||Ce==ue)return be.name}return te}function es(ue){var te=li.call(qe,"placeholder")?qe:ue;return te.placeholder}function Dt(){var ue=qe.iteratee||un;return ue=ue===un?uc:ue,arguments.length?ue(arguments[0],arguments[1]):ue}function Ot(ue,te){var oe=ue.__data__;return ou(te)?oe[typeof te=="string"?"string":"hash"]:oe.map}function ma(ue){for(var te=ji(ue),oe=te.length;oe--;){var pe=te[oe],be=ue[pe];te[oe]=[pe,be,ga(be)]}return te}function ts(ue,te){var oe=gh(ue,te);return zo(oe)?oe:F}function Bs(ue){var te=li.call(ue,sr),oe=ue[sr];try{ue[sr]=F;var pe=!0}catch{}var be=za.call(ue);return pe&&(te?ue[sr]=oe:delete ue[sr]),be}var au=ra?function(ue){return ue==null?[]:(ue=qt(ue),wt(ra(ue),function(te){return kl.call(ue,te)}))}:Hu,rl=ra?function(ue){for(var te=[];ue;)Rt(te,au(ue)),ue=Ha(ue);return te}:Hu,Zi=sn;(Fl&&Zi(new Fl(new ArrayBuffer(1)))!=xt||Cs&&Zi(new Cs)!=Fe||Ms&&Zi(Ms.resolve())!=De||ls&&Zi(new ls)!=tt||Sr&&Zi(new Sr)!=ut)&&(Zi=function(ue){var te=sn(ue),oe=te==Ze?ue.constructor:F,pe=oe?on(oe):"";if(pe)switch(pe){case sa:return xt;case Ih:return Fe;case Nh:return De;case Lh:return tt;case kh:return ut}return te});function an(ue,te,oe){for(var pe=-1,be=oe.length;++pe<be;){var Ce=oe[pe],Re=Ce.size;switch(Ce.type){case"drop":ue+=Re;break;case"dropRight":te-=Re;break;case"take":te=ri(te,ue+Re);break;case"takeRight":ue=Vi(ue,te-Re);break}}return{start:ue,end:te}}function df(ue){var te=ue.match(er);return te?te[1].split(Nn):[]}function Cc(ue,te,oe){te=Er(te,ue);for(var pe=-1,be=te.length,Ce=!1;++pe<be;){var Re=hr(te[pe]);if(!(Ce=ue!=null&&oe(ue,Re)))break;ue=ue[Re]}return Ce||++pe!=be?Ce:(be=ue==null?0:ue.length,!!be&&fo(be)&&is(Re,be)&&(zt(ue)||Gs(ue)))}function Mc(ue){var te=ue.length,oe=new ue.constructor(te);return te&&typeof ue[0]=="string"&&li.call(ue,"index")&&(oe.index=ue.index,oe.input=ue.input),oe}function _c(ue){return typeof ue.constructor=="function"&&!uo(ue)?We(Ha(ue)):{}}function Ic(ue,te,oe){var pe=ue.constructor;switch(te){case vt:return $o(ue);case et:case Je:return new pe(+ue);case xt:return $l(ue,oe);case gt:case Pt:case kt:case Yt:case fi:case Jt:case ii:case ui:case Qt:return gc(ue,oe);case Fe:return new pe;case _e:case nt:return new pe(ue);case Xe:return uf(ue);case tt:return new pe;case Ke:return cf(ue)}}function pf(ue,te){var oe=te.length;if(!oe)return ue;var pe=oe-1;return te[pe]=(oe>1?"& ":"")+te[pe],te=te.join(oe>2?", ":" "),ue.replace($n,`{
- /* [wrapped with `+te+`] */
- `)}function mf(ue){return zt(ue)||Gs(ue)||!!(Xa&&ue&&ue[Xa])}function is(ue,te){var oe=typeof ue;return te=te==null?we:te,!!te&&(oe=="number"||oe!="symbol"&&ei.test(ue))&&ue>-1&&ue%1==0&&ue<te}function Ci(ue,te,oe){if(!wi(oe))return!1;var pe=typeof te;return(pe=="number"?Cn(oe)&&is(te,oe.length):pe=="string"&&te in oe)?dr(oe[te],ue):!1}function Ji(ue,te){if(zt(ue))return!1;var oe=typeof ue;return oe=="number"||oe=="symbol"||oe=="boolean"||ue==null||ln(ue)?!0:Lr.test(ue)||!Jn.test(ue)||te!=null&&ue in qt(te)}function ou(ue){var te=typeof ue;return te=="string"||te=="number"||te=="symbol"||te=="boolean"?ue!=="__proto__":ue===null}function lu(ue){var te=pa(ue),oe=qe[te];if(typeof oe!="function"||!(te in Ht.prototype))return!1;if(ue===oe)return!0;var pe=lo(oe);return!!pe&&ue===pe[0]}function uu(ue){return!!Qu&&Qu in ue}var gf=Gr?ns:go;function uo(ue){var te=ue&&ue.constructor,oe=typeof te=="function"&&te.prototype||ia;return ue===oe}function ga(ue){return ue===ue&&!wi(ue)}function cu(ue,te){return function(oe){return oe==null?!1:oe[ue]===te&&(te!==F||ue in qt(oe))}}function Nc(ue){var te=gl(ue,function(pe){return oe.size===Y&&oe.clear(),pe}),oe=te.cache;return te}function yf(ue,te){var oe=ue[1],pe=te[1],be=oe|pe,Ce=be<(se|re|me),Re=pe==me&&oe==le||pe==me&&oe==fe&&ue[7].length<=te[8]||pe==(me|fe)&&te[7].length<=te[8]&&oe==le;if(!(Ce||Re))return ue;pe&se&&(ue[2]=te[2],be|=oe&se?0:ae);var Be=te[3];if(Be){var Ue=ue[3];ue[3]=Ue?vc(Ue,Be,te[4]):Be,ue[4]=Ue?Vr(ue[3],Q):te[4]}return Be=te[5],Be&&(Ue=ue[5],ue[5]=Ue?tu(Ue,Be,te[6]):Be,ue[6]=Ue?Vr(ue[5],Q):te[6]),Be=te[7],Be&&(ue[7]=Be),pe&me&&(ue[8]=ue[8]==null?te[8]:ri(ue[8],te[8])),ue[9]==null&&(ue[9]=te[9]),ue[0]=te[0],ue[1]=be,ue}function vf(ue){var te=[];if(ue!=null)for(var oe in qt(ue))te.push(oe);return te}function bf(ue){return za.call(ue)}function Lc(ue,te,oe){return te=Vi(te===F?ue.length-1:te,0),function(){for(var pe=arguments,be=-1,Ce=Vi(pe.length-te,0),Re=it(Ce);++be<Ce;)Re[be]=pe[te+be];be=-1;for(var Be=it(te+1);++be<te;)Be[be]=pe[be];return Be[te]=oe(Re),tn(ue,this,Be)}}function hu(ue,te){return te.length<2?ue:xr(ue,jn(te,0,-1))}function kc(ue,te){for(var oe=ue.length,pe=ri(te.length,oe),be=bn(ue);pe--;){var Ce=te[pe];ue[pe]=is(Ce,oe)?be[Ce]:F}return ue}function fu(ue,te){if(!(te==="constructor"&&typeof ue[te]=="function")&&te!="__proto__")return ue[te]}var sl=du(ca),ya=Ch||function(ue,te){return Bi.setTimeout(ue,te)},Ds=du(mc);function al(ue,te,oe){var pe=te+"";return Ds(ue,pf(pe,Os(df(pe),oe)))}function du(ue){var te=0,oe=0;return function(){var pe=rn(),be=xe-(pe-oe);if(oe=pe,be>0){if(++te>=ve)return arguments[0]}else te=0;return ue.apply(F,arguments)}}function co(ue,te){var oe=-1,pe=ue.length,be=pe-1;for(te=te===F?pe:te;++oe<te;){var Ce=Xo(oe,be),Re=ue[Ce];ue[Ce]=ue[oe],ue[oe]=Re}return ue.length=te,ue}var ho=Nc(function(ue){var te=[];return ue.charCodeAt(0)===46&&te.push(""),ue.replace(Vn,function(oe,pe,be,Ce){te.push(be?Ce.replace(Aa,"$1"):pe||oe)}),te});function hr(ue){if(typeof ue=="string"||ln(ue))return ue;var te=ue+"";return te=="0"&&1/ue==-Le?"-0":te}function on(ue){if(ue!=null){try{return Ps.call(ue)}catch{}try{return ue+""}catch{}}return""}function Os(ue,te){return He(Ge,function(oe){var pe="_."+oe[0];te&oe[1]&&!Bt(ue,pe)&&ue.push(pe)}),ue.sort()}function Rc(ue){if(ue instanceof Ht)return ue.clone();var te=new vn(ue.__wrapped__,ue.__chain__);return te.__actions__=bn(ue.__actions__),te.__index__=ue.__index__,te.__values__=ue.__values__,te}function Fc(ue,te,oe){(oe?Ci(ue,te,oe):te===F)?te=1:te=Vi(Ut(te),0);var pe=ue==null?0:ue.length;if(!pe||te<1)return[];for(var be=0,Ce=0,Re=it(Fo(pe/te));be<pe;)Re[Ce++]=jn(ue,be,be+=te);return Re}function Sf(ue){for(var te=-1,oe=ue==null?0:ue.length,pe=0,be=[];++te<oe;){var Ce=ue[te];Ce&&(be[pe++]=Ce)}return be}function xf(){var ue=arguments.length;if(!ue)return[];for(var te=it(ue-1),oe=arguments[0],pe=ue;pe--;)te[pe-1]=arguments[pe];return Rt(zt(oe)?bn(oe):[oe],Xi(te,1))}var Af=Zt(function(ue,te){return si(ue)?oa(ue,Xi(te,1,si,!0)):[]}),Ef=Zt(function(ue,te){var oe=Kn(te);return si(oe)&&(oe=F),si(ue)?oa(ue,Xi(te,1,si,!0),Dt(oe,2)):[]}),wf=Zt(function(ue,te){var oe=Kn(te);return si(oe)&&(oe=F),si(ue)?oa(ue,Xi(te,1,si,!0),F,oe):[]});function Pf(ue,te,oe){var pe=ue==null?0:ue.length;return pe?(te=oe||te===F?1:Ut(te),jn(ue,te<0?0:te,pe)):[]}function Tf(ue,te,oe){var pe=ue==null?0:ue.length;return pe?(te=oe||te===F?1:Ut(te),te=pe-te,jn(ue,0,te<0?0:te)):[]}function Cf(ue,te){return ue&&ue.length?Ja(ue,Dt(te,3),!0,!0):[]}function Mf(ue,te){return ue&&ue.length?Ja(ue,Dt(te,3),!0):[]}function _f(ue,te,oe,pe){var be=ue==null?0:ue.length;return be?(oe&&typeof oe!="number"&&Ci(ue,te,oe)&&(oe=0,pe=be),Vo(ue,te,oe,pe)):[]}function Bc(ue,te,oe){var pe=ue==null?0:ue.length;if(!pe)return-1;var be=oe==null?0:Ut(oe);return be<0&&(be=Vi(pe+be,0)),En(ue,Dt(te,3),be)}function pu(ue,te,oe){var pe=ue==null?0:ue.length;if(!pe)return-1;var be=pe-1;return oe!==F&&(be=Ut(oe),be=oe<0?Vi(pe+be,0):ri(be,pe-1)),En(ue,Dt(te,3),be,!0)}function mu(ue){var te=ue==null?0:ue.length;return te?Xi(ue,1):[]}function Dc(ue){var te=ue==null?0:ue.length;return te?Xi(ue,Le):[]}function If(ue,te){var oe=ue==null?0:ue.length;return oe?(te=te===F?1:Ut(te),Xi(ue,te)):[]}function Nf(ue){for(var te=-1,oe=ue==null?0:ue.length,pe={};++te<oe;){var be=ue[te];pe[be[0]]=be[1]}return pe}function Oc(ue){return ue&&ue.length?ue[0]:F}function Vc(ue,te,oe){var pe=ue==null?0:ue.length;if(!pe)return-1;var be=oe==null?0:Ut(oe);return be<0&&(be=Vi(pe+be,0)),Oi(ue,te,be)}function Lf(ue){var te=ue==null?0:ue.length;return te?jn(ue,0,-1):[]}var kf=Zt(function(ue){var te=Ft(ue,Jo);return te.length&&te[0]===ue[0]?Gl(te):[]}),Rf=Zt(function(ue){var te=Kn(ue),oe=Ft(ue,Jo);return te===Kn(oe)?te=F:oe.pop(),oe.length&&oe[0]===ue[0]?Gl(oe,Dt(te,2)):[]}),Ff=Zt(function(ue){var te=Kn(ue),oe=Ft(ue,Jo);return te=typeof te=="function"?te:F,te&&oe.pop(),oe.length&&oe[0]===ue[0]?Gl(oe,F,te):[]});function Bf(ue,te){return ue==null?"":Zu.call(ue,te)}function Kn(ue){var te=ue==null?0:ue.length;return te?ue[te-1]:F}function Zn(ue,te,oe){var pe=ue==null?0:ue.length;if(!pe)return-1;var be=pe;return oe!==F&&(be=Ut(oe),be=be<0?Vi(pe+be,0):ri(be,pe-1)),te===te?bh(ue,te,be):En(ue,Oa,be,!0)}function Df(ue,te){return ue&&ue.length?cc(ue,Ut(te)):F}var Of=Zt(Gc);function Gc(ue,te){return ue&&ue.length&&te&&te.length?jl(ue,te):ue}function zc(ue,te,oe){return ue&&ue.length&&te&&te.length?jl(ue,te,Dt(oe,2)):ue}function Vf(ue,te,oe){return ue&&ue.length&&te&&te.length?jl(ue,te,F,oe):ue}var Gf=$r(function(ue,te){var oe=ue==null?0:ue.length,pe=lr(ue,te);return qo(ue,Ft(te,function(be){return is(be,oe)?+be:be}).sort(eu)),pe});function zf(ue,te){var oe=[];if(!(ue&&ue.length))return oe;var pe=-1,be=[],Ce=ue.length;for(te=Dt(te,3);++pe<Ce;){var Re=ue[pe];te(Re,pe,ue)&&(oe.push(Re),be.push(pe))}return qo(ue,be),oe}function gu(ue){return ue==null?ue:$u.call(ue)}function yu(ue,te,oe){var pe=ue==null?0:ue.length;return pe?(oe&&typeof oe!="number"&&Ci(ue,te,oe)?(te=0,oe=pe):(te=te==null?0:Ut(te),oe=oe===F?pe:Ut(oe)),jn(ue,te,oe)):[]}function Uf(ue,te){return Yo(ue,te)}function Hf(ue,te,oe){return ha(ue,te,Dt(oe,2))}function Wf(ue,te){var oe=ue==null?0:ue.length;if(oe){var pe=Yo(ue,te);if(pe<oe&&dr(ue[pe],te))return pe}return-1}function qf(ue,te){return Yo(ue,te,!0)}function Xf(ue,te,oe){return ha(ue,te,Dt(oe,2),!0)}function Yf(ue,te){var oe=ue==null?0:ue.length;if(oe){var pe=Yo(ue,te,!0)-1;if(dr(ue[pe],te))return pe}return-1}function jf(ue){return ue&&ue.length?jo(ue):[]}function Qf(ue,te){return ue&&ue.length?jo(ue,Dt(te,2)):[]}function Kf(ue){var te=ue==null?0:ue.length;return te?jn(ue,1,te):[]}function Zf(ue,te,oe){return ue&&ue.length?(te=oe||te===F?1:Ut(te),jn(ue,0,te<0?0:te)):[]}function Jf(ue,te,oe){var pe=ue==null?0:ue.length;return pe?(te=oe||te===F?1:Ut(te),te=pe-te,jn(ue,te<0?0:te,pe)):[]}function $f(ue,te){return ue&&ue.length?Ja(ue,Dt(te,3),!1,!0):[]}function ed(ue,te){return ue&&ue.length?Ja(ue,Dt(te,3)):[]}var td=Zt(function(ue){return Ri(Xi(ue,1,si,!0))}),nd=Zt(function(ue){var te=Kn(ue);return si(te)&&(te=F),Ri(Xi(ue,1,si,!0),Dt(te,2))}),rd=Zt(function(ue){var te=Kn(ue);return te=typeof te=="function"?te:F,Ri(Xi(ue,1,si,!0),F,te)});function sd(ue){return ue&&ue.length?Ri(ue):[]}function ad(ue,te){return ue&&ue.length?Ri(ue,Dt(te,2)):[]}function od(ue,te){return te=typeof te=="function"?te:F,ue&&ue.length?Ri(ue,F,te):[]}function vu(ue){if(!(ue&&ue.length))return[];var te=0;return ue=wt(ue,function(oe){if(si(oe))return te=Vi(oe.length,te),!0}),Ga(te,function(oe){return Ft(ue,Or(oe))})}function ol(ue,te){if(!(ue&&ue.length))return[];var oe=vu(ue);return te==null?oe:Ft(oe,function(pe){return tn(te,F,pe)})}var Uc=Zt(function(ue,te){return si(ue)?oa(ue,te):[]}),ld=Zt(function(ue){return Ko(wt(ue,si))}),ud=Zt(function(ue){var te=Kn(ue);return si(te)&&(te=F),Ko(wt(ue,si),Dt(te,2))}),cd=Zt(function(ue){var te=Kn(ue);return te=typeof te=="function"?te:F,Ko(wt(ue,si),F,te)}),hd=Zt(vu);function fd(ue,te){return Zo(ue||[],te||[],ks)}function dd(ue,te){return Zo(ue||[],te||[],Za)}var pd=Zt(function(ue){var te=ue.length,oe=te>1?ue[te-1]:F;return oe=typeof oe=="function"?(ue.pop(),oe):F,ol(ue,oe)});function Hc(ue){var te=qe(ue);return te.__chain__=!0,te}function Wc(ue,te){return te(ue),ue}function ll(ue,te){return te(ue)}var ul=$r(function(ue){var te=ue.length,oe=te?ue[0]:0,pe=this.__wrapped__,be=function(Ce){return lr(Ce,ue)};return te>1||this.__actions__.length||!(pe instanceof Ht)||!is(oe)?this.thru(be):(pe=pe.slice(oe,+oe+(te?1:0)),pe.__actions__.push({func:ll,args:[be],thisArg:F}),new vn(pe,this.__chain__).thru(function(Ce){return te&&!Ce.length&&Ce.push(F),Ce}))});function md(){return Hc(this)}function gd(){return new vn(this.value(),this.__chain__)}function yd(){this.__values__===F&&(this.__values__=$c(this.value()));var ue=this.__index__>=this.__values__.length,te=ue?F:this.__values__[this.__index__++];return{done:ue,value:te}}function vd(){return this}function bd(ue){for(var te,oe=this;oe instanceof Hr;){var pe=Rc(oe);pe.__index__=0,pe.__values__=F,te?be.__wrapped__=pe:te=pe;var be=pe;oe=oe.__wrapped__}return be.__wrapped__=ue,te}function Sd(){var ue=this.__wrapped__;if(ue instanceof Ht){var te=ue;return this.__actions__.length&&(te=new Ht(this)),te=te.reverse(),te.__actions__.push({func:ll,args:[gu],thisArg:F}),new vn(te,this.__chain__)}return this.thru(gu)}function xd(){return $a(this.__wrapped__,this.__actions__)}var Ad=tl(function(ue,te,oe){li.call(ue,oe)?++ue[oe]:jr(ue,oe,1)});function Ed(ue,te,oe){var pe=zt(ue)?bt:sc;return oe&&Ci(ue,te,oe)&&(te=F),pe(ue,Dt(te,3))}function wd(ue,te){var oe=zt(ue)?wt:ac;return oe(ue,Dt(te,3))}var Pd=xc(Bc),Td=xc(pu);function Cd(ue,te){return Xi(cl(ue,te),1)}function Md(ue,te){return Xi(cl(ue,te),Le)}function _d(ue,te,oe){return oe=oe===F?1:Ut(oe),Xi(cl(ue,te),oe)}function qc(ue,te){var oe=zt(ue)?He:Xn;return oe(ue,Dt(te,3))}function bu(ue,te){var oe=zt(ue)?rt:Kr;return oe(ue,Dt(te,3))}var Xc=tl(function(ue,te,oe){li.call(ue,oe)?ue[oe].push(te):jr(ue,oe,[te])});function Id(ue,te,oe,pe){ue=Cn(ue)?ue:Sa(ue),oe=oe&&!pe?Ut(oe):0;var be=ue.length;return oe<0&&(oe=Vi(be+oe,0)),po(ue)?oe<=be&&ue.indexOf(te,oe)>-1:!!be&&Oi(ue,te,oe)>-1}var Nd=Zt(function(ue,te,oe){var pe=-1,be=typeof te=="function",Ce=Cn(ue)?it(ue.length):[];return Xn(ue,function(Re){Ce[++pe]=be?tn(te,Re,oe):Ya(Re,te,oe)}),Ce}),Ld=tl(function(ue,te,oe){jr(ue,oe,te)});function cl(ue,te){var oe=zt(ue)?Ft:Ho;return oe(ue,Dt(te,3))}function hl(ue,te,oe,pe){return ue==null?[]:(zt(te)||(te=te==null?[]:[te]),oe=pe?F:oe,zt(oe)||(oe=oe==null?[]:[oe]),Yl(ue,te,oe))}var kd=tl(function(ue,te,oe){ue[oe?0:1].push(te)},function(){return[[],[]]});function Rd(ue,te,oe){var pe=zt(ue)?ni:Mo,be=arguments.length<3;return pe(ue,Dt(te,4),oe,be,Xn)}function Fd(ue,te,oe){var pe=zt(ue)?_i:Mo,be=arguments.length<3;return pe(ue,Dt(te,4),oe,be,Kr)}function Bd(ue,te){var oe=zt(ue)?wt:ac;return oe(ue,Vs(Dt(te,3)))}function Dd(ue){var te=zt(ue)?Bl:$t;return te(ue)}function Od(ue,te,oe){(oe?Ci(ue,te,oe):te===F)?te=1:te=Ut(te);var pe=zt(ue)?tc:of;return pe(ue,te)}function Vd(ue){var te=zt(ue)?$h:lf;return te(ue)}function Gd(ue){if(ue==null)return 0;if(Cn(ue))return po(ue)?ea(ue):ue.length;var te=Zi(ue);return te==Fe||te==tt?ue.size:Uo(ue).length}function zd(ue,te,oe){var pe=zt(ue)?Di:Qn;return oe&&Ci(ue,te,oe)&&(te=F),pe(ue,Dt(te,3))}var Ud=Zt(function(ue,te){if(ue==null)return[];var oe=te.length;return oe>1&&Ci(ue,te[0],te[1])?te=[]:oe>2&&Ci(te[0],te[1],te[2])&&(te=[te[0]]),Yl(ue,Xi(te,1),[])}),fl=Th||function(){return Bi.Date.now()};function dl(ue,te){if(typeof te!="function")throw new Wn(U);return ue=Ut(ue),function(){if(--ue<1)return te.apply(this,arguments)}}function Yc(ue,te,oe){return te=oe?F:te,te=ue&&te==null?ue.length:te,Tr(ue,me,F,F,F,F,te)}function Su(ue,te){var oe;if(typeof te!="function")throw new Wn(U);return ue=Ut(ue),function(){return--ue>0&&(oe=te.apply(this,arguments)),ue<=1&&(te=F),oe}}var pl=Zt(function(ue,te,oe){var pe=se;if(oe.length){var be=Vr(oe,es(pl));pe|=he}return Tr(ue,pe,te,oe,be)}),ml=Zt(function(ue,te,oe){var pe=se|re;if(oe.length){var be=Vr(oe,es(ml));pe|=he}return Tr(te,pe,ue,oe,be)});function xu(ue,te,oe){te=oe?F:te;var pe=Tr(ue,le,F,F,F,F,F,te);return pe.placeholder=xu.placeholder,pe}function Au(ue,te,oe){te=oe?F:te;var pe=Tr(ue,ce,F,F,F,F,F,te);return pe.placeholder=Au.placeholder,pe}function Eu(ue,te,oe){var pe,be,Ce,Re,Be,Ue,$e=0,at=!1,ot=!1,mt=!0;if(typeof ue!="function")throw new Wn(U);te=Bn(te)||0,wi(oe)&&(at=!!oe.leading,ot="maxWait"in oe,Ce=ot?Vi(Bn(oe.maxWait)||0,te):Ce,mt="trailing"in oe?!!oe.trailing:mt);function St(ai){var hi=pe,zi=be;return pe=be=F,$e=ai,Re=ue.apply(zi,hi),Re}function Et(ai){return $e=ai,Be=ya(Mt,te),at?St(ai):Re}function Tt(ai){var hi=ai-Ue,zi=ai-$e,Ir=te-hi;return ot?ri(Ir,Ce-zi):Ir}function Ct(ai){var hi=ai-Ue,zi=ai-$e;return Ue===F||hi>=te||hi<0||ot&&zi>=Ce}function Mt(){var ai=fl();if(Ct(ai))return Nt(ai);Be=ya(Mt,Tt(ai))}function Nt(ai){return Be=F,mt&&pe?St(ai):(pe=be=F,Re)}function Wt(){Be!==F&&Zr(Be),$e=0,pe=Ue=be=Be=F}function Si(){return Be===F?Re:Nt(fl())}function xi(){var ai=fl(),hi=Ct(ai);if(pe=arguments,be=this,Ue=ai,hi){if(Be===F)return Et(Ue);if(ot)return Zr(Be),Be=ya(Mt,te),St(Ue)}return Be===F&&(Be=ya(Mt,te)),Re}return xi.cancel=Wt,xi.flush=Si,xi}var jc=Zt(function(ue,te){return Ol(ue,1,te)}),Hd=Zt(function(ue,te,oe){return Ol(ue,Bn(te)||0,oe)});function Wd(ue){return Tr(ue,ge)}function gl(ue,te){if(typeof ue!="function"||te!=null&&typeof te!="function")throw new Wn(U);var oe=function(){var pe=arguments,be=te?te.apply(this,pe):pe[0],Ce=oe.cache;if(Ce.has(be))return Ce.get(be);var Re=ue.apply(this,pe);return oe.cache=Ce.set(be,Re)||Ce,Re};return oe.cache=new(gl.Cache||Xr),oe}gl.Cache=Xr;function Vs(ue){if(typeof ue!="function")throw new Wn(U);return function(){var te=arguments;switch(te.length){case 0:return!ue.call(this);case 1:return!ue.call(this,te[0]);case 2:return!ue.call(this,te[0],te[1]);case 3:return!ue.call(this,te[0],te[1],te[2])}return!ue.apply(this,te)}}function yl(ue){return Su(2,ue)}var qd=ds(function(ue,te){te=te.length==1&&zt(te[0])?Ft(te[0],Pn(Dt())):Ft(Xi(te,1),Pn(Dt()));var oe=te.length;return Zt(function(pe){for(var be=-1,Ce=ri(pe.length,oe);++be<Ce;)pe[be]=te[be].call(this,pe[be]);return tn(ue,this,pe)})}),wu=Zt(function(ue,te){var oe=Vr(te,es(wu));return Tr(ue,he,F,te,oe)}),vl=Zt(function(ue,te){var oe=Vr(te,es(vl));return Tr(ue,de,F,te,oe)}),Qc=$r(function(ue,te){return Tr(ue,fe,F,F,F,te)});function Xd(ue,te){if(typeof ue!="function")throw new Wn(U);return te=te===F?te:Ut(te),Zt(ue,te)}function Yd(ue,te){if(typeof ue!="function")throw new Wn(U);return te=te==null?0:Vi(Ut(te),0),Zt(function(oe){var pe=oe[te],be=ps(oe,0,te);return pe&&Rt(be,pe),tn(ue,this,be)})}function jd(ue,te,oe){var pe=!0,be=!0;if(typeof ue!="function")throw new Wn(U);return wi(oe)&&(pe="leading"in oe?!!oe.leading:pe,be="trailing"in oe?!!oe.trailing:be),Eu(ue,te,{leading:pe,maxWait:te,trailing:be})}function Qd(ue){return Yc(ue,1)}function Kd(ue,te){return wu(eo(te),ue)}function Zd(){if(!arguments.length)return[];var ue=arguments[0];return zt(ue)?ue:[ue]}function Jd(ue){return qi(ue,J)}function $d(ue,te){return te=typeof te=="function"?te:F,qi(ue,J,te)}function ep(ue){return qi(ue,Z|J)}function tp(ue,te){return te=typeof te=="function"?te:F,qi(ue,Z|J,te)}function np(ue,te){return te==null||rc(ue,te,ji(te))}function dr(ue,te){return ue===te||ue!==ue&&te!==te}var pr=so(Ki),rp=so(function(ue,te){return ue>=te}),Gs=ua(function(){return arguments}())?ua:function(ue){return Xt(ue)&&li.call(ue,"callee")&&!kl.call(ue,"callee")},zt=it.isArray,jt=en?Pn(en):oc;function Cn(ue){return ue!=null&&fo(ue.length)&&!ns(ue)}function si(ue){return Xt(ue)&&Cn(ue)}function Ii(ue){return ue===!0||ue===!1||Xt(ue)&&sn(ue)==et}var ms=Rl||go,gs=Ra?Pn(Ra):nf;function sp(ue){return Xt(ue)&&ue.nodeType===1&&!va(ue)}function ap(ue){if(ue==null)return!0;if(Cn(ue)&&(zt(ue)||typeof ue=="string"||typeof ue.splice=="function"||ms(ue)||Yi(ue)||Gs(ue)))return!ue.length;var te=Zi(ue);if(te==Fe||te==tt)return!ue.size;if(uo(ue))return!Uo(ue).length;for(var oe in ue)if(li.call(ue,oe))return!1;return!0}function lp(ue,te){return ja(ue,te)}function up(ue,te,oe){oe=typeof oe=="function"?oe:F;var pe=oe?oe(ue,te):F;return pe===F?ja(ue,te,F,oe):!!pe}function Pu(ue){if(!Xt(ue))return!1;var te=sn(ue);return te==pt||te==st||typeof ue.message=="string"&&typeof ue.name=="string"&&!va(ue)}function Tu(ue){return typeof ue=="number"&&Ku(ue)}function ns(ue){if(!wi(ue))return!1;var te=sn(ue);return te==dt||te==yt||te==Ye||te==Oe}function Mr(ue){return typeof ue=="number"&&ue==Ut(ue)}function fo(ue){return typeof ue=="number"&&ue>-1&&ue%1==0&&ue<=we}function wi(ue){var te=typeof ue;return ue!=null&&(te=="object"||te=="function")}function Xt(ue){return ue!=null&&typeof ue=="object"}var Mi=Fa?Pn(Fa):rf;function Kc(ue,te){return ue===te||Ul(ue,te,ma(te))}function cp(ue,te,oe){return oe=typeof oe=="function"?oe:F,Ul(ue,te,ma(te),oe)}function hp(ue){return Zc(ue)&&ue!=+ue}function fp(ue){if(gf(ue))throw new At(G);return zo(ue)}function dp(ue){return ue===null}function pp(ue){return ue==null}function Zc(ue){return typeof ue=="number"||Xt(ue)&&sn(ue)==_e}function va(ue){if(!Xt(ue)||sn(ue)!=Ze)return!1;var te=Ha(ue);if(te===null)return!0;var oe=li.call(te,"constructor")&&te.constructor;return typeof oe=="function"&&oe instanceof oe&&Ps.call(oe)==Lo}var zs=Ba?Pn(Ba):lc;function Cu(ue){return Mr(ue)&&ue>=-we&&ue<=we}var Jc=as?Pn(as):sf;function po(ue){return typeof ue=="string"||!zt(ue)&&Xt(ue)&&sn(ue)==nt}function ln(ue){return typeof ue=="symbol"||Xt(ue)&&sn(ue)==Ke}var Yi=Da?Pn(Da):af;function ba(ue){return ue===F}function mp(ue){return Xt(ue)&&Zi(ue)==ut}function gp(ue){return Xt(ue)&&sn(ue)==ht}var yp=so(Wl),vp=so(function(ue,te){return ue<=te});function $c(ue){if(!ue)return[];if(Cn(ue))return po(ue)?nn(ue):bn(ue);if(na&&ue[na])return yh(ue[na]());var te=Zi(ue),oe=te==Fe?Nl:te==tt?ir:Sa;return oe(ue)}function _r(ue){if(!ue)return ue===0?ue:0;if(ue=Bn(ue),ue===Le||ue===-Le){var te=ue<0?-1:1;return te*Ae}return ue===ue?ue:0}function Ut(ue){var te=_r(ue),oe=te%1;return te===te?oe?te-oe:te:0}function Kt(ue){return ue?Qr(Ut(ue),0,ke):0}function Bn(ue){if(typeof ue=="number")return ue;if(ln(ue))return Me;if(wi(ue)){var te=typeof ue.valueOf=="function"?ue.valueOf():ue;ue=wi(te)?te+"":te}if(typeof ue!="string")return ue===0?ue:+ue;ue=Xu(ue);var oe=Ln.test(ue);return oe||Hs.test(ue)?Co(ue.slice(2),oe?2:8):xn.test(ue)?Me:+ue}function Dn(ue){return Ti(ue,ci(ue))}function eh(ue){return ue?Qr(Ut(ue),-we,we):ue===0?ue:0}function di(ue){return ue==null?"":Tn(ue)}var pi=Jr(function(ue,te){if(uo(te)||Cn(te)){Ti(te,ji(te),ue);return}for(var oe in te)li.call(te,oe)&&ks(ue,oe,te[oe])}),th=Jr(function(ue,te){Ti(te,ci(te),ue)}),mo=Jr(function(ue,te,oe,pe){Ti(te,ci(te),ue,pe)}),bl=Jr(function(ue,te,oe,pe){Ti(te,ji(te),ue,pe)}),bp=$r(lr);function Sp(ue,te){var oe=We(ue);return te==null?oe:ic(oe,te)}var xp=Zt(function(ue,te){ue=qt(ue);var oe=-1,pe=te.length,be=pe>2?te[2]:F;for(be&&Ci(te[0],te[1],be)&&(pe=1);++oe<pe;)for(var Ce=te[oe],Re=ci(Ce),Be=-1,Ue=Re.length;++Be<Ue;){var $e=Re[Be],at=ue[$e];(at===F||dr(at,ia[$e])&&!li.call(ue,$e))&&(ue[$e]=Ce[$e])}return ue}),Ap=Zt(function(ue){return ue.push(F,su),tn(ih,F,ue)});function Ep(ue,te){return mn(ue,Dt(te,3),ur)}function wp(ue,te){return mn(ue,Dt(te,3),Yn)}function Pp(ue,te){return ue==null?ue:Gi(ue,Dt(te,3),ci)}function Tp(ue,te){return ue==null?ue:Go(ue,Dt(te,3),ci)}function Cp(ue,te){return ue&&ur(ue,Dt(te,3))}function Mp(ue,te){return ue&&Yn(ue,Dt(te,3))}function _p(ue){return ue==null?[]:la(ue,ji(ue))}function Ip(ue){return ue==null?[]:la(ue,ci(ue))}function Mu(ue,te,oe){var pe=ue==null?F:xr(ue,te);return pe===F?oe:pe}function _u(ue,te){return ue!=null&&Cc(ue,te,Vl)}function Iu(ue,te){return ue!=null&&Cc(ue,te,ef)}var Nu=no(function(ue,te,oe){te!=null&&typeof te.toString!="function"&&(te=za.call(te)),ue[te]=oe},Bu(_n)),Np=no(function(ue,te,oe){te!=null&&typeof te.toString!="function"&&(te=za.call(te)),li.call(ue,te)?ue[te].push(oe):ue[te]=[oe]},Dt),Lp=Zt(Ya);function ji(ue){return Cn(ue)?ec(ue):Uo(ue)}function ci(ue){return Cn(ue)?ec(ue,!0):Hl(ue)}function Mn(ue,te){var oe={};return te=Dt(te,3),ur(ue,function(pe,be,Ce){jr(oe,te(pe,be,Ce),pe)}),oe}function kp(ue,te){var oe={};return te=Dt(te,3),ur(ue,function(pe,be,Ce){jr(oe,be,te(pe,be,Ce))}),oe}var Rp=Jr(function(ue,te,oe){Ka(ue,te,oe)}),ih=Jr(function(ue,te,oe,pe){Ka(ue,te,oe,pe)}),nh=$r(function(ue,te){var oe={};if(ue==null)return oe;var pe=!1;te=Ft(te,function(Ce){return Ce=Er(Ce,ue),pe||(pe=Ce.length>1),Ce}),Ti(ue,oo(ue),oe),pe&&(oe=qi(oe,Z|K|J,wc));for(var be=te.length;be--;)Ar(oe,te[be]);return oe});function Fp(ue,te){return rh(ue,Vs(Dt(te)))}var Bp=$r(function(ue,te){return ue==null?{}:hc(ue,te)});function rh(ue,te){if(ue==null)return{};var oe=Ft(oo(ue),function(pe){return[pe]});return te=Dt(te),fc(ue,oe,function(pe,be){return te(pe,be[0])})}function sh(ue,te,oe){te=Er(te,ue);var pe=-1,be=te.length;for(be||(be=1,ue=F);++pe<be;){var Ce=ue==null?F:ue[hr(te[pe])];Ce===F&&(pe=be,Ce=oe),ue=ns(Ce)?Ce.call(ue):Ce}return ue}function Dp(ue,te,oe){return ue==null?ue:Za(ue,te,oe)}function Op(ue,te,oe,pe){return pe=typeof pe=="function"?pe:F,ue==null?ue:Za(ue,te,oe,pe)}var ah=Ec(ji),Lu=Ec(ci);function oh(ue,te,oe){var pe=zt(ue),be=pe||ms(ue)||Yi(ue);if(te=Dt(te,4),oe==null){var Ce=ue&&ue.constructor;be?oe=pe?new Ce:[]:wi(ue)?oe=ns(Ce)?We(Ha(ue)):{}:oe={}}return(be?He:ur)(ue,function(Re,Be,Ue){return te(oe,Re,Be,Ue)}),oe}function Vp(ue,te){return ue==null?!0:Ar(ue,te)}function Gp(ue,te,oe){return ue==null?ue:Qo(ue,te,eo(oe))}function zp(ue,te,oe,pe){return pe=typeof pe=="function"?pe:F,ue==null?ue:Qo(ue,te,eo(oe),pe)}function Sa(ue){return ue==null?[]:gn(ue,ji(ue))}function xa(ue){return ue==null?[]:gn(ue,ci(ue))}function Up(ue,te,oe){return oe===F&&(oe=te,te=F),oe!==F&&(oe=Bn(oe),oe=oe===oe?oe:0),te!==F&&(te=Bn(te),te=te===te?te:0),Qr(Bn(ue),te,oe)}function Hp(ue,te,oe){return te=_r(te),oe===F?(oe=te,te=0):oe=_r(oe),ue=Bn(ue),tf(ue,te,oe)}function Wp(ue,te,oe){if(oe&&typeof oe!="boolean"&&Ci(ue,te,oe)&&(te=oe=F),oe===F&&(typeof te=="boolean"?(oe=te,te=F):typeof ue=="boolean"&&(oe=ue,ue=F)),ue===F&&te===F?(ue=0,te=1):(ue=_r(ue),te===F?(te=ue,ue=0):te=_r(te)),ue>te){var pe=ue;ue=te,te=pe}if(oe||ue%1||te%1){var be=Ju();return ri(ue+be*(te-ue+To("1e-"+((be+"").length-1))),te)}return Xo(ue,te)}var qp=Fs(function(ue,te,oe){return te=te.toLowerCase(),ue+(oe?lh(te):te)});function lh(ue){return Ru(di(ue).toLowerCase())}function ku(ue){return ue=di(ue),ue&&ue.replace(Fi,dh).replace(vr,"")}function uh(ue,te,oe){ue=di(ue),te=Tn(te);var pe=ue.length;oe=oe===F?pe:Qr(Ut(oe),0,pe);var be=oe;return oe-=te.length,oe>=0&&ue.slice(oe,be)==te}function Xp(ue){return ue=di(ue),ue&&$i.test(ue)?ue.replace(_t,ph):ue}function Yp(ue){return ue=di(ue),ue&&rs.test(ue)?ue.replace(kr,"\\$&"):ue}var jp=Fs(function(ue,te,oe){return ue+(oe?"-":"")+te.toLowerCase()}),Qp=Fs(function(ue,te,oe){return ue+(oe?" ":"")+te.toLowerCase()}),Kp=Sc("toLowerCase");function Zp(ue,te,oe){ue=di(ue),te=Ut(te);var pe=te?ea(ue):0;if(!te||pe>=te)return ue;var be=(te-pe)/2;return da(Ts(be),oe)+ue+da(Fo(be),oe)}function Jp(ue,te,oe){ue=di(ue),te=Ut(te);var pe=te?ea(ue):0;return te&&pe<te?ue+da(te-pe,oe):ue}function $p(ue,te,oe){ue=di(ue),te=Ut(te);var pe=te?ea(ue):0;return te&&pe<te?da(te-pe,oe)+ue:ue}function em(ue,te,oe){return oe||te==null?te=0:te&&(te=+te),_h(di(ue).replace(mr,""),te||0)}function tm(ue,te,oe){return(oe?Ci(ue,te,oe):te===F)?te=1:te=Ut(te),Kl(di(ue),te)}function im(){var ue=arguments,te=di(ue[0]);return ue.length<3?te:te.replace(ue[1],ue[2])}var rm=Fs(function(ue,te,oe){return ue+(oe?"_":"")+te.toLowerCase()});function sm(ue,te,oe){return oe&&typeof oe!="number"&&Ci(ue,te,oe)&&(te=oe=F),oe=oe===F?ke:oe>>>0,oe?(ue=di(ue),ue&&(typeof te=="string"||te!=null&&!zs(te))&&(te=Tn(te),!te&&Js(ue))?ps(nn(ue),0,oe):ue.split(te,oe)):[]}var am=Fs(function(ue,te,oe){return ue+(oe?" ":"")+Ru(te)});function om(ue,te,oe){return ue=di(ue),oe=oe==null?0:Qr(Ut(oe),0,ue.length),te=Tn(te),ue.slice(oe,oe+te.length)==te}function lm(ue,te,oe){var pe=qe.templateSettings;oe&&Ci(ue,te,oe)&&(te=F),ue=di(ue),te=mo({},te,pe,Cr);var be=mo({},te.imports,pe.imports,Cr),Ce=ji(be),Re=gn(be,Ce),Be,Ue,$e=0,at=te.interpolate||Ei,ot="__p += '",mt=gi((te.escape||Ei).source+"|"+at.source+"|"+(at===On?Us:Ei).source+"|"+(te.evaluate||Ei).source+"|$","g"),St="//# sourceURL="+(li.call(te,"sourceURL")?(te.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Cl+"]")+`
- `;ue.replace(mt,function(Ct,Mt,Nt,Wt,Si,xi){return Nt||(Nt=Wt),ot+=ue.slice($e,xi).replace(Ni,mh),Mt&&(Be=!0,ot+=`' +
- __e(`+Mt+`) +
- '`),Si&&(Ue=!0,ot+=`';
- `+Si+`;
- __p += '`),Nt&&(ot+=`' +
- ((__t = (`+Nt+`)) == null ? '' : __t) +
- '`),$e=xi+Ct.length,Ct}),ot+=`';
- `;var Et=li.call(te,"variable")&&te.variable;if(!Et)ot=`with (obj) {
- `+ot+`
- }
- `;else if(Sn.test(Et))throw new At(W);ot=(Ue?ot.replace(Ai,""):ot).replace(Qi,"$1").replace(In,"$1;"),ot="function("+(Et||"obj")+`) {
- `+(Et?"":`obj || (obj = {});
- `)+"var __t, __p = ''"+(Be?", __e = _.escape":"")+(Ue?`, __j = Array.prototype.join;
- function print() { __p += __j.call(arguments, '') }
- `:`;
- `)+ot+`return __p
- }`;var Tt=Fu(function(){return It(Ce,St+"return "+ot).apply(F,Re)});if(Tt.source=ot,Pu(Tt))throw Tt;return Tt}function um(ue){return di(ue).toLowerCase()}function cm(ue){return di(ue).toUpperCase()}function hm(ue,te,oe){if(ue=di(ue),ue&&(oe||te===F))return Xu(ue);if(!ue||!(te=Tn(te)))return ue;var pe=nn(ue),be=nn(te),Ce=Zs(pe,be),Re=Il(pe,be)+1;return ps(pe,Ce,Re).join("")}function fm(ue,te,oe){if(ue=di(ue),ue&&(oe||te===F))return ue.slice(0,Hn(ue)+1);if(!ue||!(te=Tn(te)))return ue;var pe=nn(ue),be=Il(pe,nn(te))+1;return ps(pe,0,be).join("")}function dm(ue,te,oe){if(ue=di(ue),ue&&(oe||te===F))return ue.replace(mr,"");if(!ue||!(te=Tn(te)))return ue;var pe=nn(ue),be=Zs(pe,nn(te));return ps(pe,be).join("")}function pm(ue,te){var oe=Se,pe=Ee;if(wi(te)){var be="separator"in te?te.separator:be;oe="length"in te?Ut(te.length):oe,pe="omission"in te?Tn(te.omission):pe}ue=di(ue);var Ce=ue.length;if(Js(ue)){var Re=nn(ue);Ce=Re.length}if(oe>=Ce)return ue;var Be=oe-ea(pe);if(Be<1)return pe;var Ue=Re?ps(Re,0,Be).join(""):ue.slice(0,Be);if(be===F)return Ue+pe;if(Re&&(Be+=Ue.length-Be),zs(be)){if(ue.slice(Be).search(be)){var $e,at=Ue;for(be.global||(be=gi(be.source,di(ys.exec(be))+"g")),be.lastIndex=0;$e=be.exec(at);)var ot=$e.index;Ue=Ue.slice(0,ot===F?Be:ot)}}else if(ue.indexOf(Tn(be),Be)!=Be){var mt=Ue.lastIndexOf(be);mt>-1&&(Ue=Ue.slice(0,mt))}return Ue+pe}function mm(ue){return ue=di(ue),ue&&oi.test(ue)?ue.replace(cn,ju):ue}var gm=Fs(function(ue,te,oe){return ue+(oe?" ":"")+te.toUpperCase()}),Ru=Sc("toUpperCase");function Sl(ue,te,oe){return ue=di(ue),te=oe?F:te,te===F?$s(ue)?Ah(ue):An(ue):ue.match(te)||[]}var Fu=Zt(function(ue,te){try{return tn(ue,F,te)}catch(oe){return Pu(oe)?oe:new At(oe)}}),ch=$r(function(ue,te){return He(te,function(oe){oe=hr(oe),jr(ue,oe,pl(ue[oe],ue))}),ue});function ym(ue){var te=ue==null?0:ue.length,oe=Dt();return ue=te?Ft(ue,function(pe){if(typeof pe[1]!="function")throw new Wn(U);return[oe(pe[0]),pe[1]]}):[],Zt(function(pe){for(var be=-1;++be<te;){var Ce=ue[be];if(tn(Ce[0],this,pe))return tn(Ce[1],this,pe)}})}function vm(ue){return qn(qi(ue,Z))}function Bu(ue){return function(){return ue}}function Du(ue,te){return ue==null||ue!==ue?te:ue}var bm=nu(),Sm=nu(!0);function _n(ue){return ue}function un(ue){return uc(typeof ue=="function"?ue:qi(ue,Z))}function Ou(ue){return ql(qi(ue,Z))}function xm(ue,te){return Xl(ue,qi(te,Z))}var Am=Zt(function(ue,te){return function(oe){return Ya(oe,ue,te)}}),Em=Zt(function(ue,te){return function(oe){return Ya(ue,oe,te)}});function Vu(ue,te,oe){var pe=ji(te),be=la(te,pe);oe==null&&!(wi(te)&&(be.length||!pe.length))&&(oe=te,te=ue,ue=this,be=la(te,ji(te)));var Ce=!(wi(oe)&&"chain"in oe)||!!oe.chain,Re=ns(ue);return He(be,function(Be){var Ue=te[Be];ue[Be]=Ue,Re&&(ue.prototype[Be]=function(){var $e=this.__chain__;if(Ce||$e){var at=ue(this.__wrapped__),ot=at.__actions__=bn(this.__actions__);return ot.push({func:Ue,args:arguments,thisArg:ue}),at.__chain__=$e,at}return Ue.apply(ue,Rt([this.value()],arguments))})}),ue}function Gu(){return Bi._===this&&(Bi._=wh),this}function zu(){}function Uu(ue){return ue=Ut(ue),Zt(function(te){return cc(te,ue)})}var wm=fa(Ft),Pm=fa(bt),Tm=fa(Di);function hh(ue){return Ji(ue)?Or(hr(ue)):dc(ue)}function fh(ue){return function(te){return ue==null?F:xr(ue,te)}}var Cm=Ac(),Mm=Ac(!0);function Hu(){return[]}function go(){return!1}function Wu(){return{}}function _m(){return""}function Im(){return!0}function Nm(ue,te){if(ue=Ut(ue),ue<1||ue>we)return[];var oe=ke,pe=ri(ue,ke);te=Dt(te),ue-=ke;for(var be=Ga(pe,te);++oe<ue;)te(oe);return be}function Lm(ue){return zt(ue)?Ft(ue,hr):ln(ue)?[ue]:bn(ho(di(ue)))}function km(ue){var te=++yi;return di(ue)+te}var Rm=ro(function(ue,te){return ue+te},0),Fm=nl("ceil"),Bm=ro(function(ue,te){return ue/te},1),Dm=nl("floor");function Om(ue){return ue&&ue.length?Oo(ue,_n,Ki):F}function Vm(ue,te){return ue&&ue.length?Oo(ue,Dt(te,2),Ki):F}function Gm(ue){return os(ue,_n)}function zm(ue,te){return os(ue,Dt(te,2))}function Um(ue){return ue&&ue.length?Oo(ue,_n,Wl):F}function Hm(ue,te){return ue&&ue.length?Oo(ue,Dt(te,2),Wl):F}var Wm=ro(function(ue,te){return ue*te},1),qm=nl("round"),Xm=ro(function(ue,te){return ue-te},0);function Ym(ue){return ue&&ue.length?Ml(ue,_n):0}function jm(ue,te){return ue&&ue.length?Ml(ue,Dt(te,2)):0}return qe.after=dl,qe.ary=Yc,qe.assign=pi,qe.assignIn=th,qe.assignInWith=mo,qe.assignWith=bl,qe.at=bp,qe.before=Su,qe.bind=pl,qe.bindAll=ch,qe.bindKey=ml,qe.castArray=Zd,qe.chain=Hc,qe.chunk=Fc,qe.compact=Sf,qe.concat=xf,qe.cond=ym,qe.conforms=vm,qe.constant=Bu,qe.countBy=Ad,qe.create=Sp,qe.curry=xu,qe.curryRight=Au,qe.debounce=Eu,qe.defaults=xp,qe.defaultsDeep=Ap,qe.defer=jc,qe.delay=Hd,qe.difference=Af,qe.differenceBy=Ef,qe.differenceWith=wf,qe.drop=Pf,qe.dropRight=Tf,qe.dropRightWhile=Cf,qe.dropWhile=Mf,qe.fill=_f,qe.filter=wd,qe.flatMap=Cd,qe.flatMapDeep=Md,qe.flatMapDepth=_d,qe.flatten=mu,qe.flattenDeep=Dc,qe.flattenDepth=If,qe.flip=Wd,qe.flow=bm,qe.flowRight=Sm,qe.fromPairs=Nf,qe.functions=_p,qe.functionsIn=Ip,qe.groupBy=Xc,qe.initial=Lf,qe.intersection=kf,qe.intersectionBy=Rf,qe.intersectionWith=Ff,qe.invert=Nu,qe.invertBy=Np,qe.invokeMap=Nd,qe.iteratee=un,qe.keyBy=Ld,qe.keys=ji,qe.keysIn=ci,qe.map=cl,qe.mapKeys=Mn,qe.mapValues=kp,qe.matches=Ou,qe.matchesProperty=xm,qe.memoize=gl,qe.merge=Rp,qe.mergeWith=ih,qe.method=Am,qe.methodOf=Em,qe.mixin=Vu,qe.negate=Vs,qe.nthArg=Uu,qe.omit=nh,qe.omitBy=Fp,qe.once=yl,qe.orderBy=hl,qe.over=wm,qe.overArgs=qd,qe.overEvery=Pm,qe.overSome=Tm,qe.partial=wu,qe.partialRight=vl,qe.partition=kd,qe.pick=Bp,qe.pickBy=rh,qe.property=hh,qe.propertyOf=fh,qe.pull=Of,qe.pullAll=Gc,qe.pullAllBy=zc,qe.pullAllWith=Vf,qe.pullAt=Gf,qe.range=Cm,qe.rangeRight=Mm,qe.rearg=Qc,qe.reject=Bd,qe.remove=zf,qe.rest=Xd,qe.reverse=gu,qe.sampleSize=Od,qe.set=Dp,qe.setWith=Op,qe.shuffle=Vd,qe.slice=yu,qe.sortBy=Ud,qe.sortedUniq=jf,qe.sortedUniqBy=Qf,qe.split=sm,qe.spread=Yd,qe.tail=Kf,qe.take=Zf,qe.takeRight=Jf,qe.takeRightWhile=$f,qe.takeWhile=ed,qe.tap=Wc,qe.throttle=jd,qe.thru=ll,qe.toArray=$c,qe.toPairs=ah,qe.toPairsIn=Lu,qe.toPath=Lm,qe.toPlainObject=Dn,qe.transform=oh,qe.unary=Qd,qe.union=td,qe.unionBy=nd,qe.unionWith=rd,qe.uniq=sd,qe.uniqBy=ad,qe.uniqWith=od,qe.unset=Vp,qe.unzip=vu,qe.unzipWith=ol,qe.update=Gp,qe.updateWith=zp,qe.values=Sa,qe.valuesIn=xa,qe.without=Uc,qe.words=Sl,qe.wrap=Kd,qe.xor=ld,qe.xorBy=ud,qe.xorWith=cd,qe.zip=hd,qe.zipObject=fd,qe.zipObjectDeep=dd,qe.zipWith=pd,qe.entries=ah,qe.entriesIn=Lu,qe.extend=th,qe.extendWith=mo,Vu(qe,qe),qe.add=Rm,qe.attempt=Fu,qe.camelCase=qp,qe.capitalize=lh,qe.ceil=Fm,qe.clamp=Up,qe.clone=Jd,qe.cloneDeep=ep,qe.cloneDeepWith=tp,qe.cloneWith=$d,qe.conformsTo=np,qe.deburr=ku,qe.defaultTo=Du,qe.divide=Bm,qe.endsWith=uh,qe.eq=dr,qe.escape=Xp,qe.escapeRegExp=Yp,qe.every=Ed,qe.find=Pd,qe.findIndex=Bc,qe.findKey=Ep,qe.findLast=Td,qe.findLastIndex=pu,qe.findLastKey=wp,qe.floor=Dm,qe.forEach=qc,qe.forEachRight=bu,qe.forIn=Pp,qe.forInRight=Tp,qe.forOwn=Cp,qe.forOwnRight=Mp,qe.get=Mu,qe.gt=pr,qe.gte=rp,qe.has=_u,qe.hasIn=Iu,qe.head=Oc,qe.identity=_n,qe.includes=Id,qe.indexOf=Vc,qe.inRange=Hp,qe.invoke=Lp,qe.isArguments=Gs,qe.isArray=zt,qe.isArrayBuffer=jt,qe.isArrayLike=Cn,qe.isArrayLikeObject=si,qe.isBoolean=Ii,qe.isBuffer=ms,qe.isDate=gs,qe.isElement=sp,qe.isEmpty=ap,qe.isEqual=lp,qe.isEqualWith=up,qe.isError=Pu,qe.isFinite=Tu,qe.isFunction=ns,qe.isInteger=Mr,qe.isLength=fo,qe.isMap=Mi,qe.isMatch=Kc,qe.isMatchWith=cp,qe.isNaN=hp,qe.isNative=fp,qe.isNil=pp,qe.isNull=dp,qe.isNumber=Zc,qe.isObject=wi,qe.isObjectLike=Xt,qe.isPlainObject=va,qe.isRegExp=zs,qe.isSafeInteger=Cu,qe.isSet=Jc,qe.isString=po,qe.isSymbol=ln,qe.isTypedArray=Yi,qe.isUndefined=ba,qe.isWeakMap=mp,qe.isWeakSet=gp,qe.join=Bf,qe.kebabCase=jp,qe.last=Kn,qe.lastIndexOf=Zn,qe.lowerCase=Qp,qe.lowerFirst=Kp,qe.lt=yp,qe.lte=vp,qe.max=Om,qe.maxBy=Vm,qe.mean=Gm,qe.meanBy=zm,qe.min=Um,qe.minBy=Hm,qe.stubArray=Hu,qe.stubFalse=go,qe.stubObject=Wu,qe.stubString=_m,qe.stubTrue=Im,qe.multiply=Wm,qe.nth=Df,qe.noConflict=Gu,qe.noop=zu,qe.now=fl,qe.pad=Zp,qe.padEnd=Jp,qe.padStart=$p,qe.parseInt=em,qe.random=Wp,qe.reduce=Rd,qe.reduceRight=Fd,qe.repeat=tm,qe.replace=im,qe.result=sh,qe.round=qm,qe.runInContext=ft,qe.sample=Dd,qe.size=Gd,qe.snakeCase=rm,qe.some=zd,qe.sortedIndex=Uf,qe.sortedIndexBy=Hf,qe.sortedIndexOf=Wf,qe.sortedLastIndex=qf,qe.sortedLastIndexBy=Xf,qe.sortedLastIndexOf=Yf,qe.startCase=am,qe.startsWith=om,qe.subtract=Xm,qe.sum=Ym,qe.sumBy=jm,qe.template=lm,qe.times=Nm,qe.toFinite=_r,qe.toInteger=Ut,qe.toLength=Kt,qe.toLower=um,qe.toNumber=Bn,qe.toSafeInteger=eh,qe.toString=di,qe.toUpper=cm,qe.trim=hm,qe.trimEnd=fm,qe.trimStart=dm,qe.truncate=pm,qe.unescape=mm,qe.uniqueId=km,qe.upperCase=gm,qe.upperFirst=Ru,qe.each=qc,qe.eachRight=bu,qe.first=Oc,Vu(qe,function(){var ue={};return ur(qe,function(te,oe){li.call(qe.prototype,oe)||(ue[oe]=te)}),ue}(),{chain:!1}),qe.VERSION="2.4.0",He(["bind","bindKey","curry","curryRight","partial","partialRight"],function(ue){qe[ue].placeholder=qe}),He(["drop","take"],function(ue,te){Ht.prototype[ue]=function(oe){oe=oe===F?1:Vi(Ut(oe),0);var pe=this.__filtered__&&!te?new Ht(this):this.clone();return pe.__filtered__?pe.__takeCount__=ri(oe,pe.__takeCount__):pe.__views__.push({size:ri(oe,ke),type:ue+(pe.__dir__<0?"Right":"")}),pe},Ht.prototype[ue+"Right"]=function(oe){return this.reverse()[ue](oe).reverse()}}),He(["filter","map","takeWhile"],function(ue,te){var oe=te+1,pe=oe==Pe||oe==Te;Ht.prototype[ue]=function(be){var Ce=this.clone();return Ce.__iteratees__.push({iteratee:Dt(be,3),type:oe}),Ce.__filtered__=Ce.__filtered__||pe,Ce}}),He(["head","last"],function(ue,te){var oe="take"+(te?"Right":"");Ht.prototype[ue]=function(){return this[oe](1).value()[0]}}),He(["initial","tail"],function(ue,te){var oe="drop"+(te?"":"Right");Ht.prototype[ue]=function(){return this.__filtered__?new Ht(this):this[oe](1)}}),Ht.prototype.compact=function(){return this.filter(_n)},Ht.prototype.find=function(ue){return this.filter(ue).head()},Ht.prototype.findLast=function(ue){return this.reverse().find(ue)},Ht.prototype.invokeMap=Zt(function(ue,te){return typeof ue=="function"?new Ht(this):this.map(function(oe){return Ya(oe,ue,te)})}),Ht.prototype.reject=function(ue){return this.filter(Vs(Dt(ue)))},Ht.prototype.slice=function(ue,te){ue=Ut(ue);var oe=this;return oe.__filtered__&&(ue>0||te<0)?new Ht(oe):(ue<0?oe=oe.takeRight(-ue):ue&&(oe=oe.drop(ue)),te!==F&&(te=Ut(te),oe=te<0?oe.dropRight(-te):oe.take(te-ue)),oe)},Ht.prototype.takeRightWhile=function(ue){return this.reverse().takeWhile(ue).reverse()},Ht.prototype.toArray=function(){return this.take(ke)},ur(Ht.prototype,function(ue,te){var oe=/^(?:filter|find|map|reject)|While$/.test(te),pe=/^(?:head|last)$/.test(te),be=qe[pe?"take"+(te=="last"?"Right":""):te],Ce=pe||/^find/.test(te);!be||(qe.prototype[te]=function(){var Re=this.__wrapped__,Be=pe?[1]:arguments,Ue=Re instanceof Ht,$e=Be[0],at=Ue||zt(Re),ot=function(Mt){var Nt=be.apply(qe,Rt([Mt],Be));return pe&&mt?Nt[0]:Nt};at&&oe&&typeof $e=="function"&&$e.length!=1&&(Ue=at=!1);var mt=this.__chain__,St=!!this.__actions__.length,Et=Ce&&!mt,Tt=Ue&&!St;if(!Ce&&at){Re=Tt?Re:new Ht(this);var Ct=ue.apply(Re,Be);return Ct.__actions__.push({func:ll,args:[ot],thisArg:F}),new vn(Ct,mt)}return Et&&Tt?ue.apply(this,Be):(Ct=this.thru(ot),Et?pe?Ct.value()[0]:Ct.value():Ct)})}),He(["pop","push","shift","sort","splice","unshift"],function(ue){var te=yn[ue],oe=/^(?:push|sort|unshift)$/.test(ue)?"tap":"thru",pe=/^(?:pop|shift)$/.test(ue);qe.prototype[ue]=function(){var be=arguments;if(pe&&!this.__chain__){var Ce=this.value();return te.apply(zt(Ce)?Ce:[],be)}return this[oe](function(Re){return te.apply(zt(Re)?Re:[],be)})}}),ur(Ht.prototype,function(ue,te){var oe=qe[te];if(oe){var pe=oe.name+"";li.call(Ur,pe)||(Ur[pe]=[]),Ur[pe].push({name:te,func:oe})}}),Ur[io(F,re).name]=[{name:"wrapper",func:F}],Ht.prototype.clone=ti,Ht.prototype.reverse=Rh,Ht.prototype.value=Fh,qe.prototype.at=ul,qe.prototype.chain=md,qe.prototype.commit=gd,qe.prototype.next=yd,qe.prototype.plant=bd,qe.prototype.reverse=Sd,qe.prototype.toJSON=qe.prototype.valueOf=qe.prototype.value=xd,qe.prototype.first=qe.prototype.head,na&&(qe.prototype[na]=vd),qe},ta=Eh();Fn?((Fn.exports=ta)._=ta,Pi._=ta):Bi._=ta}).call(commonjsGlobal)})(lodash,lodash.exports);var _export_sfc=(B,R)=>{const F=B.__vccOpts||B;for(const[D,G]of R)F[D]=G;return F};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:()=>({})}},emits:{onComplete:null,onLoopComplete:null,onEnterFrame:null,onSegmentStart:null,onAnimationLoaded:null},setup(B,{emit:R}){let F=ref(null);const D=ref("");let G=1;const U=ge=>document.querySelector(`[data-id="${ge}"]`)!==null,W=async ge=>{let Se=B.autoPlay;B.playOnHover&&(Se=!1);let Ee={};if(lodash.exports.isEqual(B.animationData,{})===!1&&(Ee=lodash.exports.cloneDeep(B.animationData)),B.animationLink!="")try{Ee=await(await fetch(B.animationLink)).json()}catch(Pe){console.error(Pe);return}let ve=B.loop;typeof ve=="number"&&ve>0&&(ve=ve-1),B.delay>0&&(Se=!1);const xe={container:ge,renderer:B.renderer,loop:ve,autoplay:Se,animationData:Ee};lodash.exports.isEqual(B.rendererSettings,{})===!1&&(xe.rendererSettings=B.rendererSettings),F=Lottie.loadAnimation(xe),setTimeout(()=>{Se=B.autoPlay,B.playOnHover?F.pause():Se?F.play():F.pause(),R("onAnimationLoaded")},B.delay),F.setSpeed(B.speed),B.direction==="reverse"&&F.setDirection(-1),B.direction==="normal"&&F.setDirection(1),(B.pauseAnimation||B.playOnHover)&&F.pause(),F.addEventListener("loopComplete",()=>{B.direction==="alternate"&&(F.stop(),G=G*-1,F.setDirection(G),F.play()),R("onLoopComplete")}),F.addEventListener("complete",()=>{R("onComplete")}),F.addEventListener("enterFrame",()=>{R("onEnterFrame")}),F.addEventListener("segmentStart",()=>{R("onSegmentStart")})},q=computed(()=>{let ge=B.width,Se=B.height;return typeof B.width=="number"&&(ge=`${B.width}px`),typeof B.height=="number"&&(Se=`${B.height}px`),{"--lottie-animation-container-width":ge,"--lottie-animation-container-height":Se,"--lottie-animation-container-background-color":B.backgroundColor}}),Y=()=>{F&&B.pauseOnHover&&F.pause(),F&&B.playOnHover&&F.play()},Q=()=>{F&&B.pauseOnHover&&F.play(),F&&B.playOnHover&&F.pause()};watch(()=>B.pauseAnimation,()=>{if((B.pauseOnHover||B.playOnHover)&&B.pauseAnimation){console.error("If you are using pauseAnimation prop for Vue3-Lottie, please remove the props pauseOnHover and playOnHover");return}F&&(B.pauseAnimation?F.pause():F.play())});const Z=()=>{F&&F.play()},K=()=>{F&&F.pause()},J=()=>{F&&F.stop()},ie=()=>{F&&F.destroy()},ne=(ge=1)=>{if(ge<=0)throw new Error("Speed must be greater than 0");F&&F.setSpeed(ge)},se=ge=>{F&&(ge==="forward"?F.setDirection(1):ge==="reverse"&&F.setDirection(-1))},re=(ge,Se=!0)=>{F&&F.goToAndStop(ge,Se)},ae=(ge,Se=!0)=>{F&&F.goToAndPlay(ge,Se)},le=(ge,Se=!1)=>{F&&F.playSegments(ge,Se)},ce=(ge=!0)=>{F&&F.setSubframe(ge)},he=(ge=!0)=>{if(F)return F.getDuration(ge)},de=(ge,Se=0)=>{F&&F.renderer.elements[Se].updateDocumentData(ge)},me=ge=>{for(var Se="",Ee="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",ve=Ee.length,xe=0;xe<ge;xe++)Se+=Ee.charAt(Math.floor(Math.random()*ve));return Se},fe=ge=>{if(B.pauseOnHover&&B.playOnHover)throw new Error("You cannot set pauseOnHover and playOnHover for Vue3-Lottie at the same time.");if(B.animationLink===""&&lodash.exports.isEqual(B.animationData,{}))throw console.log(B.animationData,"animationData",B.animationLink,"animationLink"),new Error("You must provide either animationLink or animationData");const Se=setInterval(()=>{if(U(ge)){clearInterval(Se);const Ee=document.querySelector(`[data-id="${ge}" ]`);Ee&&W(Ee)}},0)};return onMounted(async()=>{D.value=me(20),fe(D.value)}),{elementid:D,hoverEnded:Q,hoverStarted:Y,getCurrentStyle:q,play:Z,pause:K,stop:J,destroy:ie,setSpeed:ne,setDirection:se,goToAndStop:re,goToAndPlay:ae,playSegments:le,setSubFrame:ce,getDuration:he,updateDocumentData:de}}}),_hoisted_1=["data-id"];function _sfc_render(B,R,F,D,G,U){return openBlock(),createElementBlock("div",{"data-id":B.elementid,class:"lottie-animation-container",style:normalizeStyle(B.getCurrentStyle),onMouseenter:R[0]||(R[0]=(...W)=>B.hoverStarted&&B.hoverStarted(...W)),onMouseleave:R[1]||(R[1]=(...W)=>B.hoverEnded&&B.hoverEnded(...W))},null,44,_hoisted_1)}var Vue3Lottie=_export_sfc(_sfc_main,[["render",_sfc_render]]);const v$2="5.7.1",fr$1=60,ip$1=0,op$1=240,w$1=450,h$2=500,nm$1="\u8BC4\u6D4B\u524D 2",ddd$1=0,assets$1=[{id:"image_0",w:69,h:58,u:"",p:"data:image/png;base64,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",e:1},{id:"image_1",w:69,h:58,u:"",p:"data:image/png;base64,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",e:1},{id:"image_2",w:214,h:86,u:"",p:"data:image/png;base64,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",e:1},{id:"image_3",w:194,h:14,u:"",p:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAAAOCAYAAAB9y8P+AAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAADaUlEQVRoge2YT2gcVQDGv+/t7mx202iwmxrXBDbV9iI9RVPFHlY9JGl2S2lZCmKttFAU9CqKIoN48yDiQSh6skFhD1ZjUmvBv61ab4JasDRLoKbtZkvRuEln/8znxWhMa03WzU6ys7/jvDfv/R583wwzGNrY9kj69rY++BDbts3QJmvP7kRnp9cuXtLKgLUHtm2bwZg1OhyzXnoikWjzWqxRpLojA4Ox0Bep7siA1y5e08pAZIAAkOnpiczOX/4UYK8MX70l3HUke+HCvNeiq8FILNRfAV+ElCLN3o8LzodeO60F/J4BLgym4x2xknNtHMAAiDzF10Lh8Ftj07MFD53rgiSmuiLJCtxnIQ0BKAM4dOJK+R2v3dYSfs4AF09Ox+PRcqnwnqT0n4MlgWPG8O0NyV2fZLPZauOPUDvDd0Z6UKoekHBQ0mYAIDFrjNk7kXdOeu23FvFrBrj0xkwmE/jts2NvQHhq8XWSlwCOw2i8Q7eezM7M/L76x1g5g93WPaaMlKgRCA8KMH8NktMho50f5cvfe6i45vFjBq4rwgLDm0KPu1W8DuC6PyoESiC+gviNyG8tyzrjxeszk8kEip8f2+bKbJe0ncBDghI3mkvyA8PQkxMzxUsN1ly3+CkD/1oEANgVi8ZLqByRNPKfRmSOwE+CzhmZn90gz4VcTUU6ovns5NVfl3uwpRzu7w9NTZ2NAeU7QN5NYKtcbCG0VcQ2CO031QKuknzmeKE0WquDn/FLBm5ahAWGNlqPiXgZUk3/mgmURBYA5AkVATgCHQAOgZKEAIgwBQtUWEIbyNsgdeEGT6Nl7lkFeFQMPn+iMHexljVa/E2zZ2BZRQAAO5kMfvfj6f2u+IKku2oRaxAVgkcZ4CvH8855r2WaiWbOwLKLsICdTAbP/PD1Plc6QOBhAYGVe9Yfgr+AeDcQMG+OX7426bVPM9OMGVhxERazs6u9u4rKPrjuowTu/cfXeWO4Qpr3AY7e//RzX9q27TZ4f9/TLBn4X0VYzO5EZ6dTnH8Arna41A4C90mI1Gt9ACA5CeA0oVMI8tTERecsSdVzjxa1s54zULciLEUS073ReMVBn9xKH8nNAHsFbSAQBRSF0C4yAqgCoAhwjsIciCKgAmlyFHLVoHKWieXGpqfnVsu3Rf1ZTxn4AyaTUIFwF6KQAAAAAElFTkSuQmCC",e:1},{id:"image_4",w:65,h:65,u:"",p:"data:image/png;base64,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",e:1},{id:"image_5",w:337,h:242,u:"",p:"data:image/png;base64,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",e:1},{id:"image_6",w:114,h:135,u:"",p:"data:image/png;base64,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",e:1},{id:"image_7",w:88,h:106,u:"",p:"data:image/png;base64,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",e:1},{id:"image_8",w:90,h:107,u:"",p:"data:image/png;base64,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",e:1}],layers$1=[{ddd:0,ind:1,ty:2,nm:"\u53F3\u89E6\u89D2",parent:8,refId:"image_0",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:[0],e:[5]},{i:{x:[.169],y:[1]},o:{x:[.333],y:[0]},t:30,s:[5],e:[0]},{i:{x:[.199],y:[1]},o:{x:[.786],y:[0]},t:60,s:[0],e:[20]},{i:{x:[.667],y:[1]},o:{x:[.786],y:[0]},t:120,s:[20],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:180,s:[0],e:[5]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:210,s:[5],e:[0]},{t:240}],ix:10},p:{a:0,k:[193.146,30.9,0],ix:2},a:{a:0,k:[3.25,56.25,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:2,ty:2,nm:"\u5DE6\u89E6\u89D2",parent:8,refId:"image_1",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:[0],e:[-5]},{i:{x:[.148],y:[1]},o:{x:[.333],y:[0]},t:30,s:[-5],e:[0]},{i:{x:[.347],y:[1]},o:{x:[.659],y:[0]},t:60,s:[0],e:[-20]},{i:{x:[.667],y:[1]},o:{x:[.659],y:[0]},t:120,s:[-20],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:180,s:[0],e:[-5]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:210,s:[-5],e:[0]},{t:240}],ix:10},p:{a:0,k:[142.598,31.15,0],ix:2},a:{a:0,k:[66.75,56.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:3,ty:2,nm:"\u7741\u773C",parent:8,refId:"image_2",sr:1,ks:{o:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:35,s:[100],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:36,s:[0],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:42,s:[0],e:[100]},{t:43}],ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[167.386,118.854,0],ix:2},a:{a:0,k:[107,43,0],ix:1},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:0,s:[100,100,100],e:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:30,s:[100,100,100],e:[100,35,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:35,s:[100,35,100],e:[100,35,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:43,s:[100,35,100],e:[100,100,100]},{t:48}],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:4,ty:2,nm:"\u95ED\u773C",parent:8,refId:"image_3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[167.35,123.559,0],ix:2},a:{a:0,k:[97,7,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:5,ty:2,nm:"\u5F20\u5634",parent:8,refId:"image_4",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[170.241,192.829,0],ix:2},a:{a:0,k:[32.5,32.5,0],ix:1},s:{a:0,k:[110,75,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:8,ty:2,nm:"\u8111\u888B",refId:"image_5",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:[0],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:60,s:[0],e:[6]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:120,s:[6],e:[0]},{t:180}],ix:10},p:{a:0,k:[224.85,392.35,0],ix:2},a:{a:0,k:[168.5,240,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:9,ty:2,nm:"\u8EAB\u4F53",refId:"image_6",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[224.603,432.311,0],ix:2},a:{a:0,k:[57,67.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:10,ty:2,nm:"\u53F3\u624B",refId:"image_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:60,s:[0],e:[-5]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:90,s:[-5],e:[-5]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:120,s:[-5],e:[0]},{t:150}],ix:10},p:{a:0,k:[257.383,384.131,0],ix:2},a:{a:0,k:[11,6.25,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:11,ty:2,nm:"\u5DE6\u624B",refId:"image_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:60,s:[0],e:[73]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:90,s:[73],e:[46]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:105,s:[46],e:[73]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:120,s:[73],e:[0]},{t:150}],ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:60,s:[192.861,387.971,0],e:[188.861,401.971,0],to:[-.667,2.333,0],ti:[.667,-1.333,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:90,s:[188.861,401.971,0],e:[188.861,395.971,0],to:[-.667,1.333,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:105,s:[188.861,395.971,0],e:[188.861,401.971,0],to:[0,0,0],ti:[-.667,1.333,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:120,s:[188.861,401.971,0],e:[192.861,387.971,0],to:[.667,-1.333,0],ti:[-.667,2.333,0]},{t:150}],ix:2},a:{a:0,k:[76.5,13.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0}],markers$1=[];var startData={v:v$2,fr:fr$1,ip:ip$1,op:op$1,w:w$1,h:h$2,nm:nm$1,ddd:ddd$1,assets:assets$1,layers:layers$1,markers:markers$1};const v$1="5.7.1",fr=60,ip=0,op=239,w=450,h$1=500,nm="\u8BC4\u6D4B\u4E2D",ddd=0,assets=[{id:"image_0",w:69,h:58,u:"",p:"data:image/png;base64,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",e:1},{id:"image_1",w:69,h:58,u:"",p:"data:image/png;base64,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",e:1},{id:"image_2",w:214,h:86,u:"",p:"data:image/png;base64,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",e:1},{id:"image_3",w:194,h:14,u:"",p:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAAAOCAYAAAB9y8P+AAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAADaUlEQVRoge2YT2gcVQDGv+/t7mx202iwmxrXBDbV9iI9RVPFHlY9JGl2S2lZCmKttFAU9CqKIoN48yDiQSh6skFhD1ZjUmvBv61ab4JasDRLoKbtZkvRuEln/8znxWhMa03WzU6ys7/jvDfv/R583wwzGNrY9kj69rY++BDbts3QJmvP7kRnp9cuXtLKgLUHtm2bwZg1OhyzXnoikWjzWqxRpLojA4Ox0Bep7siA1y5e08pAZIAAkOnpiczOX/4UYK8MX70l3HUke+HCvNeiq8FILNRfAV+ElCLN3o8LzodeO60F/J4BLgym4x2xknNtHMAAiDzF10Lh8Ftj07MFD53rgiSmuiLJCtxnIQ0BKAM4dOJK+R2v3dYSfs4AF09Ox+PRcqnwnqT0n4MlgWPG8O0NyV2fZLPZauOPUDvDd0Z6UKoekHBQ0mYAIDFrjNk7kXdOeu23FvFrBrj0xkwmE/jts2NvQHhq8XWSlwCOw2i8Q7eezM7M/L76x1g5g93WPaaMlKgRCA8KMH8NktMho50f5cvfe6i45vFjBq4rwgLDm0KPu1W8DuC6PyoESiC+gviNyG8tyzrjxeszk8kEip8f2+bKbJe0ncBDghI3mkvyA8PQkxMzxUsN1ly3+CkD/1oEANgVi8ZLqByRNPKfRmSOwE+CzhmZn90gz4VcTUU6ovns5NVfl3uwpRzu7w9NTZ2NAeU7QN5NYKtcbCG0VcQ2CO031QKuknzmeKE0WquDn/FLBm5ahAWGNlqPiXgZUk3/mgmURBYA5AkVATgCHQAOgZKEAIgwBQtUWEIbyNsgdeEGT6Nl7lkFeFQMPn+iMHexljVa/E2zZ2BZRQAAO5kMfvfj6f2u+IKku2oRaxAVgkcZ4CvH8855r2WaiWbOwLKLsICdTAbP/PD1Plc6QOBhAYGVe9Yfgr+AeDcQMG+OX7426bVPM9OMGVhxERazs6u9u4rKPrjuowTu/cfXeWO4Qpr3AY7e//RzX9q27TZ4f9/TLBn4X0VYzO5EZ6dTnH8Arna41A4C90mI1Gt9ACA5CeA0oVMI8tTERecsSdVzjxa1s54zULciLEUS073ReMVBn9xKH8nNAHsFbSAQBRSF0C4yAqgCoAhwjsIciCKgAmlyFHLVoHKWieXGpqfnVsu3Rf1ZTxn4AyaTUIFwF6KQAAAAAElFTkSuQmCC",e:1},{id:"image_4",w:62,h:19,u:"",p:"data:image/png;base64,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",e:1},{id:"image_5",w:337,h:242,u:"",p:"data:image/png;base64,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",e:1},{id:"image_6",w:114,h:135,u:"",p:"data:image/png;base64,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",e:1},{id:"image_7",w:27,h:37,u:"",p:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAlCAYAAACzpJKIAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAADqElEQVRIib2XXYhVZRSG37XPPtPQZBFTQRgFhRZERkKGkcL044XRZRQGZT8MQsWkJBgSBYEZFMnQRUMXXYgUo11INBJDNSB4EUPphWM4pTNhJJUyY9qMc771vl3sn7PnZ580z5kFh29zPs56vvdda5+1N1ASmvx0Wdne/42ofCt0aqJv3eLAjD+D4c1mwhqGzvRO6M/eJ5qVr4GNABhOQLX3pb7qIsB4EvTl+GOyZxFgflLuQAjv6Pedd7cYFsYhh+TtCjN7pN6rWgeD/hIdcAfo9/LXMx9LstbA3M+CDsiRQGsbMbb9g9bALExYBqLDRNB9s49ufVd6+z9cuVyYQhtIgKGujgEQt2n03AGNvnFj82A1XisGJMDETii5pod18n9+1LGeDVJ/5cph9OuLACWNAjGkltaWus/s0cjQT+Hophd0+vWORukadpYf37wLZA8kAMKsNf1IhBkgEgYEST+Y6aCE7yvGcyCmEWEaMcbihsqCrxUIgyAqWVVfIQJIQAAgMQawSuQqSPD0cEb8FtXs/lJlGnntZiGcIj3Kk0OwVA0AWPpdDs6VAwABASZORTHW2srPh0uVURe3iIwgQRAsOXkOTSzMrjMQcmuROQC8aCv7h0trpmMvd7I2Mw6gI/9xsVbQnKQAxCS16geLDO9VHti3Lcu7oDLWLu4Q2ZEWBPk6p0FsXtMwB0E4FK2ubC/mnQcLh196Su7ds5sgtYh1hfNrmCoiYdDfFVQ2mO31UphGNi7jTPhEdCg9YW5RQY0KqurdSQhJ0xi00x7aPz5XSA7TkU03cerCl5KWAMXETBMg78KF4IVGORXFHR8uVJ4YADTcfQPD+UHS70yUFE+f30OpZapbVoAiPViEqM8e3Du1IExHnrmFtfODIu/Kk2X2QQBZb/2sZulNPutfJa1fVLXPFgIhsbi/grGBKuILhrPtEWrTnXAsdfqtklaD3mWGe0Ra/V6aDS1Yebjt4W/uK4WVbRRDBx+/3aEtAJ4X/eoMmnYe6jXG7viR754ty3NJA9DWfHUiXjPwSiXgDpAHQAc8wJRO8Xwa+PFGeS5r2lrXwOlq1+D6yPQqSM9GTzZYTfylabAsKl3ffmSGp8FQy1QhezBqNgwA4keH9pnpSQMDlAFDe0tgABA/dmi/GLbCEysptg4GAG3rh3dB3J3ULHS2FAYA1Wuu6zbwKOgrWg6zrqFpOJ4j/YrfBy45al8sf0tfryh9wmqKsizi25bswKSXvnz8Cy4B9gv8OEwoAAAAAElFTkSuQmCC",e:1},{id:"image_8",w:28,h:39,u:"",p:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAnCAYAAAAcsCj6AAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAADrklEQVRYhb2XTWwVVRTHf7evwEvBhWKMokabJk2EuNEu2EhiEFQUTIx2IwqaFlCDJmqIMSxeXChJpYT6FWJCqlWQFkmLBo07wPCxMH4sqIGEhQtDYlAJ2tfXzj1/FzPz3rzpTKv0tTeZ3Dtn5p7fPef+z9z3INW044uVaVsjW9MUi9O92nHkrvkDirP4iXfnD9iy9EcIVurVga55AbrS/QHSGaRevfZJ65wDAZBOY/46Jif7NThYmA/gKcyDtIrvruyZe2Cx+QySkAfz27X9w62NArq8B9q+7yKyVmQAAc496d57YXi2wOwIAeTPISO6mvHBYT2/99m5A5pGo30k7H0B2X5t631dUm5mrh2IPx9G56PLQrAP3mZLz3F1725vLNB0tQqppTa+7sMqP6l71069+NbS/wPMF83W3vXIHw1vFIEETmFP1EsTOI4g9xF3+BOuVAquEfjOGsy+DVWaANRA0diiCQZoEtwFsFFwvyALkC1BWoJU4bGOV5pzlyK/DEvCko6pRVxdCCBbACxHtrxugeF4o+vs9PlAszawjEjisWr3GFjCeTobaMQd6P0MYLoI20PRxE5gSnqVcl61JxfKHxSbt8VuM1Wq0uBC5NdUVx+XB2m1+oSKo3Fcu3F2nL3s+nsuxb6zI/x19BHMbqilj5qDaqREUaXtiegdx93Bvk+TrrOB3j9dS5VFGU0JZ0oaU3uNPK7wUtr1FKC631xBpbKhLpIsQD4IzKDJHXIH9/48I5BKpQdZIVcQSZAsrOTYniwjV+jLSl4dUM+8sRHzD2fIOl3g0YxIxel3Hd+7z98/Oy1QXTtbGQ/6qgqM01NXc+liz+vt6yxYFajNpSLjY4cxu34KaKb9UiyqhFqdTuYBm1QqNRGMDWD+nnBS8jiy+j5dh3EN1tk9uOKp/Agv/PMA5v+kSbuQLoMTZkWciki347gb2QrQomnVGkfrKLuhD/7OA/6nk1tb9i3gyg8PYrYZs/VIC+uOquQHwvG7Gx64aVbAOvhTXbcx5neDOmsRk4z2ovvyQFvDgFXwE5tWM2kfI7s1NFRFdsl9deiWhgMBtOG5ZVAeQepIfAjEjYtbXH//eNacaX5Ezdzc0f2/sejmVaCR8DQRmHdcvnpn3pxZAQHc0J4yResE+6a6p4HP/RM0a2AIHZqgpfA4ZiexALCOOQVG0DJu8aM4zmH+odz3GgWMm9atayew07QU29zw8F/p5w2LMG7u2LHzYJsol1c32ve0TWvXZgrnX5F0z/KsOpRxAAAAAElFTkSuQmCC",e:1},{id:"image_9",w:29,h:42,u:"",p:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAqCAYAAABP7FAaAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAAD60lEQVRYhb2Xb2hVZRzHP79z7zTZJMWx9SZiJYER4ougP29yQQ7CMCwGaWTSGBYGlbFIX2QKQZM2WGGgEMFAMV3ImObE2Iv+vIjeRIhSEdGfVSNQdFfZds/v24t77t1z1/237c4Dh3POc37P83m+vz/PeQ4swdH/pe6u9D6qN/BTKTU1zdZKNul6Q3/+gi7geiWbuip97yutdOeAiW9vGXQmw153mu9Ic6mSndULeHBUbRKXZPz5dofdU8m2bjF1OORiOeJyNdu6uPedc2qPnaddIPh9yaF932hFLI4kQORcqdZn0e69cpUDLtYKQGDREkP3jeiRrPMalgMm4GvV+i3YvftGdafDZ4KUOzjgDojGJYEeGlVjdoZhF60ukHJAAS5urzt0/5iaJ6YYdbHBE1hOYO4ai1XVxphXTHtGtC5znTOCNhKFAkzgSoyMil+YmqH7x9Q0eY034pg9giZjFgg5hSRtETwsycxMZYarvAzuvaDW6Rs8K/GWi5Z8u1TcU5ptk2BZA+vef9LKrkxFSgfOavk43JfNsil2ttzM8JA0O7yCuUskvg3aE/XTWdqh/HKY7hlRexzzJnDXrzOsdZFOyq4wyFyY2ay6ouekDxEvAx+Vg0a9m21McN7Fve6kJYiTxMhnp8J7IPbcc16sB5NzwGPu33VKHWWhAH1brE8Rm2VkPFDg4ZVkwKAtf8Y+OxFPwBJ7ykGLEmn3sB6zLCMuVuRdGcasELo5LjWCkgnsDHYe7bRPKkIBdp9Sh4xhF8tCcOF+DjwEzX0GMukUDxx5pjiTS5bMS0N61Z3+UoCi4gviWmoSyfHD6ogH+zvtZkWoJNs1xOcSHUVum3tvJUAqnpjnQnF+TYqn8uCSa6+ZKTa6XEwXkirI2PBadIbrcHEibpqY4Vz3MTWXVZo/Xjyho4KuMGHC2BVUlki28H1Qv5dTt/Foxa9MnKLXQfkZx0l5hGWUr9uCBxLFid2M4GuHg1GK9jWr2DC41SaqbkF3HNf3LtYXZh+qCHYMeVUGGcEZIoZWpzl7uNMm545Z9SsTiwvA+pJJ5LM1i/GvwQDw4fHtVnGfVBUaRYxls7z+v7gpUAmHl8X0DD5vmWrj1QSNI34RiaqgPUmuvzF2nnzOztUCqxnKNH/kEySf6y6IjPGGiI3HtttP8wFCjf8ynYOalGgsJIzxV1psPLHDfpwvEGrcmLlzo6AWJknz+EKBUOMeSZAKXNx9eptdXCiwZmisgkdOnn7Bji8GWDNUTlrGVZbzymKBUENMu79TQwxNDu8Ob7N/bgl0/CItwG9trQzUA1gTNJqhxUXvB0/Y1C2DTkVY40o+rhcQ4D9Qr1wB2LWqAAAAAABJRU5ErkJggg==",e:1},{id:"image_10",w:42,h:70,u:"",p:"data:image/png;base64,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",e:1},{id:"image_11",w:67,h:55,u:"",p:"data:image/png;base64,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",e:1},{id:"image_12",w:88,h:106,u:"",p:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAABqCAYAAAA4J5aSAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAAXXklEQVR4nO2deZAlVZXGf+fm9mrpphe0AQFbDUCiHUQZkEGcsAmFcVDZUXAbFUWFcEDUGRFHUGaMQHZhlEEgFFBsEdcRQaV1cGtA2aIhGFQWnYYWGKGr6i253fkj7828+aqqa3uvCqvnRGTne6/qZb386qvvfOecm9nCNELfcUfAn+7ajyQ7CPRadL43SAQ8gOImtNzIG0+8VUT0dI63LYVM9gW9/ivb02y9nqRzGDp/LVk2hM4hzwAN2mApAqIA73codRlRdJW84cQn5+fjP/ujBrBev94n3nQ0Sfv9JPGB5KkiTyBLC2BzsxcxAOviEBZk5YHyYjz/2/jhVRy+6maRY7OFObVnR5QA61vWHUonvpi080LSDqRxseWJ2dICaHQBsqZ4LAIoUMqA7LvbJvzgcgbDL8ihJz2+UCe5kCEA+sc3nE3c/HgBrNmSNmSx2SzImdny4p3aAgyIVzBYPPCCYu+HBdBemOBHVzPof3xbA1r0+m+dQNK6nLgNabsANmlRsjjrFABnhsV5CuQFuNqRCBR4FmQfPAtuYLYQvGgLgX8WK/e+WNauTRf43OclRP/o+kdJWruQtApgEwfkrANJB/IOpI5UaA06LzYRCpAdBluJ8ELwfFBhwWY/BC8CP7ydxsDxcthJv11oAPodCtKs1Nc8LUDMOgZcl9VNSFvFloyZrQkds09GITZbMgbxmHltrHoej0FnFDpj+9IcuVPfcNE7FxqAfociy64vkpYBObUJLamDnVmwLdObDtAGyLhp9g7InbGux81ii5vDtMeu1OvO/6LeuC5caCD6FaLXX7Mzo83f0xkLiMuTd/YtA24MeVzJRJ5Bbr2w+Uf5jl0LK5lQVoND8BvgR0YyGoVkhAO/YGDZkXLYezYvJBj9CCVr3/pHdH5toalZweIyoSUFs/OkANcmvsSyulXJRtquZCNpQdosNvta7Dy3bLeMjscOYPSpO/QNF71koQHpdajiX+8cQJfJC+0UF0k9waVt81qnAN1KR9Y2v4C20ekWxDZpWploQqdZSYn9vqQFaWtn2q1b9dfPf9WCItLjUADy+vfcj86/VVZneUZhxTLIMrM3LM7SwlXkieOT4yoZlkC3ILOsbVVsT5zX4mYFfAH6MuLWzfr6Cw5fWFh6F6p85Mlnaj0GrU1B4ViyLAMcGcksuw3IOi6elyyOHedhAM0Me22y6zQrp9FpQqfVoD12vV53/vELA0lvowRYjvrw7aDuLp7ZppgDbp5TsrrsS6SgHaAzU5jkBuisbfQ6rtidWL1uVVodGzmxDI9bHp2xq/V15719/iHpbaiuZz8oCwco9rbnYNldAp07Op0BaaXViSsfVq87lNViWgPTSEbTkYoWxE1F0rxKX3f+X7RXrgMs/m8Lm6VMh8xWaU7TTVPYM6vXukur8wRICmZbFmcdiDuVPpfluMPmuFXJRjJmJUWRjH1RrzvvTfOISU+jDrCnNxe9XdMZs+BquzffZx9bdue6ALeUD6PTOq2KFu0ULm5DKXWkwnUV1abotK7W6y44dF6R6VF0Aez/vuglKMDpiolHCboo550GXHTF7CyvQNaZA7LbmYsdoJ1yvLR1zaovUshFQGfsev21C/92XtHpQdQBPuqf7sfzxsA2bsomegWuba5rs7dtSxwPnZuk6Gp0nkPa7T4MyJnL6KaTBJsukxukzW/p6z/34oUAarZRA1hEcpR/W9EB8wtgS+b6VSmsjXxogdzsbZSTjrxgdG4Yra1kGBZn1tKZyjBtV9272EhH7Hb4WtBpLqczeqP+9oWr5hOkuYQa94r4PyjbjfhdMiGAA7pyEqK27kODIXJp73KTBDPDZKvJWVL1ONK4AjltG5A7FYPLfnVrNaPt7+jvXxzNI06zjvEA+40bC1nwi16ueEWzxjbSrWTgFey1Vs7O6bQFOa9LR+66DSsfpvxOHJDdJJi2CkZbxxFbnW7tx9PtS+YXqtnFOIDl2A/dix8Uyc6VCnH2tYRnNwdsMAzWkGlDbENr6zS6QU5NEoyd9mhiQE47FdDVQOAE/dXPvnuecJp1jGcwgPhfww8MuAGIlQkLrmGwmwC1GRuJFBJhQxtnIVSstkwmr7p21mlYJieub7Y9DHcA0Iakc6led+4+fUdpDjExwGF4XQmoZbDVYisb4siEKMNcOwCdgM2Zm/T0eLnIzFDV9jbK5Ge32LFyZeKLSOJv6BsuWdl3pGYZEwIsR3/kHvzw3mJYaROddREO6Fqq5Kc8UCbZucDiPnbKba2r5IcFOXY02ToNl7Gt8Y/j9vNpjlzTX5hmHxMzGEC8K0o3Ic50uNRkO9w0kqGVSXqOhYPSsVWPu0B25SIzbdEsq5pH1sql7TqjE8c7J52/018956S+IjXLmBzgge2uwQviClyHvVYurNvAq2RB2YRHvbyuhS2v82pf9jKceWCa1m1cHlc6bJltQY475+h1F+7Re4jmFpMCLEee/BTifbNcPOJKBF5VdNQKESMb1hPXkh3V89y8kFNVfbZDp/NqFVHZY46rIqSbvbGdGbYHiVtX6/Xr/f5ANbuYnMEAwcClJYOtXPiBY9+MNotPwVrbIHJsm0123bpsCxGoEp/bw8iTYp9YiYiprzxy9rHdt/Zl021n9BylOcRWAZbjPnorfngPKqgWjuAXtk05eozq6leoisXdvrj2HMNe6u7CJr/UXXSYVpWfW1LXCpMOZO2P63UXPWus29YZDOCFlxQyEdSXQilr1/xKh23RoakaQ7UCxCml3ShdRV4UJrZDZ4HNLZPNMq44rjpyLpOTDsSxT9y8TK9b5/USqNnG1ACHjWtQ/hOFXYsMuEG11kGcgsO6CltwuCw22FZ2jfqW62L+Z3sXaebose0l27ZnpwK77MK1KxbHrX3IHnlWuIopAZZjP9TCiy4pwLXrzQLHPTi2DQW553jk7kYQTufNARkKBqdu29NJemlaOYzUNImSTuUiasWIBblztv7253bqNWAzjakZDDC87FK8sFmumLTJzm5WPsT64i4WW7vm+uFy1lftKtCtV7ZMtpNsR4vt3jbyk9iRihiS9hK2jFzUO6hmF9MCWI48+Sl8/wo8A6gXmqVRrovwiuWr4oM2j93Cw53tacdZ6C4m53mV/KxHLqu+tNqSuALTMrdkdAn60fpr5x7SY8xmFNNjMEAQno8fZJUOG7kobVsAOE35smdsddgF1Tlut6sAapMRrU2F54yiurtwiV1lZNcz22ZRDJ34vIVMeNMGWI772MP4ja+XLsKPDJhhYds8q8Wq0merxVYupEuLXf2F+i8gs07CWWVUrjCyQJu1c1nqeGXTFKq88xqyR97VI7xmHNNnMEAQnFMAbBNeUGew9cee44kxLHY7bN2snUgqXDtn18zlecHkcmWRkQqrwYkDcmbBjiFJPqVv+vLQXMGaTcwIYDnuY3fiN35Y6rAXVVLhmQmIZ3vFTltTC+UczzI5h5LNZRh07cgJR4fzvHIXeVokv9wB2l6sYweqiWPlkvYOPPH4R+eI1axiZgwG8IOzqmsunHW/ZTltCxFndudKRHc7c9xmJyAYoN0+smkK5a6zyBxQ44rR5fTaaLFOTtPfPXf7XoA2k5gxwPLW03+OH/6wLJ2tFltgxSQ5cTyycljsrhbSUJtIw3g7V9s7X7TltFvtld24uALdAh2PDrFl5NQZIzTHmDmDAaLGJ6tV6xOw2LOJz7BYO2sq3NK5tG3UgbV+GJyOm21rWldhWZxBaibViQXW8ch5DFkLslFInjhZf/PMZbNGaxYxK4Dl+NN/SRDeVGdxUGex51UstuU0XSyGisUTTj+otpK5Vot19ThPq/FTOb22Kzw7BbjpU6QD4dL/feGr/nFWSM0yZsdggCA8s6bF5WVaVoODisW2P6EVeF2tzO5EV66pYDzoqe1XmErPemNs8jO6nBorp2PQo5D/mWT5Skb3PIwwGv6g/sMfBmZ93jOMWQMsbz3jVwTRD/BDCIyjsFJhqzs75hfHF+dUjqKW7KZgcU4Brk2Elr32cek2UiADEpAm8AzJqhcw9ldHEkbDhEG0Ikn/PG+rNWfPYAAvqljsd7G5ZHHXMiwMi2tNIEcu7N51Fe5rOfXOnAu2ZbNkQAvUKPGue9Pc62iiYIjQD/ElQOG9f07nPYOYE8Dy9tM3EDS+X12iFVVgu3ZN2UUslsVmCZZy5MH6Yj3BD3IBF11PhuXOyIfk4HXAb9Ja8zpaex1FGA4QeCGe8lBKUKL20w9t3Hsu5z7dmBuDAfzG6QShJjDA+qHDaNsYcta3ia3ynB5FbZG327NwfLPb0yiHqVIxXAAvhyABv83YAe8lefEhROEAoRfgKQ8xfy1FnSPHzfncpxFzBlje9s93E0TX4kcmqUUVyO7kw651w3UUzjTaAloy2U1+3UnRqQhFgS8FuGEGQx5bDvkE+ep9icIGgReglI+Iqv0cpfy/n+u5TyfmzmCAKPoEfhQTNhwGO47CjpxwHIV4FUAug2ujfpex9rGd+VEcywMCgUZOvnIFz7zhM6idXkwUNvC9ACXKgDvuzNdorft+CW9PAC46beHnK1DtPnISneesErIJz/HF3X/6tYrP7O0iFyiO5SuIPBjISHd7GSOHnYu/8vlEwQC+H+GJhygzxRepHKEoUMFmCrvR1+jdGoJo6Gzi+J0EjaVltytNC/baywgkA5UVcmEtlk6MVEB5ewR7HwqrvS7TlRQgRx40BAZzWvu/i84+RxGFQ/jKxxNBaYrfoetC7C/J8zoE0bEi0neAeyMRgBz/4ScJos/Wyuey+LAXhPuVFttrQaxUlKMmF0zb7jTf45u/goaCAWDZICOHf5bkb95CY3A7gsDIgupKpGJ/MQo8P8H3j5Hn7nRrr859a9HbVTD+wAWEyUmk8Q4VixOQuHAV2pS0khdJKc+LX3FmCgjHSFTOQVOupg+V0Vsh23V3Rg/9NN7KXQm9AF8plBbEjpfsMeyBRUD5MX5wjOyw63d7et5bie6G7JxDX3X2+2iPfJ7OKLTMPSI6o+ZCcLv01M7PzFLV3K4TNiWwBUVRgBsYpxAJDArtA95Ne//jCQeWEXg+nqhCEnRWjf3t4FQbrfDUKF7jKFm10829PuetRc8koozVr/wiQXRfcR+IqGoGlfbN9cfmdjP2/hK2ae/7EPgQBhB6ECkYEvKddmbL268kXvs+GkufQxgN4gehkQSnIiyXbpnxVb4FHr3uA/MNLvQBYFm7NsUfOLXU3iAyAAcV2MoUIoHtwoUFqFafvaAAOPBgiQdLhc4Bb2bLP3wJ70X70RjajiAawvMDpNRbqOu30evWo3DrMXDvpxdkutxzibChrzjre7RHD6U9Cm3nlgUdexsDO5g0l3ZpcwcVlYHSEGoIcrIdV9Nceyr6hfsQDG5HMLgUlYMq1xan1dVL9no8KBj9+I/gNx+BeAREEkJeIO9o/U+/znmi6N9Sz7BxGml8MH4UEKZVc9w3t2Ysw1ZvGUhaaK2foZc2aB5wIsmeBxEMryAYWILXGEKpAFF2sbZ5vzjSYBPj/efBA583rwtAQMrJwMf6ds4TRN8YDKCv+tQFtMZOKe9yYplcXgfXNuztgCTgJeCntPc+nPZLj8Df7rn4jWH8aBgVDaCCqPjTr63yyZzWJRA/BRtOhj/9YqLT/TO7LtlFDtk81s/zdqO/i5WXLTmLPH8bOltJnhRJzzJVTCWWU2SCUNHa8wji3dailu9I1BjCj4bwggYShohvlmXpLva7fnnzf8GGU6E1yc0FlwXLQb8D+Pe+nnfXJ+xr6C+d/QHaI5cSjxaWLR2huNXMGORj6MijtdvriFfvize0Aj8cwA8HCsb6IRLaJGmudEI764YNc5MRuPNM+N21VAbYnpp5vDSA7UIQeZCDN+8xX7fi7T/A69Z5jG64m87Ta0i2QDqCJqWz494kz92TbPnO+OEgftDACyJU0EAFIeJHENiFLUFl4dyLy7WGx9bDhlNgdNPkZ7g8gqGgek3JYXLw5u/0+9ztj+976K+f8erO0JL1qb+EvLGUbGh7PC/C8wM8L8ALQsQLUH6EeD5lb7n0xc7SLHuVaOtJ+M2n4MGrnaqtK0IPVkSF3at1P+UncvDja+fj3OcFYICRRzZeQ3vsLSrNirXwnl/0aT0P8QKjsabI8Bw/bAuPcnG3bvL0767hu3/7XpKRCX6SLkZSSwMYDjAdn/GnqtTL5bWb7uz3efe+kpskhhvbnxZGw89EjUGCYBDfb+D5YaGz7vV35S1y7XO7SlNlaH0FonaTFbufSDq6ftwPCRWsGIAdh2A4ck5vAh7l+pS+nrCJeQNYVq3aLFHjDPEaqDBCfHes5NWZWlZ1HnheglLrENlLPO8EEdlkPvkleAKRD8sasOMwrBqG4bDqpG19e7Nev3qHvp93v3+AG1prTz/2yG2S5y8vu2T2nsNeCagdNT2EJ5fjh1eKyLh7Wmp9jMfNP3sIkV1qN4quXRAy/mndZMin5eBN/9LPc55XgAH0k4+/giz9JYigbM+gZHCCqO/hqcvwo5unslL65uedDvpf5/BxniAId5W1D7fncIytxrxJhA3ZfocNRAOXEzWgMZgRDdxPFF1GGBxBY2ilNAaPlKBx07R8amPgclCdsuDoHjW5c77yAziviTyHLH1Lr8/RjXlnMIDWehlJaw+CgXtEpDWnY/1w5y8Db6uN72umYZLCw2qGyEZ5zR/7dtfXeWcwgIg8LeHghrmCC4DnX2oOWmdvbd1bzQQ7ewHNGn3LLn1rZS4IwL0MOejhDaDumhzgrq1bQoqp9Yf69fn+4gEGQOnLJmVsF2G7v2zWtx2s17+oLzKxOACOBq9FGAW6kxjTZnSWfLgfH21RACwHPjCCVl+Z2EVMU5NFHa9/vPvzev3ZFgXAACjvP2qGoRxOS7WfCPBqWBqgkp6Xzwti0/oV+serfw28vP4iW6nkukO2sJ3sKn/9+2d69ZkWD4OhYPE4jaXau48n1GSWskV/sKcfqZcHW/AI/K8A9XmbXVnp3pp3otWWVZyi168Z7tVHWlQAy4EPjKDkuprHha2VyuM3ZAW0enYzj0WlwQD6lt1eAdmvJi2Nx8UEpbRIG60fBRlBZBTyUVCPIdyH4j4yNsra3/5xOp9n0QEMoG950d0IexXPugC0rU33v8x0253dX5805D5E3wDqG7L2wbsm/a45ncmzNPRPdz+JPC9ufzsVoOPezAxch/0e+RGaj0wE9KLS4DKGllyDSBN3rdqkSa6rlp7SdbjvMY+1fg3Cr/X63S/R+pjazT8WJYMB9E/3uAKt3zX9P/lJYqYSInwH/bw3ydqftGGxMhhA6y8AU7uGqTa3GpyoMhzvQt6IPHa1/RiLFmB59X/fjsjt5tnWvtPZTyAB4748DclAH61/sucRsIgBBkCpz43X2Jlq8ky/3+71xVof4y1aDQbQG9eEPJU9RK53mtw1zNBlTPlDneN5snZRM1jWbIxBLpzRhGOmI6etHU+roxY1wACoFV9AvKcn/4apNLgrSbqvTXU8rfdf9ADLgT8fQbhkyn7wbGd6UAe89gtROyx6gAEYDs5Dy9O1Km1SBZiCsd33tBjX0HePwaptAmB52V1P48k502Jo8Q733c5+AgaP98HVXvPUNgEwAI3oIpQ8MmUSm+nQdOu/oJsWtU3rDv3zlxxKLt/b6kqfqbo7U5bKNZv32m0KYAD9s72uRev+/4+3Ivfyyrtfuu1IhI0lvBcl9/bNBwOgMpScICJ6mwNYXnrPGD6HIfLw9N7QNdMr7NdWbJoC0efLAXffBou9FzFJyCvueQjFgYjaOLUvpg7guIONS4pfYvke5f/lsc1psBv6oVc32PTMmWhOg3ziizLH9YOp58QqIabAJ+XAu/6t9va+fPK/sNC/3H81Oj4J9DvRrJzRDA+aiFyJ1ufKK+98pPvY/w+wE1qfqfjFf+4D6UGIvABYjmYZoiPAR4sG/RTCk2geRHk/Y/vn3CG73diZ7Jj/B+402MadLMibAAAAAElFTkSuQmCC",e:1},{id:"image_13",w:90,h:107,u:"",p:"data:image/png;base64,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",e:1}],layers=[{ddd:0,ind:1,ty:2,nm:"\u53F3\u89E6\u89D2",parent:9,refId:"image_0",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:[0],e:[20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:30,s:[20],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:60,s:[0],e:[20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:90,s:[20],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:120,s:[0],e:[20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:150,s:[20],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:180,s:[0],e:[20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:210,s:[20],e:[0]},{t:240}],ix:10},p:{a:0,k:[193.146,30.9,0],ix:2},a:{a:0,k:[3.25,56.25,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:2,ty:2,nm:"\u5DE6\u89E6\u89D2",parent:9,refId:"image_1",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:[0],e:[-20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:30,s:[-20],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:60,s:[0],e:[-20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:90,s:[-20],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:120,s:[0],e:[-20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:150,s:[-20],e:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:180,s:[0],e:[-20]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:210,s:[-20],e:[0]},{t:240}],ix:10},p:{a:0,k:[142.598,31.15,0],ix:2},a:{a:0,k:[66.75,56.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:3,ty:2,nm:"\u7741\u773C 2",parent:9,refId:"image_2",sr:1,ks:{o:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[0],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:102,s:[0],e:[100]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:103,s:[100],e:[100]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:138,s:[100],e:[0]},{t:139}],ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[167.386,118.854,0],ix:2},a:{a:0,k:[107,43,0],ix:1},s:{a:1,k:[{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:103,s:[100,35,100],e:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:108,s:[100,100,100],e:[100,100,100]},{i:{x:[.833,.833,.833],y:[.833,.833,.833]},o:{x:[.167,.167,.167],y:[.167,.167,.167]},t:133,s:[100,100,100],e:[100,35,100]},{t:138}],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:4,ty:2,nm:"\u95ED\u773C 2",parent:9,refId:"image_3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[167.35,123.559,0],ix:2},a:{a:0,k:[97,7,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:6,ty:2,nm:"\u95ED\u773C",parent:9,refId:"image_3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[167.35,123.559,0],ix:2},a:{a:0,k:[97,7,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:8,ty:2,nm:"\u95ED\u5634",parent:9,refId:"image_4",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[168.804,184.705,0],ix:2},a:{a:0,k:[31,9.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:9,ty:2,nm:"\u8111\u888B",refId:"image_5",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:[0],e:[-5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:30,s:[-5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:60,s:[0],e:[5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:90,s:[5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:120,s:[0],e:[-5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:150,s:[-5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:180,s:[0],e:[5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:210,s:[5],e:[0]},{t:240}],ix:10},p:{a:0,k:[224.85,392.35,0],ix:2},a:{a:0,k:[168.5,240,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:10,ty:2,nm:"\u8EAB\u4F53",refId:"image_6",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[224.603,432.311,0],ix:2},a:{a:0,k:[57,67.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:11,ty:2,nm:"1.png",cl:"png",refId:"image_7",sr:1,ks:{o:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:135,s:[100],e:[0]},{t:150}],ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:30,s:[223,298,0],e:[16,181.5,0],to:[-34.5,-19.417,0],ti:[34.5,19.417,0]},{t:150}],ix:2},a:{a:0,k:[13.5,18.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:12,ty:2,nm:"2.png",cl:"png",refId:"image_8",sr:1,ks:{o:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:135,s:[100],e:[0]},{t:150}],ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:30,s:[223,297,0],e:[431,206,0],to:[34.667,-15.167,0],ti:[-34.667,15.167,0]},{t:150}],ix:2},a:{a:0,k:[14,19.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:13,ty:2,nm:"3.png",cl:"png",refId:"image_9",sr:1,ks:{o:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:135,s:[100],e:[0]},{t:150}],ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:30,s:[222,300,0],e:[249,23,0],to:[4.5,-46.167,0],ti:[-4.5,46.167,0]},{t:150}],ix:2},a:{a:0,k:[14.5,21,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:14,ty:2,nm:"4.png",cl:"png",refId:"image_10",sr:1,ks:{o:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:135,s:[100],e:[0]},{t:150}],ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:30,s:[223,293,0],e:[393,86,0],to:[28.333,-34.5,0],ti:[-28.333,34.5,0]},{t:150}],ix:2},a:{a:0,k:[21,35,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:15,ty:2,nm:"5.png",cl:"png",refId:"image_11",sr:1,ks:{o:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:135,s:[100],e:[0]},{t:150}],ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:30,s:[211.5,296.5,0],e:[76,72,0],to:[-26.25,-25.75,0],ti:[22.583,37.417,0]},{t:150}],ix:2},a:{a:0,k:[33.5,27.5,0],ix:1},s:{a:0,k:[90,90,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:16,ty:2,nm:"\u53F3\u624B",refId:"image_12",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:[0],e:[-5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:30,s:[-5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:60,s:[0],e:[5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:90,s:[5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:120,s:[0],e:[-5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:150,s:[-5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:180,s:[0],e:[5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:210,s:[5],e:[0]},{t:240}],ix:10},p:{a:0,k:[257.383,384.131,0],ix:2},a:{a:0,k:[14,11.25,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0},{ddd:0,ind:17,ty:2,nm:"\u5DE6\u624B",refId:"image_13",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:[0],e:[5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:30,s:[5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:60,s:[0],e:[-5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:90,s:[-5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:120,s:[0],e:[5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:150,s:[5],e:[0]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:180,s:[0],e:[-5]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:210,s:[-5],e:[0]},{t:240}],ix:10},p:{a:0,k:[198,382,0],ix:2},a:{a:0,k:[79.5,10.5,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0}],markers=[];var startingData={v:v$1,fr,ip,op,w,h:h$1,nm,ddd,assets,layers,markers},iconEvaluatingStart="/orchestra-music-score/assets/icon-evaluatingStart.c1ce2873.png";let backtime=0;const initBehaviorId$2=""+new Date().valueOf(),evaluating=ref(!1),playStatus=ref("stop"),endloading=ref(!1),connentLoading=ref(!1),playUrl=ref(""),endResult=ref(null),browserInfo$3=browser(),formatPitch=B=>B?state$3.sett.hertz&&state$3.sett.hertz!==442?B/442*state$3.sett.hertz:B:-1;let starTime=0;const formatTimes=()=>{var Y,Q,Z,K,J,ie,ne,se,re,ae;const B=((Q=(Y=state$2.times)==null?void 0:Y[0])==null?void 0:Q.difftime)||0;let R=!1,F=!1,D=!1;const G=[];let U=state$2.times;if(unitTestData.isSelectMeasureMode){const le=state$2.times.findIndex(he=>he.NoteToGraphicalNoteObjectId==state$2.section[0].NoteToGraphicalNoteObjectId),ce=state$2.times.findIndex(he=>he.NoteToGraphicalNoteObjectId==state$2.section[1].NoteToGraphicalNoteObjectId);U=state$2.times.filter((he,de)=>de>=le&&de<=ce),starTime=U[0].sourceRelativeTime||U[0].relativeTime}let W=-1,q=-1;for(let le=0;le<U.length;le++){const ce=U[le],he=getNoteByMeasuresSlursStart(ce),de=state.speed/state$2.baseSpeed,me=B+(ce.sourceRelativeTime||ce.relativeTime)-starTime,fe=B+(ce.sourceRelaEndtime||ce.relaEndtime)-starTime,Se=(typeof he.voiceEntry.isStaccato=="function"?he.voiceEntry.isStaccato():he.voiceEntry.isStaccato)?.5:1;(he.formatLyricsEntries.contains("Play")||he.formatLyricsEntries.contains("Play..."))&&(R=!1),he.formatLyricsEntries.contains("Listen")&&(R=!0),he.formatLyricsEntries.contains("\u7EAF\u5F8B\u7ED3\u675F")&&(F=!1),he.formatLyricsEntries.contains("\u7EAF\u5F8B")&&(F=!0);const Ee=state$2.times[le+1];D&&(he.stave||!he.noteElement.isRestFlag||Ee&&!Ee.noteElement.isRestFlag)&&(D=!1),he.noteElement.isRestFlag&&!!he.stave&&!!Ee&&Ee.noteElement.isRestFlag&&(D=!0),he.measureOpenIndex!=q&&(W++,q=he.measureOpenIndex);const ve={timeStamp:me*1e3/de,duration:(fe*1e3/de-me*1e3/de)*Se,frequency:formatPitch((K=(Z=ce.noteElement)==null?void 0:Z.pitch)==null?void 0:K.frequency),nextFrequency:formatPitch((ie=(J=ce.noteElement)==null?void 0:J.pitch)==null?void 0:ie.nextFrequency),prevFrequency:formatPitch((se=(ne=ce.noteElement)==null?void 0:ne.pitch)==null?void 0:se.prevFrequency),measureIndex:W,measureRenderIndex:he.noteElement.sourceMeasure.measureListIndex,dontEvaluating:R||F||ce.skipMode,musicalNotesIndex:le,denominator:(re=he.noteElement)==null?void 0:re.Length.denominator,isOrnament:!!((ae=he==null?void 0:he.voiceEntry)!=null&&ae.ornamentContainer)};G.push(ve)}return G},connect=async()=>{var W,q,Y,Q;const B=useOriginSearch();connentLoading.value=!0;const R=sessionStorage.getItem("behaviorId")||B.behaviorId||initBehaviorId$2,F=state.speed/state$2.baseSpeed,D={musicXmlInfos:formatTimes(),subjectId:state$2.subjectId,detailId:(W=state$2.activeDetail)==null?void 0:W.id,examSongId:B.id,xmlUrl:(q=state$2==null?void 0:state$2.activeDetail)==null?void 0:q.xmlUrl,partIndex:state$2.partIndex,behaviorId:R,platform:"WEB",clientId:"STUDENT",hertz:state$3.sett.hertz,feature:"EVALUATION",practiceSource:B.unitId?"UNIT_TEST":"PRACTICE",reactionTimeMs:parseFloat(""+state$3.eva.reactionTimeMs)||0,speed:state.speed,heardLevel:state$3.eva.difficulty,beatLength:Math.round(state$2.times[0].fixtime*1e3/F)},G=useClientType();G==="student"?D.clientId="STUDENT":G==="teacher"?D.clientId="TEACHER":D.clientId="BACKEND",browserInfo$3.android&&(D.platform="ANDROID"),browserInfo$3.ios&&(D.platform="IOS");const U=await promisefiyPostMessage({api:"startEvaluating",content:D});if((Y=U==null?void 0:U.content)!=null&&Y.reson)throw Toast.fail({message:(Q=U==null?void 0:U.content)==null?void 0:Q.reson}),connentLoading.value=!1,U;connentLoading.value=!1},sendOffsetTime=B=>{postMessage$1({api:"proxyServiceMessage",content:{header:{commond:"audioPlayStart",type:"SOUND_COMPARE"},body:{offsetTime:B}}},()=>{backtime=0})},cancelTheEvaluation=()=>{const B=useOriginSearch();postMessage$1({api:"endEvaluating",content:{musicScoreId:B.id}}),playStatus.value="stop",pause(),resetPlayStatus(),clearIntervalTimeline(),setCurrentTime(0),Toast.clear()},stopPlay=()=>{console.log("\u8C03\u7528stopPlay"),connentLoading.value||cancelTheEvaluation(),startButtonShow.value=!0,connentLoading.value=!1,evaluating.value=!1},evaluatStopPlay=stopPlay,startPlay=()=>{console.log("\u8FDE\u63A5\u670D\u52A1\u6210\u529F,\u5F00\u59CB\u64AD\u653E",new Date().getTime()-state.clickTime),state$3.eva.mute?changeMode("background"):changeAllMode(),startButtonShow.value=!1,setPlayState()},setPlayer=async()=>{if(connentLoading.value)return;if(state.clickTime=new Date().getTime(),resetPlayStatus(),state$2.isPauseRecording){evaluating.value=!1,startPlay();return}state$2.evaluatings={};const B=Toast({duration:0,message:"\u670D\u52A1\u8FDE\u63A5\u4E2D...",type:"loading"});try{await connect(),startPlay(),setTimeout(()=>{console.log("\u5173\u95ED\u5F39\u7A97"),Toast.clear(),B.close()},100)}catch{state.evaluatingStatus=!1,Toast.clear()}},togglePlay=()=>{if(state$2.isPauseRecording){evaluating.value=!1,startPlay();return}evaluating.value?stopPlay():setPlayer()},timeupdate=()=>{var B;if(console.log("\u64AD\u653E\u4E8B\u4EF6\u88AB\u89E6\u53D1",playUrl.value,evaluating.value),playUrl.value){const R=new Date().getTime();console.log("\u7B2C\u4E00\u6B21\u64AD\u653E\u65F6\u95F4",R);let F=(B=state.audiosInstance)==null?void 0:B.audios[playUrl.value].currentTime;unitTestData.isSelectMeasureMode&&(F=F-state$2.section[0].time),console.log("\u5DF2\u64AD\u653E\u65F6\u957F: ",F*1e3),console.log("\u4E0D\u51CF\u6389\u5DF2\u64AD\u653E\u65F6\u95F4: ",R-backtime);const D=R-backtime-F*1e3;console.log("\u771F\u6B63\u64AD\u653E\u5EF6\u8FDF",D),setTimeout(()=>{sendOffsetTime(D)},220)}},playerStop=()=>{console.log("playerStop\u64AD\u653E\u5668\u505C\u6B62\u4E8B\u4EF6",endloading.value),!endloading.value&&(playStatus.value="stop",endloading.value=!0,startButtonShow.value=!0,resetPlayStatus(),clearIntervalTimeline(),setCurrentTime(0),Toast({duration:0,message:"\u8BC4\u5206\u4E2D...",type:"loading"}),postMessage$1({api:"endEvaluating",content:{musicScoreId:useOriginSearch().id}},B=>{console.log("\u8C03\u7528endEvaluating\u7ED3\u675F",B),endloading.value=!1,evaluating.value=!1}),endCapture())},endevent=B=>{var R;if(unitTestData.isSelectMeasureMode&&playStatus.value==="play"){playerStop(),canSubmit.value=!0;return}((R=B.target)==null?void 0:R.src)===playUrl.value&&playStatus.value==="play"&&(playerStop(),canSubmit.value=!0),state$2.isAppPlay&&(playerStop(),canSubmit.value=!0)},evaluatStart=()=>{if(playStatus.value="play",state$2.isPauseRecording){postMessage$1({api:"resumeRecording"},()=>{evaluating.value=!0,state$2.isPauseRecording=!1,setCaptureMode()});return}console.log("\u5F00\u59CB\u5F55\u97F3",new Date().getTime()),postMessage$1({api:"startRecording"},()=>{var B,R;console.log("\u5F00\u59CB\u5F55\u97F3\u56DE\u8C03\u65F6\u95F4",Date.now()),backtime=Date.now(),evaluating.value=!0,(B=state$2.activeDetail)!=null&&B.midiUrl&&(console.log("midiUrl",(R=state$2.activeDetail)==null?void 0:R.midiUrl),setTimeout(()=>{sendOffsetTime(0)},220))}),startCapture()},submitEvaluationScore=async B=>{var F;const R=useOriginSearch();if(R.unitId){if(!canSubmit.value){Toast("\u5B8C\u6574\u6F14\u594F\u7ED3\u675F\u624D\u7B97\u6D4B\u9A8C\u5206\u6570\uFF01");return}postMessage$1({api:"setCache",content:{key:"h5-orchestra-unit",value:JSON.stringify({musicId:R.id||"",unitId:R.unitId||"",questionId:R.questionId||"",score:canSubmit.value&&((F=endResult.value)==null?void 0:F.score)||0})}}),canSubmit.value=!1}},canSubmit=ref(!1),sendResult=B=>{var D,G;const{body:R,header:F}=(B==null?void 0:B.content)||{};if(console.log("\u8BC4\u6D4B\u8FD4\u56DE",R),R&&F){const U=(D=B==null?void 0:B.content)==null?void 0:D.body;if((B==null?void 0:B.content.header.commond)==="overall")Toast.clear(),endResult.value=U,evaluatingShow.value=!0,submitEvaluationScore();else if((B==null?void 0:B.content.header.commond)!=="checkDone"){if((B==null?void 0:B.content.header.commond)!=="checking"){const W=Y=>{for(;Y>=0;){const Q=state$2.times[Y];if(Q.stave)return Q;Y--}},q=(Y,Q,Z=!1)=>{const K=getBoundingBoxByverticalNote(Y);state$2.evaluatings={...state$2.evaluatings,[K.measureIndex]:{...K,...getLeveByScoreMeasure(Q.score),score:Q.score,dontTransition:Z}}};for(let Y=0;Y<state$2.times.length;Y++){let Q=state$2.times[Y];if(U.measureRenderIndex==Q.noteElement.sourceMeasure.measureListIndex){if(!Q.stave){const Z=W(Y);Z&&(Q=Z)}if(!Q.noteElement.tie)q(Q,U);else for(const Z of Q.noteElement.tie.notes){const K=getParentNote(Z);!K||q(K,U,Z.NoteToGraphicalNoteObjectId!==((G=Q.noteElement.tie.StartNote)==null?void 0:G.NoteToGraphicalNoteObjectId))}break}}}}}},onProgress=()=>{var B;state.currentTimeNum>=((B=state$2.times[state$2.times.length-1])==null?void 0:B.time)-2&&(canSubmit.value=!0)},cloudMetronome=B=>{startButtonShow.value=!0};var Evaluating=defineComponent({name:"ColexiuButtonEvaluating",setup(B,{expose:R}){return onMounted(async()=>{var F,D,G,U;console.log("\u8FDB\u5165\u8BC4\u6D4B\u6A21\u5757"),handleCheckEvaluatStatus(),unitTestData.isSelectMeasureMode||(state$2.section=[],state$2.sectionStatus=!1),changeAllMode(),playUrl.value=state.songs.background||state.songs.music,(D=(F=state.audiosInstance)==null?void 0:F.audios[playUrl.value])==null||D.addEventListener("play",timeupdate),(U=(G=state.audiosInstance)==null?void 0:G.audios[playUrl.value])==null||U.addEventListener("timeupdate",onProgress),event$1.on("ended",endevent),listenerMessage("sendResult",sendResult),listenerMessage("cloudTimeUpdae",onProgress),event$1.on("tickDestroy",cloudMetronome),event$1.on("tickEnd",evaluatStart)}),onBeforeUnmount(()=>{var F,D,G,U;(D=(F=state.audiosInstance)==null?void 0:F.audios[playUrl.value])==null||D.removeEventListener("play",timeupdate),(U=(G=state.audiosInstance)==null?void 0:G.audios[playUrl.value])==null||U.removeEventListener("timeupdate",onProgress),event$1.off("ended",endevent),event$1.off("tickDestroy",cloudMetronome),removeListenerMessage("sendResult",sendResult),removeListenerMessage("cloudTimeUpdae",onProgress),event$1.off("tickEnd",evaluatStart)}),R({setPlayer,startPlay,stopPlay,togglePlay,playerStop,evaluating,connentLoading,playStatus,cancelTheEvaluation}),()=>createVNode(Teleport,{to:"body",key:"StartEvaluating"},{default:()=>[createVNode(Evaluating$1,{data:endResult.value},null),createVNode(Transition,{name:"finish"},{default:()=>[startButtonShow.value&&createVNode("div",{style:{backgroundImage:`url(${iconEvaluatingStart})`,transform:state$2.isSpecialShapedScreen?`translateX(${state$2.notchHeight/4}px)`:""},class:[styles$k.evaluatStartBtn],onClick:()=>{setPlayer()}},null)]}),evaluating.value?createVNode("div",{class:styles$k.dialogueBox,key:"starting"},[createVNode("div",{class:styles$k.inRadio},[createTextVNode("\u6536\u97F3\u4E2D...")]),createVNode(Vue3Lottie,{class:styles$k.inRadioIcon,animationData:startingData},null)]):createVNode("div",{class:styles$k.dialogueBox,key:"start"},[createVNode("div",{class:styles$k.dialogue},[createVNode("div",null,[createTextVNode("\u6F14\u594F\u524D\u8BF7\u8C03\u6574\u597D\u4E50\u5668\uFF0C\u4FDD\u8BC1\u6700\u4F73\u6F14\u594F\u72B6\u6001\u3002"),createVNode("span",{class:styles$k.triangle},null)])]),createVNode(Vue3Lottie,{class:styles$k.dialogueIcon,animationData:startData},null)])]})}}),iconCancel="/orchestra-music-score/assets/cancel.4bba8aaa.svg",iconConfirm="/orchestra-music-score/assets/confirm.0f8024da.svg";const permissionPopup=reactive({active:"earphone",show:!1});var InfoIcon="/orchestra-music-score/assets/info.df4a2cca.svg",iconTv="data:image/png;base64,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",iconYijian="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAABThJREFUWEftmH9oVWUYx7/PuXebGjYUocQgWGE/IIIiKTKoRLNs4syZMjV/NOdm2qSa2gRXlOZCJKekA39srqWbWc4fKzJEDf9RsSQLpDL6o8CYmT+7u+d9vvGee852tXT3znNZgoeN97znfe97P+d7nvt9nvcIbrBDbjBe3ATO9BO7qfCVCnNf5UwY8zjIwzJsWc31PoGMKsw9FWVUrAYJgBBiGyKR6TJ82V/dBc8YMD8vf4h0DoLMSQBbZtpf+c8Q86KMWnW4O9AZAWbTzFz07nVEybsC0EBlEBAwJsAbUvBh2iGSEWD9tHQriRdsGNg/DzZQOemaQ31OJqxvTUfp0IHdpuLJAOr9mAW9MKDP64MHNyEyKlq0cXePAnPlszk6YOASUMsJOh0KJ6sNLyx+cMR5RKZsutAjwFZIsVL6BzdNGm6UdSAHJlS2UWGdglbvS1HKEHl5y3fpwNq5oYUEv1rYCPA4nn5vSQDOtRMHmIhZR3J0chw7YEmkZFtturChAXNPxUtUbPTiVmQXTHyKjFxxOgAyawpmqepyEH1EsDlatn1id2BDAebOeXmIOkdJ3tphYcAvEnHGyTPLj3SESE3+vS713Sh0msxtPdsjwGwqjLDPoAMAH+sA8+3LAf9Wg/LImJq13YX7r89dVwxzx9zFSlb9y2P9rJZQHPVOllsq+bUXwwDvNjBb5jyqqgdARpNTbweUXz9Y33BEPpBxa8t7DJjbp/elm/0NwbxOWD+j+bJ2GhxOOVnRB2TsmlM9Bmy2Fm+AcmoCqjOLBV6b5MaIODJGJmzYHgZst1yCm2cUGmpTIOTlaTfIGn45KbI+Mql+RliwaQOzoegOlaxvSe2fZGGJAidIvX4rgpOOm/OgzFh/rseAtX5yi5L5V8IlgPzKzCYPwDiCp2Ta5gNhwqatsKkrqqbqayQd8fg6a4TLFAfezypurggbNm1gT8d1hUNVpVbJ+/xY6Kx1rZWJHIvGLg6Rua2x/wWwB91UmO22mTcFXECgcwsExqLgEClrOWbn7a1itHceRriKfqqQuELaDZy4C3EVEjNwXBeiRNvJC9hRVSVuVzeZcuLgnvmzoTwrI6o3BYtydcF9BqaWyqGeHwvmZ83ZWR2MH2nglrhifNwArgHabauA7QfX4gq4LhAn6koWytTwgHeV76fqEyD2x2HKckavPu6pTYiufL5EqcOjZ3YXShU0+NJDH7HNddE/APQgk4A7oBPXf5pVKXeHAswvXr+F58+dJpHt17VxUFc4sfa3r7VjONTAd9pdVFp1PWgf1oO2qnb2jeuivHSRrAoHuHHqSEO0JqyLgHp1b5MDLZfJDb9f60sO1nGQa5AbM6Aq6Mahl+y5AS+6oCNe/3TJAknpXUVKMWw2Fi1TNRXe9oY4AeorWcXNX3alRibGUwJ214xtATmM5NLogKxqGd/cngmYVNZMCdjU5M9rV3zS+9Udv6ayaCbnpAT89Tr27dML41WR69rkZq1IISZwCb9vQV0DsTZh56kCVL9vEhte418Pxm2fQJuJoX52lZzv6mZTAj76MfcaxZMWQAkYv73qeRfjyZ+3a5pEGfJZWaUUhAPcyDNGkWsXDqC7gr3aXAtrjSYY99rE/4nZi+SeUICPNLKciqWG6NWh8tXgfcU8iCvOr/F02kiUli2S5lCAg7qg78PIxm9Ae79EBRy7kGgv3QbiR+DO2+2bFCDvT9Du7wcPBrEP+OP+xLzC78G3ACxenOiL2PBN70gphtNbMrOzbwJnVt8QXwZmGjRY/4YLiX8Az9RfWpuTLy8AAAAASUVORK5CYII=";const setting="_setting_kd176_1",sliderWrap="_sliderWrap_kd176_44",slider="_slider_kd176_44",noticebar="_noticebar_kd176_68",groupBox="_groupBox_kd176_74",btnsbar="_btnsbar_kd176_93",btn$2="_btn_kd176_93",iconBtn="_iconBtn_kd176_115",radioGroup="_radioGroup_kd176_120";var styles$j={setting,sliderWrap,slider,noticebar,groupBox,btnsbar,btn:btn$2,iconBtn,radioGroup};const tabs$1="_tabs_e40bs_1";var styles$i={tabs:tabs$1};const show=ref(!1);var HelperPopup=defineComponent({name:"HelperPopup",setup(){return()=>createVNode(Popup,{show:show.value,position:"right",round:!0,teleport:"body",onClickOverlay:()=>show.value=!1,style:{height:"100vh",width:"40vw",overflow:"hidden"}},{default:()=>[createVNode(Tabs,{class:styles$i.tabs},{default:()=>[createVNode(Tab,{title:"\u6295\u5C4F"},{default:()=>[createVNode("iframe",{src:location.origin+"/orchestra-student/#/guide"},null)]}),createVNode(Tab,{title:"\u5E2E\u52A9"},{default:()=>[createVNode("iframe",{src:location.origin+"/orchestra-student/#/help-center?source=music"},null)]})]})]})}}),raf$1={exports:{}},performanceNow={exports:{}};(function(){var B,R,F,D,G,U;typeof performance!="undefined"&&performance!==null&&performance.now?performanceNow.exports=function(){return performance.now()}:typeof process!="undefined"&&process!==null&&process.hrtime?(performanceNow.exports=function(){return(B()-G)/1e6},R=process.hrtime,B=function(){var W;return W=R(),W[0]*1e9+W[1]},D=B(),U=process.uptime()*1e9,G=D-U):Date.now?(performanceNow.exports=function(){return Date.now()-F},F=Date.now()):(performanceNow.exports=function(){return new Date().getTime()-F},F=new Date().getTime())}).call(commonjsGlobal$2);var now=performanceNow.exports,root=typeof window=="undefined"?commonjsGlobal$2:window,vendors=["moz","webkit"],suffix="AnimationFrame",raf=root["request"+suffix],caf=root["cancel"+suffix]||root["cancelRequest"+suffix];for(var i$1=0;!raf&&i$1<vendors.length;i$1++)raf=root[vendors[i$1]+"Request"+suffix],caf=root[vendors[i$1]+"Cancel"+suffix]||root[vendors[i$1]+"CancelRequest"+suffix];if(!raf||!caf){var last=0,id$1=0,queue=[],frameDuration=1e3/60;raf=function(B){if(queue.length===0){var R=now(),F=Math.max(0,frameDuration-(R-last));last=F+R,setTimeout(function(){var D=queue.slice(0);queue.length=0;for(var G=0;G<D.length;G++)if(!D[G].cancelled)try{D[G].callback(last)}catch(U){setTimeout(function(){throw U},0)}},Math.round(F))}return queue.push({handle:++id$1,callback:B,cancelled:!1}),id$1},caf=function(B){for(var R=0;R<queue.length;R++)queue[R].handle===B&&(queue[R].cancelled=!0)}}raf$1.exports=function(B){return raf.call(root,B)};raf$1.exports.cancel=function(){caf.apply(root,arguments)};raf$1.exports.polyfill=function(B){B||(B=root),B.requestAnimationFrame=raf,B.cancelAnimationFrame=caf};var requestAnimationFrame$1=raf$1.exports,rgbcolor=function(B){this.ok=!1,this.alpha=1,B.charAt(0)=="#"&&(B=B.substr(1,6)),B=B.replace(/ /g,""),B=B.toLowerCase();var R={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};B=R[B]||B;for(var F=[{re:/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,example:["rgba(123, 234, 45, 0.8)","rgba(255,234,245,1.0)"],process:function(Y){return[parseInt(Y[1]),parseInt(Y[2]),parseInt(Y[3]),parseFloat(Y[4])]}},{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(Y){return[parseInt(Y[1]),parseInt(Y[2]),parseInt(Y[3])]}},{re:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,example:["#00ff00","336699"],process:function(Y){return[parseInt(Y[1],16),parseInt(Y[2],16),parseInt(Y[3],16)]}},{re:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,example:["#fb0","f0f"],process:function(Y){return[parseInt(Y[1]+Y[1],16),parseInt(Y[2]+Y[2],16),parseInt(Y[3]+Y[3],16)]}}],D=0;D<F.length;D++){var G=F[D].re,U=F[D].process,W=G.exec(B);if(W){var q=U(W);this.r=q[0],this.g=q[1],this.b=q[2],q.length>3&&(this.alpha=q[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var Y=this.r.toString(16),Q=this.g.toString(16),Z=this.b.toString(16);return Y.length==1&&(Y="0"+Y),Q.length==1&&(Q="0"+Q),Z.length==1&&(Z="0"+Z),"#"+Y+Q+Z},this.getHelpXML=function(){for(var Y=new Array,Q=0;Q<F.length;Q++)for(var Z=F[Q].example,K=0;K<Z.length;K++)Y[Y.length]=Z[K];for(var J in R)Y[Y.length]=J;var ie=document.createElement("ul");ie.setAttribute("id","rgbcolor-examples");for(var Q=0;Q<Y.length;Q++)try{var ne=document.createElement("li"),se=new RGBColor(Y[Q]),re=document.createElement("div");re.style.cssText="margin: 3px; border: 1px solid black; background:"+se.toHex()+"; color:"+se.toHex(),re.appendChild(document.createTextNode("test"));var ae=document.createTextNode(" "+Y[Q]+" -> "+se.toRGB()+" -> "+se.toHex());ne.appendChild(re),ne.appendChild(ae),ie.appendChild(ne)}catch{}return ie}};/*! *****************************************************************************
- Copyright (c) Microsoft Corporation.
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted.
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
- ***************************************************************************** */var t=function(B,R){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(F,D){F.__proto__=D}||function(F,D){for(var G in D)Object.prototype.hasOwnProperty.call(D,G)&&(F[G]=D[G])})(B,R)};function r(B,R){if(typeof R!="function"&&R!==null)throw new TypeError("Class extends value "+String(R)+" is not a constructor or null");function F(){this.constructor=B}t(B,R),B.prototype=R===null?Object.create(R):(F.prototype=R.prototype,new F)}function e(B){var R="";Array.isArray(B)||(B=[B]);for(var F=0;F<B.length;F++){var D=B[F];if(D.type===_.CLOSE_PATH)R+="z";else if(D.type===_.HORIZ_LINE_TO)R+=(D.relative?"h":"H")+D.x;else if(D.type===_.VERT_LINE_TO)R+=(D.relative?"v":"V")+D.y;else if(D.type===_.MOVE_TO)R+=(D.relative?"m":"M")+D.x+" "+D.y;else if(D.type===_.LINE_TO)R+=(D.relative?"l":"L")+D.x+" "+D.y;else if(D.type===_.CURVE_TO)R+=(D.relative?"c":"C")+D.x1+" "+D.y1+" "+D.x2+" "+D.y2+" "+D.x+" "+D.y;else if(D.type===_.SMOOTH_CURVE_TO)R+=(D.relative?"s":"S")+D.x2+" "+D.y2+" "+D.x+" "+D.y;else if(D.type===_.QUAD_TO)R+=(D.relative?"q":"Q")+D.x1+" "+D.y1+" "+D.x+" "+D.y;else if(D.type===_.SMOOTH_QUAD_TO)R+=(D.relative?"t":"T")+D.x+" "+D.y;else{if(D.type!==_.ARC)throw new Error('Unexpected command type "'+D.type+'" at index '+F+".");R+=(D.relative?"a":"A")+D.rX+" "+D.rY+" "+D.xRot+" "+ +D.lArcFlag+" "+ +D.sweepFlag+" "+D.x+" "+D.y}}return R}function i(B,R){var F=B[0],D=B[1];return[F*Math.cos(R)-D*Math.sin(R),F*Math.sin(R)+D*Math.cos(R)]}function a(){for(var B=[],R=0;R<arguments.length;R++)B[R]=arguments[R];for(var F=0;F<B.length;F++)if(typeof B[F]!="number")throw new Error("assertNumbers arguments["+F+"] is not a number. "+typeof B[F]+" == typeof "+B[F]);return!0}var n=Math.PI;function o(B,R,F){B.lArcFlag=B.lArcFlag===0?0:1,B.sweepFlag=B.sweepFlag===0?0:1;var D=B.rX,G=B.rY,U=B.x,W=B.y;D=Math.abs(B.rX),G=Math.abs(B.rY);var q=i([(R-U)/2,(F-W)/2],-B.xRot/180*n),Y=q[0],Q=q[1],Z=Math.pow(Y,2)/Math.pow(D,2)+Math.pow(Q,2)/Math.pow(G,2);1<Z&&(D*=Math.sqrt(Z),G*=Math.sqrt(Z)),B.rX=D,B.rY=G;var K=Math.pow(D,2)*Math.pow(Q,2)+Math.pow(G,2)*Math.pow(Y,2),J=(B.lArcFlag!==B.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(D,2)*Math.pow(G,2)-K)/K)),ie=D*Q/G*J,ne=-G*Y/D*J,se=i([ie,ne],B.xRot/180*n);B.cX=se[0]+(R+U)/2,B.cY=se[1]+(F+W)/2,B.phi1=Math.atan2((Q-ne)/G,(Y-ie)/D),B.phi2=Math.atan2((-Q-ne)/G,(-Y-ie)/D),B.sweepFlag===0&&B.phi2>B.phi1&&(B.phi2-=2*n),B.sweepFlag===1&&B.phi2<B.phi1&&(B.phi2+=2*n),B.phi1*=180/n,B.phi2*=180/n}function s(B,R,F){a(B,R,F);var D=B*B+R*R-F*F;if(0>D)return[];if(D===0)return[[B*F/(B*B+R*R),R*F/(B*B+R*R)]];var G=Math.sqrt(D);return[[(B*F+R*G)/(B*B+R*R),(R*F-B*G)/(B*B+R*R)],[(B*F-R*G)/(B*B+R*R),(R*F+B*G)/(B*B+R*R)]]}var u,h=Math.PI/180;function c$1(B,R,F){return(1-F)*B+F*R}function y(B,R,F,D){return B+Math.cos(D/180*n)*R+Math.sin(D/180*n)*F}function p(B,R,F,D){var G=1e-6,U=R-B,W=F-R,q=3*U+3*(D-F)-6*W,Y=6*(W-U),Q=3*U;return Math.abs(q)<G?[-Q/Y]:function(Z,K,J){J===void 0&&(J=1e-6);var ie=Z*Z/4-K;if(ie<-J)return[];if(ie<=J)return[-Z/2];var ne=Math.sqrt(ie);return[-Z/2-ne,-Z/2+ne]}(Y/q,Q/q,G)}function m$1(B,R,F,D,G){var U=1-G;return B*(U*U*U)+R*(3*U*U*G)+F*(3*U*G*G)+D*(G*G*G)}(function(B){function R(){return G(function(q,Y,Q){return q.relative&&(q.x1!==void 0&&(q.x1+=Y),q.y1!==void 0&&(q.y1+=Q),q.x2!==void 0&&(q.x2+=Y),q.y2!==void 0&&(q.y2+=Q),q.x!==void 0&&(q.x+=Y),q.y!==void 0&&(q.y+=Q),q.relative=!1),q})}function F(){var q=NaN,Y=NaN,Q=NaN,Z=NaN;return G(function(K,J,ie){return K.type&_.SMOOTH_CURVE_TO&&(K.type=_.CURVE_TO,q=isNaN(q)?J:q,Y=isNaN(Y)?ie:Y,K.x1=K.relative?J-q:2*J-q,K.y1=K.relative?ie-Y:2*ie-Y),K.type&_.CURVE_TO?(q=K.relative?J+K.x2:K.x2,Y=K.relative?ie+K.y2:K.y2):(q=NaN,Y=NaN),K.type&_.SMOOTH_QUAD_TO&&(K.type=_.QUAD_TO,Q=isNaN(Q)?J:Q,Z=isNaN(Z)?ie:Z,K.x1=K.relative?J-Q:2*J-Q,K.y1=K.relative?ie-Z:2*ie-Z),K.type&_.QUAD_TO?(Q=K.relative?J+K.x1:K.x1,Z=K.relative?ie+K.y1:K.y1):(Q=NaN,Z=NaN),K})}function D(){var q=NaN,Y=NaN;return G(function(Q,Z,K){if(Q.type&_.SMOOTH_QUAD_TO&&(Q.type=_.QUAD_TO,q=isNaN(q)?Z:q,Y=isNaN(Y)?K:Y,Q.x1=Q.relative?Z-q:2*Z-q,Q.y1=Q.relative?K-Y:2*K-Y),Q.type&_.QUAD_TO){q=Q.relative?Z+Q.x1:Q.x1,Y=Q.relative?K+Q.y1:Q.y1;var J=Q.x1,ie=Q.y1;Q.type=_.CURVE_TO,Q.x1=((Q.relative?0:Z)+2*J)/3,Q.y1=((Q.relative?0:K)+2*ie)/3,Q.x2=(Q.x+2*J)/3,Q.y2=(Q.y+2*ie)/3}else q=NaN,Y=NaN;return Q})}function G(q){var Y=0,Q=0,Z=NaN,K=NaN;return function(J){if(isNaN(Z)&&!(J.type&_.MOVE_TO))throw new Error("path must start with moveto");var ie=q(J,Y,Q,Z,K);return J.type&_.CLOSE_PATH&&(Y=Z,Q=K),J.x!==void 0&&(Y=J.relative?Y+J.x:J.x),J.y!==void 0&&(Q=J.relative?Q+J.y:J.y),J.type&_.MOVE_TO&&(Z=Y,K=Q),ie}}function U(q,Y,Q,Z,K,J){return a(q,Y,Q,Z,K,J),G(function(ie,ne,se,re){var ae=ie.x1,le=ie.x2,ce=ie.relative&&!isNaN(re),he=ie.x!==void 0?ie.x:ce?0:ne,de=ie.y!==void 0?ie.y:ce?0:se;function me(Ie){return Ie*Ie}ie.type&_.HORIZ_LINE_TO&&Y!==0&&(ie.type=_.LINE_TO,ie.y=ie.relative?0:se),ie.type&_.VERT_LINE_TO&&Q!==0&&(ie.type=_.LINE_TO,ie.x=ie.relative?0:ne),ie.x!==void 0&&(ie.x=ie.x*q+de*Q+(ce?0:K)),ie.y!==void 0&&(ie.y=he*Y+ie.y*Z+(ce?0:J)),ie.x1!==void 0&&(ie.x1=ie.x1*q+ie.y1*Q+(ce?0:K)),ie.y1!==void 0&&(ie.y1=ae*Y+ie.y1*Z+(ce?0:J)),ie.x2!==void 0&&(ie.x2=ie.x2*q+ie.y2*Q+(ce?0:K)),ie.y2!==void 0&&(ie.y2=le*Y+ie.y2*Z+(ce?0:J));var fe=q*Z-Y*Q;if(ie.xRot!==void 0&&(q!==1||Y!==0||Q!==0||Z!==1))if(fe===0)delete ie.rX,delete ie.rY,delete ie.xRot,delete ie.lArcFlag,delete ie.sweepFlag,ie.type=_.LINE_TO;else{var ge=ie.xRot*Math.PI/180,Se=Math.sin(ge),Ee=Math.cos(ge),ve=1/me(ie.rX),xe=1/me(ie.rY),Pe=me(Ee)*ve+me(Se)*xe,ye=2*Se*Ee*(ve-xe),Te=me(Se)*ve+me(Ee)*xe,Le=Pe*Z*Z-ye*Y*Z+Te*Y*Y,we=ye*(q*Z+Y*Q)-2*(Pe*Q*Z+Te*q*Y),Ae=Pe*Q*Q-ye*q*Q+Te*q*q,Me=(Math.atan2(we,Le-Ae)+Math.PI)%Math.PI/2,ke=Math.sin(Me),Ne=Math.cos(Me);ie.rX=Math.abs(fe)/Math.sqrt(Le*me(Ne)+we*ke*Ne+Ae*me(ke)),ie.rY=Math.abs(fe)/Math.sqrt(Le*me(ke)-we*ke*Ne+Ae*me(Ne)),ie.xRot=180*Me/Math.PI}return ie.sweepFlag!==void 0&&0>fe&&(ie.sweepFlag=+!ie.sweepFlag),ie})}function W(){return function(q){var Y={};for(var Q in q)Y[Q]=q[Q];return Y}}B.ROUND=function(q){function Y(Q){return Math.round(Q*q)/q}return q===void 0&&(q=1e13),a(q),function(Q){return Q.x1!==void 0&&(Q.x1=Y(Q.x1)),Q.y1!==void 0&&(Q.y1=Y(Q.y1)),Q.x2!==void 0&&(Q.x2=Y(Q.x2)),Q.y2!==void 0&&(Q.y2=Y(Q.y2)),Q.x!==void 0&&(Q.x=Y(Q.x)),Q.y!==void 0&&(Q.y=Y(Q.y)),Q.rX!==void 0&&(Q.rX=Y(Q.rX)),Q.rY!==void 0&&(Q.rY=Y(Q.rY)),Q}},B.TO_ABS=R,B.TO_REL=function(){return G(function(q,Y,Q){return q.relative||(q.x1!==void 0&&(q.x1-=Y),q.y1!==void 0&&(q.y1-=Q),q.x2!==void 0&&(q.x2-=Y),q.y2!==void 0&&(q.y2-=Q),q.x!==void 0&&(q.x-=Y),q.y!==void 0&&(q.y-=Q),q.relative=!0),q})},B.NORMALIZE_HVZ=function(q,Y,Q){return q===void 0&&(q=!0),Y===void 0&&(Y=!0),Q===void 0&&(Q=!0),G(function(Z,K,J,ie,ne){if(isNaN(ie)&&!(Z.type&_.MOVE_TO))throw new Error("path must start with moveto");return Y&&Z.type&_.HORIZ_LINE_TO&&(Z.type=_.LINE_TO,Z.y=Z.relative?0:J),Q&&Z.type&_.VERT_LINE_TO&&(Z.type=_.LINE_TO,Z.x=Z.relative?0:K),q&&Z.type&_.CLOSE_PATH&&(Z.type=_.LINE_TO,Z.x=Z.relative?ie-K:ie,Z.y=Z.relative?ne-J:ne),Z.type&_.ARC&&(Z.rX===0||Z.rY===0)&&(Z.type=_.LINE_TO,delete Z.rX,delete Z.rY,delete Z.xRot,delete Z.lArcFlag,delete Z.sweepFlag),Z})},B.NORMALIZE_ST=F,B.QT_TO_C=D,B.INFO=G,B.SANITIZE=function(q){q===void 0&&(q=0),a(q);var Y=NaN,Q=NaN,Z=NaN,K=NaN;return G(function(J,ie,ne,se,re){var ae=Math.abs,le=!1,ce=0,he=0;if(J.type&_.SMOOTH_CURVE_TO&&(ce=isNaN(Y)?0:ie-Y,he=isNaN(Q)?0:ne-Q),J.type&(_.CURVE_TO|_.SMOOTH_CURVE_TO)?(Y=J.relative?ie+J.x2:J.x2,Q=J.relative?ne+J.y2:J.y2):(Y=NaN,Q=NaN),J.type&_.SMOOTH_QUAD_TO?(Z=isNaN(Z)?ie:2*ie-Z,K=isNaN(K)?ne:2*ne-K):J.type&_.QUAD_TO?(Z=J.relative?ie+J.x1:J.x1,K=J.relative?ne+J.y1:J.y2):(Z=NaN,K=NaN),J.type&_.LINE_COMMANDS||J.type&_.ARC&&(J.rX===0||J.rY===0||!J.lArcFlag)||J.type&_.CURVE_TO||J.type&_.SMOOTH_CURVE_TO||J.type&_.QUAD_TO||J.type&_.SMOOTH_QUAD_TO){var de=J.x===void 0?0:J.relative?J.x:J.x-ie,me=J.y===void 0?0:J.relative?J.y:J.y-ne;ce=isNaN(Z)?J.x1===void 0?ce:J.relative?J.x:J.x1-ie:Z-ie,he=isNaN(K)?J.y1===void 0?he:J.relative?J.y:J.y1-ne:K-ne;var fe=J.x2===void 0?0:J.relative?J.x:J.x2-ie,ge=J.y2===void 0?0:J.relative?J.y:J.y2-ne;ae(de)<=q&&ae(me)<=q&&ae(ce)<=q&&ae(he)<=q&&ae(fe)<=q&&ae(ge)<=q&&(le=!0)}return J.type&_.CLOSE_PATH&&ae(ie-se)<=q&&ae(ne-re)<=q&&(le=!0),le?[]:J})},B.MATRIX=U,B.ROTATE=function(q,Y,Q){Y===void 0&&(Y=0),Q===void 0&&(Q=0),a(q,Y,Q);var Z=Math.sin(q),K=Math.cos(q);return U(K,Z,-Z,K,Y-Y*K+Q*Z,Q-Y*Z-Q*K)},B.TRANSLATE=function(q,Y){return Y===void 0&&(Y=0),a(q,Y),U(1,0,0,1,q,Y)},B.SCALE=function(q,Y){return Y===void 0&&(Y=q),a(q,Y),U(q,0,0,Y,0,0)},B.SKEW_X=function(q){return a(q),U(1,0,Math.atan(q),1,0,0)},B.SKEW_Y=function(q){return a(q),U(1,Math.atan(q),0,1,0,0)},B.X_AXIS_SYMMETRY=function(q){return q===void 0&&(q=0),a(q),U(-1,0,0,1,q,0)},B.Y_AXIS_SYMMETRY=function(q){return q===void 0&&(q=0),a(q),U(1,0,0,-1,0,q)},B.A_TO_C=function(){return G(function(q,Y,Q){return _.ARC===q.type?function(Z,K,J){var ie,ne,se,re;Z.cX||o(Z,K,J);for(var ae=Math.min(Z.phi1,Z.phi2),le=Math.max(Z.phi1,Z.phi2)-ae,ce=Math.ceil(le/90),he=new Array(ce),de=K,me=J,fe=0;fe<ce;fe++){var ge=c$1(Z.phi1,Z.phi2,fe/ce),Se=c$1(Z.phi1,Z.phi2,(fe+1)/ce),Ee=Se-ge,ve=4/3*Math.tan(Ee*h/4),xe=[Math.cos(ge*h)-ve*Math.sin(ge*h),Math.sin(ge*h)+ve*Math.cos(ge*h)],Pe=xe[0],ye=xe[1],Te=[Math.cos(Se*h),Math.sin(Se*h)],Le=Te[0],we=Te[1],Ae=[Le+ve*Math.sin(Se*h),we-ve*Math.cos(Se*h)],Me=Ae[0],ke=Ae[1];he[fe]={relative:Z.relative,type:_.CURVE_TO};var Ne=function(Ie,Ge){var ze=i([Ie*Z.rX,Ge*Z.rY],Z.xRot),Ve=ze[0],Ye=ze[1];return[Z.cX+Ve,Z.cY+Ye]};ie=Ne(Pe,ye),he[fe].x1=ie[0],he[fe].y1=ie[1],ne=Ne(Me,ke),he[fe].x2=ne[0],he[fe].y2=ne[1],se=Ne(Le,we),he[fe].x=se[0],he[fe].y=se[1],Z.relative&&(he[fe].x1-=de,he[fe].y1-=me,he[fe].x2-=de,he[fe].y2-=me,he[fe].x-=de,he[fe].y-=me),de=(re=[he[fe].x,he[fe].y])[0],me=re[1]}return he}(q,q.relative?0:Y,q.relative?0:Q):q})},B.ANNOTATE_ARCS=function(){return G(function(q,Y,Q){return q.relative&&(Y=0,Q=0),_.ARC===q.type&&o(q,Y,Q),q})},B.CLONE=W,B.CALCULATE_BOUNDS=function(){var q=function(J){var ie={};for(var ne in J)ie[ne]=J[ne];return ie},Y=R(),Q=D(),Z=F(),K=G(function(J,ie,ne){var se=Z(Q(Y(q(J))));function re(ke){ke>K.maxX&&(K.maxX=ke),ke<K.minX&&(K.minX=ke)}function ae(ke){ke>K.maxY&&(K.maxY=ke),ke<K.minY&&(K.minY=ke)}if(se.type&_.DRAWING_COMMANDS&&(re(ie),ae(ne)),se.type&_.HORIZ_LINE_TO&&re(se.x),se.type&_.VERT_LINE_TO&&ae(se.y),se.type&_.LINE_TO&&(re(se.x),ae(se.y)),se.type&_.CURVE_TO){re(se.x),ae(se.y);for(var le=0,ce=p(ie,se.x1,se.x2,se.x);le<ce.length;le++)0<(Me=ce[le])&&1>Me&&re(m$1(ie,se.x1,se.x2,se.x,Me));for(var he=0,de=p(ne,se.y1,se.y2,se.y);he<de.length;he++)0<(Me=de[he])&&1>Me&&ae(m$1(ne,se.y1,se.y2,se.y,Me))}if(se.type&_.ARC){re(se.x),ae(se.y),o(se,ie,ne);for(var me=se.xRot/180*Math.PI,fe=Math.cos(me)*se.rX,ge=Math.sin(me)*se.rX,Se=-Math.sin(me)*se.rY,Ee=Math.cos(me)*se.rY,ve=se.phi1<se.phi2?[se.phi1,se.phi2]:-180>se.phi2?[se.phi2+360,se.phi1+360]:[se.phi2,se.phi1],xe=ve[0],Pe=ve[1],ye=function(ke){var Ne=ke[0],Ie=ke[1],Ge=180*Math.atan2(Ie,Ne)/Math.PI;return Ge<xe?Ge+360:Ge},Te=0,Le=s(Se,-fe,0).map(ye);Te<Le.length;Te++)(Me=Le[Te])>xe&&Me<Pe&&re(y(se.cX,fe,Se,Me));for(var we=0,Ae=s(Ee,-ge,0).map(ye);we<Ae.length;we++){var Me;(Me=Ae[we])>xe&&Me<Pe&&ae(y(se.cY,ge,Ee,Me))}}return J});return K.minX=1/0,K.maxX=-1/0,K.minY=1/0,K.maxY=-1/0,K}})(u||(u={}));var O,l=function(){function B(){}return B.prototype.round=function(R){return this.transform(u.ROUND(R))},B.prototype.toAbs=function(){return this.transform(u.TO_ABS())},B.prototype.toRel=function(){return this.transform(u.TO_REL())},B.prototype.normalizeHVZ=function(R,F,D){return this.transform(u.NORMALIZE_HVZ(R,F,D))},B.prototype.normalizeST=function(){return this.transform(u.NORMALIZE_ST())},B.prototype.qtToC=function(){return this.transform(u.QT_TO_C())},B.prototype.aToC=function(){return this.transform(u.A_TO_C())},B.prototype.sanitize=function(R){return this.transform(u.SANITIZE(R))},B.prototype.translate=function(R,F){return this.transform(u.TRANSLATE(R,F))},B.prototype.scale=function(R,F){return this.transform(u.SCALE(R,F))},B.prototype.rotate=function(R,F,D){return this.transform(u.ROTATE(R,F,D))},B.prototype.matrix=function(R,F,D,G,U,W){return this.transform(u.MATRIX(R,F,D,G,U,W))},B.prototype.skewX=function(R){return this.transform(u.SKEW_X(R))},B.prototype.skewY=function(R){return this.transform(u.SKEW_Y(R))},B.prototype.xSymmetry=function(R){return this.transform(u.X_AXIS_SYMMETRY(R))},B.prototype.ySymmetry=function(R){return this.transform(u.Y_AXIS_SYMMETRY(R))},B.prototype.annotateArcs=function(){return this.transform(u.ANNOTATE_ARCS())},B}(),T=function(B){return B===" "||B===" "||B==="\r"||B===`
- `},v=function(B){return"0".charCodeAt(0)<=B.charCodeAt(0)&&B.charCodeAt(0)<="9".charCodeAt(0)},f=function(B){function R(){var F=B.call(this)||this;return F.curNumber="",F.curCommandType=-1,F.curCommandRelative=!1,F.canParseCommandOrComma=!0,F.curNumberHasExp=!1,F.curNumberHasExpDigits=!1,F.curNumberHasDecimal=!1,F.curArgs=[],F}return r(R,B),R.prototype.finish=function(F){if(F===void 0&&(F=[]),this.parse(" ",F),this.curArgs.length!==0||!this.canParseCommandOrComma)throw new SyntaxError("Unterminated command at the path end.");return F},R.prototype.parse=function(F,D){var G=this;D===void 0&&(D=[]);for(var U=function(K){D.push(K),G.curArgs.length=0,G.canParseCommandOrComma=!0},W=0;W<F.length;W++){var q=F[W],Y=!(this.curCommandType!==_.ARC||this.curArgs.length!==3&&this.curArgs.length!==4||this.curNumber.length!==1||this.curNumber!=="0"&&this.curNumber!=="1"),Q=v(q)&&(this.curNumber==="0"&&q==="0"||Y);if(!v(q)||Q)if(q!=="e"&&q!=="E")if(q!=="-"&&q!=="+"||!this.curNumberHasExp||this.curNumberHasExpDigits)if(q!=="."||this.curNumberHasExp||this.curNumberHasDecimal||Y){if(this.curNumber&&this.curCommandType!==-1){var Z=Number(this.curNumber);if(isNaN(Z))throw new SyntaxError("Invalid number ending at "+W);if(this.curCommandType===_.ARC){if(this.curArgs.length===0||this.curArgs.length===1){if(0>Z)throw new SyntaxError('Expected positive number, got "'+Z+'" at index "'+W+'"')}else if((this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber!=="0"&&this.curNumber!=="1")throw new SyntaxError('Expected a flag, got "'+this.curNumber+'" at index "'+W+'"')}this.curArgs.push(Z),this.curArgs.length===N[this.curCommandType]&&(_.HORIZ_LINE_TO===this.curCommandType?U({type:_.HORIZ_LINE_TO,relative:this.curCommandRelative,x:Z}):_.VERT_LINE_TO===this.curCommandType?U({type:_.VERT_LINE_TO,relative:this.curCommandRelative,y:Z}):this.curCommandType===_.MOVE_TO||this.curCommandType===_.LINE_TO||this.curCommandType===_.SMOOTH_QUAD_TO?(U({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),_.MOVE_TO===this.curCommandType&&(this.curCommandType=_.LINE_TO)):this.curCommandType===_.CURVE_TO?U({type:_.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===_.SMOOTH_CURVE_TO?U({type:_.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===_.QUAD_TO?U({type:_.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===_.ARC&&U({type:_.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!T(q))if(q===","&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(q!=="+"&&q!=="-"&&q!==".")if(Q)this.curNumber=q,this.curNumberHasDecimal=!1;else{if(this.curArgs.length!==0)throw new SyntaxError("Unterminated command at index "+W+".");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character "'+q+'" at index '+W+". Command cannot follow comma");if(this.canParseCommandOrComma=!1,q!=="z"&&q!=="Z")if(q==="h"||q==="H")this.curCommandType=_.HORIZ_LINE_TO,this.curCommandRelative=q==="h";else if(q==="v"||q==="V")this.curCommandType=_.VERT_LINE_TO,this.curCommandRelative=q==="v";else if(q==="m"||q==="M")this.curCommandType=_.MOVE_TO,this.curCommandRelative=q==="m";else if(q==="l"||q==="L")this.curCommandType=_.LINE_TO,this.curCommandRelative=q==="l";else if(q==="c"||q==="C")this.curCommandType=_.CURVE_TO,this.curCommandRelative=q==="c";else if(q==="s"||q==="S")this.curCommandType=_.SMOOTH_CURVE_TO,this.curCommandRelative=q==="s";else if(q==="q"||q==="Q")this.curCommandType=_.QUAD_TO,this.curCommandRelative=q==="q";else if(q==="t"||q==="T")this.curCommandType=_.SMOOTH_QUAD_TO,this.curCommandRelative=q==="t";else{if(q!=="a"&&q!=="A")throw new SyntaxError('Unexpected character "'+q+'" at index '+W+".");this.curCommandType=_.ARC,this.curCommandRelative=q==="a"}else D.push({type:_.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=q,this.curNumberHasDecimal=q==="."}else this.curNumber+=q,this.curNumberHasDecimal=!0;else this.curNumber+=q;else this.curNumber+=q,this.curNumberHasExp=!0;else this.curNumber+=q,this.curNumberHasExpDigits=this.curNumberHasExp}return D},R.prototype.transform=function(F){return Object.create(this,{parse:{value:function(D,G){G===void 0&&(G=[]);for(var U=0,W=Object.getPrototypeOf(this).parse.call(this,D);U<W.length;U++){var q=W[U],Y=F(q);Array.isArray(Y)?G.push.apply(G,Y):G.push(Y)}return G}}})},R}(l),_=function(B){function R(F){var D=B.call(this)||this;return D.commands=typeof F=="string"?R.parse(F):F,D}return r(R,B),R.prototype.encode=function(){return R.encode(this.commands)},R.prototype.getBounds=function(){var F=u.CALCULATE_BOUNDS();return this.transform(F),F},R.prototype.transform=function(F){for(var D=[],G=0,U=this.commands;G<U.length;G++){var W=F(U[G]);Array.isArray(W)?D.push.apply(D,W):D.push(W)}return this.commands=D,this},R.encode=function(F){return e(F)},R.parse=function(F){var D=new f,G=[];return D.parse(F,G),D.finish(G),G},R.CLOSE_PATH=1,R.MOVE_TO=2,R.HORIZ_LINE_TO=4,R.VERT_LINE_TO=8,R.LINE_TO=16,R.CURVE_TO=32,R.SMOOTH_CURVE_TO=64,R.QUAD_TO=128,R.SMOOTH_QUAD_TO=256,R.ARC=512,R.LINE_COMMANDS=R.LINE_TO|R.HORIZ_LINE_TO|R.VERT_LINE_TO,R.DRAWING_COMMANDS=R.HORIZ_LINE_TO|R.VERT_LINE_TO|R.LINE_TO|R.CURVE_TO|R.SMOOTH_CURVE_TO|R.QUAD_TO|R.SMOOTH_QUAD_TO|R.ARC,R}(l),N=((O={})[_.MOVE_TO]=2,O[_.LINE_TO]=2,O[_.HORIZ_LINE_TO]=1,O[_.VERT_LINE_TO]=1,O[_.CLOSE_PATH]=0,O[_.QUAD_TO]=4,O[_.SMOOTH_QUAD_TO]=2,O[_.CURVE_TO]=6,O[_.SMOOTH_CURVE_TO]=4,O[_.ARC]=7,O);function _typeof(B){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof=function(R){return typeof R}:_typeof=function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R},_typeof(B)}function _classCallCheck(B,R){if(!(B instanceof R))throw new TypeError("Cannot call a class as a function")}var mulTable=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],shgTable=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function getImageDataFromCanvas(B,R,F,D,G){if(typeof B=="string"&&(B=document.getElementById(B)),!B||_typeof(B)!=="object"||!("getContext"in B))throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");var U=B.getContext("2d");try{return U.getImageData(R,F,D,G)}catch(W){throw new Error("unable to access image data: "+W)}}function processCanvasRGBA(B,R,F,D,G,U){if(!(isNaN(U)||U<1)){U|=0;var W=getImageDataFromCanvas(B,R,F,D,G);W=processImageDataRGBA(W,R,F,D,G,U),B.getContext("2d").putImageData(W,R,F)}}function processImageDataRGBA(B,R,F,D,G,U){for(var W=B.data,q=2*U+1,Y=D-1,Q=G-1,Z=U+1,K=Z*(Z+1)/2,J=new BlurStack,ie=J,ne,se=1;se<q;se++)ie=ie.next=new BlurStack,se===Z&&(ne=ie);ie.next=J;for(var re=null,ae=null,le=0,ce=0,he=mulTable[U],de=shgTable[U],me=0;me<G;me++){ie=J;for(var fe=W[ce],ge=W[ce+1],Se=W[ce+2],Ee=W[ce+3],ve=0;ve<Z;ve++)ie.r=fe,ie.g=ge,ie.b=Se,ie.a=Ee,ie=ie.next;for(var xe=0,Pe=0,ye=0,Te=0,Le=Z*fe,we=Z*ge,Ae=Z*Se,Me=Z*Ee,ke=K*fe,Ne=K*ge,Ie=K*Se,Ge=K*Ee,ze=1;ze<Z;ze++){var Ve=ce+((Y<ze?Y:ze)<<2),Ye=W[Ve],et=W[Ve+1],Je=W[Ve+2],st=W[Ve+3],pt=Z-ze;ke+=(ie.r=Ye)*pt,Ne+=(ie.g=et)*pt,Ie+=(ie.b=Je)*pt,Ge+=(ie.a=st)*pt,xe+=Ye,Pe+=et,ye+=Je,Te+=st,ie=ie.next}re=J,ae=ne;for(var dt=0;dt<D;dt++){var yt=Ge*he>>de;if(W[ce+3]=yt,yt!==0){var Fe=255/yt;W[ce]=(ke*he>>de)*Fe,W[ce+1]=(Ne*he>>de)*Fe,W[ce+2]=(Ie*he>>de)*Fe}else W[ce]=W[ce+1]=W[ce+2]=0;ke-=Le,Ne-=we,Ie-=Ae,Ge-=Me,Le-=re.r,we-=re.g,Ae-=re.b,Me-=re.a;var _e=dt+U+1;_e=le+(_e<Y?_e:Y)<<2,xe+=re.r=W[_e],Pe+=re.g=W[_e+1],ye+=re.b=W[_e+2],Te+=re.a=W[_e+3],ke+=xe,Ne+=Pe,Ie+=ye,Ge+=Te,re=re.next;var je=ae,Ze=je.r,De=je.g,Oe=je.b,Xe=je.a;Le+=Ze,we+=De,Ae+=Oe,Me+=Xe,xe-=Ze,Pe-=De,ye-=Oe,Te-=Xe,ae=ae.next,ce+=4}le+=D}for(var tt=0;tt<D;tt++){ce=tt<<2;var nt=W[ce],Ke=W[ce+1],ct=W[ce+2],ut=W[ce+3],ht=Z*nt,vt=Z*Ke,xt=Z*ct,gt=Z*ut,Pt=K*nt,kt=K*Ke,Yt=K*ct,fi=K*ut;ie=J;for(var Jt=0;Jt<Z;Jt++)ie.r=nt,ie.g=Ke,ie.b=ct,ie.a=ut,ie=ie.next;for(var ii=D,ui=0,Qt=0,Ai=0,Qi=0,In=1;In<=U;In++){ce=ii+tt<<2;var cn=Z-In;Pt+=(ie.r=nt=W[ce])*cn,kt+=(ie.g=Ke=W[ce+1])*cn,Yt+=(ie.b=ct=W[ce+2])*cn,fi+=(ie.a=ut=W[ce+3])*cn,Qi+=nt,ui+=Ke,Qt+=ct,Ai+=ut,ie=ie.next,In<Q&&(ii+=D)}ce=tt,re=J,ae=ne;for(var _t=0;_t<G;_t++){var oi=ce<<2;W[oi+3]=ut=fi*he>>de,ut>0?(ut=255/ut,W[oi]=(Pt*he>>de)*ut,W[oi+1]=(kt*he>>de)*ut,W[oi+2]=(Yt*he>>de)*ut):W[oi]=W[oi+1]=W[oi+2]=0,Pt-=ht,kt-=vt,Yt-=xt,fi-=gt,ht-=re.r,vt-=re.g,xt-=re.b,gt-=re.a,oi=tt+((oi=_t+Z)<Q?oi:Q)*D<<2,Pt+=Qi+=re.r=W[oi],kt+=ui+=re.g=W[oi+1],Yt+=Qt+=re.b=W[oi+2],fi+=Ai+=re.a=W[oi+3],re=re.next,ht+=nt=ae.r,vt+=Ke=ae.g,xt+=ct=ae.b,gt+=ut=ae.a,Qi-=nt,ui-=Ke,Qt-=ct,Ai-=ut,ae=ae.next,ce+=D}}return B}var BlurStack=function B(){_classCallCheck(this,B),this.r=0,this.g=0,this.b=0,this.a=0,this.next=null};function offscreen(){let{DOMParser:B}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const R={window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:B,createCanvas(F,D){return new OffscreenCanvas(F,D)},async createImage(F){const G=await(await fetch(F)).blob();return await createImageBitmap(G)}};return(typeof globalThis.DOMParser!="undefined"||typeof B=="undefined")&&Reflect.deleteProperty(R,"DOMParser"),R}function node(B){let{DOMParser:R,canvas:F,fetch:D}=B;return{window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:R,fetch:D,createCanvas:F.createCanvas,createImage:F.loadImage}}var index=Object.freeze({__proto__:null,offscreen,node});function compressSpaces(B){return B.replace(/(?!\u3000)\s+/gm," ")}function trimLeft(B){return B.replace(/^[\n \t]+/,"")}function trimRight(B){return B.replace(/[\n \t]+$/,"")}function toNumbers(B){const R=B.match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm);return R?R.map(parseFloat):[]}function toMatrixValue(B){const R=toNumbers(B);return[R[0]||0,R[1]||0,R[2]||0,R[3]||0,R[4]||0,R[5]||0]}const allUppercase=/^[A-Z-]+$/;function normalizeAttributeName(B){return allUppercase.test(B)?B.toLowerCase():B}function parseExternalUrl(B){const R=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(B);return R&&(R[2]||R[3]||R[4])||""}function normalizeColor(B){if(!B.startsWith("rgb"))return B;let R=3;return B.replace(/\d+(\.\d+)?/g,(D,G)=>R--&&G?String(Math.round(parseFloat(D))):D)}const attributeRegex=/(\[[^\]]+\])/g,idRegex=/(#[^\s+>~.[:]+)/g,classRegex=/(\.[^\s+>~.[:]+)/g,pseudoElementRegex=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,pseudoClassWithBracketsRegex=/(:[\w-]+\([^)]*\))/gi,pseudoClassRegex=/(:[^\s+>~.[:]+)/g,elementRegex=/([^\s+>~.[:]+)/g;function findSelectorMatch(B,R){const F=R.exec(B);return F?[B.replace(R," "),F.length]:[B,0]}function getSelectorSpecificity(B){const R=[0,0,0];let F=B.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),D=0;return[F,D]=findSelectorMatch(F,attributeRegex),R[1]+=D,[F,D]=findSelectorMatch(F,idRegex),R[0]+=D,[F,D]=findSelectorMatch(F,classRegex),R[1]+=D,[F,D]=findSelectorMatch(F,pseudoElementRegex),R[2]+=D,[F,D]=findSelectorMatch(F,pseudoClassWithBracketsRegex),R[1]+=D,[F,D]=findSelectorMatch(F,pseudoClassRegex),R[1]+=D,F=F.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[F,D]=findSelectorMatch(F,elementRegex),R[2]+=D,R.join("")}const PSEUDO_ZERO=1e-8;function vectorMagnitude(B){return Math.sqrt(Math.pow(B[0],2)+Math.pow(B[1],2))}function vectorsRatio(B,R){return(B[0]*R[0]+B[1]*R[1])/(vectorMagnitude(B)*vectorMagnitude(R))}function vectorsAngle(B,R){return(B[0]*R[1]<B[1]*R[0]?-1:1)*Math.acos(vectorsRatio(B,R))}function CB1(B){return B*B*B}function CB2(B){return 3*B*B*(1-B)}function CB3(B){return 3*B*(1-B)*(1-B)}function CB4(B){return(1-B)*(1-B)*(1-B)}function QB1(B){return B*B}function QB2(B){return 2*B*(1-B)}function QB3(B){return(1-B)*(1-B)}class Property{static empty(R){return new Property(R,"EMPTY","")}split(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:" ";const{document:F,name:D}=this;return compressSpaces(this.getString()).trim().split(R).map(G=>new Property(F,D,G))}hasValue(R){const F=this.value;return F!==null&&F!==""&&(R||F!==0)&&typeof F!="undefined"}isString(R){const{value:F}=this,D=typeof F=="string";return!D||!R?D:R.test(F)}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;const R=this.getString();switch(!0){case R.endsWith("px"):case/^[0-9]+$/.test(R):return!0;default:return!1}}setValue(R){return this.value=R,this}getValue(R){return typeof R=="undefined"||this.hasValue()?this.value:R}getNumber(R){if(!this.hasValue())return typeof R=="undefined"?0:parseFloat(R);const{value:F}=this;let D=parseFloat(F);return this.isString(/%$/)&&(D/=100),D}getString(R){return typeof R=="undefined"||this.hasValue()?typeof this.value=="undefined"?"":String(this.value):String(R)}getColor(R){let F=this.getString(R);return this.isNormalizedColor||(this.isNormalizedColor=!0,F=normalizeColor(F),this.value=F),F}getDpi(){return 96}getRem(){return this.document.rootEmSize}getEm(){return this.document.emSize}getUnits(){return this.getString().replace(/[0-9.-]/g,"")}getPixels(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!this.hasValue())return 0;const[D,G]=typeof R=="boolean"?[void 0,R]:[R],{viewPort:U}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(U.computeSize("x"),U.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(U.computeSize("x"),U.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*U.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*U.computeSize("y");case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return this.getNumber()*15;case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case(this.isString(/%$/)&&G):return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*U.computeSize(D);default:{const W=this.getNumber();return F&&W<1?W*U.computeSize(D):W}}}getMilliseconds(){return this.hasValue()?this.isString(/ms$/)?this.getNumber():this.getNumber()*1e3:0}getRadians(){if(!this.hasValue())return 0;switch(!0){case this.isString(/deg$/):return this.getNumber()*(Math.PI/180);case this.isString(/grad$/):return this.getNumber()*(Math.PI/200);case this.isString(/rad$/):return this.getNumber();default:return this.getNumber()*(Math.PI/180)}}getDefinition(){const R=this.getString(),F=/#([^)'"]+)/.exec(R),D=(F==null?void 0:F[1])||R;return this.document.definitions[D]}getFillStyleDefinition(R,F){let D=this.getDefinition();if(!D)return null;if(typeof D.createGradient=="function"&&"getBoundingBox"in R)return D.createGradient(this.document.ctx,R,F);if(typeof D.createPattern=="function"){if(D.getHrefAttribute().hasValue()){const G=D.getAttribute("patternTransform");D=D.getHrefAttribute().getDefinition(),D&&G.hasValue()&&D.getAttribute("patternTransform",!0).setValue(G.value)}if(D)return D.createPattern(this.document.ctx,R,F)}return null}getTextBaseline(){if(!this.hasValue())return null;const R=this.getString();return Property.textBaselineMapping[R]||null}addOpacity(R){let F=this.getColor();const D=F.length;let G=0;for(let U=0;U<D&&(F[U]===","&&G++,G!==3);U++);if(R.hasValue()&&this.isString()&&G!==3){const U=new rgbcolor(F);U.ok&&(U.alpha=R.getNumber(),F=U.toRGBA())}return new Property(this.document,this.name,F)}constructor(R,F,D){this.document=R,this.name=F,this.value=D,this.isNormalizedColor=!1}}Property.textBaselineMapping={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};class ViewPort{clear(){this.viewPorts=[]}setCurrent(R,F){this.viewPorts.push({width:R,height:F})}removeCurrent(){this.viewPorts.pop()}getRoot(){const[R]=this.viewPorts;return R||getDefault()}getCurrent(){const{viewPorts:R}=this,F=R[R.length-1];return F||getDefault()}get width(){return this.getCurrent().width}get height(){return this.getCurrent().height}computeSize(R){return typeof R=="number"?R:R==="x"?this.width:R==="y"?this.height:Math.sqrt(Math.pow(this.width,2)+Math.pow(this.height,2))/Math.sqrt(2)}constructor(){this.viewPorts=[]}}ViewPort.DEFAULT_VIEWPORT_WIDTH=800;ViewPort.DEFAULT_VIEWPORT_HEIGHT=600;function getDefault(){return{width:ViewPort.DEFAULT_VIEWPORT_WIDTH,height:ViewPort.DEFAULT_VIEWPORT_HEIGHT}}class Point{static parse(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const[D=F,G=F]=toNumbers(R);return new Point(D,G)}static parseScale(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const[D=F,G=D]=toNumbers(R);return new Point(D,G)}static parsePath(R){const F=toNumbers(R),D=F.length,G=[];for(let U=0;U<D;U+=2)G.push(new Point(F[U],F[U+1]));return G}angleTo(R){return Math.atan2(R.y-this.y,R.x-this.x)}applyTransform(R){const{x:F,y:D}=this,G=F*R[0]+D*R[2]+R[4],U=F*R[1]+D*R[3]+R[5];this.x=G,this.y=U}constructor(R,F){this.x=R,this.y=F}}class Mouse{isWorking(){return this.working}start(){if(this.working)return;const{screen:R,onClick:F,onMouseMove:D}=this,G=R.ctx.canvas;G.onclick=F,G.onmousemove=D,this.working=!0}stop(){if(!this.working)return;const R=this.screen.ctx.canvas;this.working=!1,R.onclick=null,R.onmousemove=null}hasEvents(){return this.working&&this.events.length>0}runEvents(){if(!this.working)return;const{screen:R,events:F,eventElements:D}=this,{style:G}=R.ctx.canvas;let U;G&&(G.cursor=""),F.forEach((W,q)=>{let{run:Y}=W;for(U=D[q];U;)Y(U),U=U.parent}),this.events=[],this.eventElements=[]}checkPath(R,F){if(!this.working||!F)return;const{events:D,eventElements:G}=this;D.forEach((U,W)=>{let{x:q,y:Y}=U;!G[W]&&F.isPointInPath&&F.isPointInPath(q,Y)&&(G[W]=R)})}checkBoundingBox(R,F){if(!this.working||!F)return;const{events:D,eventElements:G}=this;D.forEach((U,W)=>{let{x:q,y:Y}=U;!G[W]&&F.isPointInBox(q,Y)&&(G[W]=R)})}mapXY(R,F){const{window:D,ctx:G}=this.screen,U=new Point(R,F);let W=G.canvas;for(;W;)U.x-=W.offsetLeft,U.y-=W.offsetTop,W=W.offsetParent;return D!=null&&D.scrollX&&(U.x+=D.scrollX),D!=null&&D.scrollY&&(U.y+=D.scrollY),U}onClick(R){const{x:F,y:D}=this.mapXY(R.clientX,R.clientY);this.events.push({type:"onclick",x:F,y:D,run(G){G.onClick&&G.onClick()}})}onMouseMove(R){const{x:F,y:D}=this.mapXY(R.clientX,R.clientY);this.events.push({type:"onmousemove",x:F,y:D,run(G){G.onMouseMove&&G.onMouseMove()}})}constructor(R){this.screen=R,this.working=!1,this.events=[],this.eventElements=[],this.onClick=this.onClick.bind(this),this.onMouseMove=this.onMouseMove.bind(this)}}const defaultWindow=typeof window!="undefined"?window:null,defaultFetch$1=typeof fetch!="undefined"?fetch.bind(void 0):void 0;class Screen{wait(R){this.waits.push(R)}ready(){return this.readyPromise?this.readyPromise:Promise.resolve()}isReady(){if(this.isReadyLock)return!0;const R=this.waits.every(F=>F());return R&&(this.waits=[],this.resolveReady&&this.resolveReady()),this.isReadyLock=R,R}setDefaults(R){R.strokeStyle="rgba(0,0,0,0)",R.lineCap="butt",R.lineJoin="miter",R.miterLimit=4}setViewBox(R){let{document:F,ctx:D,aspectRatio:G,width:U,desiredWidth:W,height:q,desiredHeight:Y,minX:Q=0,minY:Z=0,refX:K,refY:J,clip:ie=!1,clipX:ne=0,clipY:se=0}=R;const re=compressSpaces(G).replace(/^defer\s/,""),[ae,le]=re.split(" "),ce=ae||"xMidYMid",he=le||"meet",de=U/W,me=q/Y,fe=Math.min(de,me),ge=Math.max(de,me);let Se=W,Ee=Y;he==="meet"&&(Se*=fe,Ee*=fe),he==="slice"&&(Se*=ge,Ee*=ge);const ve=new Property(F,"refX",K),xe=new Property(F,"refY",J),Pe=ve.hasValue()&&xe.hasValue();if(Pe&&D.translate(-fe*ve.getPixels("x"),-fe*xe.getPixels("y")),ie){const ye=fe*ne,Te=fe*se;D.beginPath(),D.moveTo(ye,Te),D.lineTo(U,Te),D.lineTo(U,q),D.lineTo(ye,q),D.closePath(),D.clip()}if(!Pe){const ye=he==="meet"&&fe===me,Te=he==="slice"&&ge===me,Le=he==="meet"&&fe===de,we=he==="slice"&&ge===de;ce.startsWith("xMid")&&(ye||Te)&&D.translate(U/2-Se/2,0),ce.endsWith("YMid")&&(Le||we)&&D.translate(0,q/2-Ee/2),ce.startsWith("xMax")&&(ye||Te)&&D.translate(U-Se,0),ce.endsWith("YMax")&&(Le||we)&&D.translate(0,q-Ee)}switch(!0){case ce==="none":D.scale(de,me);break;case he==="meet":D.scale(fe,fe);break;case he==="slice":D.scale(ge,ge);break}D.translate(-Q,-Z)}start(R){let{enableRedraw:F=!1,ignoreMouse:D=!1,ignoreAnimation:G=!1,ignoreDimensions:U=!1,ignoreClear:W=!1,forceRedraw:q,scaleWidth:Y,scaleHeight:Q,offsetX:Z,offsetY:K}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{mouse:J}=this,ie=1e3/Screen.FRAMERATE;if(this.frameDuration=ie,this.readyPromise=new Promise(le=>{this.resolveReady=le}),this.isReady()&&this.render(R,U,W,Y,Q,Z,K),!F)return;let ne=Date.now(),se=ne,re=0;const ae=()=>{ne=Date.now(),re=ne-se,re>=ie&&(se=ne-re%ie,this.shouldUpdate(G,q)&&(this.render(R,U,W,Y,Q,Z,K),J.runEvents())),this.intervalId=requestAnimationFrame$1(ae)};D||J.start(),this.intervalId=requestAnimationFrame$1(ae)}stop(){this.intervalId&&(requestAnimationFrame$1.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(R,F){if(!R){const{frameDuration:D}=this;if(this.animations.reduce((U,W)=>W.update(D)||U,!1))return!0}return!!(typeof F=="function"&&F()||!this.isReadyLock&&this.isReady()||this.mouse.hasEvents())}render(R,F,D,G,U,W,q){const{viewPort:Y,ctx:Q,isFirstRender:Z}=this,K=Q.canvas;Y.clear(),K.width&&K.height&&Y.setCurrent(K.width,K.height);const J=R.getStyle("width"),ie=R.getStyle("height");!F&&(Z||typeof G!="number"&&typeof U!="number")&&(J.hasValue()&&(K.width=J.getPixels("x"),K.style&&(K.style.width="".concat(K.width,"px"))),ie.hasValue()&&(K.height=ie.getPixels("y"),K.style&&(K.style.height="".concat(K.height,"px"))));let ne=K.clientWidth||K.width,se=K.clientHeight||K.height;if(F&&J.hasValue()&&ie.hasValue()&&(ne=J.getPixels("x"),se=ie.getPixels("y")),Y.setCurrent(ne,se),typeof W=="number"&&R.getAttribute("x",!0).setValue(W),typeof q=="number"&&R.getAttribute("y",!0).setValue(q),typeof G=="number"||typeof U=="number"){const re=toNumbers(R.getAttribute("viewBox").getString());let ae=0,le=0;if(typeof G=="number"){const he=R.getStyle("width");he.hasValue()?ae=he.getPixels("x")/G:re[2]&&!isNaN(re[2])&&(ae=re[2]/G)}if(typeof U=="number"){const he=R.getStyle("height");he.hasValue()?le=he.getPixels("y")/U:re[3]&&!isNaN(re[3])&&(le=re[3]/U)}ae||(ae=le),le||(le=ae),R.getAttribute("width",!0).setValue(G),R.getAttribute("height",!0).setValue(U);const ce=R.getStyle("transform",!0,!0);ce.setValue("".concat(ce.getString()," scale(").concat(1/ae,", ").concat(1/le,")"))}D||Q.clearRect(0,0,ne,se),R.render(Q),Z&&(this.isFirstRender=!1)}constructor(R,{fetch:F=defaultFetch$1,window:D=defaultWindow}={}){if(this.ctx=R,this.viewPort=new ViewPort,this.mouse=new Mouse(this),this.animations=[],this.waits=[],this.frameDuration=0,this.isReadyLock=!1,this.isFirstRender=!0,this.intervalId=null,this.window=D,!F)throw new Error("Can't find 'fetch' in 'globalThis', please provide it via options");this.fetch=F}}Screen.defaultWindow=defaultWindow;Screen.defaultFetch=defaultFetch$1;Screen.FRAMERATE=30;Screen.MAX_VIRTUAL_PIXELS=3e4;const{defaultFetch}=Screen,DefaultDOMParser=typeof DOMParser!="undefined"?DOMParser:void 0;class Parser$1{async parse(R){return R.startsWith("<")?this.parseFromString(R):this.load(R)}parseFromString(R){const F=new this.DOMParser;try{return this.checkDocument(F.parseFromString(R,"image/svg+xml"))}catch{return this.checkDocument(F.parseFromString(R,"text/xml"))}}checkDocument(R){const F=R.getElementsByTagName("parsererror")[0];if(F)throw new Error(F.textContent||"Unknown parse error");return R}async load(R){const D=await(await this.fetch(R)).text();return this.parseFromString(D)}constructor({fetch:R=defaultFetch,DOMParser:F=DefaultDOMParser}={}){if(!R)throw new Error("Can't find 'fetch' in 'globalThis', please provide it via options");if(!F)throw new Error("Can't find 'DOMParser' in 'globalThis', please provide it via options");this.fetch=R,this.DOMParser=F}}class Translate{apply(R){const{x:F,y:D}=this.point;R.translate(F||0,D||0)}unapply(R){const{x:F,y:D}=this.point;R.translate(-1*F||0,-1*D||0)}applyToPoint(R){const{x:F,y:D}=this.point;R.applyTransform([1,0,0,1,F||0,D||0])}constructor(R,F){this.type="translate",this.point=Point.parse(F)}}class Rotate{apply(R){const{cx:F,cy:D,originX:G,originY:U,angle:W}=this,q=F+G.getPixels("x"),Y=D+U.getPixels("y");R.translate(q,Y),R.rotate(W.getRadians()),R.translate(-q,-Y)}unapply(R){const{cx:F,cy:D,originX:G,originY:U,angle:W}=this,q=F+G.getPixels("x"),Y=D+U.getPixels("y");R.translate(q,Y),R.rotate(-1*W.getRadians()),R.translate(-q,-Y)}applyToPoint(R){const{cx:F,cy:D,angle:G}=this,U=G.getRadians();R.applyTransform([1,0,0,1,F||0,D||0]),R.applyTransform([Math.cos(U),Math.sin(U),-Math.sin(U),Math.cos(U),0,0]),R.applyTransform([1,0,0,1,-F||0,-D||0])}constructor(R,F,D){this.type="rotate";const G=toNumbers(F);this.angle=new Property(R,"angle",G[0]),this.originX=D[0],this.originY=D[1],this.cx=G[1]||0,this.cy=G[2]||0}}class Scale{apply(R){const{scale:{x:F,y:D},originX:G,originY:U}=this,W=G.getPixels("x"),q=U.getPixels("y");R.translate(W,q),R.scale(F,D||F),R.translate(-W,-q)}unapply(R){const{scale:{x:F,y:D},originX:G,originY:U}=this,W=G.getPixels("x"),q=U.getPixels("y");R.translate(W,q),R.scale(1/F,1/D||F),R.translate(-W,-q)}applyToPoint(R){const{x:F,y:D}=this.scale;R.applyTransform([F||0,0,0,D||0,0,0])}constructor(R,F,D){this.type="scale";const G=Point.parseScale(F);(G.x===0||G.y===0)&&(G.x=PSEUDO_ZERO,G.y=PSEUDO_ZERO),this.scale=G,this.originX=D[0],this.originY=D[1]}}class Matrix{apply(R){const{originX:F,originY:D,matrix:G}=this,U=F.getPixels("x"),W=D.getPixels("y");R.translate(U,W),R.transform(G[0],G[1],G[2],G[3],G[4],G[5]),R.translate(-U,-W)}unapply(R){const{originX:F,originY:D,matrix:G}=this,U=G[0],W=G[2],q=G[4],Y=G[1],Q=G[3],Z=G[5],K=0,J=0,ie=1,ne=1/(U*(Q*ie-Z*J)-W*(Y*ie-Z*K)+q*(Y*J-Q*K)),se=F.getPixels("x"),re=D.getPixels("y");R.translate(se,re),R.transform(ne*(Q*ie-Z*J),ne*(Z*K-Y*ie),ne*(q*J-W*ie),ne*(U*ie-q*K),ne*(W*Z-q*Q),ne*(q*Y-U*Z)),R.translate(-se,-re)}applyToPoint(R){R.applyTransform(this.matrix)}constructor(R,F,D){this.type="matrix",this.matrix=toMatrixValue(F),this.originX=D[0],this.originY=D[1]}}class Skew extends Matrix{constructor(R,F,D){super(R,F,D),this.type="skew",this.angle=new Property(R,"angle",F)}}class SkewX extends Skew{constructor(R,F,D){super(R,F,D),this.type="skewX",this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class SkewY extends Skew{constructor(R,F,D){super(R,F,D),this.type="skewY",this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}function parseTransforms(B){return compressSpaces(B).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}function parseTransform(B){const[R="",F=""]=B.split("(");return[R.trim(),F.trim().replace(")","")]}class Transform{static fromElement(R,F){const D=F.getStyle("transform",!1,!0);if(D.hasValue()){const[G,U=G]=F.getStyle("transform-origin",!1,!0).split();if(G&&U){const W=[G,U];return new Transform(R,D.getString(),W)}}return null}apply(R){this.transforms.forEach(F=>F.apply(R))}unapply(R){this.transforms.forEach(F=>F.unapply(R))}applyToPoint(R){this.transforms.forEach(F=>F.applyToPoint(R))}constructor(R,F,D){this.document=R,this.transforms=[],parseTransforms(F).forEach(U=>{if(U==="none")return;const[W,q]=parseTransform(U),Y=Transform.transformTypes[W];Y&&this.transforms.push(new Y(this.document,q,D))})}}Transform.transformTypes={translate:Translate,rotate:Rotate,scale:Scale,matrix:Matrix,skewX:SkewX,skewY:SkewY};class Element$2{getAttribute(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const D=this.attributes[R];if(!D&&F){const G=new Property(this.document,R,"");return this.attributes[R]=G,G}return D||Property.empty(this.document)}getHrefAttribute(){let R;for(const F in this.attributes)if(F==="href"||F.endsWith(":href")){R=this.attributes[F];break}return R||Property.empty(this.document)}getStyle(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const G=this.styles[R];if(G)return G;const U=this.getAttribute(R);if(U.hasValue())return this.styles[R]=U,U;if(!D){const{parent:W}=this;if(W){const q=W.getStyle(R);if(q.hasValue())return q}}if(F){const W=new Property(this.document,R,"");return this.styles[R]=W,W}return Property.empty(this.document)}render(R){if(!(this.getStyle("display").getString()==="none"||this.getStyle("visibility").getString()==="hidden")){if(R.save(),this.getStyle("mask").hasValue()){const F=this.getStyle("mask").getDefinition();F&&(this.applyEffects(R),F.apply(R,this))}else if(this.getStyle("filter").getValue("none")!=="none"){const F=this.getStyle("filter").getDefinition();F&&(this.applyEffects(R),F.apply(R,this))}else this.setContext(R),this.renderChildren(R),this.clearContext(R);R.restore()}}setContext(R){}applyEffects(R){const F=Transform.fromElement(this.document,this);F&&F.apply(R);const D=this.getStyle("clip-path",!1,!0);if(D.hasValue()){const G=D.getDefinition();G&&G.apply(R)}}clearContext(R){}renderChildren(R){this.children.forEach(F=>{F.render(R)})}addChild(R){const F=R instanceof Element$2?R:this.document.createElement(R);F.parent=this,Element$2.ignoreChildTypes.includes(F.type)||this.children.push(F)}matchesSelector(R){var F;const{node:D}=this;if(typeof D.matches=="function")return D.matches(R);const G=(F=D.getAttribute)===null||F===void 0?void 0:F.call(D,"class");return!G||G===""?!1:G.split(" ").some(U=>".".concat(U)===R)}addStylesFromStyleDefinition(){const{styles:R,stylesSpecificity:F}=this.document;let D;for(const G in R)if(!G.startsWith("@")&&this.matchesSelector(G)){const U=R[G],W=F[G];if(U)for(const q in U){let Y=this.stylesSpecificity[q];typeof Y=="undefined"&&(Y="000"),W&&W>=Y&&(D=U[q],D&&(this.styles[q]=D),this.stylesSpecificity[q]=W)}}}removeStyles(R,F){return F.reduce((G,U)=>{const W=R.getStyle(U);if(!W.hasValue())return G;const q=W.getString();return W.setValue(""),[...G,[U,q]]},[])}restoreStyles(R,F){F.forEach(D=>{let[G,U]=D;R.getStyle(G,!0).setValue(U)})}isFirstChild(){var R;return((R=this.parent)===null||R===void 0?void 0:R.children.indexOf(this))===0}constructor(R,F,D=!1){if(this.document=R,this.node=F,this.captureTextNodes=D,this.type="",this.attributes={},this.styles={},this.stylesSpecificity={},this.animationFrozen=!1,this.animationFrozenValue="",this.parent=null,this.children=[],!F||F.nodeType!==1)return;Array.from(F.attributes).forEach(W=>{const q=normalizeAttributeName(W.nodeName);this.attributes[q]=new Property(R,q,W.value)}),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()&&this.getAttribute("style").getString().split(";").map(q=>q.trim()).forEach(q=>{if(!q)return;const[Y,Q]=q.split(":").map(Z=>Z.trim());Y&&(this.styles[Y]=new Property(R,Y,Q))});const{definitions:G}=R,U=this.getAttribute("id");U.hasValue()&&(G[U.getString()]||(G[U.getString()]=this)),Array.from(F.childNodes).forEach(W=>{if(W.nodeType===1)this.addChild(W);else if(D&&(W.nodeType===3||W.nodeType===4)){const q=R.createTextNode(W);q.getText().length>0&&this.addChild(q)}})}}Element$2.ignoreChildTypes=["title"];class UnknownElement extends Element$2{constructor(R,F,D){super(R,F,D)}}function wrapFontFamily(B){const R=B.trim();return/^('|")/.test(R)?R:'"'.concat(R,'"')}function prepareFontFamily(B){return typeof process=="undefined"?B:B.trim().split(",").map(wrapFontFamily).join(",")}function prepareFontStyle(B){if(!B)return"";const R=B.trim().toLowerCase();switch(R){case"normal":case"italic":case"oblique":case"inherit":case"initial":case"unset":return R;default:return/^oblique\s+(-|)\d+deg$/.test(R)?R:""}}function prepareFontWeight(B){if(!B)return"";const R=B.trim().toLowerCase();switch(R){case"normal":case"bold":case"lighter":case"bolder":case"inherit":case"initial":case"unset":return R;default:return/^[\d.]+$/.test(R)?R:""}}class Font$1{static parse(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",F=arguments.length>1?arguments[1]:void 0,D="",G="",U="",W="",q="";const Y=compressSpaces(R).trim().split(" "),Q={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return Y.forEach(Z=>{switch(!0){case(!Q.fontStyle&&Font$1.styles.includes(Z)):Z!=="inherit"&&(D=Z),Q.fontStyle=!0;break;case(!Q.fontVariant&&Font$1.variants.includes(Z)):Z!=="inherit"&&(G=Z),Q.fontStyle=!0,Q.fontVariant=!0;break;case(!Q.fontWeight&&Font$1.weights.includes(Z)):Z!=="inherit"&&(U=Z),Q.fontStyle=!0,Q.fontVariant=!0,Q.fontWeight=!0;break;case!Q.fontSize:Z!=="inherit"&&(W=Z.split("/")[0]||""),Q.fontStyle=!0,Q.fontVariant=!0,Q.fontWeight=!0,Q.fontSize=!0;break;default:Z!=="inherit"&&(q+=Z)}}),new Font$1(D,G,U,W,q,F)}toString(){return[prepareFontStyle(this.fontStyle),this.fontVariant,prepareFontWeight(this.fontWeight),this.fontSize,prepareFontFamily(this.fontFamily)].join(" ").trim()}constructor(R,F,D,G,U,W){const q=W?typeof W=="string"?Font$1.parse(W):W:{};this.fontFamily=U||q.fontFamily,this.fontSize=G||q.fontSize,this.fontStyle=R||q.fontStyle,this.fontWeight=D||q.fontWeight,this.fontVariant=F||q.fontVariant}}Font$1.styles="normal|italic|oblique|inherit";Font$1.variants="normal|small-caps|inherit";Font$1.weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";class BoundingBox$2{get x(){return this.x1}get y(){return this.y1}get width(){return this.x2-this.x1}get height(){return this.y2-this.y1}addPoint(R,F){typeof R!="undefined"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=R,this.x2=R),R<this.x1&&(this.x1=R),R>this.x2&&(this.x2=R)),typeof F!="undefined"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=F,this.y2=F),F<this.y1&&(this.y1=F),F>this.y2&&(this.y2=F))}addX(R){this.addPoint(R,0)}addY(R){this.addPoint(0,R)}addBoundingBox(R){if(!R)return;const{x1:F,y1:D,x2:G,y2:U}=R;this.addPoint(F,D),this.addPoint(G,U)}sumCubic(R,F,D,G,U){return Math.pow(1-R,3)*F+3*Math.pow(1-R,2)*R*D+3*(1-R)*Math.pow(R,2)*G+Math.pow(R,3)*U}bezierCurveAdd(R,F,D,G,U){const W=6*F-12*D+6*G,q=-3*F+9*D-9*G+3*U,Y=3*D-3*F;if(q===0){if(W===0)return;const J=-Y/W;0<J&&J<1&&(R?this.addX(this.sumCubic(J,F,D,G,U)):this.addY(this.sumCubic(J,F,D,G,U)));return}const Q=Math.pow(W,2)-4*Y*q;if(Q<0)return;const Z=(-W+Math.sqrt(Q))/(2*q);0<Z&&Z<1&&(R?this.addX(this.sumCubic(Z,F,D,G,U)):this.addY(this.sumCubic(Z,F,D,G,U)));const K=(-W-Math.sqrt(Q))/(2*q);0<K&&K<1&&(R?this.addX(this.sumCubic(K,F,D,G,U)):this.addY(this.sumCubic(K,F,D,G,U)))}addBezierCurve(R,F,D,G,U,W,q,Y){this.addPoint(R,F),this.addPoint(q,Y),this.bezierCurveAdd(!0,R,D,U,q),this.bezierCurveAdd(!1,F,G,W,Y)}addQuadraticCurve(R,F,D,G,U,W){const q=R+.6666666666666666*(D-R),Y=F+2/3*(G-F),Q=q+1/3*(U-R),Z=Y+1/3*(W-F);this.addBezierCurve(R,F,q,Q,Y,Z,U,W)}isPointInBox(R,F){const{x1:D,y1:G,x2:U,y2:W}=this;return D<=R&&R<=U&&G<=F&&F<=W}constructor(R=Number.NaN,F=Number.NaN,D=Number.NaN,G=Number.NaN){this.x1=R,this.y1=F,this.x2=D,this.y2=G,this.addPoint(R,F),this.addPoint(D,G)}}class RenderedElement extends Element$2{calculateOpacity(){let R=1,F=this;for(;F;){const D=F.getStyle("opacity",!1,!0);D.hasValue(!0)&&(R*=D.getNumber()),F=F.parent}return R}setContext(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!F){const D=this.getStyle("fill"),G=this.getStyle("fill-opacity"),U=this.getStyle("stroke"),W=this.getStyle("stroke-opacity");if(D.isUrlDefinition()){const ie=D.getFillStyleDefinition(this,G);ie&&(R.fillStyle=ie)}else if(D.hasValue()){D.getString()==="currentColor"&&D.setValue(this.getStyle("color").getColor());const ie=D.getColor();ie!=="inherit"&&(R.fillStyle=ie==="none"?"rgba(0,0,0,0)":ie)}if(G.hasValue()){const ie=new Property(this.document,"fill",R.fillStyle).addOpacity(G).getColor();R.fillStyle=ie}if(U.isUrlDefinition()){const ie=U.getFillStyleDefinition(this,W);ie&&(R.strokeStyle=ie)}else if(U.hasValue()){U.getString()==="currentColor"&&U.setValue(this.getStyle("color").getColor());const ie=U.getString();ie!=="inherit"&&(R.strokeStyle=ie==="none"?"rgba(0,0,0,0)":ie)}if(W.hasValue()){const ie=new Property(this.document,"stroke",R.strokeStyle).addOpacity(W).getString();R.strokeStyle=ie}const q=this.getStyle("stroke-width");if(q.hasValue()){const ie=q.getPixels();R.lineWidth=ie||PSEUDO_ZERO}const Y=this.getStyle("stroke-linecap"),Q=this.getStyle("stroke-linejoin"),Z=this.getStyle("stroke-miterlimit"),K=this.getStyle("stroke-dasharray"),J=this.getStyle("stroke-dashoffset");if(Y.hasValue()&&(R.lineCap=Y.getString()),Q.hasValue()&&(R.lineJoin=Q.getString()),Z.hasValue()&&(R.miterLimit=Z.getNumber()),K.hasValue()&&K.getString()!=="none"){const ie=toNumbers(K.getString());typeof R.setLineDash!="undefined"?R.setLineDash(ie):typeof R.webkitLineDash!="undefined"?R.webkitLineDash=ie:typeof R.mozDash!="undefined"&&!(ie.length===1&&ie[0]===0)&&(R.mozDash=ie);const ne=J.getPixels();typeof R.lineDashOffset!="undefined"?R.lineDashOffset=ne:typeof R.webkitLineDashOffset!="undefined"?R.webkitLineDashOffset=ne:typeof R.mozDashOffset!="undefined"&&(R.mozDashOffset=ne)}}if(this.modifiedEmSizeStack=!1,typeof R.font!="undefined"){const D=this.getStyle("font"),G=this.getStyle("font-style"),U=this.getStyle("font-variant"),W=this.getStyle("font-weight"),q=this.getStyle("font-size"),Y=this.getStyle("font-family"),Q=new Font$1(G.getString(),U.getString(),W.getString(),q.hasValue()?"".concat(q.getPixels(!0),"px"):"",Y.getString(),Font$1.parse(D.getString(),R.font));G.setValue(Q.fontStyle),U.setValue(Q.fontVariant),W.setValue(Q.fontWeight),q.setValue(Q.fontSize),Y.setValue(Q.fontFamily),R.font=Q.toString(),q.isPixels()&&(this.document.emSize=q.getPixels(),this.modifiedEmSizeStack=!0)}F||(this.applyEffects(R),R.globalAlpha=this.calculateOpacity())}clearContext(R){super.clearContext(R),this.modifiedEmSizeStack&&this.document.popEmSize()}constructor(...R){super(...R),this.modifiedEmSizeStack=!1}}class TextElement extends RenderedElement{setContext(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;super.setContext(R,F);const D=this.getStyle("dominant-baseline").getTextBaseline()||this.getStyle("alignment-baseline").getTextBaseline();D&&(R.textBaseline=D)}initializeCoordinates(){this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY}getBoundingBox(R){if(this.type!=="text")return this.getTElementBoundingBox(R);this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(R);let F=null;return this.children.forEach((D,G)=>{const U=this.getChildBoundingBox(R,this,this,G);F?F.addBoundingBox(U):F=U}),F}getFontSize(){const{document:R,parent:F}=this,D=Font$1.parse(R.ctx.font).fontSize;return F.getStyle("font-size").getNumber(D)}getTElementBoundingBox(R){const F=this.getFontSize();return new BoundingBox$2(this.x,this.y-F,this.x+this.measureText(R),this.y)}getGlyph(R,F,D){const G=F[D];let U;if(R.isArabic){var W;const q=F.length,Y=F[D-1],Q=F[D+1];let Z="isolated";(D===0||Y===" ")&&D<q-1&&Q!==" "&&(Z="terminal"),D>0&&Y!==" "&&D<q-1&&Q!==" "&&(Z="medial"),D>0&&Y!==" "&&(D===q-1||Q===" ")&&(Z="initial"),U=((W=R.arabicGlyphs[G])===null||W===void 0?void 0:W[Z])||R.glyphs[G]}else U=R.glyphs[G];return U||(U=R.missingGlyph),U}getText(){return""}getTextFromNode(R){const F=R||this.node,D=Array.from(F.parentNode.childNodes),G=D.indexOf(F),U=D.length-1;let W=compressSpaces(F.textContent||"");return G===0&&(W=trimLeft(W)),G===U&&(W=trimRight(W)),W}renderChildren(R){if(this.type!=="text"){this.renderTElementChildren(R);return}this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(R),this.children.forEach((D,G)=>{this.renderChild(R,this,this,G)});const{mouse:F}=this.document.screen;F.isWorking()&&F.checkBoundingBox(this,this.getBoundingBox(R))}renderTElementChildren(R){const{document:F,parent:D}=this,G=this.getText(),U=D.getStyle("font-family").getDefinition();if(U){const{unitsPerEm:Y}=U.fontFace,Q=Font$1.parse(F.ctx.font),Z=D.getStyle("font-size").getNumber(Q.fontSize),K=D.getStyle("font-style").getString(Q.fontStyle),J=Z/Y,ie=U.isRTL?G.split("").reverse().join(""):G,ne=toNumbers(D.getAttribute("dx").getString()),se=ie.length;for(let re=0;re<se;re++){const ae=this.getGlyph(U,ie,re);R.translate(this.x,this.y),R.scale(J,-J);const le=R.lineWidth;R.lineWidth=R.lineWidth*Y/Z,K==="italic"&&R.transform(1,0,.4,1,0,0),ae.render(R),K==="italic"&&R.transform(1,0,-.4,1,0,0),R.lineWidth=le,R.scale(1/J,-1/J),R.translate(-this.x,-this.y),this.x+=Z*(ae.horizAdvX||U.horizAdvX)/Y,typeof ne[re]!="undefined"&&!isNaN(ne[re])&&(this.x+=ne[re])}return}const{x:W,y:q}=this;R.fillStyle&&R.fillText(G,W,q),R.strokeStyle&&R.strokeText(G,W,q)}applyAnchoring(){if(this.textChunkStart>=this.leafTexts.length)return;const R=this.leafTexts[this.textChunkStart],F=R.getStyle("text-anchor").getString("start"),D=!1;let G=0;F==="start"&&!D||F==="end"&&D?G=R.x-this.minX:F==="end"&&!D||F==="start"&&D?G=R.x-this.maxX:G=R.x-(this.minX+this.maxX)/2;for(let U=this.textChunkStart;U<this.leafTexts.length;U++)this.leafTexts[U].x+=G;this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.textChunkStart=this.leafTexts.length}adjustChildCoordinatesRecursive(R){this.children.forEach((F,D)=>{this.adjustChildCoordinatesRecursiveCore(R,this,this,D)}),this.applyAnchoring()}adjustChildCoordinatesRecursiveCore(R,F,D,G){const U=D.children[G];U.children.length>0?U.children.forEach((W,q)=>{F.adjustChildCoordinatesRecursiveCore(R,F,U,q)}):this.adjustChildCoordinates(R,F,D,G)}adjustChildCoordinates(R,F,D,G){const U=D.children[G];if(typeof U.measureText!="function")return U;R.save(),U.setContext(R,!0);const W=U.getAttribute("x"),q=U.getAttribute("y"),Y=U.getAttribute("dx"),Q=U.getAttribute("dy"),Z=U.getStyle("font-family").getDefinition(),K=Boolean(Z==null?void 0:Z.isRTL);G===0&&(W.hasValue()||W.setValue(U.getInheritedAttribute("x")),q.hasValue()||q.setValue(U.getInheritedAttribute("y")),Y.hasValue()||Y.setValue(U.getInheritedAttribute("dx")),Q.hasValue()||Q.setValue(U.getInheritedAttribute("dy")));const J=U.measureText(R);return K&&(F.x-=J),W.hasValue()?(F.applyAnchoring(),U.x=W.getPixels("x"),Y.hasValue()&&(U.x+=Y.getPixels("x"))):(Y.hasValue()&&(F.x+=Y.getPixels("x")),U.x=F.x),F.x=U.x,K||(F.x+=J),q.hasValue()?(U.y=q.getPixels("y"),Q.hasValue()&&(U.y+=Q.getPixels("y"))):(Q.hasValue()&&(F.y+=Q.getPixels("y")),U.y=F.y),F.y=U.y,F.leafTexts.push(U),F.minX=Math.min(F.minX,U.x,U.x+J),F.maxX=Math.max(F.maxX,U.x,U.x+J),U.clearContext(R),R.restore(),U}getChildBoundingBox(R,F,D,G){const U=D.children[G];if(typeof U.getBoundingBox!="function")return null;const W=U.getBoundingBox(R);return W&&U.children.forEach((q,Y)=>{const Q=F.getChildBoundingBox(R,F,U,Y);W.addBoundingBox(Q)}),W}renderChild(R,F,D,G){const U=D.children[G];U.render(R),U.children.forEach((W,q)=>{F.renderChild(R,F,U,q)})}measureText(R){const{measureCache:F}=this;if(~F)return F;const D=this.getText(),G=this.measureTargetText(R,D);return this.measureCache=G,G}measureTargetText(R,F){if(!F.length)return 0;const{parent:D}=this,G=D.getStyle("font-family").getDefinition();if(G){const W=this.getFontSize(),q=G.isRTL?F.split("").reverse().join(""):F,Y=toNumbers(D.getAttribute("dx").getString()),Q=q.length;let Z=0;for(let K=0;K<Q;K++)Z+=(this.getGlyph(G,q,K).horizAdvX||G.horizAdvX)*W/G.fontFace.unitsPerEm,typeof Y[K]!="undefined"&&!isNaN(Y[K])&&(Z+=Y[K]);return Z}if(!R.measureText)return F.length*10;R.save(),this.setContext(R,!0);const{width:U}=R.measureText(F);return this.clearContext(R),R.restore(),U}getInheritedAttribute(R){let F=this;for(;F instanceof TextElement&&F.isFirstChild()&&F.parent;){const D=F.parent.getAttribute(R);if(D.hasValue(!0))return D.getString("0");F=F.parent}return null}constructor(R,F,D){super(R,F,new.target===TextElement?!0:D),this.type="text",this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.measureCache=-1}}class TSpanElement extends TextElement{getText(){return this.text}constructor(R,F,D){super(R,F,new.target===TSpanElement?!0:D),this.type="tspan",this.text=this.children.length>0?"":this.getTextFromNode()}}class TextNode extends TSpanElement{constructor(...R){super(...R),this.type="textNode"}}class PathParser extends _{reset(){this.i=-1,this.command=null,this.previousCommand=null,this.start=new Point(0,0),this.control=new Point(0,0),this.current=new Point(0,0),this.points=[],this.angles=[]}isEnd(){const{i:R,commands:F}=this;return R>=F.length-1}next(){const R=this.commands[++this.i];return this.previousCommand=this.command,this.command=R,R}getPoint(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"x",F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"y";const D=new Point(this.command[R],this.command[F]);return this.makeAbsolute(D)}getAsControlPoint(R,F){const D=this.getPoint(R,F);return this.control=D,D}getAsCurrentPoint(R,F){const D=this.getPoint(R,F);return this.current=D,D}getReflectedControlPoint(){const R=this.previousCommand.type;if(R!==_.CURVE_TO&&R!==_.SMOOTH_CURVE_TO&&R!==_.QUAD_TO&&R!==_.SMOOTH_QUAD_TO)return this.current;const{current:{x:F,y:D},control:{x:G,y:U}}=this;return new Point(2*F-G,2*D-U)}makeAbsolute(R){if(this.command.relative){const{x:F,y:D}=this.current;R.x+=F,R.y+=D}return R}addMarker(R,F,D){const{points:G,angles:U}=this;D&&U.length>0&&!U[U.length-1]&&(U[U.length-1]=G[G.length-1].angleTo(D)),this.addMarkerAngle(R,F?F.angleTo(R):null)}addMarkerAngle(R,F){this.points.push(R),this.angles.push(F)}getMarkerPoints(){return this.points}getMarkerAngles(){const{angles:R}=this,F=R.length;for(let D=0;D<F;D++)if(!R[D]){for(let G=D+1;G<F;G++)if(R[G]){R[D]=R[G];break}}return R}constructor(R){super(R.replace(/([+\-.])\s+/gm,"$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g,"")),this.control=new Point(0,0),this.start=new Point(0,0),this.current=new Point(0,0),this.command=null,this.commands=this.commands,this.i=-1,this.previousCommand=null,this.points=[],this.angles=[]}}class PathElement extends RenderedElement{path(R){const{pathParser:F}=this,D=new BoundingBox$2;for(F.reset(),R&&R.beginPath();!F.isEnd();)switch(F.next().type){case PathParser.MOVE_TO:this.pathM(R,D);break;case PathParser.LINE_TO:this.pathL(R,D);break;case PathParser.HORIZ_LINE_TO:this.pathH(R,D);break;case PathParser.VERT_LINE_TO:this.pathV(R,D);break;case PathParser.CURVE_TO:this.pathC(R,D);break;case PathParser.SMOOTH_CURVE_TO:this.pathS(R,D);break;case PathParser.QUAD_TO:this.pathQ(R,D);break;case PathParser.SMOOTH_QUAD_TO:this.pathT(R,D);break;case PathParser.ARC:this.pathA(R,D);break;case PathParser.CLOSE_PATH:this.pathZ(R,D);break}return D}getBoundingBox(R){return this.path()}getMarkers(){const{pathParser:R}=this,F=R.getMarkerPoints(),D=R.getMarkerAngles();return F.map((U,W)=>[U,D[W]])}renderChildren(R){this.path(R),this.document.screen.mouse.checkPath(this,R);const F=this.getStyle("fill-rule");R.fillStyle!==""&&(F.getString("inherit")!=="inherit"?R.fill(F.getString()):R.fill()),R.strokeStyle!==""&&(this.getAttribute("vector-effect").getString()==="non-scaling-stroke"?(R.save(),R.setTransform(1,0,0,1,0,0),R.stroke(),R.restore()):R.stroke());const D=this.getMarkers();if(D){const G=D.length-1,U=this.getStyle("marker-start"),W=this.getStyle("marker-mid"),q=this.getStyle("marker-end");if(U.isUrlDefinition()){const Y=U.getDefinition(),[Q,Z]=D[0];Y.render(R,Q,Z)}if(W.isUrlDefinition()){const Y=W.getDefinition();for(let Q=1;Q<G;Q++){const[Z,K]=D[Q];Y.render(R,Z,K)}}if(q.isUrlDefinition()){const Y=q.getDefinition(),[Q,Z]=D[G];Y.render(R,Q,Z)}}}static pathM(R){const F=R.getAsCurrentPoint();return R.start=R.current,{point:F}}pathM(R,F){const{pathParser:D}=this,{point:G}=PathElement.pathM(D),{x:U,y:W}=G;D.addMarker(G),F.addPoint(U,W),R&&R.moveTo(U,W)}static pathL(R){const{current:F}=R,D=R.getAsCurrentPoint();return{current:F,point:D}}pathL(R,F){const{pathParser:D}=this,{current:G,point:U}=PathElement.pathL(D),{x:W,y:q}=U;D.addMarker(U,G),F.addPoint(W,q),R&&R.lineTo(W,q)}static pathH(R){const{current:F,command:D}=R,G=new Point((D.relative?F.x:0)+D.x,F.y);return R.current=G,{current:F,point:G}}pathH(R,F){const{pathParser:D}=this,{current:G,point:U}=PathElement.pathH(D),{x:W,y:q}=U;D.addMarker(U,G),F.addPoint(W,q),R&&R.lineTo(W,q)}static pathV(R){const{current:F,command:D}=R,G=new Point(F.x,(D.relative?F.y:0)+D.y);return R.current=G,{current:F,point:G}}pathV(R,F){const{pathParser:D}=this,{current:G,point:U}=PathElement.pathV(D),{x:W,y:q}=U;D.addMarker(U,G),F.addPoint(W,q),R&&R.lineTo(W,q)}static pathC(R){const{current:F}=R,D=R.getPoint("x1","y1"),G=R.getAsControlPoint("x2","y2"),U=R.getAsCurrentPoint();return{current:F,point:D,controlPoint:G,currentPoint:U}}pathC(R,F){const{pathParser:D}=this,{current:G,point:U,controlPoint:W,currentPoint:q}=PathElement.pathC(D);D.addMarker(q,W,U),F.addBezierCurve(G.x,G.y,U.x,U.y,W.x,W.y,q.x,q.y),R&&R.bezierCurveTo(U.x,U.y,W.x,W.y,q.x,q.y)}static pathS(R){const{current:F}=R,D=R.getReflectedControlPoint(),G=R.getAsControlPoint("x2","y2"),U=R.getAsCurrentPoint();return{current:F,point:D,controlPoint:G,currentPoint:U}}pathS(R,F){const{pathParser:D}=this,{current:G,point:U,controlPoint:W,currentPoint:q}=PathElement.pathS(D);D.addMarker(q,W,U),F.addBezierCurve(G.x,G.y,U.x,U.y,W.x,W.y,q.x,q.y),R&&R.bezierCurveTo(U.x,U.y,W.x,W.y,q.x,q.y)}static pathQ(R){const{current:F}=R,D=R.getAsControlPoint("x1","y1"),G=R.getAsCurrentPoint();return{current:F,controlPoint:D,currentPoint:G}}pathQ(R,F){const{pathParser:D}=this,{current:G,controlPoint:U,currentPoint:W}=PathElement.pathQ(D);D.addMarker(W,U,U),F.addQuadraticCurve(G.x,G.y,U.x,U.y,W.x,W.y),R&&R.quadraticCurveTo(U.x,U.y,W.x,W.y)}static pathT(R){const{current:F}=R,D=R.getReflectedControlPoint();R.control=D;const G=R.getAsCurrentPoint();return{current:F,controlPoint:D,currentPoint:G}}pathT(R,F){const{pathParser:D}=this,{current:G,controlPoint:U,currentPoint:W}=PathElement.pathT(D);D.addMarker(W,U,U),F.addQuadraticCurve(G.x,G.y,U.x,U.y,W.x,W.y),R&&R.quadraticCurveTo(U.x,U.y,W.x,W.y)}static pathA(R){const{current:F,command:D}=R;let{rX:G,rY:U,xRot:W,lArcFlag:q,sweepFlag:Y}=D;const Q=W*(Math.PI/180),Z=R.getAsCurrentPoint(),K=new Point(Math.cos(Q)*(F.x-Z.x)/2+Math.sin(Q)*(F.y-Z.y)/2,-Math.sin(Q)*(F.x-Z.x)/2+Math.cos(Q)*(F.y-Z.y)/2),J=Math.pow(K.x,2)/Math.pow(G,2)+Math.pow(K.y,2)/Math.pow(U,2);J>1&&(G*=Math.sqrt(J),U*=Math.sqrt(J));let ie=(q===Y?-1:1)*Math.sqrt((Math.pow(G,2)*Math.pow(U,2)-Math.pow(G,2)*Math.pow(K.y,2)-Math.pow(U,2)*Math.pow(K.x,2))/(Math.pow(G,2)*Math.pow(K.y,2)+Math.pow(U,2)*Math.pow(K.x,2)));isNaN(ie)&&(ie=0);const ne=new Point(ie*G*K.y/U,ie*-U*K.x/G),se=new Point((F.x+Z.x)/2+Math.cos(Q)*ne.x-Math.sin(Q)*ne.y,(F.y+Z.y)/2+Math.sin(Q)*ne.x+Math.cos(Q)*ne.y),re=vectorsAngle([1,0],[(K.x-ne.x)/G,(K.y-ne.y)/U]),ae=[(K.x-ne.x)/G,(K.y-ne.y)/U],le=[(-K.x-ne.x)/G,(-K.y-ne.y)/U];let ce=vectorsAngle(ae,le);return vectorsRatio(ae,le)<=-1&&(ce=Math.PI),vectorsRatio(ae,le)>=1&&(ce=0),{currentPoint:Z,rX:G,rY:U,sweepFlag:Y,xAxisRotation:Q,centp:se,a1:re,ad:ce}}pathA(R,F){const{pathParser:D}=this,{currentPoint:G,rX:U,rY:W,sweepFlag:q,xAxisRotation:Y,centp:Q,a1:Z,ad:K}=PathElement.pathA(D),J=1-q?1:-1,ie=Z+J*(K/2),ne=new Point(Q.x+U*Math.cos(ie),Q.y+W*Math.sin(ie));if(D.addMarkerAngle(ne,ie-J*Math.PI/2),D.addMarkerAngle(G,ie-J*Math.PI),F.addPoint(G.x,G.y),R&&!isNaN(Z)&&!isNaN(K)){const se=U>W?U:W,re=U>W?1:U/W,ae=U>W?W/U:1;R.translate(Q.x,Q.y),R.rotate(Y),R.scale(re,ae),R.arc(0,0,se,Z,Z+K,Boolean(1-q)),R.scale(1/re,1/ae),R.rotate(-Y),R.translate(-Q.x,-Q.y)}}static pathZ(R){R.current=R.start}pathZ(R,F){PathElement.pathZ(this.pathParser),R&&F.x1!==F.x2&&F.y1!==F.y2&&R.closePath()}constructor(R,F,D){super(R,F,D),this.type="path",this.pathParser=new PathParser(this.getAttribute("d").getString())}}class SVGElement$1 extends RenderedElement{setContext(R){var F;const{document:D}=this,{screen:G,window:U}=D,W=R.canvas;if(G.setDefaults(R),"style"in W&&typeof R.font!="undefined"&&U&&typeof U.getComputedStyle!="undefined"){R.font=U.getComputedStyle(W).getPropertyValue("font");const le=new Property(D,"fontSize",Font$1.parse(R.font).fontSize);le.hasValue()&&(D.rootEmSize=le.getPixels("y"),D.emSize=D.rootEmSize)}this.getAttribute("x").hasValue()||this.getAttribute("x",!0).setValue(0),this.getAttribute("y").hasValue()||this.getAttribute("y",!0).setValue(0);let{width:q,height:Y}=G.viewPort;this.getStyle("width").hasValue()||this.getStyle("width",!0).setValue("100%"),this.getStyle("height").hasValue()||this.getStyle("height",!0).setValue("100%"),this.getStyle("color").hasValue()||this.getStyle("color",!0).setValue("black");const Q=this.getAttribute("refX"),Z=this.getAttribute("refY"),K=this.getAttribute("viewBox"),J=K.hasValue()?toNumbers(K.getString()):null,ie=!this.root&&this.getStyle("overflow").getValue("hidden")!=="visible";let ne=0,se=0,re=0,ae=0;J&&(ne=J[0],se=J[1]),this.root||(q=this.getStyle("width").getPixels("x"),Y=this.getStyle("height").getPixels("y"),this.type==="marker"&&(re=ne,ae=se,ne=0,se=0)),G.viewPort.setCurrent(q,Y),this.node&&(!this.parent||((F=this.node.parentNode)===null||F===void 0?void 0:F.nodeName)==="foreignObject")&&this.getStyle("transform",!1,!0).hasValue()&&!this.getStyle("transform-origin",!1,!0).hasValue()&&this.getStyle("transform-origin",!0,!0).setValue("50% 50%"),super.setContext(R),R.translate(this.getAttribute("x").getPixels("x"),this.getAttribute("y").getPixels("y")),J&&(q=J[2],Y=J[3]),D.setViewBox({ctx:R,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:G.viewPort.width,desiredWidth:q,height:G.viewPort.height,desiredHeight:Y,minX:ne,minY:se,refX:Q.getValue(),refY:Z.getValue(),clip:ie,clipX:re,clipY:ae}),J&&(G.viewPort.removeCurrent(),G.viewPort.setCurrent(q,Y))}clearContext(R){super.clearContext(R),this.document.screen.viewPort.removeCurrent()}resize(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R,D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const G=this.getAttribute("width",!0),U=this.getAttribute("height",!0),W=this.getAttribute("viewBox"),q=this.getAttribute("style"),Y=G.getNumber(0),Q=U.getNumber(0);if(D)if(typeof D=="string")this.getAttribute("preserveAspectRatio",!0).setValue(D);else{const Z=this.getAttribute("preserveAspectRatio");Z.hasValue()&&Z.setValue(Z.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}if(G.setValue(R),U.setValue(F),W.hasValue()||W.setValue("0 0 ".concat(Y||R," ").concat(Q||F)),q.hasValue()){const Z=this.getStyle("width"),K=this.getStyle("height");Z.hasValue()&&Z.setValue("".concat(R,"px")),K.hasValue()&&K.setValue("".concat(F,"px"))}}constructor(...R){super(...R),this.type="svg",this.root=!1}}class RectElement extends PathElement{path(R){const F=this.getAttribute("x").getPixels("x"),D=this.getAttribute("y").getPixels("y"),G=this.getStyle("width",!1,!0).getPixels("x"),U=this.getStyle("height",!1,!0).getPixels("y"),W=this.getAttribute("rx"),q=this.getAttribute("ry");let Y=W.getPixels("x"),Q=q.getPixels("y");if(W.hasValue()&&!q.hasValue()&&(Q=Y),q.hasValue()&&!W.hasValue()&&(Y=Q),Y=Math.min(Y,G/2),Q=Math.min(Q,U/2),R){const Z=4*((Math.sqrt(2)-1)/3);R.beginPath(),U>0&&G>0&&(R.moveTo(F+Y,D),R.lineTo(F+G-Y,D),R.bezierCurveTo(F+G-Y+Z*Y,D,F+G,D+Q-Z*Q,F+G,D+Q),R.lineTo(F+G,D+U-Q),R.bezierCurveTo(F+G,D+U-Q+Z*Q,F+G-Y+Z*Y,D+U,F+G-Y,D+U),R.lineTo(F+Y,D+U),R.bezierCurveTo(F+Y-Z*Y,D+U,F,D+U-Q+Z*Q,F,D+U-Q),R.lineTo(F,D+Q),R.bezierCurveTo(F,D+Q-Z*Q,F+Y-Z*Y,D,F+Y,D),R.closePath())}return new BoundingBox$2(F,D,F+G,D+U)}getMarkers(){return null}constructor(...R){super(...R),this.type="rect"}}class CircleElement extends PathElement{path(R){const F=this.getAttribute("cx").getPixels("x"),D=this.getAttribute("cy").getPixels("y"),G=this.getAttribute("r").getPixels();return R&&G>0&&(R.beginPath(),R.arc(F,D,G,0,Math.PI*2,!1),R.closePath()),new BoundingBox$2(F-G,D-G,F+G,D+G)}getMarkers(){return null}constructor(...R){super(...R),this.type="circle"}}class EllipseElement extends PathElement{path(R){const F=4*((Math.sqrt(2)-1)/3),D=this.getAttribute("rx").getPixels("x"),G=this.getAttribute("ry").getPixels("y"),U=this.getAttribute("cx").getPixels("x"),W=this.getAttribute("cy").getPixels("y");return R&&D>0&&G>0&&(R.beginPath(),R.moveTo(U+D,W),R.bezierCurveTo(U+D,W+F*G,U+F*D,W+G,U,W+G),R.bezierCurveTo(U-F*D,W+G,U-D,W+F*G,U-D,W),R.bezierCurveTo(U-D,W-F*G,U-F*D,W-G,U,W-G),R.bezierCurveTo(U+F*D,W-G,U+D,W-F*G,U+D,W),R.closePath()),new BoundingBox$2(U-D,W-G,U+D,W+G)}getMarkers(){return null}constructor(...R){super(...R),this.type="ellipse"}}class LineElement extends PathElement{getPoints(){return[new Point(this.getAttribute("x1").getPixels("x"),this.getAttribute("y1").getPixels("y")),new Point(this.getAttribute("x2").getPixels("x"),this.getAttribute("y2").getPixels("y"))]}path(R){const[{x:F,y:D},{x:G,y:U}]=this.getPoints();return R&&(R.beginPath(),R.moveTo(F,D),R.lineTo(G,U)),new BoundingBox$2(F,D,G,U)}getMarkers(){const[R,F]=this.getPoints(),D=R.angleTo(F);return[[R,D],[F,D]]}constructor(...R){super(...R),this.type="line"}}class PolylineElement extends PathElement{path(R){const{points:F}=this,[{x:D,y:G}]=F,U=new BoundingBox$2(D,G);return R&&(R.beginPath(),R.moveTo(D,G)),F.forEach(W=>{let{x:q,y:Y}=W;U.addPoint(q,Y),R&&R.lineTo(q,Y)}),U}getMarkers(){const{points:R}=this,F=R.length-1,D=[];return R.forEach((G,U)=>{U!==F&&D.push([G,G.angleTo(R[U+1])])}),D.length>0&&D.push([R[R.length-1],D[D.length-1][1]]),D}constructor(R,F,D){super(R,F,D),this.type="polyline",this.points=[],this.points=Point.parsePath(this.getAttribute("points").getString())}}class PolygonElement extends PolylineElement{path(R){const F=super.path(R),[{x:D,y:G}]=this.points;return R&&(R.lineTo(D,G),R.closePath()),F}constructor(...R){super(...R),this.type="polygon"}}class PatternElement extends Element$2{createPattern(R,F,D){const G=this.getStyle("width").getPixels("x",!0),U=this.getStyle("height").getPixels("y",!0),W=new SVGElement$1(this.document,null);W.attributes.viewBox=new Property(this.document,"viewBox",this.getAttribute("viewBox").getValue()),W.attributes.width=new Property(this.document,"width","".concat(G,"px")),W.attributes.height=new Property(this.document,"height","".concat(U,"px")),W.attributes.transform=new Property(this.document,"transform",this.getAttribute("patternTransform").getValue()),W.children=this.children;const q=this.document.createCanvas(G,U),Y=q.getContext("2d"),Q=this.getAttribute("x"),Z=this.getAttribute("y");Q.hasValue()&&Z.hasValue()&&Y.translate(Q.getPixels("x",!0),Z.getPixels("y",!0)),D.hasValue()?this.styles["fill-opacity"]=D:Reflect.deleteProperty(this.styles,"fill-opacity");for(let J=-1;J<=1;J++)for(let ie=-1;ie<=1;ie++)Y.save(),W.attributes.x=new Property(this.document,"x",J*q.width),W.attributes.y=new Property(this.document,"y",ie*q.height),W.render(Y),Y.restore();return R.createPattern(q,"repeat")}constructor(...R){super(...R),this.type="pattern"}}class MarkerElement extends Element$2{render(R,F,D){if(!F)return;const{x:G,y:U}=F,W=this.getAttribute("orient").getString("auto"),q=this.getAttribute("markerUnits").getString("strokeWidth");R.translate(G,U),W==="auto"&&R.rotate(D),q==="strokeWidth"&&R.scale(R.lineWidth,R.lineWidth),R.save();const Y=new SVGElement$1(this.document);Y.type=this.type,Y.attributes.viewBox=new Property(this.document,"viewBox",this.getAttribute("viewBox").getValue()),Y.attributes.refX=new Property(this.document,"refX",this.getAttribute("refX").getValue()),Y.attributes.refY=new Property(this.document,"refY",this.getAttribute("refY").getValue()),Y.attributes.width=new Property(this.document,"width",this.getAttribute("markerWidth").getValue()),Y.attributes.height=new Property(this.document,"height",this.getAttribute("markerHeight").getValue()),Y.attributes.overflow=new Property(this.document,"overflow",this.getAttribute("overflow").getValue()),Y.attributes.fill=new Property(this.document,"fill",this.getAttribute("fill").getColor("black")),Y.attributes.stroke=new Property(this.document,"stroke",this.getAttribute("stroke").getValue("none")),Y.children=this.children,Y.render(R),R.restore(),q==="strokeWidth"&&R.scale(1/R.lineWidth,1/R.lineWidth),W==="auto"&&R.rotate(-D),R.translate(-G,-U)}constructor(...R){super(...R),this.type="marker"}}class DefsElement extends Element$2{render(){}constructor(...R){super(...R),this.type="defs"}}class GElement extends RenderedElement{getBoundingBox(R){const F=new BoundingBox$2;return this.children.forEach(D=>{F.addBoundingBox(D.getBoundingBox(R))}),F}constructor(...R){super(...R),this.type="g"}}class GradientElement extends Element$2{getGradientUnits(){return this.getAttribute("gradientUnits").getString("objectBoundingBox")}createGradient(R,F,D){let G=this;this.getHrefAttribute().hasValue()&&(G=this.getHrefAttribute().getDefinition(),this.inheritStopContainer(G));const{stops:U}=G,W=this.getGradient(R,F);if(!W)return this.addParentOpacity(D,U[U.length-1].color);if(U.forEach(q=>{W.addColorStop(q.offset,this.addParentOpacity(D,q.color))}),this.getAttribute("gradientTransform").hasValue()){const{document:q}=this,{MAX_VIRTUAL_PIXELS:Y}=Screen,{viewPort:Q}=q.screen,Z=Q.getRoot(),K=new RectElement(q);K.attributes.x=new Property(q,"x",-Y/3),K.attributes.y=new Property(q,"y",-Y/3),K.attributes.width=new Property(q,"width",Y),K.attributes.height=new Property(q,"height",Y);const J=new GElement(q);J.attributes.transform=new Property(q,"transform",this.getAttribute("gradientTransform").getValue()),J.children=[K];const ie=new SVGElement$1(q);ie.attributes.x=new Property(q,"x",0),ie.attributes.y=new Property(q,"y",0),ie.attributes.width=new Property(q,"width",Z.width),ie.attributes.height=new Property(q,"height",Z.height),ie.children=[J];const ne=q.createCanvas(Z.width,Z.height),se=ne.getContext("2d");return se.fillStyle=W,ie.render(se),se.createPattern(ne,"no-repeat")}return W}inheritStopContainer(R){this.attributesToInherit.forEach(F=>{!this.getAttribute(F).hasValue()&&R.getAttribute(F).hasValue()&&this.getAttribute(F,!0).setValue(R.getAttribute(F).getValue())})}addParentOpacity(R,F){return R.hasValue()?new Property(this.document,"color",F).addOpacity(R).getColor():F}constructor(R,F,D){super(R,F,D),this.attributesToInherit=["gradientUnits"],this.stops=[];const{stops:G,children:U}=this;U.forEach(W=>{W.type==="stop"&&G.push(W)})}}class LinearGradientElement extends GradientElement{getGradient(R,F){const D=this.getGradientUnits()==="objectBoundingBox",G=D?F.getBoundingBox(R):null;if(D&&!G)return null;!this.getAttribute("x1").hasValue()&&!this.getAttribute("y1").hasValue()&&!this.getAttribute("x2").hasValue()&&!this.getAttribute("y2").hasValue()&&(this.getAttribute("x1",!0).setValue(0),this.getAttribute("y1",!0).setValue(0),this.getAttribute("x2",!0).setValue(1),this.getAttribute("y2",!0).setValue(0));const U=D?G.x+G.width*this.getAttribute("x1").getNumber():this.getAttribute("x1").getPixels("x"),W=D?G.y+G.height*this.getAttribute("y1").getNumber():this.getAttribute("y1").getPixels("y"),q=D?G.x+G.width*this.getAttribute("x2").getNumber():this.getAttribute("x2").getPixels("x"),Y=D?G.y+G.height*this.getAttribute("y2").getNumber():this.getAttribute("y2").getPixels("y");return U===q&&W===Y?null:R.createLinearGradient(U,W,q,Y)}constructor(R,F,D){super(R,F,D),this.type="linearGradient",this.attributesToInherit.push("x1","y1","x2","y2")}}class RadialGradientElement extends GradientElement{getGradient(R,F){const D=this.getGradientUnits()==="objectBoundingBox",G=F.getBoundingBox(R);if(D&&!G)return null;this.getAttribute("cx").hasValue()||this.getAttribute("cx",!0).setValue("50%"),this.getAttribute("cy").hasValue()||this.getAttribute("cy",!0).setValue("50%"),this.getAttribute("r").hasValue()||this.getAttribute("r",!0).setValue("50%");const U=D?G.x+G.width*this.getAttribute("cx").getNumber():this.getAttribute("cx").getPixels("x"),W=D?G.y+G.height*this.getAttribute("cy").getNumber():this.getAttribute("cy").getPixels("y");let q=U,Y=W;this.getAttribute("fx").hasValue()&&(q=D?G.x+G.width*this.getAttribute("fx").getNumber():this.getAttribute("fx").getPixels("x")),this.getAttribute("fy").hasValue()&&(Y=D?G.y+G.height*this.getAttribute("fy").getNumber():this.getAttribute("fy").getPixels("y"));const Q=D?(G.width+G.height)/2*this.getAttribute("r").getNumber():this.getAttribute("r").getPixels(),Z=this.getAttribute("fr").getPixels();return R.createRadialGradient(q,Y,Z,U,W,Q)}constructor(R,F,D){super(R,F,D),this.type="radialGradient",this.attributesToInherit.push("cx","cy","r","fx","fy","fr")}}class StopElement extends Element$2{constructor(R,F,D){super(R,F,D),this.type="stop";const G=Math.max(0,Math.min(1,this.getAttribute("offset").getNumber())),U=this.getStyle("stop-opacity");let W=this.getStyle("stop-color",!0);W.getString()===""&&W.setValue("#000"),U.hasValue()&&(W=W.addOpacity(U)),this.offset=G,this.color=W.getColor()}}class AnimateElement extends Element$2{getProperty(){const R=this.getAttribute("attributeType").getString(),F=this.getAttribute("attributeName").getString();return R==="CSS"?this.parent.getStyle(F,!0):this.parent.getAttribute(F,!0)}calcValue(){const{initialUnits:R}=this,{progress:F,from:D,to:G}=this.getProgress();let U=D.getNumber()+(G.getNumber()-D.getNumber())*F;return R==="%"&&(U*=100),"".concat(U).concat(R)}update(R){const{parent:F}=this,D=this.getProperty();if(this.initialValue||(this.initialValue=D.getString(),this.initialUnits=D.getUnits()),this.duration>this.maxDuration){const U=this.getAttribute("fill").getString("remove");if(this.getAttribute("repeatCount").getString()==="indefinite"||this.getAttribute("repeatDur").getString()==="indefinite")this.duration=0;else if(U==="freeze"&&!this.frozen)this.frozen=!0,F&&D&&(F.animationFrozen=!0,F.animationFrozenValue=D.getString());else if(U==="remove"&&!this.removed)return this.removed=!0,F&&D&&D.setValue(F.animationFrozen?F.animationFrozenValue:this.initialValue),!0;return!1}this.duration+=R;let G=!1;if(this.begin<this.duration){let U=this.calcValue();const W=this.getAttribute("type");if(W.hasValue()){const q=W.getString();U="".concat(q,"(").concat(U,")")}D.setValue(U),G=!0}return G}getProgress(){const{document:R,values:F}=this;let D=(this.duration-this.begin)/(this.maxDuration-this.begin),G,U;if(F.hasValue()){const W=D*(F.getValue().length-1),q=Math.floor(W),Y=Math.ceil(W);let Q;Q=F.getValue()[q],G=new Property(R,"from",Q?parseFloat(Q):0),Q=F.getValue()[Y],U=new Property(R,"to",Q?parseFloat(Q):0),D=(W-q)/(Y-q)}else G=this.from,U=this.to;return{progress:D,from:G,to:U}}constructor(R,F,D){super(R,F,D),this.type="animate",this.duration=0,this.initialUnits="",this.removed=!1,this.frozen=!1,R.screen.animations.push(this),this.begin=this.getAttribute("begin").getMilliseconds(),this.maxDuration=this.begin+this.getAttribute("dur").getMilliseconds(),this.from=this.getAttribute("from"),this.to=this.getAttribute("to"),this.values=new Property(R,"values",null);const G=this.getAttribute("values");G.hasValue()&&this.values.setValue(G.getString().split(";"))}}class AnimateColorElement extends AnimateElement{calcValue(){const{progress:R,from:F,to:D}=this.getProgress(),G=new rgbcolor(F.getColor()),U=new rgbcolor(D.getColor());if(G.ok&&U.ok){const W=G.r+(U.r-G.r)*R,q=G.g+(U.g-G.g)*R,Y=G.b+(U.b-G.b)*R;return"rgb(".concat(Math.floor(W),", ").concat(Math.floor(q),", ").concat(Math.floor(Y),")")}return this.getAttribute("from").getColor()}constructor(...R){super(...R),this.type="animateColor"}}class AnimateTransformElement extends AnimateElement{calcValue(){const{progress:R,from:F,to:D}=this.getProgress(),G=toNumbers(F.getString()),U=toNumbers(D.getString());return G.map((q,Y)=>{const Q=U[Y];return q+(Q-q)*R}).join(" ")}constructor(...R){super(...R),this.type="animateTransform"}}class FontFaceElement extends Element$2{constructor(R,F,D){super(R,F,D),this.type="font-face",this.ascent=this.getAttribute("ascent").getNumber(),this.descent=this.getAttribute("descent").getNumber(),this.unitsPerEm=this.getAttribute("units-per-em").getNumber()}}class GlyphElement extends PathElement{constructor(R,F,D){super(R,F,D),this.type="glyph",this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber(),this.unicode=this.getAttribute("unicode").getString(),this.arabicForm=this.getAttribute("arabic-form").getString()}}class MissingGlyphElement extends GlyphElement{constructor(...R){super(...R),this.type="missing-glyph",this.horizAdvX=0}}class FontElement extends Element$2{render(){}constructor(R,F,D){super(R,F,D),this.type="font",this.isArabic=!1,this.glyphs={},this.arabicGlyphs={},this.isRTL=!1,this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber();const{definitions:G}=R,{children:U}=this;for(const W of U)if(W instanceof FontFaceElement){this.fontFace=W;const q=W.getStyle("font-family");q.hasValue()&&(G[q.getString()]=this)}else if(W instanceof MissingGlyphElement)this.missingGlyph=W;else if(W instanceof GlyphElement)if(W.arabicForm){this.isRTL=!0,this.isArabic=!0;const q=this.arabicGlyphs[W.unicode];typeof q=="undefined"?this.arabicGlyphs[W.unicode]={[W.arabicForm]:W}:q[W.arabicForm]=W}else this.glyphs[W.unicode]=W}}class TRefElement extends TextElement{getText(){const R=this.getHrefAttribute().getDefinition();if(R){const F=R.children[0];if(F)return F.getText()}return""}constructor(...R){super(...R),this.type="tref"}}class AElement extends TextElement{getText(){return this.text}renderChildren(R){if(this.hasText){super.renderChildren(R);const{document:F,x:D,y:G}=this,{mouse:U}=F.screen,W=new Property(F,"fontSize",Font$1.parse(F.ctx.font).fontSize);U.isWorking()&&U.checkBoundingBox(this,new BoundingBox$2(D,G-W.getPixels("y"),D+this.measureText(R),G))}else if(this.children.length>0){const F=new GElement(this.document);F.children=this.children,F.parent=this,F.render(R)}}onClick(){const{window:R}=this.document;R&&R.open(this.getHrefAttribute().getString())}onMouseMove(){const R=this.document.ctx;R.canvas.style.cursor="pointer"}constructor(R,F,D){super(R,F,D),this.type="a";const{childNodes:G}=F,U=G[0],W=G.length>0&&Array.from(G).every(q=>q.nodeType===3);this.hasText=W,this.text=W?this.getTextFromNode(U):""}}class TextPathElement extends TextElement{getText(){return this.text}path(R){const{dataArray:F}=this;R&&R.beginPath(),F.forEach(D=>{let{type:G,points:U}=D;switch(G){case PathParser.LINE_TO:R&&R.lineTo(U[0],U[1]);break;case PathParser.MOVE_TO:R&&R.moveTo(U[0],U[1]);break;case PathParser.CURVE_TO:R&&R.bezierCurveTo(U[0],U[1],U[2],U[3],U[4],U[5]);break;case PathParser.QUAD_TO:R&&R.quadraticCurveTo(U[0],U[1],U[2],U[3]);break;case PathParser.ARC:{const[W,q,Y,Q,Z,K,J,ie]=U,ne=Y>Q?Y:Q,se=Y>Q?1:Y/Q,re=Y>Q?Q/Y:1;R&&(R.translate(W,q),R.rotate(J),R.scale(se,re),R.arc(0,0,ne,Z,Z+K,Boolean(1-ie)),R.scale(1/se,1/re),R.rotate(-J),R.translate(-W,-q));break}case PathParser.CLOSE_PATH:R&&R.closePath();break}})}renderChildren(R){this.setTextData(R),R.save();const F=this.parent.getStyle("text-decoration").getString(),D=this.getFontSize(),{glyphInfo:G}=this,U=R.fillStyle;F==="underline"&&R.beginPath(),G.forEach((W,q)=>{const{p0:Y,p1:Q,rotation:Z,text:K}=W;R.save(),R.translate(Y.x,Y.y),R.rotate(Z),R.fillStyle&&R.fillText(K,0,0),R.strokeStyle&&R.strokeText(K,0,0),R.restore(),F==="underline"&&(q===0&&R.moveTo(Y.x,Y.y+D/8),R.lineTo(Q.x,Q.y+D/5))}),F==="underline"&&(R.lineWidth=D/20,R.strokeStyle=U,R.stroke(),R.closePath()),R.restore()}getLetterSpacingAt(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return this.letterSpacingCache[R]||0}findSegmentToFitChar(R,F,D,G,U,W,q,Y,Q){let Z=W,K=this.measureText(R,Y);Y===" "&&F==="justify"&&D<G&&(K+=(G-D)/U),Q>-1&&(Z+=this.getLetterSpacingAt(Q));const J=this.textHeight/20,ie=this.getEquidistantPointOnPath(Z,J,0),ne=this.getEquidistantPointOnPath(Z+K,J,0),se={p0:ie,p1:ne},re=ie&&ne?Math.atan2(ne.y-ie.y,ne.x-ie.x):0;if(q){const ae=Math.cos(Math.PI/2+re)*q,le=Math.cos(-re)*q;se.p0={...ie,x:ie.x+ae,y:ie.y+le},se.p1={...ne,x:ne.x+ae,y:ne.y+le}}return Z+=K,{offset:Z,segment:se,rotation:re}}measureText(R,F){const{measuresCache:D}=this,G=F||this.getText();if(D.has(G))return D.get(G);const U=this.measureTargetText(R,G);return D.set(G,U),U}setTextData(R){if(this.glyphInfo)return;const F=this.getText(),D=F.split(""),G=F.split(" ").length-1,U=this.parent.getAttribute("dx").split().map(ce=>ce.getPixels("x")),W=this.parent.getAttribute("dy").getPixels("y"),q=this.parent.getStyle("text-anchor").getString("start"),Y=this.getStyle("letter-spacing"),Q=this.parent.getStyle("letter-spacing");let Z=0;!Y.hasValue()||Y.getValue()==="inherit"?Z=Q.getPixels():Y.hasValue()&&Y.getValue()!=="initial"&&Y.getValue()!=="unset"&&(Z=Y.getPixels());const K=[],J=F.length;this.letterSpacingCache=K;for(let ce=0;ce<J;ce++)K.push(typeof U[ce]!="undefined"?U[ce]:Z);const ie=K.reduce((ce,he,de)=>de===0?0:ce+he||0,0),ne=this.measureText(R),se=Math.max(ne+ie,0);this.textWidth=ne,this.textHeight=this.getFontSize(),this.glyphInfo=[];const re=this.getPathLength(),ae=this.getStyle("startOffset").getNumber(0)*re;let le=0;(q==="middle"||q==="center")&&(le=-se/2),(q==="end"||q==="right")&&(le=-se),le+=ae,D.forEach((ce,he)=>{const{offset:de,segment:me,rotation:fe}=this.findSegmentToFitChar(R,q,se,re,G,le,W,ce,he);le=de,!(!me.p0||!me.p1)&&this.glyphInfo.push({text:D[he],p0:me.p0,p1:me.p1,rotation:fe})})}parsePathData(R){if(this.pathLength=-1,!R)return[];const F=[],{pathParser:D}=R;for(D.reset();!D.isEnd();){const{current:G}=D,U=G?G.x:0,W=G?G.y:0,q=D.next();let Y=q.type,Q=[];switch(q.type){case PathParser.MOVE_TO:this.pathM(D,Q);break;case PathParser.LINE_TO:Y=this.pathL(D,Q);break;case PathParser.HORIZ_LINE_TO:Y=this.pathH(D,Q);break;case PathParser.VERT_LINE_TO:Y=this.pathV(D,Q);break;case PathParser.CURVE_TO:this.pathC(D,Q);break;case PathParser.SMOOTH_CURVE_TO:Y=this.pathS(D,Q);break;case PathParser.QUAD_TO:this.pathQ(D,Q);break;case PathParser.SMOOTH_QUAD_TO:Y=this.pathT(D,Q);break;case PathParser.ARC:Q=this.pathA(D);break;case PathParser.CLOSE_PATH:PathElement.pathZ(D);break}q.type!==PathParser.CLOSE_PATH?F.push({type:Y,points:Q,start:{x:U,y:W},pathLength:this.calcLength(U,W,Y,Q)}):F.push({type:PathParser.CLOSE_PATH,points:[],pathLength:0})}return F}pathM(R,F){const{x:D,y:G}=PathElement.pathM(R).point;F.push(D,G)}pathL(R,F){const{x:D,y:G}=PathElement.pathL(R).point;return F.push(D,G),PathParser.LINE_TO}pathH(R,F){const{x:D,y:G}=PathElement.pathH(R).point;return F.push(D,G),PathParser.LINE_TO}pathV(R,F){const{x:D,y:G}=PathElement.pathV(R).point;return F.push(D,G),PathParser.LINE_TO}pathC(R,F){const{point:D,controlPoint:G,currentPoint:U}=PathElement.pathC(R);F.push(D.x,D.y,G.x,G.y,U.x,U.y)}pathS(R,F){const{point:D,controlPoint:G,currentPoint:U}=PathElement.pathS(R);return F.push(D.x,D.y,G.x,G.y,U.x,U.y),PathParser.CURVE_TO}pathQ(R,F){const{controlPoint:D,currentPoint:G}=PathElement.pathQ(R);F.push(D.x,D.y,G.x,G.y)}pathT(R,F){const{controlPoint:D,currentPoint:G}=PathElement.pathT(R);return F.push(D.x,D.y,G.x,G.y),PathParser.QUAD_TO}pathA(R){let{rX:F,rY:D,sweepFlag:G,xAxisRotation:U,centp:W,a1:q,ad:Y}=PathElement.pathA(R);return G===0&&Y>0&&(Y-=2*Math.PI),G===1&&Y<0&&(Y+=2*Math.PI),[W.x,W.y,F,D,q,Y,U,G]}calcLength(R,F,D,G){let U=0,W=null,q=null,Y=0;switch(D){case PathParser.LINE_TO:return this.getLineLength(R,F,G[0],G[1]);case PathParser.CURVE_TO:for(U=0,W=this.getPointOnCubicBezier(0,R,F,G[0],G[1],G[2],G[3],G[4],G[5]),Y=.01;Y<=1;Y+=.01)q=this.getPointOnCubicBezier(Y,R,F,G[0],G[1],G[2],G[3],G[4],G[5]),U+=this.getLineLength(W.x,W.y,q.x,q.y),W=q;return U;case PathParser.QUAD_TO:for(U=0,W=this.getPointOnQuadraticBezier(0,R,F,G[0],G[1],G[2],G[3]),Y=.01;Y<=1;Y+=.01)q=this.getPointOnQuadraticBezier(Y,R,F,G[0],G[1],G[2],G[3]),U+=this.getLineLength(W.x,W.y,q.x,q.y),W=q;return U;case PathParser.ARC:{U=0;const Q=G[4],Z=G[5],K=G[4]+Z;let J=Math.PI/180;if(Math.abs(Q-K)<J&&(J=Math.abs(Q-K)),W=this.getPointOnEllipticalArc(G[0],G[1],G[2],G[3],Q,0),Z<0)for(Y=Q-J;Y>K;Y-=J)q=this.getPointOnEllipticalArc(G[0],G[1],G[2],G[3],Y,0),U+=this.getLineLength(W.x,W.y,q.x,q.y),W=q;else for(Y=Q+J;Y<K;Y+=J)q=this.getPointOnEllipticalArc(G[0],G[1],G[2],G[3],Y,0),U+=this.getLineLength(W.x,W.y,q.x,q.y),W=q;return q=this.getPointOnEllipticalArc(G[0],G[1],G[2],G[3],K,0),U+=this.getLineLength(W.x,W.y,q.x,q.y),U}}return 0}getPointOnLine(R,F,D,G,U){let W=arguments.length>5&&arguments[5]!==void 0?arguments[5]:F,q=arguments.length>6&&arguments[6]!==void 0?arguments[6]:D;const Y=(U-D)/(G-F+PSEUDO_ZERO);let Q=Math.sqrt(R*R/(1+Y*Y));G<F&&(Q*=-1);let Z=Y*Q,K=null;if(G===F)K={x:W,y:q+Z};else if((q-D)/(W-F+PSEUDO_ZERO)===Y)K={x:W+Q,y:q+Z};else{let J=0,ie=0;const ne=this.getLineLength(F,D,G,U);if(ne<PSEUDO_ZERO)return null;let se=(W-F)*(G-F)+(q-D)*(U-D);se/=ne*ne,J=F+se*(G-F),ie=D+se*(U-D);const re=this.getLineLength(W,q,J,ie),ae=Math.sqrt(R*R-re*re);Q=Math.sqrt(ae*ae/(1+Y*Y)),G<F&&(Q*=-1),Z=Y*Q,K={x:J+Q,y:ie+Z}}return K}getPointOnPath(R){const F=this.getPathLength();let D=0,G=null;if(R<-5e-5||R-5e-5>F)return null;const{dataArray:U}=this;for(const W of U){if(W&&(W.pathLength<5e-5||D+W.pathLength+5e-5<R)){D+=W.pathLength;continue}const q=R-D;let Y=0;switch(W.type){case PathParser.LINE_TO:G=this.getPointOnLine(q,W.start.x,W.start.y,W.points[0],W.points[1],W.start.x,W.start.y);break;case PathParser.ARC:{const Q=W.points[4],Z=W.points[5],K=W.points[4]+Z;if(Y=Q+q/W.pathLength*Z,Z<0&&Y<K||Z>=0&&Y>K)break;G=this.getPointOnEllipticalArc(W.points[0],W.points[1],W.points[2],W.points[3],Y,W.points[6]);break}case PathParser.CURVE_TO:Y=q/W.pathLength,Y>1&&(Y=1),G=this.getPointOnCubicBezier(Y,W.start.x,W.start.y,W.points[0],W.points[1],W.points[2],W.points[3],W.points[4],W.points[5]);break;case PathParser.QUAD_TO:Y=q/W.pathLength,Y>1&&(Y=1),G=this.getPointOnQuadraticBezier(Y,W.start.x,W.start.y,W.points[0],W.points[1],W.points[2],W.points[3]);break}if(G)return G;break}return null}getLineLength(R,F,D,G){return Math.sqrt((D-R)*(D-R)+(G-F)*(G-F))}getPathLength(){return this.pathLength===-1&&(this.pathLength=this.dataArray.reduce((R,F)=>F.pathLength>0?R+F.pathLength:R,0)),this.pathLength}getPointOnCubicBezier(R,F,D,G,U,W,q,Y,Q){const Z=Y*CB1(R)+W*CB2(R)+G*CB3(R)+F*CB4(R),K=Q*CB1(R)+q*CB2(R)+U*CB3(R)+D*CB4(R);return{x:Z,y:K}}getPointOnQuadraticBezier(R,F,D,G,U,W,q){const Y=W*QB1(R)+G*QB2(R)+F*QB3(R),Q=q*QB1(R)+U*QB2(R)+D*QB3(R);return{x:Y,y:Q}}getPointOnEllipticalArc(R,F,D,G,U,W){const q=Math.cos(W),Y=Math.sin(W),Q={x:D*Math.cos(U),y:G*Math.sin(U)};return{x:R+(Q.x*q-Q.y*Y),y:F+(Q.x*Y+Q.y*q)}}buildEquidistantCache(R,F){const D=this.getPathLength(),G=F||.25,U=R||D/100;if(!this.equidistantCache||this.equidistantCache.step!==U||this.equidistantCache.precision!==G){this.equidistantCache={step:U,precision:G,points:[]};let W=0;for(let q=0;q<=D;q+=G){const Y=this.getPointOnPath(q),Q=this.getPointOnPath(q+G);!Y||!Q||(W+=this.getLineLength(Y.x,Y.y,Q.x,Q.y),W>=U&&(this.equidistantCache.points.push({x:Y.x,y:Y.y,distance:q}),W-=U))}}}getEquidistantPointOnPath(R,F,D){if(this.buildEquidistantCache(F,D),R<0||R-this.getPathLength()>5e-5)return null;const G=Math.round(R/this.getPathLength()*(this.equidistantCache.points.length-1));return this.equidistantCache.points[G]||null}constructor(R,F,D){super(R,F,D),this.type="textPath",this.textWidth=0,this.textHeight=0,this.pathLength=-1,this.glyphInfo=null,this.letterSpacingCache=[],this.measuresCache=new Map([["",0]]);const G=this.getHrefAttribute().getDefinition();this.text=this.getTextFromNode(),this.dataArray=this.parsePathData(G)}}const dataUriRegex=/^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;class ImageElement extends RenderedElement{async loadImage(R){try{const F=await this.document.createImage(R);this.image=F}catch(F){console.error('Error while loading image "'.concat(R,'":'),F)}this.loaded=!0}async loadSvg(R){const F=dataUriRegex.exec(R);if(F){const D=F[5];D&&(F[4]==="base64"?this.image=atob(D):this.image=decodeURIComponent(D))}else try{const G=await(await this.document.fetch(R)).text();this.image=G}catch(D){console.error('Error while loading image "'.concat(R,'":'),D)}this.loaded=!0}renderChildren(R){const{document:F,image:D,loaded:G}=this,U=this.getAttribute("x").getPixels("x"),W=this.getAttribute("y").getPixels("y"),q=this.getStyle("width").getPixels("x"),Y=this.getStyle("height").getPixels("y");if(!(!G||!D||!q||!Y)){if(R.save(),R.translate(U,W),typeof D=="string"){const Q=F.canvg.forkString(R,D,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0,offsetX:0,offsetY:0,scaleWidth:q,scaleHeight:Y}),{documentElement:Z}=Q.document;Z&&(Z.parent=this),Q.render()}else F.setViewBox({ctx:R,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:q,desiredWidth:D.width,height:Y,desiredHeight:D.height}),this.loaded&&(!("complete"in D)||D.complete)&&R.drawImage(D,0,0);R.restore()}}getBoundingBox(){const R=this.getAttribute("x").getPixels("x"),F=this.getAttribute("y").getPixels("y"),D=this.getStyle("width").getPixels("x"),G=this.getStyle("height").getPixels("y");return new BoundingBox$2(R,F,R+D,F+G)}constructor(R,F,D){super(R,F,D),this.type="image",this.loaded=!1;const G=this.getHrefAttribute().getString();if(!G)return;const U=G.endsWith(".svg")||/^\s*data:image\/svg\+xml/i.test(G);R.images.push(this),U?this.loadSvg(G):this.loadImage(G)}}class SymbolElement extends RenderedElement{render(R){}constructor(...R){super(...R),this.type="symbol"}}class SVGFontLoader{async load(R,F){try{const{document:D}=this,U=(await D.canvg.parser.load(F)).getElementsByTagName("font");Array.from(U).forEach(W=>{const q=D.createElement(W);D.definitions[R]=q})}catch(D){console.error('Error while loading font "'.concat(F,'":'),D)}this.loaded=!0}constructor(R){this.document=R,this.loaded=!1,R.fonts.push(this)}}class StyleElement extends Element$2{constructor(R,F,D){super(R,F,D),this.type="style",compressSpaces(Array.from(F.childNodes).map(W=>W.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,"")).split("}").forEach(W=>{const q=W.trim();if(!q)return;const Y=q.split("{"),Q=Y[0].split(","),Z=Y[1].split(";");Q.forEach(K=>{const J=K.trim();if(!J)return;const ie=R.styles[J]||{};if(Z.forEach(ne=>{const se=ne.indexOf(":"),re=ne.substr(0,se).trim(),ae=ne.substr(se+1,ne.length-se).trim();re&&ae&&(ie[re]=new Property(R,re,ae))}),R.styles[J]=ie,R.stylesSpecificity[J]=getSelectorSpecificity(J),J==="@font-face"){const ne=ie["font-family"].getString().replace(/"|'/g,"");ie.src.getString().split(",").forEach(re=>{if(re.indexOf('format("svg")')>0){const ae=parseExternalUrl(re);ae&&new SVGFontLoader(R).load(ne,ae)}})}})})}}StyleElement.parseExternalUrl=parseExternalUrl;class UseElement extends RenderedElement{setContext(R){super.setContext(R);const F=this.getAttribute("x"),D=this.getAttribute("y");F.hasValue()&&R.translate(F.getPixels("x"),0),D.hasValue()&&R.translate(0,D.getPixels("y"))}path(R){const{element:F}=this;F&&F.path(R)}renderChildren(R){const{document:F,element:D}=this;if(D){let G=D;if(D.type==="symbol"&&(G=new SVGElement$1(F),G.attributes.viewBox=new Property(F,"viewBox",D.getAttribute("viewBox").getString()),G.attributes.preserveAspectRatio=new Property(F,"preserveAspectRatio",D.getAttribute("preserveAspectRatio").getString()),G.attributes.overflow=new Property(F,"overflow",D.getAttribute("overflow").getString()),G.children=D.children,D.styles.opacity=new Property(F,"opacity",this.calculateOpacity())),G.type==="svg"){const W=this.getStyle("width",!1,!0),q=this.getStyle("height",!1,!0);W.hasValue()&&(G.attributes.width=new Property(F,"width",W.getString())),q.hasValue()&&(G.attributes.height=new Property(F,"height",q.getString()))}const U=G.parent;G.parent=this,G.render(R),G.parent=U}}getBoundingBox(R){const{element:F}=this;return F?F.getBoundingBox(R):null}elementTransform(){const{document:R,element:F}=this;return F?Transform.fromElement(R,F):null}get element(){return this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition()),this.cachedElement}constructor(...R){super(...R),this.type="use"}}function imGet(B,R,F,D,G,U){return B[F*D*4+R*4+U]}function imSet(B,R,F,D,G,U,W){B[F*D*4+R*4+U]=W}function m(B,R,F){return B[R]*F}function c(B,R,F,D){return R+Math.cos(B)*F+Math.sin(B)*D}class FeColorMatrixElement extends Element$2{apply(R,F,D,G,U){const{includeOpacity:W,matrix:q}=this,Y=R.getImageData(0,0,G,U);for(let Q=0;Q<U;Q++)for(let Z=0;Z<G;Z++){const K=imGet(Y.data,Z,Q,G,U,0),J=imGet(Y.data,Z,Q,G,U,1),ie=imGet(Y.data,Z,Q,G,U,2),ne=imGet(Y.data,Z,Q,G,U,3);let se=m(q,0,K)+m(q,1,J)+m(q,2,ie)+m(q,3,ne)+m(q,4,1),re=m(q,5,K)+m(q,6,J)+m(q,7,ie)+m(q,8,ne)+m(q,9,1),ae=m(q,10,K)+m(q,11,J)+m(q,12,ie)+m(q,13,ne)+m(q,14,1),le=m(q,15,K)+m(q,16,J)+m(q,17,ie)+m(q,18,ne)+m(q,19,1);W&&(se=0,re=0,ae=0,le*=ne/255),imSet(Y.data,Z,Q,G,U,0,se),imSet(Y.data,Z,Q,G,U,1,re),imSet(Y.data,Z,Q,G,U,2,ae),imSet(Y.data,Z,Q,G,U,3,le)}R.clearRect(0,0,G,U),R.putImageData(Y,0,0)}constructor(R,F,D){super(R,F,D),this.type="feColorMatrix";let G=toNumbers(this.getAttribute("values").getString());switch(this.getAttribute("type").getString("matrix")){case"saturate":{const U=G[0];G=[.213+.787*U,.715-.715*U,.072-.072*U,0,0,.213-.213*U,.715+.285*U,.072-.072*U,0,0,.213-.213*U,.715-.715*U,.072+.928*U,0,0,0,0,0,1,0,0,0,0,0,1];break}case"hueRotate":{const U=G[0]*Math.PI/180;G=[c(U,.213,.787,-.213),c(U,.715,-.715,-.715),c(U,.072,-.072,.928),0,0,c(U,.213,-.213,.143),c(U,.715,.285,.14),c(U,.072,-.072,-.283),0,0,c(U,.213,-.213,-.787),c(U,.715,-.715,.715),c(U,.072,.928,.072),0,0,0,0,0,1,0,0,0,0,0,1];break}case"luminanceToAlpha":G=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0,0,0,0,0,0,1];break}this.matrix=G,this.includeOpacity=this.getAttribute("includeOpacity").hasValue()}}class MaskElement extends Element$2{apply(R,F){const{document:D}=this;let G=this.getAttribute("x").getPixels("x"),U=this.getAttribute("y").getPixels("y"),W=this.getStyle("width").getPixels("x"),q=this.getStyle("height").getPixels("y");if(!W&&!q){const ie=new BoundingBox$2;this.children.forEach(ne=>{ie.addBoundingBox(ne.getBoundingBox(R))}),G=Math.floor(ie.x1),U=Math.floor(ie.y1),W=Math.floor(ie.width),q=Math.floor(ie.height)}const Y=this.removeStyles(F,MaskElement.ignoreStyles),Q=D.createCanvas(G+W,U+q),Z=Q.getContext("2d");D.screen.setDefaults(Z),this.renderChildren(Z),new FeColorMatrixElement(D,{nodeType:1,childNodes:[],attributes:[{nodeName:"type",value:"luminanceToAlpha"},{nodeName:"includeOpacity",value:"true"}]}).apply(Z,0,0,G+W,U+q);const K=D.createCanvas(G+W,U+q),J=K.getContext("2d");D.screen.setDefaults(J),F.render(J),J.globalCompositeOperation="destination-in",J.fillStyle=Z.createPattern(Q,"no-repeat"),J.fillRect(0,0,G+W,U+q),R.fillStyle=J.createPattern(K,"no-repeat"),R.fillRect(0,0,G+W,U+q),this.restoreStyles(F,Y)}render(R){}constructor(...R){super(...R),this.type="mask"}}MaskElement.ignoreStyles=["mask","transform","clip-path"];const noop$1=()=>{};class ClipPathElement extends Element$2{apply(R){const{document:F}=this,D=Reflect.getPrototypeOf(R),{beginPath:G,closePath:U}=R;D&&(D.beginPath=noop$1,D.closePath=noop$1),Reflect.apply(G,R,[]),this.children.forEach(W=>{if(!("path"in W))return;let q="elementTransform"in W?W.elementTransform():null;q||(q=Transform.fromElement(F,W)),q&&q.apply(R),W.path(R),D&&(D.closePath=U),q&&q.unapply(R)}),Reflect.apply(U,R,[]),R.clip(),D&&(D.beginPath=G,D.closePath=U)}render(R){}constructor(...R){super(...R),this.type="clipPath"}}class FilterElement extends Element$2{apply(R,F){const{document:D,children:G}=this,U="getBoundingBox"in F?F.getBoundingBox(R):null;if(!U)return;let W=0,q=0;G.forEach(ae=>{const le=ae.extraFilterDistance||0;W=Math.max(W,le),q=Math.max(q,le)});const Y=Math.floor(U.width),Q=Math.floor(U.height),Z=Y+2*W,K=Q+2*q;if(Z<1||K<1)return;const J=Math.floor(U.x),ie=Math.floor(U.y),ne=this.removeStyles(F,FilterElement.ignoreStyles),se=D.createCanvas(Z,K),re=se.getContext("2d");D.screen.setDefaults(re),re.translate(-J+W,-ie+q),F.render(re),G.forEach(ae=>{typeof ae.apply=="function"&&ae.apply(re,0,0,Z,K)}),R.drawImage(se,0,0,Z,K,J-W,ie-q,Z,K),this.restoreStyles(F,ne)}render(R){}constructor(...R){super(...R),this.type="filter"}}FilterElement.ignoreStyles=["filter","transform","clip-path"];class FeDropShadowElement extends Element$2{apply(R,F,D,G,U){}constructor(R,F,D){super(R,F,D),this.type="feDropShadow",this.addStylesFromStyleDefinition()}}class FeMorphologyElement extends Element$2{apply(R,F,D,G,U){}constructor(...R){super(...R),this.type="feMorphology"}}class FeCompositeElement extends Element$2{apply(R,F,D,G,U){}constructor(...R){super(...R),this.type="feComposite"}}class FeGaussianBlurElement extends Element$2{apply(R,F,D,G,U){const{document:W,blurRadius:q}=this,Y=W.window?W.window.document.body:null,Q=R.canvas;Q.id=W.getUniqueId(),Y&&(Q.style.display="none",Y.appendChild(Q)),processCanvasRGBA(Q,F,D,G,U,q),Y&&Y.removeChild(Q)}constructor(R,F,D){super(R,F,D),this.type="feGaussianBlur",this.blurRadius=Math.floor(this.getAttribute("stdDeviation").getNumber()),this.extraFilterDistance=this.blurRadius}}class TitleElement extends Element$2{constructor(...R){super(...R),this.type="title"}}class DescElement extends Element$2{constructor(...R){super(...R),this.type="desc"}}const elements={svg:SVGElement$1,rect:RectElement,circle:CircleElement,ellipse:EllipseElement,line:LineElement,polyline:PolylineElement,polygon:PolygonElement,path:PathElement,pattern:PatternElement,marker:MarkerElement,defs:DefsElement,linearGradient:LinearGradientElement,radialGradient:RadialGradientElement,stop:StopElement,animate:AnimateElement,animateColor:AnimateColorElement,animateTransform:AnimateTransformElement,font:FontElement,"font-face":FontFaceElement,"missing-glyph":MissingGlyphElement,glyph:GlyphElement,text:TextElement,tspan:TSpanElement,tref:TRefElement,a:AElement,textPath:TextPathElement,image:ImageElement,g:GElement,symbol:SymbolElement,style:StyleElement,use:UseElement,mask:MaskElement,clipPath:ClipPathElement,filter:FilterElement,feDropShadow:FeDropShadowElement,feMorphology:FeMorphologyElement,feComposite:FeCompositeElement,feColorMatrix:FeColorMatrixElement,feGaussianBlur:FeGaussianBlurElement,title:TitleElement,desc:DescElement};function createCanvas(B,R){const F=document.createElement("canvas");return F.width=B,F.height=R,F}async function createImage(B){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const F=document.createElement("img");return R&&(F.crossOrigin="Anonymous"),new Promise((D,G)=>{F.onload=()=>{D(F)},F.onerror=(U,W,q,Y,Q)=>{G(Q)},F.src=B})}const DEFAULT_EM_SIZE=12;class Document$1{bindCreateImage(R,F){return typeof F=="boolean"?(D,G)=>R(D,typeof G=="boolean"?G:F):R}get window(){return this.screen.window}get fetch(){return this.screen.fetch}get ctx(){return this.screen.ctx}get emSize(){const{emSizeStack:R}=this;return R[R.length-1]||DEFAULT_EM_SIZE}set emSize(R){const{emSizeStack:F}=this;F.push(R)}popEmSize(){const{emSizeStack:R}=this;R.pop()}getUniqueId(){return"canvg".concat(++this.uniqueId)}isImagesLoaded(){return this.images.every(R=>R.loaded)}isFontsLoaded(){return this.fonts.every(R=>R.loaded)}createDocumentElement(R){const F=this.createElement(R.documentElement);return F.root=!0,F.addStylesFromStyleDefinition(),this.documentElement=F,F}createElement(R){const F=R.nodeName.replace(/^[^:]+:/,""),D=Document$1.elementTypes[F];return D?new D(this,R):new UnknownElement(this,R)}createTextNode(R){return new TextNode(this,R)}setViewBox(R){this.screen.setViewBox({document:this,...R})}constructor(R,{rootEmSize:F=DEFAULT_EM_SIZE,emSize:D=DEFAULT_EM_SIZE,createCanvas:G=Document$1.createCanvas,createImage:U=Document$1.createImage,anonymousCrossOrigin:W}={}){this.canvg=R,this.definitions={},this.styles={},this.stylesSpecificity={},this.images=[],this.fonts=[],this.emSizeStack=[],this.uniqueId=0,this.screen=R.screen,this.rootEmSize=F,this.emSize=D,this.createCanvas=G,this.createImage=this.bindCreateImage(U,W),this.screen.wait(()=>this.isImagesLoaded()),this.screen.wait(()=>this.isFontsLoaded())}}Document$1.createCanvas=createCanvas;Document$1.createImage=createImage;Document$1.elementTypes=elements;class Canvg{static async from(R,F){let D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const U=await new Parser$1(D).parse(F);return new Canvg(R,U,D)}static fromString(R,F){let D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const U=new Parser$1(D).parseFromString(F);return new Canvg(R,U,D)}fork(R,F){let D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Canvg.from(R,F,{...this.options,...D})}forkString(R,F){let D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Canvg.fromString(R,F,{...this.options,...D})}ready(){return this.screen.ready()}isReady(){return this.screen.isReady()}async render(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.start({enableRedraw:!0,ignoreAnimation:!0,ignoreMouse:!0,...R}),await this.ready(),this.stop()}start(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{documentElement:F,screen:D,options:G}=this;D.start(F,{enableRedraw:!0,...G,...R})}stop(){this.screen.stop()}resize(R){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R,D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.documentElement.resize(R,F,D)}constructor(R,F,D={}){this.parser=new Parser$1(D),this.screen=new Screen(R,D),this.options=D;const G=new Document$1(this,D),U=G.createDocumentElement(F);this.document=G,this.documentElement=U}}globalThis&&globalThis.__awaiter;globalThis&&globalThis.__awaiter;globalThis&&globalThis.__awaiter;globalThis&&globalThis.__awaiter;globalThis&&globalThis.__awaiter;globalThis&&globalThis.__awaiter;const bg="data:image/png;base64,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",bgImg=new Image;bgImg.src=bg;async function imgToCanvas(B){const R=document.createElement("img");R.src=B,R.setAttribute("crossOrigin","anonymous"),await new Promise(D=>R.onload=D);const F=document.createElement("canvas");return F.width=R.width,F.height=R.height,F.getContext("2d").drawImage(R,0,0),F}function addWatermark(B,R){const G=Math.max(B.width,B.height),U=Math.floor(G/600)*5,W=Math.floor(G/500)*5,q=B.getContext("2d");q.rotate(-30*Math.PI/180),console.log(q);for(let Y=0;Y<U;Y++)for(let Q=0;Q<W;Q++)q.drawImage(bgImg,Y*600-G,Q*500-G/2);return B}function convasToImg(B){var R=new Image;return R.src=B.toDataURL("image/png"),R}async function startRun(B){const F=await imgToCanvas(B),D=addWatermark(F);return convasToImg(D).src}window.OffscreenCanvas||(window.OffscreenCanvas=class{constructor(R,F){return this.canvas=document.createElement("canvas"),this.canvas.width=R,this.canvas.height=F,this.canvas.convertToBlob=()=>new Promise(D=>{this.canvas.toBlob(D)}),this.canvas}});const preset=index.offscreen();function blobToBase64(B){return new Promise((R,F)=>{const D=new FileReader;D.onloadend=()=>R(D.result),D.readAsDataURL(B)})}async function svgtopng(B,R,F){const D=new OffscreenCanvas(R,F),G=D.getContext("2d"),U=await Canvg.fromString(G,B,preset);U.resize(R*2,F*2,"xMidYMid meet"),await U.start();const W=await D.convertToBlob();return await blobToBase64(W)}const feedback="_feedback_buyji_1",title$2="_title_buyji_9",wrap$4="_wrap_buyji_16",btns$1="_btns_buyji_22",sub$1="_sub_buyji_28",group$1="_group_buyji_34",text="_text_buyji_61",submit="_submit_buyji_81";var styles$h={feedback,title:title$2,wrap:wrap$4,btns:btns$1,sub:sub$1,group:group$1,text,submit},bgSubmit="/orchestra-music-score/assets/submit.2416f3ea.png";function _isSlot$2(B){return typeof B=="function"||Object.prototype.toString.call(B)==="[object Object]"&&!isVNode(B)}var Feedback=defineComponent({name:"ColexiuFeedBack",setup(){const B=ref("\u8BC6\u522B\u4E0D\u51C6"),R=ref(""),F=ref(!1),D=[{name:"\u8BC6\u522B\u4E0D\u51C6"},{name:"\u65E0\u6CD5\u8BC4\u6D4B"},{name:"\u4E0D\u51FA\u8BC4\u6D4B\u7ED3\u679C"},{name:"\u66F2\u8C31\u4E0D\u4E00\u81F4"},{name:"\u6307\u6CD5\u9519\u8BEF"},{name:"\u5176\u4ED6"}],G=()=>{var U;try{if(!R.value)return Toast("\u8BF7\u5148\u586B\u5199\u610F\u89C1\u53CD\u9988");F.value=!0,request.post("/sysSuggestion/save",{data:{clientType:"STUDENT",content:R.value+"#"+B.value,type:"SMART_PRACTICE"}}),(U=suggestPopup.value)==null||U.close(),Toast("\u610F\u89C1\u53CD\u9988\u5DF2\u63D0\u4EA4")}catch{}F.value=!1};return()=>{let U;return createVNode("div",{class:styles$h.feedback},[createVNode("div",{class:styles$h.wrap},[createVNode("div",{class:styles$h.title},[createTextVNode("\u610F\u89C1\u53CD\u9988")]),createVNode("div",{class:styles$h.sub},[createTextVNode("\u8BF7\u9009\u62E9\u95EE\u9898\u7C7B\u578B")]),createVNode(RadioGroup,{class:styles$h.group,modelValue:B.value,"onUpdate:modelValue":W=>B.value=W},{default:()=>[createVNode(Row,{gutter:4},_isSlot$2(U=D.map(W=>createVNode(Col,{span:8},{default:()=>[createVNode(Radio,{name:W.name},{default:()=>[W.name]})]})))?U:{default:()=>[U]})]}),createVNode(Field,{type:"textarea",class:styles$h.text,placeholder:"\u8BF7\u8BE6\u7EC6\u63CF\u8FF0\u60A8\u9047\u5230\u7684\u95EE\u9898\uFF0C\u4EE5\u4FBF\u6211\u4EEC\u5C3D\u5FEB\u4E3A\u60A8\u89E3\u51B3\uFF01",maxlength:200,rows:"3",autosize:!0,"show-word-limit":!0,modelValue:R.value,"onUpdate:modelValue":W=>R.value=W},null),createVNode("div",{class:styles$h.btns},[createVNode("img",{class:styles$h.submit,src:bgSubmit,onClick:G},null)])])])}}});const suggestPopup=ref(null),confirmShow$1=ref(!1),switchProps$2={"active-color":"#2dc7aa","inactive-color":"#CCCCCC",size:"20px"};var Seet=defineComponent({name:"ColexiuSettingSett",setup(){return()=>createVNode(Fragment,null,[createVNode("div",null,[createVNode(NoticeBar,{class:styles$j.noticebar,"left-icon":InfoIcon,background:"#FFF6E8",color:"var(--van-primary-color)",text:"\u5168\u5C40\u8BBE\u7F6E\u4F1A\u66F4\u6539\u6240\u6709\u4E50\u8C31\u7EC3\u4E60\u53CA\u8BC4\u6D4B"},null),createVNode("div",{class:styles$j.groupBox,style:{height:"auto"}},[createVNode(Cell,{center:!0,border:!1,title:"\u62A4\u773C\u6A21\u5F0F"},{default:()=>[createVNode(Switch,mergeProps({modelValue:state$3.sett.eyeProtection,"onUpdate:modelValue":B=>state$3.sett.eyeProtection=B},switchProps$2),null)]}),createVNode(Divider,null,null)]),createVNode("div",{class:styles$j.btnsbar},[createVNode("div",{class:styles$j.btn,onClick:()=>show.value=!0},[createVNode("img",{class:styles$j.iconBtn,src:iconTv},null),createTextVNode("\u6295\u5C4F\u5E2E\u52A9")]),createVNode("div",{class:styles$j.btn,onClick:()=>{var B;(B=suggestPopup.value)==null||B.onShow()}},[createVNode("img",{class:styles$j.iconBtn,src:iconYijian},null),createTextVNode("\u610F\u89C1\u53CD\u9988")])])]),createVNode(Popups,{ref:suggestPopup,overlay:!1,style:{borderRadius:"8px"}},{default:()=>[createVNode(Feedback,null,null)]}),createVNode(Dialog.Component,{teleport:"body",class:evastyles.confirm,style:{overflow:"initial"},show:confirmShow$1.value,"onUpdate:show":B=>confirmShow$1.value=B,message:"\u8BBE\u7F6E\u6210\u529F\uFF0C\u662F\u5426\u7ACB\u5373\u91CD\u65B0\u52A0\u8F7D\uFF1F"},{title:()=>createVNode("img",{class:evastyles.iconTitle,src:iconTitle},null),footer:()=>createVNode("div",{class:evastyles.footer},[createVNode("img",{src:iconCancel,onClick:()=>confirmShow$1.value=!1},null),createVNode("img",{src:iconConfirm,onClick:useReload},null)])})])}});ref(!1);const switchProps$1={"active-color":"#2dc7aa","inactive-color":"#CCCCCC",size:"20px"};var Practise=defineComponent({name:"ColexiuSettingPractise",setup(){return()=>createVNode("div",null,[createVNode("div",{class:styles$j.groupBox},[createVNode(Cell,{center:!0,border:!1,title:"\u5FAA\u73AF\u64AD\u653E"},{default:()=>[createVNode(Switch,mergeProps({modelValue:state$3.sett.loop,"onUpdate:modelValue":B=>state$3.sett.loop=B},switchProps$1),{default:()=>[createTextVNode("off")]})]}),createVNode(Divider,null,null),createVNode(Cell,{center:!0,border:!1,title:"\u663E\u793A\u6307\u6CD5"},{default:()=>[createVNode(Switch,mergeProps({modelValue:state$3.sett.fingering,"onUpdate:modelValue":B=>state$3.sett.fingering=B},switchProps$1,{onChange:B=>{state$3.sett.fingering=B,event$1.emit("settingFingeringChange")}}),{default:()=>[createTextVNode("off")]})]})])])}});const switchProps={};var Evaluat=defineComponent({name:"ColexiuSettingPractise",setup(){return()=>createVNode("div",null,[createVNode("div",{class:styles$j.groupBox},[createVNode(Cell,{center:!0,border:!1,title:"\u8BC4\u6D4B\u96BE\u5EA6"},{default:()=>[createVNode(RadioGroup,{iconSize:20,class:styles$j.radioGroup,modelValue:state$3.eva.difficulty,"onUpdate:modelValue":B=>state$3.eva.difficulty=B},{default:()=>[createVNode(Radio,{name:"BEGINNER"},{default:()=>[createTextVNode("\u5165\u95E8")]}),createVNode(Radio,{name:"ADVANCED"},{default:()=>[createTextVNode("\u8FDB\u9636")]}),createVNode(Radio,{name:"PERFORMER"},{default:()=>[createTextVNode("\u5927\u5E08")]})]})]}),createVNode(Divider,null,null),createVNode(Cell,{center:!0,border:!1,title:"\u6821\u97F3\u63D0\u9192"},{default:()=>[createVNode(Switch,mergeProps({modelValue:state$3.sett.tuning,"onUpdate:modelValue":B=>state$3.sett.tuning=B},switchProps),{default:()=>[createTextVNode("off")]})]}),createVNode(Divider,null,null),createVNode(Cell,{center:!0,border:!1,title:"\u6444\u50CF\u5934"},{default:()=>[createVNode(Switch,mergeProps({modelValue:state$3.sett.camera,"onUpdate:modelValue":B=>state$3.sett.camera=B},switchProps),{default:()=>[createTextVNode("off")]})]}),state$3.sett.camera&&createVNode(Fragment,null,[createVNode(Divider,null,null),createVNode("div",{class:styles$j.sliderWrap},[createVNode("div",{class:"cell__title"},[createTextVNode("\u900F\u660E\u5EA6")]),createVNode(Slider,{min:0,max:100,modelValue:state$3.sett.opacity,"onUpdate:modelValue":B=>state$3.sett.opacity=B},{button:()=>createVNode("div",{class:styles$j.slider},[state$3.sett.opacity])})])]),createVNode(Divider,null,null),createVNode(Cell,{center:!0,border:!1,title:"\u4FDD\u5B58\u5230\u76F8\u518C"},{default:()=>[createVNode(Switch,mergeProps({modelValue:state$3.eva.save,"onUpdate:modelValue":B=>state$3.eva.save=B},switchProps),{default:()=>[createTextVNode("off")]})]}),createVNode(Divider,null,null),createVNode(Cell,{center:!0,border:!1,title:"\u8BC4\u6D4B\u4F34\u594F"},{default:()=>[createVNode(Switch,mergeProps({modelValue:state$3.eva.mute,"onUpdate:modelValue":B=>state$3.eva.mute=B},switchProps),{default:()=>[createTextVNode("off")]})]}),createVNode(Divider,null,null),createVNode(Cell,{center:!0,border:!1,title:"\u6807\u51C6\u97F3\u9AD8"},{default:()=>[createVNode("div",{style:{display:"flex"}},[createVNode(RadioGroup,{iconSize:20,class:styles$j.radioGroup,modelValue:state$3.sett.hertz,"onUpdate:modelValue":B=>state$3.sett.hertz=B},{default:()=>[createVNode(Radio,{name:440},{default:()=>[createTextVNode("440")]}),createVNode(Radio,{name:442},{default:()=>[createTextVNode("442")]})]})])]}),createVNode(Divider,null,null)])])}}),Setting=defineComponent({name:"ColexiuSetting",props:{active:{type:String,default:"1"}},setup(B){return()=>createVNode("div",{class:styles$j.setting},[createVNode(Tabs,{active:B.active},{default:()=>[createVNode(Tab,{title:"\u5168\u5C40\u8BBE\u7F6E",name:"1"},{default:()=>[createVNode(Seet,null,null)]}),createVNode(Tab,{title:"\u7EC3\u4E60\u8BBE\u7F6E",name:"2"},{default:()=>[createVNode(Practise,null,null)]}),createVNode(Tab,{title:"\u8BC4\u6D4B\u8BBE\u7F6E",name:"3"},{default:()=>[createVNode(Evaluat,null,null)]})]})])}}),BackIcon="/orchestra-music-score/assets/icon-back.a96b2fe2.png",iconFollowEndBtn="/orchestra-music-score/assets/icon-followEndBtn.7736176b.png",iconEvaluatingEnd="/orchestra-music-score/assets/icon-evaluatingEnd.74d03c3c.png",iconCameraOff="data:image/png;base64,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",iconCameraOn="data:image/png;base64,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",iconToggle$1="/orchestra-music-score/assets/icon_toggle.2861c3f0.png";const iconToggle="_iconToggle_8ao41_1",popup$1="_popup_8ao41_12";var styles$g={iconToggle,popup:popup$1};const container$5="_container_1nzf5_1",top="_top_1nzf5_10",picker="_picker_1nzf5_29",button$2="_button_1nzf5_32";var styles$f={container:container$5,top,picker,button:button$2},ChoosePartName=defineComponent({name:"choosePartName",props:{partListNames:{type:Array,default:()=>[]},partIndex:{type:Number,default:0}},emits:["close"],setup(B,{emit:R}){const{partListNames:F,partIndex:D}=toRefs(B),G=ref(F.value[D.value].value),U=computed(()=>F.value);return()=>createVNode("div",{class:styles$f.container},[createVNode("div",{class:styles$f.top},[createVNode("div",{class:styles$f.title},[createTextVNode("\u8BF7\u9009\u62E9\u60A8\u7EC3\u4E60\u7684\u4E50\u5668")]),createVNode(Icon,{name:"cross",size:24,onClick:()=>R("close")},null)]),createVNode(Picker,{class:styles$f.picker,defaultIndex:D.value,showToolbar:!1,columns:U.value,visibleItemCount:Math.ceil(document.body.clientHeight/44/3),onChange:W=>{G.value=W.value}},null),createVNode(Button,{class:styles$f.button,type:"primary",round:!0,block:!0,onClick:()=>{R("close",G.value)}},{default:()=>[createTextVNode("\u786E\u5B9A")]})])}});const instruments={"Acoustic Grand Piano":"\u5927\u94A2\u7434","Bright Acoustic Piano":"\u660E\u4EAE\u7684\u94A2\u7434","Electric Grand Piano":"\u7535\u94A2\u7434","Rhodes Piano":"\u67D4\u548C\u7684\u7535\u94A2\u7434","Chorused Piano":"\u52A0\u5408\u5531\u6548\u679C\u7684\u7535\u94A2\u7434",Harpsichord:"\u7FBD\u7BA1\u952E\u7434",Clavichord:"\u79D1\u62C9\u7EF4\u79D1\u7279\u7434",Celesta:"\u94A2\u7247\u7434",Glockenspiel:"\u94A2\u7247\u7434","Music box":"\u516B\u97F3\u76D2",Vibraphone:"\u98A4\u97F3\u7434",Marimba:"\u9A6C\u6797\u5DF4",Xylophone:"\u6728\u7434","Tubular Bells":"\u7BA1\u949F",Dulcimer:"\u5927\u626C\u7434","Hammond Organ":"\u51FB\u6746\u98CE\u7434","Percussive Organ":"\u6253\u51FB\u5F0F\u98CE\u7434","Rock Organ":"\u6447\u6EDA\u98CE\u7434","Church Organ":"\u6559\u5802\u98CE\u7434","Reed Organ":"\u7C27\u7BA1\u98CE\u7434",Accordian:"\u624B\u98CE\u7434",Harmonica:"\u53E3\u7434","Tango Accordian":"\u63A2\u6208\u624B\u98CE\u7434","Acoustic Guitar":"\u94A2\u5F26\u5409\u4ED6","Electric Guitar":"\u95F7\u97F3\u7535\u5409\u4ED6","Overdriven Guitar":"\u52A0\u9A71\u52A8\u6548\u679C\u7684\u7535\u5409\u4ED6","Distortion Guitar":"\u52A0\u5931\u771F\u6548\u679C\u7684\u7535\u5409\u4ED6","Guitar Harmonics":"\u5409\u4ED6\u548C\u97F3","Acoustic Bass":"\u5927\u8D1D\u53F8","Electric Bass":"\u7535\u8D1D\u53F8","Fretless Bass":"\u65E0\u54C1\u8D1D\u53F8","Slap Bass":"\u638C\u51FB","Synth Bass":"\u7535\u5B50\u5408\u6210",Violin:"\u5C0F\u63D0\u7434",Viola:"\u4E2D\u63D0\u7434",Cello:"\u5927\u63D0\u7434",Contrabass:"\u4F4E\u97F3\u5927\u63D0\u7434","Tremolo Strings":"\u5F26\u4E50\u7FA4\u98A4\u97F3\u97F3\u8272","Pizzicato Strings":"\u5F26\u4E50\u7FA4\u62E8\u5F26\u97F3\u8272","Orchestral Harp":"\u7AD6\u7434",Timpani:"\u5B9A\u97F3\u9F13","String Ensemble":"\u5F26\u4E50\u5408\u594F\u97F3\u8272","Synth Strings":"\u5408\u6210\u5F26\u4E50\u5408\u594F\u97F3\u8272","Choir Aahs":"\u4EBA\u58F0\u5408\u5531","Voice Oohs":"\u4EBA\u58F0","Synth Voice":"\u5408\u6210\u4EBA\u58F0","Orchestra Hit":"\u7BA1\u5F26\u4E50\u6572\u51FB\u9F50\u594F",Trumpet:"\u5C0F\u53F7",Trombone:"\u957F\u53F7",Tuba:"\u5927\u53F7","Muted Trumpet":"\u52A0\u5F31\u97F3\u5668\u5C0F\u53F7","French Horn":"\u6CD5\u56FD\u53F7","Brass Section":"\u94DC\u7BA1\u7EC4","Synth Brass":"\u5408\u6210\u94DC\u7BA1\u97F3\u8272","Soprano Sax":"\u9AD8\u97F3\u8428\u514B\u65AF\u7BA1","Alto Sax":"\u4E2D\u97F3\u8428\u514B\u65AF\u7BA1","Tenor Sax":"\u6B21\u4E2D\u97F3\u8428\u514B\u65AF\u7BA1","Baritone Sax":"\u4F4E\u97F3\u8428\u514B\u65AF\u7BA1",Oboe:"\u53CC\u7C27\u7BA1","English Horn":"\u82F1\u56FD\u7BA1",Bassoon:"\u5DF4\u677E",Clarinet:"\u5355\u7C27\u7BA1","Soprano Saxophone":"\u9AD8\u97F3\u8428\u514B\u65AF\u7BA1","Alto Saxophone":"\u4E2D\u97F3\u8428\u514B\u65AF\u7BA1","Tenor Saxophone":"\u6B21\u4E2D\u97F3\u8428\u514B\u65AF\u7BA1","Baritone Saxophone":"\u4F4E\u97F3\u8428\u514B\u65AF\u7BA1",Piccolo:"\u77ED\u7B1B",Flute:"\u957F\u7B1B",Recorder:"\u7AD6\u7B1B","Soprano Recorder":"\u9AD8\u97F3\u7AD6\u7B1B","Pan Flute":"\u6392\u7BAB","Bottle Blow":"\u74F6\u6728\u7BA1",Whistle:"\u53E3\u54E8\u58F0",Ocarina:"\u9676\u7B1B",Lead:"\u5408\u6210\u4E3B\u97F3","Lead lead":"\u5408\u6210\u4E3B\u97F3","Pad age":"\u5408\u6210\u97F3\u8272",Pad:"\u5408\u6210\u97F3\u8272",FX:"\u5408\u6210\u6548\u679C \u79D1\u5E7B",Sitar:"\u897F\u5854\u5C14",Banjo:"\u73ED\u5353\u7434",Shamisen:"\u4E09\u6627\u7EBF",Koto:"\u5341\u4E09\u5F26\u7B5D",Kalimba:"\u5361\u6797\u5DF4",Bagpipe:"\u98CE\u7B1B",Fiddle:"\u6C11\u65CF\u63D0\u7434",Shanai:"\u5C71\u5948","Tinkle Bell":"\u53EE\u5F53\u94C3",Agogos:"\u963F\u6208\u6208\u94C3","Steel Drums":"\u94A2\u9F13","Taiko Drum":"\u592A\u9F13","Melodic Toms":"\u55F5\u55F5\u9F13","Synth Drums":"\u5408\u6210\u9F13","Reverse Cymbals":"\u53CD\u5411\u9572","Agogo Bells":"\u963F\u6208\u6208\u94C3","Taiko Drums":"\u592A\u9F13",Bongos:"\u90A6\u6208\u9F13","Bongo Bell":"\u90A6\u6208\u94C3",Congas:"\u5EB7\u52A0\u9F13",Guiro:"\u522E\u58F6","Guitar Fret Noise":"\u5409\u4ED6\u6362\u628A\u6742\u97F3","Breath Noise":"\u547C\u5438\u58F0",Seashore:"\u6D77\u6D6A\u58F0","Bird Tweet":"\u9E1F\u9E23","Telephone Ring":"\u7535\u8BDD\u94C3",Helicopter:"\u76F4\u5347\u673A",Applause:"\u9F13\u638C\u58F0",Gunshot:"\u67AA\u58F0","Acoustic Bass Drum":"\u5927\u9F13","Bass Drum":"\u5927\u9F13","Side Drum":"\u5C0F\u9F13\u9F13\u8FB9","Acoustic Snare":"\u5C0F\u9F13","Hand Claps":"\u62CD\u624B","Electric Snare":"\u5C0F\u9F13","Low Floor Tom":"\u4F4E\u97F3\u55F5\u9F13","Closed Hi-Hat":"\u95ED\u5408\u8E29\u9572","High Floor Tom":"\u9AD8\u97F3\u843D\u5730\u55F5\u9F13","Pedal Hi-Hat":"\u811A\u8E0F\u8E29\u9572","Low Tom":"\u4F4E\u97F3\u55F5\u9F13","Open Hi-Hat":"\u5F00\u97F3\u8E29\u9572","Low-Mid Tom":"\u4E2D\u4F4E\u97F3\u55F5\u9F13","Hi Mid Tom":"\u9AD8\u97F3\u9F13","Crash Cymbals":"\u5BF9\u9572","High Tom":"\u9AD8\u97F3\u55F5\u9F13","Ride Cymbals":"\u53EE\u53EE\u9572","Chinese Cymbals":"\u4E2D\u56FD\u9572","Ride Bell":"\u5706\u94C3",Tambourine:"\u94C3\u9F13","Splash Cymbal":"\u6E85\u97F3\u9572",Cowbell:"\u725B\u94C3","Crash Cymbal":"\u5F3A\u97F3\u94B9","Vibra-Slap":"\u98A4\u97F3\u5668","Ride Cymbal":"\u6253\u70B9\u94B9","Hi Bongo":"\u9AD8\u97F3\u90A6\u6208\u9F13","Low Bongo":"\u4F4E\u97F3\u90A6\u6208\u9F13","Mute Hi Conga":"\u5F31\u97F3\u9AD8\u97F3\u5EB7\u52A0\u9F13","Open Hi Conga":"\u5F3A\u97F3\u9AD8\u97F3\u5EB7\u52A0\u9F13","Low Conga":"\u4F4E\u97F3\u5EB7\u52A0\u9F13","High Timbale":"\u9AD8\u97F3\u5929\u5DF4\u9F13","Low Timbale":"\u4F4E\u97F3\u5929\u5DF4\u9F13","High Agogo":"\u9AD8\u97F3\u963F\u6208\u6208\u94C3","Low Agogo":"\u4F4E\u97F3\u963F\u6208\u6208\u94C3",Cabasa:"\u5361\u5DF4\u8428",Maracas:"\u6C99\u9524","Short Whistle":"\u77ED\u53E3\u54E8","Long Whistle":"\u957F\u53E3\u54E8","Short Guiro":"\u77ED\u522E\u58F6","Long Guiro":"\u957F\u522E\u58F6",Claves:"\u54CD\u68D2","Hi Wood Block":"\u9AD8\u97F3\u6728\u9C7C","Low Wood Block":"\u4F4E\u97F3\u6728\u9C7C","Mute Triangle":"\u5F31\u97F3\u4E09\u89D2\u94C1","Open Triangle":"\u5F3A\u97F3\u4E09\u89D2\u94C1","Drum Set":"\u67B6\u5B50\u9F13","Hulusi flute":"\u846B\u82A6\u4E1D",Melodica:"\u53E3\u98CE\u7434","Snare Drum":"\u5C0F\u519B\u9F13",Cymbal:"\u9572",Cymbals:"\u9572","Horn in F":"\u5706\u53F7",Triangle:"\u4E09\u89D2\u94C1",Vibrato:"\u98A4\u97F3\u7434","Suspend Cymbals":"\u540A\u9572","Suspended Cymbals":"\u540A\u9572","Tom-Toms":"\u55F5\u55F5\u9F13",Bell:"\u94C3\u94DB",Bells:"\u94C3\u94DB","Alto Clarinet":"\u4E2D\u97F3\u5355\u7C27\u7BA1","Bass Clarinet":"\u4F4E\u97F3\u5355\u7C27\u7BA1",Cornet:"\u77ED\u53F7",Euphonium:"\u4E0A\u4F4E\u97F3\u53F7","crash cymbals":"\u5BF9\u9572",Castanets:"\u54CD\u677F",Shaker:"\u6C99\u9524","Mark tree":"\u97F3\u6811",Chimes:"\u7BA1\u949F","Mark Tree":"\u97F3\u6811","Tom-toms":"\u55F5\u55F5\u9F13","Hi-Hat":"\u8E29\u9572","Sleigh Bells":"\u96EA\u6A47\u94C3",Flexatone:"\u5F39\u97F3\u5668","Brake drum":"\u95F8\u9F13",Gong:"\u9523","concert tom":"\u97F3\u4E50\u4F1A\u55F5\u55F5\u9F13","brake drum":"\u8F66\u8F6E\u9F13","finger cymbal":"\u6307\u94B9","ride cymbal":"\u53EE\u53EE\u9572","Concert Toms":"\u97F3\u4E50\u4F1A\u55F5\u55F5\u9F13",Vibraslap:"\u5F39\u97F3\u5668","Wood Blocks":"\u6728\u9C7C","Temple Blocks":"\u6728\u9C7C","Wood Block":"\u6728\u9C7C","Field Drum":"\u519B\u9F13","Quad-Toms":"\u7B52\u9F13",Quads:"\u7B52\u9F13","Drums set":"\u67B6\u5B50\u9F13","High Bongo":"\u90A6\u6208",Timbales:"\u5929\u5DF4\u9F13","rain stick":"\u96E8\u68D2","String Bass":"\u5F26\u4E50\u4F4E\u97F3","Floor Tom":"\u4FA7\u55F5\u9F13","Brake Drum":"\u95F8\u9F13","Tam-tam":"\u5927\u9523"},getInstrumentName=B=>{const R=B.replace(/ /g," ").toLocaleLowerCase(),F=Object.keys(instruments);for(let D=0;D<F.length;D++)if(F[D].replace(/ /g," ").toLocaleLowerCase()===R)return instruments[F[D]]||"";for(let D=0;D<F.length;D++){const G=F[D].replace(/ /g," ").toLocaleLowerCase();if(R.includes(G))return instruments[F[D]]||""}return""},toggleMusicSheet=reactive({show:!1,toggle:(B=!0)=>{toggleMusicSheet.show=B}});var ToggleMusicSheet=defineComponent({name:"ToggleMusicSheet",setup(){const B=useOriginSearch(),R=computed(()=>{var G;let D=((G=state$2.activeDetail)==null?void 0:G.background)||[];return D=D.filter(U=>{var W,q;return!((q=(W=U.track)==null?void 0:W.toLocaleUpperCase())!=null&&q.includes("COMMON"))}),D.map((U,W)=>{const q=getInstrumentName(U.track);return{text:U.track+(q?`(${q})`:""),value:W}}).filter(Boolean)}),F=D=>{pause(),postMessage({api:"cloudDestroy"}),postMessage({api:"cloudLoading",content:{show:!0,type:"fullscreen"}});const G=location.origin+location.pathname+"?"+queryString.stringify({...B,behaviorId:sessionStorage.getItem("behaviorId")||"",_t:new Date().valueOf(),"part-index":D});console.log(G),location.href=G};return()=>createVNode(Popup,{class:styles$g.popup,show:toggleMusicSheet.show,"onUpdate:show":D=>toggleMusicSheet.show=D},{default:()=>[createVNode(ChoosePartName,{partIndex:state$2.partIndex,partListNames:R.value,onClose:D=>{console.log("\u{1F680} ~ value:",D),toggleMusicSheet.show=!1,D!==void 0&&F(D)}},null)]})}});const confirmShow=ref(!1),startButtonShow=ref(!0),evaluatingRef=ref({}),settingPopup=ref(null);ref(null);const followRef=ref(null),back=()=>{sendBackRecordTotalTime(),postMessage$1({api:"back"})},modelType=ref("init"),onChangeModelType=B=>{var R;if(B!==modelType.value){if(B==="evaluation")changeSpeed((R=state$2.activeDetail)==null?void 0:R.originalSpeed,!1),state.evaluatingStatus=!0;else{const F=store_legacy.get("speeds")||{},D=useOriginSearch();F[D.id]&&changeSpeed(F[D.id])}nextTick(()=>{modelType.value=B})}};var Buttons=defineComponent({name:"Colexiu-Buttons",props:{onSetMusicScoreType:{type:Object,default:B=>{}}},emits:["setMusicScoreType"],setup(B,{emit:R}){const F=useOriginSearch(),D=ref(),[G]=useMenu(),U=ref(!1),W=()=>{const J=F.modelType;J&&J!="evaluation"&&onChangeModelType(J)};onMounted(()=>{W()});const q=ref(!1),Y=ref(""),Q=J=>{Y.value=J.text,confirmShow.value=!0},Z=()=>{Y.value==="\u4E94\u7EBF\u8C31"?state$3.sett.type="staff":Y.value==="\u7B80\u8C31"?(state$3.sett.type="jianpu",state$3.sett.keySignature=!1):Y.value==="\u56FA\u5B9A\u8C03"&&(state$3.sett.type="jianpu",state$3.sett.keySignature=!0),sessionStorage.setItem("notation",state$3.sett.type)},K=J=>{if(J==="staff")return state$3.sett.type===J;if(J==="shoudiao")return state$3.sett.type==="jianpu"&&!state$3.sett.keySignature;if(J==="guding")return state$3.sett.type==="jianpu"&&state$3.sett.keySignature};return()=>{var ie,ne,se,re,ae,le,ce,he,de,me;const J=((ie=state$2.activeDetail)!=null&&ie.isAppPlay?((ne=state$2.activeDetail)==null?void 0:ne.midiUrl)==="":state.isFirstPlay||((se=state.audiosInstance)==null?void 0:se.length)==1)||state.evaluatingStatus||((re=state$2.activeDetail)==null?void 0:re.isAppPlay)&&state$2.midiPlayIniting;return createVNode("div",{onClick:fe=>fe.stopPropagation(),class:[styles$k.container,G.value?"":styles$k.outUp,state$2.chenkuang&&styles$k.chenkuang],style:F.headerHeight?{height:"1rem",paddingTop:"0.25rem"}:""},[createVNode("div",{class:styles$k.leftButton},[(F==null?void 0:F.modelType)&&!F.unitId?null:createVNode("img",{class:styles$k.backbtn,src:BackIcon,onClick:back},null),createVNode("div",{class:styles$k.titleWrap},[createVNode("div",{class:styles$k.title},[(ae=state$2.activeDetail)==null?void 0:ae.musicSheetName]),F.albumName&&createVNode("div",{class:styles$k.album},[F.albumName])])]),createVNode("div",{class:styles$k.centerButton},[createVNode(Transition,{name:"finish"},{default:()=>[!startButtonShow.value&&createVNode(Button,{class:[styles$k.button,styles$k.finish],onClick:()=>{var fe,ge;(ge=(fe=evaluatingRef.value)==null?void 0:fe.playerStop)==null||ge.call(fe)}},{default:()=>[createVNode("img",{style:{width:"100%",display:"block"},src:iconEvaluatingEnd},null)]})]}),createVNode(Transition,{name:"finish"},{default:()=>{var fe;return[((fe=followRef==null?void 0:followRef.value)==null?void 0:fe.data.start)&&createVNode(Button,{class:[styles$k.button,styles$k.finish,styles$k.followEndBtn],onClick:()=>{var ge,Se;(Se=(ge=followRef.value)==null?void 0:ge.handleEnd)==null||Se.call(ge)}},{default:()=>[createVNode("img",{style:{width:"100%",display:"block"},src:iconFollowEndBtn},null)]})]}})]),createVNode("div",{class:[styles$k.moreButton],style:{opacity:state$2.initRendered?1:0}},[!(F!=null&&F.modelType)&&modelType.value!=="init"&&!state$2.frozenMode&&createVNode(Button,{"data-step":"m0",class:[styles$k.button,styles$k.hasText],disabled:state.evaluatingStatus&&!startButtonShow.value||((le=followRef.value)==null?void 0:le.data.start),onClick:()=>{!unitTestData.isSelectMeasureMode&&state$2.sectionStatus&&clearSectionStatus(),modelType.value==="practice"&&(resetPlayStatus(),setCurrentTime(0)),modelType.value==="evaluation"&&(state.evaluatingStatus=!1,evaluatStopPlay()),modelType.value="init"}},{default:()=>[createVNode(ButtonIcon,{key:"modelType",name:["init","practice"].includes(modelType.value)?"modelType":["follow"].includes(modelType.value)?"modelType1":"modelType2"},null),createVNode("span",null,[createTextVNode("\u6A21\u5F0F")])]}),state$2.initRendered&&!F.lessonTrainingId&&!F.questionId&&((ce=state$2.activeDetail)==null?void 0:ce.musicSheetType)=="CONCERT"&&createVNode(Button,{class:[styles$k.button,styles$k.hasText],onClick:()=>{toggleMusicSheet.toggle(!0)},disabled:state.evaluatingStatus&&!startButtonShow.value||state.playState==="play"||((he=followRef.value)==null?void 0:he.data.start)},{default:()=>[createVNode("img",{src:iconToggle$1},null),createVNode("span",null,[createTextVNode("\u58F0\u8F68")])]}),modelType.value==="evaluation"&&createVNode(Fragment,null,[createVNode(Popover,{show:U.value,"onUpdate:show":fe=>U.value=fe,overlay:!1,placement:"bottom-end",class:"cameraPopover","show-arrow":!1},{default:()=>[createVNode(CellGroup,{border:!1},{default:()=>[createVNode(Cell,{center:!0,title:"\u6444\u50CF\u5934"},{default:()=>[createVNode("div",{style:"display:flex;justify-content: flex-end;"},[createVNode(Switch,mergeProps({modelValue:state$3.sett.camera,"onUpdate:modelValue":fe=>state$3.sett.camera=fe},switchProps),{default:()=>[createTextVNode("off")]})])]}),state$3.sett.camera&&createVNode(Cell,{class:"cameraOpacity",center:!0,title:"\u900F\u660E\u5EA6"},{default:()=>[createVNode(Slider,{style:{width:"90%"},min:0,max:100,modelValue:state$3.sett.opacity,"onUpdate:modelValue":fe=>state$3.sett.opacity=fe},{button:()=>createVNode("div",{class:styles$k.slider},[state$3.sett.opacity])})]})]})],reference:()=>createVNode("div",{onClick:fe=>{startButtonShow.value||fe.stopPropagation()}},[createVNode(Button,{class:[styles$k.button,styles$k.hasText],disabled:!startButtonShow.value},{default:()=>[createVNode("img",{src:state$3.sett.camera?iconCameraOn:iconCameraOff},null),createVNode("span",null,[createTextVNode("\u6444\u50CF\u5934")])]})])}),createVNode(Evaluating,{ref:evaluatingRef},null)]),modelType.value==="practice"&&createVNode(Fragment,null,[createVNode(Button,{"data-step":"m1",class:[styles$k.button,styles$k.hasText],onClick:()=>changeMode(state.mode==="background"?"music":"background"),disabled:J},{default:()=>[createVNode(ButtonIcon,{key:"music",name:state.mode==="music"?"music":"accompaniment"},null),createVNode("span",null,[state.mode==="background"?"\u4F34\u594F":"\u539F\u58F0"])]}),unitTestData.isSelectMeasureMode?null:createVNode(Button,{"data-step":"m2",class:[styles$k.button,styles$k.hasText],onClick:sectionChange,disabled:state.evaluatingStatus||state.playState==="play"},{default:()=>[createVNode(ButtonIcon,{key:"section",name:"section"+(state$2.section.length&&state$2.section.length<=2?state$2.section.length:"")},null),createVNode("span",null,[createTextVNode("\u9009\u6BB5")])]}),createVNode(Button,{"data-step":"m3",class:[styles$k.button,styles$k.hasText],disabled:state.playState==="play",onClick:()=>{state$3.sett.fingering=!state$3.sett.fingering,event$1.emit("settingFingeringChange")}},{default:()=>[createVNode(ButtonIcon,{key:"music",name:state$3.sett.fingering?"fingeringOn":"fingeringOff"},null),createVNode("span",null,[createTextVNode("\u6307\u6CD5")])]})]),["practice","evaluation"].includes(modelType.value)&&!F.lessonTrainingId&&createVNode(Popover,{trigger:"manual",overlay:!1,placement:"bottom",class:styles$k.popover,show:G.value&&state.speedShow&&!(state.evaluatingStatus||state.playState==="play"),"onUpdate:show":fe=>state.speedShow=fe},{default:()=>[createVNode(Speed,{ref:D,updateSpeed:fe=>state.speed=fe,changed:changeSpeed,mode:state.mode,changeMode,lib:{speed:state.speed},class:styles$k.speed},null)],reference:()=>createVNode(Button,{"data-step":"m4",class:[styles$k.button,styles$k.hasText,styles$k.speedButton],disabled:state.evaluatingStatus||state.playState==="play",onClick:()=>{var fe;(fe=D.value)==null||fe.refUpdateSpeed(state.speed),state.speedShow=!state.speedShow}},{default:()=>[createVNode(ButtonIcon,{name:"speed"},null),createVNode("span",null,[createTextVNode("\u901F\u5EA6")]),createVNode("span",{class:styles$k.label},[state.speed])]})}),(de=state$2.activeDetail)!=null&&de.notation?createVNode(Popover,{class:styles$k.toggleMusicType,placement:"bottom-end",show:q.value,"onUpdate:show":fe=>{var ge;state.playState==="play"||state.evaluatingStatus&&!startButtonShow.value||((ge=followRef.value)==null?void 0:ge.data.start)||(q.value=fe)}},{reference:()=>{var fe;return createVNode(Button,{disabled:state.playState==="play"||state.evaluatingStatus&&!startButtonShow.value||((fe=followRef.value)==null?void 0:fe.data.start),class:[styles$k.button,styles$k.hasText,styles$k.speedButton]},{default:()=>[createVNode(ButtonIcon,{name:"icon-zhuanpu"},null),createVNode("span",null,[K("staff")?"\u8F6C\u7B80\u8C31":"\u8F6C\u4E94\u7EBF\u8C31"])]})},default:()=>createVNode(Fragment,null,[createVNode("div",{role:"menuitem",class:"van-popover__action",onClick:()=>Q({text:"\u4E94\u7EBF\u8C31"})},[createVNode(ButtonIcon,{key:"type",name:K("staff")?"icon-staff-active":"icon-staff"},null),createVNode("div",{class:["action-text",K("staff")&&"action-active"]},[createTextVNode("\u4E94\u7EBF\u8C31")])]),createVNode("div",{role:"menuitem",class:"van-popover__action",onClick:()=>Q({text:"\u7B80\u8C31"})},[createVNode(ButtonIcon,{key:"type",name:K("shoudiao")?"shuodiao-active":"shuodiao"},null),createVNode("div",{class:["action-text",K("shoudiao")&&"action-active"]},[createTextVNode("\u9996\u8C03")])]),createVNode("div",{role:"menuitem",class:"van-popover__action",onClick:()=>Q({text:"\u56FA\u5B9A\u8C03"})},[createVNode(ButtonIcon,{key:"type",name:K("guding")?"guding-active":"guding"},null),createVNode("div",{class:["action-text",K("guding")&&"action-active"]},[createTextVNode("\u56FA\u5B9A\u8C03")])])])}):null,state$2.initRendered&&createVNode(Fragment,null,[createVNode(Button,{class:[styles$k.button,styles$k.hasText],onClick:()=>{var fe;(fe=settingPopup.value)==null||fe.onShow()},disabled:state.evaluatingStatus&&!startButtonShow.value||state.playState==="play"||((me=followRef.value)==null?void 0:me.data.start)},{default:()=>[createVNode(ButtonIcon,{name:"setting"},null),createVNode("span",null,[createTextVNode("\u8BBE\u7F6E")])]}),createVNode(Popups,{ref:settingPopup,style:{borderRadius:"8px"}},{default:()=>[createVNode(Setting,{active:modelType.value=="practice"?"2":modelType.value=="evaluation"?"3":"1"},null)]})])]),createVNode(FloatWraper,null,null),createVNode(Dialog.Component,{teleport:"body",class:evastyles.confirm,style:{overflow:"initial"},show:confirmShow.value,"onUpdate:show":fe=>confirmShow.value=fe,message:"\u8BBE\u7F6E\u6210\u529F\uFF0C\u662F\u5426\u7ACB\u5373\u91CD\u65B0\u52A0\u8F7D\uFF1F"},{title:()=>createVNode("img",{class:evastyles.iconTitle,src:iconTitle},null),footer:()=>createVNode("div",{class:evastyles.footer},[createVNode("img",{src:iconCancel,onClick:()=>confirmShow.value=!1},null),createVNode("img",{src:iconConfirm,onClick:()=>{Z(),useReload()}},null)])})])}}});const event$1=new EventEmitter,browserInfo$2=browser(),initBehaviorId$1=""+new Date().valueOf(),getLinkId$1=()=>{const B=useOriginSearch().id;return location.hash.split("?")[0].split("/").pop()||B||""},getFixTime=B=>{const R=getDuration(state.osmd);let F=R.numerator||0,D=R.denominator||4;const G=R.beatUnit||"quarter";return state$2.repeatedBeats&&(F=F===2?4:F),!state$2.needTick&&!state$2.skipTick?60/B*formatBeatUnit(G)*(F/D):0};let prevIndex=0;const state=reactive({songs:{},playState:"init",sectionHint:new SectionHint,audiosInstance:null,mode:"music",isFirstPlay:!0,metro:null,metroing:!1,duration:"0:00",durationNum:0,currentTime:"0:00",currentTimeNum:0,loading:!1,speed:90,browser:browser(),speedShow:!1,progressShow:!1,touched:!1,osmd:null,tickPlayer:null,evaluatingStatus:!1,evaluatingTips:!1,clickTime:0,evaluatingFixTime:0,cameraStatus:!1,captureStatus:!1,ticking:!1,partIndex:0,activeIndex:0}),syncStepIndex=B=>{var R;state.osmd.hidden!==!1&&state.osmd.cursor.show(),prevIndex=B,setStepIndex(state.osmd,B),refreshIndex((R=state$2.times[B])==null?void 0:R.time)},sendParentMessage=B=>{window.parent.postMessage({api:"headerTogge",playState:B},"*")};watchEffect(()=>{state$2.maskStatus=state.playState==="play",["play","pause"].includes(state.playState)&&sendParentMessage(state.playState)});const syncPlayState=async()=>{if(state$2.activeDetail.isAppPlay){const B=await promisefiyPostMessage({api:"cloudGetMediaStatus"}),R=B==null?void 0:B.content.status;state.playState=R}else state.playState=state.audiosInstance.getStatus()},setCurrentTime=B=>{console.log("setCurrentTime",B);const R=B;state$2.fixedKey=0,state.currentTimeNum=R,state.currentTime=formatTime(R),state$2.activeDetail.isAppPlay?promisefiyPostMessage({api:"cloudSetCurrentTime",content:{currentTime:B*1e3,songID:state$2.activeDetail.examSongId}}):state.audiosInstance.setCurrentTime(R),refreshView(),syncPlayState();const F=getIndex(state$2.times,state.currentTimeNum);syncStepIndex(F)},getActiveMidiId=()=>{var B,R,F,D,G,U,W;return(W=(U=(G=(D=(F=(R=(B=state.osmd)==null?void 0:B.sheet)==null?void 0:R.instruments)==null?void 0:F[0])==null?void 0:D.subInstruments)==null?void 0:G[0])==null?void 0:U.midiInstrumentID)!=null?W:0},changeMode=async B=>{var F,D;const R=B==="background"?"music":"background";if(state$2.activeDetail.isAppPlay){const G=new Map;for(const U of state$2.partListNames)G.set(U,60);for(const U of getVoicePartInfo().partListNames)G.set(U,R==="background"?100:0);promisefiyPostMessage({api:"cloudVolume",content:{activeMidiId:getActiveMidiId(),activeMidiVolume:R==="background"?100:0,parts:Array.from(G.keys()).map(U=>({name:U,volume:G.get(U)}))}})}state.mode=B,(F=state.audiosInstance)==null||F.setMute(!0,state.songs[R]),(D=state.audiosInstance)==null||D.setMute(!1,state.songs[B])},changeAllMode=()=>{var B,R;if((B=state$2.activeDetail)!=null&&B.isAppPlay){const F=new Map;for(const D of state$2.partListNames)F.set(D,1);promisefiyPostMessage({api:"cloudVolume",content:{activeMidiId:getActiveMidiId(),activeMidiVolume:100,parts:Array.from(F.keys()).map(D=>({name:D,volume:F.get(D)}))}})}else state.mode="background",(R=state.audiosInstance)==null||R.setMute(!0)},changeSpeed=(B,R=!0)=>{var D;const F=store_legacy.get("speeds")||{};R&&(F[getLinkId$1()]=B,store_legacy.set("speeds",F)),state.speed=B,state$2.activeDetail&&((D=state.audiosInstance)==null||D.setSpeed(B/state$2.baseSpeed),promisefiyPostMessage({api:"cloudChangeSpeed",content:{speed:B,originalSpeed:state$2.activeDetail.originalSpeed,songID:state$2.activeDetail.examSongId}}),state.playState==="play"&&syncStepIndex(getIndex(state$2.times,state.currentTimeNum)))},resetCursor=()=>{state.osmd&&(state.osmd.product?state.osmd.cursor.setPosition({...state$2.times[0].cursorBox}):state.osmd.cursor.reset(),state.osmd.cursor.hide(),state$2.fixedKey=0)},refreshIndexBase=B=>{if(B<0)return;const{osmd:R}=state;R&&state$2.times[B]&&(state$2.sectionStatus||state.sectionHint.show(),state$2.times[B]&&state$2.times[B].noteElement&&state.sectionHint.showForElement(state$2.times[B]),R.product||R.cursor.hidden!==!1&&(R.cursor.reset(),R.cursor.show(),state$2.fixedKey=0),prevIndex!==B&&(setStepIndex(state.osmd,state$2.times[B].i,prevIndex),prevIndex=B),state$2.fixedKey=state$2.times[B].realKey,state$2.activeNote=state$2.times[B])},refreshIndex=B=>{const{osmd:R}=state;if(R&&(B||state.audiosInstance.audio)){const F=B||state.audiosInstance.audio.currentTime,D=getIndex(state$2.times,F);state.activeIndex=D,removeRepateBackground(D);const G=state$2.times[state$2.times.length-1],U=(G==null?void 0:G.sourceEndTime)||(G==null?void 0:G.endtime);F>U?(state.osmd.cursor.hide(),state.sectionHint.destroy()):state$2.times[D]&&refreshIndexBase(D)}},removeRepateBackground=B=>{var R,F;if(state.evaluatingStatus&&B){const D=state$2.times[B],G=state$2.times[B+1]||D,U=(F=(R=G==null?void 0:G.noteElement)==null?void 0:R.sourceMeasure)==null?void 0:F.measureListIndex;G&&state$2.evaluatings[U]&&B>0&&(state$2.evaluatings={...state$2.evaluatings,[U]:void 0})}},refreshPlayer=async B=>{var F,D;const{osmd:R}=state;if(R&&(B||state.audiosInstance.audio)){const G=B||state.audiosInstance.audio.currentTime,U=0;if(G+1<U){setCurrentTime(U);return}if((()=>{if(state$2.sectionStatus&&state$2.section.length===2){G>=state$2.section[0].time&&(state$2.sectionFlash=!1);const Y=state$2.times[state$2.section[1].i+1],Q=Y?Y.halfTone===0?state$2.section[1].endtime:Y.time:state.durationNum;return G+(browserInfo$2.xiaomi?.2:.08)>=Q}return!1})()){if(state.audiosInstance.setMute(!0),state.osmd.cursor.hide(),(F=state$2.activeDetail)!=null&&F.isAppPlay?pause():await state.audiosInstance.pause(),unitTestData.isSelectMeasureMode&&state.evaluatingStatus){event$1.emit("ended");return}setSectionModeCurrentTime(),clearAccelerateRefreshPlayer(),setTimeout(()=>{state$2.section.length&&setPlayState()},1e3),state.loading=!1;return}((D=state$2.activeDetail)==null?void 0:D.isAppPlay)&&state.durationNum+3<G&&(state.evaluatingStatus?(pause(),event$1.emit("ended",new Event("ended"))):state$3.sett.loop?(await pause(),await setCurrentTime(0),await play()):pause())}},resetPlayStatus=async B=>{try{prevIndex=0,state.osmd.cursor.reset(),state.osmd.cursor.hide(),state$2.fixedKey=0,state$2.sectionFlash=!1,state.sectionHint&&state.sectionHint.destroy(),B||(state$2.activeDetail.isAppPlay?await promisefiyPostMessage({api:"cloudSuspend",content:{songID:state$2.activeDetail.examSongId}}):(console.log("resetPlayStatus\u8C03\u7528\u6682\u505C"),state.audiosInstance.pause())),syncPlayState()}catch(R){console.log("resetPlayStatus\u9519\u8BEF",R)}},play=async()=>{state.isFirstPlay&&(resetPlayStatus(),state$2.fixedKey=0),state$2.activeDetail.isAppPlay?(await syncPlayState(),promisefiyPostMessage({api:"cloudSuspend",content:{songID:state$2.activeDetail.examSongId}})):(state.playState=state.audiosInstance.getStatus(),clearAccelerateRefreshPlayer(),accelerateRefreshPlayer())},setDelayTime=async B=>new Promise(R=>{setTimeout(()=>{R(B)},B)}),pause=async()=>{state$2.sectionStatus&&state.osmd.cursor.hide(),state$2.activeDetail.isAppPlay?(await syncPlayState(),await promisefiyPostMessage({api:"cloudSuspend"}),await setDelayTime(200)):(state.playState=state.audiosInstance.getStatus(),clearAccelerateRefreshPlayer(),state.audiosInstance.pause())},waiting=()=>{state.loading=!0},playing=()=>{state.loading=!1},ended=lodash$1.exports.debounce(async B=>{resetPlayStatus(),state$2.fixedKey=0,state.evaluatingStatus||(refreshPlayer(0),state$3.sett.loop&&await setPlayState()),setCurrentTime(0),event$1.emit("ended",B)},300,{leading:!0,trailing:!1});let timer$1=null;const accelerateRefreshPlayer=()=>{timer$1||!state.audiosInstance||(timer$1=setInterval(()=>{requestAnimationFrame(()=>{refreshPlayer(),state.audiosInstance.getStatus()==="play"&&refreshIndex()})},16.7))},clearAccelerateRefreshPlayer=()=>{clearInterval(timer$1),timer$1=null},sectionChange=()=>{state$2.sectionStatus=!state$2.sectionStatus,clearAccelerateRefreshPlayer(),resetPlayStatus(),state$2.sectionStatus||(setCurrentTime(0),state$2.fixedKey=0),state$2.sectionStatus&&state$2.section.length!=2&&resetCursor()},clearSectionStatus=()=>{state$2.section=[],state$2.sectionBoundingBoxs=[],state$2.sectionStatus=!1},getFirsrNoteByMeasureListIndex=(B,R=!0)=>{var F,D,G;for(const U of state$2.times)if(((D=(F=U==null?void 0:U.noteElement)==null?void 0:F.sourceMeasure)==null?void 0:D.measureListIndex)===B){let W=null;for(const q of U.measures)getSlursNote(q)&&(W=getSlursNote(q));if(W&&((G=W.sourceMeasure)==null?void 0:G.measureListIndex)!==B){for(const q of state$2.times)if(q.noteElement.NoteToGraphicalNoteObjectId===W.NoteToGraphicalNoteObjectId)return q}return U}return null},setSectionModeCurrentTime=()=>{var B,R;if(state$2.needTick)setCurrentTime(state$2.section[0].sourceStartTime||state$2.section[0].time);else{const F=(R=(B=state$2.section[0].noteElement)==null?void 0:B.sourceMeasure)==null?void 0:R.measureListIndex;F>0?(setCurrentTime(getFirsrNoteByMeasureListIndex(F).time),state$2.sectionFlash=!0):setCurrentTime(0)}},setPlayerView=()=>{state$2.sectionStatus&&(syncStepIndex(getIndex(state$2.times,state.currentTimeNum)),state$2.section.length===2?setSectionModeCurrentTime():(state$2.section=[],state$2.sectionBoundingBoxs=[],state$2.sectionStatus=!1,Toast.clear()))},cloudToggleState=async()=>{const B=await promisefiyPostMessage({api:"cloudGetMediaStatus"}),R=B==null?void 0:B.content.status;if(R==="init")return;R==="suspend"?await promisefiyPostMessage({api:"cloudPlay",content:{songID:state$2.activeDetail.examSongId,startTime:state.currentTimeNum*1e3,originalSpeed:state$2.activeDetail.originalSpeed,speed:state.speed,hertz:state$3.sett.hertz}}):await promisefiyPostMessage({api:"cloudSuspend"});const F=await promisefiyPostMessage({api:"cloudGetMediaStatus"});state.playState=F==null?void 0:F.content.status,console.log(F,"cloudGetMediaStatused")},toggleState=async B=>{modelType.value!=="init"&&(state$2.activeDetail.isAppPlay?await cloudToggleState():(state.isFirstPlay=!1,setPlayerView(),await state.audiosInstance.togglePlay(B),state.evaluatingStatus||changeMode(state.mode),state.playState=state.audiosInstance.getStatus()))},setActiveKey=B=>{state$2.activeTick=B},setTickStop=()=>{state$2.activeTick=-1,state$2.activeTickRepeat=1,toggleState(getTickTime(state.speed/state$2.baseSpeed))};let timeliner=-1;const clearIntervalTimeline=()=>{clearInterval(timeliner)},onTickDestroy=()=>{event$1.emit("tickDestroy")},setTick=(B,R)=>{var D,G,U,W,q,Y,Q;const F=()=>{B(),event$1.emit("tickEnd")};if(state$2.needTick){let{numerator:Z,denominator:K}=getDuration(state.osmd);if(state.osmd.numerator&&state.osmd.denominator&&(Z=state.osmd.numerator,K=state.osmd.denominator),state$2.activeDetail.isAppPlay)state.ticking=!0,postMessage$1({api:"cloudMetronome",content:{repeat:Z===2?2:1,denominator:K,numerator:Z}},J=>{state.ticking=!1,(J==null?void 0:J.content.status)==="finish"?F():(J==null?void 0:J.content.status)==="cancel"&&event$1.emit("tickDestroy")});else{const J=Z===2?2:1;state$2.activeTickRepeat=J,console.log("ticking"),state.tickPlayer=new Player(Z,(R||state.speed)/90),(D=state.tickPlayer)==null||D.start(Z,(R||state.speed)/90,J),(G=state.tickPlayer)==null||G.event.off("tick",setActiveKey),(U=state.tickPlayer)==null||U.event.off("stop",F),(W=state.tickPlayer)==null||W.event.off("destroy",onTickDestroy),(q=state.tickPlayer)==null||q.event.on("tick",setActiveKey),(Y=state.tickPlayer)==null||Y.event.on("stop",F),(Q=state.tickPlayer)==null||Q.event.on("destroy",onTickDestroy)}}else F()},setPlayState=async()=>{if(!(state$2.activeTick>-1||state.ticking)){if(await syncPlayState(),state.playState!=="pause"&&state.playState!=="suspend"){await toggleState();return}setPlayerView(),setTick(setTickStop)}},stopTick=()=>{state.tickPlayer&&state.tickPlayer.destroy(),event$1.emit("stopTick"),state$2.activeTickRepeat=1,state$2.activeTick=-1},windowResize=()=>{const B=getIndex(state$2.times,state.currentTimeNum);setTimeout(()=>{var R,F;(F=state.sectionHint)==null||F.showForElement((R=state$2.times[B])==null?void 0:R.noteElement)},200)},loadedmetadata=()=>{state.duration=formatTime(state.audiosInstance.duration),state.durationNum=state.audiosInstance.duration};let prevDiff=0,viewing=!1;const refreshView=()=>{var D;let B,R;(D=state==null?void 0:state.osmd)!=null&&D.product&&(B=state.osmd.cursor.img,R=document.querySelector("#colexiu-detail-music-sheet"));const F=Math.max(parseFloat((B||state.osmd.cursor.cursorElement).style.top),0);if(Math.abs(prevDiff-F)>10&&!viewing){viewing=!0;const G=R||(state$4.clintNmae==="colexiu"?state.osmd.container.parentElement.parentElement:state.osmd.container.parentElement);state$2.chenkuang?(G.scrollTop=F,viewing=!1):setTimeout(()=>{viewing=!1,G.scrollTo({top:F,left:0,behavior:"smooth"}),prevDiff=F},100)}},updatePlayTime=async B=>{const R=useOriginSearch();sessionStorage.getItem("behaviorId")||R.behaviorId,getRequestHostname(),useClientType()},setAudioInit=()=>{state.audiosInstance.event.on("loadedmetadata",loadedmetadata),state.audiosInstance.event.on("waiting",waiting),state.audiosInstance.event.on("playing",playing),state.audiosInstance.event.on("play",play,!1),state.audiosInstance.event.on("pause",pause,!1),state.audiosInstance.event.on("ended",ended,!1),state.audiosInstance.event.on("updatePlayTime",updatePlayTime,!1),listenerMessage("cloudplayed",async()=>{await syncPlayState(),state.currentTimeNum=0,state.currentTime="00:00",state.audiosInstance.event.emit("ended",new Event("ended"))}),listenerMessage("cloudTimeUpdae",B=>{const R=(B==null?void 0:B.content.currentTime)/1e3;state.playState==="play"&&(state.currentTimeNum=R,state.currentTime=formatTime(R),refreshPlayer(R),refreshIndex(R)),refreshView()}),state.audiosInstance.event.on("timeupdate",()=>{state.currentTimeNum=state.audiosInstance.currentTime,state.currentTime=formatTime(state.audiosInstance.currentTime),requestAnimationFrame(()=>{state.audiosInstance.getStatus()==="play"&&refreshPlayer(),refreshView()})}),window.addEventListener("resize",windowResize)},setStepView=(B,R)=>{prevIndex=Math.max(B.i,0),syncStepIndex(B.i),R&&refreshPlayer(R),refreshView()},noteClick=B=>{if(state.isFirstPlay){Toast("\u5F00\u59CB\u64AD\u653E\u540E\u624D\u80FD\u8C03\u6574\u8FDB\u5EA6");return}let R=getNoteBySlursStart(getActtiveNoteByTimes(B));if(R){const F=R.sourceStartTime||R.time;setCurrentTime(F),setStepView(R.i,F),state$2.fixedKey=R.realKey,state$2.activeNote=R}},startCapture=async()=>{console.log("SettingState.sett.camera:",state$3.sett.camera," SettingState.eva.save:",state$3.eva.save),state$3.sett.camera&&state$3.eva.save&&postMessage$1({api:"startCapture"})},endCapture=async()=>{state$3.eva.save&&state$3.sett.camera&&postMessage$1({api:"endCapture"})},setCaptureMode=async()=>{browserInfo$2.isApp&&state$3.sett.camera&&postMessage$1({api:"setCaptureMode",content:{mode:state.evaluatingStatus?"evaluating":"practice"}})};class AJAX{static ajax(R,F=9e3){let D;const G=R.indexOf(".mxl")>-1?"text/plain; charset=x-user-defined":"application/xml";if(XMLHttpRequest)D=new XMLHttpRequest;else if(ActiveXObject)D=new ActiveXObject("Microsoft.XMLHTTP");else return Promise.reject(new Error("XMLHttp not supported."));return D.timeout=F,new Promise((U,W)=>{D.onreadystatechange=()=>{D.readyState===XMLHttpRequest.DONE&&(D.status===200||D.status===0&&D.responseText?U(D.responseText):W(new Error("Could not retrieve requested URL "+D.status)))},D.ontimeout=q=>{W(new Error("Server request Timeout"))},D.overrideMimeType(G),D.open("GET",R,!0),D.send()})}}const _Fraction=class{constructor(B=0,R=1,F=0,D=!0){this.numerator=0,this.denominator=1,this.wholeValue=0,this.numerator=B,this.denominator=R,this.wholeValue=F,D&&this.simplify(),this.setRealValue()}static max(B,R){return B.RealValue>R.RealValue?B:R}static Equal(B,R){return B.wholeValue===R.wholeValue&&B.Denominator===R.Denominator&&B.Numerator===R.Numerator}static createFromFraction(B){return new _Fraction(B.numerator,B.denominator,B.wholeValue,!1)}static plus(B,R){const F=B.clone();return F.Add(R),F}static minus(B,R){const F=B.clone();return F.Sub(R),F}static multiply(B,R){return new _Fraction((B.wholeValue*B.denominator+B.numerator)*(R.wholeValue*R.denominator+R.numerator),B.denominator*R.denominator)}static greatestCommonDenominator(B,R){if(B===0)return R;if(R===1)return 1;for(;Math.abs(R)>1e-8;)B>R?B-=R:R-=B;return Math.round(B)}toString(){let B=this.numerator+"/"+this.denominator;return this.wholeValue!==0&&(B=this.wholeValue+" "+B),B}clone(){return new _Fraction(this.numerator,this.denominator,this.wholeValue,!1)}get Numerator(){return this.numerator}set Numerator(B){this.numerator!==B&&(this.numerator=B,this.simplify(),this.setRealValue())}get Denominator(){return this.denominator}set Denominator(B){this.denominator!==B&&(this.denominator=B,this.numerator!==0&&this.simplify(),this.setRealValue())}get WholeValue(){return this.wholeValue}set WholeValue(B){this.wholeValue!==B&&(this.wholeValue=B,this.setRealValue())}GetExpandedNumerator(){return this.wholeValue*this.denominator+this.numerator}calculateNumberOfNeededDots(){let B=1,R=2;const F=this.GetExpandedNumerator();for(;R<F;)B++,R=Math.pow(2,B);return Math.min(3,B-1)}IsNegative(){return this.realValue<0}get RealValue(){return this.realValue}expand(B){this.numerator*=B,this.denominator*=B,this.wholeValue!==0&&(this.numerator+=this.wholeValue*this.denominator,this.wholeValue=0)}Add(B){return this.numerator=(this.wholeValue*this.denominator+this.numerator)*B.denominator+(B.wholeValue*B.denominator+B.numerator)*this.denominator,this.denominator=this.denominator*B.denominator,this.wholeValue=0,this.simplify(),this.setRealValue(),this}Sub(B){return this.numerator=(this.wholeValue*this.denominator+this.numerator)*B.denominator-(B.wholeValue*B.denominator+B.numerator)*this.denominator,this.denominator=this.denominator*B.denominator,this.wholeValue=0,this.simplify(),this.setRealValue(),this}getHalfLength(){return new _Fraction(this.WholeValue,2).Add(new _Fraction(this.Numerator,this.Denominator*2))}Quantize(B){if(this.denominator<=B)return this;const R=new _Fraction(this.numerator+1,this.denominator,this.wholeValue);for(;R.Denominator>B;)R.Numerator++;if(this.numerator>this.denominator){const F=new _Fraction(this.numerator-1,this.denominator,this.wholeValue);for(;F.Denominator>B;)F.Numerator--;if(F.Denominator<R.Denominator)return F}return R}Equals(B){return this.realValue===(B==null?void 0:B.realValue)}CompareTo(B){const R=this.realValue-B.realValue;return R?R<0?-1:1:0}lt(B){return this.realValue<B.realValue}lte(B){return this.realValue<=B.realValue}gt(B){return!this.lte(B)}gte(B){return!this.lt(B)}setRealValue(){this.realValue=this.wholeValue+this.numerator/this.denominator}simplify(){if(this.numerator===0){this.denominator=1;return}const B=_Fraction.greatestCommonDenominator(Math.abs(this.numerator),Math.abs(this.denominator));this.numerator/=B,this.denominator/=B;const R=Math.floor(this.numerator/this.denominator);if(R!==0&&(this.wholeValue+=R,this.numerator-=R*this.denominator,this.numerator===0&&(this.denominator=1)),this.denominator>_Fraction.maximumAllowedNumber){const F=this.denominator/_Fraction.maximumAllowedNumber;this.numerator=Math.round(this.numerator/F),this.denominator=Math.round(this.denominator/F)}if(this.numerator>_Fraction.maximumAllowedNumber){const F=this.numerator/_Fraction.maximumAllowedNumber;this.numerator=Math.round(this.numerator/F),this.denominator=Math.round(this.denominator/F)}}isOnBeat(B){const R=this.distanceFromBeat(B);return Math.abs(R)<_Fraction.FloatInaccuracyTolerance}distanceFromBeat(B){const R=new _Fraction(1,B.Denominator);return this.RealValue%R.RealValue}};let Fraction$1=_Fraction;Fraction$1.maximumAllowedNumber=46340;Fraction$1.FloatInaccuracyTolerance=1e-4;class AbstractExpression{constructor(R){this.placement=R}static isStringInStringList(R,F){for(let D=0,G=R.length;D<G;++D){const U=R[D];if(F===U.toLowerCase().trim())return!0}return!1}get Placement(){return this.placement}static PlacementEnumFromString(R){switch(R.toLowerCase()){case"above":return PlacementEnum.Above;case"below":return PlacementEnum.Below;case"aboveorbelow":case"abovebelow":return PlacementEnum.AboveOrBelow;case"left":return PlacementEnum.Left;case"right":return PlacementEnum.Right;case"auto":default:return PlacementEnum.NotYetDefined}}}var PlacementEnum=(B=>(B[B.Above=0]="Above",B[B.Below=1]="Below",B[B.Left=2]="Left",B[B.Right=3]="Right",B[B.NotYetDefined=4]="NotYetDefined",B[B.AboveOrBelow=5]="AboveOrBelow",B))(PlacementEnum||{});const _ContinuousDynamicExpression=class extends AbstractExpression{constructor(B,R,F,D,G,U,W=""){super(R),super.parentMeasure=D,this.NumberXml=U,this.dynamicType=B,this.label=W,this.staffNumber=F,this.activeInstantaneousDynamic=G,this.startVolume=1,this.endVolume=1,this.setStartAndEndVolume(),W!==""&&this.setType()}setStartAndEndVolume(){this.activeInstantaneousDynamic&&(this.dynamicType===ContDynamicEnum.crescendo&&(this.startVolume=this.activeInstantaneousDynamic.Volume,this.endVolume=this.activeInstantaneousDynamic.Volume*1.2),this.dynamicType===ContDynamicEnum.diminuendo&&(this.startVolume=this.activeInstantaneousDynamic.Volume,this.endVolume=this.activeInstantaneousDynamic.Volume*.8))}get DynamicType(){return this.dynamicType}set DynamicType(B){this.dynamicType=B}get StartMultiExpression(){return this.startMultiExpression}set StartMultiExpression(B){this.startMultiExpression=B}get EndMultiExpression(){return this.endMultiExpression}set EndMultiExpression(B){this.endMultiExpression=B}get Placement(){return this.placement}set Placement(B){this.placement=B}get StartVolume(){return this.startVolume}set StartVolume(B){this.startVolume=B}get EndVolume(){return this.endVolume}set EndVolume(B){this.endVolume=B}get StaffNumber(){return this.staffNumber}set StaffNumber(B){this.staffNumber=B}get Label(){return this.label}set Label(B){this.label=B,this.setType()}static isInputStringContinuousDynamic(B){return B?_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicIncreasing,B)||_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicDecreasing,B):!1}getInterpolatedDynamic(B){const R=this.StartMultiExpression.AbsoluteTimestamp;let F;if(this.EndMultiExpression?F=this.EndMultiExpression.AbsoluteTimestamp:F=Fraction$1.plus(this.startMultiExpression.SourceMeasureParent.AbsoluteTimestamp,this.startMultiExpression.SourceMeasureParent.Duration),B.lt(R))return-1;if(F.lt(B))return-2;const D=Fraction$1.minus(B,R).RealValue/Fraction$1.minus(F,R).RealValue;return Math.max(0,Math.min(99.9,this.startVolume+(this.endVolume-this.startVolume)*D))}isWedge(){return!this.label}setType(){_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicIncreasing,this.label)?this.dynamicType=ContDynamicEnum.crescendo:_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicDecreasing,this.label)&&(this.dynamicType=ContDynamicEnum.diminuendo)}};let ContinuousDynamicExpression=_ContinuousDynamicExpression;ContinuousDynamicExpression.listContinuousDynamicIncreasing=["crescendo","cresc","cresc.","cres."];ContinuousDynamicExpression.listContinuousDynamicDecreasing=["decrescendo","decresc","decr.","diminuendo","dim.","dim"];var ContDynamicEnum=(B=>(B[B.crescendo=0]="crescendo",B[B.diminuendo=1]="diminuendo",B))(ContDynamicEnum||{}),DynamicExpressionSymbolEnum=(B=>(B[B.p=0]="p",B[B.f=1]="f",B[B.s=2]="s",B[B.z=3]="z",B[B.m=4]="m",B[B.r=5]="r",B))(DynamicExpressionSymbolEnum||{});class MusicSheetReadingException{constructor(R,F){this.message=R,F&&(this.message+=" "+F.toString())}}class ArgumentOutOfRangeException{constructor(R){this.message=R}}class InvalidEnumArgumentException{constructor(R){this.message=R}}var loglevel={exports:{}};(function(B){(function(R,F){B.exports?B.exports=F():R.log=F()})(commonjsGlobal$2,function(){var R=function(){},F="undefined",D=typeof window!==F&&typeof window.navigator!==F&&/Trident\/|MSIE /.test(window.navigator.userAgent),G=["trace","debug","info","warn","error"];function U(se,re){var ae=se[re];if(typeof ae.bind=="function")return ae.bind(se);try{return Function.prototype.bind.call(ae,se)}catch{return function(){return Function.prototype.apply.apply(ae,[se,arguments])}}}function W(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function q(se){return se==="debug"&&(se="log"),typeof console===F?!1:se==="trace"&&D?W:console[se]!==void 0?U(console,se):console.log!==void 0?U(console,"log"):R}function Y(se,re){for(var ae=0;ae<G.length;ae++){var le=G[ae];this[le]=ae<se?R:this.methodFactory(le,se,re)}this.log=this.debug}function Q(se,re,ae){return function(){typeof console!==F&&(Y.call(this,re,ae),this[se].apply(this,arguments))}}function Z(se,re,ae){return q(se)||Q.apply(this,arguments)}function K(se,re,ae){var le=this,ce;re=re==null?"WARN":re;var he="loglevel";typeof se=="string"?he+=":"+se:typeof se=="symbol"&&(he=void 0);function de(Se){var Ee=(G[Se]||"silent").toUpperCase();if(!(typeof window===F||!he)){try{window.localStorage[he]=Ee;return}catch{}try{window.document.cookie=encodeURIComponent(he)+"="+Ee+";"}catch{}}}function me(){var Se;if(!(typeof window===F||!he)){try{Se=window.localStorage[he]}catch{}if(typeof Se===F)try{var Ee=window.document.cookie,ve=Ee.indexOf(encodeURIComponent(he)+"=");ve!==-1&&(Se=/^([^;]+)/.exec(Ee.slice(ve))[1])}catch{}return le.levels[Se]===void 0&&(Se=void 0),Se}}function fe(){if(!(typeof window===F||!he)){try{window.localStorage.removeItem(he);return}catch{}try{window.document.cookie=encodeURIComponent(he)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}le.name=se,le.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},le.methodFactory=ae||Z,le.getLevel=function(){return ce},le.setLevel=function(Se,Ee){if(typeof Se=="string"&&le.levels[Se.toUpperCase()]!==void 0&&(Se=le.levels[Se.toUpperCase()]),typeof Se=="number"&&Se>=0&&Se<=le.levels.SILENT){if(ce=Se,Ee!==!1&&de(Se),Y.call(le,Se,se),typeof console===F&&Se<le.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+Se},le.setDefaultLevel=function(Se){re=Se,me()||le.setLevel(Se,!1)},le.resetLevel=function(){le.setLevel(re,!1),fe()},le.enableAll=function(Se){le.setLevel(le.levels.TRACE,Se)},le.disableAll=function(Se){le.setLevel(le.levels.SILENT,Se)};var ge=me();ge==null&&(ge=re),le.setLevel(ge,!1)}var J=new K,ie={};J.getLogger=function(re){if(typeof re!="symbol"&&typeof re!="string"||re==="")throw new TypeError("You must supply a name when creating a logger.");var ae=ie[re];return ae||(ae=ie[re]=new K(re,J.getLevel(),J.methodFactory)),ae};var ne=typeof window!==F?window.log:void 0;return J.noConflict=function(){return typeof window!==F&&window.log===J&&(window.log=ne),J},J.getLoggers=function(){return ie},J.default=J,J})})(loglevel);var log$2=loglevel.exports,lib$3={},arrays$4={},util$a={};(function(B){Object.defineProperty(B,"__esModule",{value:!0});var R=Object.prototype.hasOwnProperty;B.has=function(K,J){return R.call(K,J)};function F(K,J){return K<J?-1:K===J?0:1}B.defaultCompare=F;function D(K,J){return K===J}B.defaultEquals=D;function G(K){return K===null?"COLLECTION_NULL":q(K)?"COLLECTION_UNDEFINED":Y(K)?"$s"+K:"$o"+K.toString()}B.defaultToString=G;function U(K,J){if(J===void 0&&(J=","),K===null)return"COLLECTION_NULL";if(q(K))return"COLLECTION_UNDEFINED";if(Y(K))return K.toString();var ie="{",ne=!0;for(var se in K)B.has(K,se)&&(ne?ne=!1:ie=ie+J,ie=ie+se+":"+K[se]);return ie+"}"}B.makeString=U;function W(K){return typeof K=="function"}B.isFunction=W;function q(K){return typeof K=="undefined"}B.isUndefined=q;function Y(K){return Object.prototype.toString.call(K)==="[object String]"}B.isString=Y;function Q(K){return q(K)||!W(K)?function(J,ie){return J<ie?1:J===ie?0:-1}:function(J,ie){return K(J,ie)*-1}}B.reverseCompareFunction=Q;function Z(K){return function(J,ie){return K(J,ie)===0}}B.compareToEquals=Z})(util$a);Object.defineProperty(arrays$4,"__esModule",{value:!0});var util$9=util$a;function indexOf$1(B,R,F){for(var D=F||util$9.defaultEquals,G=B.length,U=0;U<G;U++)if(D(B[U],R))return U;return-1}arrays$4.indexOf=indexOf$1;function lastIndexOf(B,R,F){for(var D=F||util$9.defaultEquals,G=B.length,U=G-1;U>=0;U--)if(D(B[U],R))return U;return-1}arrays$4.lastIndexOf=lastIndexOf;function contains(B,R,F){return indexOf$1(B,R,F)>=0}arrays$4.contains=contains;function remove(B,R,F){var D=indexOf$1(B,R,F);return D<0?!1:(B.splice(D,1),!0)}arrays$4.remove=remove;function frequency(B,R,F){for(var D=F||util$9.defaultEquals,G=B.length,U=0,W=0;W<G;W++)D(B[W],R)&&U++;return U}arrays$4.frequency=frequency;function equals(B,R,F){var D=F||util$9.defaultEquals;if(B.length!==R.length)return!1;for(var G=B.length,U=0;U<G;U++)if(!D(B[U],R[U]))return!1;return!0}arrays$4.equals=equals;function copy(B){return B.concat()}arrays$4.copy=copy;function swap(B,R,F){if(R<0||R>=B.length||F<0||F>=B.length)return!1;var D=B[R];return B[R]=B[F],B[F]=D,!0}arrays$4.swap=swap;function toString$1(B){return"["+B.toString()+"]"}arrays$4.toString=toString$1;function forEach(B,R){for(var F=0,D=B;F<D.length;F++){var G=D[F];if(R(G)===!1)return}}arrays$4.forEach=forEach;var Bag$1={},Dictionary$2={};Object.defineProperty(Dictionary$2,"__esModule",{value:!0});var util$8=util$a,Dictionary$1=function(){function B(R){this.table={},this.nElements=0,this.toStr=R||util$8.defaultToString}return B.prototype.getValue=function(R){var F=this.table["$"+this.toStr(R)];if(!util$8.isUndefined(F))return F.value},B.prototype.setValue=function(R,F){if(!(util$8.isUndefined(R)||util$8.isUndefined(F))){var D,G="$"+this.toStr(R),U=this.table[G];return util$8.isUndefined(U)?(this.nElements++,D=void 0):D=U.value,this.table[G]={key:R,value:F},D}},B.prototype.remove=function(R){var F="$"+this.toStr(R),D=this.table[F];if(!util$8.isUndefined(D))return delete this.table[F],this.nElements--,D.value},B.prototype.keys=function(){var R=[];for(var F in this.table)if(util$8.has(this.table,F)){var D=this.table[F];R.push(D.key)}return R},B.prototype.values=function(){var R=[];for(var F in this.table)if(util$8.has(this.table,F)){var D=this.table[F];R.push(D.value)}return R},B.prototype.forEach=function(R){for(var F in this.table)if(util$8.has(this.table,F)){var D=this.table[F],G=R(D.key,D.value);if(G===!1)return}},B.prototype.containsKey=function(R){return!util$8.isUndefined(this.getValue(R))},B.prototype.clear=function(){this.table={},this.nElements=0},B.prototype.size=function(){return this.nElements},B.prototype.isEmpty=function(){return this.nElements<=0},B.prototype.toString=function(){var R="{";return this.forEach(function(F,D){R+=`
- `+F+" : "+D}),R+`
- }`},B}(),_default=Dictionary$2.default=Dictionary$1,_Set={};Object.defineProperty(_Set,"__esModule",{value:!0});var util$7=util$a,arrays$3=arrays$4,Dictionary_1$5=Dictionary$2,Set$1=function(){function B(R){this.dictionary=new Dictionary_1$5.default(R)}return B.prototype.contains=function(R){return this.dictionary.containsKey(R)},B.prototype.add=function(R){return this.contains(R)||util$7.isUndefined(R)?!1:(this.dictionary.setValue(R,R),!0)},B.prototype.intersection=function(R){var F=this;this.forEach(function(D){return R.contains(D)||F.remove(D),!0})},B.prototype.union=function(R){var F=this;R.forEach(function(D){return F.add(D),!0})},B.prototype.difference=function(R){var F=this;R.forEach(function(D){return F.remove(D),!0})},B.prototype.isSubsetOf=function(R){if(this.size()>R.size())return!1;var F=!0;return this.forEach(function(D){return R.contains(D)?!0:(F=!1,!1)}),F},B.prototype.remove=function(R){return this.contains(R)?(this.dictionary.remove(R),!0):!1},B.prototype.forEach=function(R){this.dictionary.forEach(function(F,D){return R(D)})},B.prototype.toArray=function(){return this.dictionary.values()},B.prototype.isEmpty=function(){return this.dictionary.isEmpty()},B.prototype.size=function(){return this.dictionary.size()},B.prototype.clear=function(){this.dictionary.clear()},B.prototype.toString=function(){return arrays$3.toString(this.toArray())},B}();_Set.default=Set$1;Object.defineProperty(Bag$1,"__esModule",{value:!0});var util$6=util$a,Dictionary_1$4=Dictionary$2,Set_1$1=_Set,Bag=function(){function B(R){this.toStrF=R||util$6.defaultToString,this.dictionary=new Dictionary_1$4.default(this.toStrF),this.nElements=0}return B.prototype.add=function(R,F){if(F===void 0&&(F=1),util$6.isUndefined(R)||F<=0)return!1;if(this.contains(R))this.dictionary.getValue(R).copies+=F;else{var D={value:R,copies:F};this.dictionary.setValue(R,D)}return this.nElements+=F,!0},B.prototype.count=function(R){return this.contains(R)?this.dictionary.getValue(R).copies:0},B.prototype.contains=function(R){return this.dictionary.containsKey(R)},B.prototype.remove=function(R,F){if(F===void 0&&(F=1),util$6.isUndefined(R)||F<=0)return!1;if(this.contains(R)){var D=this.dictionary.getValue(R);return F>D.copies?this.nElements-=D.copies:this.nElements-=F,D.copies-=F,D.copies<=0&&this.dictionary.remove(R),!0}else return!1},B.prototype.toArray=function(){for(var R=[],F=this.dictionary.values(),D=0,G=F;D<G.length;D++)for(var U=G[D],W=U.value,q=U.copies,Y=0;Y<q;Y++)R.push(W);return R},B.prototype.toSet=function(){for(var R=new Set_1$1.default(this.toStrF),F=this.dictionary.values(),D=0,G=F;D<G.length;D++){var U=G[D],W=U.value;R.add(W)}return R},B.prototype.forEach=function(R){this.dictionary.forEach(function(F,D){for(var G=D.value,U=D.copies,W=0;W<U;W++)if(R(G)===!1)return!1;return!0})},B.prototype.size=function(){return this.nElements},B.prototype.isEmpty=function(){return this.nElements===0},B.prototype.clear=function(){this.nElements=0,this.dictionary.clear()},B}();Bag$1.default=Bag;var BSTree$1={},BSTreeKV$1={},Queue$1={},LinkedList$1={};Object.defineProperty(LinkedList$1,"__esModule",{value:!0});var util$5=util$a,arrays$2=arrays$4,LinkedList=function(){function B(){this.firstNode=null,this.lastNode=null,this.nElements=0}return B.prototype.add=function(R,F){if(util$5.isUndefined(F)&&(F=this.nElements),F<0||F>this.nElements||util$5.isUndefined(R))return!1;var D=this.createNode(R);if(this.nElements===0||this.lastNode===null)this.firstNode=D,this.lastNode=D;else if(F===this.nElements)this.lastNode.next=D,this.lastNode=D;else if(F===0)D.next=this.firstNode,this.firstNode=D;else{var G=this.nodeAtIndex(F-1);if(G===null)return!1;D.next=G.next,G.next=D}return this.nElements++,!0},B.prototype.first=function(){if(this.firstNode!==null)return this.firstNode.element},B.prototype.last=function(){if(this.lastNode!==null)return this.lastNode.element},B.prototype.elementAtIndex=function(R){var F=this.nodeAtIndex(R);if(F!==null)return F.element},B.prototype.indexOf=function(R,F){var D=F||util$5.defaultEquals;if(util$5.isUndefined(R))return-1;for(var G=this.firstNode,U=0;G!==null;){if(D(G.element,R))return U;U++,G=G.next}return-1},B.prototype.contains=function(R,F){return this.indexOf(R,F)>=0},B.prototype.remove=function(R,F){var D=F||util$5.defaultEquals;if(this.nElements<1||util$5.isUndefined(R))return!1;for(var G=null,U=this.firstNode;U!==null;){if(D(U.element,R))return G===null?(this.firstNode=U.next,U===this.lastNode&&(this.lastNode=null)):U===this.lastNode?(this.lastNode=G,G.next=U.next,U.next=null):(G.next=U.next,U.next=null),this.nElements--,!0;G=U,U=U.next}return!1},B.prototype.clear=function(){this.firstNode=null,this.lastNode=null,this.nElements=0},B.prototype.equals=function(R,F){var D=F||util$5.defaultEquals;return!(R instanceof B)||this.size()!==R.size()?!1:this.equalsAux(this.firstNode,R.firstNode,D)},B.prototype.equalsAux=function(R,F,D){for(;R!==null&&F!==null;){if(!D(R.element,F.element))return!1;R=R.next,F=F.next}return!0},B.prototype.removeElementAtIndex=function(R){if(!(R<0||R>=this.nElements||this.firstNode===null||this.lastNode===null)){var F;if(this.nElements===1)F=this.firstNode.element,this.firstNode=null,this.lastNode=null;else{var D=this.nodeAtIndex(R-1);D===null?(F=this.firstNode.element,this.firstNode=this.firstNode.next):D.next===this.lastNode&&(F=this.lastNode.element,this.lastNode=D),D!==null&&D.next!==null&&(F=D.next.element,D.next=D.next.next)}return this.nElements--,F}},B.prototype.forEach=function(R){for(var F=this.firstNode;F!==null&&R(F.element)!==!1;)F=F.next},B.prototype.reverse=function(){for(var R=null,F=this.firstNode,D=null;F!==null;)D=F.next,F.next=R,R=F,F=D;D=this.firstNode,this.firstNode=this.lastNode,this.lastNode=D},B.prototype.toArray=function(){for(var R=[],F=this.firstNode;F!==null;)R.push(F.element),F=F.next;return R},B.prototype.size=function(){return this.nElements},B.prototype.isEmpty=function(){return this.nElements<=0},B.prototype.toString=function(){return arrays$2.toString(this.toArray())},B.prototype.nodeAtIndex=function(R){if(R<0||R>=this.nElements)return null;if(R===this.nElements-1)return this.lastNode;for(var F=this.firstNode,D=0;D<R&&F!==null;D++)F=F.next;return F},B.prototype.createNode=function(R){return{element:R,next:null}},B}();LinkedList$1.default=LinkedList;Object.defineProperty(Queue$1,"__esModule",{value:!0});var LinkedList_1$2=LinkedList$1,Queue=function(){function B(){this.list=new LinkedList_1$2.default}return B.prototype.enqueue=function(R){return this.list.add(R)},B.prototype.add=function(R){return this.list.add(R)},B.prototype.dequeue=function(){if(this.list.size()!==0){var R=this.list.first();return this.list.removeElementAtIndex(0),R}},B.prototype.peek=function(){if(this.list.size()!==0)return this.list.first()},B.prototype.size=function(){return this.list.size()},B.prototype.contains=function(R,F){return this.list.contains(R,F)},B.prototype.isEmpty=function(){return this.list.size()<=0},B.prototype.clear=function(){this.list.clear()},B.prototype.forEach=function(R){this.list.forEach(R)},B}();Queue$1.default=Queue;Object.defineProperty(BSTreeKV$1,"__esModule",{value:!0});var util$4=util$a,Queue_1$1=Queue$1,BSTreeKV=function(){function B(R){this.root=null,this.compare=R||util$4.defaultCompare,this.nElements=0}return B.prototype.add=function(R){return util$4.isUndefined(R)?!1:this.insertNode(this.createNode(R))!==null?(this.nElements++,!0):!1},B.prototype.clear=function(){this.root=null,this.nElements=0},B.prototype.isEmpty=function(){return this.nElements===0},B.prototype.size=function(){return this.nElements},B.prototype.contains=function(R){return util$4.isUndefined(R)?!1:this.searchNode(this.root,R)!==null},B.prototype.search=function(R){var F=this.searchNode(this.root,R);if(F!==null)return F.element},B.prototype.remove=function(R){var F=this.searchNode(this.root,R);return F===null?!1:(this.removeNode(F),this.nElements--,!0)},B.prototype.inorderTraversal=function(R){this.inorderTraversalAux(this.root,R,{stop:!1})},B.prototype.preorderTraversal=function(R){this.preorderTraversalAux(this.root,R,{stop:!1})},B.prototype.postorderTraversal=function(R){this.postorderTraversalAux(this.root,R,{stop:!1})},B.prototype.levelTraversal=function(R){this.levelTraversalAux(this.root,R)},B.prototype.minimum=function(){if(!(this.isEmpty()||this.root===null))return this.minimumAux(this.root).element},B.prototype.maximum=function(){if(!(this.isEmpty()||this.root===null))return this.maximumAux(this.root).element},B.prototype.forEach=function(R){this.inorderTraversal(R)},B.prototype.toArray=function(){var R=[];return this.inorderTraversal(function(F){return R.push(F),!0}),R},B.prototype.height=function(){return this.heightAux(this.root)},B.prototype.searchNode=function(R,F){for(var D=1;R!==null&&D!==0;)D=this.compare(F,R.element),D<0?R=R.leftCh:D>0&&(R=R.rightCh);return R},B.prototype.transplant=function(R,F){R.parent===null?this.root=F:R===R.parent.leftCh?R.parent.leftCh=F:R.parent.rightCh=F,F!==null&&(F.parent=R.parent)},B.prototype.removeNode=function(R){if(R.leftCh===null)this.transplant(R,R.rightCh);else if(R.rightCh===null)this.transplant(R,R.leftCh);else{var F=this.minimumAux(R.rightCh);F.parent!==R&&(this.transplant(F,F.rightCh),F.rightCh=R.rightCh,F.rightCh.parent=F),this.transplant(R,F),F.leftCh=R.leftCh,F.leftCh.parent=F}},B.prototype.inorderTraversalAux=function(R,F,D){R===null||D.stop||(this.inorderTraversalAux(R.leftCh,F,D),!D.stop&&(D.stop=F(R.element)===!1,!D.stop&&this.inorderTraversalAux(R.rightCh,F,D)))},B.prototype.levelTraversalAux=function(R,F){var D=new Queue_1$1.default;for(R!==null&&D.enqueue(R),R=D.dequeue()||null;R!=null;){if(F(R.element)===!1)return;R.leftCh!==null&&D.enqueue(R.leftCh),R.rightCh!==null&&D.enqueue(R.rightCh),R=D.dequeue()||null}},B.prototype.preorderTraversalAux=function(R,F,D){R===null||D.stop||(D.stop=F(R.element)===!1,!D.stop&&(this.preorderTraversalAux(R.leftCh,F,D),!D.stop&&this.preorderTraversalAux(R.rightCh,F,D)))},B.prototype.postorderTraversalAux=function(R,F,D){R===null||D.stop||(this.postorderTraversalAux(R.leftCh,F,D),!D.stop&&(this.postorderTraversalAux(R.rightCh,F,D),!D.stop&&(D.stop=F(R.element)===!1)))},B.prototype.minimumAux=function(R){for(;R!=null&&R.leftCh!==null;)R=R.leftCh;return R},B.prototype.maximumAux=function(R){for(;R!=null&&R.rightCh!==null;)R=R.rightCh;return R},B.prototype.heightAux=function(R){return R===null?-1:Math.max(this.heightAux(R.leftCh),this.heightAux(R.rightCh))+1},B.prototype.insertNode=function(R){for(var F=null,D=this.root;D!==null;){var G=this.compare(R.element,D.element);if(G===0)return null;G<0?(F=D,D=D.leftCh):(F=D,D=D.rightCh)}return R.parent=F,F===null?this.root=R:this.compare(R.element,F.element)<0?F.leftCh=R:F.rightCh=R,R},B.prototype.createNode=function(R){return{element:R,leftCh:null,rightCh:null,parent:null}},B}();BSTreeKV$1.default=BSTreeKV;var __extends$2=commonjsGlobal$2&&commonjsGlobal$2.__extends||function(){var B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,F){R.__proto__=F}||function(R,F){for(var D in F)F.hasOwnProperty(D)&&(R[D]=F[D])};return function(R,F){B(R,F);function D(){this.constructor=R}R.prototype=F===null?Object.create(F):(D.prototype=F.prototype,new D)}}();Object.defineProperty(BSTree$1,"__esModule",{value:!0});var BSTreeKV_1$1=BSTreeKV$1,BSTree=function(B){__extends$2(R,B);function R(){return B!==null&&B.apply(this,arguments)||this}return R}(BSTreeKV_1$1.default);BSTree$1.default=BSTree;var Heap$1={};Object.defineProperty(Heap$1,"__esModule",{value:!0});var collections=util$a,arrays$1=arrays$4,Heap=function(){function B(R){this.data=[],this.compare=R||collections.defaultCompare}return B.prototype.leftChildIndex=function(R){return 2*R+1},B.prototype.rightChildIndex=function(R){return 2*R+2},B.prototype.parentIndex=function(R){return Math.floor((R-1)/2)},B.prototype.minIndex=function(R,F){return F>=this.data.length?R>=this.data.length?-1:R:this.compare(this.data[R],this.data[F])<=0?R:F},B.prototype.siftUp=function(R){for(var F=this.parentIndex(R);R>0&&this.compare(this.data[F],this.data[R])>0;)arrays$1.swap(this.data,F,R),R=F,F=this.parentIndex(R)},B.prototype.siftDown=function(R){for(var F=this.minIndex(this.leftChildIndex(R),this.rightChildIndex(R));F>=0&&this.compare(this.data[R],this.data[F])>0;)arrays$1.swap(this.data,F,R),R=F,F=this.minIndex(this.leftChildIndex(R),this.rightChildIndex(R))},B.prototype.peek=function(){if(this.data.length>0)return this.data[0]},B.prototype.add=function(R){return collections.isUndefined(R)?!1:(this.data.push(R),this.siftUp(this.data.length-1),!0)},B.prototype.removeRoot=function(){if(this.data.length>0){var R=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),R}},B.prototype.contains=function(R){var F=collections.compareToEquals(this.compare);return arrays$1.contains(this.data,R,F)},B.prototype.size=function(){return this.data.length},B.prototype.isEmpty=function(){return this.data.length<=0},B.prototype.clear=function(){this.data.length=0},B.prototype.forEach=function(R){arrays$1.forEach(this.data,R)},B}();Heap$1.default=Heap;var LinkedDictionary$1={},__extends$1=commonjsGlobal$2&&commonjsGlobal$2.__extends||function(){var B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,F){R.__proto__=F}||function(R,F){for(var D in F)F.hasOwnProperty(D)&&(R[D]=F[D])};return function(R,F){B(R,F);function D(){this.constructor=R}R.prototype=F===null?Object.create(F):(D.prototype=F.prototype,new D)}}();Object.defineProperty(LinkedDictionary$1,"__esModule",{value:!0});var Dictionary_1$3=Dictionary$2,util$3=util$a,LinkedDictionaryPair=function(){function B(R,F){this.key=R,this.value=F}return B.prototype.unlink=function(){this.prev.next=this.next,this.next.prev=this.prev},B}(),HeadOrTailLinkedDictionaryPair=function(){function B(){this.key=null,this.value=null}return B.prototype.unlink=function(){this.prev.next=this.next,this.next.prev=this.prev},B}();function isHeadOrTailLinkedDictionaryPair(B){return!B.next}var LinkedDictionary=function(B){__extends$1(R,B);function R(F){var D=B.call(this,F)||this;return D.head=new HeadOrTailLinkedDictionaryPair,D.tail=new HeadOrTailLinkedDictionaryPair,D.head.next=D.tail,D.tail.prev=D.head,D}return R.prototype.appendToTail=function(F){var D=this.tail.prev;D.next=F,F.prev=D,F.next=this.tail,this.tail.prev=F},R.prototype.getLinkedDictionaryPair=function(F){if(!util$3.isUndefined(F)){var D="$"+this.toStr(F),G=this.table[D];return G}},R.prototype.getValue=function(F){var D=this.getLinkedDictionaryPair(F);if(!util$3.isUndefined(D))return D.value},R.prototype.remove=function(F){var D=this.getLinkedDictionaryPair(F);if(!util$3.isUndefined(D))return B.prototype.remove.call(this,F),D.unlink(),D.value},R.prototype.clear=function(){B.prototype.clear.call(this),this.head.next=this.tail,this.tail.prev=this.head},R.prototype.replace=function(F,D){var G="$"+this.toStr(D.key);D.next=F.next,D.prev=F.prev,this.remove(F.key),D.prev.next=D,D.next.prev=D,this.table[G]=D,++this.nElements},R.prototype.setValue=function(F,D){if(!(util$3.isUndefined(F)||util$3.isUndefined(D))){var G=this.getLinkedDictionaryPair(F),U=new LinkedDictionaryPair(F,D),W="$"+this.toStr(F);if(util$3.isUndefined(G)){this.appendToTail(U),this.table[W]=U,++this.nElements;return}else return this.replace(G,U),G.value}},R.prototype.keys=function(){var F=[];return this.forEach(function(D,G){F.push(D)}),F},R.prototype.values=function(){var F=[];return this.forEach(function(D,G){F.push(G)}),F},R.prototype.forEach=function(F){for(var D=this.head.next;!isHeadOrTailLinkedDictionaryPair(D);){var G=F(D.key,D.value);if(G===!1)return;D=D.next}},R}(Dictionary_1$3.default);LinkedDictionary$1.default=LinkedDictionary;var MultiDictionary$1={};Object.defineProperty(MultiDictionary$1,"__esModule",{value:!0});var util$2=util$a,Dictionary_1$2=Dictionary$2,arrays=arrays$4,MultiDictionary=function(){function B(R,F,D){D===void 0&&(D=!1),this.dict=new Dictionary_1$2.default(R),this.equalsF=F||util$2.defaultEquals,this.allowDuplicate=D}return B.prototype.getValue=function(R){var F=this.dict.getValue(R);return util$2.isUndefined(F)?[]:arrays.copy(F)},B.prototype.setValue=function(R,F){if(util$2.isUndefined(R)||util$2.isUndefined(F))return!1;var D=this.dict.getValue(R);return util$2.isUndefined(D)?(this.dict.setValue(R,[F]),!0):!this.allowDuplicate&&arrays.contains(D,F,this.equalsF)?!1:(D.push(F),!0)},B.prototype.remove=function(R,F){if(util$2.isUndefined(F)){var D=this.dict.remove(R);return!util$2.isUndefined(D)}var G=this.dict.getValue(R);return!util$2.isUndefined(G)&&arrays.remove(G,F,this.equalsF)?(G.length===0&&this.dict.remove(R),!0):!1},B.prototype.keys=function(){return this.dict.keys()},B.prototype.values=function(){for(var R=this.dict.values(),F=[],D=0,G=R;D<G.length;D++)for(var U=G[D],W=0,q=U;W<q.length;W++){var Y=q[W];F.push(Y)}return F},B.prototype.containsKey=function(R){return this.dict.containsKey(R)},B.prototype.clear=function(){this.dict.clear()},B.prototype.size=function(){return this.dict.size()},B.prototype.isEmpty=function(){return this.dict.isEmpty()},B}();MultiDictionary$1.default=MultiDictionary;var FactoryDictionary$1={},__extends=commonjsGlobal$2&&commonjsGlobal$2.__extends||function(){var B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,F){R.__proto__=F}||function(R,F){for(var D in F)F.hasOwnProperty(D)&&(R[D]=F[D])};return function(R,F){B(R,F);function D(){this.constructor=R}R.prototype=F===null?Object.create(F):(D.prototype=F.prototype,new D)}}();Object.defineProperty(FactoryDictionary$1,"__esModule",{value:!0});var Dictionary_1$1=Dictionary$2,util$1=util$a,FactoryDictionary=function(B){__extends(R,B);function R(F,D){var G=B.call(this,D)||this;return G.defaultFactoryFunction=F,G}return R.prototype.setDefault=function(F,D){var G=B.prototype.getValue.call(this,F);return util$1.isUndefined(G)?(this.setValue(F,D),D):G},R.prototype.getValue=function(F){return this.setDefault(F,this.defaultFactoryFunction())},R}(Dictionary_1$1.default);FactoryDictionary$1.default=FactoryDictionary;var PriorityQueue$1={};Object.defineProperty(PriorityQueue$1,"__esModule",{value:!0});var util=util$a,Heap_1$1=Heap$1,PriorityQueue=function(){function B(R){this.heap=new Heap_1$1.default(util.reverseCompareFunction(R))}return B.prototype.enqueue=function(R){return this.heap.add(R)},B.prototype.add=function(R){return this.heap.add(R)},B.prototype.dequeue=function(){if(this.heap.size()!==0){var R=this.heap.peek();return this.heap.removeRoot(),R}},B.prototype.peek=function(){return this.heap.peek()},B.prototype.contains=function(R){return this.heap.contains(R)},B.prototype.isEmpty=function(){return this.heap.isEmpty()},B.prototype.size=function(){return this.heap.size()},B.prototype.clear=function(){this.heap.clear()},B.prototype.forEach=function(R){this.heap.forEach(R)},B}();PriorityQueue$1.default=PriorityQueue;var Stack$1={};Object.defineProperty(Stack$1,"__esModule",{value:!0});var LinkedList_1$1=LinkedList$1,Stack=function(){function B(){this.list=new LinkedList_1$1.default}return B.prototype.push=function(R){return this.list.add(R,0)},B.prototype.add=function(R){return this.list.add(R,0)},B.prototype.pop=function(){return this.list.removeElementAtIndex(0)},B.prototype.peek=function(){return this.list.first()},B.prototype.size=function(){return this.list.size()},B.prototype.contains=function(R,F){return this.list.contains(R,F)},B.prototype.isEmpty=function(){return this.list.isEmpty()},B.prototype.clear=function(){this.list.clear()},B.prototype.forEach=function(R){this.list.forEach(R)},B}();Stack$1.default=Stack;var MultiRootTree$1={};Object.defineProperty(MultiRootTree$1,"__esModule",{value:!0});var Direction;(function(B){B[B.BEFORE=0]="BEFORE",B[B.AFTER=1]="AFTER",B[B.INSIDE_AT_END=2]="INSIDE_AT_END",B[B.INSIDE_AT_START=3]="INSIDE_AT_START"})(Direction||(Direction={}));var MultiRootTree=function(){function B(R,F){R===void 0&&(R=[]),F===void 0&&(F={}),this.rootIds=R,this.nodes=F,this.initRootIds(),this.initNodes()}return B.prototype.initRootIds=function(){for(var R=0,F=this.rootIds;R<F.length;R++){var D=F[R];this.createEmptyNodeIfNotExist(D)}},B.prototype.initNodes=function(){for(var R in this.nodes)if(this.nodes.hasOwnProperty(R))for(var F=0,D=this.nodes[R];F<D.length;F++){var G=D[F];this.createEmptyNodeIfNotExist(G)}},B.prototype.createEmptyNodeIfNotExist=function(R){this.nodes[R]||(this.nodes[R]=[])},B.prototype.getRootIds=function(){var R=this.rootIds.slice();return R},B.prototype.getNodes=function(){var R={};for(var F in this.nodes)this.nodes.hasOwnProperty(F)&&(R[F]=this.nodes[F].slice());return R},B.prototype.getObject=function(){return{rootIds:this.getRootIds(),nodes:this.getNodes()}},B.prototype.toObject=function(){return this.getObject()},B.prototype.flatten=function(){for(var R=this,F=[],D=0;D<this.rootIds.length;D++){var G=this.rootIds[D];F.push({id:G,level:0,hasParent:!1,childrenCount:0}),Q(G,this.nodes,F,0)}for(var U=0,W=F;U<W.length;U++){var q=W[U];q.childrenCount=Y(q.id)}return F;function Y(Z){if(R.nodes[Z]){var K=R.nodes[Z].length;return K}else return 0}function Q(Z,K,J,ie){if(ie===void 0&&(ie=0),!(!Z||!K||!J||!K[Z])){ie++;for(var ne=K[Z],se=0;se<ne.length;se++){var re=ne[se];J.push({id:re,level:ie,hasParent:!0}),Q(re,K,J,ie)}ie--}}},B.prototype.moveIdBeforeId=function(R,F){return this.moveId(R,F,Direction.BEFORE)},B.prototype.moveIdAfterId=function(R,F){return this.moveId(R,F,Direction.AFTER)},B.prototype.moveIdIntoId=function(R,F,D){return D===void 0&&(D=!0),D?this.moveId(R,F,Direction.INSIDE_AT_START):this.moveId(R,F,Direction.INSIDE_AT_END)},B.prototype.swapRootIdWithRootId=function(R,F){var D=this.findRootId(R),G=this.findRootId(F);this.swapRootPositionWithRootPosition(D,G)},B.prototype.swapRootPositionWithRootPosition=function(R,F){var D=this.rootIds[F];this.rootIds[F]=this.rootIds[R],this.rootIds[R]=D},B.prototype.deleteId=function(R){this.rootDeleteId(R),this.nodeAndSubNodesDelete(R),this.nodeRefrencesDelete(R)},B.prototype.insertIdBeforeId=function(R,F){var D=this.findRootId(R);D>-1&&this.insertIdIntoRoot(F,D);for(var G in this.nodes)if(this.nodes.hasOwnProperty(G)){var U=this.findNodeId(G,R);U>-1&&this.insertIdIntoNode(G,F,U)}},B.prototype.insertIdAfterId=function(R,F){var D=this.findRootId(R);D>-1&&this.insertIdIntoRoot(F,D+1);for(var G in this.nodes)if(this.nodes.hasOwnProperty(G)){var U=this.findNodeId(G,R);U>-1&&this.insertIdIntoNode(G,F,U+1)}},B.prototype.insertIdIntoId=function(R,F){this.nodeInsertAtEnd(R,F),this.nodes[F]=[]},B.prototype.insertIdIntoRoot=function(R,F){if(F===void 0)this.rootInsertAtEnd(R);else if(F<0){var D=this.rootIds.length;this.rootIds.splice(F+D+1,0,R)}else this.rootIds.splice(F,0,R);this.nodes[R]=this.nodes[R]||[]},B.prototype.insertIdIntoNode=function(R,F,D){if(this.nodes[R]=this.nodes[R]||[],this.nodes[F]=this.nodes[F]||[],D===void 0)this.nodeInsertAtEnd(R,F);else if(D<0){var G=this.nodes[R].length;this.nodes[R].splice(D+G+1,0,F)}else this.nodes[R].splice(D,0,F)},B.prototype.moveId=function(R,F,D){var G=R,U=this.findRootId(G);this.nodes[F];for(var W in this.nodes)if(this.nodes.hasOwnProperty(W)){this.findNodeId(W,F);break}var q=F,Y=this.findRootId(q);this.nodes[F];for(var W in this.nodes)if(this.nodes.hasOwnProperty(W)){this.findNodeId(W,F);break}if(U>-1)if(Y>-1)switch(this.rootDelete(U),Y>U&&Y--,D){case Direction.BEFORE:this.insertIdIntoRoot(G,Y);break;case Direction.AFTER:this.insertIdIntoRoot(G,Y+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(q,G);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(q,G);break}else{this.rootDelete(U);for(var W in this.nodes)if(this.nodes.hasOwnProperty(W)){var Q=this.findNodeId(W,q);if(Q>-1){switch(D){case Direction.BEFORE:this.insertIdIntoNode(W,G,Q);break;case Direction.AFTER:this.insertIdIntoNode(W,G,Q+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(q,G);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(q,G);break}break}}}else if(Y>-1){for(var W in this.nodes)if(this.nodes.hasOwnProperty(W)){var Q=this.findNodeId(W,G);if(Q>-1){this.nodeDeleteAtIndex(W,Q);break}}switch(D){case Direction.BEFORE:this.insertIdIntoRoot(G,Y);break;case Direction.AFTER:this.insertIdIntoRoot(G,Y+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(q,G);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(q,G);break}}else{for(var W in this.nodes)if(this.nodes.hasOwnProperty(W)){var Q=this.findNodeId(W,G);if(Q>-1){this.nodeDeleteAtIndex(W,Q);break}}for(var W in this.nodes)if(this.nodes.hasOwnProperty(W)){var Q=this.findNodeId(W,q);if(Q>-1){switch(D){case Direction.BEFORE:this.insertIdIntoNode(W,G,Q);break;case Direction.AFTER:this.insertIdIntoNode(W,G,Q+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(q,G);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(q,G);break}break}}}},B.prototype.swapArrayElements=function(R,F,D){var G=R[F];return R[F]=R[D],R[D]=G,R},B.prototype.rootDeleteId=function(R){var F=this.findRootId(R);F>-1&&this.rootDelete(F)},B.prototype.nodeAndSubNodesDelete=function(R){for(var F=[],D=0;D<this.nodes[R].length;D++){var G=this.nodes[R][D];this.nodeAndSubNodesDelete(G),F.push(R)}this.nodeDelete(R);for(var D=0;D<F.length;D++)this.nodeDelete(F[D])},B.prototype.nodeRefrencesDelete=function(R){for(var F in this.nodes)if(this.nodes.hasOwnProperty(F))for(var D=0;D<this.nodes[F].length;D++){var G=this.nodes[F][D];G===R&&this.nodeDeleteAtIndex(F,D)}},B.prototype.nodeDelete=function(R){delete this.nodes[R]},B.prototype.findRootId=function(R){return this.rootIds.indexOf(R)},B.prototype.findNodeId=function(R,F){return this.nodes[R].indexOf(F)},B.prototype.findNode=function(R){return this.nodes[R]},B.prototype.nodeInsertAtStart=function(R,F){this.nodes[R].unshift(F)},B.prototype.nodeInsertAtEnd=function(R,F){this.nodes[R].push(F)},B.prototype.rootDelete=function(R){this.rootIds.splice(R,1)},B.prototype.nodeDeleteAtIndex=function(R,F){this.nodes[R].splice(F,1)},B.prototype.rootInsertAtStart=function(R){this.rootIds.unshift(R)},B.prototype.rootInsertAtEnd=function(R){this.rootIds.push(R)},B}();MultiRootTree$1.default=MultiRootTree;Object.defineProperty(lib$3,"__esModule",{value:!0});var _arrays=arrays$4;lib$3.arrays=_arrays;var Bag_1=Bag$1;lib$3.Bag=Bag_1.default;var BSTree_1=BSTree$1;lib$3.BSTree=BSTree_1.default;var BSTreeKV_1=BSTreeKV$1;lib$3.BSTreeKV=BSTreeKV_1.default;var Dictionary_1=Dictionary$2,Dictionary=lib$3.Dictionary=Dictionary_1.default,Heap_1=Heap$1;lib$3.Heap=Heap_1.default;var LinkedDictionary_1=LinkedDictionary$1;lib$3.LinkedDictionary=LinkedDictionary_1.default;var LinkedList_1=LinkedList$1;lib$3.LinkedList=LinkedList_1.default;var MultiDictionary_1=MultiDictionary$1;lib$3.MultiDictionary=MultiDictionary_1.default;var FactoryDictionary_1=FactoryDictionary$1;lib$3.FactoryDictionary=FactoryDictionary_1.default;var FactoryDictionary_2=FactoryDictionary$1;lib$3.DefaultDictionary=FactoryDictionary_2.default;var Queue_1=Queue$1;lib$3.Queue=Queue_1.default;var PriorityQueue_1=PriorityQueue$1;lib$3.PriorityQueue=PriorityQueue_1.default;var Set_1=_Set;lib$3.Set=Set_1.default;var Stack_1=Stack$1;lib$3.Stack=Stack_1.default;var MultiRootTree_1=MultiRootTree$1;lib$3.MultiRootTree=MultiRootTree_1.default;var _util=util$a;lib$3.util=_util;const _InstantaneousDynamicExpression=class extends AbstractExpression{constructor(B,R,F,D,G){super(F),super.parentMeasure=G,this.dynamicEnum=DynamicEnum[B.toLowerCase()],this.soundDynamic=R,this.staffNumber=D}static staticConstructor(){_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.ffffff,127/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.fffff,126/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.ffff,125/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.fff,124/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.ff,122/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.f,108/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.mf,76/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.sf,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.sfp,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.sfpp,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.fp,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.rf,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.rfz,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.sfz,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.sffz,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.fz,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.mp,60/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.p,28/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.pp,12/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.ppp,10/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.pppp,7/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.ppppp,5/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(DynamicEnum.pppppp,4/127)}get ParentMultiExpression(){return this.multiExpression}set ParentMultiExpression(B){this.multiExpression=B}get DynEnum(){return this.dynamicEnum}set DynEnum(B){this.dynamicEnum=B}get SoundDynamic(){return this.soundDynamic}set SoundDynamic(B){this.soundDynamic=B}get Placement(){return this.placement}set Placement(B){this.placement=B}get StaffNumber(){return this.staffNumber}set StaffNumber(B){this.staffNumber=B}get Length(){return Math.abs(this.length)<1e-4&&(this.length=this.calculateLength()),this.length}get MidiVolume(){return this.Volume*127}get Volume(){return _InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.getValue(this.dynamicEnum)}static isInputStringInstantaneousDynamic(B){return B?_InstantaneousDynamicExpression.isStringInStringList(_InstantaneousDynamicExpression.listInstantaneousDynamics,B):!1}getDynamicExpressionSymbol(B){switch(B){case"p":return DynamicExpressionSymbolEnum.p;case"f":return DynamicExpressionSymbolEnum.f;case"s":return DynamicExpressionSymbolEnum.s;case"z":return DynamicExpressionSymbolEnum.z;case"m":return DynamicExpressionSymbolEnum.m;case"r":return DynamicExpressionSymbolEnum.r;default:throw new InvalidEnumArgumentException("unknown DynamicExpressionSymbolEnum: "+B)}}calculateLength(){return log$2.debug("[Andrea] instantaneousDynamicExpression: not implemented: calculateLength!"),0}};let InstantaneousDynamicExpression=_InstantaneousDynamicExpression;InstantaneousDynamicExpression.dynamicToRelativeVolumeDict=new Dictionary;InstantaneousDynamicExpression.listInstantaneousDynamics=["pppppp","ppppp","pppp","ppp","pp","p","ffffff","fffff","ffff","fff","ff","f","mf","mp","sf","sff","sp","spp","fp","rf","rfz","sfz","sffz","fz"];var DynamicEnum=(B=>(B[B.pppppp=0]="pppppp",B[B.ppppp=1]="ppppp",B[B.pppp=2]="pppp",B[B.ppp=3]="ppp",B[B.pp=4]="pp",B[B.p=5]="p",B[B.mp=6]="mp",B[B.mf=7]="mf",B[B.f=8]="f",B[B.ff=9]="ff",B[B.fff=10]="fff",B[B.ffff=11]="ffff",B[B.fffff=12]="fffff",B[B.ffffff=13]="ffffff",B[B.sf=14]="sf",B[B.sff=15]="sff",B[B.sfp=16]="sfp",B[B.sfpp=17]="sfpp",B[B.fp=18]="fp",B[B.rf=19]="rf",B[B.rfz=20]="rfz",B[B.sfz=21]="sfz",B[B.sffz=22]="sffz",B[B.fz=23]="fz",B[B.other=24]="other",B))(DynamicEnum||{});InstantaneousDynamicExpression.staticConstructor();class DynamicsContainer{constructor(R,F){R instanceof ContinuousDynamicExpression?this.continuousDynamicExpression=R:R instanceof InstantaneousDynamicExpression&&(this.instantaneousDynamicExpression=R),this.staffNumber=F}static Compare(R,F){return R.parMultiExpression().AbsoluteTimestamp.CompareTo(F.parMultiExpression().AbsoluteTimestamp)}parMultiExpression(){if(this.continuousDynamicExpression)return this.continuousDynamicExpression.StartMultiExpression;if(this.instantaneousDynamicExpression)return this.instantaneousDynamicExpression.ParentMultiExpression}}class AbstractNotationInstruction{constructor(R){this.printObject=!0,this.parent=R}get Parent(){return this.parent}set Parent(R){this.parent=R}get PrintObject(){return this.printObject}set PrintObject(R){this.printObject=R}}class RhythmInstruction extends AbstractNotationInstruction{constructor(R,F){super(void 0),this.rhythm=R,this.numerator=R.Numerator,this.denominator=R.Denominator,this.symbolEnum=F}get Rhythm(){return this.rhythm}set Rhythm(R){this.rhythm=R}get SymbolEnum(){return this.symbolEnum}set SymbolEnum(R){this.symbolEnum=R}clone(){return new RhythmInstruction(this.rhythm.clone(),this.symbolEnum)}OperatorEquals(R){const F=this;return F===R?!0:!F||!R?!1:F.numerator===R.numerator&&F.denominator===R.denominator}OperatorNotEqual(R){return this!==R}ToString(){return"Rhythm: "+this.rhythm.toString()}}var RhythmSymbolEnum=(B=>(B[B.NONE=0]="NONE",B[B.COMMON=1]="COMMON",B[B.CUT=2]="CUT",B))(RhythmSymbolEnum||{});class MusicPartManagerIterator{constructor(R,F,D){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=[];try{this.frontReached=!0,this.musicSheet=R,this.currentBpm=R.userStartTempoInBPM,this.currentVoiceEntries=void 0,this.frontReached=!1;for(const G of this.musicSheet.Repetitions)this.setRepetitionIterationCount(G,1);for(let G=0;G<R.getCompleteNumberOfStaves();G++)this.ActiveDynamicExpressions.push(void 0);this.currentMeasure=this.musicSheet.SourceMeasures[0],F||(F=new Fraction$1);do this.moveToNext();while((!this.currentVoiceEntries||this.currentTimeStamp.lt(F))&&!this.endReached);for(let G=0;G<this.activeDynamicExpressions.length;G++)if(this.activeDynamicExpressions[G])if(this.activeDynamicExpressions[G]instanceof ContinuousDynamicExpression){const U=this.activeDynamicExpressions[G];this.currentDynamicChangingExpressions.push(new DynamicsContainer(U,G))}else{const U=this.activeDynamicExpressions[G];this.currentDynamicChangingExpressions.push(new DynamicsContainer(U,G))}this.currentTempoChangingExpression=this.activeTempoExpression}catch(G){log$2.info("MusicPartManagerIterator: "+G)}}get EndReached(){return this.endReached}get FrontReached(){return this.frontReached}get CurrentMeasure(){return this.currentMeasure}get CurrentRepetition(){return this.currentRepetition}get CurrentRepetitionIteration(){return this.CurrentRepetition?this.getRepetitionIterationCount(this.CurrentRepetition):0}get CurrentJumpResponsibleRepetitionIterationBeforeJump(){return this.jumpResponsibleRepetition?this.getRepetitionIterationCount(this.jumpResponsibleRepetition)-1:0}get CurrentBpm(){return this.currentBpm}get CurrentVoiceEntries(){return this.currentVoiceEntries}get CurrentMeasureIndex(){return this.currentMeasureIndex}get CurrentEnrolledTimestamp(){return Fraction$1.plus(this.currentEnrolledMeasureTimestamp,this.currentVerticalContainerInMeasureTimestamp)}get CurrentSourceTimestamp(){return this.currentTimeStamp}get CurrentRelativeInMeasureTimestamp(){return this.currentRelativeInMeasureTimestamp}get JumpOccurred(){return this.backJumpOccurred||this.forwardJumpOccurred}get ActiveTempoExpression(){return this.activeTempoExpression}get ActiveDynamicExpressions(){return this.activeDynamicExpressions}get CurrentTempoChangingExpression(){return this.currentTempoChangingExpression}get JumpResponsibleRepetition(){return this.jumpResponsibleRepetition}clone(R=void 0,F=void 0){const D=new MusicPartManagerIterator(this.musicSheet,R!=null?R:this.currentTimeStamp,F);return D.currentVoiceEntryIndex=this.currentVoiceEntryIndex,D.currentMappingPart=this.currentMappingPart,D.currentPartIndex=this.currentPartIndex,D.currentVoiceEntries=this.currentVoiceEntries,D.endReached=this.endReached,D.frontReached=this.frontReached,D}CurrentVisibleVoiceEntries(R){const F=[];if(!this.currentVoiceEntries)return F;if(R){for(const D of this.currentVoiceEntries)if(D.ParentVoice.Parent.IdString===R.IdString)return this.getVisibleEntries(D,F),F}else for(const D of this.currentVoiceEntries)this.getVisibleEntries(D,F);return F}CurrentAudibleVoiceEntries(R){const F=[];if(this.currentVoiceEntries)if(R){for(const D of this.currentVoiceEntries)if(D.ParentVoice.Parent.IdString===R.IdString)return this.getAudibleEntries(D,F),F}else for(const D of this.currentVoiceEntries)this.getAudibleEntries(D,F);return F}getCurrentDynamicChangingExpressions(){return this.currentDynamicChangingExpressions}CurrentScoreFollowingVoiceEntries(R){const F=[];if(!this.currentVoiceEntries)return F;if(R){for(const D of this.currentVoiceEntries)if(D.ParentVoice.Parent.IdString===R.IdString)return this.getScoreFollowingEntries(D,F),F}else for(const D of this.currentVoiceEntries)this.getScoreFollowingEntries(D,F);return F}currentPlaybackSettings(){return this.musicSheet.SheetPlaybackSetting}moveToNext(){this.forwardJumpOccurred=this.backJumpOccurred=!1,!this.endReached&&(this.currentVoiceEntries&&(this.currentVoiceEntries.length=0),this.recursiveMove(),this.currentMeasure||(this.currentTimeStamp=new Fraction$1(99999,1)),this.CurrentTempoChangingExpression!==void 0&&(this.CurrentTempoChangingExpression.ContinuousTempo!==void 0?this.currentBpm=this.CurrentTempoChangingExpression.ContinuousTempo.getInterpolatedTempo(this.CurrentSourceTimestamp):this.currentBpm=this.CurrentTempoChangingExpression.InstantaneousTempo.TempoInBpm))}moveToNextVisibleVoiceEntry(R){for(;!this.endReached;)if(this.moveToNext(),this.checkEntries(R))return}resetRepetitionIterationCount(R){return 1}incrementRepetitionIterationCount(R){return this.repetitionIterationCountDictKeys.indexOf(R)===-1?this.setRepetitionIterationCount(R,1):this.setRepetitionIterationCount(R,this.getRepetitionIterationCount(R)+1)}setRepetitionIterationCount(R,F){const D=this.repetitionIterationCountDictKeys.indexOf(R);return D===-1?(this.repetitionIterationCountDictKeys.push(R),this.repetitionIterationCountDictValues.push(F)):this.repetitionIterationCountDictValues[D]=F,F}getRepetitionIterationCount(R){const F=this.repetitionIterationCountDictKeys.indexOf(R);if(F!==-1)return this.repetitionIterationCountDictValues[F]}handleRepetitionsAtMeasureBegin(){for(let R=0,F=this.currentMeasure.FirstRepetitionInstructions.length;R<F;++R){const D=this.currentMeasure.FirstRepetitionInstructions[R];if(!D.parentRepetition)continue;const G=D.parentRepetition;this.currentRepetition=G,G.StartIndex===this.currentMeasureIndex&&this.JumpResponsibleRepetition!==void 0&&G!==this.JumpResponsibleRepetition&&G.StartIndex>=this.JumpResponsibleRepetition.StartIndex&&G.EndIndex<=this.JumpResponsibleRepetition.EndIndex&&this.resetRepetitionIterationCount(G)}}handleRepetitionsAtMeasureEnd(){for(let R=0,F=this.currentMeasure.LastRepetitionInstructions.length;R<F;++R){const D=this.currentMeasure.LastRepetitionInstructions[R],G=D.parentRepetition;if(!!G){if(G.BackwardJumpInstructions.indexOf(D)>-1&&this.getRepetitionIterationCount(G)<G.UserNumberOfRepetitions){this.doBackJump(G);return}if(D===G.forwardJumpInstruction&&(this.JumpResponsibleRepetition!==void 0&&G!==this.JumpResponsibleRepetition&&G.StartIndex>=this.JumpResponsibleRepetition.StartIndex&&G.EndIndex<=this.JumpResponsibleRepetition.EndIndex&&this.resetRepetitionIterationCount(G),this.repetitionIterationCountDictKeys.contains(G))){const U=G.getForwardJumpTargetForIteration(this.getRepetitionIterationCount(G));if(U>=0){this.currentMeasureIndex=U,this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex],this.currentVoiceEntryIndex=-1,this.jumpResponsibleRepetition=G,this.forwardJumpOccurred=!0;return}U===-2&&(this.endReached=!0)}}}this.currentMeasureIndex++,this.JumpResponsibleRepetition!==void 0&&this.currentMeasureIndex>this.JumpResponsibleRepetition.EndIndex&&(this.jumpResponsibleRepetition=void 0)}doBackJump(R){this.currentMeasureIndex=R.getBackwardJumpTarget(),this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex],this.currentVoiceEntryIndex=-1,this.incrementRepetitionIterationCount(R),this.jumpResponsibleRepetition=R,this.backJumpOccurred=!0}activateCurrentRhythmInstructions(){if(this.currentMeasure!==void 0&&this.currentMeasure.FirstInstructionsStaffEntries.length>0&&this.currentMeasure.FirstInstructionsStaffEntries[0]!==void 0){const R=this.currentMeasure.FirstInstructionsStaffEntries[0].Instructions;for(let F=0,D=R.length;F<D;++F){const G=R[F];G instanceof RhythmInstruction&&(this.musicSheet.SheetPlaybackSetting.rhythm=G.Rhythm)}}}activateCurrentDynamicOrTempoInstructions(){const R=this.musicSheet.TimestampSortedDynamicExpressionsList;for(;this.currentDynamicEntryIndex>0&&(this.currentDynamicEntryIndex>=R.length||R[this.currentDynamicEntryIndex].parMultiExpression().AbsoluteTimestamp.gte(this.CurrentSourceTimestamp));)this.currentDynamicEntryIndex--;for(;this.currentDynamicEntryIndex<R.length&&R[this.currentDynamicEntryIndex].parMultiExpression().AbsoluteTimestamp.lt(this.CurrentSourceTimestamp);)this.currentDynamicEntryIndex++;for(;this.currentDynamicEntryIndex<R.length&&R[this.currentDynamicEntryIndex].parMultiExpression().AbsoluteTimestamp.Equals(this.CurrentSourceTimestamp);){const D=R[this.currentDynamicEntryIndex],G=D.staffNumber;this.CurrentSourceTimestamp.Equals(D.parMultiExpression().AbsoluteTimestamp)&&(D.continuousDynamicExpression?this.activeDynamicExpressions[G]=D.continuousDynamicExpression:D.instantaneousDynamicExpression&&(this.activeDynamicExpressions[G]=D.instantaneousDynamicExpression)),this.currentDynamicEntryIndex++}this.currentDynamicChangingExpressions.length=0;for(let D=0;D<this.activeDynamicExpressions.length;D++)if(this.activeDynamicExpressions[D]){let G,U;if(this.activeDynamicExpressions[D]instanceof ContinuousDynamicExpression){const W=this.activeDynamicExpressions[D];G=W.StartMultiExpression.AbsoluteTimestamp,U=W.EndMultiExpression.AbsoluteTimestamp,this.CurrentSourceTimestamp.gte(G)&&this.CurrentSourceTimestamp.lte(U)&&this.currentDynamicChangingExpressions.push(new DynamicsContainer(W,D))}else{const W=this.activeDynamicExpressions[D];this.CurrentSourceTimestamp.Equals(W.ParentMultiExpression.AbsoluteTimestamp)&&this.currentDynamicChangingExpressions.push(new DynamicsContainer(W,D))}}const F=this.musicSheet.TimestampSortedTempoExpressionsList;for(;this.currentTempoEntryIndex>0&&(this.currentTempoEntryIndex>=F.length||F[this.currentTempoEntryIndex].AbsoluteTimestamp.gte(this.CurrentSourceTimestamp));)this.currentTempoEntryIndex--;for(;this.currentTempoEntryIndex<F.length&&F[this.currentTempoEntryIndex].AbsoluteTimestamp.lt(this.CurrentSourceTimestamp);)this.currentTempoEntryIndex++;for(;this.currentTempoEntryIndex<F.length&&F[this.currentTempoEntryIndex].AbsoluteTimestamp.Equals(this.CurrentSourceTimestamp);)this.activeTempoExpression=F[this.currentTempoEntryIndex],this.currentTempoEntryIndex++;if(this.currentTempoChangingExpression=void 0,this.activeTempoExpression){let D=this.activeTempoExpression.AbsoluteTimestamp;this.activeTempoExpression.ContinuousTempo&&(D=this.activeTempoExpression.ContinuousTempo.AbsoluteEndTimestamp),(this.CurrentSourceTimestamp.gte(this.activeTempoExpression.AbsoluteTimestamp)||this.CurrentSourceTimestamp.lte(D))&&(this.currentTempoChangingExpression=this.activeTempoExpression)}}recursiveMove(){if(this.currentVoiceEntryIndex++,this.currentVoiceEntryIndex===0&&(this.handleRepetitionsAtMeasureBegin(),this.activateCurrentRhythmInstructions()),this.currentVoiceEntryIndex>=0&&this.currentVoiceEntryIndex<this.currentMeasure.VerticalSourceStaffEntryContainers.length){const R=this.currentMeasure.VerticalSourceStaffEntryContainers[this.currentVoiceEntryIndex];this.currentVoiceEntries=this.getVoiceEntries(R),this.currentVerticalContainerInMeasureTimestamp=R.Timestamp,this.currentTimeStamp=Fraction$1.plus(this.currentMeasure.AbsoluteTimestamp,this.currentVerticalContainerInMeasureTimestamp);const F=this.musicSheet.SelectionEnd;F&&this.currentTimeStamp.gte(F)&&(this.endReached=!0),this.activateCurrentDynamicOrTempoInstructions();return}if(this.currentEnrolledMeasureTimestamp.Add(this.currentMeasure.Duration),this.handleRepetitionsAtMeasureEnd(),this.currentMeasureIndex>=0&&this.currentMeasureIndex<this.musicSheet.SourceMeasures.length){this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex],this.currentTimeStamp=Fraction$1.plus(this.currentMeasure.AbsoluteTimestamp,this.currentVerticalContainerInMeasureTimestamp),this.currentVoiceEntryIndex=-1,this.recursiveMove();return}this.currentVerticalContainerInMeasureTimestamp=new Fraction$1,this.currentMeasure=void 0,this.currentVoiceEntries=void 0,this.endReached=!0}checkEntries(R){const F=this.CurrentVisibleVoiceEntries();if(F.length>0){if(!R)return!0;for(let D=0,G=F.length;D<G;++D)if(F[D].Notes[0].Pitch)return!0}return!1}getVisibleEntries(R,F){R.ParentVoice.Visible&&F.push(R)}getAudibleEntries(R,F){if(R.hasTie()){const D=R.Notes[0];if(D.NoteTie!==void 0&&D.NoteTie.StartNote!==D)return}R.ParentVoice.Audible&&F.push(R)}getScoreFollowingEntries(R,F){R.ParentVoice.Following&&R.ParentVoice.Parent.Following&&F.push(R)}getVoiceEntries(R){var D,G;const F=[];for(const U of R.StaffEntries)(G=(D=U==null?void 0:U.ParentStaff)==null?void 0:D.ParentInstrument)!=null&&G.Visible&&U.VoiceEntries[0]&&F.push(...U.VoiceEntries);return F}}class Cursor$1{constructor(R,F,D){this.hidden=!1,this.currentPageNumber=1,this.container=R,this.openSheetMusicDisplay=F,this.rules=this.openSheetMusicDisplay.EngravingRules,this.cursorOptions=D;let G=0;for(this.cursorElementId="cursorImg-0";document.getElementById(this.cursorElementId);)G++,this.cursorElementId=`cursorImg-${G}`;const U=document.createElement("img");U.id=this.cursorElementId,U.style.position="absolute",this.cursorOptions.follow===!0?(this.wantedZIndex="-1",U.style.zIndex=this.wantedZIndex):(this.wantedZIndex="-2",U.style.zIndex=this.wantedZIndex),this.cursorElement=U,this.container.appendChild(U)}cursorPositionChanged(R,F){for(;this.iterator.CurrentEnrolledTimestamp.lt(R);)this.iterator.moveToNext();this.iterator.CurrentEnrolledTimestamp.gt(R)&&(this.iterator=new MusicPartManagerIterator(this.manager.MusicSheet,R)),this.updateWithTimestamp(F.PredictedPosition)}pauseOccurred(R){}setSound(){}selectionEndReached(R){}resetOccurred(R){this.reset()}notesPlaybackEventOccurred(R){}adjustToBackgroundColor(){let R;this.rules.PageBackgroundColor?R="1":R=this.wantedZIndex,this.cursorElement.style.zIndex=R}init(R,F){this.manager=R,this.graphic=F,this.reset(),this.hidden=!1}show(){this.hidden=!1,this.update(),this.adjustToBackgroundColor()}resetIterator(){if(!this.openSheetMusicDisplay.Sheet||!this.openSheetMusicDisplay.Sheet.SourceMeasures){console.log("OSMD.Cursor.resetIterator(): sheet or measures were null/undefined.");return}const R=this.openSheetMusicDisplay.Sheet.SourceMeasures.length-1;let F=this.rules.MinMeasureToDrawIndex;F=Math.min(F,R);let D=this.rules.MaxMeasureToDrawIndex;if(D=Math.min(D,R),this.openSheetMusicDisplay.Sheet&&(!this.openSheetMusicDisplay.Sheet.SelectionStart||this.openSheetMusicDisplay.Sheet.SelectionStart.WholeValue<F)&&this.openSheetMusicDisplay.Sheet.SourceMeasures.length>F&&(this.openSheetMusicDisplay.Sheet.SelectionStart=this.openSheetMusicDisplay.Sheet.SourceMeasures[F].AbsoluteTimestamp),this.openSheetMusicDisplay.Sheet&&this.openSheetMusicDisplay.Sheet.SourceMeasures.length>D){const U=this.openSheetMusicDisplay.Sheet.SourceMeasures[D];this.openSheetMusicDisplay.Sheet.SelectionEnd=Fraction$1.plus(U.AbsoluteTimestamp,U.Duration)}this.iterator=this.manager.getIterator()}getStaffEntryFromVoiceEntry(R){const F=R.ParentSourceStaffEntry.VerticalContainerParent.ParentMeasure.measureListIndex,D=R.ParentSourceStaffEntry.ParentStaff.idInMusicSheet;return this.graphic.findGraphicalStaffEntryFromMeasureList(D,F,R.ParentSourceStaffEntry)}updateWithTimestamp(R){const F=this.manager.absoluteEnrolledToSheetTimestamp(R),D=this.graphic.calculateXPositionFromTimestamp(F),G=D[0],U=D[1];this.updateCurrentPageFromSystem(U);const W=D[2];if(!W)return;const q=Math.max(W.parentMeasure.MeasureNumber,1);let Y;for(const J of this.graphic.MeasureList[q-1])if(J){Y=J;break}const Q=this.graphic.calculateCursorPoints(G,U),Z=Q[0].y,K=Q[1].y-Z;if(!!Y){if(this.updateWidthAndStyle(Y.PositionAndShape,G,Z,K),this.openSheetMusicDisplay.FollowCursor){const J=this.cursorElement.getBoundingClientRect().top;this.cursorElement.scrollIntoView({behavior:J<1e3?"smooth":"auto",block:"center"})}this.cursorElement.style.display=""}}update(){if(this.hidden||this.hidden===void 0||this.hidden===null)return;this.updateCurrentPage();const R=this.Iterator,F=R.CurrentVisibleVoiceEntries();if(R.EndReached||!R.CurrentVoiceEntries||F.length===0)return;let D=0,G=0,U=0,W;if(R.CurrentMeasure.isReducedToMultiRest){const Z=this.graphic.findGraphicalMeasure(R.CurrentMeasureIndex,0),K=Z.parentSourceMeasure.multipleRestMeasures,ie=R.CurrentMeasure.multipleRestMeasureNumber/(K+1),ne=Z.PositionAndShape.Size.width-Z.beginInstructionsWidth;D=Z.PositionAndShape.AbsolutePosition.x+Z.beginInstructionsWidth+ie*ne,W=Z.ParentMusicSystem}else{const K=F.map(J=>this.getStaffEntryFromVoiceEntry(J)).sort((J,ie)=>{var ne,se,re,ae;return((se=(ne=J==null?void 0:J.PositionAndShape)==null?void 0:ne.AbsolutePosition)==null?void 0:se.x)<=((ae=(re=ie==null?void 0:ie.PositionAndShape)==null?void 0:re.AbsolutePosition)==null?void 0:ae.x)?-1:1})[0];K&&(D=K.PositionAndShape.AbsolutePosition.x,W=K.parentMeasure.ParentMusicSystem)}if(!W)return;G=W.PositionAndShape.AbsolutePosition.y+W.StaffLines[0].PositionAndShape.RelativePosition.y;const q=W.StaffLines[W.StaffLines.length-1];U=W.PositionAndShape.AbsolutePosition.y+q.PositionAndShape.RelativePosition.y+q.StaffHeight-G;const Q=this.graphic.findGraphicalMeasure(R.CurrentMeasureIndex,0).PositionAndShape;if(this.updateWidthAndStyle(Q,D,G,U),this.openSheetMusicDisplay.FollowCursor&&this.cursorOptions.follow)if(this.openSheetMusicDisplay.EngravingRules.RenderSingleHorizontalStaffline)this.cursorElement.scrollIntoView({behavior:"smooth",inline:"center"});else{const Z=this.cursorElement.getBoundingClientRect().top;this.cursorElement.scrollIntoView({behavior:Z<1e3?"smooth":"auto",block:"center"})}this.cursorElement.style.display=""}updateWidthAndStyle(R,F,D,G){var Y;const U=this.cursorElement;let W=0,q=G;switch(this.cursorOptions.type){case 1:U.style.top=D*10*this.openSheetMusicDisplay.zoom+"px",U.style.left=(F-1.5)*10*this.openSheetMusicDisplay.zoom+"px",q=G*10*this.openSheetMusicDisplay.zoom,U.height=q,U.style.height=q+"px",W=5*this.openSheetMusicDisplay.zoom;break;case 2:U.style.top=(D-2.5)*10*this.openSheetMusicDisplay.zoom+"px",U.style.left=F*10*this.openSheetMusicDisplay.zoom+"px",q=1.5*10*this.openSheetMusicDisplay.zoom,U.height=q,U.style.height=q+"px",W=5*this.openSheetMusicDisplay.zoom;break;case 3:U.style.top=R.AbsolutePosition.y*10*this.openSheetMusicDisplay.zoom+"px",U.style.left=R.AbsolutePosition.x*10*this.openSheetMusicDisplay.zoom+"px",q=G*10*this.openSheetMusicDisplay.zoom,U.height=q,U.style.height=q+"px",W=R.Size.width*10*this.openSheetMusicDisplay.zoom;break;case 4:U.style.top=R.AbsolutePosition.y*10*this.openSheetMusicDisplay.zoom+"px",U.style.left=R.AbsolutePosition.x*10*this.openSheetMusicDisplay.zoom+"px",q=G*10*this.openSheetMusicDisplay.zoom,U.height=q,U.style.height=q+"px",W=(F-R.AbsolutePosition.x)*10*this.openSheetMusicDisplay.zoom;break;default:U.style.top=D*10*this.openSheetMusicDisplay.zoom+"px",U.style.left=(F-1.5)*10*this.openSheetMusicDisplay.zoom+"px",q=G*10*this.openSheetMusicDisplay.zoom,U.height=q,U.style.height=q+"px",W=3*10*this.openSheetMusicDisplay.zoom;break}(Y=window.GYM)!=null&&Y.multitrack&&(U.height=q+24,U.style.height=q+24+"px"),W!==U.width&&(U.width=W,this.updateStyle(W,this.cursorOptions))}hide(){this.cursorElement.style.display="none",this.hidden=!0}next(){this.Iterator.moveToNextVisibleVoiceEntry(!1),this.update()}reset(){this.resetIterator();const R=this.manager.getIterator(this.graphic.ParentMusicSheet.SelectionStart);this.updateWithTimestamp(R.CurrentEnrolledTimestamp)}updateStyle(R,F=void 0){F!==void 0&&(this.cursorOptions=F);const D=document.createElement("canvas");D.width=this.cursorElement.width,D.height=1;const G=D.getContext("2d");G.globalAlpha=this.cursorOptions.alpha;const U=G.createLinearGradient(0,0,this.cursorElement.width,0);switch(this.cursorOptions.type){case 1:case 2:case 3:case 4:U.addColorStop(1,this.cursorOptions.color);break;default:U.addColorStop(0,"white"),U.addColorStop(.2,this.cursorOptions.color),U.addColorStop(.8,this.cursorOptions.color),U.addColorStop(1,"white");break}G.fillStyle=U,G.fillRect(0,0,R,1),this.cursorElement.src=D.toDataURL("image/png")}get Iterator(){return this.iterator}get Hidden(){return this.hidden}VoicesUnderCursor(R){return this.Iterator.CurrentVisibleVoiceEntries(R)}NotesUnderCursor(R){const F=this.VoicesUnderCursor(R),D=[];return F.forEach(G=>{D.push.apply(D,G.Notes)}),D}GNotesUnderCursor(R){const F=this.VoicesUnderCursor(R),D=[];return F.forEach(G=>{D.push(...G.Notes.map(U=>this.rules.GNote(U)))}),D}updateCurrentPage(){const R=this.Iterator.currentTimeStamp;for(const F of this.graphic.MusicPages)if(F.MusicSystems.last().GetSystemsLastTimeStamp().gt(R)){const G=F.PageNumber;return G!==this.currentPageNumber&&(this.container.removeChild(this.cursorElement),this.container=document.getElementById(this.rules.DYContainerId+G),this.container.appendChild(this.cursorElement)),this.currentPageNumber=G}return 1}updateCurrentPageFromSystem(R){if(R!=null&&R.Parent){const F=R.Parent.PageNumber;return F!==this.currentPageNumber&&(this.container.removeChild(this.cursorElement),this.container=document.getElementById(this.rules.DYContainerId+F),this.container.appendChild(this.cursorElement)),this.currentPageNumber=F}return 1}}class PointF2D{constructor(R=0,F=0){this.x=0,this.y=0,this.x=R,this.y=F}static get Empty(){return new PointF2D}static pointsAreEqual(R,F){return R.x===F.x&&R.y===F.y}ToString(){return"["+this.x+", "+this.y+"]"}}class SizeF2D{constructor(R=0,F=0){this.width=R,this.height=F}}class RectangleF2D{constructor(R,F,D,G){this.x=0,this.y=0,this.width=0,this.height=0,this.x=R,this.y=F,this.width=D,this.height=G}static createFromLocationAndSize(R,F){return new RectangleF2D(R.x,R.y,F.width,F.height)}get Location(){return new PointF2D(this.x,this.y)}get Size(){return new SizeF2D(this.width,this.height)}}class AClassHierarchyTrackable{isInstanceOfClass(R){let F=this.constructor.prototype;for(;F;){if(R===F.constructor.name)return!0;F=F.__proto__}return!1}}class GraphicalObject extends AClassHierarchyTrackable{get PositionAndShape(){return this.boundingBox}set PositionAndShape(R){this.boundingBox=R}}class StaffLineActivitySymbol extends GraphicalObject{constructor(R){super(),this.parentStaffLine=R;const F=R.PositionAndShape;this.boundingBox=new BoundingBox$1(this,F),this.boundingBox.BorderRight=6,this.boundingBox.BorderBottom=4.5,this.boundingBox.BorderLeft=-1.5,this.boundingBox.BorderTop=-1.5}}class Clickable extends GraphicalObject{}class BoundingBox$1{constructor(R=void 0,F=void 0,D=!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=F,this.dataObject=R,this.isSymbol=D,this.xBordersHaveBeenSet=!1,this.yBordersHaveBeenSet=!1,F&&(this.Parent=F)}get RelativePositionHasBeenSet(){return this.relativePositionHasBeenSet}get XBordersHaveBeenSet(){return this.xBordersHaveBeenSet}set XBordersHaveBeenSet(R){this.xBordersHaveBeenSet=R}get YBordersHaveBeenSet(){return this.yBordersHaveBeenSet}set YBordersHaveBeenSet(R){this.yBordersHaveBeenSet=R}get AbsolutePosition(){return this.absolutePosition}set AbsolutePosition(R){this.absolutePosition=R}get RelativePosition(){return this.relativePosition}set RelativePosition(R){this.relativePosition=R,this.relativePositionHasBeenSet=!0}get Size(){return this.size}set Size(R){this.size=R}get MarginSize(){return this.marginSize}get UpperLeftCorner(){return this.upperLeftCorner}get UpperLeftMarginCorner(){return this.upperLeftMarginCorner}get BorderLeft(){return this.borderLeft}set BorderLeft(R){this.borderLeft=R,this.calculateRectangle()}get BorderRight(){return this.borderRight}set BorderRight(R){this.borderRight=R,this.calculateRectangle()}get BorderTop(){return this.borderTop}set BorderTop(R){this.borderTop=R,this.calculateRectangle()}get BorderBottom(){return this.borderBottom}set BorderBottom(R){this.borderBottom=R,this.calculateRectangle()}get BorderMarginLeft(){return this.borderMarginLeft>this.borderLeft?this.borderLeft:this.borderMarginLeft}set BorderMarginLeft(R){this.borderMarginLeft=R,this.calculateMarginRectangle()}get BorderMarginRight(){return this.borderMarginRight<this.borderRight?this.borderRight:this.borderMarginRight}set BorderMarginRight(R){this.borderMarginRight=R,this.calculateMarginRectangle()}get BorderMarginTop(){return this.borderMarginTop>this.borderTop?this.borderTop:this.borderMarginTop}set BorderMarginTop(R){this.borderMarginTop=R,this.calculateMarginRectangle()}get BorderMarginBottom(){return this.borderMarginBottom<this.borderBottom?this.borderBottom:this.borderMarginBottom}set BorderMarginBottom(R){this.borderMarginBottom=R,this.calculateMarginRectangle()}get BoundingRectangle(){return this.boundingRectangle}get BoundingMarginRectangle(){return this.boundingMarginRectangle}get ChildElements(){return this.childElements}set ChildElements(R){this.childElements=R}get Parent(){return this.parent}set Parent(R){var F,D,G,U;if(this.parent){const W=this.parent.ChildElements.indexOf(this,0);W>-1&&this.parent.ChildElements.splice(W,1)}this.parent=R,((D=(F=this.parent)==null?void 0:F.ChildElements)==null?void 0:D.indexOf(this))>-1?log$2.error("BoundingBox of "+this.dataObject.constructor.name+" already in children list of "+this.parent.dataObject.constructor.name+"'s BoundingBox"):(U=(G=this.parent)==null?void 0:G.ChildElements)==null||U.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 R=this.parent;for(;R;)this.absolutePosition.x+=R.relativePosition.x,this.absolutePosition.y+=R.relativePosition.y,R=R.parent}calculateAbsolutePositionsRecursiveWithoutTopelement(){this.absolutePosition.x=0,this.absolutePosition.y=0;for(let R=0,F=this.ChildElements.length;R<F;++R)this.ChildElements[R].calculateAbsolutePositionsRecursive(this.absolutePosition.x,this.absolutePosition.y)}calculateAbsolutePositionsRecursive(R,F){this.absolutePosition.x=this.relativePosition.x+R,this.absolutePosition.y=this.relativePosition.y+F;for(let D=0,G=this.ChildElements.length;D<G;++D)this.ChildElements[D].calculateAbsolutePositionsRecursive(this.absolutePosition.x,this.absolutePosition.y)}calculateAbsolutePositionsOfChildren(){for(let R=0,F=this.ChildElements.length;R<F;++R)this.ChildElements[R].calculateAbsolutePositionsRecursive(this.absolutePosition.x,this.absolutePosition.y)}calculateBoundingBox(){if(this.childElements.length===0)return;for(let Q=0,Z=this.ChildElements.length;Q<Z;++Q)this.ChildElements[Q].calculateBoundingBox();let R=Number.MAX_VALUE,F=Number.MIN_VALUE,D=Number.MAX_VALUE,G=Number.MIN_VALUE,U=Number.MAX_VALUE,W=Number.MIN_VALUE,q=Number.MAX_VALUE,Y=Number.MIN_VALUE;this.isSymbol&&(R=this.borderLeft,F=this.borderRight,D=this.borderTop,G=this.borderBottom,U=this.borderMarginLeft,W=this.borderMarginRight,q=this.borderMarginTop,Y=this.borderMarginBottom);for(let Q=0,Z=this.ChildElements.length;Q<Z;++Q){const K=this.ChildElements[Q];R=Math.min(R,K.relativePosition.x+K.borderLeft),F=Math.max(F,K.relativePosition.x+K.borderRight),D=Math.min(D,K.relativePosition.y+K.borderTop),G=Math.max(G,K.relativePosition.y+K.borderBottom),U=Math.min(U,K.relativePosition.x+K.borderMarginLeft),W=Math.max(W,K.relativePosition.x+K.borderMarginRight),q=Math.min(q,K.relativePosition.y+K.borderMarginTop),Y=Math.max(Y,K.relativePosition.y+K.borderMarginBottom)}this.borderLeft=R,this.borderRight=F,this.borderTop=D,this.borderBottom=G,this.borderMarginLeft=U,this.borderMarginRight=W,this.borderMarginTop=q,this.borderMarginBottom=Y,this.calculateRectangle(),this.calculateMarginRectangle(),this.xBordersHaveBeenSet=!0,this.yBordersHaveBeenSet=!0}calculateTopBottomBorders(){if(this.childElements.length===0)return;for(let U=0,W=this.ChildElements.length;U<W;++U)this.ChildElements[U].calculateTopBottomBorders();let R=Number.MAX_VALUE,F=Number.MIN_VALUE,D=Number.MAX_VALUE,G=Number.MIN_VALUE;this.yBordersHaveBeenSet&&(R=this.borderTop,F=this.borderBottom,D=this.borderMarginTop,G=this.borderMarginBottom);for(let U=0,W=this.ChildElements.length;U<W;++U){const q=this.ChildElements[U];R=Math.min(R,q.relativePosition.y+q.borderTop),(!EngravingRules.FixStafflineBoundingBox||!(q.dataObject instanceof StaffLineActivitySymbol))&&(F=Math.max(F,q.relativePosition.y+q.borderBottom)),D=Math.min(D,q.relativePosition.y+q.borderMarginTop),G=Math.max(G,q.relativePosition.y+q.borderMarginBottom)}this.borderTop=R,this.borderBottom=F,this.borderMarginTop=D,this.borderMarginBottom=G,this.calculateRectangle(),this.calculateMarginRectangle()}computeNonOverlappingPositionWithMargin(R,F,D){this.RelativePosition=new PointF2D(D.x,D.y),this.setAbsolutePositionFromParent();let G=0,U=!1;do switch(F){case ColDirEnum.Left:case ColDirEnum.Right:G=this.relativePosition.x,R.calculateMarginPositionAlongDirection(this,F),U=Math.abs(G-this.relativePosition.x)>.001;break;case ColDirEnum.Up:case ColDirEnum.Down:G=this.relativePosition.y,R.calculateMarginPositionAlongDirection(this,F),U=Math.abs(G-this.relativePosition.y)>.001;break;default:throw new ArgumentOutOfRangeException("direction")}while(U)}collisionDetection(R){const F=Math.min(this.AbsolutePosition.x+this.borderRight,R.absolutePosition.x+R.borderRight)-Math.max(this.AbsolutePosition.x+this.borderLeft,R.absolutePosition.x+R.borderLeft),D=Math.min(this.AbsolutePosition.y+this.borderBottom,R.absolutePosition.y+R.borderBottom)-Math.max(this.AbsolutePosition.y+this.borderTop,R.absolutePosition.y+R.borderTop);return F>0&&D>0}liesInsideBorders(R){const F=this.AbsolutePosition.x+this.borderLeft<=R.absolutePosition.x+R.borderLeft&&R.absolutePosition.x+R.borderLeft<=this.AbsolutePosition.x+this.borderRight,D=this.AbsolutePosition.x+this.borderLeft<=R.absolutePosition.x+R.borderRight&&R.absolutePosition.x+R.borderRight<=this.AbsolutePosition.x+this.borderRight;if(F&&D){const G=this.AbsolutePosition.y+this.borderTop<=R.absolutePosition.y+R.borderTop&&R.absolutePosition.y+R.borderTop<=this.AbsolutePosition.y+this.borderBottom,U=this.AbsolutePosition.y+this.borderTop<=R.absolutePosition.y+R.borderBottom&&R.absolutePosition.y+R.borderBottom<=this.AbsolutePosition.y+this.borderBottom;if(G&&U)return!0}return!1}pointLiesInsideBorders(R){return this.AbsolutePosition.x+this.borderLeft<=R.x&&R.x<=this.AbsolutePosition.x+this.borderRight&&this.AbsolutePosition.y+this.borderTop<=R.y&&R.y<=this.AbsolutePosition.y+this.borderBottom}marginCollisionDetection(R){const F=Math.min(this.AbsolutePosition.x+this.borderMarginRight,R.absolutePosition.x+R.borderMarginRight)-Math.max(this.AbsolutePosition.x+this.borderMarginLeft,R.absolutePosition.x+R.borderMarginLeft),D=Math.min(this.AbsolutePosition.y+this.borderMarginBottom,R.absolutePosition.y+R.borderMarginBottom)-Math.max(this.AbsolutePosition.y+this.borderMarginTop,R.absolutePosition.y+R.borderMarginTop);return F>0&&D>0}liesInsideMargins(R){const F=this.AbsolutePosition.x+this.borderMarginLeft<=R.absolutePosition.x+R.borderMarginLeft&&R.absolutePosition.x+R.borderMarginLeft<=this.AbsolutePosition.x+this.borderMarginRight,D=this.AbsolutePosition.x+this.borderMarginLeft<=R.absolutePosition.x+R.borderMarginRight&&R.absolutePosition.x+R.borderMarginRight<=this.AbsolutePosition.x+this.borderMarginRight;if(F&&D){const G=this.AbsolutePosition.y+this.borderMarginTop<=R.absolutePosition.y+R.borderMarginTop&&R.absolutePosition.y+R.borderMarginTop<=this.AbsolutePosition.y+this.borderMarginBottom,U=this.AbsolutePosition.y+this.borderMarginTop<=R.absolutePosition.y+R.borderMarginBottom&&R.absolutePosition.y+R.borderMarginBottom<=this.AbsolutePosition.y+this.borderMarginBottom;if(G&&U)return!0}return!1}pointLiesInsideMargins(R){return this.AbsolutePosition.x+this.borderMarginLeft<=R.x&&R.x<=this.AbsolutePosition.x+this.borderMarginRight&&this.AbsolutePosition.y+this.borderMarginTop<=R.y&&R.y<=this.AbsolutePosition.y+this.borderMarginBottom}computeNonOverlappingPosition(R,F,D){this.RelativePosition=new PointF2D(D.x,D.y),this.setAbsolutePositionFromParent();let G=0,U=!1;do switch(F){case ColDirEnum.Left:case ColDirEnum.Right:G=this.relativePosition.x,R.calculatePositionAlongDirection(this,F),U=Math.abs(G-this.relativePosition.x)>1e-4;break;case ColDirEnum.Up:case ColDirEnum.Down:G=this.relativePosition.y,R.calculatePositionAlongDirection(this,F),U=Math.abs(G-this.relativePosition.y)>1e-4;break;default:throw new ArgumentOutOfRangeException("direction")}while(U)}getClickedObjectOfType(R){const F=this.dataObject;if(this.pointLiesInsideBorders(R)&&F)return F;for(let D=0,G=this.childElements.length;D<G;++D){const W=this.childElements[D].getClickedObjectOfType(R);if(W)return W}}getClickedClickable(R){const F=this.dataObject;if(this.pointLiesInsideBorders(R)&&F&&F instanceof Clickable)return F;for(let D=0,G=this.childElements.length;D<G;++D){const W=this.childElements[D].getClickedClickable(R);if(W&&W instanceof Clickable)return W}}getObjectsInRegion(R,F=!0,D=GraphicalObject.name){let G=[];for(const U of this.childElements)G=G.concat(U.getObjectsInRegion(R,F,D));return this.dataObject&&this.dataObject.isInstanceOfClass(D)&&(F?R.liesInsideBorders(this)&&G.push(this.dataObject):R.collisionDetection(this)&&G.push(this.dataObject)),G}calculateRectangle(){this.upperLeftCorner=new PointF2D(this.BorderLeft,this.BorderTop),this.size=new SizeF2D(this.BorderRight-this.BorderLeft,this.BorderBottom-this.BorderTop),this.boundingRectangle=RectangleF2D.createFromLocationAndSize(this.upperLeftCorner,this.size)}calculateMarginRectangle(){this.upperLeftMarginCorner=new PointF2D(this.BorderMarginLeft,this.BorderMarginTop),this.marginSize=new SizeF2D(this.BorderMarginRight-this.BorderMarginLeft,this.BorderMarginBottom-this.BorderMarginTop),this.boundingMarginRectangle=RectangleF2D.createFromLocationAndSize(this.upperLeftMarginCorner,this.marginSize)}calculateMarginPositionAlongDirection(R,F){if(this!==R){if(this.isSymbol&&this.marginCollisionDetection(R)){let D=0;switch(F){case ColDirEnum.Left:D=this.absolutePosition.x+this.borderMarginLeft-(R.absolutePosition.x+R.borderMarginRight),R.relativePosition.x+=D,R.absolutePosition.x+=D;return;case ColDirEnum.Right:D=this.absolutePosition.x+this.borderMarginRight-(R.absolutePosition.x+R.borderMarginLeft),R.relativePosition.x+=D,R.absolutePosition.x+=D;return;case ColDirEnum.Up:D=this.absolutePosition.y+this.borderMarginTop-(R.absolutePosition.y+R.borderMarginBottom),R.relativePosition.y+=D,R.absolutePosition.y+=D;return;case ColDirEnum.Down:D=this.absolutePosition.y+this.borderMarginBottom-(R.absolutePosition.y+R.borderMarginTop),R.relativePosition.y+=D,R.absolutePosition.y+=D;return;default:throw new ArgumentOutOfRangeException("direction")}}for(let D=0,G=this.ChildElements.length;D<G;++D)this.ChildElements[D].calculateMarginPositionAlongDirection(R,F)}}calculatePositionAlongDirection(R,F){if(this!==R){if(this.isSymbol&&this.collisionDetection(R)){let D;switch(F){case ColDirEnum.Left:D=this.absolutePosition.x+this.borderLeft-(R.absolutePosition.x+R.borderRight),R.relativePosition.x+=D,R.absolutePosition.x+=D;return;case ColDirEnum.Right:D=this.absolutePosition.x+this.borderRight-(R.absolutePosition.x+R.borderLeft),R.relativePosition.x+=D,R.absolutePosition.x+=D;return;case ColDirEnum.Up:D=this.absolutePosition.y+this.borderTop-(R.absolutePosition.y+R.borderBottom),R.relativePosition.y+=D,R.absolutePosition.y+=D;return;case ColDirEnum.Down:D=this.absolutePosition.y+this.borderBottom-(R.absolutePosition.y+R.borderTop),R.relativePosition.y+=D,R.absolutePosition.y+=D;return;default:throw new ArgumentOutOfRangeException("direction")}}for(let D=0,G=this.ChildElements.length;D<G;++D)this.ChildElements[D].calculatePositionAlongDirection(R,F)}}}var ColDirEnum=(B=>(B[B.Left=0]="Left",B[B.Right=1]="Right",B[B.Up=2]="Up",B[B.Down=3]="Down",B))(ColDirEnum||{});class GraphicalMusicPage extends GraphicalObject{constructor(R){super(),this.musicSystems=[],this.labels=[],this.parent=R,this.boundingBox=new BoundingBox$1(this,void 0)}get MusicSystems(){return this.musicSystems}set MusicSystems(R){this.musicSystems=R}get Labels(){return this.labels}set Labels(R){this.labels=R}get Parent(){return this.parent}set Parent(R){this.parent=R}get PageNumber(){return this.pageNumber}set PageNumber(R){this.pageNumber=R}setMusicPageAbsolutePosition(R,F){return new PointF2D(0,0)}}var PagePlacementEnum=(B=>(B[B.Down=0]="Down",B[B.Right=1]="Right",B[B.RightDown=2]="RightDown",B))(PagePlacementEnum||{}),TextAlignmentEnum=(B=>(B[B.LeftTop=0]="LeftTop",B[B.LeftCenter=1]="LeftCenter",B[B.LeftBottom=2]="LeftBottom",B[B.CenterTop=3]="CenterTop",B[B.CenterCenter=4]="CenterCenter",B[B.CenterBottom=5]="CenterBottom",B[B.RightTop=6]="RightTop",B[B.RightCenter=7]="RightCenter",B[B.RightBottom=8]="RightBottom",B))(TextAlignmentEnum||{});class TextAlignment{static IsLeft(R){return R===0||R===1||R===2}static IsCenterAligned(R){return R===3||R===4||R===5}static IsRight(R){return R===6||R===7||R===8}}var FontStyles=(B=>(B[B.Regular=0]="Regular",B[B.Bold=1]="Bold",B[B.Italic=2]="Italic",B[B.BoldItalic=3]="BoldItalic",B[B.Underlined=4]="Underlined",B))(FontStyles||{}),Fonts=(B=>(B[B.TimesNewRoman=0]="TimesNewRoman",B[B.Kokila=1]="Kokila",B[B.Gonville=2]="Gonville",B))(Fonts||{});const FontStringNames={0:"Times New Roman",1:"Kokila",2:"Gonville"};var TieTypes=(B=>(B.SIMPLE="",B.HAMMERON="H",B.PULLOFF="P",B.SLIDE="S",B.TAPPING="T",B))(TieTypes||{});const Additional={"-2":[4,12,23],"-7":[13],"-9":[6]};var NoteEnum=(B=>(B[B.C=0]="C",B[B.D=2]="D",B[B.E=4]="E",B[B.F=5]="F",B[B.G=7]="G",B[B.A=9]="A",B[B.B=11]="B",B))(NoteEnum||{}),AccidentalEnum=(B=>(B[B.SHARP=0]="SHARP",B[B.FLAT=1]="FLAT",B[B.NONE=2]="NONE",B[B.NATURAL=3]="NATURAL",B[B.DOUBLESHARP=4]="DOUBLESHARP",B[B.DOUBLEFLAT=5]="DOUBLEFLAT",B[B.TRIPLESHARP=6]="TRIPLESHARP",B[B.TRIPLEFLAT=7]="TRIPLEFLAT",B[B.QUARTERTONESHARP=8]="QUARTERTONESHARP",B[B.QUARTERTONEFLAT=9]="QUARTERTONEFLAT",B[B.SLASHFLAT=10]="SLASHFLAT",B[B.THREEQUARTERSSHARP=11]="THREEQUARTERSSHARP",B[B.THREEQUARTERSFLAT=12]="THREEQUARTERSFLAT",B[B.SLASHQUARTERSHARP=13]="SLASHQUARTERSHARP",B[B.SLASHSHARP=14]="SLASHSHARP",B[B.DOUBLESLASHFLAT=15]="DOUBLESLASHFLAT",B[B.SORI=16]="SORI",B[B.KORON=17]="KORON",B))(AccidentalEnum||{});const _Pitch=class{constructor(B,R,F,D=void 0){this.accidental=2,this.fundamentalNote=B,this.octave=R,this.accidental=F,this.accidentalXml=D,this.halfTone=B+(R+_Pitch.octXmlDiff)*12+_Pitch.HalfTonesFromAccidental(F),this.frequency=_Pitch.calcFrequency(this),this.nextFrequency=_Pitch.calcFrequency(this,"next"),this.prevFrequency=_Pitch.calcFrequency(this,"prev")}static getNoteEnumString(B){switch(B){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(B,R){if(R===0)return[B,0];const F=_Pitch.pitchEnumValues,D=F.indexOf(B);let G=0,U=(D+R)%F.length;return D+R>F.length-1&&(G=1),U<0&&(U=F.length+U,G=-1),[F[U],G]}static CalculateTransposedHalfTone(B,R){const F=B.fundamentalNote+B.AccidentalHalfTones+R;return _Pitch.WrapAroundCheck(F,12)}static WrapAroundCheck(B,R){let F=0;for(;B<0;)B+=R,F--;for(;B>=R;)B-=R,F++;return{overflow:F,halftone:B}}static calcFrequency(B,R){let F=0,D;if(B instanceof _Pitch){const q=B;F=q.octave-1,D=q.fundamentalNote-9+q.AccidentalHalfTones}else typeof B=="number"&&(D=B-57);const G=window.DYSubjectId;let U=0;window.DYEnvironment==="COLEXIU"&&(Additional[12]=[120]);for(const q in Additional)if(Object.prototype.hasOwnProperty.call(Additional,q)&&Additional[q].includes(G)){U=parseFloat(q);break}let W=D+U;return R==="next"&&W++,R==="prev"&&W--,442*Math.pow(2,F)*Math.pow(2,W/12)}static calcFractionalKey(B){return Math.log(B/440)/Math.LN10*_Pitch.halftoneFactor+57}static fromFrequency(B){const R=_Pitch.calcFractionalKey(B)+.5,F=Math.floor(R/12)-_Pitch.octXmlDiff,D=Math.floor(R)%12;let G=D,U=2;return this.pitchEnumValues.indexOf(G)===-1&&(G=D-1,U=0),new _Pitch(G,F,U)}static fromHalftone(B){const R=Math.floor(B/12)-_Pitch.octXmlDiff,F=B%12;let D=F,G=2;return this.pitchEnumValues.indexOf(D)===-1&&(D=F-1,G=0),new _Pitch(D,R,G)}static ceiling(B){B=B%12;let R=B;return this.pitchEnumValues.indexOf(R)===-1&&(R=B+1),R}static floor(B){B=B%12;let R=B;return this.pitchEnumValues.indexOf(R)===-1&&(R=B-1),R}static HalfTonesFromAccidental(B){switch(B){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(B){switch(B){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 B>0&&B<1?8:B<0&&B>-1?9:8}}static accidentalVexflow(B){let R;switch(B){case 3:R="n";break;case 1:R="b";break;case 0:R="#";break;case 4:R="##";break;case 6:R="###";break;case 5:R="bb";break;case 7:R="bbs";break;case 8:R="+";break;case 9:R="d";break;case 10:R="bs";break;case 11:R="++";break;case 12:R="db";break;case 13:R="+-";break;case 14:R="++-";break;case 15:R="bss";break;case 16:R="o";break;case 17:R="k";break}return R}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(B){if(B>12)throw new Error("rewrite this method to handle bigger octave changes or don't use is with bigger octave changes!");return B>0?this.getHigherPitchByTransposeFactor(B):B<0?this.getLowerPitchByTransposeFactor(-B):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 B=_Pitch.accidentalVexflow(this.accidental);return B||(B=""),"Key: "+_Pitch.getNoteEnumString(this.fundamentalNote)+B+", Note: "+this.fundamentalNote+", octave: "+this.octave.toString()}OperatorEquals(B){const R=this;return!R||!B?!1:R.FundamentalNote===B.FundamentalNote&&R.Octave===B.Octave&&R.Accidental===B.Accidental}OperatorNotEqual(B){return this!==B}OperatorFundamentalGreaterThan(B){const R=this;return R.Octave===B.Octave?R.FundamentalNote>B.FundamentalNote:R.Octave>B.Octave}OperatorFundamentalLessThan(B){const R=this;return R.Octave===B.Octave?R.FundamentalNote<B.FundamentalNote:R.Octave<B.Octave}getHigherPitchByTransposeFactor(B){const R=_Pitch.pitchEnumValues.indexOf(this.fundamentalNote);let F=this.octave,D;return R+B>_Pitch.pitchEnumValues.length-1?(D=_Pitch.pitchEnumValues[R+B-_Pitch.pitchEnumValues.length],F++):D=_Pitch.pitchEnumValues[R+B],new _Pitch(D,F,2)}getLowerPitchByTransposeFactor(B){const R=_Pitch.pitchEnumValues.indexOf(this.fundamentalNote);let F=this.octave,D;return R-B<0?(D=_Pitch.pitchEnumValues[_Pitch.pitchEnumValues.length+R-B],F--):D=_Pitch.pitchEnumValues[R-B],new _Pitch(D,F,2)}getNextFundamentalNote(B){let R=_Pitch.pitchEnumValues.indexOf(B);return R=(R+1)%_Pitch.pitchEnumValues.length,_Pitch.pitchEnumValues[R]}getPreviousFundamentalNote(B){const R=_Pitch.pitchEnumValues.indexOf(B);return R>0?_Pitch.pitchEnumValues[R-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 VerticalGraphicalStaffEntryContainer{constructor(R,F){this.staffEntries=[],this.absoluteTimestamp=F,this.staffEntries=new Array(R)}get Index(){return this.index}set Index(R){this.index=R}get AbsoluteTimestamp(){return this.absoluteTimestamp}get StaffEntries(){return this.staffEntries}set StaffEntries(R){this.staffEntries=R}static compareByTimestamp(R,F){const D=R.absoluteTimestamp.RealValue,G=F.absoluteTimestamp.RealValue;return D<G?-1:D>G?1:0}getFirstNonNullStaffEntry(){for(let R=0,F=this.staffEntries.length;R<F;++R){const D=this.staffEntries[R];if(D)return D}}}var OutlineAndFillStyleEnum=(B=>(B[B.BaseWritingColor=0]="BaseWritingColor",B[B.FollowingCursor=1]="FollowingCursor",B[B.AlternativeFollowingCursor=2]="AlternativeFollowingCursor",B[B.PlaybackCursor=3]="PlaybackCursor",B[B.Highlighted=4]="Highlighted",B[B.ErrorUnderlay=5]="ErrorUnderlay",B[B.Selected=6]="Selected",B[B.SelectionSymbol=7]="SelectionSymbol",B[B.DebugColor1=8]="DebugColor1",B[B.DebugColor2=9]="DebugColor2",B[B.DebugColor3=10]="DebugColor3",B[B.SplitScreenDivision=11]="SplitScreenDivision",B[B.GreyTransparentOverlay=12]="GreyTransparentOverlay",B[B.MarkedArea1=13]="MarkedArea1",B[B.MarkedArea2=14]="MarkedArea2",B[B.MarkedArea3=15]="MarkedArea3",B[B.MarkedArea4=16]="MarkedArea4",B[B.MarkedArea5=17]="MarkedArea5",B[B.MarkedArea6=18]="MarkedArea6",B[B.MarkedArea7=19]="MarkedArea7",B[B.MarkedArea8=20]="MarkedArea8",B[B.MarkedArea9=21]="MarkedArea9",B[B.MarkedArea10=22]="MarkedArea10",B[B.Comment1=23]="Comment1",B[B.Comment2=24]="Comment2",B[B.Comment3=25]="Comment3",B[B.Comment4=26]="Comment4",B[B.Comment5=27]="Comment5",B[B.Comment6=28]="Comment6",B[B.Comment7=29]="Comment7",B[B.Comment8=30]="Comment8",B[B.Comment9=31]="Comment9",B[B.Comment10=32]="Comment10",B))(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=(B=>(B[B.Background=0]="Background",B[B.Highlight=1]="Highlight",B[B.MeasureError=2]="MeasureError",B[B.SelectionSymbol=3]="SelectionSymbol",B[B.Cursor=4]="Cursor",B[B.PSI_Debug=5]="PSI_Debug",B[B.Notes=6]="Notes",B[B.Comment=7]="Comment",B[B.Debug_above=8]="Debug_above",B))(GraphicalLayers||{}),NoteState=(B=>(B[B.Normal=0]="Normal",B[B.Selected=1]="Selected",B[B.Follow_Confirmed=2]="Follow_Confirmed",B[B.QFeedback_NotFound=3]="QFeedback_NotFound",B[B.QFeedback_OK=4]="QFeedback_OK",B[B.QFeedback_Perfect=5]="QFeedback_Perfect",B[B.Debug1=6]="Debug1",B[B.Debug2=7]="Debug2",B[B.Debug3=8]="Debug3",B))(NoteState||{}),AutoColorSet=(B=>(B.C="#d82c6b",B.D="#F89D15",B.E="#FFE21A",B.F="#4dbd5c",B.G="#009D96",B.A="#43469d",B.B="#76429c",B.Rest="#000000",B))(AutoColorSet||{});class GraphicalLine{constructor(R,F,D=0,G=OutlineAndFillStyleEnum.BaseWritingColor,U=void 0){this.start=R,this.end=F,this.width=D,this.styleId=G,this.colorHex=U}get Start(){return this.start}set Start(R){this.start=R}get End(){return this.end}set End(R){this.end=R}get Width(){return this.width}set Width(R){this.width=R}}class ClefInstruction extends AbstractNotationInstruction{constructor(R=ClefEnum.G,F=0,D=2){super(void 0),this.clefType=ClefEnum.G,this.line=2,this.octaveOffset=0,this.line=D,this.clefType=R,this.octaveOffset=F,this.calcParameters()}static getDefaultClefFromMidiInstrument(R){switch(R){case MidiInstrument.Acoustic_Grand_Piano:return new ClefInstruction(ClefEnum.F,0,4);case MidiInstrument.Electric_Bass_finger:return new ClefInstruction(ClefEnum.F,0,4);case MidiInstrument.Electric_Bass_pick:return new ClefInstruction(ClefEnum.F,0,4);case MidiInstrument.Fretless_Bass:return new ClefInstruction(ClefEnum.F,0,4);case MidiInstrument.Slap_Bass_1:return new ClefInstruction(ClefEnum.F,0,4);case MidiInstrument.Slap_Bass_2:return new ClefInstruction(ClefEnum.F,0,4);case MidiInstrument.Synth_Bass_1:return new ClefInstruction(ClefEnum.F,0,4);case MidiInstrument.Synth_Bass_2:return new ClefInstruction(ClefEnum.F,0,4);case MidiInstrument.Contrabass:return new ClefInstruction(ClefEnum.F,0,4);default:return new ClefInstruction(ClefEnum.G,0,2)}}static getAllPossibleClefs(){const R=[];for(let F=0;F<=2;F++){const D=new ClefInstruction(ClefEnum.G,F,2);R.push(D)}for(let F=-2;F<=0;F++){const D=new ClefInstruction(ClefEnum.F,F,4);R.push(D)}return R}static isSupportedClef(R){switch(R){case ClefEnum.G:case ClefEnum.F:case ClefEnum.C:case ClefEnum.percussion:case ClefEnum.TAB:return!0;default:return!1}}get ClefType(){return this.clefType}set ClefType(R){this.clefType=R}get Line(){return this.line}set Line(R){this.line=R}get OctaveOffset(){return this.octaveOffset}set OctaveOffset(R){this.octaveOffset=R}get ClefPitch(){return this.clefPitch}set ClefPitch(R){this.clefPitch=R}get ReferenceCyPosition(){return this.referenceCyPosition}set ReferenceCyPosition(R){this.referenceCyPosition=R}Equals(R){return this===R?!0:!this||!R?!1:this.clefPitch===R.clefPitch&&this.Line===R.Line}NotEqual(R){return!this.Equals(R)}ToString(){return"ClefType: "+this.clefType}calcParameters(){switch(this.clefType){case ClefEnum.G:this.clefPitch=new Pitch(NoteEnum.G,1+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line+2;break;case ClefEnum.F:this.clefPitch=new Pitch(NoteEnum.F,0+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line+1.5;break;case ClefEnum.C:this.clefPitch=new Pitch(NoteEnum.C,1+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line;break;case ClefEnum.percussion:this.clefPitch=new Pitch(NoteEnum.C,2,AccidentalEnum.NONE),this.referenceCyPosition=2;break;case ClefEnum.TAB:this.clefPitch=new Pitch(NoteEnum.G,0,AccidentalEnum.NONE),this.referenceCyPosition=0;break;default:throw new ArgumentOutOfRangeException("clefType")}}}var ClefEnum=(B=>(B[B.G=0]="G",B[B.F=1]="F",B[B.C=2]="C",B[B.percussion=3]="percussion",B[B.TAB=4]="TAB",B))(ClefEnum||{}),MidiInstrument=(B=>(B[B.None=-1]="None",B[B.Acoustic_Grand_Piano=0]="Acoustic_Grand_Piano",B[B.Bright_Acoustic_Piano=1]="Bright_Acoustic_Piano",B[B.Electric_Grand_Piano=2]="Electric_Grand_Piano",B[B.Honky_tonk_Piano=3]="Honky_tonk_Piano",B[B.Electric_Piano_1=4]="Electric_Piano_1",B[B.Electric_Piano_2=5]="Electric_Piano_2",B[B.Harpsichord=6]="Harpsichord",B[B.Clavinet=7]="Clavinet",B[B.Celesta=8]="Celesta",B[B.Glockenspiel=9]="Glockenspiel",B[B.Music_Box=10]="Music_Box",B[B.Vibraphone=11]="Vibraphone",B[B.Marimba=12]="Marimba",B[B.Xylophone=13]="Xylophone",B[B.Tubular_Bells=14]="Tubular_Bells",B[B.Dulcimer=15]="Dulcimer",B[B.Drawbar_Organ=16]="Drawbar_Organ",B[B.Percussive_Organ=17]="Percussive_Organ",B[B.Rock_Organ=18]="Rock_Organ",B[B.Church_Organ=19]="Church_Organ",B[B.Reed_Organ=20]="Reed_Organ",B[B.Accordion=21]="Accordion",B[B.Harmonica=22]="Harmonica",B[B.Tango_Accordion=23]="Tango_Accordion",B[B.Acoustic_Guitar_nylon=24]="Acoustic_Guitar_nylon",B[B.Acoustic_Guitar_steel=25]="Acoustic_Guitar_steel",B[B.Electric_Guitar_jazz=26]="Electric_Guitar_jazz",B[B.Electric_Guitar_clean=27]="Electric_Guitar_clean",B[B.Electric_Guitar_muted=28]="Electric_Guitar_muted",B[B.Overdriven_Guitar=29]="Overdriven_Guitar",B[B.Distortion_Guitar=30]="Distortion_Guitar",B[B.Guitar_harmonics=31]="Guitar_harmonics",B[B.Acoustic_Bass=32]="Acoustic_Bass",B[B.Electric_Bass_finger=33]="Electric_Bass_finger",B[B.Electric_Bass_pick=34]="Electric_Bass_pick",B[B.Fretless_Bass=35]="Fretless_Bass",B[B.Slap_Bass_1=36]="Slap_Bass_1",B[B.Slap_Bass_2=37]="Slap_Bass_2",B[B.Synth_Bass_1=38]="Synth_Bass_1",B[B.Synth_Bass_2=39]="Synth_Bass_2",B[B.Violin=40]="Violin",B[B.Viola=41]="Viola",B[B.Cello=42]="Cello",B[B.Contrabass=43]="Contrabass",B[B.Tremolo_Strings=44]="Tremolo_Strings",B[B.Pizzicato_Strings=45]="Pizzicato_Strings",B[B.Orchestral_Harp=46]="Orchestral_Harp",B[B.Timpani=47]="Timpani",B[B.String_Ensemble_1=48]="String_Ensemble_1",B[B.String_Ensemble_2=49]="String_Ensemble_2",B[B.Synth_Strings_1=50]="Synth_Strings_1",B[B.Synth_Strings_2=51]="Synth_Strings_2",B[B.Choir_Aahs=52]="Choir_Aahs",B[B.Voice_Oohs=53]="Voice_Oohs",B[B.Synth_Voice=54]="Synth_Voice",B[B.Orchestra_Hit=55]="Orchestra_Hit",B[B.Trumpet=56]="Trumpet",B[B.Trombone=57]="Trombone",B[B.Tuba=58]="Tuba",B[B.Muted_Trumpet=59]="Muted_Trumpet",B[B.French_Horn=60]="French_Horn",B[B.Brass_Section=61]="Brass_Section",B[B.Synth_Brass_1=62]="Synth_Brass_1",B[B.Synth_Brass_2=63]="Synth_Brass_2",B[B.Soprano_Sax=64]="Soprano_Sax",B[B.Alto_Sax=65]="Alto_Sax",B[B.Tenor_Sax=66]="Tenor_Sax",B[B.Baritone_Sax=67]="Baritone_Sax",B[B.Oboe=68]="Oboe",B[B.English_Horn=69]="English_Horn",B[B.Bassoon=70]="Bassoon",B[B.Clarinet=71]="Clarinet",B[B.Piccolo=72]="Piccolo",B[B.Flute=73]="Flute",B[B.Recorder=74]="Recorder",B[B.Pan_Flute=75]="Pan_Flute",B[B.Blown_Bottle=76]="Blown_Bottle",B[B.Shakuhachi=77]="Shakuhachi",B[B.Whistle=78]="Whistle",B[B.Ocarina=79]="Ocarina",B[B.Lead_1_square=80]="Lead_1_square",B[B.Lead_2_sawtooth=81]="Lead_2_sawtooth",B[B.Lead_3_calliope=82]="Lead_3_calliope",B[B.Lead_4_chiff=83]="Lead_4_chiff",B[B.Lead_5_charang=84]="Lead_5_charang",B[B.Lead_6_voice=85]="Lead_6_voice",B[B.Lead_7_fifths=86]="Lead_7_fifths",B[B.Lead_8_bass_lead=87]="Lead_8_bass_lead",B[B.Pad_1_new_age=88]="Pad_1_new_age",B[B.Pad_2_warm=89]="Pad_2_warm",B[B.Pad_3_polysynth=90]="Pad_3_polysynth",B[B.Pad_4_choir=91]="Pad_4_choir",B[B.Pad_5_bowed=92]="Pad_5_bowed",B[B.Pad_6_metallic=93]="Pad_6_metallic",B[B.Pad_7_halo=94]="Pad_7_halo",B[B.Pad_8_sweep=95]="Pad_8_sweep",B[B.FX_1_rain=96]="FX_1_rain",B[B.FX_2_soundtrack=97]="FX_2_soundtrack",B[B.FX_3_crystal=98]="FX_3_crystal",B[B.FX_4_atmosphere=99]="FX_4_atmosphere",B[B.FX_5_brightness=100]="FX_5_brightness",B[B.FX_6_goblins=101]="FX_6_goblins",B[B.FX_7_echoes=102]="FX_7_echoes",B[B.FX_8_scifi=103]="FX_8_scifi",B[B.Sitar=104]="Sitar",B[B.Banjo=105]="Banjo",B[B.Shamisen=106]="Shamisen",B[B.Koto=107]="Koto",B[B.Kalimba=108]="Kalimba",B[B.Bag_pipe=109]="Bag_pipe",B[B.Fiddle=110]="Fiddle",B[B.Shanai=111]="Shanai",B[B.Tinkle_Bell=112]="Tinkle_Bell",B[B.Agogo=113]="Agogo",B[B.Steel_Drums=114]="Steel_Drums",B[B.Woodblock=115]="Woodblock",B[B.Taiko_Drum=116]="Taiko_Drum",B[B.Melodic_Tom=117]="Melodic_Tom",B[B.Synth_Drum=118]="Synth_Drum",B[B.Reverse_Cymbal=119]="Reverse_Cymbal",B[B.Guitar_Fret_Noise=120]="Guitar_Fret_Noise",B[B.Breath_Noise=121]="Breath_Noise",B[B.Seashore=122]="Seashore",B[B.Bird_Tweet=123]="Bird_Tweet",B[B.Telephone_Ring=124]="Telephone_Ring",B[B.Helicopter=125]="Helicopter",B[B.Applause=126]="Applause",B[B.Gunshot=127]="Gunshot",B[B.euphonium=128]="euphonium",B[B.AltoClarinetInEb=200]="AltoClarinetInEb",B[B.TrumpetInBb=201]="TrumpetInBb",B[B.BaritoneSaxophone=202]="BaritoneSaxophone",B[B.TenorSaxophone=203]="TenorSaxophone",B[B.ClarinetInEb=204]="ClarinetInEb",B[B.Euphonium=205]="Euphonium",B[B.Alto_Clarinet=206]="Alto_Clarinet",B[B.Bass_Clarinet=207]="Bass_Clarinet",B[B.Bass_Trombone=208]="Bass_Trombone",B[B.clarinet_in_bb=209]="clarinet_in_bb",B[B.clarinet_in_eb=210]="clarinet_in_eb",B[B.Percussion=135]="Percussion",B))(MidiInstrument||{});const _KeyInstruction=class extends AbstractNotationInstruction{constructor(B=void 0,R=0,F=KeyEnum.major){super(B),this.isTransposedBy=0,this.Key=R,this.keyTypeOriginal=R,this.mode=F,this.alteratedNotes=this.calcAlteratedNotes()}static copy(B){const R=new _KeyInstruction(B.parent,B.Key,B.Mode);return R.keyTypeOriginal=B.keyTypeOriginal,R}static getAllPossibleMajorKeyInstructions(){const B=[];for(let R=-7;R<7;R++){const F=new _KeyInstruction(void 0,R,KeyEnum.major);B.push(F)}return B}get Key(){return this.keyType}set Key(B){this.keyType=B,this.alteratedNotes=this.calcAlteratedNotes()}get Mode(){return this.mode}set Mode(B){this.mode=B}get AlteratedNotes(){return this.alteratedNotes}calcAlteratedNotes(){const B=[];if(this.keyType>0)for(let R=0;R<this.keyType;R++)B.push(_KeyInstruction.sharpPositionList[R]);else if(this.keyType<0)for(let R=0;R<-this.keyType;R++)B.push(_KeyInstruction.flatPositionList[R]);return B}willAlterateNote(B){return this.alteratedNotes.indexOf(B)>=0}getAlterationForPitch(B){return this.keyType>0&&this.alteratedNotes.indexOf(B.FundamentalNote)<=this.keyType?AccidentalEnum.SHARP:this.keyType<0&&this.alteratedNotes.indexOf(B.FundamentalNote)<=Math.abs(this.keyType)?AccidentalEnum.FLAT:AccidentalEnum.NONE}ToString(){return"Key: "+this.keyType+this.mode}OperatorEquals(B){const R=this;return R===B?!0:!R||!B?!1:R.Key===B.Key&&R.Mode===B.Mode}OperatorNotEqual(B){return!this.OperatorEquals(B)}};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=(B=>(B[B.major=0]="major",B[B.minor=1]="minor",B[B.none=2]="none",B[B.dorian=3]="dorian",B[B.phrygian=4]="phrygian",B[B.lydian=5]="lydian",B[B.mixolydian=6]="mixolydian",B[B.aeolian=7]="aeolian",B[B.ionian=8]="ionian",B[B.locrian=9]="locrian",B))(KeyEnum||{});Array.prototype.last||Object.defineProperty(Array.prototype,"last",{enumerable:!1,value:function(){return this[this.length-1]}});Array.prototype.clear||Object.defineProperty(Array.prototype,"clear",{enumerable:!1,value:function(){this.length=0}});Array.prototype.contains||Object.defineProperty(Array.prototype,"contains",{enumerable:!1,value:function(B){return this.indexOf(B)!==-1}});class CollectionUtil{static contains2(R,F){for(let D=0;D<R.length;D++)if(R[D]===F)return!0;return!1}static last(R){return R[R.length-1]}static removeDictElementIfTrue(R,F,D){const G=[];F.forEach(function(U,W){D(R,U,W)&&G.push(U)});for(let U=0;U<G.length;U++)F.remove(G[U])}static getLastElement(R){return R[R.length-1]}static binarySearch(R,F,D,G=0,U=R.length-1){let W=1;for(;G<=U;){W=Math.floor((G+U)/2);const q=D(R[W],F);if(q===0)return W;q<0&&(G=W+1),0<q&&(U=W)}return-W}}class GraphicalVoiceEntry extends GraphicalObject{constructor(R,F){super(),this.parentVoiceEntry=R,this.parentStaffEntry=F,this.PositionAndShape=new BoundingBox$1(this,F?F.PositionAndShape:void 0,!0),this.notes=[],this.rules=F?F.parentMeasure.parentSourceMeasure.Rules:new EngravingRules}sort(){return this.notes.sort((R,F)=>{var D,G,U,W;return((G=(D=F.sourceNote.Pitch)==null?void 0:D.getHalfTone())!=null?G:0)-((W=(U=R.sourceNote.Pitch)==null?void 0:U.getHalfTone())!=null?W:0)}),this.notes}sortForVexflow(){return this.notes.sort((R,F)=>{var D,G,U;return((G=(D=R.sourceNote.Pitch)==null?void 0:D.getHalfTone())!=null?G:0)-((U=F.sourceNote.Pitch.getHalfTone())!=null?U:0)}),this.notes}color(){}}class GraphicalMusicSheet{constructor(R,F){this.musicPages=[],this.measureList=[],this.verticalGraphicalStaffEntryContainers=[],this.cursors=[],this.leadSheet=!1,this.musicSheet=R,this.numberOfStaves=this.musicSheet.Staves.length,this.calculator=F,this.calculator.initialize(this)}get ParentMusicSheet(){return this.musicSheet}get GetCalculator(){return this.calculator}get JianpuKeySignature(){return this.jianpuKeySignature}set JianpuKeySignature(R){this.jianpuKeySignature=R}get MusicPages(){return this.musicPages}set MusicPages(R){this.musicPages=R}get MeasureList(){return this.measureList}set MeasureList(R){this.measureList=R}get VerticalGraphicalStaffEntryContainers(){return this.verticalGraphicalStaffEntryContainers}set VerticalGraphicalStaffEntryContainers(R){this.verticalGraphicalStaffEntryContainers=R}get Title(){return this.title}set Title(R){this.title=R}get Subtitle(){return this.subtitle}set Subtitle(R){this.subtitle=R}get Composer(){return this.composer}set Composer(R){this.composer=R}get Lyricist(){return this.lyricist}set Lyricist(R){this.lyricist=R}get Cursors(){return this.cursors}get SelectionStartSymbol(){return this.selectionStartSymbol}get SelectionEndSymbol(){return this.selectionEndSymbol}get MinAllowedSystemWidth(){return this.minAllowedSystemWidth}set MinAllowedSystemWidth(R){this.minAllowedSystemWidth=R}get NumberOfStaves(){return this.numberOfStaves}get LeadSheet(){return this.leadSheet}set LeadSheet(R){this.leadSheet=R}static transformRelativeToAbsolutePosition(R){for(let F=0;F<R.MusicPages.length;F++){const D=R.MusicPages[F].setMusicPageAbsolutePosition(F,R.ParentMusicSheet.Rules);R.MusicPages[F].PositionAndShape.calculateAbsolutePositionsRecursive(D.x,D.y)}}Initialize(){this.verticalGraphicalStaffEntryContainers=[],this.musicPages=[],this.measureList=[]}reCalculate(){this.calculator.calculate()}EnforceRedrawOfMusicSystems(){for(let R=0,F=this.musicPages.length;R<F;++R){const D=this.musicPages[R];for(let G=0,U=D.MusicSystems.length;G<U;++G){const W=D.MusicSystems[G];W.needsToBeRedrawn=!0}}}getClickedObject(R){for(let F=0,D=this.MusicPages.length;F<D;++F)return this.MusicPages[F].PositionAndShape.getClickedObjectOfType(R)}findGraphicalMeasure(R,F){for(let D=R;D>=0;D--){const G=this.measureList[D][F];if(G)return G}}findGraphicalStaffEntryFromMeasureList(R,F,D){for(let G=F;G<this.measureList.length;G++){const U=this.measureList[G][R];if(!!U)for(let W=0,q=U.staffEntries.length;W<q;++W){const Y=U.staffEntries[W];if(Y.sourceStaffEntry===D)return Y}}}findNextGraphicalStaffEntry(R,F,D){const G=D.parentMeasure,U=G.staffEntries.indexOf(D);if(U<G.staffEntries.length-1)return G.staffEntries[U+1];if(F<this.measureList.length-1){const W=this.measureList[F+1][R];if(W.staffEntries.length>0)return W.staffEntries[0]}}getFirstVisibleMeasuresListFromIndices(R,F){const D=[],G=this.measureList[0].length;for(let U=R;U<=F;U++)for(let W=0;W<G;W++)if(this.measureList[U][W].isVisible()){D.push(this.measureList[U][W]);break}return D}orderMeasuresByStaffLine(R){const F=[];let D=[];F.push(D);for(let G=0;G<R.length;G++)G===0?D.push(R[0]):(R[G].ParentStaffLine===R[G-1].ParentStaffLine||(F.indexOf(D)===-1&&F.push(D),D=[],F.push(D)),D.push(R[G]));return F}initializeActiveClefs(){const R=[],F=this.musicSheet.getFirstSourceMeasure();if(F)for(let D=0;D<F.CompleteNumberOfStaves;D++){let G=new ClefInstruction;if(F.FirstInstructionsStaffEntries[D])for(let U=0,W=F.FirstInstructionsStaffEntries[D].Instructions.length;U<W;++U){const q=F.FirstInstructionsStaffEntries[D].Instructions[U];q instanceof ClefInstruction&&(G=q)}R.push(G)}return R}GetMainKey(){const R=this.musicSheet.getFirstSourceMeasure();if(R)for(let F=0;F<R.CompleteNumberOfStaves;F++)for(let D=0,G=R.FirstInstructionsStaffEntries[F].Instructions.length;D<G;++D){const U=R.FirstInstructionsStaffEntries[F].Instructions[D];if(U instanceof KeyInstruction)return U}}getOrCreateVerticalContainer(R){if(this.verticalGraphicalStaffEntryContainers.length===0||CollectionUtil.getLastElement(this.verticalGraphicalStaffEntryContainers).AbsoluteTimestamp.lt(R)){const F=new VerticalGraphicalStaffEntryContainer(this.numberOfStaves,R);return this.verticalGraphicalStaffEntryContainers.push(F),F}for(let F=this.verticalGraphicalStaffEntryContainers.length-1;F>=0;F--){if(this.verticalGraphicalStaffEntryContainers[F].AbsoluteTimestamp.lt(R)){const D=new VerticalGraphicalStaffEntryContainer(this.numberOfStaves,R);return this.verticalGraphicalStaffEntryContainers.splice(F+1,0,D),D}if(this.verticalGraphicalStaffEntryContainers[F].AbsoluteTimestamp.Equals(R))return this.verticalGraphicalStaffEntryContainers[F]}}GetVerticalContainerFromTimestamp(R,F=0){const D=CollectionUtil.binarySearch(this.verticalGraphicalStaffEntryContainers,new VerticalGraphicalStaffEntryContainer(0,R),VerticalGraphicalStaffEntryContainer.compareByTimestamp,F);if(D>=0)return this.verticalGraphicalStaffEntryContainers[D]}GetInterpolatedIndexInVerticalContainers(R){const F=this.verticalGraphicalStaffEntryContainers;let D=0,G=F.length-1,U,W;if(R.lte(F[F.length-1].AbsoluteTimestamp)){for(;G-D>1;){const Z=Math.floor((G+D)/2);if(F[D].AbsoluteTimestamp.Equals(R)){G=D;break}else if(F[G].AbsoluteTimestamp.Equals(R)){D=G;break}else{if(F[Z].AbsoluteTimestamp.Equals(R))return this.verticalGraphicalStaffEntryContainers.indexOf(F[Z]);R.lt(F[Z].AbsoluteTimestamp)?G=Z:D=Z}}if(D===G)return this.verticalGraphicalStaffEntryContainers.indexOf(F[D]);U=F[D].AbsoluteTimestamp,W=F[G].AbsoluteTimestamp}else U=F[F.length-1].AbsoluteTimestamp,W=Fraction$1.plus(this.getLongestStaffEntryDuration(F.length-1),U),G=F.length;const q=W.RealValue-U.RealValue,Y=W.RealValue-R.RealValue,Q=G-Y/q;return Math.min(Q,this.verticalGraphicalStaffEntryContainers.length)}getVisibleStavesIndicesFromSourceMeasure(R){const F=[],D=[];for(let G=0,U=R.length;G<U;++G){const q=R[G].ParentStaff.ParentInstrument;F.indexOf(q)===-1&&F.push(q)}for(let G=0,U=F.length;G<U;++G){const W=F[G],q=this.musicSheet.getGlobalStaffIndexOfFirstStaff(W);for(let Y=0;Y<W.Staves.length;Y++)D.push(q+Y)}return D}getGraphicalMeasureFromSourceMeasureAndIndex(R,F){var D;for(let G=0;G<this.measureList.length;G++)if(((D=this.measureList[G][0])==null?void 0:D.parentSourceMeasure)===R)return this.measureList[G][F]}getLastGraphicalMeasureFromIndex(R,F=!0){let D=this.measureList.length-1;return F&&(D=Math.min(D,this.musicSheet.Rules.MaxMeasureToDrawIndex)),this.measureList[D][R]}getMeasureIndex(R,F,D){for(F=0;F<this.measureList.length;F++)for(let G=0,U=this.measureList[F].length;G<U;++G)if(this.measureList[F][G]===R)return!0;return!1}GetNearestGraphicalObject(R,F=GraphicalObject.name,D=5,G=20,U=5,W=void 0){const q=[];for(;q.length===0&&D<=G;){const Q=new BoundingBox$1(void 0);Q.BorderLeft=R.x-D,Q.BorderTop=R.y-D,Q.BorderRight=R.x+D,Q.BorderBottom=R.y+D,Q.AbsolutePosition=new PointF2D(R.x,R.y),Q.calculateAbsolutePosition();for(let Z=0,K=this.MusicPages.length;Z<K;++Z){const ie=this.MusicPages[Z].PositionAndShape.getObjectsInRegion(Q,!1,F);if(!(!ie||ie.length===0))for(let ne=0,se=ie.length;ne<se;++ne)W?W(ie[ne])&&q.push(ie[ne]):q.push(ie[ne])}D+=U}let Y;for(let Q=0,Z=q.length;Q<Z;++Q){const K=q[Q];if(Y===void 0)Y=K;else{const J=this.CalculateDistance(K.PositionAndShape.AbsolutePosition,R),ie=this.CalculateDistance(Y.PositionAndShape.AbsolutePosition,R);J<ie&&(Y=K)}}if(Y)return Y}GetNearestVoiceEntry(R){return this.GetNearestGraphicalObject(R,GraphicalVoiceEntry.name,5,20,5,F=>{var D;return((D=F.parentStaffEntry)==null?void 0:D.relInMeasureTimestamp)!==void 0})}GetNearestNote(R,F){const D=this.GetNearestVoiceEntry(R);if(!D)return;let G,U=Number.MAX_SAFE_INTEGER;for(const W of D.notes){const q=W.PositionAndShape.AbsolutePosition.y,Y=Math.abs(W.PositionAndShape.AbsolutePosition.x-R.x),Q=Math.abs(q-R.y);Y+Q<U&&(G=W,U=Y+Q)}return G}domToSvg(R){return this.domToSvgTransform(R,!0)}svgToDom(R){return this.domToSvgTransform(R,!1)}svgToOsmd(R){const F=new PointF2D(R.x,R.y);return F.x/=10,F.y/=10,F}domToSvgTransform(R,F){const G=this.drawer.Backends[0].getSvgElement(),U=G.createSVGPoint();U.x=R.x,U.y=R.y;let W=G.getScreenCTM();F&&(W=W.inverse());const q=U.matrixTransform(W);return new PointF2D(q.x,q.y)}GetClickableLabel(R){const G=new BoundingBox$1;G.BorderLeft=R.x-4,G.BorderTop=R.y-4,G.BorderRight=R.x+4,G.BorderBottom=R.y+4,G.AbsolutePosition=new PointF2D(0,0);for(let U=0,W=this.MusicPages.length;U<W;++U){const Y=this.MusicPages[U].PositionAndShape.getObjectsInRegion(G);if(Y.length===1)for(let Q=0,Z=Y.length;Q<Z;++Q)return Y[Q]}}GetPossibleCommentAnchor(R){const F=this.GetNearestVoiceEntry(R);if(!!F)return F.parentStaffEntry.sourceStaffEntry}GetClickedObjectOfType(R){for(let F=0,D=this.musicPages.length;F<D;++F){const U=this.musicPages[F].PositionAndShape.getClickedObjectOfType(R);if(U)return U}}GetClickedClickable(R){for(let F=0,D=this.musicPages.length;F<D;++F){const U=this.musicPages[F].PositionAndShape.getClickedClickable(R);if(U&&U instanceof Clickable)return U}}tryGetTimestampFromPosition(R){const F=this.GetClickedObjectOfType(R);if(!!F)return F.getAbsoluteTimestamp()}tryGetClickableLabel(R){try{return this.GetClickableLabel(R)}catch(F){log$2.info("GraphicalMusicSheet.tryGetClickableObject","positionOnMusicSheet: "+R,F)}}tryGetTimeStampFromPosition(R){try{const F=this.GetNearestVoiceEntry(R);return F?F.parentStaffEntry.getAbsoluteTimestamp():void 0}catch(F){log$2.info("GraphicalMusicSheet.tryGetTimeStampFromPosition","positionOnMusicSheet: "+R,F)}}getStaffEntry(R){const F=this.VerticalGraphicalStaffEntryContainers[R];let D;try{for(let G=0,U=F.StaffEntries.length;G<U;++G){const W=F.StaffEntries[G];!W||!W.sourceStaffEntry.ParentStaff.ParentInstrument.Visible||(D?W.PositionAndShape&&D.PositionAndShape&&D.PositionAndShape.RelativePosition.x>W.PositionAndShape.RelativePosition.x&&(D=W):D=W)}}catch(G){log$2.info("GraphicalMusicSheet.getStaffEntry",G)}return D}GetPreviousVisibleContainerIndex(R){for(let F=R-1;F>=0;F--){const D=this.verticalGraphicalStaffEntryContainers[F].StaffEntries;for(let G=0,U=D.length;G<U;++G){const W=D[G];if(W&&W.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return F}}return-1}GetNextVisibleContainerIndex(R){for(let F=R+1;F<this.verticalGraphicalStaffEntryContainers.length;++F){const D=this.verticalGraphicalStaffEntryContainers[F].StaffEntries;for(let G=0,U=D.length;G<U;++G){const W=D[G];if(W&&W.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return F}}return-1}findClosestLeftStaffEntry(R,F){let D,G=Math.floor(R);G=Math.min(this.VerticalGraphicalStaffEntryContainers.length-1,G);for(let U=G;U>=0;U--)if(D=this.getStaffEntry(U),D)if(F){if(D.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return D}else return D}findClosestRightStaffEntry(R,F){let D;const G=Math.max(0,Math.ceil(R));for(let U=G;U<this.VerticalGraphicalStaffEntryContainers.length;U++)if(D=this.getStaffEntry(U),D)if(F){if(D.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return D}else return D}calculateCursorLineAtTimestamp(R,F){const D=this.calculateXPositionFromTimestamp(R),G=D[0],U=D[1];if(!U||U.StaffLines.length===0)return;const W=U.PositionAndShape.AbsolutePosition.y,q=CollectionUtil.last(U.StaffLines).PositionAndShape.RelativePosition.y+4;return new GraphicalLine(new PointF2D(G,W),new PointF2D(G,W+q),3,F)}calculateXPositionFromTimestamp(R){var Q,Z,K,J;let F;const D=this.GetInterpolatedIndexInVerticalContainers(R),G=this.findClosestLeftStaffEntry(D,!0),U=this.findClosestRightStaffEntry(D,!0),W=R.RealValue;if(!G&&!U)return[0,void 0,void 0];let q;G?q=(Q=G.parentMeasure.ParentStaffLine)==null?void 0:Q.ParentMusicSystem:q=(Z=U.parentMeasure.ParentStaffLine)==null?void 0:Z.ParentMusicSystem;let Y;if(U?Y=(K=U.parentMeasure.ParentStaffLine)==null?void 0:K.ParentMusicSystem:Y=(J=G.parentMeasure.ParentStaffLine)==null?void 0:J.ParentMusicSystem,q===Y){F=q;let ie,ne,se,re=0;if(!G)ne=se=U.PositionAndShape.AbsolutePosition.x,ie=0;else if(U){ne=G.PositionAndShape.AbsolutePosition.x,se=U.PositionAndShape.AbsolutePosition.x,G===U?ie=0:ie=(W-G.getAbsoluteTimestamp().RealValue)/(U.getAbsoluteTimestamp().RealValue-G.getAbsoluteTimestamp().RealValue);const le=G.parentMeasure,ce=G.parentMeasure.parentSourceMeasure.multipleRestMeasures,de=le.MeasureNumber/(ce+1),me=le.PositionAndShape.Size.width-le.beginInstructionsWidth;re=le.PositionAndShape.AbsolutePosition.x+le.beginInstructionsWidth+de*me}else{ne=G.PositionAndShape.AbsolutePosition.x,se=F.GetRightBorderAbsoluteXPosition();const le=G.parentMeasure.parentSourceMeasure;ie=(W-G.getAbsoluteTimestamp().RealValue)/(Fraction$1.plus(le.AbsoluteTimestamp,le.Duration).RealValue-G.getAbsoluteTimestamp().RealValue)}return ie=Math.min(1,Math.max(0,ie)),re&&G.parentMeasure.MeasureNumber===1?[re,F,G]:[ne+ie*(se-ne),F,G]}else{const ie=U.parentMeasure.parentSourceMeasure.AbsoluteTimestamp.RealValue;let ne,se;if(W<ie){F=q;const re=G.PositionAndShape.AbsolutePosition.x,ae=F.GetRightBorderAbsoluteXPosition();ne=(W-G.getAbsoluteTimestamp().RealValue)/(ie-G.getAbsoluteTimestamp().RealValue),ne=Math.min(1,Math.max(0,ne)),se=re+ne*(ae-re)}else{F=Y;const re=U.PositionAndShape.AbsolutePosition.x,ae=F.GetLeftBorderAbsoluteXPosition();ne=(W-ie)/(U.getAbsoluteTimestamp().RealValue-ie),ne=Math.min(1,Math.max(0,ne)),se=ae+ne*(re-ae)}return[se,F,G]}}calculateCursorPoints(R,F){if(F===void 0||F.StaffLines.length===0)return[new PointF2D,new PointF2D];const D=F.PositionAndShape.AbsolutePosition.y,G=F.StaffLines.last(),U=G.PositionAndShape.RelativePosition.y+G.StaffHeight;return[new PointF2D(R,D),new PointF2D(R,D+U)]}GetNumberOfVisibleInstruments(){let R=0;for(let F=0,D=this.musicSheet.Instruments.length;F<D;++F)this.musicSheet.Instruments[F].Visible===!0&&R++;return R}GetNumberOfFollowedInstruments(){let R=0;for(let F=0,D=this.musicSheet.Instruments.length;F<D;++F)this.musicSheet.Instruments[F].Following===!0&&R++;return R}GetGraphicalFromSourceStaffEntry(R){var D;return(D=R.VerticalContainerParent.ParentMeasure)!=null&&D.VerticalMeasureList?R.VerticalContainerParent.ParentMeasure.VerticalMeasureList[R.ParentStaff.idInMusicSheet].findGraphicalStaffEntryFromTimestamp(R.Timestamp):void 0}CalculateDistance(R,F){const D=R.x-F.x,G=R.y-F.y;return D*D+G*G}getLongestStaffEntryDuration(R){let F=new Fraction$1(0,1);for(const D of this.verticalGraphicalStaffEntryContainers[R].StaffEntries){if(!D)continue;const G=D.findStaffEntryMaxNoteLength();F.lt(G)&&(F=G)}return F}}class Note$1{constructor(R,F,D,G,U,W){this.slurs=[],this.playbackInstrumentId=void 0,this.notehead=void 0,this.printObject=!0,this.voiceEntry=R,this.parentStaffEntry=F,this.length=D,this.pitch=G,this.sourceMeasure=U,this.isRestFlag=W!=null?W:!1,this.noteTremoloType="",this.glissandoType="",this.slideType="",G?this.halfTone=G.getHalfTone():this.halfTone=0}get NoteAsString(){return this.pitch.toString()}get TremoloType(){return this.noteTremoloType}set TremoloType(R){this.noteTremoloType=R}get ParentVoiceEntry(){return this.voiceEntry}set ParentVoiceEntry(R){this.voiceEntry=R}get ParentStaffEntry(){return this.parentStaffEntry}get ParentStaff(){return this.parentStaffEntry.ParentStaff}get Length(){return this.length}set PlaybackNote(R){this.playbackNote=R}get PlaybackNote(){return this.playbackNote}set Length(R){this.length=R}get SourceMeasure(){return this.sourceMeasure}get TypeLength(){return this.typeLength}set TypeLength(R){this.typeLength=R}get NoteTypeXml(){return this.noteTypeXml}set NoteTypeXml(R){this.noteTypeXml=R}get NormalNotes(){return this.normalNotes}set NormalNotes(R){this.normalNotes=R}get Pitch(){return this.pitch}get NoteBeam(){return this.beam}set NoteBeam(R){this.beam=R}set Notehead(R){this.notehead=R}get Notehead(){return this.notehead}get NoteTuplet(){return this.tuplet}set NoteTuplet(R){this.tuplet=R}get NoteTie(){return this.tie}set NoteTie(R){this.tie=R}get NoteSlurs(){return this.slurs}set NoteSlurs(R){this.slurs=R}get PlaybackInstrumentId(){return this.playbackInstrumentId}set PlaybackInstrumentId(R){this.playbackInstrumentId=R}get PrintObject(){return this.printObject}set PrintObject(R){this.printObject=R}get Arpeggio(){return this.arpeggio}set Arpeggio(R){this.arpeggio=R}get IsCueNote(){return this.isCueNote}set IsCueNote(R){this.isCueNote=R}get StemDirectionXml(){return this.stemDirectionXml}set StemDirectionXml(R){this.stemDirectionXml=R}get TremoloStrokes(){return this.tremoloStrokes}set TremoloStrokes(R){this.tremoloStrokes=R}get StemColorXml(){return this.stemColorXml}set StemColorXml(R){this.stemColorXml=R}get NoteheadColorXml(){return this.noteheadColorXml}set NoteheadColorXml(R){this.noteheadColorXml=R}get NoteheadColor(){return this.noteheadColor}set NoteheadColor(R){this.noteheadColor=R}get NoteheadColorCurrentlyRendered(){return this.noteheadColorCurrentlyRendered}set NoteheadColorCurrentlyRendered(R){this.noteheadColorCurrentlyRendered=R}isRest(){return this.isRestFlag}isWholeRest(){return this.isRest()&&this.Length.RealValue===this.sourceMeasure.ActiveTimeSignature.RealValue}ToString(){return this.pitch?this.Pitch.ToString()+", length: "+this.length.toString():"rest note, length: "+this.length.toString()}getAbsoluteTimestamp(){return Fraction$1.plus(this.voiceEntry.Timestamp,this.sourceMeasure.AbsoluteTimestamp)}checkForDoubleSlur(R){for(let F=0,D=this.slurs.length;F<D;++F){const G=this.slurs[F];if(G.StartNote!==void 0&&G.EndNote!==void 0&&R.StartNote!==void 0&&R.StartNote===G.StartNote&&G.EndNote===this)return!0}return!1}}const Vex=()=>{};Vex.L=(B,R)=>{if(!R)return;const F=Array.prototype.slice.call(R).join(" ");window.console.log(B+": "+F)};Vex.MakeException=B=>class extends Error{constructor(F,D){super(F),this.name=B,this.message=F,this.data=D}};class RuntimeError{constructor(R,F){this.code=R,this.message=F}toString(){return"[RuntimeError] "+this.code+":"+this.message}}Vex.RuntimeError=RuntimeError;Vex.RERR=Vex.RuntimeError;Vex.Merge=(B,R)=>{for(const F in R)B[F]=R[F];return B};Vex.Min=Math.min;Vex.Max=Math.max;Vex.forEach=(B,R)=>{for(let F=0;F<B.length;F++)R(B[F],F)};Vex.RoundN=(B,R)=>B%R>=R/2?parseInt(B/R,10)*R+R:parseInt(B/R,10)*R;Vex.MidLine=(B,R)=>{let F=R+(B-R)/2;return F%2>0&&(F=Vex.RoundN(F*10,5)/10),F};Vex.SortAndUnique=(B,R,F)=>{if(B.length>1){const D=[];let G;B.sort(R);for(let U=0;U<B.length;++U)(U===0||!F(B[U],G))&&D.push(B[U]),G=B[U];return D}else return B};Vex.Contains=(B,R)=>{let F=B.length;for(;F--;)if(B[F]===R)return!0;return!1};Vex.getCanvasContext=B=>{if(!B)throw new Vex.RERR("BadArgument","Invalid canvas selector: "+B);const R=document.getElementById(B);if(!(R&&R.getContext))throw new Vex.RERR("UnsupportedBrowserError","This browser does not support HTML5 Canvas");return R.getContext("2d")};Vex.drawDot=(B,R,F,D="#55")=>{B.save(),B.setFillStyle(D),B.beginPath(),B.arc(R,F,3,0,Math.PI*2,!0),B.closePath(),B.fill(),B.restore()};Vex.BM=(B,R)=>{const F=new Date().getTime();R();const D=new Date().getTime()-F;Vex.L(B+D+"ms")};Vex.StackTrace=()=>new Error().stack;Vex.W=(...B)=>{const R=B.join(" ");window.console.log("Warning: ",R,Vex.StackTrace())};Vex.Prefix=B=>Vex.Prefix.prefix+B;Vex.Prefix.prefix="vf-";class Fraction{static GCD(R,F){if(typeof R!="number"||typeof F!="number")throw new Vex.RERR("BadArgument",`Invalid numbers: ${R}, ${F}`);let D;for(;F!==0;)D=F,F=R%F,R=D;return R}static LCM(R,F){return R*F/Fraction.GCD(R,F)}static LCMM(R){if(R.length===0)return 0;if(R.length===1)return R[0];if(R.length===2)return Fraction.LCM(R[0],R[1]);{const F=R[0];return R.shift(),Fraction.LCM(F,Fraction.LCMM(R))}}constructor(R,F){this.set(R,F)}set(R,F){return this.numerator=R===void 0?1:R,this.denominator=F===void 0?1:F,this}value(){return this.numerator/this.denominator}simplify(){let R=this.numerator,F=this.denominator;const D=Fraction.GCD(R,F);return R/=D,F/=D,F<0&&(F=-F,R=-R),this.set(R,F)}add(R,F){let D,G;R instanceof Fraction?(D=R.numerator,G=R.denominator):(R!==void 0?D=R:D=0,F!==void 0?G=F:G=1);const U=Fraction.LCM(this.denominator,G),W=U/this.denominator,q=U/G,Y=this.numerator*W+D*q;return this.set(Y,U)}subtract(R,F){let D,G;R instanceof Fraction?(D=R.numerator,G=R.denominator):(R!==void 0?D=R:D=0,F!==void 0?G=F:G=1);const U=Fraction.LCM(this.denominator,G),W=U/this.denominator,q=U/G,Y=this.numerator*W-D*q;return this.set(Y,U)}multiply(R,F){let D,G;return R instanceof Fraction?(D=R.numerator,G=R.denominator):(R!==void 0?D=R:D=1,F!==void 0?G=F:G=1),this.set(this.numerator*D,this.denominator*G)}divide(R,F){let D,G;return R instanceof Fraction?(D=R.numerator,G=R.denominator):(R!==void 0?D=R:D=1,F!==void 0?G=F:G=1),this.set(this.numerator*G,this.denominator*D)}equals(R){const F=Fraction.__compareA.copy(R).simplify(),D=Fraction.__compareB.copy(this).simplify();return F.numerator===D.numerator&&F.denominator===D.denominator}greaterThan(R){const F=Fraction.__compareB.copy(this);return F.subtract(R),F.numerator>0}greaterThanEquals(R){const F=Fraction.__compareB.copy(this);return F.subtract(R),F.numerator>=0}lessThan(R){return!this.greaterThanEquals(R)}lessThanEquals(R){return!this.greaterThan(R)}clone(){return new Fraction(this.numerator,this.denominator)}copy(R){return typeof R=="number"?this.set(R||0,1):this.set(R.numerator,R.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 R="";const F=this.quotient(),D=Fraction.__tmp.copy(this);return F<0?D.abs().fraction():D.fraction(),F!==0?(R+=F,D.numerator!==0&&(R+=" "+D.toSimplifiedString())):D.numerator===0?R="0":R=D.toSimplifiedString(),R}parse(R){const F=R.split("/"),D=parseInt(F[0],10),G=F[1]?parseInt(F[1],10):1;return this.set(D,G)}}Fraction.__compareA=new Fraction;Fraction.__compareB=new Fraction;Fraction.__tmp=new Fraction;const X$3=Vex.MakeException("RegistryError");function setIndexValue(B,R,F,D,G){B[R][F]||(B[R][F]={}),B[R][F][D]=G}class Registry{static get INDEXES(){return["type"]}constructor(){this.clear()}static enableDefaultRegistry(R){Registry.defaultRegistry=R}static getDefaultRegistry(){return Registry.defaultRegistry}static disableDefaultRegistry(){Registry.defaultRegistry=null}clear(){return this.index={id:{},type:{},class:{}},this}updateIndex({id:R,name:F,value:D,oldValue:G}){const U=this.getElementById(R);G!==null&&this.index[F][G]&&delete this.index[F][G][R],D!==null&&setIndexValue(this.index,F,D,U.getAttribute("id"),U)}register(R,F){if(F=F||R.getAttribute("id"),!F)throw new X$3("Can't add element without `id` attribute to registry",R);return R.setAttribute("id",F),setIndexValue(this.index,"id",F,F,R),Registry.INDEXES.forEach(D=>{this.updateIndex({id:F,name:D,value:R.getAttribute(D),oldValue:null})}),R.onRegister(this),this}getElementById(R){return this.index.id[R]?this.index.id[R][R]:null}getElementsByAttribute(R,F){const D=this.index[R];return D&&D[F]?Object.keys(D[F]).map(G=>D[F][G]):[]}getElementsByType(R){return this.getElementsByAttribute("type",R)}getElementsByClass(R){return this.getElementsByAttribute("class",R)}onUpdate({id:R,name:F,value:D,oldValue:G}){function U(W,q){return W.filter(Y=>Y===q).length>0}return U(Registry.INDEXES.concat(["id","class"]),F)?(this.updateIndex({id:R,name:F,value:D,oldValue:G}),this):this}}Registry.defaultRegistry=null;class Element$1{static newID(){return"auto"+Element$1.ID++}constructor({type:R}={}){this.attrs={id:Element$1.newID(),el:null,type:R||"Base",classes:{}},this.boundingBox=null,this.context=null,this.rendered=!1,Registry.getDefaultRegistry()&&Registry.getDefaultRegistry().register(this)}setStyle(R){return this.style=R,this}getStyle(){return this.style}applyStyle(R=this.context,F=this.getStyle()){return F?(R.save(),F.shadowColor&&R.setShadowColor(F.shadowColor),F.shadowBlur&&R.setShadowBlur(F.shadowBlur),F.fillStyle&&R.setFillStyle(F.fillStyle),F.strokeStyle&&R.setStrokeStyle(F.strokeStyle),F.lineWidth&&R.setLineWidth(F.lineWidth),this):this}restoreStyle(R=this.context,F=this.getStyle()){return F?(R.restore(),this):this}drawWithStyle(){this.checkContext(),this.applyStyle(),this.draw(),this.restoreStyle()}hasClass(R){return this.attrs.classes[R]===!0}addClass(R){return this.attrs.classes[R]=!0,this.registry&&this.registry.onUpdate({id:this.getAttribute("id"),name:"class",value:R,oldValue:null}),this}removeClass(R){return delete this.attrs.classes[R],this.registry&&this.registry.onUpdate({id:this.getAttribute("id"),name:"class",value:null,oldValue:R}),this}onRegister(R){return this.registry=R,this}isRendered(){return this.rendered}setRendered(R=!0){return this.rendered=R,this}getAttributes(){return this.attrs}getAttribute(R){return this.attrs[R]}setAttribute(R,F){const D=this.attrs.id,G=this.attrs[R];return this.attrs[R]=F,this.registry&&this.registry.onUpdate({id:D,name:R,value:F,oldValue:G}),this}getContext(){return this.context}setContext(R){return this.context=R,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(R,F,D,G){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN,this.addPoint(R,F),this.addPoint(D,G)}width(){return this.x2-this.x1}height(){return this.y2-this.y1}addPoint(R,F){R!=null&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=R,this.x2=R),R<this.x1&&(this.x1=R),R>this.x2&&(this.x2=R)),F!=null&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=F,this.y2=F),F<this.y1&&(this.y1=F),F>this.y2&&(this.y2=F))}addX(R){this.addPoint(R,null)}addY(R){this.addPoint(null,R)}addQuadraticCurve(R,F,D,G,U,W){const q=R+.6666666666666666*(D-R),Y=F+2/3*(G-F),Q=q+1/3*(U-R),Z=Y+1/3*(W-F);this.addBezierCurve(R,F,q,Y,Q,Z,U,W)}addBezierCurve(R,F,D,G,U,W,q,Y){const Q=[R,F],Z=[D,G],K=[U,W],J=[q,Y];let ie;this.addPoint(Q[0],Q[1]),this.addPoint(J[0],J[1]);const ne=(se,re)=>Math.pow(1-se,3)*Q[re]+3*Math.pow(1-se,2)*se*Z[re]+3*(1-se)*Math.pow(se,2)*K[re]+Math.pow(se,3)*J[re];for(ie=0;ie<=1;ie++){const se=6*Q[ie]-12*Z[ie]+6*K[ie],re=-3*Q[ie]+9*Z[ie]-9*K[ie]+3*J[ie],ae=3*Z[ie]-3*Q[ie];if(re===0){if(se===0)continue;const de=-ae/se;0<de&&de<1&&(ie===0&&this.addX(ne(de,ie)),ie===1&&this.addY(ne(de,ie)));continue}const le=Math.pow(se,2)-4*ae*re;if(le<0)continue;const ce=(-se+Math.sqrt(le))/(2*re);0<ce&&ce<1&&(ie===0&&this.addX(ne(ce,ie)),ie===1&&this.addY(ne(ce,ie)));const he=(-se-Math.sqrt(le))/(2*re);0<he&&he<1&&(ie===0&&this.addX(ne(he,ie)),ie===1&&this.addY(ne(he,ie)))}}}class BoundingBox{static copy(R){return new BoundingBox(R.x,R.y,R.w,R.h)}constructor(R,F,D,G){this.x=R,this.y=F,this.w=D,this.h=G}getX(){return this.x}getY(){return this.y}getW(){return this.w}getH(){return this.h}setX(R){return this.x=R,this}setY(R){return this.y=R,this}setW(R){return this.w=R,this}setH(R){return this.h=R,this}move(R,F){this.x+=R,this.y+=F}clone(){return BoundingBox.copy(this)}mergeWith(R,F){const D=R,G=this.x<D.x?this.x:D.x,U=this.y<D.y?this.y:D.y,W=Math.max(this.x+this.w,D.x+D.w)-G,q=Math.max(this.y+this.h,D.y+D.h)-U;return this.x=G,this.y=U,this.w=W,this.h=q,F&&this.draw(F),this}draw(R,F,D){F||(F=0),D||(D=0),R.rect(this.x+F,this.y+D,this.w,this.h),R.stroke()}}const Font={glyphs:{v0:{x_min:0,x_max:514.5,ha:525,o:"m 236 648 b 246 648 238 648 242 648 b 288 646 261 648 283 648 b 472 513 364 634 428 587 b 514 347 502 464 514 413 b 462 163 514 272 499 217 b 257 44 409 83 333 44 b 50 163 181 44 103 83 b 0 347 14 217 0 272 b 40 513 0 413 12 464 b 236 648 87 591 155 638 m 277 614 b 253 616 273 616 261 616 b 242 616 247 616 243 616 b 170 499 193 609 181 589 b 159 348 163 446 159 398 b 166 222 159 308 161 266 b 201 91 174 138 183 106 b 257 76 215 81 235 76 b 311 91 277 76 299 81 b 347 222 330 106 338 138 b 353 348 352 266 353 308 b 344 499 353 398 351 446 b 277 614 333 587 322 606 m 257 -1 l 258 -1 l 255 -1 l 257 -1 m 257 673 l 258 673 l 255 673 l 257 673 "},v1:{x_min:-1.359375,x_max:344.359375,ha:351,o:"m 126 637 l 129 638 l 198 638 l 266 638 l 269 635 b 274 631 272 634 273 632 l 277 627 l 277 395 b 279 156 277 230 277 161 b 329 88 281 123 295 106 b 344 69 341 81 344 79 b 337 55 344 62 343 59 l 333 54 l 197 54 l 61 54 l 58 55 b 50 69 53 59 50 62 b 65 88 50 79 53 81 b 80 97 72 91 74 93 b 117 156 103 113 112 129 b 117 345 117 161 117 222 l 117 528 l 100 503 l 38 406 b 14 383 24 384 23 383 b -1 398 5 383 -1 390 b 4 415 -1 403 1 409 b 16 437 5 416 10 426 l 72 539 l 100 596 b 121 632 119 631 119 631 b 126 637 122 634 125 635 m 171 -1 l 172 -1 l 170 -1 l 171 -1 m 171 673 l 172 673 l 170 673 l 171 673 "},v2:{x_min:-1.359375,x_max:458.6875,ha:468,o:"m 197 648 b 216 648 201 648 208 648 b 258 646 232 648 253 648 b 419 546 333 637 393 599 b 432 489 428 528 432 509 b 356 342 432 440 405 384 b 235 278 322 313 288 295 b 69 170 166 256 107 217 b 69 169 69 170 69 169 b 69 169 69 169 69 169 b 74 173 69 169 72 170 b 209 222 112 204 163 222 b 310 195 247 222 274 215 b 371 179 332 184 352 179 b 396 181 379 179 387 179 b 428 202 409 184 423 194 b 442 212 431 209 436 212 b 458 197 450 212 458 206 b 441 148 458 190 449 165 b 299 44 409 84 353 44 b 288 45 295 44 292 44 b 250 61 274 45 268 49 b 122 99 212 86 164 99 b 73 91 104 99 88 97 b 28 63 53 84 34 72 b 14 54 25 56 20 54 b 1 62 9 54 4 56 l -1 65 l -1 79 b 0 99 -1 91 0 95 b 2 113 1 102 2 108 b 164 309 20 197 81 272 b 285 470 232 341 277 398 b 287 487 287 476 287 481 b 171 595 287 551 239 595 b 155 595 166 595 160 595 b 142 592 145 594 142 594 b 145 589 142 592 142 591 b 179 527 168 576 179 551 b 132 455 179 496 163 467 b 104 451 122 452 112 451 b 27 530 62 451 27 487 b 29 555 27 538 27 546 b 197 648 44 601 115 639 m 228 -1 l 230 -1 l 227 -1 l 228 -1 m 228 673 l 230 673 l 227 673 l 228 673 "},v3:{x_min:-1.359375,x_max:409.6875,ha:418,o:"m 174 648 b 191 648 176 648 183 648 b 225 648 204 648 220 648 b 402 523 317 638 389 588 b 404 503 404 517 404 510 b 402 484 404 495 404 488 b 264 373 389 437 334 394 b 257 370 259 371 257 371 b 257 370 257 370 257 370 b 264 369 258 370 261 369 b 409 202 359 334 409 267 b 318 72 409 152 381 104 b 200 43 281 52 240 43 b 23 113 134 43 69 68 b 0 169 6 129 0 149 b 77 249 0 210 29 249 l 77 249 b 152 174 125 249 152 212 b 103 102 152 145 137 116 b 103 102 103 102 103 102 b 147 94 103 101 132 95 b 153 94 149 94 151 94 b 265 206 219 94 265 141 b 264 226 265 213 265 219 b 147 355 253 299 204 353 b 126 371 133 356 126 362 b 147 388 126 383 132 388 b 254 474 196 391 238 424 b 259 502 258 484 259 494 b 182 592 259 544 228 582 b 156 595 175 595 166 595 b 115 592 142 595 129 594 l 111 591 l 115 588 b 152 524 141 574 152 549 b 92 449 152 491 130 458 b 76 448 87 448 81 448 b -1 530 32 448 -1 488 b 20 581 -1 548 5 566 b 174 648 55 619 108 641 m 204 -1 l 205 -1 l 202 -1 l 204 -1 m 204 673 l 205 673 l 202 673 l 204 673 "},v4:{x_min:0,x_max:468.21875,ha:478,o:"m 174 637 b 232 638 175 638 189 638 b 277 638 245 638 259 638 l 378 638 l 381 635 b 389 623 386 632 389 627 b 382 609 389 617 386 613 b 366 589 381 606 372 598 l 313 528 l 245 451 l 209 410 l 155 348 l 84 267 b 59 240 72 252 59 240 b 59 240 59 240 59 240 b 151 238 59 238 68 238 l 242 238 l 242 303 b 243 371 242 369 242 370 b 289 426 245 374 254 385 l 303 441 l 317 456 l 338 483 l 360 506 l 371 520 b 386 527 375 526 381 527 b 400 519 392 527 397 524 b 401 440 401 516 401 514 b 401 377 401 423 401 402 l 401 238 l 426 238 b 453 237 449 238 450 238 b 465 217 461 234 465 226 b 460 202 465 212 464 206 b 426 197 454 197 453 197 l 401 197 l 401 180 b 451 88 402 129 412 109 b 468 69 465 81 468 79 b 461 55 468 62 466 59 l 458 54 l 321 54 l 185 54 l 182 55 b 175 69 176 59 175 62 b 191 88 175 79 176 81 b 240 180 230 109 240 129 l 240 197 l 125 197 b 73 195 104 195 87 195 b 8 197 10 195 9 197 b 0 212 2 199 0 205 b 0 212 0 212 0 212 b 20 242 0 219 0 219 b 163 610 104 344 163 492 b 174 637 163 628 166 634 m 234 -1 l 235 -1 l 232 -1 l 234 -1 m 234 673 l 235 673 l 232 673 l 234 673 "},v5:{x_min:0,x_max:409.6875,ha:418,o:"m 47 637 b 53 638 49 638 50 638 b 69 634 55 638 61 637 b 210 610 114 619 161 610 b 363 634 259 610 311 619 b 382 638 372 637 378 638 b 392 634 386 638 389 637 b 397 623 396 630 397 627 b 393 610 397 620 396 616 b 298 505 368 552 338 520 b 212 494 277 498 246 494 b 65 517 163 494 106 502 b 61 517 62 517 61 517 b 61 517 61 517 61 517 b 51 408 61 517 51 412 b 51 408 51 408 51 408 b 51 408 51 408 51 408 b 61 412 53 408 55 409 b 125 434 80 421 103 430 b 185 441 145 440 166 441 b 409 244 310 441 409 353 b 401 191 409 227 406 209 b 197 43 375 105 287 43 b 159 47 183 43 171 44 b 23 123 112 56 61 86 b 0 180 6 140 0 159 b 76 260 0 220 31 260 b 92 259 81 260 87 259 b 152 183 132 251 152 216 b 100 112 152 152 134 122 b 95 111 98 112 95 111 b 95 111 95 111 95 111 b 129 98 95 109 119 101 b 148 97 136 97 141 97 b 264 235 206 97 261 158 b 265 248 265 240 265 244 b 210 398 265 312 243 373 b 179 408 201 406 194 408 b 174 408 178 408 176 408 b 53 369 130 408 88 394 b 34 359 39 359 38 359 b 17 374 24 359 17 365 b 39 628 17 384 38 625 b 47 637 40 631 43 635 m 204 -1 l 205 -1 l 202 -1 l 204 -1 m 204 673 l 205 673 l 202 673 l 204 673 "},v6:{x_min:0,x_max:475.03125,ha:485,o:"m 255 648 b 274 648 259 648 266 648 b 314 646 288 648 307 648 b 450 555 374 637 438 594 b 454 530 453 546 454 538 b 375 451 454 485 416 451 b 328 467 359 451 343 455 b 300 526 310 483 300 503 b 352 598 300 557 319 589 b 356 599 355 598 356 599 b 352 602 356 599 355 601 b 288 616 330 612 308 616 b 210 584 257 616 230 605 b 164 433 189 559 174 508 b 160 374 163 415 160 381 b 160 374 160 374 160 374 b 160 374 160 374 160 374 b 168 377 160 374 164 376 b 258 395 200 390 228 395 b 366 367 294 395 328 387 b 475 223 436 333 475 283 b 472 197 475 215 473 206 b 349 65 462 141 419 95 b 259 43 317 51 288 43 b 167 69 230 43 200 52 b 4 290 80 113 20 195 b 0 349 1 309 0 328 b 20 467 0 391 6 433 b 255 648 58 563 155 637 m 269 363 b 257 363 265 363 261 363 b 210 345 236 363 220 356 b 186 226 196 324 186 272 b 187 198 186 216 186 206 b 213 95 191 151 202 112 b 257 76 221 83 238 76 b 270 77 261 76 266 76 b 321 156 299 81 310 99 b 329 229 326 183 329 206 b 321 301 329 252 326 274 b 269 363 311 342 298 359 m 236 -1 l 238 -1 l 235 -1 l 236 -1 m 236 673 l 238 673 l 235 673 l 236 673 "},v7:{x_min:0,x_max:442.359375,ha:451,o:"m 147 648 b 166 649 153 649 160 649 b 313 598 217 649 273 630 b 340 587 323 588 328 587 l 341 587 b 412 628 367 587 390 601 b 427 638 416 635 421 638 b 439 632 431 638 435 637 b 442 623 441 630 442 628 b 430 569 442 616 439 603 b 352 369 408 492 377 410 b 300 259 325 324 313 298 b 273 84 283 205 273 140 b 265 55 273 65 272 59 l 261 54 l 181 54 l 99 54 l 96 55 b 91 61 95 56 92 59 l 89 63 l 89 77 b 147 263 89 133 111 202 b 261 401 176 313 212 355 b 378 541 315 449 349 489 l 382 548 l 375 544 b 240 495 333 512 285 495 b 129 535 198 495 160 509 b 84 560 108 552 95 560 b 76 559 81 560 78 560 b 31 487 59 555 43 530 b 14 470 27 473 24 470 b 1 477 8 470 4 471 l 0 480 l 0 553 l 0 627 l 1 630 b 16 638 4 635 9 638 b 23 635 17 638 20 637 b 49 626 36 626 39 626 b 96 638 59 626 80 630 b 104 639 99 638 102 639 b 117 644 107 641 112 642 b 147 648 125 645 137 648 m 220 -1 l 221 -1 l 219 -1 l 220 -1 m 220 673 l 221 673 l 219 673 l 220 673 "},v8:{x_min:0,x_max:488.640625,ha:499,o:"m 217 648 b 245 649 225 648 235 649 b 453 516 343 649 430 595 b 458 478 455 503 458 491 b 412 370 458 440 441 398 b 411 369 412 369 411 369 b 415 365 411 367 412 367 b 488 231 462 331 488 281 b 472 165 488 208 483 186 b 243 43 434 86 338 43 b 63 104 178 43 112 62 b 0 233 20 140 0 186 b 73 365 0 283 24 331 l 77 369 l 72 374 b 29 476 42 406 29 441 b 217 648 29 557 103 635 m 258 605 b 242 606 253 605 247 606 b 157 552 198 606 157 580 b 160 541 157 548 159 544 b 319 413 176 503 242 452 l 337 403 l 338 406 b 359 476 352 428 359 452 b 258 605 359 537 318 595 m 138 326 b 130 330 134 328 130 330 b 130 330 130 330 130 330 b 107 305 127 330 112 313 b 84 231 91 281 84 256 b 243 86 84 156 151 86 b 249 87 245 86 246 87 b 347 156 303 88 347 120 b 344 172 347 162 345 167 b 156 319 325 227 257 281 b 138 326 151 322 144 324 m 243 -1 l 245 -1 l 242 -1 l 243 -1 m 243 673 l 245 673 l 242 673 l 243 673 "},v9:{x_min:0,x_max:475.03125,ha:485,o:"m 191 646 b 212 649 198 648 205 649 b 255 644 227 649 243 646 b 458 448 348 616 428 539 b 475 342 469 415 475 378 b 460 244 475 308 469 274 b 193 44 421 124 303 44 b 91 69 157 44 122 51 b 19 161 43 97 19 126 b 21 181 19 167 20 174 b 98 241 32 220 65 241 b 170 186 129 241 160 223 b 172 166 171 179 172 173 b 121 94 172 134 152 102 b 117 93 118 94 117 93 b 121 90 117 93 118 91 b 185 76 142 80 164 76 b 270 119 220 76 251 91 b 308 259 287 145 300 194 b 313 317 310 277 313 310 b 313 317 313 317 313 317 b 313 317 313 317 313 317 b 304 315 313 317 308 316 b 216 295 273 302 245 295 b 145 308 193 295 170 299 b 19 398 88 327 42 360 b 0 469 5 420 0 444 b 24 551 0 496 8 526 b 191 646 54 596 125 637 m 227 614 b 215 616 224 616 220 616 b 202 614 210 616 206 616 b 152 535 174 610 163 592 b 144 463 147 509 144 485 b 152 391 144 440 147 417 b 216 328 163 344 179 328 b 280 391 253 328 269 344 b 288 463 285 417 288 440 b 280 535 288 485 285 509 b 227 614 269 594 258 610 m 236 -1 l 238 -1 l 235 -1 l 236 -1 m 236 673 l 238 673 l 235 673 l 236 673 "},va:{x_min:-149.71875,x_max:148.359375,ha:151,o:"m -8 -1 b -1 0 -5 -1 -4 0 b 16 -11 5 0 13 -4 b 83 -186 17 -12 47 -90 l 148 -358 l 148 -363 b 127 -385 148 -376 138 -385 b 112 -378 122 -385 118 -383 b 54 -226 110 -374 114 -385 b 0 -81 24 -147 0 -81 b -55 -226 -1 -81 -25 -147 b -114 -378 -115 -385 -111 -374 b -129 -385 -119 -383 -123 -385 b -149 -363 -140 -385 -149 -376 l -149 -358 l -84 -186 b -19 -11 -49 -90 -19 -12 b -8 -1 -17 -8 -12 -4 "},vb:{x_min:0,x_max:428.75,ha:438,o:"m 262 186 b 273 186 266 186 272 186 b 274 186 273 186 274 186 b 285 186 274 186 280 186 b 428 48 375 181 428 122 b 386 -68 428 12 416 -29 b 155 -187 329 -145 236 -187 b 12 -111 92 -187 38 -162 b 0 -51 4 -91 0 -72 b 262 186 0 58 122 179 "},vc:{x_min:0,x_max:447.8125,ha:457,o:"m 0 86 l 0 173 l 223 173 l 447 173 l 447 86 l 447 0 l 223 0 l 0 0 l 0 86 "},vf:{x_min:0,x_max:370.21875,ha:378,o:"m 0 0 l 0 277 l 61 277 l 122 277 l 122 0 l 122 -278 l 61 -278 l 0 -278 l 0 0 m 246 -1 l 246 277 l 308 277 l 370 277 l 370 -1 l 370 -278 l 308 -278 l 246 -278 l 246 -1 "},v10:{x_min:0,x_max:559.421875,ha:571,o:"m 5 127 b 14 127 6 127 9 127 b 51 126 25 127 43 127 b 175 98 93 122 138 112 l 186 94 b 279 51 210 86 255 65 b 285 47 280 51 283 48 b 319 27 291 44 311 31 l 326 22 b 359 0 332 19 352 4 l 367 -6 b 371 -9 368 -6 370 -8 l 379 -15 b 387 -22 383 -18 386 -20 l 398 -30 l 411 -40 l 417 -47 l 427 -55 l 434 -61 b 441 -66 436 -62 439 -65 l 446 -72 l 453 -77 l 462 -87 b 558 -188 490 -113 549 -176 b 559 -195 559 -191 559 -194 b 548 -205 559 -201 555 -205 b 541 -204 547 -205 544 -205 b 534 -198 539 -201 536 -199 l 525 -191 b 481 -162 518 -187 490 -167 b 472 -155 477 -159 472 -156 b 468 -152 470 -155 469 -154 b 461 -149 466 -152 464 -151 b 428 -130 454 -145 441 -137 b 371 -99 413 -122 372 -99 b 363 -95 371 -99 367 -98 b 353 -91 357 -94 353 -91 b 348 -90 353 -91 352 -91 b 332 -81 343 -87 341 -86 b 27 -12 230 -37 127 -13 b 0 -5 4 -11 2 -11 b 0 58 0 -2 0 27 b 0 122 0 88 0 120 b 5 127 1 124 4 126 "},v11:{x_min:-155.171875,x_max:153.8125,ha:157,o:"m -137 353 b -130 353 -136 353 -133 353 b -112 349 -125 353 -119 352 b -100 342 -110 347 -104 344 b 0 317 -69 326 -35 317 b 111 349 38 317 76 328 b 129 353 117 352 123 353 b 153 327 142 353 153 344 b 144 302 153 320 153 317 b 27 6 93 226 50 113 b 21 -13 24 -11 24 -11 b 0 -26 17 -22 8 -26 b -24 -12 -9 -26 -19 -22 b -28 5 -24 -9 -27 -2 b -145 302 -53 117 -95 224 b -155 327 -155 317 -155 320 b -137 353 -155 340 -148 349 "},v18:{x_min:0,x_max:323.9375,ha:331,o:"m 217 535 b 225 537 220 537 221 537 b 245 524 235 537 242 533 l 246 521 l 247 390 l 247 258 l 273 265 b 306 270 288 269 299 270 b 322 259 315 270 319 267 b 323 208 323 256 323 233 b 322 158 323 184 323 159 b 288 140 318 148 315 147 b 247 130 254 131 247 130 b 247 65 247 130 247 104 b 247 20 247 51 247 36 l 247 -88 l 273 -81 b 306 -76 289 -77 299 -76 b 318 -81 311 -76 315 -77 b 323 -123 323 -87 323 -86 l 323 -138 l 323 -154 b 318 -195 323 -191 323 -190 b 269 -210 314 -199 315 -199 b 249 -216 259 -213 250 -216 l 247 -216 l 247 -349 l 246 -483 l 245 -487 b 225 -499 242 -495 234 -499 b 206 -487 219 -499 210 -495 l 205 -483 l 205 -355 l 205 -227 l 204 -227 l 181 -233 l 138 -244 b 117 -249 127 -247 117 -249 b 115 -385 115 -249 115 -256 l 115 -523 l 114 -526 b 95 -538 110 -534 102 -538 b 74 -526 87 -538 78 -534 l 73 -523 l 73 -391 b 72 -260 73 -269 73 -260 b 72 -260 72 -260 72 -260 b 19 -273 61 -263 23 -273 b 0 -260 10 -273 4 -267 b 0 -209 0 -256 0 -256 l 0 -162 l 1 -158 b 61 -134 5 -148 5 -148 l 73 -131 l 73 -22 b 72 86 73 79 73 86 b 72 86 72 86 72 86 b 19 74 61 83 23 74 b 0 86 10 74 4 79 b 0 137 0 90 0 90 l 0 184 l 1 188 b 61 212 5 198 5 198 l 73 215 l 73 348 l 73 481 l 74 485 b 95 498 78 492 87 498 b 103 495 98 498 100 496 b 114 485 107 494 111 489 l 115 481 l 115 353 l 115 226 l 121 226 b 159 235 123 227 141 231 l 198 247 l 205 248 l 205 384 l 205 521 l 206 524 b 217 535 209 528 212 533 m 205 9 b 205 119 205 70 205 119 l 205 119 b 182 113 204 119 194 116 l 138 102 b 117 97 127 99 117 97 b 115 -12 115 97 115 91 l 115 -122 l 121 -120 b 159 -111 123 -119 141 -115 l 198 -101 l 205 -98 l 205 9 "},v1b:{x_min:0,x_max:559.421875,ha:571,o:"m 544 204 b 548 204 545 204 547 204 b 559 194 555 204 559 199 b 559 190 559 192 559 191 b 530 156 559 188 556 184 b 462 86 510 134 481 104 b 453 76 458 81 454 77 l 446 70 l 441 65 b 434 59 439 63 436 61 l 427 54 b 409 37 426 51 416 44 b 392 23 398 29 394 26 b 387 19 389 22 387 20 b 379 13 386 19 383 16 l 371 8 l 367 5 l 359 -1 l 337 -16 b 285 -48 319 -29 298 -41 l 279 -52 b 186 -95 255 -66 210 -87 l 175 -99 b 23 -129 127 -117 68 -129 b 17 -129 20 -129 19 -129 b 1 -123 2 -129 2 -129 b 0 -49 0 -122 0 -83 b 0 4 0 -22 0 1 b 27 11 2 9 4 9 b 185 31 78 12 145 20 b 198 34 186 31 193 33 b 314 73 234 44 277 58 b 349 88 328 79 340 84 b 353 90 352 90 353 90 b 363 94 353 90 357 93 b 371 98 367 97 371 98 b 428 129 372 98 413 120 b 461 148 441 136 454 144 b 468 151 464 149 466 151 b 472 154 469 152 470 154 b 481 161 473 155 477 158 b 525 190 490 166 518 186 l 534 197 b 540 201 536 198 539 199 b 544 204 541 202 544 204 "},v1d:{x_min:0,x_max:619.3125,ha:632,o:"m 274 184 b 307 186 285 186 296 186 b 616 22 465 186 597 116 b 619 -1 617 13 619 5 b 308 -187 619 -104 483 -187 b 0 -1 133 -187 0 -102 b 5 36 0 11 1 23 b 274 184 29 115 141 176 m 289 161 b 272 162 284 162 277 162 b 171 41 209 162 171 108 b 205 -73 171 5 182 -34 b 345 -163 243 -133 298 -163 b 436 -98 385 -163 420 -142 b 446 -43 443 -80 446 -62 b 289 161 446 47 377 147 "},v1e:{x_min:-402.890625,x_max:401.53125,ha:410,o:"m -219 173 b -213 174 -217 174 -215 174 b -202 173 -209 174 -205 173 b -114 86 -200 172 -179 151 b -28 0 -66 37 -28 0 b 40 84 -28 0 2 37 b 117 174 111 173 110 172 b 122 174 118 174 119 174 b 132 173 125 174 129 173 b 295 11 134 172 171 134 l 307 -1 l 336 34 b 374 76 366 72 368 74 b 381 77 375 77 378 77 b 401 56 392 77 401 68 b 400 48 401 54 401 51 b 223 -172 397 41 230 -166 b 210 -176 220 -174 215 -176 b 201 -174 206 -176 204 -176 b 112 -87 198 -173 178 -152 b 27 0 65 -38 27 0 b -42 -86 27 0 -4 -38 b -118 -174 -112 -174 -111 -173 b -123 -176 -119 -176 -121 -176 b -133 -174 -126 -176 -130 -174 b -296 -12 -136 -173 -172 -137 l -308 0 l -337 -34 b -375 -77 -367 -73 -370 -76 b -382 -79 -377 -79 -379 -79 b -402 -58 -393 -79 -402 -69 b -401 -49 -402 -55 -402 -52 b -224 172 -398 -43 -228 167 b -219 173 -223 172 -220 173 "},v1f:{x_min:-340.28125,x_max:338.921875,ha:346,o:"m -32 520 b -29 521 -31 520 -31 521 b -23 519 -27 521 -24 520 b -20 513 -21 517 -20 516 b -21 506 -20 512 -20 509 b -31 474 -23 502 -27 488 l -53 402 l -66 352 l -68 349 l -57 349 b -32 351 -51 349 -40 351 b 123 370 19 352 74 359 b 137 371 127 370 133 371 b 170 356 152 371 164 366 b 171 355 170 355 170 355 b 216 366 174 355 183 358 b 280 378 268 377 266 377 b 287 378 283 378 284 378 b 332 349 307 378 322 369 b 338 319 336 341 338 330 b 332 301 338 310 336 302 b 242 280 329 299 246 280 b 242 280 242 280 242 280 b 235 288 236 280 235 283 b 235 292 235 290 235 291 b 236 302 236 297 236 299 b 220 337 236 316 230 330 l 216 340 l 210 335 b 159 276 189 322 172 301 b 118 149 152 265 156 274 b 81 34 84 36 85 36 b -8 13 78 33 -4 13 b -8 13 -8 13 -8 13 b -14 20 -12 15 -14 15 b -8 44 -14 24 -12 31 b -2 66 -5 55 -2 65 b -2 66 -2 66 -2 66 l -2 66 b -43 41 -2 66 -21 55 b -114 4 -98 8 -98 8 b -144 0 -123 0 -134 0 b -242 99 -197 0 -242 43 b -242 109 -242 102 -242 105 b -212 219 -240 122 -242 116 b -185 312 -197 270 -185 312 l -185 312 b -189 312 -185 312 -186 312 b -259 312 -200 312 -227 312 b -321 310 -291 312 -310 310 b -334 312 -330 310 -334 312 b -340 319 -338 313 -340 316 b -336 326 -340 322 -338 324 b -291 337 -334 326 -314 331 l -247 347 l -210 348 b -172 348 -190 348 -172 348 b -168 363 -172 348 -171 355 b -145 442 -151 424 -145 441 b -133 452 -144 444 -140 446 l -77 489 b -32 520 -53 506 -32 520 m 57 334 b 53 335 55 335 54 335 b 44 334 50 335 49 335 b -70 316 8 326 -28 320 b -78 309 -78 316 -78 316 b -108 202 -80 305 -88 274 b -141 81 -136 112 -141 93 b -140 74 -141 79 -141 77 b -117 49 -137 59 -127 49 b -107 52 -114 49 -110 51 b 16 127 -106 54 14 126 b 42 217 16 127 42 215 b 49 241 42 222 44 229 b 73 320 53 251 73 317 b 57 334 73 327 65 333 "},v20:{x_min:-571.671875,x_max:570.3125,ha:582,o:"m -559 351 b -551 352 -556 352 -553 352 b -530 338 -543 352 -533 348 b -529 169 -530 337 -529 291 l -529 1 l -507 27 l -441 112 b -382 174 -394 169 -390 174 b -378 174 -381 174 -379 174 b -281 86 -370 174 -375 179 b -196 0 -234 37 -196 0 b -126 84 -196 0 -164 37 b -50 174 -55 173 -57 172 b -44 174 -49 174 -47 174 b -35 173 -42 174 -38 173 b 53 86 -32 172 -12 151 b 138 0 100 37 138 0 b 208 84 140 0 170 37 b 284 174 279 173 279 172 b 289 174 285 174 288 174 b 300 173 294 174 298 173 b 462 11 303 172 340 134 l 475 -1 l 503 34 b 541 76 534 72 536 74 b 548 77 544 77 545 77 b 570 56 560 77 570 68 b 567 48 570 54 568 51 b 392 -172 564 41 397 -166 b 378 -176 387 -174 382 -176 b 368 -174 375 -176 371 -176 b 280 -87 367 -173 347 -152 b 194 0 234 -38 194 0 b 126 -86 194 0 163 -38 b 49 -174 54 -174 55 -173 b 44 -176 47 -176 46 -176 b 34 -174 40 -176 36 -174 b -54 -87 31 -173 10 -152 b -140 0 -102 -38 -140 0 b -209 -86 -140 0 -171 -38 b -285 -174 -280 -174 -279 -173 b -291 -176 -287 -176 -288 -176 b -300 -174 -294 -176 -298 -174 b -464 -11 -303 -173 -374 -102 l -476 0 l -506 -37 b -539 -76 -528 -65 -537 -74 b -551 -80 -543 -79 -547 -80 b -570 -68 -558 -80 -566 -76 l -571 -65 l -571 136 b -570 340 -571 331 -571 337 b -559 351 -568 344 -564 348 "},v22:{x_min:0,x_max:432.828125,ha:442,o:"m 209 186 b 213 187 210 187 212 187 b 216 187 215 187 216 187 b 224 174 216 186 220 180 b 420 -1 269 105 338 43 b 432 -12 431 -8 432 -9 b 421 -23 432 -15 432 -16 b 228 -180 345 -70 264 -137 b 219 -188 221 -188 221 -188 l 219 -188 b 208 -177 215 -188 215 -188 b 10 1 163 -106 93 -44 b 0 11 0 6 0 8 b 10 22 0 13 0 15 b 202 179 87 69 167 136 b 209 186 206 183 209 186 "},v23:{x_min:0,x_max:133.390625,ha:136,o:"m 54 66 b 65 68 58 68 61 68 b 122 37 88 68 110 56 b 133 -1 130 26 133 12 b 104 -58 133 -23 123 -44 b 66 -69 92 -65 78 -69 b 10 -38 44 -69 23 -58 b 0 -1 2 -27 0 -13 b 54 66 0 30 20 61 "},v25:{x_min:0,x_max:318.5,ha:325,o:"m 20 376 b 167 377 23 377 96 377 b 296 376 231 377 294 377 b 318 347 311 371 318 359 b 296 316 318 333 311 320 b 159 315 294 315 227 315 b 21 316 91 315 24 315 b 0 345 6 320 0 333 b 20 376 0 359 6 371 "},v26:{x_min:-21.78125,x_max:483.1875,ha:493,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 383 20 616 20 616 l 20 148 l 21 151 b 140 199 59 183 102 199 b 206 179 164 199 187 192 l 210 176 l 210 396 l 210 617 l 212 621 b 231 632 216 628 223 632 b 250 620 239 632 247 628 b 251 383 251 616 251 616 l 251 148 l 254 151 b 370 199 291 183 332 199 b 415 191 385 199 400 197 b 483 84 458 176 483 134 b 461 0 483 58 476 29 b 332 -142 439 -40 411 -72 l 255 -215 b 231 -229 240 -229 239 -229 b 216 -223 224 -229 220 -227 b 210 -158 210 -217 210 -223 b 210 -120 210 -148 210 -136 l 210 -29 l 205 -34 b 100 -142 182 -65 159 -88 l 23 -215 b -1 -229 9 -229 6 -229 b -20 -216 -9 -229 -17 -224 l -21 -212 l -21 201 l -21 616 l -20 620 b -8 631 -17 624 -13 630 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 m 341 131 b 328 133 337 133 332 133 b 322 133 326 133 323 133 b 257 87 296 129 273 113 l 251 80 l 251 -37 l 251 -156 l 255 -152 b 375 81 328 -72 375 20 l 375 83 b 341 131 375 113 367 126 "},v27:{x_min:0,x_max:432.828125,ha:442,o:"m 208 184 b 213 187 209 186 212 187 b 224 176 217 187 221 183 b 245 147 225 172 235 159 b 419 -1 288 90 347 38 b 431 -8 424 -4 431 -8 b 432 -12 432 -9 432 -11 b 430 -18 432 -13 432 -16 b 364 -61 424 -20 383 -47 b 225 -183 307 -102 250 -152 b 223 -187 224 -184 223 -187 b 220 -188 221 -188 220 -188 b 208 -176 216 -188 210 -184 b 187 -148 205 -173 197 -159 b 12 0 144 -90 84 -38 b 0 11 4 5 0 8 b 16 24 0 13 4 18 b 183 158 83 69 141 115 b 208 184 194 169 198 173 m 183 105 b 176 113 181 109 176 113 b 172 109 176 113 175 112 b 92 45 149 90 117 62 l 88 41 l 102 31 b 247 -105 160 -6 210 -55 l 254 -115 l 257 -112 l 269 -102 b 340 -45 287 -87 319 -61 l 344 -43 l 330 -33 b 183 105 272 6 221 54 "},v28:{x_min:-73.5,x_max:72.140625,ha:74,o:"m -72 252 l -73 254 l 0 254 l 72 254 l 70 252 b 0 -1 70 248 0 -1 b -72 252 -1 -1 -72 248 "},v29:{x_min:-590.71875,x_max:589.359375,ha:601,o:"m 175 273 b 182 274 178 273 181 274 b 202 262 190 274 198 269 b 204 158 204 259 204 259 l 204 56 l 250 112 b 303 174 296 172 298 172 b 308 174 304 174 307 174 b 318 173 313 174 317 173 b 481 11 322 172 357 134 l 494 -1 l 522 34 b 560 76 553 72 555 74 b 567 77 563 77 564 77 b 589 56 579 77 589 68 b 586 48 589 54 588 51 b 411 -172 583 41 416 -166 b 397 -176 406 -174 401 -176 b 387 -174 393 -176 390 -176 b 299 -87 386 -173 366 -152 b 213 0 253 -38 213 0 b 208 -6 213 0 210 -2 l 204 -12 l 204 -147 b 204 -210 204 -173 204 -194 b 198 -292 204 -297 204 -287 b 183 -299 194 -297 189 -299 b 164 -287 175 -299 167 -295 b 163 -174 163 -284 163 -284 l 161 -63 l 119 -117 b 65 -176 76 -170 73 -176 b 61 -176 63 -176 62 -176 b -35 -87 51 -174 57 -180 b -121 0 -83 -38 -121 0 b -190 -86 -122 0 -152 -38 b -266 -174 -261 -174 -259 -173 b -272 -176 -268 -176 -270 -176 b -281 -174 -276 -176 -280 -174 b -371 -86 -284 -173 -304 -152 b -457 0 -417 -38 -457 0 l -457 0 b -477 -26 -457 0 -470 -16 b -548 -227 -524 -88 -548 -161 b -536 -303 -548 -254 -544 -280 b -533 -317 -534 -309 -533 -313 b -553 -338 -533 -330 -541 -338 b -577 -315 -566 -338 -571 -333 b -590 -227 -586 -287 -590 -258 b -518 -9 -590 -154 -564 -77 b -465 56 -509 2 -504 8 l -402 134 b -363 174 -374 170 -371 174 b -359 174 -362 174 -360 174 b -262 86 -351 174 -356 179 b -176 0 -216 37 -176 0 b -107 84 -176 0 -145 37 b -31 174 -36 173 -38 172 b -25 174 -29 174 -28 174 b -16 173 -23 174 -19 173 b 147 11 -13 172 35 123 l 157 -1 l 160 1 l 163 4 l 163 130 b 164 260 163 256 163 258 b 175 273 166 266 170 270 "},v2a:{x_min:-21.78125,x_max:366.140625,ha:374,o:"m 276 1378 b 284 1379 279 1379 281 1379 b 306 1360 292 1379 298 1374 b 352 1247 326 1326 343 1286 b 366 1139 362 1213 366 1175 b 347 1009 366 1093 359 1049 l 344 1002 l 347 992 b 352 971 348 986 351 977 b 366 863 362 936 366 899 b 347 732 366 818 359 773 l 344 725 l 347 716 b 352 695 348 710 351 700 b 366 588 362 659 366 623 b 223 262 366 464 314 345 b 189 233 212 252 212 252 b 35 76 126 183 73 129 b -1 16 20 56 2 27 b -19 4 -4 9 -12 4 l -21 4 l -21 137 l -21 270 l -17 270 b 186 344 59 281 134 308 b 319 606 270 399 319 499 b 317 650 319 620 319 635 l 315 659 l 314 655 b 223 537 288 607 258 570 b 189 509 212 528 212 528 b 35 352 126 459 73 405 b -1 292 20 333 2 303 b -19 280 -4 285 -12 280 l -21 280 l -21 413 l -21 546 l -17 546 b 186 620 59 557 134 584 b 319 882 270 675 319 775 b 317 925 319 896 319 911 l 315 935 l 314 931 b 223 813 288 884 258 846 b 189 785 212 805 212 805 b 35 628 126 735 73 681 b -1 569 20 609 2 580 b -19 556 -4 562 -12 556 l -21 556 l -21 689 l -21 823 l -17 823 b 202 907 68 835 152 867 b 319 1157 280 968 319 1061 b 270 1338 319 1218 303 1281 b 262 1358 264 1349 262 1353 b 262 1364 262 1360 262 1363 b 276 1378 265 1371 269 1376 "},v2c:{x_min:-597.53125,x_max:596.171875,ha:608,o:"m -413 173 b -408 174 -412 174 -409 174 b -397 173 -404 174 -400 173 b -308 86 -394 172 -374 151 b -223 0 -261 37 -223 0 b -153 84 -223 0 -191 37 b -77 174 -83 173 -84 172 b -72 174 -76 174 -74 174 b -62 173 -68 174 -63 173 b 25 86 -59 172 -39 151 b 112 0 73 37 111 0 b 181 84 112 0 144 37 b 257 174 251 173 251 172 b 262 174 258 174 261 174 b 273 173 266 174 270 173 b 436 9 276 172 347 101 l 447 -1 l 477 36 b 522 79 511 79 513 79 l 522 79 b 552 51 533 79 539 73 b 596 -112 582 6 596 -51 b 567 -262 596 -161 586 -213 b 539 -322 558 -287 544 -316 b 524 -327 534 -326 529 -327 b 504 -315 515 -327 507 -323 b 503 -308 503 -312 503 -309 b 511 -285 503 -302 504 -297 b 555 -113 540 -227 555 -169 b 544 -34 555 -86 551 -59 b 522 19 540 -16 530 8 l 521 22 l 481 -26 l 405 -122 b 353 -176 366 -172 362 -176 b 349 -176 352 -176 351 -176 b 253 -87 341 -176 347 -180 b 167 0 206 -38 167 0 b 99 -86 167 0 136 -38 b 21 -174 27 -174 28 -173 b 17 -176 20 -176 19 -176 b 6 -174 13 -176 9 -174 b -81 -87 4 -173 -14 -152 b -167 0 -129 -38 -167 0 b -236 -86 -167 0 -198 -38 b -313 -174 -307 -174 -306 -173 b -318 -176 -314 -176 -315 -176 b -328 -174 -321 -176 -325 -174 b -491 -12 -330 -173 -367 -137 l -503 0 l -530 -34 b -570 -77 -562 -73 -564 -76 b -577 -79 -571 -79 -574 -79 b -597 -58 -588 -79 -597 -69 b -596 -49 -597 -55 -597 -52 b -417 172 -593 -43 -423 167 b -413 173 -417 172 -415 173 "},v2d:{x_min:0,x_max:438.28125,ha:447,o:"m 212 190 b 219 191 213 191 216 191 b 236 176 225 191 228 190 b 419 18 277 105 341 49 b 436 5 431 13 434 11 b 438 -1 438 4 438 1 b 424 -16 438 -8 432 -13 b 356 -49 409 -20 379 -36 b 234 -180 306 -83 258 -133 b 219 -192 230 -188 224 -192 b 200 -176 213 -192 206 -187 b 9 -15 157 -102 89 -45 b 0 0 2 -12 0 -6 b 16 18 0 9 2 12 b 200 176 93 48 159 104 b 212 190 205 186 208 188 m 239 113 b 236 117 238 116 238 117 b 230 108 235 117 234 115 b 92 -15 196 58 140 8 b 88 -18 91 -16 88 -18 b 92 -20 88 -18 91 -19 b 198 -116 130 -43 166 -74 b 200 -117 200 -117 200 -117 b 201 -117 200 -117 201 -117 b 264 -43 212 -98 242 -62 b 345 15 288 -19 321 4 b 348 18 347 16 348 16 b 344 20 348 18 347 19 b 239 113 307 41 266 79 "},v2f:{x_min:-1.359375,x_max:680.5625,ha:694,o:"m 597 1042 b 604 1042 600 1042 602 1042 b 642 1002 627 1042 642 1022 b 619 966 642 988 635 974 b 439 927 574 942 503 927 l 426 927 l 426 921 b 430 838 428 893 430 866 b 345 480 430 696 398 560 b 179 391 307 423 249 391 b 156 392 171 391 164 392 b 138 394 149 394 142 394 b 103 434 115 396 103 416 b 129 471 103 451 111 466 b 141 474 133 473 137 474 b 172 459 153 474 164 469 b 181 455 175 456 176 455 b 187 456 182 455 185 455 b 253 520 212 460 234 483 b 315 836 294 605 315 714 b 311 928 315 867 314 898 b 302 945 310 943 311 942 b 245 953 283 950 262 953 b 130 891 193 953 149 931 b 84 860 119 870 102 860 b 36 905 61 860 39 877 b 36 910 36 907 36 909 b 80 970 36 931 50 949 b 249 1017 125 1000 187 1017 b 322 1009 273 1017 299 1014 l 341 1003 b 436 991 372 995 406 991 b 577 1031 495 991 545 1004 b 597 1042 583 1038 590 1041 m 416 360 b 424 360 419 360 421 360 b 481 309 454 360 479 338 b 503 145 484 280 495 199 b 585 -185 525 16 555 -106 b 630 -245 596 -213 613 -237 l 634 -247 l 638 -245 b 647 -244 641 -245 645 -244 b 680 -278 666 -244 680 -262 b 664 -308 680 -290 675 -301 b 638 -312 658 -310 650 -312 b 613 -309 631 -312 623 -310 b 477 -201 555 -303 502 -260 b 417 -2 460 -159 434 -72 b 416 5 417 1 416 5 b 416 5 416 5 416 5 b 411 -5 415 5 413 0 b 359 -97 397 -33 377 -70 b 353 -106 355 -102 353 -105 b 359 -112 353 -108 355 -109 b 409 -130 375 -123 390 -129 b 426 -134 420 -130 421 -131 b 431 -147 428 -137 431 -141 b 420 -162 431 -152 427 -159 b 382 -169 409 -166 396 -169 b 323 -155 363 -169 341 -165 l 317 -152 l 314 -155 b 62 -303 240 -240 148 -295 b 36 -305 55 -305 44 -305 b 23 -303 29 -305 24 -305 b -1 -273 6 -299 -1 -287 b 31 -240 -1 -256 10 -240 b 36 -240 32 -240 34 -240 b 42 -241 38 -241 39 -241 b 134 -204 63 -241 99 -226 b 367 288 265 -115 357 81 b 375 330 368 313 370 320 b 416 360 383 347 400 358 m 360 -359 b 379 -359 363 -359 371 -359 b 424 -360 396 -359 416 -359 b 646 -502 536 -373 624 -430 b 649 -527 649 -510 649 -519 b 530 -673 649 -578 604 -635 l 521 -677 l 529 -681 b 653 -811 592 -714 637 -762 b 660 -853 658 -827 660 -839 b 645 -911 660 -873 656 -892 b 426 -1021 608 -981 519 -1021 b 283 -989 377 -1021 328 -1011 b 235 -949 249 -972 239 -964 b 234 -936 234 -946 234 -941 b 234 -928 234 -934 234 -931 l 235 -925 l 234 -927 l 225 -934 b 87 -982 186 -966 138 -982 b 80 -982 85 -982 83 -982 b 55 -981 70 -981 58 -981 b 17 -943 32 -981 17 -964 b 54 -904 17 -921 35 -904 b 78 -914 62 -904 72 -909 l 83 -918 l 88 -918 b 190 -831 122 -918 166 -881 b 269 -506 242 -727 269 -612 b 268 -462 269 -492 269 -477 b 266 -449 266 -458 266 -452 b 265 -444 266 -445 266 -444 b 257 -446 264 -444 261 -445 b 132 -545 196 -470 152 -505 b 88 -573 122 -563 104 -573 b 39 -523 63 -573 39 -553 b 63 -476 39 -505 44 -494 b 360 -359 136 -408 235 -369 m 419 -424 b 393 -423 411 -423 406 -423 l 375 -423 l 377 -426 b 379 -439 377 -427 378 -434 b 383 -510 382 -463 383 -487 b 314 -811 383 -609 360 -710 b 266 -893 296 -850 285 -870 b 264 -898 265 -896 264 -898 l 264 -898 b 264 -898 264 -898 264 -898 b 268 -898 264 -898 266 -898 b 273 -898 270 -898 272 -898 b 300 -909 283 -898 291 -900 b 426 -957 340 -941 385 -957 b 476 -949 443 -957 460 -954 b 547 -853 522 -931 547 -893 b 485 -745 547 -816 526 -775 b 397 -707 460 -727 432 -714 b 366 -675 375 -703 366 -692 b 396 -642 366 -657 377 -645 b 530 -557 455 -637 511 -601 b 536 -527 534 -548 536 -537 b 419 -424 536 -480 490 -437 "},v30:{x_min:-21.78125,x_max:367.5,ha:375,o:"m 276 1900 b 284 1901 279 1900 281 1901 b 306 1883 291 1901 298 1896 b 367 1686 347 1825 367 1757 b 343 1558 367 1643 359 1600 l 338 1549 l 343 1537 b 367 1411 359 1497 367 1454 b 343 1282 367 1367 359 1324 l 338 1272 l 343 1261 b 367 1135 359 1221 367 1178 b 343 1007 367 1090 359 1047 l 338 996 l 343 985 b 367 859 359 945 367 902 b 343 731 367 814 359 771 l 338 720 l 343 709 b 367 582 359 667 367 626 b 289 362 367 503 340 426 b 239 312 276 345 259 330 b 29 77 152 237 76 152 b -1 18 14 54 2 30 b -19 4 -4 11 -12 4 l -21 4 l -21 133 l -20 260 l -13 262 b 98 299 17 269 62 284 b 111 305 103 302 110 305 b 167 334 123 310 156 327 b 319 595 264 391 319 491 b 313 659 319 616 318 638 b 310 667 311 664 311 667 b 307 663 310 667 308 666 b 240 588 289 637 269 614 b 16 331 141 505 62 413 b -1 294 8 316 1 302 b -19 280 -4 287 -12 280 l -21 280 l -21 408 l -20 537 l -13 538 b 98 576 17 545 62 560 b 111 581 103 578 110 581 b 167 610 123 587 156 603 b 319 871 264 667 319 767 b 313 935 319 892 318 913 b 310 942 311 941 311 942 b 307 939 310 942 308 941 b 240 864 289 913 269 889 b 16 607 141 781 62 689 b -1 570 8 592 1 578 b -19 556 -4 563 -12 556 l -21 556 l -21 684 l -20 813 l -13 814 b 98 852 17 821 62 836 b 111 857 103 855 110 857 b 167 886 123 863 156 880 b 319 1147 264 943 319 1043 b 313 1211 319 1168 318 1189 b 310 1218 311 1217 311 1218 b 307 1215 310 1218 308 1217 b 240 1140 289 1188 269 1165 b 16 884 141 1057 62 966 b -1 846 8 868 1 855 b -19 832 -4 839 -12 832 l -21 832 l -21 960 l -20 1089 l -13 1090 b 98 1128 17 1097 62 1111 b 111 1134 103 1131 110 1134 b 167 1163 123 1139 156 1156 b 319 1424 264 1220 319 1320 b 313 1486 319 1444 318 1465 b 310 1494 311 1493 311 1494 b 307 1492 310 1494 308 1493 b 240 1417 289 1464 269 1442 b 16 1160 141 1333 62 1242 b -1 1121 8 1145 1 1131 b -19 1109 -4 1115 -12 1109 l -21 1109 l -21 1236 l -20 1365 l -13 1367 b 98 1404 17 1374 62 1388 b 111 1410 103 1407 110 1410 b 250 1508 172 1437 215 1467 b 319 1701 296 1564 319 1633 b 270 1859 319 1757 303 1814 b 262 1882 265 1868 262 1875 b 276 1900 262 1890 266 1896 "},v31:{x_min:0,x_max:386.5625,ha:394,o:"m 0 173 l 0 347 l 193 347 l 386 347 l 386 173 l 386 0 l 193 0 l 0 0 l 0 173 "},v33:{x_min:-423.3125,x_max:421.9375,ha:431,o:"m -10 276 b -2 277 -8 277 -5 277 b 17 265 5 277 13 273 b 19 163 19 260 19 260 l 19 68 l 39 45 b 277 -95 122 -34 200 -81 b 289 -97 281 -97 285 -97 b 378 0 332 -97 371 -54 b 378 11 378 4 378 6 b 302 83 378 55 345 83 b 242 66 283 83 262 77 b 208 56 231 59 219 56 b 148 120 175 56 148 81 b 200 186 148 151 164 172 b 261 198 220 194 240 198 b 420 45 341 198 411 137 b 421 22 421 37 421 29 b 257 -198 421 -86 347 -188 b 242 -198 251 -198 247 -198 b 20 -105 181 -198 95 -163 l 19 -104 l 19 -183 b 19 -216 19 -195 19 -206 b 12 -273 19 -272 17 -267 b -2 -278 8 -277 2 -278 b -21 -266 -10 -278 -19 -274 b -23 -165 -23 -263 -23 -262 l -23 -69 l -44 -47 b -250 86 -117 23 -183 66 b -295 94 -270 93 -284 94 b -315 91 -302 94 -308 94 b -381 5 -356 81 -381 43 b -355 -56 -381 -16 -372 -40 b -299 -81 -338 -73 -319 -81 b -246 -68 -283 -81 -265 -77 b -212 -58 -234 -61 -223 -58 b -168 -77 -196 -58 -179 -65 b -151 -122 -156 -90 -151 -105 b -179 -174 -151 -141 -160 -162 b -239 -195 -194 -184 -217 -192 b -257 -197 -245 -195 -250 -197 b -423 -5 -349 -197 -423 -113 b -423 0 -423 -4 -423 -1 b -277 194 -420 97 -362 173 b -247 197 -268 197 -258 197 b -24 104 -185 197 -100 162 l -23 102 l -23 181 b -21 265 -23 260 -23 260 b -10 276 -20 269 -14 274 "},v34:{x_min:0,x_max:622.03125,ha:635,o:"m 398 417 b 406 419 401 419 404 419 b 427 398 417 419 427 409 b 427 391 427 395 427 392 b 34 -274 424 385 38 -272 b 20 -280 29 -278 25 -280 b 0 -259 9 -280 0 -270 b 0 -252 0 -256 0 -254 b 393 413 2 -247 389 410 b 398 417 394 415 397 416 m 592 417 b 600 419 594 419 597 419 b 622 398 611 419 622 409 b 620 391 622 395 620 392 b 227 -274 617 385 231 -272 b 213 -280 223 -278 219 -280 b 193 -259 202 -280 193 -270 b 194 -252 193 -256 193 -254 b 586 413 196 -247 582 410 b 592 417 588 415 590 416 "},v36:{x_min:-1.359375,x_max:1064.390625,ha:1086,o:"m 296 692 b 314 694 302 694 307 694 b 386 685 337 694 366 689 b 548 498 480 660 548 580 b 548 481 548 492 548 487 b 455 395 541 426 499 395 b 370 462 420 395 383 417 b 362 496 364 477 362 488 b 377 514 362 509 367 514 b 393 501 386 514 390 510 b 432 474 397 484 413 474 b 470 487 445 474 458 478 b 491 530 484 496 491 510 b 490 544 491 534 491 539 b 333 660 479 606 411 657 l 323 662 l 315 646 b 269 524 285 591 269 556 b 321 431 269 492 287 466 b 349 395 338 413 343 408 b 363 342 359 378 363 362 b 359 312 363 333 362 322 b 285 158 348 266 318 206 b 281 152 283 155 281 152 b 281 152 281 152 281 152 b 287 154 283 152 284 152 b 318 155 298 154 308 155 b 461 98 371 155 419 136 l 464 97 l 483 112 b 503 129 494 120 503 127 b 504 130 503 129 504 129 b 503 138 504 131 503 134 b 500 180 500 152 500 166 b 553 326 500 238 518 288 b 604 366 560 331 592 358 b 649 381 617 376 632 381 b 696 362 665 381 681 374 b 724 302 714 347 724 324 b 695 238 724 278 714 255 b 660 210 691 234 662 212 b 579 148 658 209 582 151 b 579 148 579 148 579 148 b 596 106 579 144 589 119 b 622 77 604 88 609 83 b 657 69 632 72 645 69 b 748 112 688 69 721 84 b 755 123 754 117 755 120 b 755 127 755 124 755 126 b 751 165 752 137 751 151 b 758 219 751 183 754 202 b 894 387 774 290 820 347 b 896 390 896 388 896 388 b 891 398 896 391 895 392 b 622 560 827 477 730 535 b 600 580 605 564 600 569 b 617 596 600 591 607 596 b 628 595 622 596 624 596 b 1057 248 846 552 1020 412 b 1064 191 1061 229 1064 209 b 922 0 1064 94 1005 9 b 902 -1 916 -1 909 -1 b 774 76 847 -1 800 26 b 769 83 770 81 770 83 b 769 81 769 83 769 83 b 627 -1 733 29 677 -1 b 548 27 597 -1 570 8 b 515 88 537 37 525 61 l 513 95 l 510 93 l 453 45 b 390 0 396 0 396 0 b 390 0 390 0 390 0 b 374 15 381 0 377 4 b 268 105 359 69 314 105 b 250 104 262 105 257 105 l 243 102 l 234 90 b 155 1 201 49 159 2 b 147 -1 152 0 149 -1 b 130 15 138 -1 130 6 b 132 20 130 18 132 19 b 136 31 133 22 134 27 b 220 131 149 74 178 109 b 231 137 225 134 230 136 b 302 278 280 202 302 244 b 265 335 302 299 295 309 b 209 442 234 363 213 402 b 209 455 209 446 209 451 b 279 648 209 502 232 564 l 285 659 l 283 659 b 176 627 238 653 210 645 b 57 477 111 594 66 538 b 55 459 55 471 55 464 b 72 409 55 437 61 415 b 93 403 78 405 87 403 b 152 467 123 403 151 431 b 168 488 153 483 157 488 b 185 462 181 488 185 483 l 185 460 b 137 344 183 409 168 369 b 78 322 119 328 98 322 b 13 360 50 322 25 335 b -1 426 4 380 -1 402 b 89 610 -1 488 32 559 b 296 692 147 659 210 685 m 926 348 b 921 353 924 351 922 353 b 914 348 920 353 918 351 b 823 167 857 306 823 237 b 828 124 823 154 826 138 b 890 31 837 79 862 40 b 896 31 892 31 894 31 b 956 104 916 31 940 59 b 970 191 965 129 970 159 b 966 241 970 208 969 224 b 926 348 959 277 945 313 m 627 326 b 619 326 624 326 622 326 b 598 316 611 326 604 323 b 568 215 579 288 568 255 b 568 208 568 213 568 210 b 571 183 570 195 570 184 l 571 183 b 594 201 571 183 582 191 l 634 231 b 660 259 653 247 656 248 b 664 278 662 266 664 272 b 627 326 664 299 649 320 "},v38:{x_min:-1.359375,x_max:651.96875,ha:665,o:"m 389 644 b 405 645 394 645 400 645 b 504 566 450 645 492 613 b 507 541 506 557 507 549 b 480 471 507 514 498 489 l 477 467 l 483 470 b 609 591 539 485 586 531 b 613 601 611 595 613 599 b 631 609 619 607 624 609 b 651 588 641 609 651 602 b 200 -946 651 584 204 -941 b 182 -957 197 -953 190 -957 b 163 -945 174 -957 166 -953 b 161 -939 161 -942 161 -942 b 217 -743 161 -931 170 -904 b 272 -555 247 -639 272 -555 b 272 -555 272 -555 272 -555 b 264 -560 272 -555 268 -557 b 140 -603 227 -589 182 -603 b 36 -567 102 -603 65 -592 b -1 -487 12 -548 -1 -517 b 17 -427 -1 -466 5 -445 b 103 -380 38 -395 70 -380 b 191 -433 137 -380 172 -398 b 205 -484 201 -448 205 -466 b 178 -553 205 -509 196 -535 l 175 -557 l 182 -555 b 307 -435 236 -539 284 -494 b 372 -213 308 -430 372 -215 b 372 -213 372 -213 372 -213 b 364 -219 372 -213 368 -216 b 240 -262 328 -247 283 -262 b 137 -226 202 -262 166 -249 b 99 -145 112 -206 99 -176 b 118 -84 99 -124 106 -104 b 204 -38 138 -54 171 -38 b 292 -91 238 -38 273 -56 b 306 -141 302 -106 306 -124 b 279 -212 306 -167 296 -194 l 276 -215 l 281 -213 b 408 -93 336 -198 385 -151 b 473 129 409 -88 473 127 b 473 129 473 129 473 129 b 465 122 473 129 469 126 b 341 80 428 94 383 80 b 236 115 303 80 266 91 b 200 195 213 136 200 165 b 217 256 200 217 206 238 b 304 303 239 287 272 303 b 393 249 338 303 374 285 b 406 199 402 234 406 217 b 379 129 406 173 397 148 l 377 126 l 382 127 b 509 248 436 142 485 190 b 574 470 510 254 574 469 b 574 470 574 470 574 470 b 566 464 574 470 570 467 b 442 421 529 435 484 421 b 337 458 404 421 367 433 b 300 537 313 478 300 508 b 389 644 300 585 334 635 "},v39:{x_min:-171.5,x_max:251.8125,ha:257,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 553 20 616 20 614 b 20 491 20 503 20 491 l 20 491 b 153 535 47 501 149 535 b 174 514 167 535 174 524 b 164 496 174 508 171 501 b 92 470 164 495 132 484 l 20 445 l 20 390 b 20 363 20 378 20 370 b 20 333 20 340 20 333 l 20 333 b 153 377 47 344 149 377 b 174 356 167 377 174 367 b 164 338 174 349 171 342 b 92 312 164 338 132 326 l 20 288 l 20 219 l 20 148 l 21 151 b 137 199 59 183 99 199 b 182 191 152 199 167 197 b 251 84 227 176 251 134 b 228 0 251 58 243 29 b 100 -142 206 -40 178 -72 l 23 -215 b -1 -229 9 -229 6 -229 b -20 -216 -9 -229 -17 -224 b -21 30 -21 -212 -21 -212 b -21 273 -21 163 -21 273 b -84 252 -21 273 -50 263 b -152 230 -133 234 -145 230 b -157 231 -155 230 -156 231 b -171 252 -166 234 -171 244 b -160 270 -171 259 -167 266 b -27 316 -159 270 -93 294 l -21 319 l -21 374 b -21 431 -21 406 -21 431 b -84 409 -21 431 -50 421 b -152 388 -133 392 -145 388 b -157 390 -155 388 -156 388 b -171 409 -166 392 -171 401 b -160 428 -171 417 -167 424 b -27 474 -159 428 -93 451 l -21 476 l -21 546 b -20 620 -21 614 -21 616 b -8 631 -17 624 -13 630 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 "},v3b:{x_min:0,x_max:484.5625,ha:494,o:"m 228 245 b 239 247 234 247 239 247 b 243 247 240 247 242 247 b 303 238 257 247 287 242 b 484 -2 417 208 484 104 b 412 -177 484 -65 461 -127 b 243 -248 363 -226 303 -248 b 6 -63 138 -248 36 -180 b 0 -1 1 -41 0 -20 b 228 245 0 127 98 240 m 255 181 b 240 183 247 183 245 183 b 232 181 238 183 235 183 b 142 152 200 180 168 170 l 138 149 l 190 97 l 242 44 l 294 97 l 345 149 l 340 152 b 255 181 315 169 284 180 m 147 -54 l 197 -1 l 147 51 l 95 104 l 91 99 b 62 -1 72 70 62 34 b 66 -43 62 -15 63 -29 b 91 -101 72 -63 80 -84 l 95 -106 l 147 -54 m 393 99 b 389 104 390 102 389 104 b 337 51 389 104 366 80 l 285 -1 l 337 -54 l 389 -106 l 393 -101 b 421 -1 412 -72 421 -36 b 393 99 421 34 412 69 m 294 -98 b 242 -45 265 -69 242 -45 b 190 -98 242 -45 219 -69 l 138 -151 l 142 -154 b 242 -184 172 -174 206 -184 b 340 -154 276 -184 311 -174 l 345 -151 l 294 -98 "},v3c:{x_min:0,x_max:450.53125,ha:460,o:"m 189 302 b 204 303 193 302 198 303 b 303 224 250 303 292 270 b 306 199 304 216 306 208 b 279 129 306 173 296 147 l 276 126 l 281 127 b 408 249 337 142 385 190 b 412 259 409 254 412 258 b 430 267 417 265 423 267 b 450 247 441 267 450 259 b 200 -605 450 242 204 -599 b 182 -616 197 -612 190 -616 b 163 -602 174 -616 166 -610 b 161 -598 161 -601 161 -601 b 217 -402 161 -589 170 -562 b 272 -213 247 -298 272 -213 b 272 -213 272 -213 272 -213 b 264 -219 272 -213 268 -216 b 140 -262 227 -247 182 -262 b 36 -226 102 -262 65 -249 b 0 -145 12 -206 0 -176 b 17 -84 0 -124 5 -104 b 103 -38 38 -54 70 -38 b 191 -91 137 -38 172 -56 b 205 -141 201 -106 205 -124 b 178 -212 205 -167 196 -194 l 175 -215 l 182 -213 b 307 -93 236 -198 284 -151 b 372 129 308 -88 372 127 b 372 129 372 129 372 129 b 364 122 372 129 368 126 b 240 80 328 94 283 80 b 137 115 202 80 166 91 b 99 194 111 136 99 165 b 189 302 99 244 133 292 "},v3e:{x_min:0,x_max:406.96875,ha:415,o:"m 21 183 b 28 183 24 183 25 183 b 42 181 34 183 39 183 b 127 108 47 179 47 179 b 202 41 168 72 202 41 b 279 108 204 41 238 72 b 357 177 321 145 356 176 b 375 183 363 181 370 183 b 406 151 392 183 406 169 b 404 137 406 147 405 141 b 322 62 401 131 398 129 b 251 0 284 27 251 0 b 322 -63 251 -1 284 -29 b 404 -138 398 -130 401 -133 b 406 -152 405 -142 406 -148 b 375 -184 406 -170 392 -184 b 357 -179 370 -184 363 -183 b 279 -109 356 -177 321 -147 b 202 -43 238 -73 204 -43 b 127 -109 202 -43 168 -73 b 49 -179 85 -147 50 -177 b 31 -184 43 -183 36 -184 b 0 -152 13 -184 0 -170 b 2 -138 0 -148 0 -142 b 83 -63 5 -133 8 -130 b 155 0 122 -29 155 -1 b 83 62 155 0 122 27 b 8 129 43 97 10 127 b 0 151 2 136 0 144 b 21 183 0 165 8 177 "},v3f:{x_min:-24.5,x_max:317.140625,ha:324,o:"m -24 -147 l -24 -5 l -20 -5 b -1 -19 -12 -5 -4 -11 b 58 -123 6 -43 31 -86 b 196 -278 93 -173 134 -219 b 317 -570 274 -356 317 -460 b 294 -713 317 -617 308 -666 l 289 -724 l 294 -735 b 317 -873 308 -780 317 -827 b 235 -1132 317 -963 288 -1054 b 209 -1165 228 -1140 224 -1146 b 189 -1177 204 -1172 196 -1177 b 171 -1164 182 -1177 175 -1172 b 168 -1154 170 -1161 168 -1159 b 181 -1132 168 -1149 172 -1142 b 269 -891 238 -1064 269 -975 b 269 -881 269 -886 269 -884 b 262 -814 269 -857 265 -827 b 258 -800 261 -811 259 -806 b 142 -628 240 -731 198 -667 b -8 -589 112 -606 47 -589 b -20 -589 -13 -589 -19 -589 l -24 -589 l -24 -449 l -24 -308 l -20 -308 b -1 -322 -12 -308 -4 -313 b 58 -424 6 -345 31 -388 b 194 -580 93 -476 136 -523 b 259 -660 221 -606 245 -635 b 261 -663 259 -662 261 -663 b 264 -656 262 -663 262 -660 b 269 -587 268 -632 269 -610 b 264 -521 269 -566 268 -544 b 262 -512 264 -517 262 -513 b 258 -498 261 -509 259 -503 b 142 -326 240 -428 198 -365 b -8 -287 112 -303 47 -288 b -20 -287 -13 -287 -19 -287 l -24 -287 l -24 -147 "},v40:{x_min:-1.359375,x_max:436.921875,ha:446,o:"m 213 205 b 217 205 215 205 216 205 b 234 194 224 205 234 199 b 236 187 234 194 235 190 l 245 167 l 261 129 l 270 106 b 355 -61 294 54 329 -13 b 420 -163 381 -105 402 -138 b 436 -188 435 -184 436 -184 b 436 -191 436 -190 436 -190 b 421 -206 436 -201 431 -206 l 421 -206 l 416 -206 l 405 -201 b 217 -158 347 -172 283 -158 b 31 -201 153 -158 88 -172 l 20 -206 l 14 -206 l 14 -206 b 0 -191 5 -206 0 -201 b -1 -188 0 -190 -1 -190 b 14 -163 -1 -186 0 -184 b 95 -34 36 -136 72 -77 b 166 106 119 8 148 68 l 175 129 l 183 148 l 200 188 b 213 205 205 199 208 202 "},v41:{x_min:-1.359375,x_max:556.6875,ha:568,o:"m 294 322 b 318 323 299 322 308 323 b 360 320 334 323 352 322 b 526 217 430 310 490 273 b 543 166 537 202 543 184 b 447 70 543 117 503 70 b 445 70 447 70 446 70 b 359 159 394 72 359 113 b 368 201 359 173 362 187 b 442 245 382 229 412 245 b 455 244 446 245 451 245 b 460 244 458 244 460 244 b 460 244 460 244 460 244 b 454 248 460 244 458 245 b 325 291 417 276 372 291 b 285 287 313 291 299 290 b 144 -2 183 269 144 190 b 281 -290 144 -208 179 -280 b 304 -291 289 -291 298 -291 b 524 -105 412 -291 506 -212 b 541 -84 526 -88 530 -84 b 556 -101 551 -84 556 -90 b 549 -138 556 -111 553 -122 b 334 -322 521 -237 435 -310 b 302 -324 323 -323 313 -324 b 13 -101 172 -324 54 -234 b -1 -1 4 -68 -1 -34 b 294 322 -1 161 121 303 "},v42:{x_min:-348.4375,x_max:24.5,ha:25,o:"m -330 155 b -322 156 -329 156 -326 156 b -315 156 -319 156 -317 156 b -298 147 -311 155 -308 154 b -19 30 -224 98 -122 55 l 2 26 b 24 -1 17 22 24 13 b 2 -27 24 -15 17 -23 l -19 -31 b -298 -148 -122 -56 -224 -99 b -322 -158 -313 -158 -315 -158 b -348 -131 -338 -158 -348 -145 b -344 -117 -348 -127 -347 -122 b -328 -104 -341 -112 -338 -111 b -127 -8 -269 -65 -202 -33 b -106 0 -115 -4 -106 -1 b -127 6 -106 0 -115 2 b -328 102 -202 31 -269 63 b -344 116 -338 109 -341 111 b -348 130 -347 120 -348 124 b -330 155 -348 141 -341 152 "},v43:{x_min:-442.359375,x_max:441,ha:450,o:"m -31 487 b -1 488 -21 488 -10 488 b 434 104 216 488 397 330 b 441 27 438 79 441 47 b 439 12 441 20 439 15 b 419 0 435 4 427 0 b 404 5 413 0 408 1 b 398 30 400 11 398 13 b 0 351 390 213 213 351 b -59 348 -20 351 -39 349 b -400 30 -251 324 -393 191 b -405 5 -400 13 -401 11 b -420 0 -409 1 -415 0 b -441 12 -428 0 -436 4 b -442 27 -441 15 -442 20 b -435 104 -442 47 -439 79 b -31 487 -401 316 -235 474 m -13 131 b -1 133 -9 133 -5 133 b 51 105 19 133 39 123 b 61 70 58 95 61 83 b 51 34 61 58 58 45 b -1 6 39 16 19 6 b -46 27 -17 6 -34 13 b -62 69 -57 38 -62 54 b -13 131 -62 98 -44 124 "},v44:{x_min:-21.78125,x_max:251.8125,ha:257,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 383 20 616 20 616 l 20 148 l 21 151 b 137 199 59 183 99 199 b 182 191 152 199 167 197 b 251 84 227 176 251 134 b 228 0 251 58 243 29 b 100 -142 206 -40 178 -72 l 23 -215 b 0 -229 9 -229 6 -229 b -20 -216 -9 -229 -17 -224 l -21 -212 l -21 201 l -21 616 l -20 620 b -8 631 -17 624 -13 630 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 "},v45:{x_min:-402.890625,x_max:401.53125,ha:410,o:"m -10 273 b -4 274 -9 273 -6 274 b 16 262 4 274 12 269 b 17 158 17 259 17 259 l 17 56 l 62 112 b 117 174 110 172 110 172 b 122 174 118 174 119 174 b 132 173 125 174 129 173 b 295 11 134 172 171 134 l 307 -1 l 336 34 b 374 76 366 72 368 74 b 381 77 375 77 378 77 b 401 56 392 77 401 68 b 400 48 401 54 401 51 b 223 -172 397 41 230 -166 b 210 -176 220 -174 215 -176 b 201 -174 206 -176 204 -176 b 112 -87 198 -173 178 -152 b 27 0 65 -38 27 0 b 21 -6 27 0 24 -2 l 17 -12 l 17 -147 b 17 -210 17 -173 17 -194 b 10 -292 17 -297 16 -287 b -2 -299 6 -297 2 -299 b -21 -287 -10 -299 -19 -295 b -24 -174 -23 -284 -23 -284 l -24 -63 l -66 -117 b -121 -176 -110 -170 -114 -176 b -125 -176 -122 -176 -123 -176 b -296 -12 -134 -174 -125 -184 l -308 0 l -337 -34 b -375 -77 -367 -73 -370 -76 b -382 -79 -377 -79 -379 -79 b -402 -58 -393 -79 -402 -69 b -401 -49 -402 -55 -402 -52 b -224 170 -398 -43 -231 165 b -212 174 -221 173 -216 174 b -202 173 -208 174 -205 174 b -39 11 -200 172 -151 122 l -28 -1 l -25 1 l -24 4 l -24 130 b -23 260 -24 256 -24 258 b -10 273 -20 266 -16 270 "},v46:{x_min:0,x_max:627.46875,ha:640,o:"m 306 190 b 314 191 308 191 311 191 b 326 184 318 191 322 190 l 336 173 b 510 52 377 127 442 80 b 515 49 513 51 515 49 b 611 16 537 40 579 24 b 627 0 624 13 627 9 b 607 -18 627 -11 624 -13 b 330 -181 490 -49 389 -109 b 314 -192 323 -190 319 -192 b 306 -191 311 -192 308 -192 b 294 -177 302 -188 302 -188 b 257 -140 287 -170 265 -148 b 19 -18 193 -84 114 -44 b 0 0 2 -13 0 -11 b 16 16 0 9 2 13 b 110 49 47 24 89 40 b 117 52 111 49 114 51 b 145 65 126 56 130 58 b 281 163 200 93 245 124 b 300 186 288 170 291 174 b 306 190 300 187 303 188 m 317 137 b 313 142 315 141 314 142 b 308 137 313 142 311 141 b 161 4 276 84 220 33 b 155 0 159 1 155 0 b 163 -4 155 0 159 -2 b 308 -138 220 -34 276 -84 b 313 -142 311 -141 313 -142 b 317 -138 314 -142 315 -141 b 464 -4 351 -84 406 -34 b 470 0 468 -2 470 0 b 464 4 470 0 468 1 b 317 137 406 33 351 84 "},v47:{x_min:-24.5,x_max:315.78125,ha:322,o:"m -24 -145 l -24 -5 l -20 -5 b 1 -26 -10 -5 -6 -9 b 175 -241 31 -86 96 -166 b 314 -548 259 -323 304 -420 b 315 -589 315 -555 315 -571 b 314 -630 315 -606 315 -623 b 298 -730 311 -664 306 -699 l 295 -742 l 296 -748 b 314 -850 304 -778 311 -813 b 315 -892 315 -857 315 -874 b 314 -932 315 -909 315 -925 b 298 -1032 311 -967 306 -1002 l 295 -1045 l 296 -1050 b 314 -1153 304 -1081 311 -1115 b 315 -1193 315 -1160 315 -1177 b 314 -1235 315 -1211 315 -1228 b 217 -1526 306 -1338 270 -1444 b 201 -1533 213 -1532 208 -1533 b 182 -1522 193 -1533 185 -1529 b 179 -1514 181 -1518 179 -1517 b 189 -1489 179 -1508 182 -1501 b 266 -1217 240 -1403 266 -1308 b 262 -1156 266 -1196 265 -1177 b 110 -907 247 -1043 190 -950 b 0 -889 87 -895 50 -889 l -1 -889 l -24 -889 l -24 -749 l -24 -610 l -20 -610 b 1 -631 -10 -610 -6 -614 b 175 -846 31 -691 96 -771 b 259 -956 213 -884 236 -914 b 265 -966 262 -961 264 -966 b 265 -966 265 -966 265 -966 b 265 -953 265 -964 265 -959 b 266 -920 266 -943 266 -932 b 262 -853 266 -898 265 -873 b 110 -605 247 -741 190 -648 b 0 -587 87 -592 50 -587 l -1 -587 l -24 -587 l -24 -448 l -24 -308 l -20 -308 b 1 -328 -10 -308 -6 -312 b 175 -544 31 -388 96 -469 b 259 -655 213 -581 236 -612 b 265 -663 262 -659 264 -663 b 265 -663 265 -663 265 -663 b 265 -650 265 -663 265 -657 b 266 -617 266 -641 266 -630 b 262 -551 266 -595 265 -570 b 110 -303 247 -438 190 -345 b 0 -284 87 -290 50 -284 l -1 -284 l -24 -284 l -24 -145 "},v49:{x_min:0,x_max:630.203125,ha:643,o:"m 308 204 b 314 205 310 205 313 205 b 326 201 319 205 323 204 b 355 154 328 199 338 180 b 401 83 362 142 392 95 l 409 72 b 431 41 412 66 424 49 b 619 -174 498 -51 570 -134 b 630 -192 626 -180 630 -186 b 626 -202 630 -195 628 -199 b 616 -206 623 -205 620 -206 b 552 -188 608 -206 592 -202 b 310 -155 488 -169 392 -155 b 268 -156 295 -155 281 -155 b 77 -188 197 -161 126 -173 b 13 -206 35 -202 20 -206 b 9 -206 12 -206 10 -206 b 0 -191 2 -202 0 -197 b 8 -176 0 -186 2 -180 b 204 49 58 -136 138 -43 l 220 72 l 227 83 b 295 188 245 108 281 166 b 308 204 299 197 304 202 m 315 147 b 314 147 315 147 314 147 b 314 147 314 147 314 147 b 306 129 314 145 310 138 l 296 105 b 281 72 292 97 284 77 l 274 56 b 181 -123 247 -4 212 -72 l 174 -134 l 176 -133 b 314 -123 215 -127 272 -123 b 451 -133 356 -123 413 -127 l 454 -134 l 449 -123 b 353 56 417 -72 381 -4 l 347 72 b 332 105 344 77 336 97 l 322 129 b 315 147 318 138 315 145 "},v4a:{x_min:70.78125,x_max:378.390625,ha:315,o:"m 246 373 b 254 373 249 373 251 373 b 372 324 303 373 360 351 b 378 302 377 317 378 309 b 338 251 378 278 362 255 b 328 249 334 249 332 249 b 283 294 303 249 283 270 b 288 315 283 301 284 308 b 289 319 289 317 289 319 b 289 319 289 319 289 319 b 283 320 289 320 287 320 b 270 322 279 322 274 322 b 206 288 242 322 215 308 b 206 283 206 287 206 285 b 257 223 206 267 230 238 b 284 206 272 213 277 210 b 351 90 328 173 351 130 b 340 47 351 74 348 59 b 205 -30 314 -2 264 -30 b 182 -29 198 -30 190 -30 b 84 15 147 -24 103 -5 b 70 48 74 24 70 36 b 108 99 70 70 85 94 b 121 102 112 101 117 102 b 167 56 147 102 167 80 b 159 31 167 48 164 40 l 156 26 l 157 26 b 190 20 167 22 178 20 b 220 26 201 20 212 22 b 258 65 243 34 258 51 b 257 70 258 66 258 69 b 204 126 249 94 234 109 b 114 258 148 158 114 209 b 125 302 114 273 118 288 b 246 373 147 342 193 370 "},v4b:{x_min:0,x_max:503.609375,ha:514,o:"m 274 430 b 277 430 276 430 277 430 b 310 394 296 430 310 415 b 308 383 310 391 308 387 b 306 367 307 381 307 374 b 236 120 298 305 272 210 b 40 -273 189 -5 125 -134 b 20 -287 35 -283 27 -287 b 5 -281 14 -287 9 -285 b 0 -267 1 -277 0 -273 b 9 -242 0 -262 2 -255 b 246 395 137 -12 232 242 b 274 430 249 416 257 427 m 468 430 b 472 430 469 430 470 430 b 503 394 490 430 503 415 b 502 383 503 391 503 387 b 499 367 502 381 500 374 b 431 120 491 305 465 210 b 234 -273 382 -5 318 -134 b 213 -287 228 -283 220 -287 b 198 -281 208 -287 202 -285 b 193 -267 194 -277 193 -273 b 202 -242 193 -262 196 -255 b 439 395 330 -12 426 242 b 468 430 442 416 451 427 "},v4d:{x_min:-311.6875,x_max:310.328125,ha:317,o:"m -9 388 b -2 390 -8 390 -5 390 b 5 388 1 390 4 390 b 19 378 10 387 16 383 b 23 333 23 371 23 371 b 24 298 23 299 24 298 b 81 276 34 298 65 285 b 213 91 145 240 190 177 b 224 24 217 76 224 36 b 257 24 224 24 235 24 b 299 19 292 24 292 24 b 310 -1 306 15 310 6 b 299 -23 310 -11 306 -19 b 257 -27 292 -27 292 -27 b 224 -29 235 -27 224 -29 b 213 -95 224 -40 217 -80 b 81 -280 190 -181 145 -244 b 24 -301 65 -290 34 -301 b 23 -335 24 -301 23 -303 l 23 -340 b 17 -381 23 -374 23 -374 b -1 -391 13 -388 5 -391 b -21 -381 -9 -391 -17 -388 b -27 -340 -27 -374 -27 -374 l -27 -335 b -28 -301 -27 -303 -27 -301 b -85 -280 -38 -301 -69 -290 b -217 -95 -149 -244 -194 -181 b -228 -29 -221 -80 -228 -40 b -259 -27 -228 -29 -238 -27 b -300 -23 -294 -27 -294 -27 b -311 -2 -307 -19 -311 -11 b -294 23 -311 8 -304 19 b -259 24 -291 23 -284 24 b -228 24 -239 24 -228 24 b -217 91 -228 36 -221 76 b -85 276 -194 177 -149 240 b -28 298 -69 285 -38 298 b -27 333 -27 298 -27 299 b -27 371 -27 362 -27 369 b -9 388 -24 378 -17 385 m -27 136 b -28 247 -27 197 -28 247 b -61 216 -31 247 -53 226 b -123 33 -95 172 -121 98 l -125 24 l -76 24 l -27 24 l -27 136 m 29 242 b 24 247 27 245 24 247 b 23 136 24 247 23 197 l 23 24 l 72 24 l 121 24 l 119 33 b 29 242 115 116 77 206 m -27 -140 l -27 -27 l -76 -27 l -125 -27 l -123 -36 b -61 -220 -121 -102 -95 -176 b -28 -251 -53 -230 -31 -251 b -27 -140 -28 -251 -27 -201 m 119 -36 l 121 -27 l 72 -27 l 23 -27 l 23 -140 b 24 -251 23 -201 24 -251 b 57 -220 27 -251 49 -230 b 119 -36 91 -176 117 -102 "},v4e:{x_min:0,x_max:239.5625,ha:244,o:"m 10 460 b 20 462 13 462 14 462 b 39 449 28 462 35 458 l 40 446 l 40 326 b 40 205 40 259 40 205 b 127 227 40 205 80 215 b 220 249 196 244 213 249 b 227 247 224 249 225 248 b 238 237 231 245 235 241 l 239 233 l 239 -106 l 239 -448 l 238 -451 b 219 -463 234 -459 225 -463 b 198 -451 210 -463 202 -459 l 197 -448 l 197 -324 b 197 -201 197 -248 197 -201 b 110 -223 196 -201 157 -210 b 17 -245 42 -240 24 -245 b 10 -242 13 -245 13 -244 b 0 -233 6 -241 2 -237 l 0 -230 l 0 108 l 0 446 l 0 449 b 10 460 2 453 6 458 m 197 22 b 197 70 197 41 197 58 b 196 116 197 113 197 116 l 196 116 b 118 97 196 116 160 106 l 40 77 l 40 -18 b 40 -112 40 -69 40 -112 l 119 -93 l 197 -73 l 197 22 "},v51:{x_min:-1.359375,x_max:455.96875,ha:465,o:"m 352 541 b 357 542 353 542 355 542 b 377 530 364 542 372 537 l 378 526 l 378 394 l 379 262 l 404 266 b 436 270 420 269 430 270 b 450 265 443 270 446 269 b 455 220 455 259 455 260 l 455 208 l 455 161 l 454 156 b 411 140 449 147 447 147 b 378 133 393 137 379 134 b 378 68 378 133 378 106 b 378 22 378 54 378 38 l 379 -87 l 404 -83 b 436 -79 420 -80 430 -79 b 450 -84 443 -79 446 -80 b 455 -129 455 -90 455 -88 l 455 -141 l 455 -188 l 454 -192 b 413 -209 449 -202 447 -202 b 382 -215 398 -212 383 -215 l 378 -215 l 378 -345 l 378 -380 b 375 -485 378 -484 378 -480 b 357 -494 371 -491 364 -494 b 340 -485 351 -494 344 -491 b 336 -383 337 -480 336 -484 l 336 -349 l 336 -223 l 334 -223 b 291 -231 334 -223 314 -227 l 247 -240 l 247 -371 l 246 -503 l 245 -506 b 225 -519 242 -514 234 -519 b 206 -506 219 -519 210 -514 l 205 -503 l 205 -376 l 205 -248 l 160 -256 l 115 -265 l 115 -396 l 115 -527 l 114 -531 b 95 -544 110 -539 102 -544 b 76 -531 87 -544 78 -539 l 73 -527 l 73 -399 b 73 -273 73 -330 73 -273 b 49 -277 73 -273 61 -274 b 17 -281 32 -280 24 -281 b 4 -276 10 -281 8 -280 b -1 -234 0 -269 -1 -272 b 0 -219 -1 -229 0 -224 l 0 -170 l 1 -167 b 10 -158 2 -163 6 -159 b 49 -149 13 -156 16 -155 l 73 -145 l 73 -34 b 73 76 73 26 73 76 b 49 72 73 76 61 74 b 17 68 32 69 24 68 b 4 73 10 68 8 69 b -1 115 0 80 -1 77 b 0 130 -1 120 0 124 l 0 179 l 1 181 b 10 191 2 186 6 190 b 49 199 13 192 16 194 l 73 204 l 73 338 b 73 374 73 352 73 365 b 77 483 73 484 73 477 b 95 492 81 489 88 492 b 111 483 100 492 107 489 b 115 378 115 477 115 483 l 115 342 b 117 212 115 223 115 212 b 204 229 117 212 200 227 l 205 229 l 205 365 l 205 502 l 206 505 b 225 517 210 513 219 517 b 245 505 234 517 242 513 l 246 502 l 247 369 l 247 237 l 249 237 b 336 254 253 238 336 254 b 337 390 336 254 337 302 l 337 526 l 338 530 b 352 541 341 535 347 539 m 336 15 b 336 126 336 102 336 126 l 336 126 b 291 117 336 126 315 122 l 247 109 l 247 -1 l 247 -112 l 249 -112 b 336 -95 253 -111 336 -95 b 336 15 336 -95 336 -56 m 205 -120 b 205 -55 205 -120 205 -93 b 205 -9 205 -41 205 -24 l 205 101 l 160 93 l 115 84 l 115 -26 b 115 -83 115 -49 115 -69 b 117 -137 115 -133 115 -137 b 205 -120 118 -137 204 -120 "},v52:{x_min:-10.890625,x_max:298.078125,ha:294,o:"m 138 473 b 142 474 140 473 141 474 b 164 459 148 474 153 470 b 191 402 183 442 191 423 b 181 353 191 388 187 371 b 178 349 179 352 178 349 b 179 348 178 348 179 348 b 185 349 181 348 182 348 b 255 376 210 355 234 363 b 272 381 264 381 266 381 b 298 355 287 381 298 370 b 288 330 298 348 298 345 b 171 34 238 254 194 141 b 166 13 168 16 168 16 b 144 1 161 5 152 1 b 121 15 134 1 125 5 b 115 33 119 18 117 24 b 0 330 91 145 49 252 b -10 355 -9 345 -10 348 b 13 381 -10 371 0 381 b 31 376 19 381 25 380 b 132 345 61 358 103 345 l 136 345 l 137 355 b 145 378 138 359 142 370 b 152 415 149 394 152 405 b 137 452 152 427 148 438 b 133 464 134 458 133 460 b 138 473 133 467 134 470 "},v53:{x_min:0,x_max:902.421875,ha:921,o:"m 17 240 b 24 241 19 241 21 241 b 32 240 28 241 31 241 b 46 229 38 238 43 234 b 50 88 50 223 50 237 b 50 -1 50 63 50 34 b 50 -90 50 -36 50 -65 b 46 -231 50 -238 50 -224 b 25 -242 42 -238 34 -242 b 0 -224 14 -242 4 -235 b 0 2 0 -222 0 -108 b 0 223 0 112 0 220 b 17 240 2 230 9 237 m 110 240 b 118 241 111 241 114 241 b 126 240 121 241 123 241 b 142 223 133 237 140 230 b 144 123 144 220 144 205 b 144 29 144 45 144 29 b 144 29 144 29 144 29 b 393 183 166 106 264 167 b 450 186 412 184 431 186 b 756 29 600 186 732 120 b 756 29 756 29 756 29 b 758 123 758 29 758 45 b 760 227 758 226 758 223 b 784 241 766 237 774 241 b 804 229 792 241 800 237 b 809 88 808 223 809 237 l 809 -1 l 809 -90 b 804 -231 809 -238 808 -224 b 784 -242 800 -238 792 -242 b 762 -231 775 -242 766 -238 b 758 -124 756 -224 758 -231 b 756 -30 758 -47 758 -30 b 756 -30 756 -30 756 -30 b 509 -184 736 -108 637 -169 b 450 -187 488 -187 469 -187 b 144 -30 300 -187 168 -122 b 144 -30 144 -30 144 -30 b 144 -124 144 -30 144 -47 b 140 -231 144 -231 144 -224 b 118 -242 134 -238 126 -242 b 92 -224 107 -242 96 -235 b 92 2 92 -222 92 -108 b 92 223 92 112 92 220 b 110 240 95 230 102 237 m 432 161 b 413 162 426 162 420 162 b 313 41 351 162 313 109 b 347 -73 313 5 323 -34 b 487 -163 385 -133 439 -163 b 578 -97 526 -163 562 -142 b 588 -43 585 -80 588 -62 b 432 161 588 47 518 147 m 868 240 b 876 241 869 241 872 241 b 884 240 879 241 882 241 b 898 229 890 238 894 234 b 902 88 902 223 902 237 l 902 -1 l 902 -90 b 898 -231 902 -238 902 -224 b 876 -242 892 -238 884 -242 b 852 -224 865 -242 854 -235 b 850 2 850 -222 850 -108 b 852 223 850 112 850 220 b 868 240 853 230 860 237 "},v54:{x_min:-24.5,x_max:317.140625,ha:324,o:"m -24 -161 l -24 -5 l -20 -5 b 0 -24 -9 -5 -2 -12 b 171 -315 21 -124 84 -233 b 317 -660 268 -406 317 -531 b 187 -1014 317 -782 274 -909 b 161 -1034 172 -1034 171 -1034 b 141 -1013 149 -1034 141 -1025 b 152 -991 141 -1004 142 -1002 b 266 -682 228 -899 266 -788 b 174 -430 266 -588 236 -498 b -23 -317 136 -388 66 -348 b -24 -161 -23 -316 -24 -285 "},v55:{x_min:0,x_max:551.25,ha:563,o:"m 289 644 b 304 645 294 645 299 645 b 404 566 349 645 392 613 b 406 541 405 557 406 549 b 379 471 406 514 397 489 l 377 467 l 382 470 b 509 591 438 485 485 531 b 513 601 510 595 513 599 b 530 609 518 607 524 609 b 551 588 540 609 551 602 b 200 -605 551 584 204 -599 b 182 -616 197 -612 190 -616 b 163 -602 174 -616 166 -610 b 161 -598 161 -601 161 -601 b 217 -402 161 -589 170 -562 b 272 -213 247 -298 272 -213 b 272 -213 272 -213 272 -213 b 264 -219 272 -213 268 -216 b 140 -262 227 -247 182 -262 b 36 -226 102 -262 65 -249 b 0 -145 12 -206 0 -176 b 17 -84 0 -124 5 -104 b 103 -38 38 -54 70 -38 b 191 -91 137 -38 172 -56 b 205 -141 201 -106 205 -124 b 178 -212 205 -167 196 -194 l 175 -215 l 182 -213 b 307 -93 236 -198 284 -151 b 372 129 308 -88 372 127 b 372 129 372 129 372 129 b 364 122 372 129 368 126 b 240 80 328 94 283 80 b 137 115 202 80 166 91 b 99 195 112 136 99 165 b 118 256 99 217 106 238 b 204 303 138 287 171 303 b 292 249 238 303 273 285 b 306 199 302 234 306 217 b 279 129 306 173 296 148 l 276 126 l 281 127 b 408 248 336 142 385 190 b 473 470 409 254 473 469 b 473 470 473 470 473 470 b 465 464 473 470 469 467 b 341 421 428 435 383 421 b 236 458 303 421 266 433 b 200 537 212 478 200 508 b 289 644 200 585 234 635 "},v58:{x_min:-21.78125,x_max:367.5,ha:375,o:"m 259 1553 b 265 1553 261 1553 264 1553 b 288 1540 272 1553 277 1550 b 367 1351 340 1493 367 1424 b 336 1221 367 1308 357 1263 l 332 1211 l 333 1208 b 367 1077 356 1170 367 1124 b 336 945 367 1032 357 986 l 332 935 l 333 932 b 367 800 356 893 367 848 b 336 669 367 756 357 710 l 332 659 l 333 656 b 367 523 356 617 367 571 b 345 412 367 485 360 446 b 231 273 322 356 284 310 b -1 19 121 195 27 93 b -17 4 -4 11 -10 5 l -21 4 l -21 134 l -21 265 l -17 265 b 133 291 20 265 96 278 b 318 537 245 328 318 433 b 307 603 318 559 315 582 b 303 614 304 612 304 614 b 298 609 302 614 300 613 b 231 549 281 589 258 567 b -1 295 121 471 27 369 b -17 280 -4 287 -10 281 l -21 280 l -21 410 l -21 541 l -17 541 b 133 567 20 541 96 555 b 318 813 245 605 318 709 b 307 880 318 835 315 859 b 303 891 304 888 304 891 b 298 885 302 891 300 888 b 231 825 281 866 258 843 b -1 571 121 748 27 645 b -17 556 -4 563 -10 557 l -21 556 l -21 687 l -21 817 l -17 817 b 133 843 20 817 96 830 b 318 1089 245 881 318 985 b 307 1156 318 1111 315 1134 b 303 1167 304 1164 304 1167 b 298 1161 302 1167 300 1164 b 231 1102 281 1140 258 1120 b -1 848 121 1024 27 921 b -17 832 -4 839 -10 834 l -21 832 l -21 963 l -21 1093 l -17 1093 b 114 1113 12 1093 78 1103 b 313 1314 215 1142 289 1218 b 318 1364 317 1331 318 1347 b 255 1511 318 1422 295 1478 b 243 1532 247 1519 243 1525 b 259 1553 243 1540 250 1550 "},v59:{x_min:0,x_max:464.140625,ha:474,o:"m 0 0 l 0 347 l 76 347 l 153 347 l 153 0 l 153 -348 l 76 -348 l 0 -348 l 0 0 m 308 -1 l 308 347 l 386 347 l 464 347 l 464 -1 l 464 -348 l 386 -348 l 308 -348 l 308 -1 "},v5a:{x_min:-171.5,x_max:170.140625,ha:174,o:"m -6 566 b 0 567 -5 567 -2 567 b 14 556 6 567 12 563 b 92 285 14 555 50 433 b 170 13 166 33 170 19 b 168 13 170 13 170 13 b 161 1 168 8 167 4 l 159 0 l 122 0 l 84 0 l 81 1 b 21 195 76 5 78 -5 b -32 381 -8 297 -32 381 b -87 197 -32 381 -57 298 b -141 8 -115 94 -140 9 b -155 0 -142 2 -149 0 b -171 15 -163 0 -171 5 b -14 556 -171 18 -24 528 b -6 566 -14 560 -10 564 "},v5b:{x_min:-441,x_max:439.640625,ha:449,o:"m -428 -2 b -421 0 -427 -1 -424 0 b -406 -6 -416 0 -409 -2 b -400 -31 -401 -12 -400 -15 b -1 -352 -392 -215 -215 -352 b 58 -349 19 -352 38 -351 b 398 -31 250 -326 392 -192 b 404 -6 398 -15 400 -12 b 419 -1 408 -2 413 -1 b 439 -13 427 -1 435 -5 b 439 -29 439 -16 439 -22 b 434 -105 439 -48 438 -80 b 0 -489 397 -333 213 -489 b -68 -484 -23 -489 -44 -488 b -441 -36 -280 -452 -436 -263 b -441 -30 -441 -34 -441 -31 b -428 -2 -441 -11 -439 -5 m -13 -9 b -1 -8 -9 -8 -5 -8 b 50 -36 19 -8 39 -19 b 61 -72 57 -47 61 -59 b 50 -106 61 -84 57 -97 b -1 -134 39 -124 19 -134 b -46 -115 -17 -134 -34 -129 b -62 -72 -57 -102 -62 -87 b -13 -9 -62 -44 -44 -16 "},v5c:{x_min:0,x_max:447.8125,ha:457,o:"m 0 -87 l 0 0 l 223 0 l 447 0 l 447 -87 l 447 -174 l 223 -174 l 0 -174 l 0 -87 "},v5d:{x_min:-1.359375,x_max:592.078125,ha:604,o:"m 280 692 b 295 694 283 692 289 694 b 310 692 300 694 307 692 b 357 630 340 684 357 657 b 336 580 357 612 351 594 b 311 538 321 566 311 549 b 352 492 311 512 330 492 b 366 495 357 492 362 492 b 397 553 390 503 397 517 b 415 603 397 576 402 591 b 460 623 427 617 443 623 b 509 599 479 623 498 614 b 522 559 518 587 522 573 b 494 506 522 538 513 519 b 451 495 481 498 473 496 b 415 488 432 495 426 494 b 394 449 404 483 394 464 b 394 448 394 448 394 448 l 394 440 l 397 433 b 428 409 404 420 413 413 b 438 408 431 408 435 408 b 479 431 450 408 462 415 b 528 455 495 448 510 455 b 548 452 534 455 541 453 b 592 391 577 442 592 416 b 549 331 592 365 577 340 b 528 327 541 328 534 327 b 479 351 510 327 495 335 b 438 374 464 367 450 374 b 417 369 431 374 424 373 b 394 333 402 360 394 348 b 400 312 394 326 396 319 b 451 287 408 294 420 288 b 513 258 484 285 499 278 b 522 223 519 247 522 234 b 461 159 522 190 496 159 b 449 161 457 159 453 159 b 397 229 416 167 397 191 b 366 288 397 265 390 278 b 352 290 362 290 357 290 b 315 262 336 290 321 280 b 311 245 313 256 311 251 b 334 204 311 233 318 220 b 355 170 348 190 351 184 b 357 152 356 166 357 159 b 355 136 357 147 356 140 b 295 88 345 104 321 88 b 232 152 264 88 232 112 b 255 204 232 174 238 186 b 279 244 273 222 279 231 l 279 245 b 238 290 279 270 259 290 b 224 288 234 290 228 290 b 193 229 200 278 193 265 b 141 161 193 191 174 167 b 129 159 137 159 133 159 b 68 223 93 159 68 190 b 77 258 68 234 70 247 b 138 287 91 278 106 285 b 185 302 166 287 175 291 b 196 333 193 312 196 323 b 174 369 196 347 187 360 b 152 374 166 373 159 374 b 111 351 140 374 126 367 b 62 327 95 335 80 327 b 51 328 58 327 54 327 b -1 391 16 334 -1 363 b 53 455 -1 420 17 449 b 62 455 57 455 59 455 b 111 431 80 455 95 448 b 152 408 127 415 140 408 b 161 409 155 408 159 408 b 193 433 176 413 186 420 l 196 440 l 196 448 b 196 451 196 449 196 449 b 190 471 196 459 194 463 b 137 495 182 489 167 495 l 134 495 l 134 495 b 68 560 95 495 68 521 b 129 623 68 596 95 623 b 144 621 134 623 138 623 b 193 553 175 614 193 589 b 224 495 193 517 200 503 b 238 492 228 492 234 492 b 279 538 259 492 279 512 b 254 580 279 549 269 566 b 232 630 239 594 232 612 b 280 692 232 657 250 684 m 307 456 b 295 458 303 458 299 458 b 230 391 258 458 230 426 b 236 360 230 381 231 371 b 295 324 249 337 272 324 b 353 360 318 324 341 337 b 360 391 357 370 360 381 b 307 456 360 421 340 451 "},v60:{x_min:-590.71875,x_max:589.359375,ha:601,o:"m -367 173 b -362 174 -366 174 -364 174 b -351 173 -357 174 -353 173 b -262 86 -348 172 -328 151 b -176 0 -216 37 -176 0 b -107 84 -176 0 -145 37 b -31 174 -36 173 -38 172 b -25 174 -29 174 -28 174 b -16 173 -23 174 -19 173 b 72 86 -13 172 6 151 b 157 0 119 37 157 0 b 227 84 159 0 189 37 b 303 174 298 173 296 172 b 308 174 304 174 307 174 b 318 173 313 174 317 173 b 481 11 322 172 357 134 l 494 -1 l 522 34 b 560 76 553 72 555 74 b 567 77 563 77 564 77 b 589 56 579 77 589 68 b 586 48 589 54 588 51 b 411 -172 583 41 416 -166 b 397 -176 406 -174 401 -176 b 387 -174 393 -176 390 -176 b 299 -87 386 -173 366 -152 b 213 0 253 -38 213 0 b 144 -86 213 0 182 -38 b 68 -174 73 -174 74 -173 b 62 -176 66 -176 65 -176 b 53 -174 59 -176 55 -174 b -35 -87 50 -173 29 -152 b -121 0 -83 -38 -121 0 b -190 -86 -122 0 -152 -38 b -266 -174 -261 -174 -259 -173 b -272 -176 -268 -176 -270 -176 b -281 -174 -276 -176 -280 -174 b -371 -86 -284 -173 -304 -152 b -457 0 -417 -38 -457 0 l -457 0 b -477 -26 -457 0 -470 -16 b -548 -227 -524 -88 -548 -161 b -536 -303 -548 -254 -544 -280 b -533 -317 -534 -309 -533 -313 b -553 -338 -533 -330 -541 -338 b -577 -315 -566 -338 -571 -333 b -590 -227 -586 -287 -590 -258 b -518 -9 -590 -154 -564 -77 b -465 56 -509 2 -504 8 l -402 134 b -367 173 -375 169 -372 172 "},v62:{x_min:46.28125,x_max:669.671875,ha:563,o:"m 183 376 b 189 376 185 376 187 376 b 212 374 197 376 208 376 b 265 337 234 369 253 355 b 274 317 268 331 273 320 b 274 316 274 317 274 316 b 280 323 276 316 276 319 b 311 358 288 337 299 348 b 319 366 315 360 318 365 b 356 376 326 373 340 376 b 382 371 364 376 374 374 b 428 337 400 366 417 352 b 436 317 431 331 436 320 b 438 316 436 317 436 316 b 442 323 438 316 439 319 b 475 358 451 337 462 348 b 483 366 477 360 481 365 b 518 376 488 373 503 376 b 544 373 528 376 536 376 b 604 285 579 360 604 326 b 597 249 604 273 601 258 b 543 63 596 247 544 70 b 541 54 543 61 541 55 b 540 44 540 51 540 47 b 552 23 540 33 545 23 b 552 23 552 23 552 23 b 647 126 586 29 627 72 b 658 138 651 136 653 138 b 660 138 660 138 660 138 b 669 129 666 137 669 136 b 654 88 669 122 665 109 b 562 -12 631 43 602 9 l 549 -19 b 521 -27 540 -24 530 -27 b 447 30 490 -27 458 -4 b 443 58 445 38 443 48 b 450 93 443 72 446 84 b 504 278 453 97 504 272 b 507 288 506 283 506 287 b 509 298 507 292 509 295 b 491 326 509 310 502 320 b 487 327 490 327 488 327 b 479 324 484 327 483 326 b 441 270 462 316 443 288 b 435 249 441 265 436 254 b 398 127 434 248 419 195 b 362 4 379 61 362 5 b 328 -1 359 -1 362 -1 b 314 -1 323 -1 319 -1 b 302 -1 310 -1 306 -1 b 266 4 266 -1 269 -1 b 265 6 265 5 265 5 b 303 144 265 13 272 34 b 343 278 325 216 343 276 b 344 288 343 281 344 285 b 345 298 345 291 345 295 b 330 326 345 310 340 320 b 323 327 328 327 325 327 b 317 324 322 327 321 326 b 279 270 300 316 281 288 b 273 249 279 265 274 254 b 236 127 272 248 255 195 b 200 4 216 61 200 5 b 164 -1 197 -1 198 -1 b 151 -1 161 -1 156 -1 b 140 -1 147 -1 142 -1 b 103 4 104 -1 106 -1 b 103 6 103 5 103 5 b 141 144 103 13 108 34 b 181 278 161 216 179 276 b 182 288 181 281 181 285 b 183 298 182 291 183 295 b 168 324 183 310 178 320 b 160 327 166 326 163 327 b 141 320 156 327 151 324 b 69 230 112 305 85 272 b 57 215 65 217 62 215 b 55 215 57 215 55 215 b 46 224 49 215 46 217 b 59 260 46 231 50 242 b 151 363 81 306 112 341 b 161 369 155 365 160 367 b 183 376 166 371 174 374 "},v68:{x_min:-597.53125,x_max:596.171875,ha:608,o:"m -533 324 b -525 327 -530 326 -528 327 b -504 305 -514 327 -504 317 b -504 305 -504 305 -504 305 b -513 284 -504 299 -504 299 b -556 112 -541 226 -556 167 b -545 33 -556 84 -552 58 b -524 -20 -541 15 -532 -9 l -522 -23 l -491 15 l -413 111 b -355 174 -367 169 -363 174 b -351 174 -353 174 -352 174 b -254 86 -343 174 -348 179 b -168 -1 -208 37 -168 -1 b -100 84 -168 -1 -137 37 b -23 173 -28 173 -29 172 b -19 174 -21 174 -20 174 b -8 173 -14 174 -10 173 b 155 11 -5 172 43 123 l 166 -1 l 168 1 l 170 4 l 170 130 b 171 260 170 256 170 258 b 191 274 175 269 183 274 b 205 267 196 274 201 272 b 212 158 212 262 210 273 l 212 56 l 257 112 b 311 173 304 172 304 172 b 317 174 313 174 314 174 b 326 173 319 174 323 173 b 490 11 329 172 366 134 l 502 -1 l 530 34 b 568 76 560 72 563 74 b 575 77 570 77 573 77 b 596 56 586 77 596 68 b 594 48 596 54 596 51 b 417 -172 592 41 424 -166 b 405 -176 415 -174 409 -176 b 396 -174 401 -176 398 -176 b 307 -87 393 -173 372 -152 b 221 -1 259 -38 221 -1 b 216 -6 221 -1 219 -2 l 212 -12 l 212 -147 b 212 -210 212 -173 212 -194 b 205 -292 212 -297 210 -287 b 191 -299 201 -297 196 -299 b 172 -287 183 -299 175 -295 b 170 -174 171 -284 171 -284 l 170 -63 l 127 -117 b 73 -176 84 -170 80 -176 b 68 -176 72 -176 70 -176 b -27 -87 59 -174 65 -180 b -114 0 -74 -38 -112 0 b -182 -86 -114 0 -145 -38 b -258 -174 -253 -174 -253 -173 b -264 -176 -259 -176 -262 -176 b -274 -174 -268 -176 -272 -174 b -438 -11 -277 -173 -348 -102 l -449 0 l -479 -37 b -524 -80 -513 -80 -514 -80 l -524 -80 b -553 -52 -534 -80 -540 -74 b -597 109 -583 -8 -597 48 b -560 280 -597 165 -585 224 b -533 324 -548 310 -540 322 "},v6c:{x_min:-1.359375,x_max:193.28125,ha:197,o:"m 78 233 b 87 233 81 233 84 233 b 187 140 132 233 174 195 b 193 102 190 127 193 115 b 43 -113 193 22 136 -62 b 27 -119 36 -116 31 -119 b 19 -108 21 -119 19 -115 b 29 -97 19 -102 20 -101 b 102 13 73 -72 102 -27 b 92 51 102 26 98 40 l 91 54 l 84 54 b 8 104 53 54 21 74 b -1 142 1 116 -1 130 b 78 233 -1 187 31 227 "},v6d:{x_min:-590.71875,x_max:589.359375,ha:601,o:"m 544 335 b 553 337 548 337 551 337 b 575 313 563 337 570 330 b 589 226 583 285 589 256 b 517 8 589 152 563 76 b 464 -58 507 -4 503 -9 l 401 -136 b 362 -176 372 -172 370 -176 b 357 -176 360 -176 359 -176 b 261 -87 349 -174 355 -180 b 175 0 215 -38 175 0 b 106 -86 175 0 144 -38 b 29 -174 35 -174 36 -173 b 24 -176 28 -176 27 -176 b 14 -174 21 -176 17 -174 b -73 -87 12 -173 -8 -152 b -159 0 -121 -38 -159 0 b -228 -86 -160 0 -190 -38 b -304 -174 -299 -174 -298 -173 b -310 -176 -306 -176 -308 -176 b -319 -174 -314 -176 -318 -174 b -483 -12 -323 -173 -359 -137 l -495 0 l -524 -34 b -562 -77 -553 -73 -556 -76 b -568 -79 -564 -79 -566 -79 b -590 -58 -581 -79 -590 -69 b -588 -49 -590 -55 -589 -52 b -412 170 -585 -43 -417 165 b -398 174 -408 173 -402 174 b -389 173 -394 174 -392 174 b -300 86 -387 172 -366 151 b -215 -1 -254 37 -215 -1 b -145 84 -215 -1 -183 37 b -69 173 -74 173 -76 172 b -63 174 -68 174 -66 174 b -54 173 -61 174 -57 173 b 34 86 -51 172 -31 151 b 119 -1 81 37 119 -1 b 189 84 121 -1 151 37 b 265 173 259 173 258 172 b 270 174 266 174 269 174 b 280 173 274 174 279 173 b 370 84 283 172 303 151 b 455 -1 416 37 455 -1 l 455 -1 b 476 24 455 -1 469 15 b 547 226 522 87 547 159 b 534 302 547 252 543 278 b 532 317 533 308 532 313 b 544 335 532 326 536 333 "},v6f:{x_min:-80.3125,x_max:78.9375,ha:81,o:"m 63 191 b 69 192 65 192 66 192 b 77 188 72 192 76 191 b 78 183 78 187 78 186 b 74 158 78 179 77 172 l 66 115 b 9 -161 49 30 10 -158 b -10 -187 6 -172 -1 -181 b -34 -194 -17 -191 -25 -194 b -80 -147 -58 -194 -80 -174 b -80 -141 -80 -144 -80 -142 b 9 70 -80 -134 -73 -117 l 49 163 b 63 191 59 188 61 190 "},v70:{x_min:0,x_max:436.921875,ha:446,o:"m 213 190 b 217 191 215 191 216 191 b 231 184 223 191 228 188 b 249 154 240 167 246 159 b 419 18 292 91 348 45 b 436 -1 435 11 436 8 b 424 -16 436 -9 434 -13 b 308 -87 394 -26 340 -59 b 231 -186 276 -117 257 -142 b 219 -192 228 -191 225 -192 b 198 -174 209 -192 208 -191 b 47 -33 161 -113 110 -63 b 10 -16 34 -26 17 -19 b 0 -1 2 -13 0 -9 b 17 18 0 8 1 11 b 198 173 95 48 156 101 b 213 190 206 187 208 188 "},v72:{x_min:-423.3125,x_max:421.9375,ha:431,o:"m -262 197 b -247 197 -257 197 -253 197 b -118 162 -210 197 -163 184 b 40 45 -61 134 -13 98 b 277 -95 119 -33 200 -81 b 289 -97 281 -97 285 -97 b 378 0 332 -97 371 -55 b 378 11 378 4 378 6 b 302 83 378 55 345 83 b 242 66 283 83 262 77 b 208 56 231 59 219 56 b 148 120 175 56 148 81 b 201 186 148 151 164 172 b 261 198 220 194 240 198 b 420 45 341 198 411 136 b 421 22 421 37 421 29 b 245 -199 421 -93 338 -199 b 238 -198 243 -199 240 -199 b -44 -47 148 -194 50 -141 b -250 86 -114 22 -183 66 b -295 94 -270 91 -283 94 b -315 91 -302 94 -307 94 b -381 4 -356 81 -381 43 b -355 -56 -381 -18 -372 -40 b -298 -81 -338 -73 -319 -81 b -246 -68 -283 -81 -265 -77 b -212 -58 -234 -61 -223 -58 b -178 -69 -200 -58 -189 -62 b -151 -122 -160 -81 -151 -101 b -171 -167 -151 -138 -157 -155 b -239 -195 -185 -181 -213 -192 b -257 -197 -245 -197 -250 -197 b -423 -5 -352 -197 -423 -109 b -412 65 -423 16 -419 40 b -262 197 -389 137 -329 188 "},v74:{x_min:-206.890625,x_max:428.75,ha:438,o:"m 389 -351 b 394 -351 390 -351 393 -351 b 428 -385 413 -351 428 -367 b 428 -394 428 -388 428 -391 b 394 -428 426 -406 421 -410 l 332 -473 l 269 -516 l 205 -560 l 141 -603 l 77 -648 l 13 -692 l -50 -737 l -114 -780 l -145 -802 b -171 -813 -157 -810 -163 -813 b -175 -813 -172 -813 -174 -813 b -206 -777 -194 -811 -206 -795 b -202 -760 -206 -771 -205 -766 b -87 -675 -197 -752 -206 -757 l -34 -639 l 83 -557 l 145 -514 l 209 -470 l 272 -427 b 389 -351 375 -356 381 -352 "},v75:{x_min:-149.71875,x_max:148.359375,ha:151,o:"m -137 381 b -130 383 -134 383 -133 383 b -111 371 -122 383 -114 378 b -55 224 -110 370 -85 305 b 0 80 -25 145 -1 80 b 54 224 0 80 24 145 b 112 377 114 384 110 373 b 127 384 118 381 122 384 b 148 362 138 384 148 374 l 148 356 l 83 183 b 16 9 47 88 17 11 b -1 0 12 2 5 0 b -14 5 -5 0 -10 1 b -84 183 -19 9 -13 -6 l -149 356 l -149 362 b -137 381 -149 371 -145 378 "},v78:{x_min:0,x_max:193.28125,ha:197,o:"m 85 514 b 95 517 88 517 89 517 b 114 505 103 517 110 513 l 115 502 l 115 376 b 115 249 115 306 115 249 b 141 258 117 249 127 252 l 167 266 l 172 266 b 190 254 181 265 187 262 l 193 251 l 193 202 l 193 188 b 187 147 193 149 191 152 b 147 130 183 142 182 141 l 115 119 l 115 9 b 115 -99 115 -51 115 -99 b 141 -91 115 -99 127 -95 b 171 -81 166 -81 167 -81 l 171 -81 b 191 -94 181 -81 189 -87 b 193 -142 191 -97 193 -120 b 191 -195 193 -167 191 -194 b 125 -227 187 -205 187 -204 l 115 -230 l 115 -366 l 115 -503 l 114 -506 b 95 -519 110 -514 102 -519 b 74 -506 87 -519 78 -514 l 73 -503 l 73 -374 b 73 -245 73 -260 73 -245 b 73 -245 73 -245 73 -245 b 55 -252 72 -245 63 -249 l 32 -260 b 19 -263 27 -262 23 -263 b 4 -256 13 -263 8 -260 b 0 -215 0 -251 0 -254 b 0 -199 0 -210 0 -206 l 0 -152 l 1 -149 b 8 -140 2 -145 5 -141 b 42 -127 9 -140 24 -133 l 73 -116 l 73 -5 b 73 23 73 4 73 15 b 73 105 73 70 73 105 b 49 97 73 105 61 101 b 17 88 32 91 23 88 b 4 95 10 88 8 91 b 0 137 0 101 0 98 b 0 151 0 141 0 145 l 0 199 l 1 202 b 43 224 5 212 5 212 l 73 234 l 73 367 l 73 502 l 74 505 b 85 514 77 509 81 513 "},v79:{x_min:-1.359375,x_max:899.703125,ha:918,o:"m 307 349 b 332 351 315 351 323 351 b 443 340 367 351 408 347 b 741 47 607 306 720 195 b 744 0 743 31 744 16 b 660 -303 744 -90 713 -206 b 28 -755 534 -531 304 -695 b 14 -756 23 -755 19 -756 b -1 -741 4 -756 -1 -750 b 21 -720 -1 -731 1 -728 b 567 -56 337 -601 548 -344 b 568 -11 568 -41 568 -24 b 442 285 568 129 525 233 b 325 319 406 308 367 319 b 93 177 232 319 137 266 b 84 154 91 170 84 155 b 84 154 84 154 84 154 b 88 156 84 154 85 155 b 159 177 110 170 134 177 b 257 134 194 177 231 162 b 294 41 281 108 294 73 b 171 -97 294 -24 246 -90 b 156 -98 166 -97 161 -98 b 6 74 73 -98 6 -22 b 6 80 6 76 6 79 b 307 349 10 223 141 340 m 839 215 b 845 216 841 216 842 216 b 862 213 852 216 860 215 b 899 163 887 206 899 184 b 872 117 899 145 890 127 b 847 111 865 112 856 111 b 808 130 833 111 818 117 b 796 162 800 140 796 151 b 839 215 796 187 812 212 m 839 -112 b 845 -112 841 -112 842 -112 b 862 -115 852 -112 860 -113 b 899 -165 887 -122 899 -144 b 872 -210 899 -183 890 -201 b 847 -217 865 -215 856 -217 b 808 -198 833 -217 818 -210 b 796 -165 800 -188 796 -177 b 839 -112 796 -140 812 -116 "},v7a:{x_min:-1.359375,x_max:386.5625,ha:394,o:"m 249 535 b 257 537 251 537 253 537 b 276 524 266 537 273 533 l 277 521 l 279 419 l 279 316 l 304 323 b 337 328 319 326 330 328 b 353 316 347 328 349 324 b 355 266 355 315 355 290 b 353 215 355 241 355 217 b 319 198 349 206 347 205 b 279 187 284 190 279 188 b 279 156 279 187 279 174 b 279 136 279 151 279 144 l 279 84 l 289 87 l 330 98 b 367 105 352 102 362 105 b 378 101 372 105 375 104 b 386 61 385 95 386 94 b 386 40 386 55 386 48 l 386 -5 l 385 -8 b 374 -19 383 -12 378 -18 b 291 -40 372 -19 347 -26 b 279 -43 284 -41 279 -43 b 279 -83 279 -43 279 -59 b 279 -95 279 -87 279 -91 l 279 -145 l 304 -140 b 337 -133 321 -136 330 -133 b 349 -140 343 -133 347 -136 b 355 -181 355 -145 355 -142 l 355 -197 l 355 -210 b 349 -252 355 -249 355 -247 b 300 -269 345 -258 347 -258 b 280 -274 291 -272 281 -273 l 279 -274 l 277 -378 l 277 -483 l 276 -487 b 257 -499 273 -495 265 -499 b 238 -487 249 -499 242 -495 l 236 -483 l 236 -384 l 236 -285 l 235 -285 l 212 -291 l 170 -301 b 148 -308 159 -305 148 -306 b 147 -415 147 -308 147 -313 l 147 -523 l 145 -526 b 126 -538 141 -534 133 -538 b 106 -526 118 -538 110 -534 l 104 -523 l 104 -420 b 103 -317 104 -326 104 -317 b 103 -317 103 -317 103 -317 b 50 -330 92 -322 54 -330 b 31 -317 42 -330 35 -326 b 29 -267 29 -315 29 -315 l 29 -219 l 32 -216 b 92 -192 36 -206 36 -206 l 104 -190 l 104 -138 b 103 -87 104 -91 104 -87 b 103 -87 103 -87 103 -87 b 88 -91 103 -87 96 -88 l 49 -101 b 17 -106 32 -105 23 -106 b 6 -102 13 -106 10 -105 b -1 -62 0 -97 -1 -95 b 0 -41 -1 -56 0 -49 l 0 4 l 1 6 b 10 16 2 11 6 15 b 91 37 12 18 38 24 l 104 41 l 104 93 b 103 144 104 140 104 144 b 103 144 103 144 103 144 b 50 131 92 141 54 131 b 31 144 42 131 35 137 b 29 195 29 147 29 148 l 29 242 l 32 245 b 92 269 36 255 36 255 l 104 273 l 104 377 l 104 481 l 106 485 b 126 498 110 492 118 498 b 134 495 129 498 132 496 b 145 485 138 494 142 489 l 147 481 l 147 383 l 147 283 l 152 284 b 190 294 155 285 171 290 l 230 303 l 236 305 l 236 413 l 236 521 l 238 524 b 249 535 240 528 243 533 m 236 126 b 235 177 236 154 236 177 l 235 177 b 213 172 235 177 225 174 l 170 161 b 147 155 157 158 147 155 b 147 124 147 155 147 142 b 147 102 147 117 147 111 l 147 52 l 153 54 l 228 72 l 236 74 l 236 126 m 236 -105 b 235 -54 236 -65 236 -54 l 235 -54 b 231 -55 235 -54 234 -54 b 172 -69 227 -55 204 -62 l 149 -76 l 147 -76 l 147 -127 l 147 -179 l 152 -177 b 190 -167 155 -177 171 -173 l 230 -158 l 236 -156 l 236 -105 "},v7c:{x_min:0,x_max:300.8125,ha:307,o:"m 49 505 b 53 506 50 505 51 506 b 70 496 58 506 62 503 b 81 485 73 492 78 488 l 96 473 l 111 459 l 122 449 l 134 438 l 182 396 l 255 330 b 292 291 292 298 292 298 l 292 290 l 292 284 l 283 270 b 209 36 234 197 209 113 b 288 -170 209 -44 235 -119 b 299 -184 295 -179 299 -181 b 300 -191 300 -187 300 -188 b 285 -206 300 -199 294 -206 b 280 -206 283 -206 281 -206 b 247 -201 270 -202 259 -201 b 176 -222 223 -201 197 -208 b 114 -340 136 -249 114 -292 b 172 -471 114 -384 134 -433 b 185 -492 182 -481 185 -487 b 181 -502 185 -496 183 -499 b 171 -508 176 -505 174 -508 b 152 -498 166 -508 160 -503 b 0 -284 65 -428 12 -352 b 0 -260 0 -278 0 -270 b 1 -238 0 -252 0 -242 b 148 -140 16 -177 73 -140 b 209 -148 167 -140 189 -142 b 215 -149 212 -148 215 -149 b 215 -149 215 -149 215 -149 l 215 -149 b 201 -136 215 -148 209 -142 l 157 -97 l 96 -41 b 17 34 21 24 17 29 b 17 37 17 36 17 36 b 17 38 17 37 17 38 b 25 56 17 44 17 44 b 110 298 81 131 110 219 b 46 474 110 367 88 431 b 38 491 40 480 38 487 b 49 505 38 498 42 502 "},v7d:{x_min:-1.359375,x_max:436.921875,ha:446,o:"m 213 205 b 217 205 215 205 216 205 b 234 194 224 205 234 199 b 236 187 234 194 235 190 l 245 167 l 261 129 l 270 106 b 355 -61 294 54 329 -13 b 420 -163 381 -105 402 -138 b 436 -188 435 -184 436 -184 b 436 -191 436 -190 436 -190 b 421 -206 436 -201 431 -206 l 421 -206 l 416 -206 l 405 -201 b 217 -158 347 -172 283 -158 b 31 -201 153 -158 88 -172 l 20 -206 l 14 -206 l 14 -206 b 0 -191 5 -206 0 -201 b -1 -188 0 -190 -1 -190 b 14 -163 -1 -186 0 -184 b 95 -34 36 -136 72 -77 b 166 106 119 8 148 68 l 175 129 l 183 148 l 200 188 b 213 205 205 199 208 202 "},v7f:{x_min:0,x_max:367.5,ha:375,o:"m 0 124 l 0 187 l 61 187 l 122 187 l 122 138 l 122 91 l 153 61 l 183 30 l 213 61 l 243 91 l 243 138 l 243 187 l 306 187 l 367 187 l 367 124 l 367 61 l 321 61 l 274 61 l 243 30 l 213 0 l 243 -31 l 274 -62 l 321 -62 l 367 -62 l 367 -124 l 367 -188 l 306 -188 l 243 -188 l 243 -140 l 243 -93 l 213 -62 l 183 -31 l 153 -62 l 122 -93 l 122 -140 l 122 -188 l 61 -188 l 0 -188 l 0 -124 l 0 -62 l 46 -62 l 92 -62 l 123 -31 l 153 0 l 123 30 l 92 61 l 46 61 l 0 61 l 0 124 "},v80:{x_min:29.9375,x_max:420.578125,ha:371,o:"m 115 345 b 221 347 117 345 166 347 b 411 345 306 347 409 345 b 420 330 416 342 420 335 b 415 319 420 326 419 321 b 178 118 397 303 179 118 b 178 117 178 118 178 117 b 181 117 178 117 178 117 b 189 117 182 117 185 117 b 193 117 190 117 191 117 b 247 98 215 117 232 111 b 296 75 266 83 280 76 b 302 75 299 75 300 75 b 322 91 311 75 315 79 b 322 91 322 91 322 91 b 322 91 322 91 322 91 b 319 91 322 91 321 91 b 313 90 318 90 315 90 b 283 107 300 90 288 97 b 277 126 279 114 277 121 b 319 167 277 149 295 167 b 319 167 319 167 319 167 b 362 118 347 167 362 147 b 355 82 362 108 359 96 b 311 33 349 65 340 55 b 224 1 284 12 253 1 b 194 5 213 1 204 2 b 168 18 183 8 178 11 b 110 36 151 30 130 36 b 57 15 88 36 68 29 b 47 11 54 12 51 11 b 31 20 40 11 34 13 b 29 26 31 22 29 25 b 68 66 29 36 39 45 b 285 250 73 71 281 248 b 285 250 285 250 285 250 b 231 252 285 252 261 252 b 137 250 190 252 141 250 b 93 227 122 248 110 241 b 78 220 88 222 83 220 b 66 227 74 220 70 222 b 63 234 65 229 63 231 b 85 291 63 241 69 252 b 115 345 108 342 108 344 "},v81:{x_min:0,x_max:428.75,ha:438,o:"m 262 186 b 273 186 266 186 272 186 b 274 186 273 186 274 186 b 285 186 274 186 280 186 b 428 48 375 181 428 122 b 386 -68 428 12 416 -29 b 155 -187 329 -145 236 -187 b 12 -111 92 -187 38 -162 b 0 -51 4 -91 0 -72 b 262 186 0 58 122 179 m 366 131 b 352 134 362 133 357 134 b 219 81 321 134 269 115 b 47 -111 126 23 50 -62 b 47 -112 47 -111 47 -112 b 77 -136 47 -129 58 -136 b 264 -45 118 -136 194 -101 b 382 109 336 12 382 76 b 366 131 382 120 377 129 "},v83:{x_min:-1.359375,x_max:847.96875,ha:865,o:"m 488 1499 b 495 1500 490 1500 492 1500 b 541 1465 507 1500 521 1490 b 679 1078 622 1372 679 1210 b 677 1050 679 1068 677 1060 b 477 642 668 893 604 764 l 443 609 l 431 596 l 431 592 l 438 562 l 449 508 l 460 458 b 481 355 475 390 481 355 b 481 355 481 355 481 355 b 490 356 481 355 485 355 b 528 358 495 356 511 358 b 558 356 540 358 552 356 b 839 95 699 338 808 237 b 847 22 845 72 847 47 b 631 -303 847 -113 766 -242 b 620 -309 623 -308 620 -309 l 620 -310 b 631 -359 620 -310 626 -333 l 646 -435 l 660 -496 b 672 -588 668 -535 672 -563 b 664 -653 672 -610 669 -630 b 383 -875 630 -792 509 -875 b 201 -810 321 -875 257 -855 b 129 -680 151 -768 129 -730 b 274 -530 129 -592 200 -530 b 351 -553 300 -530 326 -538 b 412 -669 393 -582 412 -626 b 287 -805 412 -735 366 -800 l 279 -805 l 285 -809 b 383 -830 318 -823 351 -830 b 586 -718 464 -830 540 -789 b 626 -584 612 -678 626 -631 b 619 -528 626 -566 623 -548 b 612 -495 619 -526 616 -510 b 577 -324 590 -387 577 -324 b 577 -324 577 -324 577 -324 b 568 -326 575 -324 571 -324 b 528 -334 558 -328 537 -333 b 465 -338 506 -337 485 -338 b 24 -11 269 -338 87 -206 b -1 145 8 41 -1 93 b 96 442 -1 249 32 351 b 322 714 166 541 236 626 l 352 745 l 345 782 l 332 843 l 315 921 b 303 984 310 950 304 978 b 295 1082 298 1017 295 1049 b 413 1426 295 1208 336 1329 b 488 1499 436 1456 477 1496 m 549 1301 b 541 1301 547 1301 544 1301 b 411 1207 500 1301 447 1263 b 355 1004 374 1152 355 1079 b 359 942 355 984 356 963 b 371 881 362 927 363 917 l 385 818 b 392 782 389 799 392 784 l 392 782 b 434 828 393 782 424 816 b 607 1165 534 941 594 1060 b 608 1193 608 1175 608 1183 b 597 1270 608 1224 604 1254 b 549 1301 589 1286 571 1299 m 398 528 b 393 555 396 542 393 553 b 392 555 393 555 393 555 b 317 470 390 555 347 505 b 190 298 266 408 212 334 b 127 70 148 227 127 148 b 155 -77 127 19 137 -30 b 468 -303 209 -216 333 -303 b 519 -299 484 -303 502 -302 b 568 -284 541 -295 568 -287 l 568 -284 b 563 -263 568 -284 566 -274 l 534 -120 l 511 -13 l 496 61 l 480 133 b 469 187 472 176 469 187 b 468 188 469 187 469 188 b 416 162 462 188 430 172 b 337 13 364 126 337 69 b 413 -124 337 -40 363 -93 b 428 -144 424 -131 428 -137 b 428 -149 428 -145 428 -148 b 409 -166 426 -161 419 -166 b 394 -162 405 -166 400 -165 b 240 77 302 -122 240 -27 l 240 77 b 430 342 240 197 315 301 l 436 344 l 426 394 l 398 528 m 548 194 b 526 195 540 195 532 195 b 519 195 524 195 521 195 l 514 195 l 518 177 l 539 79 l 552 15 l 566 -48 l 594 -187 l 605 -240 b 612 -266 609 -254 611 -266 b 612 -266 612 -266 612 -266 b 641 -248 613 -266 630 -256 b 744 -98 692 -212 730 -156 b 751 -40 749 -79 751 -59 b 548 194 751 76 665 181 "},v84:{x_min:25.859375,x_max:164.6875,ha:168,o:"m 34 369 b 40 370 35 370 38 370 b 59 353 49 370 50 367 b 164 40 122 254 155 158 b 164 0 164 33 164 16 b 164 -40 164 -16 164 -34 b 59 -353 155 -158 122 -254 b 40 -371 53 -366 47 -371 b 34 -370 38 -371 36 -370 b 25 -358 28 -367 25 -363 b 31 -337 25 -352 27 -347 b 92 0 72 -234 92 -117 b 31 335 92 116 72 233 b 25 356 27 345 25 352 b 34 369 25 363 28 366 "},v86:{x_min:-571.671875,x_max:570.3125,ha:582,o:"m -386 173 b -381 174 -385 174 -383 174 b -370 173 -377 174 -372 173 b -281 86 -367 172 -347 151 b -196 0 -235 37 -196 0 b -126 84 -196 0 -164 37 b -50 174 -55 173 -57 172 b -44 174 -49 174 -47 174 b -35 173 -42 174 -38 173 b 53 86 -32 172 -12 151 b 138 0 100 37 138 0 b 208 84 140 0 170 37 b 284 174 279 173 277 172 b 289 174 285 174 288 174 b 299 173 294 174 298 173 b 462 11 303 172 338 134 l 475 -1 l 503 34 b 541 76 534 72 536 74 b 548 77 544 77 545 77 b 570 56 560 77 570 68 b 567 48 570 54 568 51 b 392 -172 564 41 397 -166 b 378 -176 387 -174 382 -176 b 368 -174 374 -176 371 -176 b 280 -87 367 -173 345 -152 b 194 0 234 -38 194 0 b 125 -86 194 0 163 -38 b 49 -174 54 -174 55 -173 b 43 -176 47 -176 46 -176 b 34 -174 40 -176 36 -174 b -54 -87 31 -173 10 -152 b -140 0 -102 -38 -140 0 b -209 -86 -141 0 -171 -38 b -285 -174 -280 -174 -279 -173 b -291 -176 -287 -176 -289 -176 b -300 -174 -295 -176 -299 -174 b -464 -12 -304 -173 -340 -137 l -476 0 l -504 -34 b -543 -77 -534 -73 -537 -76 b -549 -79 -545 -79 -547 -79 b -571 -58 -562 -79 -571 -69 b -568 -49 -571 -55 -570 -52 b -392 172 -566 -43 -396 167 b -386 173 -390 172 -387 173 "},v8a:{x_min:-170.140625,x_max:168.78125,ha:172,o:"m -160 567 b -122 567 -159 567 -149 567 l -87 567 l -84 566 b -74 553 -78 563 -77 560 b -20 366 -73 551 -49 466 b 31 186 8 267 31 186 b 85 371 31 186 55 269 b 140 559 114 473 138 557 b 153 567 141 564 148 567 b 168 559 159 567 166 564 b 168 555 168 557 168 557 b 92 281 168 548 159 513 b 14 13 50 134 14 13 b 0 0 14 6 6 0 b -17 15 -8 0 -17 8 b -93 283 -17 15 -51 136 b -170 552 -166 533 -170 548 b -170 553 -170 552 -170 552 b -160 567 -170 560 -167 564 "},v8b:{x_min:0,x_max:319.859375,ha:326,o:"m 149 508 b 159 509 152 509 155 509 b 186 494 170 509 181 503 b 190 440 190 487 190 488 l 190 430 l 190 377 l 242 377 l 251 377 b 303 373 298 377 296 377 b 319 345 314 367 319 356 b 304 319 319 335 314 324 b 250 315 296 315 299 315 l 242 315 l 190 315 l 190 262 l 190 252 b 186 198 190 204 190 205 b 159 183 179 188 170 183 b 132 198 148 183 138 188 b 127 252 127 205 127 204 l 127 262 l 127 315 l 76 315 l 68 315 b 14 319 20 315 21 315 b 0 347 4 324 0 335 b 14 373 0 356 4 367 b 68 377 21 377 20 377 l 76 377 l 127 377 l 127 430 l 127 440 b 132 494 127 488 127 487 b 149 508 136 501 142 505 "},v8c:{x_min:-330.75,x_max:329.390625,ha:336,o:"m -133 483 b -117 484 -127 484 -122 484 b 31 373 -51 484 9 440 b 35 348 34 365 35 356 b -25 285 35 313 10 285 b -87 331 -55 285 -76 302 b -167 402 -100 376 -133 402 b -191 398 -175 402 -183 401 b -227 341 -215 388 -227 369 b -225 320 -227 334 -227 327 b -13 74 -209 230 -125 133 b 6 65 -4 70 5 66 l 9 63 l 10 65 b 117 231 12 68 40 112 l 189 341 l 242 424 b 268 460 262 456 264 458 b 283 464 273 463 277 464 b 308 438 296 464 308 453 l 308 437 b 287 396 308 430 308 428 l 95 98 l 59 43 l 58 41 l 65 37 b 253 -156 151 -8 217 -77 b 281 -285 272 -199 281 -244 b 148 -481 281 -381 231 -463 b 115 -485 137 -484 126 -485 b -32 -376 51 -485 -9 -442 b -36 -349 -35 -366 -36 -358 b 25 -287 -36 -315 -12 -287 b 85 -333 54 -287 74 -302 b 166 -403 99 -377 133 -403 b 190 -399 174 -403 182 -402 b 225 -342 215 -390 225 -370 b 224 -322 225 -335 225 -328 b 12 -76 208 -231 125 -134 b -8 -66 2 -72 -6 -68 l -10 -65 l -12 -66 b -118 -231 -13 -68 -42 -113 l -190 -342 l -243 -426 b -269 -462 -264 -458 -265 -458 b -284 -466 -274 -464 -279 -466 b -310 -440 -298 -466 -310 -455 l -310 -438 b -288 -398 -310 -430 -308 -430 l -96 -99 l -59 -44 l -59 -43 l -66 -38 b -281 284 -198 33 -281 158 l -281 284 b -133 483 -281 392 -220 474 m 254 177 b 266 179 258 177 262 179 b 319 149 287 179 307 167 b 329 115 326 140 329 127 b 319 79 329 102 326 90 b 268 51 307 61 287 51 b 221 72 250 51 234 58 b 205 115 210 84 205 99 b 254 177 205 142 223 170 m -281 -54 b -269 -52 -277 -52 -273 -52 b -223 -73 -253 -52 -235 -59 b -206 -116 -212 -84 -206 -101 b -216 -151 -206 -129 -209 -141 b -269 -179 -228 -170 -249 -179 b -314 -159 -285 -179 -302 -173 b -330 -116 -325 -147 -330 -131 b -281 -54 -330 -88 -313 -61 "},v8d:{x_min:-1.359375,x_max:255.890625,ha:261,o:"m 118 514 b 127 517 121 517 122 517 b 147 505 136 517 142 513 l 148 502 l 148 403 b 148 306 148 351 148 306 b 174 315 149 306 160 310 l 200 324 l 205 323 b 223 312 213 323 220 319 l 225 308 l 225 260 b 225 245 225 255 225 249 b 220 204 225 208 224 209 b 179 188 216 199 215 199 l 148 177 l 148 124 l 148 70 l 189 84 b 236 98 219 94 230 98 b 247 94 240 98 243 97 b 255 52 254 88 255 87 b 255 33 255 47 255 40 l 254 -12 l 253 -15 b 249 -22 253 -18 250 -20 l 245 -24 l 196 -41 l 148 -58 l 148 -108 b 148 -158 148 -136 148 -158 b 174 -148 148 -158 160 -154 b 204 -140 198 -140 200 -140 l 204 -140 b 224 -152 213 -140 221 -145 b 225 -201 224 -155 225 -177 b 224 -254 225 -226 224 -251 b 157 -284 220 -262 220 -262 l 148 -288 l 148 -395 l 148 -503 l 147 -506 b 127 -519 142 -514 134 -519 b 107 -506 119 -519 111 -514 l 106 -503 l 106 -403 b 106 -303 106 -316 106 -303 b 104 -303 104 -303 104 -303 b 88 -310 104 -303 96 -306 l 63 -319 b 51 -322 59 -320 55 -322 b 36 -315 46 -322 40 -319 b 31 -273 32 -309 31 -312 b 31 -258 31 -269 31 -263 l 31 -210 l 34 -206 b 40 -198 35 -204 38 -199 b 74 -186 42 -197 57 -191 l 106 -173 l 106 -123 b 106 -97 106 -112 106 -104 b 106 -72 106 -76 106 -72 b 104 -72 106 -72 106 -72 b 20 -99 89 -79 23 -99 b 0 -84 10 -99 2 -93 b -1 -37 0 -81 -1 -59 b 0 11 -1 -15 0 9 b 58 40 4 22 2 22 l 106 56 l 106 109 b 106 123 106 115 106 119 b 106 162 106 147 106 162 b 81 155 106 162 93 159 b 50 147 65 149 55 147 b 36 152 43 147 40 148 b 31 194 32 158 31 156 b 31 209 31 198 31 204 l 31 256 l 34 260 b 76 281 38 269 38 269 l 106 292 l 106 396 l 106 502 l 107 505 b 118 514 110 509 114 513 "},v8f:{x_min:-21.78125,x_max:362.0625,ha:369,o:"m 302 1031 b 308 1032 304 1032 307 1032 b 330 1016 318 1032 325 1027 b 362 867 351 970 362 920 b 340 738 362 824 353 780 l 336 727 l 340 717 b 362 591 355 677 362 634 b 257 323 362 496 325 401 b 204 272 243 306 227 290 b 20 56 129 206 66 133 b -1 18 12 44 0 22 b -19 4 -4 9 -12 4 l -21 4 l -21 140 l -21 276 l -12 277 b 167 333 61 288 127 309 b 319 598 262 388 319 491 b 311 664 319 620 317 642 l 310 673 l 304 664 b 204 548 279 620 250 587 b 20 333 129 483 66 409 b -1 292 12 320 0 298 b -19 280 -4 285 -12 280 l -21 280 l -21 416 l -21 552 l -12 553 b 167 609 61 564 127 585 b 319 874 264 666 319 770 b 294 992 319 914 311 954 b 288 1011 288 1004 288 1007 b 302 1031 288 1021 294 1028 "},v90:{x_min:-171.5,x_max:483.1875,ha:493,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 495 20 616 20 616 b 20 373 20 427 20 373 b 115 410 20 373 63 390 l 210 448 l 210 531 b 212 620 210 614 210 616 b 231 632 215 628 223 632 b 246 627 236 632 242 631 b 251 541 251 620 251 628 l 251 463 l 315 489 b 387 514 368 509 381 514 b 393 513 390 514 392 514 b 406 494 402 510 406 502 b 397 476 406 487 404 480 b 323 446 396 474 363 462 l 251 417 l 251 283 l 251 148 l 254 151 b 370 199 291 183 332 199 b 415 191 385 199 400 197 b 483 84 458 176 483 134 b 461 0 483 58 476 29 b 332 -142 439 -40 411 -72 l 255 -215 b 231 -229 240 -229 239 -229 b 216 -223 224 -229 220 -227 b 210 -158 210 -217 210 -223 b 210 -120 210 -148 210 -136 l 210 -29 l 205 -34 b 100 -142 182 -65 159 -88 l 23 -215 b -1 -229 9 -229 6 -229 b -19 -217 -9 -229 -16 -224 l -20 -215 l -21 48 l -21 310 l -83 287 b -152 262 -133 266 -145 262 b -157 263 -153 262 -155 262 b -171 283 -166 266 -171 274 b -161 301 -171 290 -167 297 b -91 328 -160 302 -129 315 l -21 356 l -21 487 l -20 617 l -19 621 b -8 631 -17 626 -12 630 m 210 288 b 210 401 210 351 210 401 b 114 365 209 401 167 384 l 20 327 l 20 238 l 20 148 l 21 151 b 140 199 59 183 102 199 b 206 180 164 199 187 192 l 209 177 b 209 177 209 177 209 177 b 210 288 210 177 210 199 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 m 341 131 b 328 133 337 133 332 133 b 322 133 326 133 323 133 b 257 87 296 129 273 113 l 251 80 l 251 -37 l 251 -156 l 255 -152 b 375 81 328 -72 375 20 l 375 83 b 341 131 375 113 367 126 "},v92:{x_min:0,x_max:598.890625,ha:611,o:"m 62 181 b 77 183 66 183 72 183 b 91 181 83 183 88 183 b 202 131 100 180 106 177 l 299 87 l 394 131 b 517 183 499 181 502 183 b 519 183 517 183 518 183 b 598 104 567 183 598 144 b 577 49 598 84 592 65 b 518 15 567 38 563 37 b 484 0 499 6 484 0 b 518 -16 484 -1 499 -8 b 577 -51 563 -38 567 -40 b 598 -105 592 -66 598 -86 b 519 -184 598 -145 567 -184 b 517 -184 518 -184 517 -184 b 394 -133 502 -184 499 -183 l 299 -88 l 202 -133 b 81 -184 99 -183 95 -184 b 77 -184 80 -184 78 -184 b 0 -105 29 -184 0 -145 b 20 -51 0 -86 5 -66 b 80 -16 29 -40 34 -38 b 114 -1 98 -8 114 -1 b 80 15 114 0 98 6 b 20 49 34 37 29 38 b 0 104 6 65 0 84 b 62 181 0 140 23 174 m 88 134 b 74 136 85 134 80 136 b 68 134 72 136 69 136 b 46 104 54 130 46 117 b 55 81 46 95 49 88 b 149 34 59 76 53 80 b 224 -1 190 15 224 0 b 144 -38 224 -1 187 -18 b 54 -84 59 -79 58 -79 b 46 -105 49 -90 46 -98 b 76 -137 46 -122 58 -137 b 78 -137 77 -137 77 -137 b 194 -86 87 -137 76 -141 b 298 -36 250 -58 298 -36 b 298 -36 298 -36 298 -36 b 402 -84 299 -36 345 -58 b 518 -137 522 -141 510 -137 b 521 -137 519 -137 519 -137 b 551 -105 539 -137 551 -122 b 541 -83 551 -98 548 -90 b 447 -36 537 -77 544 -81 b 374 -1 406 -16 374 -1 b 447 34 374 0 406 15 b 541 81 544 80 537 76 b 551 104 548 88 551 97 b 521 136 551 120 539 136 b 518 136 519 136 519 136 b 517 136 518 136 517 136 l 517 136 b 402 83 511 136 511 136 b 298 34 345 56 299 34 b 298 34 298 34 298 34 b 194 84 298 34 250 56 b 88 134 137 111 89 133 "},v93:{x_min:0,x_max:438.28125,ha:447,o:"m 212 205 b 219 205 213 205 216 205 b 239 183 228 205 231 204 b 421 -163 298 40 363 -83 b 438 -191 434 -180 438 -186 b 436 -197 438 -192 438 -195 b 424 -206 434 -204 431 -206 b 406 -201 420 -206 415 -205 b 216 -156 347 -172 281 -156 b 23 -205 148 -156 80 -173 b 14 -206 20 -206 17 -206 b 0 -191 6 -206 0 -201 b 6 -176 0 -187 1 -183 b 202 192 63 -104 142 45 b 212 205 205 199 208 202 m 264 48 l 249 81 l 243 94 l 242 91 b 89 -126 208 36 137 -66 b 81 -138 85 -133 81 -138 b 81 -138 81 -138 81 -138 b 81 -138 81 -138 81 -138 b 95 -133 81 -138 87 -136 b 280 -94 156 -108 221 -94 b 334 -98 299 -94 317 -95 b 343 -99 338 -99 343 -99 b 343 -99 343 -99 343 -99 b 338 -94 343 -99 341 -97 b 264 48 318 -58 287 1 "},v94:{x_min:-149.71875,x_max:148.359375,ha:151,o:"m -9 215 b 0 217 -6 217 -4 217 b 19 205 8 217 14 213 b 20 142 20 202 20 201 l 20 84 l 23 84 b 144 -27 81 74 129 30 b 148 -66 147 -40 148 -54 b 36 -213 148 -134 103 -197 b 0 -219 24 -217 12 -219 b -145 -104 -68 -219 -129 -173 b -149 -68 -148 -91 -149 -79 b -24 84 -149 6 -98 74 l -21 84 l -21 142 b -19 205 -20 201 -20 202 b -9 215 -17 209 -13 213 m -21 -15 b -23 41 -21 37 -21 41 b -23 41 -23 41 -23 41 b -76 11 -35 40 -62 26 b -108 -65 -98 -11 -108 -38 b -1 -176 -108 -122 -65 -176 b 107 -65 63 -176 107 -122 b 74 11 107 -38 96 -11 b 20 41 61 26 32 41 b 20 -15 20 41 20 15 b 19 -74 20 -72 20 -72 b 0 -87 14 -83 6 -87 b -19 -74 -8 -87 -16 -83 b -21 -15 -20 -72 -20 -72 "},v95:{x_min:0,x_max:406.96875,ha:415,o:"m 55 181 b 70 183 61 183 66 183 b 111 170 85 183 99 179 b 160 130 115 167 137 149 l 202 95 l 245 130 b 319 181 299 176 302 179 b 334 183 325 183 330 183 b 406 109 375 183 406 148 b 401 81 406 99 405 91 b 348 24 394 65 390 59 b 318 -1 332 11 318 0 b 348 -26 318 -1 332 -12 b 401 -83 390 -61 394 -66 b 406 -111 405 -93 406 -101 b 334 -184 406 -149 375 -184 b 319 -183 330 -184 325 -184 b 245 -131 302 -180 299 -177 l 202 -97 l 160 -131 b 85 -183 107 -177 103 -180 b 70 -184 80 -184 76 -184 b 0 -111 31 -184 0 -149 b 4 -83 0 -101 1 -93 b 58 -26 10 -66 16 -61 b 88 -1 74 -12 88 -1 b 58 24 88 0 74 11 b 10 69 23 54 17 59 b 0 109 2 81 0 95 b 55 181 0 142 21 173 m 83 133 b 72 136 78 136 76 136 b 57 131 66 136 61 134 b 46 109 49 126 46 117 b 50 93 46 104 47 98 b 107 45 51 91 77 70 b 160 0 137 20 160 0 b 107 -47 160 -1 137 -22 b 50 -94 77 -72 51 -93 b 46 -111 47 -99 46 -105 b 59 -134 46 -120 50 -130 b 72 -137 62 -136 68 -137 b 83 -136 76 -137 80 -136 b 144 -84 84 -134 107 -116 b 202 -36 176 -58 202 -36 b 261 -84 202 -36 230 -58 b 323 -136 299 -116 321 -134 b 334 -137 326 -136 330 -137 b 345 -134 338 -137 343 -136 b 360 -111 355 -130 360 -120 b 355 -94 360 -105 359 -99 b 299 -47 353 -93 329 -72 b 245 0 269 -22 245 -1 b 299 45 245 0 269 20 b 355 93 329 70 353 91 b 360 109 359 98 360 104 b 345 133 360 119 355 129 b 334 136 343 134 338 136 b 323 134 330 136 326 134 b 261 83 321 133 299 115 b 202 34 230 56 202 34 b 144 83 202 34 176 56 b 83 133 106 115 84 133 "},v97:{x_min:-228.671875,x_max:227.3125,ha:232,o:"m -217 487 l -213 488 l 0 488 l 212 488 l 216 487 b 225 476 220 484 224 480 l 227 473 l 227 244 l 227 15 l 225 12 b 206 0 223 4 215 0 b 197 1 204 0 200 0 b 187 12 193 4 189 6 l 186 15 l 186 138 l 186 262 l -1 262 l -187 262 l -187 138 l -187 15 l -189 12 b -208 0 -193 4 -200 0 b -227 12 -216 0 -223 4 l -228 15 l -228 244 l -228 473 l -227 476 b -217 487 -225 480 -221 484 "},v9a:{x_min:-21.78125,x_max:367.5,ha:375,o:"m 230 1031 b 238 1032 232 1032 235 1032 b 259 1014 245 1032 251 1027 b 367 662 330 906 367 782 b 364 602 367 641 367 621 b 232 317 352 488 304 384 b 57 120 155 245 103 187 b -1 18 31 84 6 40 b -19 4 -4 11 -12 4 l -21 4 l -21 159 l -21 315 l -16 315 b 96 335 10 315 62 324 b 315 695 227 380 315 527 b 313 738 315 709 314 724 b 224 991 304 825 273 916 b 216 1013 219 999 216 1007 b 230 1031 216 1021 220 1028 "},v9b:{x_min:-24.5,x_max:313.0625,ha:319,o:"m -24 -133 l -24 -5 l -20 -5 b -1 -19 -12 -5 -4 -11 b 142 -213 13 -61 74 -144 b 258 -376 196 -269 230 -315 b 313 -605 295 -449 313 -528 b 292 -742 313 -652 306 -699 b 288 -752 289 -748 288 -752 b 288 -752 288 -752 288 -752 b 292 -764 289 -753 291 -757 b 313 -907 306 -811 313 -860 b 292 -1045 313 -954 306 -1002 b 288 -1054 289 -1050 288 -1054 b 288 -1054 288 -1054 288 -1054 b 292 -1067 289 -1054 291 -1060 b 313 -1210 306 -1113 313 -1161 b 292 -1346 313 -1257 306 -1304 b 288 -1357 289 -1353 288 -1357 b 288 -1357 288 -1357 288 -1357 b 292 -1368 289 -1357 291 -1363 b 313 -1512 306 -1415 313 -1464 b 292 -1648 313 -1560 306 -1605 b 288 -1660 289 -1654 288 -1660 b 288 -1660 288 -1660 288 -1660 b 292 -1671 289 -1660 291 -1665 b 313 -1814 306 -1719 313 -1766 b 250 -2040 313 -1897 291 -1977 b 232 -2062 238 -2057 236 -2059 b 221 -2065 230 -2063 225 -2065 b 200 -2045 210 -2065 201 -2057 b 200 -2043 200 -2044 200 -2044 b 208 -2026 200 -2037 202 -2034 b 269 -1826 249 -1966 269 -1897 b 153 -1544 269 -1726 230 -1625 b -9 -1472 115 -1506 58 -1481 b -21 -1471 -14 -1471 -19 -1471 l -24 -1471 l -24 -1343 l -24 -1215 l -20 -1215 b -1 -1229 -12 -1215 -4 -1221 b 142 -1424 13 -1270 74 -1353 b 257 -1582 196 -1478 228 -1524 b 264 -1594 261 -1589 264 -1594 l 264 -1594 b 265 -1582 264 -1594 264 -1589 b 270 -1525 268 -1562 270 -1544 b 153 -1243 270 -1424 228 -1321 b -9 -1170 115 -1203 58 -1178 b -21 -1168 -14 -1170 -19 -1168 l -24 -1168 l -24 -1041 l -24 -913 l -20 -913 b -1 -927 -12 -913 -4 -918 b 142 -1121 13 -967 74 -1050 b 257 -1281 196 -1175 228 -1221 b 264 -1292 261 -1286 264 -1292 l 264 -1292 b 265 -1279 264 -1292 264 -1286 b 270 -1222 268 -1261 270 -1242 b 153 -941 270 -1121 228 -1018 b -9 -867 115 -900 58 -875 b -21 -866 -14 -867 -19 -866 l -24 -866 l -24 -738 l -24 -610 l -20 -610 b -1 -624 -12 -610 -4 -616 b 142 -818 13 -664 74 -749 b 257 -978 196 -873 228 -918 b 264 -989 261 -984 264 -989 l 264 -989 b 265 -977 264 -989 264 -984 b 270 -920 268 -959 270 -939 b 153 -638 270 -818 228 -716 b -9 -564 115 -598 58 -573 b -21 -563 -14 -564 -19 -563 l -24 -563 l -24 -435 l -24 -308 l -20 -308 b -1 -322 -12 -308 -4 -313 b 142 -516 13 -363 74 -446 b 257 -675 196 -571 228 -616 b 264 -687 261 -681 264 -687 l 264 -687 b 265 -674 264 -687 264 -681 b 270 -617 268 -656 270 -637 b 153 -335 270 -516 228 -413 b -9 -262 115 -295 58 -270 b -21 -260 -14 -262 -19 -260 l -24 -260 l -24 -133 "},v9c:{x_min:-166.0625,x_max:-25.859375,ha:0,o:"m -49 369 b -42 370 -46 369 -44 370 b -27 360 -36 370 -29 366 b -25 355 -27 359 -25 358 b -32 335 -25 351 -28 347 b -92 52 -66 248 -87 159 b -93 -1 -93 43 -93 20 b -92 -54 -93 -23 -93 -45 b -32 -337 -85 -162 -66 -251 b -25 -355 -27 -349 -25 -352 b -42 -371 -25 -365 -32 -371 b -61 -353 -50 -371 -51 -369 b -163 -63 -119 -262 -153 -165 b -166 -1 -166 -37 -166 -31 b -163 62 -166 30 -166 36 b -61 352 -153 163 -119 260 b -49 369 -54 365 -51 366 "},v9e:{x_min:0,x_max:607.0625,ha:619,o:"m 243 631 b 250 632 246 632 249 632 b 270 620 259 632 268 628 l 272 616 l 272 201 l 272 -212 l 270 -216 b 251 -229 268 -224 259 -229 b 227 -215 243 -229 240 -229 l 151 -142 b 32 -16 81 -80 53 -49 b 0 84 9 18 0 52 b 111 199 0 149 42 199 b 137 197 119 199 127 198 b 228 151 168 191 197 177 l 231 148 l 231 383 b 232 620 231 616 231 616 b 243 631 234 624 238 630 m 168 131 b 152 133 163 133 157 133 b 107 102 130 133 111 120 b 106 86 107 97 106 91 b 111 41 106 73 108 56 b 227 -152 125 -13 171 -90 l 231 -156 l 231 -37 l 231 80 l 225 87 b 168 131 210 111 190 126 m 347 631 b 353 632 348 632 351 632 b 374 620 363 632 371 628 b 375 383 375 616 375 616 l 375 148 l 377 151 b 492 199 415 183 454 199 b 537 191 507 199 522 197 b 607 84 582 176 607 134 b 583 0 607 58 598 29 b 455 -142 562 -40 533 -72 l 378 -215 b 355 -229 364 -229 362 -229 b 334 -216 345 -229 337 -224 l 333 -212 l 333 201 l 333 616 l 334 620 b 347 631 337 624 341 630 m 465 131 b 451 133 461 133 455 133 b 445 133 449 133 446 133 b 379 87 419 129 396 113 l 375 80 l 375 -37 l 375 -156 l 378 -152 b 499 81 451 -72 499 20 l 499 83 b 465 131 499 113 490 126 "},va3:{x_min:58.53125,x_max:228.671875,ha:294,o:"m 138 371 b 142 373 140 371 141 373 b 178 342 149 373 156 366 b 228 251 217 297 228 278 b 228 244 228 248 228 247 b 176 147 227 212 212 184 b 123 73 152 122 132 93 b 121 62 122 70 121 66 b 145 13 121 48 129 31 b 153 -2 151 6 153 1 b 149 -9 153 -5 152 -6 b 144 -11 148 -11 145 -11 b 129 -1 140 -11 136 -8 b 61 87 89 37 68 68 b 58 113 59 95 58 105 b 110 215 58 144 74 177 b 163 287 134 240 155 269 b 166 299 166 291 166 295 b 141 348 166 313 157 330 b 133 360 134 356 133 358 b 133 363 133 362 133 362 b 138 371 133 367 136 370 "},va5:{x_min:0,x_max:349.8125,ha:357,o:"m 88 302 b 103 303 93 302 98 303 b 202 224 149 303 191 270 b 205 199 204 216 205 208 b 178 129 205 173 196 147 l 175 126 l 182 127 b 307 249 236 142 284 190 b 313 259 308 254 311 258 b 329 267 317 265 323 267 b 349 247 340 267 349 259 b 201 -263 349 242 204 -258 b 182 -273 197 -270 190 -273 b 163 -260 174 -273 166 -269 b 161 -256 161 -259 161 -258 b 217 -59 161 -248 170 -220 b 272 129 247 43 272 127 b 272 129 272 129 272 129 b 264 122 272 129 268 126 b 140 80 227 94 183 80 b 36 115 102 80 65 91 b 0 194 10 136 0 165 b 88 302 0 244 32 292 "},va9:{x_min:-24.5,x_max:314.421875,ha:321,o:"m -24 -145 l -24 -5 l -20 -5 b 0 -23 -9 -5 -2 -12 b 27 -87 4 -38 14 -66 b 138 -220 53 -136 88 -177 b 235 -328 179 -255 208 -288 b 314 -592 287 -409 314 -501 b 292 -732 314 -639 307 -687 l 289 -742 l 294 -756 b 314 -896 307 -802 314 -849 b 292 -1035 314 -943 307 -991 l 289 -1045 l 294 -1057 b 314 -1197 307 -1104 314 -1152 b 292 -1338 314 -1246 307 -1292 l 289 -1347 l 294 -1360 b 314 -1500 307 -1407 314 -1454 b 273 -1689 314 -1565 300 -1628 b 250 -1712 265 -1710 261 -1712 b 228 -1691 236 -1712 228 -1704 l 228 -1685 l 234 -1675 b 270 -1507 258 -1621 270 -1564 b 98 -1193 270 -1381 209 -1261 b 40 -1174 76 -1179 58 -1174 b -10 -1189 24 -1174 8 -1178 b -20 -1192 -14 -1192 -16 -1192 l -24 -1192 l -24 -1052 l -24 -913 l -20 -913 b 0 -931 -9 -913 -2 -920 b 27 -995 4 -946 14 -974 b 138 -1128 53 -1043 88 -1085 b 257 -1275 190 -1172 228 -1220 b 262 -1283 259 -1279 262 -1283 l 262 -1283 b 269 -1249 264 -1282 268 -1260 b 270 -1206 270 -1233 270 -1220 b 98 -891 270 -1075 206 -957 b 40 -871 76 -877 58 -871 b -10 -886 24 -871 8 -875 b -20 -889 -14 -889 -16 -889 l -24 -889 l -24 -749 l -24 -610 l -20 -610 b 0 -628 -9 -610 -2 -617 b 27 -692 4 -644 14 -671 b 138 -825 53 -741 88 -782 b 257 -973 190 -870 228 -917 b 262 -981 259 -977 262 -981 l 262 -981 b 269 -946 264 -979 268 -957 b 270 -903 270 -931 270 -917 b 98 -588 270 -774 206 -655 b 40 -569 76 -574 58 -569 b -10 -584 24 -569 8 -574 b -20 -587 -14 -587 -16 -587 l -24 -587 l -24 -448 l -24 -308 l -20 -308 b 0 -326 -9 -308 -2 -315 b 27 -390 4 -341 14 -369 b 138 -523 53 -438 88 -480 b 257 -670 190 -567 228 -614 b 262 -678 259 -674 262 -678 b 262 -678 262 -678 262 -678 b 269 -644 264 -677 268 -656 b 270 -601 270 -628 270 -614 b 98 -285 270 -471 206 -352 b 40 -266 76 -273 58 -266 b -10 -281 24 -266 8 -272 b -20 -284 -14 -284 -16 -284 l -24 -284 l -24 -145 "},vaa:{x_min:-1.359375,x_max:752.703125,ha:768,o:"m 490 985 b 504 986 495 986 500 986 b 604 907 551 986 593 954 b 607 884 607 900 607 892 b 581 813 607 857 597 831 l 578 810 l 583 811 b 710 932 638 827 687 873 b 714 943 711 936 713 942 b 730 952 720 949 725 952 b 752 931 741 952 752 943 b 200 -946 752 927 204 -941 b 182 -957 197 -953 190 -957 b 163 -945 174 -957 166 -953 b 161 -939 161 -942 161 -942 b 217 -743 161 -931 170 -904 b 272 -555 247 -639 272 -555 b 272 -555 272 -555 272 -555 b 264 -560 272 -555 268 -557 b 140 -603 227 -589 182 -603 b 36 -567 102 -603 65 -592 b -1 -487 12 -548 -1 -517 b 17 -427 -1 -466 5 -445 b 103 -380 38 -395 70 -380 b 191 -433 137 -380 172 -398 b 205 -484 201 -448 205 -466 b 178 -553 205 -509 196 -535 l 175 -557 l 182 -555 b 307 -435 236 -539 284 -494 b 372 -213 308 -430 372 -215 b 372 -213 372 -213 372 -213 b 364 -219 372 -213 368 -216 b 240 -262 328 -247 283 -262 b 137 -226 202 -262 166 -249 b 99 -145 112 -206 99 -176 b 118 -84 99 -124 106 -104 b 204 -38 138 -54 171 -38 b 292 -91 238 -38 273 -56 b 306 -141 302 -106 306 -124 b 279 -212 306 -167 296 -194 l 276 -215 l 281 -213 b 408 -93 336 -198 385 -151 b 473 129 409 -88 473 127 b 473 129 473 129 473 129 b 465 122 473 129 469 126 b 341 80 428 94 383 80 b 236 115 303 80 266 91 b 200 195 213 136 200 165 b 217 256 200 217 206 238 b 304 303 239 287 272 303 b 393 249 338 303 374 285 b 406 199 402 234 406 217 b 379 129 406 173 397 148 l 377 126 l 382 127 b 509 248 436 142 485 190 b 574 470 510 254 574 469 b 574 470 574 470 574 470 b 566 464 574 470 570 467 b 442 421 529 435 484 421 b 337 458 404 421 367 433 b 300 538 314 477 300 508 b 318 598 300 559 306 580 b 404 645 340 630 372 645 b 494 592 439 645 475 627 b 507 541 502 577 507 559 b 480 471 507 516 498 489 l 477 467 l 483 470 b 608 589 537 485 586 531 b 675 811 611 595 675 810 b 675 811 675 811 675 811 b 666 806 675 811 671 809 b 543 763 628 777 585 763 b 438 799 504 763 468 775 b 401 878 412 820 401 849 b 490 985 401 928 434 977 "},vab:{x_min:0,x_max:272.21875,ha:278,o:"m 243 631 b 250 632 246 632 249 632 b 270 620 259 632 268 628 l 272 616 l 272 201 l 272 -212 l 270 -216 b 251 -229 268 -224 259 -229 b 227 -215 243 -229 240 -229 l 151 -142 b 32 -16 81 -80 53 -49 b 0 84 9 18 0 52 b 111 199 0 149 42 199 b 137 197 119 199 127 198 b 228 151 168 191 197 177 l 231 148 l 231 383 b 232 620 231 616 231 616 b 243 631 234 624 238 630 m 168 131 b 152 133 163 133 157 133 b 107 102 130 133 111 120 b 106 86 107 97 106 91 b 111 41 106 73 108 56 b 227 -152 125 -13 171 -90 l 231 -156 l 231 -37 l 231 80 l 225 87 b 168 131 210 111 190 126 "},vad:{x_min:0,x_max:873.828125,ha:892,o:"m 0 0 l 0 703 l 81 703 l 164 703 l 164 0 l 164 -705 l 81 -705 l 0 -705 l 0 0 m 225 0 l 225 703 l 246 703 l 268 703 l 268 366 l 268 30 l 274 36 b 314 79 284 44 302 63 b 413 302 357 137 392 213 b 432 327 419 324 421 327 b 449 306 443 327 447 322 b 611 115 457 195 529 115 b 651 122 624 115 638 117 b 728 316 705 140 724 188 b 729 388 728 342 729 366 b 671 635 729 533 711 602 b 581 662 649 652 616 662 b 477 637 545 662 510 653 l 475 635 l 477 634 b 503 627 488 632 495 631 b 545 556 532 612 545 584 b 491 480 545 524 526 491 b 465 474 481 476 473 474 b 379 563 417 474 379 516 b 389 602 379 576 382 588 b 541 691 409 641 479 681 b 582 694 555 692 568 694 b 865 462 714 694 834 598 b 873 392 871 440 873 416 b 865 317 873 367 871 341 b 639 84 839 194 748 101 b 612 83 630 83 620 83 b 511 116 577 83 543 94 b 504 120 509 119 506 120 b 504 120 504 120 504 120 b 469 59 504 120 488 93 l 432 -1 l 469 -61 b 504 -122 488 -94 504 -122 b 504 -122 504 -122 504 -122 b 511 -117 506 -122 509 -120 b 612 -84 543 -95 577 -84 b 665 -91 630 -84 647 -87 b 869 -338 771 -122 850 -216 b 873 -392 872 -356 873 -374 b 798 -595 873 -469 847 -539 b 581 -695 741 -662 660 -695 b 406 -626 517 -695 454 -671 b 381 -563 389 -607 381 -585 b 465 -477 381 -519 413 -477 b 545 -559 514 -477 545 -519 b 503 -628 545 -587 532 -613 b 477 -635 495 -632 488 -634 l 475 -637 l 477 -638 b 581 -663 510 -655 545 -663 b 671 -637 616 -663 649 -653 b 729 -391 711 -603 729 -534 b 728 -317 729 -367 728 -344 b 623 -117 722 -173 698 -124 b 611 -116 619 -116 615 -116 b 449 -308 528 -116 457 -198 b 432 -328 447 -323 443 -328 b 413 -303 421 -328 419 -326 b 314 -80 392 -215 357 -138 b 274 -37 302 -65 284 -45 l 268 -31 l 268 -367 l 268 -705 l 246 -705 l 225 -705 l 225 0 "},vb1:{x_min:78.9375,x_max:485.921875,ha:417,o:"m 362 378 b 378 380 367 380 372 380 b 472 348 415 380 453 367 b 485 315 481 338 485 327 b 462 273 485 298 477 281 b 439 267 454 269 446 267 b 398 290 424 267 409 274 b 344 319 385 309 364 319 b 281 269 315 319 289 301 b 279 262 280 266 279 262 b 276 256 279 260 277 258 b 274 249 276 254 274 251 b 238 127 273 248 257 192 b 201 4 217 61 201 5 b 166 -1 198 -1 200 -1 b 153 -1 163 -1 157 -1 b 141 -1 148 -1 144 -1 b 104 4 106 -1 107 -1 b 104 6 104 5 104 5 b 142 144 104 13 110 34 b 182 278 164 219 181 276 b 183 288 182 281 182 285 b 185 302 185 292 185 298 b 164 330 185 317 176 328 b 159 330 163 330 161 330 b 102 302 140 330 119 320 b 91 294 95 295 93 294 b 88 294 91 294 89 294 b 78 303 83 294 78 298 b 81 312 78 306 78 309 b 200 373 106 347 160 373 b 215 371 205 373 209 371 b 266 335 235 367 254 353 b 269 331 268 333 269 331 b 269 331 269 331 269 331 b 273 335 269 331 270 334 b 362 378 298 359 330 376 "},vb3:{x_min:0,x_max:227.3125,ha:232,o:"m 91 213 b 100 215 93 215 96 215 b 227 58 167 215 224 144 b 227 52 227 56 227 54 b 61 -201 227 -43 164 -138 b 29 -216 44 -212 36 -216 b 23 -210 27 -216 24 -213 b 21 -205 21 -208 21 -206 b 34 -192 21 -201 25 -197 b 122 -55 89 -161 122 -106 b 104 6 122 -33 117 -12 l 103 9 l 96 9 b 4 79 57 9 17 38 b 0 112 1 90 0 101 b 91 213 0 163 36 209 "},vb4:{x_min:-597.53125,x_max:596.171875,ha:608,o:"m -533 324 b -525 327 -530 326 -528 327 b -504 305 -514 327 -504 317 b -504 305 -504 305 -504 305 b -513 284 -504 299 -504 299 b -556 112 -541 226 -556 167 b -545 33 -556 84 -552 58 b -524 -20 -541 15 -532 -9 l -522 -23 l -491 15 l -413 111 b -355 174 -367 169 -363 174 b -351 174 -353 174 -352 174 b -254 86 -343 174 -348 179 b -168 -1 -208 37 -168 -1 b -100 84 -168 -1 -137 37 b -23 173 -28 173 -29 172 b -19 174 -21 174 -20 174 b -8 173 -14 174 -10 173 b 80 86 -5 172 13 151 b 166 -1 127 37 166 -1 b 235 84 166 -1 197 37 b 311 173 306 173 304 172 b 317 174 313 174 314 174 b 326 173 319 174 323 173 b 490 11 329 172 366 134 l 502 -1 l 530 34 b 568 76 560 72 563 74 b 575 77 570 77 573 77 b 596 56 586 77 596 68 b 594 48 596 54 596 51 b 417 -172 592 41 424 -166 b 405 -176 415 -174 409 -176 b 396 -174 401 -176 398 -176 b 307 -87 393 -173 372 -152 b 221 -1 259 -38 221 -1 b 152 -86 221 -1 190 -38 b 76 -176 81 -174 83 -173 b 70 -176 74 -176 73 -176 b 61 -174 66 -176 62 -174 b -27 -87 58 -173 38 -152 b -114 -1 -74 -38 -112 -1 b -182 -86 -114 -1 -145 -38 b -258 -176 -253 -174 -253 -173 b -264 -176 -259 -176 -262 -176 b -274 -174 -268 -176 -272 -174 b -438 -11 -277 -173 -348 -102 l -449 0 l -479 -37 b -524 -80 -513 -80 -514 -80 l -524 -80 b -553 -52 -534 -80 -540 -74 b -597 109 -583 -8 -597 48 b -560 280 -597 165 -585 224 b -533 324 -548 310 -540 322 "},vb6:{x_min:0,x_max:556.6875,ha:568,o:"m 289 545 b 298 546 292 545 295 546 b 318 533 306 546 315 541 b 319 428 319 530 319 528 l 319 327 l 334 327 b 526 223 412 326 485 285 b 543 172 537 206 543 190 b 447 76 543 122 503 76 b 445 76 446 76 446 76 b 359 165 394 77 359 119 b 368 205 359 179 362 192 b 441 251 382 233 412 251 b 455 249 446 251 451 251 b 460 248 458 249 460 248 b 460 248 460 248 460 248 b 454 254 460 249 458 251 b 334 295 419 280 378 294 l 319 295 l 319 4 l 319 -287 l 321 -285 b 328 -285 322 -285 325 -285 b 524 -99 424 -277 507 -198 b 541 -79 526 -84 530 -79 b 556 -97 551 -79 556 -84 b 548 -133 556 -105 553 -117 b 334 -317 521 -233 434 -306 b 322 -319 329 -317 323 -317 l 319 -319 l 319 -424 b 319 -471 319 -444 319 -459 b 313 -541 319 -544 318 -535 b 298 -548 308 -545 303 -548 b 279 -534 289 -548 281 -542 b 277 -424 277 -531 277 -530 l 277 -317 l 273 -317 b 13 -95 153 -305 51 -217 b 0 2 4 -62 0 -29 b 182 295 0 126 66 238 b 274 324 210 309 249 320 l 277 324 l 277 427 b 279 533 277 528 277 530 b 289 545 281 538 285 542 m 277 2 b 277 291 277 161 277 291 b 268 288 277 291 273 290 b 144 1 179 265 144 184 b 276 -284 144 -199 175 -267 l 277 -285 l 277 2 "},vb7:{x_min:-176.9375,x_max:251.8125,ha:257,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 503 20 616 20 614 b 20 391 20 442 20 391 b 84 424 20 391 49 406 l 147 456 l 152 456 b 153 456 153 456 153 456 b 175 435 166 456 175 446 b 172 427 175 433 174 430 b 92 380 170 420 172 421 l 20 342 l 20 245 l 20 148 l 21 151 b 137 199 59 183 99 199 b 182 191 152 199 167 197 b 251 84 227 176 251 134 b 228 0 251 58 243 29 b 100 -142 206 -40 178 -72 l 23 -215 b 0 -229 9 -229 6 -229 b -20 -216 -9 -229 -17 -224 b -21 54 -21 -212 -21 -212 b -21 322 -21 201 -21 322 b -85 290 -21 322 -50 308 l -148 256 l -153 256 b -155 256 -155 256 -155 256 b -176 277 -167 256 -176 266 b -174 285 -176 280 -175 283 b -93 333 -171 294 -174 292 l -21 370 l -21 494 b -20 620 -21 616 -21 616 b -8 631 -17 624 -13 630 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 "},vb9:{x_min:-122.5,x_max:121.140625,ha:124,o:"m -16 145 b 0 147 -10 147 -5 147 b 121 -1 66 147 121 77 b 114 -49 121 -16 118 -33 b -1 -148 95 -112 47 -148 b -85 -106 -31 -148 -61 -134 b -122 -1 -110 -76 -122 -38 b -16 145 -122 68 -81 134 m 12 111 b 0 113 8 113 4 113 b -68 22 -29 113 -61 73 b -70 0 -69 15 -70 6 b -13 -113 -70 -49 -47 -98 b -1 -115 -9 -115 -5 -115 b 63 -40 24 -115 53 -83 b 68 -1 66 -27 68 -15 b 12 111 68 48 46 97 "},vba:{x_min:-118.421875,x_max:597.53125,ha:381,o:"m 460 574 b 464 574 461 574 462 574 b 488 574 470 574 481 574 b 500 573 491 574 498 574 b 594 503 543 570 588 538 b 597 488 596 498 597 494 b 528 417 597 449 564 417 b 502 423 519 417 510 419 b 465 481 477 434 465 458 b 488 528 465 499 472 516 b 490 530 490 530 490 530 b 490 530 490 530 490 530 b 468 517 488 530 475 523 b 349 340 419 485 377 420 b 347 330 348 334 347 330 b 383 328 347 328 363 328 b 428 326 423 328 424 328 b 442 302 438 320 442 312 b 430 281 442 294 438 285 b 385 276 424 277 426 276 l 377 276 l 332 276 l 330 269 b 178 -117 303 126 250 -9 b 1 -249 129 -194 69 -237 b -20 -251 -6 -251 -13 -251 b -114 -187 -65 -251 -100 -227 b -118 -156 -117 -177 -118 -166 b -51 -84 -118 -116 -91 -84 b -31 -87 -46 -84 -39 -86 b 16 -152 0 -95 16 -124 b -12 -205 16 -173 8 -194 b -16 -208 -14 -206 -16 -208 b -14 -208 -16 -208 -14 -208 b -9 -206 -14 -208 -12 -208 b 74 -124 23 -197 54 -166 b 172 224 98 -79 125 22 b 185 276 178 252 183 274 b 185 276 185 276 185 276 b 141 276 185 276 181 276 b 91 280 96 276 96 276 b 77 302 83 285 77 294 b 91 326 77 312 83 320 b 148 328 95 328 96 328 l 198 330 l 202 341 b 460 574 249 473 351 566 "},vbf:{x_min:-53.078125,x_max:513.140625,ha:485,o:"m 185 383 b 196 384 187 383 191 384 b 277 334 230 384 259 365 b 288 301 281 324 288 306 b 288 297 288 298 288 297 b 294 302 289 297 291 299 b 394 370 323 338 367 367 b 404 371 398 370 401 371 b 510 272 453 371 498 328 b 513 237 513 262 513 251 b 507 172 513 217 511 192 b 326 -34 487 59 412 -26 b 314 -36 322 -36 318 -36 b 274 -24 298 -36 283 -31 l 265 -16 b 224 44 246 -1 232 20 b 223 49 224 47 223 49 b 223 49 223 49 223 49 b 149 -197 221 48 149 -194 b 149 -198 149 -197 149 -198 b 170 -210 149 -202 155 -205 b 187 -215 174 -210 175 -212 b 204 -231 201 -219 204 -222 b 197 -245 204 -240 202 -242 l 194 -248 l 76 -248 l -42 -248 l -46 -245 b -53 -231 -51 -242 -53 -240 b -35 -215 -53 -222 -49 -217 b -13 -210 -21 -212 -20 -212 b -6 -208 -10 -209 -8 -208 b 0 -206 -6 -208 -2 -206 b 25 -188 13 -201 21 -195 b 163 280 28 -183 163 276 b 166 291 163 283 164 287 b 167 302 167 295 167 299 b 155 324 167 315 161 324 b 155 324 155 324 155 324 b 65 230 125 322 85 280 b 53 215 61 217 58 215 b 51 215 53 215 51 215 b 42 224 46 215 42 217 b 57 263 42 231 47 244 b 140 360 77 305 104 337 b 152 370 144 365 149 369 b 185 383 157 376 172 381 m 374 306 b 366 308 371 308 368 308 b 300 273 348 308 321 294 b 284 254 288 262 287 259 b 280 242 283 249 281 245 b 257 169 279 240 270 213 l 236 98 l 236 93 b 251 48 238 77 243 61 b 279 27 258 37 272 27 b 281 27 279 27 280 27 b 291 31 281 27 287 30 b 396 170 334 52 378 109 b 406 247 402 197 406 224 b 401 277 406 259 405 270 b 374 306 397 290 383 303 "},vc3:{x_min:-10.890625,x_max:299.4375,ha:294,o:"m 136 460 b 142 462 137 462 140 462 b 166 449 152 462 161 456 b 171 428 168 446 168 445 b 288 131 194 322 238 209 b 298 115 295 120 296 117 b 299 106 298 112 299 109 b 273 81 299 91 287 81 b 255 86 268 81 261 83 b 155 116 225 104 183 116 l 152 116 l 149 108 b 141 83 148 102 144 91 b 134 48 137 69 134 58 b 149 9 134 34 140 24 b 153 -1 152 5 153 1 b 149 -9 153 -5 152 -6 b 144 -11 148 -11 147 -11 b 122 2 138 -11 133 -6 b 95 61 104 20 95 38 b 107 108 95 74 99 90 b 108 113 107 111 108 112 b 107 113 108 113 108 113 b 102 113 106 113 104 113 b 31 86 76 108 53 98 b 14 80 24 81 20 80 b -10 106 0 80 -10 91 b 0 131 -10 115 -9 116 b 115 430 49 209 91 317 b 136 460 119 451 123 456 "},vd0:{x_min:-10.890625,x_max:299.4375,ha:294,o:"m 44 174 b 51 174 47 174 49 174 b 68 173 55 174 61 174 l 287 112 l 551 40 b 615 20 617 22 609 23 b 626 0 622 16 626 8 b 615 -22 626 -9 622 -18 b 613 -23 613 -23 613 -23 b 613 -23 613 -23 613 -23 b 287 -113 613 -24 597 -29 l 68 -174 b 53 -176 61 -176 57 -176 b 39 -172 47 -176 43 -174 b 27 -151 31 -167 27 -159 b 39 -129 27 -141 31 -133 b 230 -74 43 -124 20 -131 l 370 -36 l 468 -9 b 498 0 484 -4 498 -1 b 468 8 498 0 484 2 l 370 34 l 230 73 b 40 126 28 129 43 124 b 27 149 31 131 27 140 b 44 174 27 161 34 170 m 205 110 l 205 300 b 205 330 245 330 245 300 l 245 300 l 245 -300 b 245 -330 205 -330 205 -300 l 205 -300 l 205 110 l 345 90 m 345 90 l 345 330 b 345 360 385 360 385 330 l 385 330 l 385 -270 b 385 -300 345 -300 345 -270 l 345 -270 l 345 90 "},vd1:{x_min:-20,x_max:320,ha:257,o:"m -8 200 b -8 210 8 200 16 200 l 20 148 -199 l 23 -615 b 0 -629 9 -629 6 -629 l -21 -612 l -21 -201 l -21 216 l -20 200 m 16 200 l 310 0 l 240 0 l 16 140 l 16 -120 l 240 0 l 310 0 l 16 -200 "},vd2:{x_min:0,x_max:430.75,ha:386,o:"m 0 200 l 0 -200 l 430 -200 l 430 200 l 0 200 "},vd3:{x_min:0,x_max:430.75,ha:386,o:"m 0 200 l 0 -200 l 430 -200 l 430 200 l 0 200 l 50 150 l 380 150 l 380 -150 l 50 -150 l 50 150 "},vd4:{x_min:0,x_max:430.75,ha:360,o:"m 0 150 l 0 -150 l 430 -150 l 430 150 l 0 150 "},vd5:{x_min:0,x_max:430.75,ha:360,o:"m 0 150 l 0 -150 l 430 -150 l 430 150 l 0 150 l 50 100 l 380 100 l 380 -100 l 50 -100 l 50 100"},vd6:{x_min:0,x_max:430.75,ha:360,o:"m -146 537 b -138 538 -143 538 -141 538 b -118 525 -129 538 -121 533 b -117 390 -117 522 -117 521 b -115 259 -117 268 -117 259 b -115 259 -115 259 -115 259 b -59 272 -104 263 -62 272 b -39 259 -50 272 -42 267 b -37 209 -38 257 -37 233 b -39 159 -37 185 -38 162 b -85 138 -43 149 -44 149 l -117 131 l -117 21 b -115 -88 -117 -80 -117 -88 b -115 -88 -115 -88 -115 -88 b -59 -75 -104 -84 -62 -75 b -44 -81 -52 -75 -48 -77 b -38 -124 -38 -87 -38 -85 b -38 -138 -38 -124 -38 -138 b -38 -152 -38 -138 -38 -152 b -44 -195 -38 -191 -38 -190 b -85 -209 -48 -200 -48 -200 l -117 -217 l -117 -349 b -118 -486 -117 -481 -117 -482 b -138 -499 -121 -494 -129 -499 b -153 -493 -143 -499 -149 -497 b -159 -415 -158 -487 -159 -496 b -159 -355 -159 -398 -159 -379 b -159 -227 -159 -284 -159 -227 b -205 -238 -159 -227 -180 -232 b -250 -249 -230 -244 -250 -249 b -251 -386 -251 -249 -251 -311 b -252 -525 -251 -521 -251 -522 b -272 -538 -255 -534 -264 -538 b -287 -532 -277 -538 -283 -536 b -293 -452 -292 -527 -293 -536 b -293 -391 -293 -436 -293 -415 b -294 -260 -293 -269 -293 -260 b -294 -260 -294 -260 -294 -260 b -348 -272 -306 -264 -345 -272 b -368 -259 -357 -272 -365 -267 b -369 -209 -369 -257 -369 -233 b -368 -159 -369 -185 -369 -162 b -323 -139 -364 -149 -362 -148 l -293 -131 l -293 -22 b -294 87 -293 80 -293 87 b -294 87 -294 87 -294 87 b -348 75 -306 84 -345 75 b -368 88 -357 75 -365 80 b -369 138 -369 91 -369 114 b -368 188 -369 162 -369 186 b -323 209 -364 198 -362 199 l -293 216 l -293 349 b -292 486 -293 481 -293 482 b -272 499 -288 494 -280 499 b -257 493 -266 499 -261 497 b -251 414 -251 487 -251 496 b -251 354 -251 398 -251 378 b -251 226 -251 284 -251 226 b -205 238 -250 226 -230 231 b -159 249 -180 244 -159 249 b -159 385 -159 249 -159 310 b -157 525 -159 521 -159 522 b -146 537 -156 530 -151 535 z m -159 11 b -159 120 -159 98 -159 120 l -159 120 b -175 116 -160 120 -167 119 b -221 105 -184 114 -204 109 l -251 98 l -251 -12 b -251 -121 -251 -72 -251 -121 b -205 -110 -250 -121 -230 -116 b -159 -99 -180 -104 -159 -99 b -159 11 -159 -99 -159 -49 z m 89 517 b 97 519 92 518 94 519 b 117 505 106 519 114 513 b 119 376 119 502 119 501 l 119 249 l 145 258 b 176 267 169 266 172 267 b 177 267 176 267 177 267 b 196 255 186 267 192 263 l 197 252 l 197 205 b 197 181 197 195 197 187 b 193 149 197 153 197 153 b 152 131 190 144 187 143 l 119 120 l 119 10 b 119 -100 119 -62 119 -100 b 145 -91 120 -100 131 -96 b 173 -82 159 -86 171 -82 b 176 -81 174 -81 175 -81 b 196 -94 185 -81 193 -87 b 198 -151 197 -97 198 -125 b 197 -194 198 -172 197 -192 b 153 -218 193 -203 192 -204 l 119 -230 l 119 -367 l 118 -504 l 117 -507 b 97 -519 113 -514 105 -519 b 82 -512 92 -519 87 -517 b 76 -434 77 -507 76 -516 b 76 -374 76 -418 76 -398 b 76 -245 76 -303 76 -245 b 52 -254 76 -245 65 -249 b 19 -263 34 -260 25 -263 b 6 -257 13 -263 10 -261 b 0 -214 0 -251 0 -253 b 0 -200 0 -210 0 -205 b 0 -188 0 -196 0 -192 b 6 -143 0 -147 0 -149 b 46 -126 10 -139 10 -139 l 76 -115 l 76 -5 b 76 106 76 56 76 106 b 51 98 76 106 64 102 b 18 89 34 92 25 89 b 6 95 13 89 10 91 b 0 139 0 101 0 99 b 0 153 0 143 0 148 b 0 179 0 163 0 172 b 44 225 0 215 3 211 l 76 236 l 76 369 b 78 505 76 501 76 502 b 89 517 80 510 85 515 z "},vd7:{x_min:0,x_max:430.75,ha:360,o:"m 283 633 b 291 634 286 634 289 634 b 311 621 300 634 308 629 b 313 505 313 618 313 617 b 313 393 313 443 313 393 b 378 425 313 393 343 407 l 443 458 l 448 458 b 449 458 449 458 449 458 b 471 437 462 458 471 448 b 469 429 471 434 470 432 b 387 382 466 421 469 423 l 313 344 l 313 247 l 313 150 l 315 152 b 433 201 353 184 394 201 b 479 193 448 201 464 198 b 549 86 524 177 549 135 b 526 1 549 59 541 29 b 395 -143 504 -39 475 -71 b 316 -214 351 -182 341 -191 b 292 -229 302 -228 300 -229 b 272 -216 283 -229 275 -224 b 271 55 271 -212 271 -212 b 270 323 271 203 270 323 b 205 291 270 323 241 308 l 140 258 l 135 258 b 134 258 135 258 134 258 b 112 279 121 258 112 267 b 114 287 112 281 113 284 b 196 334 117 295 114 293 l 271 371 l 271 495 b 272 621 271 617 271 618 b 283 633 274 626 279 631 z m 404 133 b 391 134 400 134 395 134 b 384 134 388 134 386 134 b 318 88 358 130 335 114 l 313 81 l 313 -37 l 313 -156 l 316 -152 b 439 83 391 -71 439 22 l 439 84 b 404 133 439 115 430 128 z m -8 633 l -8 633 b 0 634 -6 634 -3 634 b 20 621 8 634 17 629 b 21 384 21 618 21 617 l 21 150 l 24 152 b 141 201 62 184 102 201 b 187 193 157 201 172 198 b 257 86 232 177 257 135 b 234 1 257 59 250 29 b 103 -143 212 -39 183 -71 b 24 -214 60 -182 49 -191 b 0 -229 10 -228 8 -229 b -20 -216 -9 -229 -17 -224 l -21 -212 l -21 203 l -21 618 l -20 621 b -8 633 -18 626 -13 631 z m 113 133 l 113 133 b 99 134 109 134 103 134 b 93 134 97 134 94 134 b 26 88 66 130 43 114 l 21 81 l 21 -37 l 21 -156 l 25 -152 b 148 83 99 -71 148 22 l 148 84 b 113 133 148 115 138 128 z "}},cssFontWeight:"normal",ascender:1903,underlinePosition:-125,cssFontStyle:"normal",boundingBox:{yMin:-2065.375,xMin:-695.53125,yMax:1901.578125,xMax:1159.671875},resolution:1e3,descender:-2066,familyName:"VexFlow-18",lineHeight:4093,underlineThickness:50};function processOutline(B,R,F,D,G,U){let W,q,Y,Q=0;function Z(){return R+B[Q++]*D}function K(){return F+B[Q++]*G}for(;Q<B.length;)switch(W=B[Q++],W){case"m":case"l":U[W](Z(),K());break;case"q":q=Z(),Y=K(),U.q(Z(),K(),q,Y);break;case"b":q=Z(),Y=K(),U.b(Z(),K(),Z(),K(),q,Y);break}}class Glyph extends Element$1{static loadMetrics(R,F,D){const G=R.glyphs[F];if(!G)throw new Vex.RERR("BadGlyph",`Glyph ${F} does not exist in font.`);const U=G.x_min,W=G.x_max,q=G.ha;let Y;if(G.o)return D?G.cached_outline?Y=G.cached_outline:(Y=G.o.split(" "),G.cached_outline=Y):(G.cached_outline&&delete G.cached_outline,Y=G.o.split(" ")),{x_min:U,x_max:W,ha:q,outline:Y};throw new Vex.RERR("BadGlyph",`Glyph ${F} has no outline defined.`)}static renderGlyph(R,F,D,G,U,W){const q=G*72/(Font.resolution*100),Y=Glyph.loadMetrics(Font,U,!W);Glyph.renderOutline(R,Y.outline,q,F,D)}static renderOutline(R,F,D,G,U){R.beginPath(),R.moveTo(G,U),processOutline(F,G,U,D,-D,{m:R.moveTo.bind(R),l:R.lineTo.bind(R),q:R.quadraticCurveTo.bind(R),b:R.bezierCurveTo.bind(R)}),R.fill()}static getOutlineBoundingBox(R,F,D,G){const U=new BoundingBoxComputation;return processOutline(R,D,G,F,-F,{m:U.addPoint.bind(U),l:U.addPoint.bind(U),q:U.addQuadraticCurve.bind(U),b:U.addBezierCurve.bind(U)}),new BoundingBox(U.x1,U.y1,U.width(),U.height())}constructor(R,F,D){super(),this.setAttribute("type","Glyph"),this.code=R,this.point=F,this.options={cache:!0,font:Font},this.metrics=null,this.x_shift=0,this.y_shift=0,this.originShift={x:0,y:0},D?this.setOptions(D):this.reset()}setOptions(R){Vex.Merge(this.options,R),this.reset()}setPoint(R){return this.point=R,this}setStave(R){return this.stave=R,this}setXShift(R){return this.x_shift=R,this}setYShift(R){return this.y_shift=R,this}reset(){this.scale=this.point*72/(this.options.font.resolution*100),this.metrics=Glyph.loadMetrics(this.options.font,this.code,this.options.cache),this.bbox=Glyph.getOutlineBoundingBox(this.metrics.outline,this.scale,0,0)}getMetrics(){if(!this.metrics)throw new Vex.RuntimeError("BadGlyph",`Glyph ${this.code} is not initialized.`);return{x_min:this.metrics.x_min*this.scale,x_max:this.metrics.x_max*this.scale,width:this.bbox.getW(),height:this.bbox.getH()}}setOriginX(R){const{bbox:F}=this,D=Math.abs(F.getX()/F.getW()),G=(R-D)*F.getW();this.originShift.x=-G}setOriginY(R){const{bbox:F}=this,D=Math.abs(F.getY()/F.getH()),G=(R-D)*F.getH();this.originShift.y=-G}setOrigin(R,F){this.setOriginX(R),this.setOriginY(F)}render(R,F,D){if(!this.metrics)throw new Vex.RuntimeError("BadGlyph",`Glyph ${this.code} is not initialized.`);const G=this.metrics.outline,U=this.scale;this.setRendered(),this.applyStyle(R),Glyph.renderOutline(R,G,U,F+this.originShift.x,D+this.originShift.y),this.restoreStyle(R)}renderToStave(R){if(this.checkContext(),!this.metrics)throw new Vex.RuntimeError("BadGlyph",`Glyph ${this.code} is not initialized.`);if(!this.stave)throw new Vex.RuntimeError("GlyphError","No valid stave");const F=this.metrics.outline,D=this.scale;this.setRendered(),this.applyStyle(),Glyph.renderOutline(this.context,F,D,R+this.x_shift,this.stave.getYForGlyphs()+this.y_shift),this.restoreStyle()}}const Flow={STEM_WIDTH:1.5,STEM_HEIGHT:35,STAVE_LINE_THICKNESS:1,RESOLUTION:16384,DEFAULT_NOTATION_FONT_SCALE:39,DEFAULT_TABLATURE_FONT_SCALE:39,SLASH_NOTEHEAD_WIDTH:15,TEXT_HEIGHT_OFFSET_HACK:1,IsKerned:!0};Flow.clefProperties=B=>{if(!B)throw new Vex.RERR("BadArgument","Invalid clef: "+B);const R=Flow.clefProperties.values[B];if(!R)throw new Vex.RERR("BadArgument","Invalid clef: "+B);return R};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=(B,R,F)=>{R===void 0&&(R="treble");const D={octave_shift:0};typeof F=="object"&&Vex.Merge(D,F);const G=B.split("/");if(G.length<2)throw new Vex.RERR("BadArguments",`Key must have note + octave and an optional glyph: ${B}`);const U=G[0].toUpperCase(),W=Flow.keyProperties.note_values[U];if(!W)throw new Vex.RERR("BadArguments","Invalid key name: "+U);W.octave&&(G[1]=W.octave);let q=parseInt(G[1],10);q+=-1*D.octave_shift;let Q=(q*7-4*7+W.index)/2;Q+=Flow.clefProperties(R).line_shift;let Z=0;Q<=0&&Q*2%2===0&&(Z=1),Q>=6&&Q*2%2===0&&(Z=-1);const K=typeof W.int_val!="undefined"?q*12+W.int_val:null,J=W.code,ie=W.shift_right;let ne={};if(G.length>2&&G[2]){const se=G[2].toUpperCase();ne=Flow.keyProperties.customNoteHeads[se]||{}}return{key:U,octave:q,line:Q,int_value:K,accidental:W.accidental,code:J,stroke:Z,shift_right:ie,displaced:!1,...ne}};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},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}};Flow.integerToNote=B=>{if(typeof B=="undefined")throw new Vex.RERR("BadArguments","Undefined integer for integerToNote");if(B<-2)throw new Vex.RERR("BadArguments",`integerToNote requires integer > -2: ${B}`);const R=Flow.integerToNote.table[B];if(!R)throw new Vex.RERR("BadArguments",`Unknown note value for integer: ${B}`);return R};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=(B,R=1)=>{let F=null,D=0,G=0;if(B.toString().toUpperCase()==="X"){const U=new Glyph("v7f",Flow.DEFAULT_TABLATURE_FONT_SCALE).getMetrics();F="v7f",D=U.width,G=-U.height/2}else D=Flow.textWidth(B.toString());return{text:B,code:F,getWidth:()=>D*R,shift_y:G}};Flow.textWidth=B=>7*B.toString().length;Flow.articulationCodes=B=>Flow.articulationCodes.articulations[B];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=B=>Flow.accidentalCodes.accidentals[B];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=B=>Flow.ornamentCodes.ornaments[B];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=B=>{const R=Flow.keySignature.keySpecs[B];if(!R)throw new Vex.RERR("BadKeySignature",`Bad key signature spec: '${B}'`);if(!R.acc)return[];const F=Flow.keySignature.accidentalList(R.acc),D=[];for(let G=0;G<R.num;++G){const U=F[G];D.push({type:R.acc,line:U})}return D};Flow.keySignature.keySpecs={C:{acc:null,num:0},Am:{acc:null,num:0},F:{acc:"b",num:1},Dm:{acc:"b",num:1},Bb:{acc:"b",num:2},Gm:{acc:"b",num:2},Eb:{acc:"b",num:3},Cm:{acc:"b",num:3},Ab:{acc:"b",num:4},Fm:{acc:"b",num:4},Db:{acc:"b",num:5},Bbm:{acc:"b",num:5},Gb:{acc:"b",num:6},Ebm:{acc:"b",num:6},Cb:{acc:"b",num:7},Abm:{acc:"b",num:7},G:{acc:"#",num:1},Em:{acc:"#",num:1},D:{acc:"#",num:2},Bm:{acc:"#",num:2},A:{acc:"#",num:3},"F#m":{acc:"#",num:3},E:{acc:"#",num:4},"C#m":{acc:"#",num:4},B:{acc:"#",num:5},"G#m":{acc:"#",num:5},"F#":{acc:"#",num:6},"D#m":{acc:"#",num:6},"C#":{acc:"#",num:7},"A#m":{acc:"#",num:7}};Flow.unicode={sharp:String.fromCharCode(parseInt("266F",16)),flat:String.fromCharCode(parseInt("266D",16)),natural:String.fromCharCode(parseInt("266E",16)),triangle:String.fromCharCode(parseInt("25B3",16)),"o-with-slash":String.fromCharCode(parseInt("00F8",16)),degrees:String.fromCharCode(parseInt("00B0",16)),circle:String.fromCharCode(parseInt("25CB",16))};Flow.keySignature.accidentalList=B=>({b:[2,.5,2.5,1,3,1.5,3.5],"#":[0,1.5,-.5,1,2.5,.5,2]})[B];Flow.parseNoteDurationString=B=>{if(typeof B!="string")return null;const F=/(\d*\/?\d+|[a-z])(d*)([nrhms]|$)/.exec(B);if(!F)return null;const D=F[1],G=F[2].length;let U=F[3];return U.length===0&&(U="n"),{duration:D,dots:G,type:U}};Flow.parseNoteStruct=B=>{const R=B.duration,F=Flow.parseNoteDurationString(R);if(!F)return null;let D=Flow.durationToTicks(F.duration);if(D==null)return null;let G=B.type;const U=[];if(G){if(!Flow.getGlyphProps.validTypes[G])return null}else G=F.type||"n",B.keys!==void 0&&B.keys.forEach((Y,Q)=>{const Z=Y.split("/");Z&&Z.length===3&&(U[Q]=Z[2])});const W=B.dots?B.dots:F.dots;if(typeof W!="number")return null;let q=D;for(let Y=0;Y<W;Y++){if(q<=1)return null;q=q/2,D+=q}return{duration:F.duration,type:G,customTypes:U,dots:W,ticks:D}};Flow.sanitizeDuration=B=>{const R=Flow.durationAliases[B];if(R!==void 0&&(B=R),Flow.durationToTicks.durations[B]===void 0)throw new Vex.RERR("BadArguments",`The provided duration is not valid: ${B}`);return B};Flow.durationToFraction=B=>new Fraction().parse(Flow.sanitizeDuration(B));Flow.durationToNumber=B=>Flow.durationToFraction(B).value();Flow.durationToTicks=B=>{B=Flow.sanitizeDuration(B);const R=Flow.durationToTicks.durations[B];return R===void 0?null:R};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=(B,R)=>{B=Flow.sanitizeDuration(B);const F=Flow.getGlyphProps.duration_codes[B];if(F===void 0)return null;R||(R="n");let D=F.type[R];if(D===void 0){const G=Flow.keyProperties.customNoteHeads[R.toUpperCase()];if(G===void 0)return null;D={code_head:G.code,...G}}return{...F.common,...D}};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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v53",B).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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v1d",B).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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v81",B).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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",B).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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",B).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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",B).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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",B).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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",B).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(B=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",B).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(R,F){return Math.max(R,F)>this.CANVAS_BROWSER_SIZE_LIMIT&&(Vex.W("Canvas dimensions exceed browser limit. Cropping to "+this.CANVAS_BROWSER_SIZE_LIMIT),R>this.CANVAS_BROWSER_SIZE_LIMIT&&(R=this.CANVAS_BROWSER_SIZE_LIMIT),F>this.CANVAS_BROWSER_SIZE_LIMIT&&(F=this.CANVAS_BROWSER_SIZE_LIMIT)),[R,F]}constructor(R){this.vexFlowCanvasContext=R,R.canvas?this.canvas=R.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(R,F,D){return this.vexFlowCanvasContext.font=(D||"")+" "+F+"pt "+R,this}setRawFont(R){return this.vexFlowCanvasContext.font=R,this}setFillStyle(R){return this.vexFlowCanvasContext.fillStyle=R,this}setBackgroundFillStyle(R){return this.background_fillStyle=R,this}setStrokeStyle(R){return this.vexFlowCanvasContext.strokeStyle=R,this}setShadowColor(R){return this.vexFlowCanvasContext.shadowColor=R,this}setShadowBlur(R){return this.vexFlowCanvasContext.shadowBlur=R,this}setLineWidth(R){return this.vexFlowCanvasContext.lineWidth=R,this}setLineCap(R){return this.vexFlowCanvasContext.lineCap=R,this}setLineDash(R){return this.vexFlowCanvasContext.lineDash=R,this}scale(R,F){return this.vexFlowCanvasContext.scale(parseFloat(R),parseFloat(F))}resize(R,F){return[R,F]=this.SanitizeCanvasDims(parseInt(R,10),parseInt(F,10)),this.vexFlowCanvasContext.resize(R,F)}rect(R,F,D,G){return this.vexFlowCanvasContext.rect(R,F,D,G)}fillRect(R,F,D,G){return this.vexFlowCanvasContext.fillRect(R,F,D,G)}clearRect(R,F,D,G){return this.vexFlowCanvasContext.clearRect(R,F,D,G)}beginPath(){return this.vexFlowCanvasContext.beginPath()}moveTo(R,F){return this.vexFlowCanvasContext.moveTo(R,F)}lineTo(R,F){return this.vexFlowCanvasContext.lineTo(R,F)}bezierCurveTo(R,F,D,G,U,W){return this.vexFlowCanvasContext.bezierCurveTo(R,F,D,G,U,W)}quadraticCurveTo(R,F,D,G){return this.vexFlowCanvasContext.quadraticCurveTo(R,F,D,G)}arc(R,F,D,G,U,W){return this.vexFlowCanvasContext.arc(R,F,D,G,U,W)}glow(){return this.vexFlowCanvasContext.glow()}fill(){return this.vexFlowCanvasContext.fill()}stroke(){return this.vexFlowCanvasContext.stroke()}closePath(){return this.vexFlowCanvasContext.closePath()}measureText(R){return this.vexFlowCanvasContext.measureText(R)}fillText(R,F,D){return this.vexFlowCanvasContext.fillText(R,F,D)}save(){return this.vexFlowCanvasContext.save()}restore(){return this.vexFlowCanvasContext.restore()}}class RaphaelContext{constructor(R){this.element=R,this.paper=Raphael(R),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(R,F,D){return this.state.font_family=R,this.state.font_size=F,this.state.font_weight=D,this.attributes.font=(this.state.font_weight||"")+" "+this.state.font_size*this.state.scale.x+"pt "+this.state.font_family,this}setRawFont(R){return this.attributes.font=R,this}setFillStyle(R){return this.attributes.fill=R,this}setBackgroundFillStyle(R){return this.background_attributes.fill=R,this.background_attributes.stroke=R,this}setStrokeStyle(R){return this.attributes.stroke=R,this}setShadowColor(R){return this.shadow_attributes.color=R,this}setShadowBlur(R){return this.shadow_attributes.width=R,this}setLineWidth(R){this.attributes["stroke-width"]=R,this.lineWidth=R}setLineDash(){return this}setLineCap(){return this}scale(R,F){return this.state.scale={x:R,y:F},this.attributes.transform="S"+R+","+F+",0,0",this.attributes.scale=R+","+F+",0,0",this.attributes.font=this.state.font_size*this.state.scale.x+"pt "+this.state.font_family,this.background_attributes.transform="S"+R+","+F+",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(R,F){return this.element.style.width=R,this.paper.setSize(R,F),this}setViewBox(R){this.paper.canvas.setAttribute("viewBox",R)}rect(R,F,D,G){return G<0&&(F+=G,G=-G),this.paper.rect(R,F,D-.5,G-.5).attr(this.attributes).attr("fill","none").attr("stroke-width",this.lineWidth),this}fillRect(R,F,D,G){return G<0&&(F+=G,G=-G),this.paper.rect(R,F,D-.5,G-.5).attr(this.attributes),this}clearRect(R,F,D,G){return G<0&&(F+=G,G=-G),this.paper.rect(R,F,D-.5,G-.5).attr(this.background_attributes),this}beginPath(){return this.path="",this.pen.x=0,this.pen.y=0,this}moveTo(R,F){return this.path+="M"+R+","+F,this.pen.x=R,this.pen.y=F,this}lineTo(R,F){return this.path+="L"+R+","+F,this.pen.x=R,this.pen.y=F,this}bezierCurveTo(R,F,D,G,U,W){return this.path+="C"+R+","+F+","+D+","+G+","+U+","+W,this.pen.x=U,this.pen.y=W,this}quadraticCurveTo(R,F,D,G){return this.path+="Q"+R+","+F+","+D+","+G,this.pen.x=D,this.pen.y=G,this}arc(R,F,D,G,U,W){function q(Q){for(;Q<0;)Q+=Math.PI*2;for(;Q>Math.PI*2;)Q-=Math.PI*2;return Q}if(G=q(G),U=q(U),G>U){const Q=G;G=U,U=Q,W=!W}const Y=U-G;return Y>Math.PI?(this.arcHelper(R,F,D,G,G+Y/2,W),this.arcHelper(R,F,D,G+Y/2,U,W)):this.arcHelper(R,F,D,G,U,W),this}arcHelper(R,F,D,G,U,W){const q=R+D*Math.cos(G),Y=F+D*Math.sin(G),Q=R+D*Math.cos(U),Z=F+D*Math.sin(U);let K=0,J=0;W?(J=1,U-G<Math.PI&&(K=1)):U-G>Math.PI&&(K=1),this.path+="M"+q+","+Y+",A"+D+","+D+",0,"+K+","+J+","+Q+","+Z+"M"+this.pen.x+","+this.pen.y}glow(){const R=this.paper.set();if(this.shadow_attributes.width>0){const F=this.shadow_attributes,D=F.width/2;for(let G=1;G<=D;G++)R.push(this.paper.path(this.path).attr({stroke:F.color,"stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(F.width/D*G).toFixed(3),opacity:+((F.opacity||.3)/D).toFixed(3),transform:this.attributes.transform,scale:this.attributes.scale}))}return R}fill(){const R=this.paper.path(this.path).attr(this.attributes).attr("stroke-width",0);return this.glow(R),this}stroke(){const R=this.lineWidth*(this.state.scale.x+this.state.scale.y)/2,F=this.paper.path(this.path).attr(this.attributes).attr("fill","none").attr("stroke-width",R);return this.glow(F),this}closePath(){return this.path+="Z",this}measureText(R){const F=this.paper.text(0,0,R).attr(this.attributes).attr("fill","none").attr("stroke","none"),D=F.getBBox();return F.remove(),{width:D.width,height:D.height}}fillText(R,F,D){return this.paper.text(F+this.measureText(R).width/2,D-this.state.font_size/(2.25*this.state.scale.y),R).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 R=this.state_stack.pop();return this.state.font_family=R.state.font_family,this.attributes.font=R.attributes.font,this.attributes.fill=R.attributes.fill,this.attributes.stroke=R.attributes.stroke,this.attributes["stroke-width"]=R.attributes["stroke-width"],this.shadow_attributes.width=R.shadow_attributes.width,this.shadow_attributes.color=R.shadow_attributes.color,this}}const attrNamesToIgnoreMap={path:{x:!0,y:!0,width:!0,height:!0},rect:{},text:{width:!0,height:!0}};{const B={"font-family":!0,"font-weight":!0,"font-style":!0,"font-size":!0};Vex.Merge(attrNamesToIgnoreMap.rect,B),Vex.Merge(attrNamesToIgnoreMap.path,B)}class SVGContext{constructor(R){this.element=R,this.svgNS="http://www.w3.org/2000/svg";const F=this.create("svg");this.element.appendChild(F),this.svg=F,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(R){return document.createElementNS(this.svgNS,R)}openGroup(R,F,D){const G=this.create("g");return this.groups.push(G),this.parent.appendChild(G),this.parent=G,R&&G.setAttribute("class",Vex.Prefix(R)),F&&G.setAttribute("id",Vex.Prefix(F)),D&&D.pointerBBox&&G.setAttribute("pointer-events","bounding-box"),G}closeGroup(){this.groups.pop(),this.parent=this.groups[this.groups.length-1]}add(R){this.parent.appendChild(R)}iePolyfill(){typeof navigator!="undefined"&&(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(R,F,D){let G=!1,U=!1,W="normal";typeof D=="string"&&(D.indexOf("italic")!==-1&&(D=D.replace(/italic/g,""),U=!0),D.indexOf("bold")!==-1&&(D=D.replace(/bold/g,""),G=!0),D=D.replace(/ /g,"")),D=G?"bold":D,D=typeof D=="undefined"||D===""?"normal":D,W=U?"italic":W;const q={"font-family":R,"font-size":F+"pt","font-weight":D,"font-style":W};return this.fontSize=Number(F),Vex.Merge(this.attributes,q),Vex.Merge(this.state,q),this}setRawFont(R){R=R.trim();const F=R.split(" ");return this.attributes["font-family"]=F[1],this.state["font-family"]=F[1],this.attributes["font-size"]=F[0],this.state["font-size"]=F[0],this.fontSize=Number(F[0].match(/\d+/)),this}setFillStyle(R){return this.attributes.fill=R,this}setBackgroundFillStyle(R){return this.background_attributes.fill=R,this.background_attributes.stroke=R,this}setStrokeStyle(R){return this.attributes.stroke=R,this}setShadowColor(R){return this.shadow_attributes.color=R,this}setShadowBlur(R){return this.shadow_attributes.width=R,this}setLineWidth(R){this.attributes["stroke-width"]=R,this.lineWidth=R}setLineDash(R){if(Object.prototype.toString.call(R)==="[object Array]")return R=R.join(", "),this.attributes["stroke-dasharray"]=R,this;throw new Vex.RERR("ArgumentError","lineDash must be an array of integers.")}setLineCap(R){return this.attributes["stroke-linecap"]=R,this}resize(R,F){this.width=R,this.height=F,this.element.style.width=R;const D={width:R,height:F};return this.applyAttributes(this.svg,D),this.scale(this.state.scale.x,this.state.scale.y),this}scale(R,F){this.state.scale={x:R,y:F};const D=this.width/R,G=this.height/F;return this.setViewBox(0,0,D,G),this}setViewBox(...R){if(R.length===1){const[F]=R;this.svg.setAttribute("viewBox",F)}else{const[F,D,G,U]=R,W=F+" "+D+" "+G+" "+U;this.svg.setAttribute("viewBox",W)}}applyAttributes(R,F){const D=attrNamesToIgnoreMap[R.nodeName];return Object.keys(F).forEach(G=>{var U;D&&D[G]||!G||!F[G]||G==="d"&&((U=F[G])==null?void 0:U.indexOf("NaN"))>-1||R.setAttributeNS(null,G,F[G])}),R}clear(){for(;this.svg.lastChild;)this.svg.removeChild(this.svg.lastChild);this.scale(this.state.scale.x,this.state.scale.y)}rect(R,F,D,G,U){G<0&&(F+=G,G*=-1);const W=this.create("rect");return typeof U=="undefined"&&(U={fill:"none","stroke-width":this.lineWidth,stroke:"black"}),Vex.Merge(U,{x:R,y:F,width:D,height:G}),this.applyAttributes(W,U),this.add(W),this}fillRect(R,F,D,G){return G<0&&(F+=G,G*=-1),this.rect(R,F,D,G,this.attributes),this}clearRect(R,F,D,G){return this.rect(R,F,D,G,this.background_attributes),this}beginPath(){return this.path="",this.pen.x=NaN,this.pen.y=NaN,this}moveTo(R,F){return this.path+="M"+R+" "+F,this.pen.x=R,this.pen.y=F,this}lineTo(R,F){return this.path+="L"+R+" "+F,this.pen.x=R,this.pen.y=F,this}bezierCurveTo(R,F,D,G,U,W){return this.path+="C"+R+" "+F+","+D+" "+G+","+U+" "+W,this.pen.x=U,this.pen.y=W,this}quadraticCurveTo(R,F,D,G){return this.path+="Q"+R+" "+F+","+D+" "+G,this.pen.x=D,this.pen.y=G,this}arc(R,F,D,G,U,W){function q(Q){for(;Q<0;)Q+=Math.PI*2;for(;Q>Math.PI*2;)Q-=Math.PI*2;return Q}if(G=q(G),U=q(U),G>U){const Q=G;G=U,U=Q,W=!W}const Y=U-G;return Y>Math.PI?(this.arcHelper(R,F,D,G,G+Y/2,W),this.arcHelper(R,F,D,G+Y/2,U,W)):this.arcHelper(R,F,D,G,U,W),this}arcHelper(R,F,D,G,U,W){const q=R+D*Math.cos(G),Y=F+D*Math.sin(G),Q=R+D*Math.cos(U),Z=F+D*Math.sin(U);let K=0,J=0;W?(J=1,U-G<Math.PI&&(K=1)):U-G>Math.PI&&(K=1),this.path+="M"+q+" "+Y+" A"+D+" "+D+" 0 "+K+" "+J+" "+Q+" "+Z,!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 R=this.shadow_attributes,F=R.width/2;for(let D=1;D<=F;D++){const G={stroke:R.color,"stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(R.width*.4/F*D).toFixed(3),opacity:+((R.opacity||.3)/F).toFixed(3)},U=this.create("path");G.d=this.path,this.applyAttributes(U,G),this.add(U)}}return this}fill(R){this.glow();const F=this.create("path");let D=R;return typeof R=="undefined"?(R={},Vex.Merge(R,this.attributes),R.stroke="none",D=R):(D=R,Vex.Merge(D,this.attributes),R.class&&(D.class=R.class),R.id&&(D.id=R.id)),R.d=this.path,this.applyAttributes(F,R),this.add(F),this}stroke(R=void 0){this.glow();const F=this.create("path"),D={};return Vex.Merge(D,this.attributes),R&&Vex.Merge(D,R),D.fill="none",D["stroke-width"]=this.lineWidth,D.d=this.path,this.applyAttributes(F,D),this.add(F),this}measureText(R){const F=this.create("text");if(typeof F.getBBox!="function")return{x:0,y:0,width:0,height:0};F.textContent=R,this.applyAttributes(F,this.attributes),this.svg.appendChild(F);let D=F.getBBox();return this.ie&&R!==""&&this.attributes["font-style"]==="italic"&&(D=this.ieMeasureTextFix(D,R)),this.svg.removeChild(F),D}ieMeasureTextFix(R){const F=Number(this.fontSize),D=1.196,G=1.9598,U=D*F+G,W=R.width-U,q=R.height-1.5;return{x:R.x,y:R.y,width:W,height:q}}fillText(R,F,D){if(!R||R.length<=0)return;const G={};Vex.Merge(G,this.attributes),G.stroke="none",G.x=F,G.y=D;const U=this.create("text");U.textContent=R,this.applyAttributes(U,G),this.add(U)}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 R=this.state_stack.pop();return this.state["font-family"]=R.state["font-family"],this.state["font-weight"]=R.state["font-weight"],this.state["font-style"]=R.state["font-style"],this.state["font-size"]=R.state["font-size"],this.state.scale=R.state.scale,this.attributes["font-family"]=R.attributes["font-family"],this.attributes["font-weight"]=R.attributes["font-weight"],this.attributes["font-style"]=R.attributes["font-style"],this.attributes["font-size"]=R.attributes["font-size"],this.attributes.fill=R.attributes.fill,this.attributes.stroke=R.attributes.stroke,this.attributes["stroke-width"]=R.attributes["stroke-width"],this.attributes["stroke-dasharray"]=R.attributes["stroke-dasharray"],this.shadow_attributes.width=R.shadow_attributes.width,this.shadow_attributes.color=R.shadow_attributes.color,this.lineWidth=R.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(R){lastContext=R}static buildContext(R,F,D,G,U){const W=new Renderer(R,F);D&&G&&W.resize(D,G),U||(U="#FFF");const q=W.getContext();return q.setBackgroundFillStyle(U),Renderer.lastContext=q,q}static getCanvasContext(R,F,D,G){return Renderer.buildContext(R,Renderer.Backends.CANVAS,F,D,G)}static getRaphaelContext(R,F,D,G){return Renderer.buildContext(R,Renderer.Backends.RAPHAEL,F,D,G)}static getSVGContext(R,F,D,G){return Renderer.buildContext(R,Renderer.Backends.SVG,F,D,G)}static bolsterCanvasContext(R){if(Renderer.USE_CANVAS_PROXY)return new CanvasContext(R);const F=["clear","setFont","setRawFont","setFillStyle","setBackgroundFillStyle","setStrokeStyle","setShadowColor","setShadowBlur","setLineWidth","setLineCap","setLineDash","openGroup","closeGroup","getGroup"];return R.vexFlowCanvasContext=R,F.forEach(D=>{R[D]=R[D]||CanvasContext.prototype[D]}),R}static drawDashedLine(R,F,D,G,U,W){R.beginPath();const q=G-F,Y=U-D,Q=Math.atan2(Y,q);let Z=F,K=D;R.moveTo(F,D);let J=0,ie=!0;for(;!((q<0?Z<=G:Z>=G)&&(Y<0?K<=U:K>=U));){const ne=W[J++%W.length],se=Z+Math.cos(Q)*ne;Z=q<0?Math.max(G,se):Math.min(G,se);const re=K+Math.sin(Q)*ne;K=Y<0?Math.max(U,re):Math.min(U,re),ie?R.lineTo(Z,K):R.moveTo(Z,K),ie=!ie}R.closePath(),R.stroke()}constructor(R,F){if(this.elementId=R,!this.elementId)throw new Vex.RERR("BadArgument","Invalid id for renderer.");if(this.element=document.getElementById(R),this.element||(this.element=R),this.ctx=null,this.paper=null,this.backend=F,this.backend===Renderer.Backends.CANVAS){if(!this.element.getContext)throw new Vex.RERR("BadElement",`Can't get canvas context from element: ${R}`);this.ctx=Renderer.bolsterCanvasContext(this.element.getContext("2d"))}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(R,F){if(this.backend===Renderer.Backends.CANVAS){if(!this.element.getContext)throw new Vex.RERR("BadElement",`Can't get canvas context from element: ${this.elementId}`);[R,F]=CanvasContext.SanitizeCanvasDims(R,F);const D=window.devicePixelRatio||1;this.element.width=R*D,this.element.height=F*D,this.element.style.width=R+"px",this.element.style.height=F+"px",this.ctx=Renderer.bolsterCanvasContext(this.element.getContext("2d")),this.ctx.scale(D,D)}else this.ctx.resize(R,F);return this}getContext(){return this.ctx}}function L$j(...B){Stem.DEBUG&&Vex.L("Vex.Flow.Stem",B)}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(R={}){super(),this.setAttribute("type","Stem"),this.x_begin=R.x_begin||0,this.x_end=R.x_end||0,this.y_top=R.y_top||0,this.y_bottom=R.y_bottom||0,this.stem_extension=R.stem_extension||0,this.stem_direction=R.stem_direction||0,this.hide=R.hide||!1,this.isStemlet=R.isStemlet||!1,this.stemletHeight=R.stemletHeight||0,this.resetHeight=0,this.renderHeightAdjustment=0,this.setOptions(R)}setResetHeight(R){this.resetHeight=R}setOptions(R){this.stem_up_y_offset=R.stem_up_y_offset||0,this.stem_down_y_offset=R.stem_down_y_offset||0}setNoteHeadXBounds(R,F){return this.x_begin=R,this.x_end=F,this}setDirection(R){this.stem_direction=R}setExtension(R){this.stem_extension=R}getExtension(){return this.stem_extension}setYBounds(R,F){this.y_top=R,this.y_bottom=F}getCategory(){return Stem.CATEGORY}getHeight(){const R=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-R+this.stem_extension)*this.stem_direction}getBoundingBox(){throw new Vex.RERR("NotImplemented","getBoundingBox() not implemented.")}getExtents(){const R=this.stem_direction===Stem.UP,F=[this.y_top,this.y_bottom],D=Stem.HEIGHT+this.stem_extension,G=(R?Math.min:Math.max)(...F),U=(R?Math.max:Math.min)(...F);return{topY:G+D*-this.stem_direction+this.resetHeight*-this.stem_direction,baseY:U}}setVisibility(R){return this.hide=!R,this}setStemlet(R,F){return this.isStemlet=R,this.stemletHeight=F,this}draw(){if(this.setRendered(),this.hide)return;const R=this.checkContext();let F,D;const G=this.stem_direction;G===Stem.DOWN?(F=this.x_begin,D=this.y_top+this.stem_down_y_offset):(F=this.x_end,D=this.y_bottom-this.stem_up_y_offset);const U=this.getHeight();L$j("Rendering stem - ","Top Y: ",this.y_top,"Bottom Y: ",this.y_bottom);const W=this.isStemlet?U-this.stemletHeight*this.stem_direction:0;if(R.save(),this.applyStyle(R),R.beginPath(),R.setLineWidth(Stem.WIDTH),R.moveTo(F,D-W),R.lineTo(F,D-U-this.renderHeightAdjustment*G-this.resetHeight*G),R.svg){const q={class:Vex.Prefix("stem")};this.id&&(q.id=this.id),R.stroke(q)}else R.stroke();this.restoreStyle(R),R.restore()}}class Tuplet$1 extends Element$1{static get LOCATION_TOP(){return 1}static get LOCATION_BOTTOM(){return-1}static get NESTING_OFFSET(){return 15}constructor(R,F){if(super(),this.setAttribute("type","Tuplet"),!R||!R.length)throw new Vex.RuntimeError("BadArguments","No notes provided for tuplet.");this.options=Vex.Merge({},F),this.notes=R,this.num_notes="num_notes"in this.options?this.options.num_notes:R.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=R.some(D=>D.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||Tuplet$1.LOCATION_TOP,Formatter.AlignRestsToNotes(R,!0,!0),this.resolveGlyphs(),this.attach()}attach(){for(let R=0;R<this.notes.length;R++)this.notes[R].setTuplet(this)}detach(){for(let R=0;R<this.notes.length;R++)this.notes[R].resetTuplet(this)}setBracketed(R){return this.bracketed=!!R,this}setRatioed(R){return this.ratioed=!!R,this}setTupletLocation(R){if(!R)R=Tuplet$1.LOCATION_TOP;else if(R!==Tuplet$1.LOCATION_TOP&&R!==Tuplet$1.LOCATION_BOTTOM)throw new Vex.RERR("BadArgument","Invalid tuplet location: "+R);return this.location=R,this}getNotes(){return this.notes}getNoteCount(){return this.num_notes}beatsOccupiedDeprecationWarning(){const R=["beats_occupied has been deprecated as an ","option for tuplets. Please use notes_occupied ","instead. Calls to getBeatsOccupied and ","setBeatsOccupied should now be routed to ","getNotesOccupied and setNotesOccupied instead"].join("");console&&console.warn?console.warn(R):console&&console.log(R)}getBeatsOccupied(){return this.beatsOccupiedDeprecationWarning(),this.getNotesOccupied()}setBeatsOccupied(R){return this.beatsOccupiedDeprecationWarning(),this.setNotesOccupied(R)}getNotesOccupied(){return this.notes_occupied}setNotesOccupied(R){this.detach(),this.notes_occupied=R,this.resolveGlyphs(),this.attach()}resolveGlyphs(){this.numerator_glyphs=[];let R=this.num_notes;for(;R>=1;)this.numerator_glyphs.unshift(new Glyph("v"+R%10,this.point)),R=parseInt(R/10,10);for(this.denom_glyphs=[],R=this.notes_occupied;R>=1;)this.denom_glyphs.unshift(new Glyph("v"+R%10,this.point)),R=parseInt(R/10,10)}getNestedTupletCount(){const R=this.location,F=this.notes[0];let D=U(F,R),G=U(F,R);function U(W,q){return W.tupletStack.filter(Y=>Y.location===q).length}return this.notes.forEach(W=>{const q=U(W,R);D=q>D?q:D,G=q<G?q:G}),D-G}getYPosition(){const R=this.getNestedTupletCount()*Tuplet$1.NESTING_OFFSET*-this.location,F=this.options.y_offset||0,D=this.notes[0];let G;if(this.location===Tuplet$1.LOCATION_TOP){G=D.getStave().getYForLine(0)-15;for(let U=0;U<this.notes.length;++U){const W=this.notes[U].getStemDirection()===Stem.UP?this.notes[U].getStemExtents().topY-10:this.notes[U].getStemExtents().baseY-20;W<G&&(G=W)}}else{G=D.getStave().getYForLine(4)+20;for(let U=0;U<this.notes.length;++U){const W=this.notes[U].getStemDirection()===Stem.UP?this.notes[U].getStemExtents().baseY+20:this.notes[U].getStemExtents().topY+10;W>G&&(G=W)}}return G+R+F}draw(){this.checkContext(),this.setRendered();const R=this.notes[0],F=this.notes[this.notes.length-1];this.bracketed?(this.x_pos=R.getTieLeftX()-5,this.width=F.getTieRightX()-this.x_pos+5):(this.x_pos=R.getStemX(),this.width=F.getStemX()-this.x_pos),this.y_pos=this.getYPosition();const D=(Y,Q)=>Y+Q.getMetrics().width;let G=this.numerator_glyphs.reduce(D,0);this.ratioed&&(G=this.denom_glyphs.reduce(D,G),G+=this.point*.32);const W=this.x_pos+this.width/2-G/2;if(this.bracketed){const Y=this.width/2-G/2-5;Y>0&&(this.context.fillRect(this.x_pos,this.y_pos,Y,1),this.context.fillRect(this.x_pos+this.width/2+G/2+5,this.y_pos,Y,1),this.context.fillRect(this.x_pos,this.y_pos+(this.location===Tuplet$1.LOCATION_BOTTOM),1,this.location*10),this.context.fillRect(this.x_pos+this.width,this.y_pos+(this.location===Tuplet$1.LOCATION_BOTTOM),1,this.location*10))}let q=0;if(this.numerator_glyphs.forEach(Y=>{Y.render(this.context,W+q,this.y_pos+this.point/3-2),q+=Y.getMetrics().width}),this.ratioed){const Y=W+q+this.point*.16,Q=this.point*.06;this.context.beginPath(),this.context.arc(Y,this.y_pos-this.point*.08,Q,0,Math.PI*2,!0),this.context.closePath(),this.context.fill(),this.context.beginPath(),this.context.arc(Y,this.y_pos+this.point*.12,Q,0,Math.PI*2,!0),this.context.closePath(),this.context.fill(),q+=this.point*.32,this.denom_glyphs.forEach(Z=>{Z.render(this.context,W+q,this.y_pos+this.point/3-2),q+=Z.getMetrics().width})}}}function calculateStemDirection(B){let R=0;return B.forEach(F=>{F.keyProps&&F.keyProps.forEach(D=>{R+=D.line-3})}),R>=0?Stem.DOWN:Stem.UP}const getStemSlope=(B,R)=>{const F=B.getStemExtents().topY,D=B.getStemX(),G=R.getStemExtents().topY,U=R.getStemX();return(G-F)/(U-D)},BEAM_LEFT="L",BEAM_RIGHT="R",BEAM_BOTH="B";class Beam$1 extends Element$1{static getDefaultBeamGroups(R){(!R||R==="c")&&(R="4/4");const D={"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"]}[R];if(D===void 0){const G=parseInt(R.split("/")[0],10),U=parseInt(R.split("/")[1],10);if(G%3===0)return[new Fraction(3,U)];if(U>4)return[new Fraction(2,U)];if(U<=4)return[new Fraction(1,U)]}else return D.map(G=>new Fraction().parse(G));return[new Fraction(1,4)]}static applyAndGetBeams(R,F,D){return Beam$1.generateBeams(R.getTickables(),{groups:D,stem_direction:F})}static generateBeams(R,F){F||(F={}),(!F.groups||!F.groups.length)&&(F.groups=[new Fraction(2,8)]);const D=F.groups.map(he=>{if(!he.multiply)throw new Vex.RuntimeError("InvalidBeamGroups","The beam groups must be an array of Vex.Flow.Fractions");return he.clone().multiply(Flow.RESOLUTION,1)}),G=R;let U=0,W=[],q=[];function Y(he){return he.reduce((de,me)=>me.getTicks().clone().add(de),new Fraction(0,1))}function Q(){D.length-1>U?U+=1:U=0}function Z(){let he=[];G.forEach(de=>{if(he=[],de.shouldIgnoreTicks()){W.push(q),q=he;return}q.push(de);const me=D[U].clone(),fe=Y(q),ge=Flow.durationToNumber(de.duration)<8;ge&&de.tuplet&&(me.numerator*=2),fe.greaterThan(me)?(ge||he.push(q.pop()),W.push(q),q=he,Q()):fe.equals(me)&&(W.push(q),q=he,Q())}),q.length>0&&W.push(q)}function K(){return W.filter(he=>{if(he.length>1){let de=!0;return he.forEach(me=>{me.getIntrinsicTicks()>=Flow.durationToTicks("4")&&(de=!1)}),de}return!1})}function J(){const he=[];W.forEach(de=>{let me=[];de.forEach((fe,ge,Se)=>{const Ee=ge===0||ge===Se.length-1,ve=Se[ge-1],xe=!F.beam_rests&&fe.isRest(),Pe=F.beam_rests&&F.beam_middle_only&&fe.isRest()&&Ee;let ye=!1;if(F.maintain_stem_directions&&ve&&!fe.isRest()&&!ve.isRest()){const we=ve.getStemDirection();ye=fe.getStemDirection()!==we}const Te=parseInt(fe.duration,10)<8;xe||Pe||ye||Te?(me.length>0&&he.push(me),me=ye?[fe]:[]):me.push(fe)}),me.length>0&&he.push(me)}),W=he}function ie(){W.forEach(he=>{let de;if(F.maintain_stem_directions){const me=ne(he);de=me?me.getStemDirection():Stem.UP}else F.stem_direction?de=F.stem_direction:de=calculateStemDirection(he);se(he,de)})}function ne(he){for(let de=0;de<he.length;de++){const me=he[de];if(!me.isRest())return me}return!1}function se(he,de){he.forEach(me=>{me.setStemDirection(de)})}function re(){const he=[];return W.forEach(de=>{let me=null;de.forEach(fe=>{fe.tuplet&&me!==fe.tuplet&&(me=fe.tuplet,he.push(me))})}),he}Z(),J(),ie();const ae=K(),le=re(),ce=[];return ae.forEach(he=>{const de=new Beam$1(he);F.show_stemlets&&(de.render_options.show_stemlets=!0),F.secondary_breaks&&(de.render_options.secondary_break_ticks=Flow.durationToTicks(F.secondary_breaks)),F.flat_beams===!0&&(de.render_options.flat_beams=!0,de.render_options.flat_beam_offset=F.flat_beam_offset),ce.push(de)}),le.forEach(he=>{const de=he.notes[0].stem_direction===Stem.DOWN?Tuplet$1.LOCATION_BOTTOM:Tuplet$1.LOCATION_TOP;he.setTupletLocation(de);let me=!1;for(let fe=0;fe<he.notes.length;fe++)if(he.notes[fe].beam===null){me=!0;break}he.setBracketed(me)}),ce}constructor(R,F){if(super(),this.setAttribute("type","Beam"),!R||R===[])throw new Vex.RuntimeError("BadArguments","No notes provided for beam.");if(R.length===1)throw new Vex.RuntimeError("BadArguments","Too few notes for beam.");if(this.ticks=R[0].getIntrinsicTicks(),this.ticks>=Flow.durationToTicks("4"))throw new Vex.RuntimeError("BadArguments","Beams can only be applied to notes shorter than a quarter note.");let D,G;for(this.stem_direction=Stem.UP,D=0;D<R.length;++D)if(G=R[D],G.hasStem()){this.stem_direction=G.getStemDirection();break}let U=this.stem_direction;for(F&&R[0].getCategory()==="stavenotes"?U=calculateStemDirection(R):F&&R[0].getCategory()==="tabnotes"&&(U=R.reduce((q,Y)=>q+Y.stem_direction,0)>-1?Stem.UP:Stem.DOWN),D=0;D<R.length;++D)G=R[D],F&&(G.setStemDirection(U),this.stem_direction=U),G.setBeam(this);this.postFormatted=!1,this.notes=R,this.beam_count=this.getBeamCount(),this.break_on_indices=[],this.render_options={beam_width:5,max_slope:.25,min_slope:-.25,slope_iterations:20,slope_cost:100,show_stemlets:!1,stemlet_extension:7,partial_beam_length:10,flat_beams:!1,min_flat_beam_offset:15}}getNotes(){return this.notes}getBeamCount(){return this.notes.map(D=>D.getGlyph().beam_count).reduce((D,G)=>G>D?G:D)}breakSecondaryAt(R){return this.break_on_indices=R,this}getSlopeY(R,F,D,G){return D+(R-F)*G}calculateSlope(){const{notes:R,stem_direction:F,render_options:{max_slope:D,min_slope:G,slope_iterations:U,slope_cost:W}}=this,q=R[0],Y=getStemSlope(q,R[R.length-1]),Q=(D-G)/U;let Z=Number.MAX_VALUE,K=0,J=0;for(let ie=G;ie<=D;ie+=Q){let ne=0,se=0;for(let ce=1;ce<R.length;++ce){const he=R[ce],de=this.getSlopeY(he.getStemX(),q.getStemX(),q.getStemExtents().topY,ie)+se,me=he.getStemExtents().topY;if(me*F<de*F){const fe=Math.abs(me-de);se+=fe*-F,ne+=fe*ce}else ne+=(me-de)*F}const re=Y/2,ae=Math.abs(re-ie),le=W*ae+Math.abs(ne);le<Z&&(Z=le,K=ie,J=se)}this.slope=K,this.y_shift=J}calculateFlatSlope(){const{notes:R,stem_direction:F,render_options:{beam_width:D,min_flat_beam_offset:G,flat_beam_offset:U}}=this;let W=0,q=0,Y=0,Q=0;for(let ne=0;ne<R.length;ne++){const se=R[ne],re=se.getStemExtents().topY;W+=re,F===Stem.DOWN&&Q<re?(Q=re,q=Math.max(...se.getYs()),Y=se.getBeamCount()):F===Stem.UP&&(Q===0||Q>re)&&(Q=re,q=Math.min(...se.getYs()),Y=se.getBeamCount())}let Z=W/R.length;const K=D*1.5,J=G+Y*K,ie=q+J*-F;F===Stem.DOWN&&Z<ie?Z=q+J:F===Stem.UP&&Z>ie&&(Z=q-J),U+this.render_options.flat_beam_offset_per_beam>0?F===Stem.DOWN&&Z>U&&!this.render_options.flat_beams?this.render_options.flat_beam_offset=Z:F===Stem.UP&&Z<U&&!this.render_options.flat_beams&&(this.render_options.flat_beam_offset=Z):this.render_options.flat_beam_offset=Z,this.slope=0,this.y_shift=0}getBeamYToDraw(){let D=this.notes[0].getStemExtents().topY;if(this.render_options.flat_beams&&this.render_options.flat_beam_offset+this.render_options.flat_beam_offset_per_beam>0){let G=this.render_options.flat_beam_offset;this.render_options.flat_beam_offset_per_beam&&(G+=this.render_options.flat_beam_offset_per_beam*this.getBeamCount());let U=this.notes[0].note_heads[0].y;const W=this.stem_direction>0?Math.min:Math.max;for(const q of this.notes)for(const Y of q.note_heads)U=W(U,Y.y);D=U+G*-this.stem_direction}return D}applyStemExtensions(){const{notes:R,slope:F,y_shift:D,stem_direction:G,beam_count:U,render_options:{show_stemlets:W,stemlet_extension:q,beam_width:Y}}=this,Q=R[0],Z=this.getBeamYToDraw(),K=Q.getStemX();for(let J=0;J<R.length;++J){const ie=R[J],ne=ie.getStemX(),{topY:se}=ie.getStemExtents(),re=this.getSlopeY(ne,K,Z,F)+D,ae=ie.getStem().getExtension(),le=G===Stem.UP?se-re:re-se;if(ie.stem.setExtension(ae+le),ie.stem.renderHeightAdjustment=-Stem.WIDTH/2,ie.isRest()&&W){const ce=Y,he=(U-1)*ce*1.5+ce;ie.stem.setVisibility(!0).setStemlet(!0,he+q)}}}lookupBeamDirection(R,F,D,G){if(R==="4")return BEAM_LEFT;const U=`${Flow.durationToNumber(R)/2}`,W=F<Flow.durationToTicks(U),q=G<Flow.durationToTicks(U),Y=D<Flow.durationToTicks(U);return W&&q&&Y?BEAM_BOTH:W&&!q&&Y?BEAM_LEFT:!W&&q&&Y?BEAM_RIGHT:this.lookupBeamDirection(U,F,D,G)}getBeamLines(R){const F=Flow.durationToTicks(R),D=[];let G=!1,U=null;const W=this.render_options.partial_beam_length;let q=!1,Y=0;for(let Z=0;Z<this.notes.length;++Z){const K=this.notes[Z];Y+=K.ticks.value();let ie=!1;parseInt(R,10)>=8&&(ie=this.break_on_indices.indexOf(Z)!==-1,this.render_options.secondary_break_ticks&&Y>=this.render_options.secondary_break_ticks&&(Y=0,ie=!0));const ne=K.getIntrinsicTicks()<F,se=K.getStemX()-Stem.WIDTH/2,re=this.notes[Z-1],ae=this.notes[Z+1],le=ae&&ae.getIntrinsicTicks()<F,ce=re&&re.getIntrinsicTicks()<F,he=re&&ae&&ne&&!ce&&!le;if(ne)if(G)U=D[D.length-1],U.end=se,ie&&(G=!1,ae&&!le&&U.end===null&&(U.end=U.start-W));else{if(U={start:se,end:null,start_note:K},G=!0,he){const de=re.getIntrinsicTicks(),me=ae.getIntrinsicTicks(),fe=K.getIntrinsicTicks(),ge=this.lookupBeamDirection(R,de,fe,me);[BEAM_LEFT,BEAM_BOTH].includes(ge)?U.end=U.start-W:U.end=U.start+W}else le?ie&&(U.end=U.start-W,G=!1):(q||Z===0)&&ae?U.end=U.start+W:U.end=U.start-W;D.push(U)}else G=!1;q=ie}const Q=D[D.length-1];return Q&&Q.end===null&&(Q.end=Q.start-W),D}drawStems(){this.notes.forEach(R=>{R.getStem()&&(this.context.openGroup("stem",R.getAttribute("id")+"-stem"),R.getStem().setContext(this.context).draw(),this.context.closeGroup())},this)}drawBeamLines(){this.checkContext();const R=["4","8","16","32","64"],F=this.notes[0];let D=this.getBeamYToDraw();const G=F.getStemX(),U=this.render_options.beam_width*this.stem_direction,W={};for(const q of this.notes)W[q.getAttribute("id")]=0;for(let q=0;q<R.length;++q){const Y=R[q],Q=this.getBeamLines(Y);for(let Z=0;Z<Q.length;++Z){const K=Q[Z],J=K.start,ie=K.start_note.getAttribute("id"),ne=W[ie];W[ie]++;const se=this.getSlopeY(J,G,D,this.slope),re=K.end,ae=this.getSlopeY(re,G,D,this.slope),le=ie;this.context.openGroup("beam",`${le}-beam${ne}`),this.context.beginPath(),this.context.moveTo(J,se),this.context.lineTo(J,se+U),this.context.lineTo(re+1,ae+U),this.context.lineTo(re+1,ae),this.context.closePath(),this.context.fill(),this.context.closeGroup()}D+=U*1.5}}preFormat(){return this}postFormat(){this.postFormatted||(this.notes[0].getCategory()==="tabnotes"||this.render_options.flat_beams?this.calculateFlatSlope():this.calculateSlope(),this.applyStemExtensions(),this.postFormatted=!0)}draw(){this.checkContext(),this.setRendered(),!this.unbeamable&&(this.postFormatted||this.postFormat(),this.drawStems(),this.applyStyle(),this.drawBeamLines(),this.restoreStyle())}}class Voice$1 extends Element$1{static get Mode(){return{STRICT:1,SOFT:2,FULL:3}}constructor(R){if(super(),this.setAttribute("type","Voice"),typeof R=="string"){const F=R.match(/(\d+)\/(\d+)/);F&&(R={num_beats:F[1],beat_value:F[2],resolution:Flow.RESOLUTION})}this.time=Vex.Merge({num_beats:4,beat_value:4,resolution:Flow.RESOLUTION},R),this.totalTicks=new Fraction(this.time.num_beats*(this.time.resolution/this.time.beat_value),1),this.resolutionMultiplier=1,this.tickables=[],this.ticksUsed=new Fraction(0,1),this.smallestTickCount=this.totalTicks.clone(),this.largestTickWidth=0,this.stave=null,this.mode=Voice$1.Mode.STRICT,this.voiceGroup=null}getTotalTicks(){return this.totalTicks}getTicksUsed(){return this.ticksUsed}getLargestTickWidth(){return this.largestTickWidth}getSmallestTickCount(){return this.smallestTickCount}getTickables(){return this.tickables}getMode(){return this.mode}setMode(R){return this.mode=R,this}getResolutionMultiplier(){return this.resolutionMultiplier}getActualResolution(){return this.resolutionMultiplier*this.time.resolution}setStave(R){return this.stave=R,this.boundingBox=null,this}getBoundingBox(){let R,F,D,G;if(!this.boundingBox){if(!this.stave)throw new Vex.RERR("NoStave","Can't get bounding box without stave.");for(R=this.stave,F=null,G=0;G<this.tickables.length;++G)this.tickables[G].setStave(R),D=this.tickables[G].getBoundingBox(),D&&(F=F?F.mergeWith(D):D);this.boundingBox=F}return this.boundingBox}getVoiceGroup(){if(!this.voiceGroup)throw new Vex.RERR("NoVoiceGroup","No voice group for voice.");return this.voiceGroup}setVoiceGroup(R){return this.voiceGroup=R,this}setStrict(R){return this.mode=R?Voice$1.Mode.STRICT:Voice$1.Mode.SOFT,this}isComplete(){return this.mode===Voice$1.Mode.STRICT||this.mode===Voice$1.Mode.FULL?this.ticksUsed.equals(this.totalTicks):!0}addTickable(R){if(!R.shouldIgnoreTicks()){const F=R.getTicks();if(this.ticksUsed.add(F),(this.mode===Voice$1.Mode.STRICT||this.mode===Voice$1.Mode.FULL)&&this.ticksUsed.greaterThan(this.totalTicks))throw this.ticksUsed.subtract(F),new Vex.RERR("BadArgument","Too many ticks.");F.lessThan(this.smallestTickCount)&&(this.smallestTickCount=F.clone()),this.resolutionMultiplier=this.ticksUsed.denominator,this.totalTicks.add(0,this.ticksUsed.denominator)}return this.tickables.push(R),R.setVoice(this),this}addTickables(R){for(let F=0;F<R.length;++F)this.addTickable(R[F]);return this}preFormat(){return this.preFormatted?this:(this.tickables.forEach(R=>{R.getStave()||R.setStave(this.stave)}),this.preFormatted=!0,this)}draw(R=this.context,F=this.stave){this.setRendered();let D=null;for(let G=0;G<this.tickables.length;++G){const U=this.tickables[G];if(F&&U.setStave(F),!U.getStave())throw new Vex.RuntimeError("MissingStave","The voice cannot draw tickables without staves.");if(G===0&&(D=U.getBoundingBox()),G>0&&D){const W=U.getBoundingBox();W&&D.mergeWith(W)}U.setContext(R),U.drawWithStyle()}this.boundingBox=D}}function drawBoldDoubleLine(B,R,F,D,G){if(R!==StaveConnector.type.BOLD_DOUBLE_LEFT&&R!==StaveConnector.type.BOLD_DOUBLE_RIGHT)throw new Vex.RERR("InvalidConnector","A REPEAT_BEGIN or REPEAT_END type must be provided.");let U=3,W=3.5;const q=2;R===StaveConnector.type.BOLD_DOUBLE_RIGHT&&(U=-5,W=3),B.fillRect(F+U,D,1,G-D),B.fillRect(F-q,D,W,G-D)}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(R,F){super(),this.setAttribute("type","StaveConnector"),this.thickness=Flow.STAVE_LINE_THICKNESS,this.width=3,this.top_stave=R,this.bottom_stave=F,this.type=StaveConnector.type.DOUBLE,this.font={family:"times",size:16,weight:"normal"},this.x_shift=0,this.texts=[]}setType(R){return R=typeof R=="string"?StaveConnector.typeString[R]:R,R>=StaveConnector.type.SINGLE_RIGHT&&R<=StaveConnector.type.NONE&&(this.type=R),this}setText(R,F){return this.texts.push({content:R,options:Vex.Merge({shift_x:0,shift_y:0},F)}),this}setFont(R){Vex.Merge(this.font,R)}setXShift(R){if(typeof R!="number")throw Vex.RERR("InvalidType","x_shift must be a Number");return this.x_shift=R,this}draw(){const R=this.checkContext();this.setRendered();let F=this.top_stave.getYForLine(0),D=this.bottom_stave.getYForLine(this.bottom_stave.getNumLines()-1)+this.thickness,G=this.width,U=this.top_stave.getX();(this.type===StaveConnector.type.SINGLE_RIGHT||this.type===StaveConnector.type.BOLD_DOUBLE_RIGHT||this.type===StaveConnector.type.THIN_DOUBLE)&&(U=this.top_stave.getX()+this.top_stave.width);let q=D-F;switch(this.type){case StaveConnector.type.SINGLE:G=1;break;case StaveConnector.type.SINGLE_LEFT:G=1;break;case StaveConnector.type.SINGLE_RIGHT:G=1;break;case StaveConnector.type.DOUBLE:U-=this.width+2;break;case StaveConnector.type.BRACE:{G=12;const Y=this.top_stave.getX()-2+this.x_shift,Q=F,Z=Y,K=D,J=Y-G,ie=Q+q/2,ne=J-.9*G,se=Q+.2*q,re=Y+1.1*G,ae=ie-.135*q,le=re,ce=ie+.135*q,he=ne,de=K-.2*q,me=J-G,fe=de,ge=Y+.4*G,Se=ie+.135*q,Ee=ge,ve=ie-.135*q,xe=me,Pe=se;R.beginPath(),R.moveTo(Y,Q),R.bezierCurveTo(ne,se,re,ae,J,ie),R.bezierCurveTo(le,ce,he,de,Z,K),R.bezierCurveTo(me,fe,ge,Se,J,ie),R.bezierCurveTo(Ee,ve,xe,Pe,Y,Q),R.fill(),R.stroke();break}case StaveConnector.type.BRACKET:F-=4,D+=4,q=D-F,Glyph.renderGlyph(R,U-5,F-3,40,"v1b",!0),Glyph.renderGlyph(R,U-5,D+3,40,"v10",!0),U-=this.width+2;break;case StaveConnector.type.BOLD_DOUBLE_LEFT:drawBoldDoubleLine(R,this.type,U+this.x_shift,F,D);break;case StaveConnector.type.BOLD_DOUBLE_RIGHT:drawBoldDoubleLine(R,this.type,U,F,D);break;case StaveConnector.type.THIN_DOUBLE:G=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&&R.fillRect(U,F,G,q),this.type===StaveConnector.type.THIN_DOUBLE&&R.fillRect(U-3,F,G,q),R.save(),R.lineWidth=2,R.setFont(this.font.family,this.font.size,this.font.weight);for(let Y=0;Y<this.texts.length;Y++){const Q=this.texts[Y],Z=R.measureText(""+Q.content).width,K=this.top_stave.getX()-Z-24+Q.options.shift_x,J=(this.top_stave.getYForLine(0)+this.bottom_stave.getBottomLineY())/2+Q.options.shift_y;R.fillText(""+Q.content,K,J+4)}R.restore()}}class Tickable extends Element$1{constructor(){super(),this.setAttribute("type","Tickable"),this.ticks=new Fraction(0,1),this.intrinsicTicks=0,this.tickMultiplier=new Fraction(1,1),this.width=0,this.x_shift=0,this.voice=null,this.tickContext=null,this.modifierContext=null,this.modifiers=[],this.preFormatted=!1,this.postFormatted=!1,this.tuplet=null,this.tupletStack=[],this.align_center=!1,this.center_x_shift=0,this.ignore_ticks=!1,this.formatterMetrics={freedom:{left:0,right:0},duration:"",iterations:0,space:{used:0,mean:0,deviation:0}}}reset(){return this}getTicks(){return this.ticks}shouldIgnoreTicks(){return this.ignore_ticks}getWidth(){return this.width}getFormatterMetrics(){return this.formatterMetrics}setXShift(R){this.x_shift=R}getCenterXShift(){return this.isCenterAligned()?this.center_x_shift:0}isCenterAligned(){return this.align_center}setCenterAlignment(R){return this.align_center=R,this}getVoice(){if(!this.voice)throw new Vex.RERR("NoVoice","Tickable has no voice.");return this.voice}setVoice(R){this.voice=R}getTuplet(){return this.tuplet}resetTuplet(R){let F,D;if(R){const G=this.tupletStack.indexOf(R);return G!==-1&&(this.tupletStack.splice(G,1),F=R.getNoteCount(),D=R.getNotesOccupied(),this.applyTickMultiplier(F,D)),this}for(;this.tupletStack.length;)R=this.tupletStack.pop(),F=R.getNoteCount(),D=R.getNotesOccupied(),this.applyTickMultiplier(F,D);return this}setTuplet(R){if(R){this.tupletStack.push(R);const F=R.getNoteCount(),D=R.getNotesOccupied();this.applyTickMultiplier(D,F)}return this.tuplet=R,this}addToModifierContext(R){this.modifierContext=R,this.preFormatted=!1}addModifier(R){return this.modifiers.push(R),this.preFormatted=!1,this}getModifiers(){return this.modifiers}setTickContext(R){this.tickContext=R,this.preFormatted=!1}preFormat(){this.preFormatted||(this.width=0,this.modifierContext&&(this.modifierContext.preFormat(),this.width+=this.modifierContext.getWidth()))}postFormat(){return this.postFormatted?this:(this.postFormatted=!0,this)}getIntrinsicTicks(){return this.intrinsicTicks}setIntrinsicTicks(R){this.intrinsicTicks=R,this.ticks=this.tickMultiplier.clone().multiply(this.intrinsicTicks)}getTickMultiplier(){return this.tickMultiplier}applyTickMultiplier(R,F){this.tickMultiplier.multiply(R,F),this.ticks=this.tickMultiplier.clone().multiply(this.intrinsicTicks)}setDuration(R){const F=R.numerator*(Flow.RESOLUTION/R.denominator);this.ticks=this.tickMultiplier.clone().multiply(F),this.intrinsicTicks=this.ticks.value()}}class Note extends Tickable{static get CATEGORY(){return"note"}static get STAVEPADDING(){return 12}static plotMetrics(R,F,D){const G=F.getMetrics(),U=F.getAbsoluteX()-G.modLeftPx-G.extraLeftPx,W=F.getAbsoluteX()-G.extraLeftPx,q=F.getAbsoluteX(),Y=F.getAbsoluteX()+G.noteWidth,Q=F.getAbsoluteX()+G.noteWidth+G.extraRightPx,Z=F.getAbsoluteX()+G.noteWidth+G.extraRightPx+G.modRightPx,K=Z+F.getFormatterMetrics().freedom.right,J=Z-U;R.save(),R.setFont("Arial",8,""),R.fillText(Math.round(J)+"px",U+F.getXShift(),D);const ie=D+7;function ne(re,ae,le,ce=ie){R.beginPath(),R.setStrokeStyle(le),R.setFillStyle(le),R.setLineWidth(3),R.moveTo(re+F.getXShift(),ce),R.lineTo(ae+F.getXShift(),ce),R.stroke()}ne(U,W,"red"),ne(W,q,"#999"),ne(q,Y,"green"),ne(Y,Q,"#999"),ne(Q,Z,"red"),ne(Z,K,"#DD0"),ne(U-F.getXShift(),U,"#BBB"),Vex.drawDot(R,q+F.getXShift(),ie,"blue");const se=F.getFormatterMetrics();if(se.iterations>0){const re=se.space.deviation,ae=re>=0?"+":"";R.setFillStyle("red"),R.fillText(ae+Math.round(re),q+F.getXShift(),D-10)}R.restore()}constructor(R){if(super(),this.setAttribute("type","Note"),!R)throw new Vex.RuntimeError("BadArguments","Note must have valid initialization data to identify duration and type.");const F=Flow.parseNoteStruct(R);if(!F)throw new Vex.RuntimeError("BadArguments",`Invalid note initialization object: ${JSON.stringify(R)}`);if(this.duration=F.duration,this.dots=F.dots,this.noteType=F.type,this.customTypes=F.customTypes,this.DYMusicScoreType=R.DYMusicScoreType,R.duration_override?this.setDuration(R.duration_override):this.setIntrinsicTicks(F.ticks),this.modifiers=[],this.glyph=Flow.getGlyphProps(this.duration,this.noteType),this.customGlyphs=this.customTypes.map(D=>Flow.getGlyphProps(this.duration,D)),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=[],R.align_center&&this.setCenterAlignment(R.align_center),this.stave=null,this.render_options={annotation_spacing:5,stave_padding:Note.STAVEPADDING}}getPlayNote(){return this.playNote}setPlayNote(R){return this.playNote=R,this}isRest(){return!1}addStroke(R,F){return F.setNote(this),F.setIndex(R),this.modifiers.push(F),this.setPreFormatted(!1),this}getStave(){return this.stave}setStave(R){return this.stave=R,this.setYs([R.getYForLine(0)]),this.context=this.stave.context,this}getCategory(){return Note.CATEGORY}setContext(R){return this.context=R,this}getExtraLeftPx(){return this.extraLeftPx}getExtraRightPx(){return this.extraRightPx}setExtraLeftPx(R){return this.extraLeftPx=R,this}setExtraRightPx(R){return this.extraRightPx=R,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(R){return this.ys=R,this}getYs(){if(this.ys.length===0)throw new Vex.RERR("NoYValues","No Y-values calculated for this note.");return this.ys}getYForTopText(R){if(!this.stave)throw new Vex.RERR("NoStave","No stave attached to this note.");return this.stave.getYForTopText(R)}getBoundingBox(){return null}getVoice(){if(!this.voice)throw new Vex.RERR("NoVoice","Note has no voice.");return this.voice}setVoice(R){return this.voice=R,this.preFormatted=!1,this}getTickContext(){return this.tickContext}setTickContext(R){return this.tickContext=R,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(R){return this.modifierContext=R,this}addModifier(R,F=0){return R.setNote(this),R.setIndex(F),this.modifiers.push(R),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 R=0,F=0;this.modifierContext!=null&&(R=this.modifierContext.state.left_shift,F=this.modifierContext.state.right_shift);const D=this.getWidth();return{width:D,noteWidth:D-R-F-this.extraLeftPx-this.extraRightPx,left_shift:this.x_shift,modLeftPx:R,modRightPx:F,extraLeftPx:this.extraLeftPx,extraRightPx:this.extraRightPx}}setWidth(R){this.width=R}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(R){return this.x_shift=R,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 R=this.tickContext.getX();return this.stave&&(R+=this.stave.getNoteStartX()+this.render_options.stave_padding),this.isCenterAligned()&&(this.DYMusicScoreType==="jianpu"||(R+=this.getCenterXShift())),R}setPreFormatted(R){if(this.preFormatted=R,this.preFormatted){const F=this.tickContext.getExtraPx();this.left_modPx=Math.max(this.left_modPx,F.left),this.right_modPx=Math.max(this.right_modPx,F.right)}}}function L$i(...B){NoteHead.DEBUG&&Vex.L("Vex.Flow.NoteHead",B)}function drawSlashNoteHead(B,R,F,D,G,U){const W=Flow.SLASH_NOTEHEAD_WIDTH;B.save(),B.setLineWidth(Flow.STEM_WIDTH);let q=!1;if(Flow.durationToNumber(R)>2&&(q=!0),q||(F-=Flow.STEM_WIDTH/2*G),B.beginPath(),B.moveTo(F,D+U),B.lineTo(F,D+1),B.lineTo(F+W,D-U),B.lineTo(F+W,D),B.lineTo(F,D+U),B.closePath(),q?B.fill():B.stroke(),Flow.durationToFraction(R).equals(.5)){const Y=[-3,-1,W+1,W+3];for(let Q=0;Q<Y.length;Q++)B.beginPath(),B.moveTo(F+Y[Q],D-10),B.lineTo(F+Y[Q],D+11),B.stroke()}B.restore()}class NoteHead extends Note{static get CATEGORY(){return"notehead"}constructor(R){if(super(R),this.setAttribute("type","NoteHead"),this.index=R.index,this.x=R.x||0,this.y=R.y||0,this.note_type=R.note_type,this.duration=R.duration,this.displaced=R.displaced||!1,this.stem_direction=R.stem_direction||StaveNote.STEM_UP,this.line=R.line,this._line=R._line,this.glyph=Flow.getGlyphProps(this.duration,this.note_type),!this.glyph)throw new Vex.RuntimeError("BadArguments",`No glyph found for duration '${this.duration}' and type '${this.note_type}'`);this.glyph_code=this.glyph.code_head,this.x_shift=R.x_shift||0,R.custom_glyph_code&&(this.custom_glyph=!0,this.glyph_code=R.custom_glyph_code,this.stem_up_x_offset=R.stem_up_x_offset||0,this.stem_down_x_offset=R.stem_down_x_offset||0),this.style=R.style,this.slashed=R.slashed,Vex.Merge(this.render_options,{glyph_font_scale:R.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(R){return this.x=R,this}getY(){return this.y}setY(R){return this.y=R,this}getLine(){return this.line}setLine(R){return this.line=R,this}getAbsoluteX(){const R=this.preFormatted?super.getAbsoluteX():this.x,F=Stem.WIDTH/2;return R+(this.displaced?(this.width-F)*this.stem_direction:0)}getBoundingBox(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call getBoundingBox on an unformatted note.");const R=this.stave.getSpacingBetweenLines(),F=R/2,D=this.y-F;return new Flow.BoundingBox(this.getAbsoluteX(),D,this.width,R)}setStave(R){const F=this.getLine();return this.stave=R,this.setY(R.getYForNote(F)),this.context=this.stave.context,this}preFormat(){if(this.preFormatted)return this;const R=this.getWidth()+this.extraLeftPx+this.extraRightPx;return this.setWidth(R),this.setPreFormatted(!0),this}draw(){this.checkContext(),this.setRendered();const R=this.context;let F=this.getAbsoluteX();this.custom_glyph&&(F+=this.stem_direction===Stem.UP?this.stem_up_x_offset:this.stem_down_x_offset);const D=this.y;L$i("Drawing note head '",this.note_type,this.duration,"' at",F,D);const G=this.stem_direction,U=this.render_options.glyph_font_scale;if(this.style&&this.applyStyle(R),this.note_type==="s"){const W=this.stave.getSpacingBetweenLines();drawSlashNoteHead(R,this.duration,F,D,G,W)}else Glyph.renderGlyph(R,F,D,U,this.glyph_code);this.style&&this.restoreStyle(R)}}class StemmableNote extends Note{constructor(R){super(R),this.setAttribute("type","StemmableNote"),this.stem=null,this.stemExtensionOverride=null,this.beam=null,this.renderFlag=!0}getStem(){return this.stem}setStem(R){return this.stem=R,this}buildStem(){const R=new Stem;return this.setStem(R),this}buildFlag(){const{glyph:R,beam:F}=this,D=F===null&&this.renderFlag;if(R&&R.flag&&D){const G=this.getStemDirection()===Stem.DOWN?R.code_flag_downstem:R.code_flag_upstem;this.flag=new Glyph(G,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 R=this.getGlyph();return R?R.beam_count:0}getStemMinumumLength(){let F=Flow.durationToFraction(this.duration).value()<=1?0:20;switch(this.duration){case"8":this.beam==null&&(F=35);break;case"16":F=this.beam==null?35:25;break;case"32":F=this.beam==null?45:35;break;case"64":F=this.beam==null?50:40;break;case"128":F=this.beam==null?55:45;break}return F}getStemDirection(){return this.stem_direction}setStemDirection(R){if(R||(R=Stem.UP),R!==Stem.UP&&R!==Stem.DOWN)throw new Vex.RERR("BadArgument",`Invalid stem direction: ${R}`);if(this.stem_direction=R,this.stem){this.stem.setDirection(R),this.stem.setExtension(this.getStemExtension());const F=this.getTopGlyph()||this.getGlyph();this.stem.setOptions({stem_up_y_offset:F.stem_up_y_offset,stem_down_y_offset:F.stem_down_y_offset})}return this.reset(),this.flag&&this.renderFlag&&this.buildFlag(),this.beam=null,this.preFormatted&&this.preFormat(),this}getStemX(){const R=this.getAbsoluteX()+this.x_shift,F=this.getAbsoluteX()+this.x_shift+this.getGlyphWidth();return this.stem_direction===Stem.DOWN?R:F}getCenterGlyphX(){return this.getAbsoluteX()+this.x_shift+this.getGlyphWidth()/2}getStemExtension(){const R=this.getGlyph();return this.stemExtensionOverride!=null?this.stemExtensionOverride:R?this.getStemDirection()===1?R.stem_up_extension:R.stem_down_extension:0}setStemLength(R){return this.stemExtensionOverride=R-Stem.HEIGHT,this}getStemExtents(){return this.stem.getExtents()}setBeam(R){return this.beam=R,this}getYForTopText(R){const F=this.getStemExtents();return this.hasStem()?Math.min(this.stave.getYForTopText(R),F.topY-this.render_options.annotation_spacing*(R+1)):this.stave.getYForTopText(R)}getYForBottomText(R){const F=this.getStemExtents();return this.hasStem()?Math.max(this.stave.getYForTopText(R),F.baseY+this.render_options.annotation_spacing*R):this.stave.getYForBottomText(R)}hasFlag(){return this.renderFlag&&Flow.getGlyphProps(this.duration).flag&&!this.beam}postFormat(){return this.beam&&this.beam.postFormat(),this.postFormatted=!0,this}drawStem(R){this.checkContext(),this.setRendered(),this.setStem(new Stem(R)),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(R){return this.width=R,this}getNote(){return this.note}setNote(R){return this.note=R,this}getIndex(){return this.index}setIndex(R){return this.index=R,this}getModifierContext(){return this.modifier_context}setModifierContext(R){return this.modifier_context=R,this}getPosition(){return this.position}setPosition(R){return this.position=typeof R=="string"?Modifier.PositionString[R]:R,this}setTextLine(R){return this.text_line=R,this}setYShift(R){return this.y_shift=R,this}setSpacingFromNextModifier(R){this.spacingFromNextModifier=R}getSpacingFromNextModifier(){return this.spacingFromNextModifier}setXShift(R){this.x_shift=0,this.position===Modifier.Position.LEFT?this.x_shift-=R:this.x_shift+=R}getXShift(){return this.x_shift}draw(){throw this.checkContext(),new Vex.RERR("MethodNotImplemented","draw() not implemented for this modifier.")}alignSubNotesWithNote(R,F){const D=F.getTickContext(),G=D.getExtraPx(),U=D.getX()-G.left-G.extraLeft+this.getSpacingFromNextModifier();R.forEach(W=>{const q=W.getTickContext();W.setStave(F.stave),q.setXOffset(U)})}}class Dot extends Modifier{static get CATEGORY(){return"dots"}static format(R,F){const D=F.right_shift,G=1;if(!R||R.length===0)return!1;const U=[],W={};for(let ie=0;ie<R.length;++ie){const ne=R[ie],se=ne.getNote();let re,ae;typeof se.getKeyProps=="function"?(re=se.getKeyProps()[ne.getIndex()],ae=re.displaced?se.getExtraRightPx():0):(re={line:.5},ae=0);const le=se.getAttribute("id");U.push({line:re.line,note:se,note_id:le,dot:ne}),W[le]=Math.max(W[le]||ae,ae)}U.sort((ie,ne)=>ne.line-ie.line);let q=D,Y=0,Q=null,Z=null,K=null,J=0;for(let ie=0;ie<U.length;++ie){const{dot:ne,note:se,note_id:re,line:ae}=U[ie];(ae!==Q||se!==Z)&&(q=W[re]),!se.isRest()&&ae!==Q&&(Math.abs(ae%1)===.5?J=0:(J=.5,(Z!=null&&!Z.isRest()&&Q-ae===.5||ae+J===K)&&(J=-.5))),se.isRest()?ne.dot_shiftY+=-J:ne.dot_shiftY=-J,K=ae+J,ne.setXShift(q),q+=ne.getWidth()+G,Y=q>Y?q:Y,Q=ae,Z=se}return F.right_shift+=Y,!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(R){this.note=R,this.note.getCategory()==="gracenotes"&&(this.radius*=.5,this.setWidth(3))}setDotShiftY(R){return this.dot_shiftY=R,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 R=this.note.stave.options.spacing_between_lines_px,F=this.note.getModifierStartXY(this.position,this.index,{forceFlagRight:!0});this.note.getCategory()==="tabnotes"&&(F.y=this.note.getStemExtents().baseY+1);const D=F.x+this.x_shift+this.width-this.radius;let G=this.dot_shiftY*R;this.note&&this.note.DYMusicScoreType=="jianpu"&&(G=-5);const U=F.y+this.y_shift+G,W=this.context;W.beginPath(),W.arc(D,U,this.radius,0,Math.PI*2,!1),W.fill()}}function L$h(...B){StaveNote.DEBUG&&Vex.L("Vex.Flow.StaveNote",B)}const getStemAdjustment=B=>Stem.WIDTH/(2*-B.getStemDirection()),isInnerNoteIndex=(B,R)=>R===(B.getStemDirection()===Stem.UP?B.keyProps.length-1:0);function shiftRestVertical(B,R,F){const D=(R.isrest?0:1)*F;B.line+=D,B.maxLine+=D,B.minLine+=D,B.note.setKeyLine(0,B.note.getKeyLine(0)+D)}function centerRest(B,R,F){const D=B.line-Vex.MidLine(R.minLine,F.maxLine);B.note.setKeyLine(0,B.note.getKeyLine(0)-D),B.line-=D,B.maxLine-=D,B.minLine-=D}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(R,F,D,G){let{width:U,height:W,wave_width:q,wave_girth:Y,wave_height:Q,stem_direction:Z}=G;const K=Math.floor(U/q);let J=W/(K/2)*Z;J==0&&(Z=1,J=.3),R.beginPath(),R.moveTo(F,D+Y);for(let ie=0;ie<K/2;++ie)R.quadraticCurveTo(F+q/2,D-Q/2,F+q,D),F+=q,D+=J,R.quadraticCurveTo(F+q/2,D+Q/2,F+q,D),F+=q;for(let ie=0;ie<K/2;++ie)R.quadraticCurveTo(F-q/2,D+Q/2+Y,F-q,D+Y),F-=q,D-=J,R.quadraticCurveTo(F-q/2,D-Q/2+Y,F-q,D+Y),F-=q;Z<0&&R.stroke(),R.fill()}static renderSlideNote(R,F,D,G,U){R.beginPath(),R.moveTo(F,D),R.lineTo(G,U),R.lineWidth=2,R.stroke()}static format(R,F){if(!R||R.length<2)return!1;const D=[],G=R[0].stagger_same_whole_notes;for(let J=0;J<R.length;J++){const ie=R[J].getKeyProps(),ne=ie[0].line;let se=ie[ie.length-1].line;const re=R[J].getStemDirection(),ae=R[J].getStemLength()/10,le=R[J].getStemMinumumLength()/10;let ce;R[J].isRest()?(ce=ne+R[J].glyph.line_above,se=ne-R[J].glyph.line_below):(ce=re===1?ie[ie.length-1].line+ae:ie[ie.length-1].line,se=re===1?ie[0].line:ie[0].line-ae),D.push({line:ie[0].line,maxLine:ce,minLine:se,isrest:R[J].isRest(),stemDirection:re,stemMax:ae,stemMin:le,voice_shift:R[J].getVoiceShiftWidth(),is_displaced:R[J].isDisplaced(),note:R[J]})}const U=D.length;let W=D[0];const q=U>2?D[1]:null;let Y=U>2?D[2]:D[1];U===2&&W.stemDirection===-1&&Y.stemDirection===1&&(W=D[1],Y=D[0]);const Q=Math.max(W.voice_shift,Y.voice_shift);let Z=0,K;if(U===2){const J=W.stemDirection===Y.stemDirection?0:.5;if(W.stemDirection===Y.stemDirection&&W.minLine<=Y.maxLine&&(W.isrest||(K=Math.abs(W.line-(Y.maxLine+.5)),K=Math.max(K,W.stemMin),W.minLine=W.line-K,W.note.setStemLength(K*10))),W.minLine<=Y.maxLine+J)if(W.isrest)shiftRestVertical(W,Y,1);else if(Y.isrest)shiftRestVertical(Y,W,-1);else{Z=Q;const ie=Math.abs(W.line-Y.line);let ne=0,se=0;W.note.duration==="h"?ne++:W.note.duration==="w"&&se++,Y.note.duration==="h"?ne++:Y.note.duration==="w"&&se++;let re=ne===1||se===1||W.note.dots!==Y.note.dots;if(G&&(re=re||se===2),ie===0&&re){if(Y.note.setXShift(Z),W.note.dots>0){let ae=0;for(const le of W.note.modifiers)if(le instanceof Dot&&(ae++,le.setYShift(-10*(Y.maxLine-W.line+1)),ae===W.note.dots))break}}else ie<1&&ie>0?Y.note.setXShift(Z):W.note.voice!==Y.note.voice&&W.stemDirection===Y.stemDirection&&(W.line>Y.line?W.stemDirection===1?Y.note.renderFlag=!1:W.note.renderFlag=!1:Y.line>W.line?Y.stemDirection===1?W.note.renderFlag=!1:Y.note.renderFlag=!1:Y.stemDirection===1&&(Y.stemDirection=-1,Y.note.setStemDirection(-1)))}return!0}if(q!==null&&q.minLine<Y.maxLine+.5&&(q.isrest||(K=Math.abs(q.line-(Y.maxLine+.5)),K=Math.max(K,q.stemMin),q.minLine=q.line-K,q.note.setStemLength(K*10))),q.isrest&&!W.isrest&&!Y.isrest&&(W.minLine<=q.maxLine||q.minLine<=Y.maxLine)){const J=q.maxLine-q.minLine,ie=W.minLine-Y.maxLine;return J<ie?centerRest(q,W,Y):(Z=Q+3,q.note.setXShift(Z)),!0}return W.isrest&&q.isrest&&Y.isrest?(shiftRestVertical(W,q,1),shiftRestVertical(Y,q,-1),!0):(q.isrest&&W.isrest&&q.minLine<=Y.maxLine&&shiftRestVertical(q,Y,1),q.isrest&&Y.isrest&&W.minLine<=q.maxLine&&shiftRestVertical(q,W,-1),W.isrest&&W.minLine<=q.maxLine&&shiftRestVertical(W,q,1),Y.isrest&&q.minLine<=Y.maxLine&&shiftRestVertical(Y,q,-1),(!W.isrest&&!q.isrest&&W.minLine<=q.maxLine+.5||!q.isrest&&!Y.isrest&&q.minLine<=Y.maxLine)&&(Z=Q+3,q.note.setXShift(Z)),!0)}static formatByY(R,F){let D=!0;for(let U=0;U<R.length;U++)D=D&&R[U].getStave()!=null;if(!D)throw new Vex.RERR("Stave Missing","All notes must have a stave - Vex.Flow.ModifierContext.formatMultiVoice!");let G=0;for(let U=0;U<R.length-1;U++){let W=R[U],q=R[U+1];W.maxLine<q.maxLine&&(W=R[U+1],q=R[U]);const Y=W.getKeyProps(),Q=q.getKeyProps(),Z=.5,K=W.getStave().getYForLine(5-Y[0].line+Z);q.getStave().getYForLine(5-Q[Q.length-1].line-Z)-K<0&&W.voice===q.voice&&(G=W.getVoiceShiftWidth()+2,q.setXShift(G))}F.right_shift+=G}static postFormat(R){return R?(R.forEach(F=>F.postFormat()),!0):!1}constructor(R){if(super(R),this.setAttribute("type","StaveNote"),this.keys=R.keys,this.clef=R.clef,this.octave_shift=R.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(R)}`);this.displaced=!1,this.dot_shiftY=0,this.addDotsCount=0,this.keyProps=[],this.use_default_head_x=!1,this.note_heads=[],this.modifiers=[],Vex.Merge(this.render_options,{glyph_font_scale:R.glyph_font_scale||Flow.DEFAULT_NOTATION_FONT_SCALE,stroke_px:R.stroke_px||StaveNote.DEFAULT_LEDGER_LINE_OFFSET}),this.calculateKeyProps(),this.buildStem(),R.auto_stem?this.autoStem():this.setStemDirection(R.stem_direction),this.reset(),this.buildFlag()}reset(){super.reset();const R=this.note_heads.map(F=>F.getStyle());this.buildNoteHeads(),this.note_heads.forEach((F,D)=>F.setStyle(R[D])),this.stave&&this.note_heads.forEach(F=>F.setStave(this.stave)),this.calcExtraPx()}setBeam(R){return this.beam=R,this.calcExtraPx(),this}setVibrato(R){this.vibrato=R}setSlideNote(R){this.slideNote=R}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 R=this.getStemDirection(),F=this.getKeys();let D=null,G=null,U=!1,W,q,Y;R===Stem.UP?(W=0,q=F.length,Y=1):R===Stem.DOWN&&(W=F.length-1,q=-1,Y=-1);for(let Q=W;Q!==q;Q+=Y){const Z=this.keyProps[Q],K=Z.line;D===null?D=K:(G=Math.abs(D-K),G===0||G===.5?U=!U:(U=!1,this.use_default_head_x=!0)),D=K;const J=new NoteHead({duration:this.duration,note_type:this.noteType,displaced:U,stem_direction:R,custom_glyph_code:Z.code,glyph_font_scale:this.render_options.glyph_font_scale,x_shift:Z.shift_right,stem_up_x_offset:Z.stem_up_x_offset,stem_down_x_offset:Z.stem_down_x_offset,line:Z.line});this.note_heads[Q]=J}}autoStem(){this.minLine=this.keyProps[0].line,this.maxLine=this.keyProps[this.keyProps.length-1].line;const R=3,D=(this.minLine+this.maxLine)/2<R?Stem.UP:Stem.DOWN;this.setStemDirection(D)}calculateKeyProps(){let R=null;for(let F=0;F<this.keys.length;++F){const D=this.keys[F];this.glyph.rest&&(this.glyph.position=D);const G={octave_shift:this.octave_shift||0},U=Flow.keyProperties(D,this.clef,G);if(!U)throw new Vex.RuntimeError("BadArguments",`Invalid key for note properties: ${D}`);U.key==="R"&&(this.duration==="1"||this.duration==="w"?U.line=4:U.line=3);const W=U.line;R===null?R=W:Math.abs(R-W)===.5&&(this.displaced=!0,U.displaced=!0,this.keyProps.length>0&&(this.keyProps[F-1].displaced=!0)),R=W,this.keyProps.push(U)}R=-1/0,this.keyProps.forEach(F=>{F.line<R&&Vex.W("Unsorted keys in note will be sorted. See https://github.com/0xfe/vexflow/issues/104 for details."),R=F.line}),this.keyProps.sort((F,D)=>F.line-D.line)}getBoundingBox(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call getBoundingBox on an unformatted note.");const{width:R,modLeftPx:F,extraLeftPx:D}=this.getMetrics(),G=this.getAbsoluteX()-F-D;let U=0,W=0;const q=this.getStave().getSpacingBetweenLines()/2,Y=q*2;if(this.isRest()){const Q=this.ys[0],Z=Flow.durationToFraction(this.duration);Z.equals(1)||Z.equals(2)?(U=Q-q,W=Q+q):(U=Q-this.glyph.line_above*Y,W=Q+this.glyph.line_below*Y)}else if(this.glyph.stem){const Q=this.getStemExtents();Q.baseY+=q*this.stem_direction,U=Math.min(Q.topY,Q.baseY),W=Math.max(Q.topY,Q.baseY)}else{U=null,W=null;for(let Q=0;Q<this.ys.length;++Q){const Z=this.ys[Q];Q===0?(U=Z,W=Z):(U=Math.min(Z,U),W=Math.max(Z,W))}U-=q,W+=q}return new BoundingBox(G,U,R,W-U)}getLineNumber(R){if(!this.keyProps.length)throw new Vex.RERR("NoKeyProps","Can't get bottom note line, because note is not initialized properly.");let F=this.keyProps[0].line;for(let D=0;D<this.keyProps.length;D++){const G=this.keyProps[D].line;R?G>F&&(F=G):G<F&&(F=G)}return F}isRest(){return this.glyph.rest}isChord(){return!this.isRest()&&this.keys.length>1}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(R){const F=this.getStemExtents();return Math.min(this.stave.getYForTopText(R),F.topY-this.render_options.annotation_spacing*(R+1))}getYForBottomText(R){const F=this.getStemExtents();return Math.max(this.stave.getYForTopText(R),F.baseY+this.render_options.annotation_spacing*R)}setStave(R){super.setStave(R);const F=this.note_heads.map(D=>(D.setStave(R),D.getY()));if(this.setYs(F),this.stem){const{y_top:D,y_bottom:G}=this.getNoteHeadBounds();this.stem.setYBounds(D,G)}return this}getKeys(){return this.keys}getKeyProps(){return this.keyProps}isDisplaced(){return this.displaced}setNoteDisplaced(R){return this.displaced=R,this}getTieRightX(){let R=this.getAbsoluteX();return R+=this.getGlyphWidth()+this.x_shift+this.extraRightPx,this.modifierContext&&(R+=this.modifierContext.getExtraRightPx()),R}getTieLeftX(){let R=this.getAbsoluteX();return R+=this.x_shift-this.extraLeftPx,R}getLineForRest(){let R=this.keyProps[0].line;if(this.keyProps.length>1){const F=this.keyProps[this.keyProps.length-1].line,D=Math.max(R,F),G=Math.min(R,F);R=Vex.MidLine(D,G)}return R}getModifierStartXY(R,F,D){if(D=D||{},!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:G,BELOW:U,LEFT:W,RIGHT:q}=Modifier.Position;let Y=0;return R===W?Y=-1*2:R===q?(Y=this.getGlyphWidth()+this.x_shift+2,this.stem_direction===Stem.UP&&this.hasFlag()&&(D.forceFlagRight||isInnerNoteIndex(this,F))&&(Y+=this.flag.getMetrics().width)):(R===U||R===G)&&(Y=this.getGlyphWidth()/2),{x:this.getAbsoluteX()+Y,y:this.ys[F]}}setStyle(R){super.setStyle(R),this.note_heads.forEach(F=>F.setStyle(R)),this.stem&&this.stem.setStyle(R)}setStemStyle(R){this.stem&&this.getStem().setStyle(R)}getStemStyle(){return this.stem.getStyle()}setLedgerLineStyle(R){this.ledgerLineStyle=R}getLedgerLineStyle(){return this.ledgerLineStyle}setFlagStyle(R){this.flagStyle=R}getFlagStyle(){return this.flagStyle}setKeyStyle(R,F){return this.note_heads[R].setStyle(F),this}setKeyLine(R,F){return this.keyProps[R].line=F,this.reset(),this}getKeyLine(R){return this.keyProps[R].line}addToModifierContext(R){this.setModifierContext(R);for(let F=0;F<this.modifiers.length;++F)this.modifierContext.addModifier(this.modifiers[F]);return this.modifierContext.addModifier(this),this.setPreFormatted(!1),this}addModifier(R,F){return F.setNote(this),F.setIndex(R),this.modifiers.push(F),this.setPreFormatted(!1),this}addAccidental(R,F){return this.addModifier(R,F)}addArticulation(R,F){return this.addModifier(R,F)}addAnnotation(R,F){return this.addModifier(R,F)}addDot(R){const F=new Dot;return F.setDotShiftY(this.glyph.dot_shiftY),this.addDotsCount++,this.addModifier(R,F)}addDotToAll(){for(let R=0;R<this.keys.length;++R)this.addDot(R);return this}getAccidentals(){return this.modifierContext.getModifiers("accidentals")}getDots(){return this.modifierContext.getModifiers("dots")}getVoiceShiftWidth(){return this.getGlyphWidth()*(this.displaced?2:1)}calcExtraPx(){this.setExtraLeftPx(this.displaced&&this.stem_direction===Stem.DOWN?this.getGlyphWidth():0),this.setExtraRightPx(!this.hasFlag()&&this.displaced&&this.stem_direction===Stem.UP?this.getGlyphWidth():0)}preFormat(){if(this.preFormatted)return;this.modifierContext&&this.modifierContext.preFormat();let R=this.getGlyphWidth()+this.extraLeftPx+this.extraRightPx;this.renderFlag&&this.glyph.flag&&this.beam===null&&this.stem_direction===Stem.UP&&(R+=this.getGlyphWidth()),this.setWidth(R),this.setPreFormatted(!0)}getNoteHeadBounds(){let R=null,F=null,D=null,G=null,U=this.stave.getNumLines(),W=1,q=!1,Y=!1,Q=U,Z=W;return this.note_heads.forEach(K=>{const J=K.getLine(),ie=K.getY();(R===null||ie<R)&&(R=ie),(F===null||ie>F)&&(F=ie),G===null&&K.isDisplaced()&&(G=K.getAbsoluteX()),D===null&&!K.isDisplaced()&&(D=K.getAbsoluteX()),U=J>U?J:U,W=J<W?J:W,K.isDisplaced()?(q=q===!1?J:Math.max(J,q),Y=Y===!1?J:Math.min(J,Y)):(Q=Math.max(J,Q),Z=Math.min(J,Z))},this),{y_top:R,y_bottom:F,displaced_x:G,non_displaced_x:D,highest_line:U,lowest_line:W,highest_displaced_line:q,lowest_displaced_line:Y,highest_non_displaced_line:Q,lowest_non_displaced_line:Z}}getNoteHeadBeginX(){return this.getAbsoluteX()+this.x_shift}getNoteHeadEndX(){return this.getNoteHeadBeginX()+this.getGlyphWidth()}drawLedgerLines(){const{stave:R,glyph:F,render_options:{stroke_px:D},context:G}=this,U=F.getWidth()+D*2,W=2*(F.getWidth()+D)-Stem.WIDTH/2;if(this.isRest())return;if(!G)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");const{highest_line:q,lowest_line:Y,highest_displaced_line:Q,highest_non_displaced_line:Z,lowest_displaced_line:K,lowest_non_displaced_line:J,displaced_x:ie,non_displaced_x:ne}=this.getNoteHeadBounds(),se=Math.min(ie,ne),re=(le,ce,he)=>{let de;he&&ce?de=se-D:ce?de=ne-D:de=ie-D;const me=ce&&he?W:U;G.beginPath(),G.moveTo(de,le),G.lineTo(de+me,le),G.stroke()},ae={...R.getStyle()||{},...this.getLedgerLineStyle()||{}};this.applyStyle(G,ae);for(let le=6;le<=q;++le){const ce=ne!==null&&le<=Z,he=ie!==null&&le<=Q;re(R.getYForNote(le),ce,he)}for(let le=0;le>=Y;--le){const ce=ne!==null&&le>=J,he=ie!==null&&le>=K;re(R.getYForNote(le),ce,he)}this.restoreStyle(G,ae)}drawVibrato(){if(this.vibrato){const R=this.context,F=this.vibrato.getNoteHeadEndX()+2;let{y_bottom:D}=this.vibrato.getNoteHeadBounds(),{y_top:G}=this.getNoteHeadBounds();const U=D<G?1:-1;let W=Math.abs(this.getNoteHeadBeginX()-5-F),q=Math.abs(G-D);(this.duration==="w"||this.vibrato.stave.y!==this.stave.y)&&(W=this.vibrato.stave.getNoteEndX()-5-F),this.vibrato.stave.y!==this.stave.y&&(q=0),R.openGroup("vibrato"),StaveNote.renderVibrato(this.context,F,D,{harsh:!0,width:W,height:q,wave_height:6,wave_width:4,wave_girth:4,stem_direction:U}),R.closeGroup()}}drawSlide(){if(this.slideNote){const R=this.context,F=this.slideNote.getNoteHeadEndX()+2;let{y_bottom:D}=this.slideNote.getNoteHeadBounds(),G=this.getNoteHeadBeginX()-4,{y_top:U}=this.getNoteHeadBounds();(this.duration==="w"||this.slideNote.stave.y!==this.stave.y)&&(G=this.slideNote.stave.getNoteEndX()-2),R.openGroup("slide"),StaveNote.renderSlideNote(R,F,D,G,U),R.closeGroup()}}drawModifiers(){if(!this.context)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");const R=this.context;R.openGroup("modifiers");for(let F=0;F<this.modifiers.length;F++){const D=this.modifiers[F],G=this.note_heads[D.getIndex()],U=G.getStyle();if(!(this.isRest()&&D.getCategory()==="articulations")&&!(D.note&&D.note.DYMusicScoreType=="jianpu"&&D.getAttribute("type")==="Dot"&&!D.note.formatterMetrics.duration)){if(D.note&&D.note.DYMusicScoreType=="jianpu"&&D.getAttribute("type")==="Dot")try{D.note.getModifierStartXY(D.position,0,{forceFlagRight:!0}).x-D.note.x<9&&(D.x_shift+=7)}catch(W){console.log("\u{1F680} ~ error:",W)}G.applyStyle(R,U),D.setContext(R),D.drawWithStyle(),G.restoreStyle(R,U)}}R.closeGroup(),this.drawVibrato(),this.drawSlide()}drawFlag(){const{stem:R,beam:F,context:D}=this;if(!D)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");const G=F===null&&this.renderFlag;if(this.getGlyph().flag&&G){const{y_top:W,y_bottom:q}=this.getNoteHeadBounds(),Y=R.getHeight(),Q=this.getStemX();let Z=this.getStemDirection()===Stem.DOWN?W-Y+2:q-Y-2;if(R&&!F){const K=this.keyProps[0].line;(K>6.5||K<-.5)&&(Z=Z+(K>6.5?(K-6.5)*10:(K+.5)*10))}D.openGroup("flag",null,{pointerBBox:!0}),this.applyStyle(D,this.getFlagStyle()||!1),this.flag.render(D,Q,Z),this.restoreStyle(D,this.getFlagStyle()||!1),D.closeGroup()}}drawNoteHeads(){this.note_heads.forEach(R=>{this.context.openGroup("notehead",null,{pointerBBox:!0});try{if(this.isRest()&&this.duration==="w"){const F=this.stave.options.line_config.filter(G=>G.visible).length;this.keyProps[0].line===4&&F<5&&R.setY(R.getY()+10),F===1&&R.setLine(3)}}catch{}R.setContext(this.context).draw(),this.context.closeGroup()})}drawStem(R){if(!this.context)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");R&&this.setStem(new Stem(R)),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 R=this.stave.getLines();if(R===2||R===3||R===4)for(let G=0;G<this.note_heads.length;G++)if(this.isRest())R===2&&(this.duration==="q"?this.note_heads[G].setLine(2):this.duration==="w"?this.note_heads[G].setLine(4):this.duration==="h"?this.note_heads[G].setLine(2.5):this.note_heads[G].setLine(2));else{let U=R===2?2:R===3?.65:.3,W=this.note_heads[G].line;this.note_heads[G].setLine(W+U)}const F=this.getNoteHeadBeginX(),D=this.hasStem()&&!this.beam;if(this.note_heads.forEach(G=>G.setX(F)),this.stem){let G=this.getStemX();const U=this.keyProps[0].line;(U>6.5||U<-.5)&&(this.beam||(this.stem.renderHeightAdjustment=U>6.5?(U-6.5)*10:Math.abs(U+.5)*10)),this.stem.setNoteHeadXBounds(G,G)}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}),D&&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(R,F){const{left_shift:D,right_shift:G}=F,U=1;if(!R||R.length===0)return!1;const W=[];let q=null,Y=0,Q=0;for(let re=0;re<R.length;++re){const ae=R[re],le=ae.getNote(),ce=ae.getPosition(),he=le.getKeyProps()[ae.getIndex()];if(le!==q){for(let de=0;de<le.keys.length;++de){const me=le.getKeyProps()[de];D===0&&(Y=me.displaced?le.getExtraLeftPx():Y),G===0&&(Q=me.displaced?le.getExtraRightPx():Q)}q=le}W.push({note:le,num:ae,pos:ce,line:he.line,shiftL:Y,shiftR:Q})}W.sort((re,ae)=>ae.line-re.line);let Z=0,K=0,J=0,ie=0,ne=null,se=null;for(let re=0;re<W.length;++re){let ae=0;const{note:le,pos:ce,num:he,line:de,shiftL:me,shiftR:fe}=W[re];(de!==ne||le!==se)&&(Z=D+me,K=G+fe);const ge=he.getWidth()+U;ce===Modifier.Position.LEFT?(he.setXShift(D+Z),ae=D+ge,J=ae>J?ae:J):ce===Modifier.Position.RIGHT&&(he.setXShift(K),ae=Q+ge,ie=ae>ie?ae:ie),ne=de,se=le}return F.left_shift+=J,F.right_shift+=ie,!0}constructor(R){super(),this.setAttribute("type","FretHandFinger"),this.note=null,this.index=null,this.finger=R,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(R){return this.finger=R,this}setOffsetX(R){return this.x_offset=R,this}setOffsetY(R){return this.y_offset=R,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 R=this.context,F=this.note.getModifierStartXY(this.position,this.index);let D=F.x+this.x_shift+this.x_offset,G=F.y+this.y_shift+this.y_offset+5;switch(this.position){case Modifier.Position.ABOVE:D-=4,G-=12;break;case Modifier.Position.BELOW:D-=2,G+=10;break;case Modifier.Position.LEFT:D-=this.width;break;case Modifier.Position.RIGHT:D+=1;break;default:throw new Vex.RERR("InvalidPostion",`The position ${this.position} does not exist`)}R.save(),R.setFont(this.font.family,this.font.size,this.font.weight),R.fillText(""+this.finger,D,G),R.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(R){return!(R==null||R<0||R>=Music.NUM_TONES)}isValidIntervalValue(R){return this.isValidNoteValue(R)}getNoteParts(R){if(!R||R.length<1)throw new Vex.RERR("BadArguments","Invalid note name: "+R);if(R.length>3)throw new Vex.RERR("BadArguments","Invalid note name: "+R);const F=R.toLowerCase(),G=/^([cdefgab])(b|bb|n|#|##)?$/.exec(F);if(G!=null){const U=G[1],W=G[2];return{root:U,accidental:W}}else throw new Vex.RERR("BadArguments","Invalid note name: "+R)}getKeyParts(R){if(!R||R.length<1)throw new Vex.RERR("BadArguments","Invalid key: "+R);const F=R.toLowerCase(),G=/^([cdefgab])(b|#)?(mel|harm|m|M)?$/.exec(F);if(G!=null){const U=G[1],W=G[2];let q=G[3];return q||(q="M"),{root:U,accidental:W,type:q}}else throw new Vex.RERR("BadArguments",`Invalid key: ${R}`)}getNoteValue(R){const F=Music.noteValues[R];if(F==null)throw new Vex.RERR("BadArguments",`Invalid note name: ${R}`);return F.int_val}getIntervalValue(R){const F=Music.intervals[R];if(F==null)throw new Vex.RERR("BadArguments",`Invalid interval name: ${R}`);return F}getCanonicalNoteName(R){if(!this.isValidNoteValue(R))throw new Vex.RERR("BadArguments",`Invalid note value: ${R}`);return Music.canonical_notes[R]}getCanonicalIntervalName(R){if(!this.isValidIntervalValue(R))throw new Vex.RERR("BadArguments",`Invalid interval value: ${R}`);return Music.diatonic_intervals[R]}getRelativeNoteValue(R,F,D){if(D==null&&(D=1),D!==1&&D!==-1)throw new Vex.RERR("BadArguments",`Invalid direction: ${D}`);let G=(R+D*F)%Music.NUM_TONES;return G<0&&(G+=Music.NUM_TONES),G}getRelativeNoteName(R,F){const D=this.getNoteParts(R),G=this.getNoteValue(D.root);let U=F-G;if(Math.abs(U)>Music.NUM_TONES-3){let q=1;U>0&&(q=-1);const Y=(F+1+(G+1))%Music.NUM_TONES*q;if(Math.abs(Y)>2)throw new Vex.RERR("BadArguments",`Notes not related: ${R}, ${F})`);U=Y}if(Math.abs(U)>2)throw new Vex.RERR("BadArguments",`Notes not related: ${R}, ${F})`);let W=D.root;if(U>0)for(let q=1;q<=U;++q)W+="#";else if(U<0)for(let q=-1;q>=U;--q)W+="b";return W}getScaleTones(R,F){const D=[R];let G=R;for(let U=0;U<F.length;U+=1)G=this.getRelativeNoteValue(G,F[U]),G!==R&&D.push(G);return D}getIntervalBetween(R,F,D){if(D==null&&(D=1),D!==1&&D!==-1)throw new Vex.RERR("BadArguments",`Invalid direction: ${D}`);if(!this.isValidNoteValue(R)||!this.isValidNoteValue(F))throw new Vex.RERR("BadArguments",`Invalid notes: ${R}, ${F}`);let G=D===1?F-R:R-F;return G<0&&(G+=Music.NUM_TONES),G}createScaleMap(R){const F=this.getKeyParts(R),D=Music.scaleTypes[F.type];let G=F.root;if(F.accidental&&(G+=F.accidental),!D)throw new Vex.RERR("BadArguments","Unsupported key type: "+R);const U=this.getScaleTones(this.getNoteValue(G),D),W=Music.root_indices[F.root],q={};for(let Y=0;Y<Music.roots.length;++Y){const Q=(W+Y)%Music.roots.length,Z=Music.roots[Q];let K=this.getRelativeNoteName(Z,U[Y]);K.length===1&&(K+="n"),q[Z]=K}return q}}function L$g(...B){Accidental.DEBUG&&Vex.L("Vex.Flow.Accidental",B)}const getGlyphWidth=B=>B.getMetrics().width;class Accidental extends Modifier{static get CATEGORY(){return"accidentals"}static format(R,F){const G=F.left_shift+1,U=3;if(!R||R.length===0)return;const W=[];let q=null,Y=0,Q;for(let le=0;le<R.length;++le){const ce=R[le],he=ce.getNote(),de=he.getStave(),me=he.getKeyProps()[ce.getIndex()];if(he!==q){for(let fe=0;fe<he.keys.length;++fe)Q=he.getKeyProps()[fe],Y=Q.displaced?he.getExtraLeftPx():Y;q=he}if(de!==null){const fe=de.options.spacing_between_lines_px,ge=de.getYForLine(me.line),Se=Math.round(ge/fe*2)/2;W.push({y:ge,line:Se,shift:Y,acc:ce,lineSpace:fe})}else W.push({line:me.line,shift:Y,acc:ce})}W.sort((le,ce)=>ce.line-le.line);const Z=[];let K=0,J=null;for(let le=0;le<W.length;le++){const ce=W[le];(J===null||J!==ce.line)&&Z.push({line:ce.line,flatLine:!0,dblSharpLine:!0,numAcc:0,width:0}),ce.acc.type!=="b"&&ce.acc.type!=="bb"&&(Z[Z.length-1].flatLine=!1),ce.acc.type!=="##"&&(Z[Z.length-1].dblSharpLine=!1),Z[Z.length-1].numAcc++,Z[Z.length-1].width+=ce.acc.getWidth()+U,K=ce.shift>K?ce.shift:K,J=ce.line}let ie=0;for(let le=0;le<Z.length;le++){let ce=!1;const he=le;let de=le;for(;de+1<Z.length&&!ce;)this.checkCollision(Z[de],Z[de+1])?de++:ce=!0;const me=ye=>Z[he+ye],fe=ye=>ye.map(me),ge=(ye,Te)=>{const[Le,we]=fe([ye,Te]).map(Ae=>Ae.line);return Le-we},Se=(...ye)=>ye.map(fe).every(Te=>!this.checkCollision(...Te)),Ee=de-he+1;let ve=this.checkCollision(Z[he],Z[de])?"a":"b";switch(Ee){case 3:ve==="a"&&ge(1,2)===.5&&ge(0,1)!==.5&&(ve="second_on_bottom");break;case 4:Se([0,2],[1,3])&&(ve="spaced_out_tetrachord");break;case 5:ve==="b"&&Se([1,3])&&(ve="spaced_out_pentachord",Se([0,2],[2,4])&&(ve="very_spaced_out_pentachord"));break;case 6:Se([0,3],[1,4],[2,5])&&(ve="spaced_out_hexachord"),Se([0,2],[2,4],[1,3],[3,5])&&(ve="very_spaced_out_hexachord");break}let xe,Pe;if(Ee>=7){let ye=2,Te=!0;for(;Te===!0;){Te=!1;for(let Le=0;Le+ye<Z.length;Le++)if(this.checkCollision(Z[Le],Z[Le+ye])){Te=!0,ye++;break}}for(xe=le;xe<=de;xe++)Pe=(xe-le)%ye+1,Z[xe].column=Pe,ie=ie>Pe?ie:Pe}else for(xe=le;xe<=de;xe++)Pe=Flow.accidentalColumnsTable[Ee][ve][xe-le],Z[xe].column=Pe,ie=ie>Pe?ie:Pe;le=de}const ne=[],se=[];for(let le=0;le<=ie;le++)ne[le]=0,se[le]=0;ne[0]=K+G,se[0]=K+G,Z.forEach(le=>{le.width>ne[le.column]&&(ne[le.column]=le.width)});for(let le=1;le<ne.length;le++)se[le]=ne[le]+se[le-1];const re=se[se.length-1];let ae=0;Z.forEach(le=>{let ce=0;const he=ae+le.numAcc;for(ae;ae<he;ae++){const de=se[le.column-1]+ce;W[ae].acc.setXShift(de),ce+=W[ae].acc.getWidth()+U,L$g("Line, accCount, shift: ",le.line,ae,de)}}),F.left_shift+=re}static checkCollision(R,F){let D=F.line-R.line,G=3;D>0?(G=F.flatLine||F.dblSharpLine?2.5:3,R.dblSharpLine&&(D-=.5)):(G=R.flatLine||R.dblSharpLine?2.5:3,F.dblSharpLine&&(D-=.5));const U=Math.abs(D)<G;return L$g("Line_1, Line_2, Collision: ",R.line,F.line,U),U}static applyAccidentals(R,F){const D=[],G={};R.forEach(q=>{const Y=new Fraction(0,1);q.getTickables().forEach(Z=>{if(Z.shouldIgnoreTicks())return;const K=G[Y.value()];K?K.push(Z):(D.push(Y.value()),G[Y.value()]=[Z]),Y.add(Z.getTicks())})});const U=new Music;F||(F="C");const W=U.createScaleMap(F);D.forEach(q=>{const Y=G[q],Q=[],Z=K=>{K.isRest()||K.shouldIgnoreTicks()||(K.keys.forEach((J,ie)=>{const ne=U.getNoteParts(J.split("/")[0]),se=ne.accidental||"n",re=ne.root+se,ae=W[ne.root]===re,le=Q.indexOf(re)>-1;if(!ae||ae&&le){W[ne.root]=re;const ce=new Accidental(se);K.addAccidental(ie,ce),Q.push(re)}}),K.getModifiers().forEach(J=>{J.getCategory()==="gracenotegroups"&&J.getGraceNotes().forEach(Z)}))};Y.forEach(Z)})}constructor(R=null){if(super(),this.setAttribute("type","Accidental"),L$g("New accidental: ",R),this.note=null,this.index=null,this.type=R,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: ${R}`);this.cautionary=!1,this.parenLeft=null,this.parenRight=null,this.reset()}reset(){const R=this.render_options.font_scale;this.glyph=new Glyph(this.accidental.code,R),this.glyph.setOriginX(1),this.cautionary&&(this.parenLeft=new Glyph(Flow.accidentalCodes("{").code,R),this.parenRight=new Glyph(Flow.accidentalCodes("}").code,R),this.parenLeft.setOriginX(1),this.parenRight.setOriginX(1))}getCategory(){return Accidental.CATEGORY}getWidth(){const R=this.cautionary?getGlyphWidth(this.parenLeft)+getGlyphWidth(this.parenRight)+this.render_options.parenLeftPadding+this.render_options.parenRightPadding:0;return getGlyphWidth(this.glyph)+R}setNote(R){if(!R)throw new Vex.RERR("ArgumentError",`Bad note value: ${R}`);this.note=R,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:R,type:F,position:D,note:G,index:U,cautionary:W,x_shift:q,y_shift:Y,glyph:Q,parenLeft:Z,parenRight:K,render_options:{parenLeftPadding:J,parenRightPadding:ie}}=this;if(this.checkContext(),!(G&&U!=null))throw new Vex.RERR("NoAttachedNote","Can't draw accidental without a note and index.");const ne=G.getModifierStartXY(D,U);let se=ne.x+q;const re=ne.y+Y;L$g("Rendering: ",F,se,re),W?(K.render(R,se,re),se-=getGlyphWidth(K),se-=ie,se-=this.accidental.parenRightPaddingAdjustment,Q.render(R,se,re),se-=getGlyphWidth(Q),se-=J,Z.render(R,se,re)):Q.render(R,se,re),this.setRendered()}}class NoteSubGroup$1 extends Modifier{static get CATEGORY(){return"notesubgroup"}static format(R,F){if(!R||R.length===0)return!1;let D=0;for(let G=0;G<R.length;++G){const U=R[G];U.preFormat(),D+=U.getWidth()}return F.left_shift+=D,!0}constructor(R){return super(),this.setAttribute("type","NoteSubGroup"),this.note=null,this.index=null,this.position=Modifier.Position.LEFT,this.subNotes=R,this.subNotes.forEach(F=>{F.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 NoteSubGroup$1.CATEGORY}preFormat(){this.preFormatted||(this.formatter.joinVoices([this.voice]).format([this.voice],0),this.setWidth(this.formatter.getMinTotalWidth()),this.preFormatted=!0)}setNote(R){this.note=R}setWidth(R){this.width=R}getWidth(){return this.width}draw(){this.checkContext();const R=this.getNote();if(!(R&&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,R),this.subNotes.forEach(F=>F.setContext(this.context).drawWithStyle())}}class StaveTie extends Element$1{constructor(R,F){super(),this.setAttribute("type","StaveTie"),this.notes=R,this.context=null,this.text=F,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(R)}setFont(R){return this.font=R,this}setDirection(R){return this.direction=R,this}setNotes(R){if(!R.first_note&&!R.last_note)throw new Vex.RuntimeError("BadArguments","Tie needs to have either first_note or last_note set.");if(R.first_indices||(R.first_indices=[0]),R.last_indices||(R.last_indices=[0]),R.first_indices.length!==R.last_indices.length)throw new Vex.RuntimeError("BadArguments","Tied notes must have similar index sizes");return this.first_note=R.first_note,this.first_indices=R.first_indices,this.last_note=R.last_note,this.last_indices=R.last_indices,this}isPartial(){return!this.first_note||!this.last_note}renderTie(R){if(R.first_ys.length===0||R.last_ys.length===0)throw new Vex.RERR("BadArguments","No Y-values to render");const F=this.context;let D=this.render_options.cp1,G=this.render_options.cp2;Math.abs(R.last_x_px-R.first_x_px)<10&&(D=2,G=8);const U=this.render_options.first_x_shift,W=this.render_options.last_x_shift,q=this.render_options.y_shift*R.direction;for(let Y=0;Y<this.first_indices.length;++Y){const Q=(R.last_x_px+W+(R.first_x_px+U))/2;let Z=R.first_ys[this.first_indices[Y]]+q,K=R.last_ys[this.last_indices[Y]]+q;if(isNaN(Z)||isNaN(K))throw new Vex.RERR("BadArguments","Bad indices for tie rendering.");const J=(Z+K)/2+D*R.direction,ie=(Z+K)/2+G*R.direction;let ne=Z>J&&Math.abs(Z-J)<10?-6:0;if(this.first_note&&this.first_note.DYMusicScoreType==="jianpu"){if(this.getAttribute("type")==="TabTie")continue;Z<J&&(ne=-15),Z!=K&&(Z=K=Math.max(Z,K))}let se;this.first_note&&(se=this.first_note.getAttribute("id")+"-tie"),this.setAttribute("el",F.openGroup("stavetie",se)),F.beginPath(),F.moveTo(R.first_x_px+U,Z+ne),F.quadraticCurveTo(Q,J+ne*2.3,R.last_x_px+W,K+ne),F.quadraticCurveTo(Q,ie+ne*2.3,R.first_x_px+U,Z+ne),F.closePath(),F.fill(),F.closeGroup()}}renderText(R,F){if(!this.text)return;let D=(R+F)/2;D-=this.context.measureText(this.text).width/2;let G=0;this.first_note&&this.first_note.DYMusicScoreType==="jianpu"&&(G=2),this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.style),this.context.fillText(this.text,D+this.render_options.text_shift_x,(this.first_note||this.last_note).getStave().getYForTopText()-1+G),this.context.restore()}draw(){this.checkContext(),this.setRendered();const R=this.first_note,F=this.last_note;let D,G,U,W,q;return R?(D=R.getTieRightX()+this.render_options.tie_spacing,q=R.getStemDirection(),U=R.getYs()):(D=F.getStave().getTieStartX(),U=F.getYs(),this.first_indices=this.last_indices),F?(G=F.getTieLeftX()+this.render_options.tie_spacing,q=F.getStemDirection(),W=F.getYs(),F.attrs.type==="GraceNote"&&(G+=5,D-=15)):(G=R.getStave().getTieEndX(),W=R.getYs(),this.last_indices=this.first_indices),this.direction&&(q=this.direction),this.renderTie({first_x_px:D,last_x_px:G,first_ys:U,last_ys:W,direction:q}),this.renderText(D,G),!0}}class TabTie extends StaveTie{static createHammeron(R){return new TabTie(R,"H")}static createPulloff(R){return new TabTie(R,"P")}constructor(R,F){super(R,F),this.setAttribute("type","TabTie"),this.render_options.cp1=9,this.render_options.cp2=11,this.render_options.y_shift=3,this.setNotes(R)}draw(){this.checkContext(),this.setRendered();const R=this.first_note,F=this.last_note;let D,G,U,W;return R?(D=R.getTieRightX()+this.render_options.tie_spacing,U=R.getYs()):(D=F.getStave().getTieStartX(),U=F.getYs(),this.first_indices=this.last_indices),F?(G=F.getTieLeftX()+this.render_options.tie_spacing,W=F.getYs()):(G=R.getStave().getTieEndX(),W=R.getYs(),this.last_indices=this.first_indices),this.renderTie({first_x_px:D,last_x_px:G,first_ys:U,last_ys:W,direction:-1}),this.renderText(D,G),!0}}function L$f(...B){GraceNoteGroup.DEBUG&&Vex.L("Vex.Flow.GraceNoteGroup",B)}class GraceNoteGroup extends Modifier{static get CATEGORY(){return"gracenotegroups"}static format(R,F){if(!R||R.length===0)return!1;const U=[];let W=null,q=0;for(let Z=0;Z<R.length;++Z){const K=R[Z],J=K.getNote(),ie=J.getCategory()===StaveNote.CATEGORY,ne=ie?4:0;if(ie&&J!==W){for(let se=0;se<J.keys.length;++se)q=J.getKeyProps()[se].displaced?J.getExtraLeftPx():q;W=J}U.push({shift:q,gracenote_group:K,spacing:ne})}let Y=U[0].shift,Q;for(let Z=0;Z<U.length;++Z){const K=U[Z].gracenote_group;K.preFormat(),Q=K.getWidth()+U[Z].spacing,Y=Math.max(Q,Y)}for(let Z=0;Z<U.length;++Z){const K=U[Z].gracenote_group;Q=K.getWidth()+U[Z].spacing,K.setSpacingFromNextModifier(Y-Math.min(Q,Y))}return F.left_shift+=Y,!0}constructor(R,F){return super(),this.setAttribute("type","GraceNoteGroup"),this.note=null,this.index=null,this.position=Modifier.Position.LEFT,this.grace_notes=R,this.width=0,this.preFormatted=!1,this.show_slur=F,this.slur=null,this.formatter=new Formatter,this.voice=new Voice$1({num_beats:4,beat_value:4,resolution:Flow.RESOLUTION}).setStrict(!1),this.render_options={slur_y_shift:0},this.beams=[],this.voice.addTickables(this.grace_notes),this}getCategory(){return GraceNoteGroup.CATEGORY}preFormat(){this.preFormatted||(this.formatter.joinVoices([this.voice]).format([this.voice],0),this.setWidth(this.formatter.getMinTotalWidth()),this.preFormatted=!0)}beamNotes(R){if(R=R||this.grace_notes,R.length>1){const F=new Beam$1(R);F.render_options.beam_width=3,F.render_options.partial_beam_length=4,this.beams.push(F)}return this}setNote(R){this.note=R}setWidth(R){this.width=R}getWidth(){return this.width}getGraceNotes(){return this.grace_notes}draw(){this.checkContext();const R=this.getNote();if(L$f("Drawing grace note group for:",R),!(R&&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(),R),this.grace_notes.forEach(F=>{F.setContext(this.context).draw()}),this.beams.forEach(F=>{F.setContext(this.context).draw()}),this.show_slur){const F=this.getNote().getCategory()===StaveNote.CATEGORY,D=F?StaveTie:TabTie;this.slur=new D({last_note:this.grace_notes[0],first_note:R,first_indices:[0],last_indices:[0]}),this.slur.render_options.cp2=12,this.slur.render_options.y_shift=(F?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(R,F){const D=F.left_shift,G=0;if(!R||R.length===0)return this;const U=R.map(Y=>{const Q=Y.getNote();if(Q instanceof StaveNote){const{line:Z,displaced:K}=Q.getKeyProps()[Y.getIndex()],J=K?Q.getExtraLeftPx():0;return{line:Z,shift:J,stroke:Y}}else{const{str:Z}=Q.getPositions()[Y.getIndex()];return{line:Z,shift:0,stroke:Y}}}),W=D,q=U.reduce((Y,{stroke:Q,shift:Z})=>(Q.setXShift(W+Z),Math.max(Q.getWidth()+G,Y)),0);return F.left_shift+=q,!0}constructor(R,F){super(),this.setAttribute("type","Stroke"),this.note=null,this.options=Vex.Merge({},F),this.all_voices="all_voices"in this.options?this.options.all_voices:!0,this.note_end=null,this.index=null,this.type=R,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(R){return this.note_end=R,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 R=this.note.getModifierStartXY(this.position,this.index);let F=this.note.getYs(),D=R.y,G=R.y;const U=R.x-5,W=this.note.stave.options.spacing_between_lines_px,q=this.getModifierContext().getModifiers(this.note.getCategory());for(let ie=0;ie<q.length;ie++){F=q[ie].getYs();for(let ne=0;ne<F.length;ne++)(this.note===q[ie]||this.all_voices)&&(D=Vex.Min(D,F[ne]),G=Vex.Max(G,F[ne]))}let Y,Q,Z,K,J;switch(this.type){case Stroke.Type.BRUSH_DOWN:Y="vc3",Q=-3,Z=D-W/2+10,G+=W/2;break;case Stroke.Type.BRUSH_UP:Y="v11",Q=.5,Z=G+W/2,D-=W/2;break;case Stroke.Type.ROLL_DOWN:case Stroke.Type.RASQUEDO_DOWN:Y="vc3",Q=-3,K=this.x_shift+Q-2,this.note instanceof StaveNote?(D+=1.5*W,(G-D)%2!==0?G+=.5*W:G+=W,Z=D-W,J=G+W+2):(D+=1.5*W,G+=W,Z=D-.75*W,J=G+.25*W);break;case Stroke.Type.ROLL_UP:case Stroke.Type.RASQUEDO_UP:Y="v52",Q=-4,K=this.x_shift+Q-1,this.note instanceof StaveNote?(Z=W/2,D+=.5*W,(G-D)%2===0&&(G+=W/2),Z=G+.5*W,J=D-1.25*W):(D+=.25*W,G+=.5*W,Z=G+.25*W,J=D-W);break;case Stroke.Type.ARPEGGIO_DIRECTIONLESS:D+=.5*W,G+=W;break;default:throw new Vex.RERR("InvalidType",`The stroke type ${this.type} does not exist`)}if(this.type===Stroke.Type.BRUSH_DOWN||this.type===Stroke.Type.BRUSH_UP)this.context.fillRect(U+this.x_shift,D,1,G-D);else if(this.note instanceof StaveNote)for(let ie=D;ie<=G;ie+=W)Glyph.renderGlyph(this.context,U+this.x_shift-4,ie,this.render_options.font_scale,"va3");else{let ie;for(ie=D;ie<=G;ie+=10)Glyph.renderGlyph(this.context,U+this.x_shift-4,ie,this.render_options.font_scale,"va3");this.type===Stroke.Type.RASQUEDO_DOWN&&(J=ie+.25*W)}this.type!==Stroke.Type.ARPEGGIO_DIRECTIONLESS&&(Glyph.renderGlyph(this.context,U+this.x_shift+Q,Z,this.render_options.font_scale,Y),(this.type===Stroke.Type.RASQUEDO_DOWN||this.type===Stroke.Type.RASQUEDO_UP)&&(this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.weight),this.context.fillText("R",U+K,J),this.context.restore()))}}class StringNumber extends Modifier{static get CATEGORY(){return"stringnumber"}static format(R,F){const D=F.left_shift,G=F.right_shift,U=1;if(!R||R.length===0)return this;const W=[];let q=null,Y=0,Q=0,Z,K,J,ie,ne;for(Z=0;Z<R.length;++Z)for(K=R[Z],J=K.getNote(),Z=0;Z<R.length;++Z){K=R[Z],J=K.getNote(),ie=K.getPosition();const he=J.getKeyProps()[K.getIndex()];if(J!==q){for(let de=0;de<J.keys.length;++de)ne=J.getKeyProps()[de],D===0&&(Y=ne.displaced?J.getExtraLeftPx():Y),G===0&&(Q=ne.displaced?J.getExtraRightPx():Q);q=J}W.push({pos:ie,note:J,num:K,line:he.line,shiftL:Y,shiftR:Q})}W.sort((he,de)=>de.line-he.line);let se=0,re=0,ae=0,le=null,ce=null;for(Z=0;Z<W.length;++Z){let he=0;J=W[Z].note,ie=W[Z].pos,K=W[Z].num;const de=W[Z].line;W[Z].shiftL;const me=W[Z].shiftR;(de!==le||J!==ce)&&(se=G+me);const fe=K.getWidth()+U;ie===Modifier.Position.LEFT?(K.setXShift(D),he=Y+fe,re=he>re?he:re):ie===Modifier.Position.RIGHT&&(K.setXShift(se),he+=fe,ae=he>ae?he:ae),le=de,ce=J}return F.left_shift+=re,F.right_shift+=ae,!0}constructor(R){super(),this.setAttribute("type","StringNumber"),this.note=null,this.last_note=null,this.index=null,this.string_number=R,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(R){return this.note=R,this}getIndex(){return this.index}setIndex(R){return this.index=R,this}setLineEndType(R){return R>=Renderer.LineEndType.NONE&&R<=Renderer.LineEndType.DOWN&&(this.leg=R),this}setStringNumber(R){return this.string_number=R,this}setOffsetX(R){return this.x_offset=R,this}setOffsetY(R){return this.y_offset=R,this}setLastNote(R){return this.last_note=R,this}setDashed(R){return this.dashed=R,this}draw(){const R=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 F=this.note.stave.options.spacing_between_lines_px,D=this.note.getModifierStartXY(this.position,this.index);let G=D.x+this.x_shift+this.x_offset,U=D.y+this.y_shift+this.y_offset;switch(this.position){case Modifier.Position.ABOVE:case Modifier.Position.BELOW:{const q=this.note.getStemExtents();let Y=q.topY,Q=q.baseY+2;this.note.stem_direction===StaveNote.STEM_DOWN&&(Y=q.baseY,Q=q.topY-2),this.position===Modifier.Position.ABOVE?U=this.note.hasStem()?Y-F*1.75:D.y-F*1.75:U=this.note.hasStem()?Q+F*1.5:D.y+F*1.75,U+=this.y_shift+this.y_offset;break}case Modifier.Position.LEFT:G-=this.radius/2+5;break;case Modifier.Position.RIGHT:G+=this.radius/2+6;break;default:throw new Vex.RERR("InvalidPosition",`The position ${this.position} is invalid`)}R.save(),R.beginPath(),R.arc(G,U,this.radius,0,Math.PI*2,!1),R.lineWidth=1.5,R.stroke(),R.setFont(this.font.family,this.font.size,this.font.weight);const W=G-R.measureText(this.string_number).width/2;if(R.fillText(""+this.string_number,W,U+4.5),this.last_note!=null){const q=this.last_note.getStemX()-this.note.getX()+5;R.strokeStyle="#000000",R.lineCap="round",R.lineWidth=.6,this.dashed?Renderer.drawDashedLine(R,G+10,U,G+q,U,[3,3]):Renderer.drawDashedLine(R,G+10,U,G+q,U,[3,0]);let Y,Q;switch(this.leg){case Renderer.LineEndType.UP:Y=-10,Q=this.dashed?[3,3]:[3,0],Renderer.drawDashedLine(R,G+q,U,G+q,U+Y,Q);break;case Renderer.LineEndType.DOWN:Y=10,Q=this.dashed?[3,3]:[3,0],Renderer.drawDashedLine(R,G+q,U,G+q,U+Y,Q);break}}R.restore()}}function L$e(...B){Articulation$1.DEBUG&&Vex.L("Vex.Flow.Articulation",B)}const{ABOVE,BELOW}=Modifier.Position,roundToNearestHalf=(B,R)=>B(R/.5)*.5,isWithinLines=(B,R)=>R===ABOVE?B<=5:B>=1,getRoundingFunction=(B,R)=>isWithinLines(B,R)?R===ABOVE?Math.ceil:Math.floor:Math.round,snapLineToStaff=(B,R,F,D)=>{const G=roundToNearestHalf(getRoundingFunction(R,F),R),U=B&&isWithinLines(G,F),W=G%1===0;return U&&W?G+.5*-D:G},isStaveNote=B=>{const R=B.getCategory();return R==="stavenotes"||R==="gracenotes"},isTabNote=B=>{const R=B.getCategory();return R==="tabnotes"||R==="numberednotes"},getTopY=(B,R)=>{const F=B.getStave(),D=B.getStemDirection(),{topY:G,baseY:U}=B.getStemExtents();if(isStaveNote(B))return B.hasStem()?D===Stem.UP?G:U:Math.min(...B.getYs());if(isTabNote(B))return B.hasStem()&&D===Stem.UP?G:F.getYForTopText(R);throw new Vex.RERR("UnknownCategory","Only can get the top and bottom ys of stavenotes and tabnotes")},getBottomY=(B,R)=>{const F=B.getStave(),D=B.getStemDirection(),{topY:G,baseY:U}=B.getStemExtents();if(isStaveNote(B))return B.hasStem()?D===Stem.UP?U:G:Math.max(...B.getYs());if(isTabNote(B))return B.hasStem()?D===Stem.UP?F.getYForBottomText(R):G:F.getYForBottomText(R);throw new Vex.RERR("UnknownCategory","Only can get the top and bottom ys of stavenotes and tabnotes")},getInitialOffset=(B,R)=>{const F=R===ABOVE&&B.getStemDirection()===Stem.UP||R===BELOW&&B.getStemDirection()===Stem.DOWN;return isStaveNote(B)?B.hasStem()&&F?.5:1:B.hasStem()&&F?1:0};class Articulation$1 extends Modifier{static get CATEGORY(){return"articulations"}static get INITIAL_OFFSET(){return-.5}static format(R,F){if(!R||R.length===0)return!1;const D=Y=>Y.getPosition()===ABOVE,G=Y=>Y.getPosition()===BELOW,U=.5,W=(Y,Q,Z)=>roundToNearestHalf(getRoundingFunction(Q,Z),Y.glyph.getMetrics().height/10+U);R.filter(D).forEach(Y=>{Y.setTextLine(F.top_text_line),F.top_text_line+=W(Y,F.top_text_line,ABOVE)}),R.filter(G).forEach(Y=>{Y.setTextLine(F.text_line),F.text_line+=W(Y,F.text_line,BELOW)});const q=R.map(Y=>Y.getWidth()).reduce((Y,Q)=>Math.max(Q,Y));return F.left_shift+=q/2,F.right_shift+=q/2,!0}static easyScoreHook({articulations:R},F,D){if(!R)return;const G={staccato:"a.",tenuto:"a-"};R.split(",").map(U=>U.trim().split(".")).map(([U,W])=>{const q={type:G[U]};return W&&(q.position=Modifier.PositionString[W]),D.getFactory().Articulation(q)}).map(U=>F.addModifier(0,U))}constructor(R){if(super(),this.setAttribute("type","Articulation"),this.note=null,this.index=null,this.type=R,this.position=BELOW,this.render_options={font_scale:38},this.articulation=Flow.articulationCodes(this.type),!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 Articulation$1.CATEGORY}draw(){const{note:R,index:F,position:D,glyph:G,articulation:{between_lines:U},text_line:W,context:q}=this;if(this.checkContext(),!R||F==null)throw new Vex.RERR("NoAttachedNote","Can't draw Articulation without a note and index.");this.setRendered();const Y=R.getStave(),Q=Y.getSpacingBetweenLines(),Z=R.getCategory()==="tabnotes",{x:K}=R.getModifierStartXY(D,F),J=!U||Z,ie=getInitialOffset(R,D);let ne={[ABOVE]:()=>{G.setOrigin(.5,1);const se=getTopY(R,W)-(W+ie)*Q+(this.y_shift||0);return J?Math.min(Y.getYForTopText(Articulation$1.INITIAL_OFFSET),se):se},[BELOW]:()=>{G.setOrigin(.5,0);const se=getBottomY(R,W)+(W+ie)*Q;return J?Math.max(Y.getYForBottomText(Articulation$1.INITIAL_OFFSET),se):se}}[D]();if(!Z){const se=D===ABOVE?-1:1,re=Z?R.positions[F].str:R.getKeyProps()[F].line,le=(R.getYs()[F]-ne)/Q+re,ce=snapLineToStaff(U,le,D,se);isWithinLines(ce,D)&&G.setOrigin(.5,.5),ne+=Math.abs(ce-le)*Q*se}L$e(`Rendering articulation at (x: ${K}, y: ${ne})`),G.render(q,K,ne)}}class TickContext extends Tickable{static getNextContext(R){const F=R.tContexts,D=F.indexOf(R);return F[D+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(R){return this.x=R,this.xBase=R,this.xOffset=0,this}getXBase(){return this.xBase}setXBase(R){this.xBase=R,this.x=R+this.xOffset}getXOffset(){return this.xOffset}setXOffset(R){this.xOffset=R,this.x=this.xBase+R}getWidth(){return this.width+this.padding*2}setPadding(R){return this.padding=R,this}getMaxTicks(){return this.maxTicks}getMinTicks(){return this.minTicks}getTickables(){return this.tickables}getCenterAlignedTickables(){return this.tickables.filter(R=>R.isCenterAligned())}getMetrics(){const{width:R,notePx:F,extraLeftPx:D,extraRightPx:G}=this;return{width:R,notePx:F,extraLeftPx:D,extraRightPx:G}}getCurrentTick(){return this.currentTick}setCurrentTick(R){this.currentTick=R,this.preFormatted=!1}getExtraPx(){let R=0,F=0,D=0,G=0;for(let U=0;U<this.tickables.length;U++){D=Math.max(this.tickables[U].extraLeftPx||0,D),G=Math.max(this.tickables[U].extraRightPx||0,G);const W=this.tickables[U].modifierContext;W&&W!=null&&(R=Math.max(R,W.state.left_shift),F=Math.max(F,W.state.right_shift))}return{left:R,right:F,extraLeft:D,extraRight:G}}addTickable(R){if(!R)throw new Vex.RERR("BadArgument","Invalid tickable added.");if(!R.shouldIgnoreTicks()){this.ignore_ticks=!1;const F=R.getTicks();F.greaterThan(this.maxTicks)&&(this.maxTicks=F.clone()),this.minTicks==null?this.minTicks=F.clone():F.lessThan(this.minTicks)&&(this.minTicks=F.clone())}return R.setTickContext(this),this.tickables.push(R),this.preFormatted=!1,this}preFormat(){if(this.preFormatted)return this;for(let R=0;R<this.tickables.length;++R){const F=this.tickables[R];F.preFormat();const D=F.getMetrics();this.extraLeftPx=Math.max(this.extraLeftPx,D.extraLeftPx+D.modLeftPx),this.extraRightPx=Math.max(this.extraRightPx,D.extraRightPx+D.modRightPx),this.notePx=Math.max(this.notePx,D.noteWidth),this.width=this.notePx+this.extraLeftPx+this.extraRightPx}return this}postFormat(){return this.postFormatted?this:(this.postFormatted=!0,this)}}function L$d(...B){Ornament.DEBUG&&Vex.L("Vex.Flow.Ornament",B)}class Ornament extends Modifier{static get CATEGORY(){return"ornaments"}static format(R,F){if(!R||R.length===0)return!1;let D=0;for(let G=0;G<R.length;++G){const U=R[G],W=2;D=Math.max(U.getWidth(),D),U.getPosition()===Modifier.Position.ABOVE?(U.setTextLine(F.top_text_line),F.top_text_line+=W):(U.setTextLine(F.text_line),F.text_line+=W)}return F.left_shift+=D/2,F.right_shift+=D/2,!0}constructor(R){if(super(),this.setAttribute("type","Ornament"),this.note=null,this.index=null,this.type=R,this.position=Modifier.Position.ABOVE,this.delayed=!1,this.accidentalUpper=null,this.accidentalLower=null,this.render_options={font_scale:38,accidentalLowerPadding:3,accidentalUpperPadding:3},this.ornament=Flow.ornamentCodes(this.type),!this.ornament)throw new Vex.RERR("ArgumentError",`Ornament not found: '${this.type}'`);this.glyph=new Glyph(this.ornament.code,this.render_options.font_scale),this.glyph.setOrigin(.5,1)}getCategory(){return Ornament.CATEGORY}setDelayed(R){return this.delayed=R,this}setUpperAccidental(R){const F=this.render_options.font_scale/1.3;return this.accidentalUpper=new Glyph(Flow.accidentalCodes(R).code,F),this.accidentalUpper.setOrigin(.5,1),this}setLowerAccidental(R){const F=this.render_options.font_scale/1.3;return this.accidentalLower=new Glyph(Flow.accidentalCodes(R).code,F),this.accidentalLower.setOrigin(.5,1),this}draw(){if(this.checkContext(),!this.note||this.index==null)throw new Vex.RERR("NoAttachedNote","Can't draw Ornament without a note and index.");this.setRendered();const R=this.context,F=this.note.getStemDirection(),D=this.note.getStave(),G=this.note.getStem().getExtents();let U=F===StaveNote.STEM_DOWN?G.baseY:G.topY;this.note.getCategory()==="tabnotes"&&(this.note.hasStem()?F===StaveNote.STEM_DOWN&&(U=D.getYForTopText(this.text_line)):U=D.getYForTopText(this.text_line));const W=F===StaveNote.STEM_DOWN,q=D.getSpacingBetweenLines();let Y=1;!W&&this.note.beam&&(Y+=.5);const Q=q*(this.text_line+Y),Z=U-Q;let J=this.note.getModifierStartXY(this.position,this.index).x,ie=Math.min(D.getYForTopText(this.text_line),Z);if(ie+=this.y_shift,this.delayed){let ne=0;if(this.delayXShift!==void 0)ne=this.delayXShift;else{ne+=this.glyph.getMetrics().width/2;const se=TickContext.getNextContext(this.note.getTickContext());se?ne+=(se.getX()-J)*.5:ne+=(D.x+D.width-J)*.5,this.delayXShift=ne}J+=ne}L$d("Rendering ornament: ",this.ornament,J,ie),this.accidentalLower&&(this.accidentalLower.render(R,J,ie),ie-=this.accidentalLower.getMetrics().height,ie-=this.render_options.accidentalLowerPadding),this.glyph.render(R,J,ie),ie-=this.glyph.getMetrics().height,this.accidentalUpper&&(ie-=this.render_options.accidentalUpperPadding,this.accidentalUpper.render(R,J,ie))}}function L$c(...B){Annotation.DEBUG&&Vex.L("Vex.Flow.Annotation",B)}class Annotation extends Modifier{static get CATEGORY(){return"annotations"}static get Justify(){return{LEFT:1,CENTER:2,RIGHT:3,CENTER_STEM:4}}static get JustifyString(){return{left:Annotation.Justify.LEFT,right:Annotation.Justify.RIGHT,center:Annotation.Justify.CENTER,centerStem:Annotation.Justify.CENTER_STEM}}static get VerticalJustify(){return{TOP:1,CENTER:2,BOTTOM:3,CENTER_STEM:4}}static get VerticalJustifyString(){return{above:Annotation.VerticalJustify.TOP,top:Annotation.VerticalJustify.TOP,below:Annotation.VerticalJustify.BOTTOM,bottom:Annotation.VerticalJustify.BOTTOM,center:Annotation.VerticalJustify.CENTER,centerStem:Annotation.VerticalJustify.CENTER_STEM}}static format(R,F){if(!R||R.length===0)return!1;let D=0;for(let G=0;G<R.length;++G){const U=R[G];D=Math.max(U.getWidth(),D),U.getPosition()===Modifier.Position.ABOVE?(U.setTextLine(F.top_text_line),F.top_text_line++):(U.setTextLine(F.text_line),F.text_line++)}return F.left_shift+=D/2,F.right_shift+=D/2,!0}constructor(R){super(),this.setAttribute("type","Annotation"),this.note=null,this.index=null,this.text=R,this.justification=Annotation.Justify.CENTER,this.vert_justification=Annotation.VerticalJustify.TOP,this.font={family:"Arial",size:10,weight:""},this.setWidth(Flow.textWidth(R))}getCategory(){return Annotation.CATEGORY}setFont(R,F,D){return this.font={family:R,size:F,weight:D},this}setVerticalJustification(R){return this.vert_justification=typeof R=="string"?Annotation.VerticalJustifyString[R]:R,this}getJustification(){return this.justification}setJustification(R){return this.justification=typeof R=="string"?Annotation.JustifyString[R]:R,this}draw(){if(this.checkContext(),!this.note)throw new Vex.RERR("NoNoteForAnnotation","Can't draw text annotation without an attached note.");this.setRendered();const R=this.note.getModifierStartXY(Modifier.Position.ABOVE,this.index);this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.weight);const F=this.context.measureText(this.text).width,D=this.context.measureText("m").width;let G,U;this.justification===Annotation.Justify.LEFT?G=R.x:this.justification===Annotation.Justify.RIGHT?G=R.x-F:this.justification===Annotation.Justify.CENTER?G=R.x-F/2:G=this.note.getStemX()-F/2;let W,q;const Y=this.note.hasStem(),Q=this.note.getStave();if(Y&&(W=this.note.getStem().getExtents(),q=Q.getSpacingBetweenLines()),this.vert_justification===Annotation.VerticalJustify.BOTTOM){if(U=Q.getYForBottomText(this.text_line+Flow.TEXT_HEIGHT_OFFSET_HACK),Y){const K=this.note.getStemDirection()===1?W.baseY:W.topY;U=Math.max(U,K+q*(this.text_line+2))}}else if(this.vert_justification===Annotation.VerticalJustify.CENTER){const K=this.note.getYForTopText(this.text_line)-1,J=Q.getYForBottomText(this.text_line);U=K+(J-K)/2+D/2}else if(this.vert_justification===Annotation.VerticalJustify.TOP)U=Math.min(Q.getYForTopText(this.text_line),this.note.getYs()[0]-10),Y&&(U=Math.min(U,W.topY-5-q*this.text_line));else{const K=this.note.getStemExtents();U=K.topY+(K.baseY-K.topY)/2+D/2}L$c("Rendering annotation: ",this.text,G,U),["b","bb","#","##","n"].includes(this.text)?(new Glyph(Flow.accidentalCodes(this.text).code,38).render(this.context,G+2,U-27),this.setRendered()):(this.context.fillText(this.text,G,U),this.context.restore())}}class Bend extends Modifier{static get CATEGORY(){return"bends"}static get UP(){return 0}static get DOWN(){return 1}static format(R,F){if(!R||R.length===0)return!1;let D=0;const G=F.top_text_line;for(let U=0;U<R.length;++U){const W=R[U];W.setXShift(D),D=W.getWidth(),W.setTextLine(G)}return F.right_shift+=D,F.top_text_line+=1,!0}constructor(R,F,D){super(),this.setAttribute("type","Bend"),this.text=R,this.x_shift=0,this.release=F||!1,this.font="10pt Arial",this.render_options={line_width:1.5,line_style:"#777777",bend_width:8,release_width:8},D?this.phrase=D:(this.phrase=[{type:Bend.UP,text:this.text}],this.release&&this.phrase.push({type:Bend.DOWN,text:""})),this.updateWidth()}getCategory(){return Bend.CATEGORY}setXShift(R){this.x_shift=R,this.updateWidth()}setFont(R){return this.font=R,this}getText(){return this.text}updateWidth(){const R=this;function F(G){let U;return R.context?U=R.context.measureText(G).width:U=Flow.textWidth(G),U}let D=0;for(let G=0;G<this.phrase.length;++G){const U=this.phrase[G];if("width"in U)D+=U.width;else{const W=U.type===Bend.UP?this.render_options.bend_width:this.render_options.release_width;U.width=Vex.Max(W,F(U.text))+3,U.draw_width=U.width/2,D+=U.width}}return this.setWidth(D+this.x_shift),this}draw(){if(this.checkContext(),!(this.note&&this.index!=null))throw new Vex.RERR("NoNoteForBend","Can't draw bend without a note or index.");this.setRendered();const R=this.note.getModifierStartXY(Modifier.Position.RIGHT,this.index);R.x+=3,R.y+=.5;const F=this.x_shift,D=this.context,G=this.note.getStave().getYForTopText(this.text_line)+3,U=this.note.getStave().getYForTopText(this.text_line)-1,W=this;function q(ie,ne,se,re){const ae=ie+se,le=ne;D.save(),D.beginPath(),D.setLineWidth(W.render_options.line_width),D.setStrokeStyle(W.render_options.line_style),D.setFillStyle(W.render_options.line_style),D.moveTo(ie,ne),D.quadraticCurveTo(ae,le,ie+se,re),D.stroke(),D.restore()}function Y(ie,ne,se,re){D.save(),D.beginPath(),D.setLineWidth(W.render_options.line_width),D.setStrokeStyle(W.render_options.line_style),D.setFillStyle(W.render_options.line_style),D.moveTo(ie,re),D.quadraticCurveTo(ie+se,re,ie+se,ne),D.stroke(),D.restore()}function Q(ie,ne,se){const ae=se||1;D.beginPath(),D.moveTo(ie,ne),D.lineTo(ie-4,ne+4*ae),D.lineTo(ie+4,ne+4*ae),D.closePath(),D.fill()}function Z(ie,ne){D.save(),D.setRawFont(W.font);const se=ie-D.measureText(ne).width/2;D.fillText(ne,se,U),D.restore()}let K=null,J=0;for(let ie=0;ie<this.phrase.length;++ie){const ne=this.phrase[ie];ie===0&&(ne.draw_width+=F),J=ne.draw_width+(K?K.draw_width:0)-(ie===1?F:0),ne.type===Bend.UP&&(K&&K.type===Bend.UP&&Q(R.x,G),q(R.x,R.y,J,G)),ne.type===Bend.DOWN&&(K&&K.type===Bend.UP&&Y(R.x,R.y,J,G),K&&K.type===Bend.DOWN&&(Q(R.x,R.y,-1),Y(R.x,R.y,J,G)),K===null&&(J=ne.draw_width,Y(R.x,R.y,J,G))),Z(R.x+J,ne.text),K=ne,K.x=R.x,R.x+=J}K.type===Bend.UP?Q(K.x+J,G):K.type===Bend.DOWN&&Q(K.x+J,R.y,-1)}}class Vibrato extends Modifier{static get CATEGORY(){return"vibratos"}static format(R,F,D){if(!R||R.length===0)return!1;let G=F.top_text_line,U=0,W=F.right_shift-7;const q=D.getModifiers(Bend.CATEGORY);q&&q.length>0&&G--;for(let Y=0;Y<R.length;++Y){const Q=R[Y];Q.setXShift(W),Q.setTextLine(G),U+=Q.getWidth(),W+=U}return F.right_shift+=U,F.top_text_line+=1,!0}constructor(){super(),this.setAttribute("type","Vibrato"),this.position=Modifier.Position.RIGHT,this.render_options={harsh:!1,vibrato_width:20,wave_height:6,wave_width:4,wave_girth:2},this.setVibratoWidth(this.render_options.vibrato_width)}getCategory(){return Vibrato.CATEGORY}setHarsh(R){return this.render_options.harsh=R,this}setVibratoWidth(R){return this.render_options.vibrato_width=R,this.setWidth(R),this}draw(){const R=this.checkContext();if(!this.note)throw new Vex.RERR("NoNoteForVibrato","Can't draw vibrato without an attached note.");this.setRendered();const D=this.note.getModifierStartXY(Modifier.Position.RIGHT,this.index).x+this.x_shift,G=this.note.getYForTopText(this.text_line)+2;Vibrato.renderVibrato(R,D,G,this.render_options)}static renderVibrato(R,F,D,G){const{harsh:U,vibrato_width:W,wave_width:q,wave_girth:Y,wave_height:Q}=G,Z=W/q;R.beginPath();let K;if(U){for(R.moveTo(F,D+Y+1),K=0;K<Z/2;++K)R.lineTo(F+q,D-Q/2),F+=q,R.lineTo(F+q,D+Q/2),F+=q;for(K=0;K<Z/2;++K)R.lineTo(F-q,D-Q/2+Y+1),F-=q,R.lineTo(F-q,D+Q/2+Y+1),F-=q;R.fill()}else{for(R.moveTo(F,D+Y),K=0;K<Z/2;++K)R.quadraticCurveTo(F+q/2,D-Q/2,F+q,D),F+=q,R.quadraticCurveTo(F+q/2,D+Q/2,F+q,D),F+=q;for(K=0;K<Z/2;++K)R.quadraticCurveTo(F-q/2,D+Q/2+Y,F-q,D+Y),F-=q,R.quadraticCurveTo(F-q/2,D-Q/2+Y,F-q,D+Y),F-=q;R.fill()}}}function L$b(...B){ModifierContext.DEBUG&&Vex.L("Vex.Flow.ModifierContext",B)}class ModifierContext{constructor(){this.modifiers={},this.preFormatted=!1,this.postFormatted=!1,this.width=0,this.spacing=0,this.state={left_shift:0,right_shift:0,text_line:0,top_text_line:0},this.PREFORMAT=[StaveNote,Dot,FretHandFinger,Accidental,Stroke,GraceNoteGroup,NoteSubGroup$1,StringNumber,Articulation$1,Ornament,Annotation,Bend,Vibrato],this.POSTFORMAT=[StaveNote]}addModifier(R){const F=R.getCategory();return this.modifiers[F]||(this.modifiers[F]=[]),this.modifiers[F].push(R),R.setModifierContext(this),this.preFormatted=!1,this}getModifiers(R){return this.modifiers[R]}getWidth(){return this.width}getExtraLeftPx(){return this.state.left_shift}getExtraRightPx(){return this.state.right_shift}getState(){return this.state}getMetrics(){if(!this.formatted)throw new Vex.RERR("UnformattedModifier","Unformatted modifier has no metrics.");return{width:this.state.left_shift+this.state.right_shift+this.spacing,spacing:this.spacing,extra_left_px:this.state.left_shift,extra_right_px:this.state.right_shift}}preFormat(){this.preFormatted||(this.PREFORMAT.forEach(R=>{L$b("Preformatting ModifierContext: ",R.CATEGORY),R.format(this.getModifiers(R.CATEGORY),this.state,this)}),this.width=this.state.left_shift+this.state.right_shift,this.preFormatted=!0)}postFormat(){this.postFormatted||this.POSTFORMAT.forEach(R=>{L$b("Postformatting ModifierContext: ",R.CATEGORY),R.postFormat(this.getModifiers(R.CATEGORY),this)})}}function L$a(...B){Formatter.DEBUG&&Vex.L("Vex.Flow.Formatter",B)}function getNext(B,R){var D,G;const F=B[R+1];return F&&((D=F==null?void 0:F.keys)==null?void 0:D.includes("b/4"))||((G=F==null?void 0:F.keys)==null?void 0:G.includes("r/4"))?getNext(B,R+1):F}function createContexts(B,R,F){if(!B||!B.length)throw new Vex.RERR("BadArgument","No voices to format");const D=B[0].getTotalTicks(),G=B.reduce((Y,Q)=>{if(!Q.getTotalTicks().equals(D))throw new Vex.RERR("TickMismatch","Voices should have same total note duration in ticks.");if(Q.getMode()===Voice$1.Mode.STRICT&&!Q.isComplete())throw new Vex.RERR("IncompleteVoice","Voice does not have enough notes.");return Math.max(Y,Fraction.LCM(Y,Q.getResolutionMultiplier()))},1),U={},W=[],q=[];return B.forEach(Y=>{const Q=new Fraction(0,G);Y.getTickables().forEach(Z=>{const K=Q.numerator;if(!U[K]){const J=new R;q.push(J),U[K]=J}F(Z,U[K]),W.push(K),Q.add(Z.getTicks())})}),{map:U,array:q,list:Vex.SortAndUnique(W,(Y,Q)=>Y-Q,(Y,Q)=>Y===Q),resolutionMultiplier:G}}class Formatter{static SimpleFormat(R,F=0,{paddingBetween:D=10}={}){R.reduce((G,U)=>{U.addToModifierContext(new ModifierContext);const W=new TickContext().addTickable(U).preFormat(),q=W.getExtraPx();return W.setX(G+q.left),G+W.getWidth()+q.right+D},F)}static plotDebugging(R,F,D,G,U){const W=D+Note.STAVEPADDING,q=F.contextGaps;function Y(Q,Z,K){R.beginPath(),R.setStrokeStyle(K),R.setFillStyle(K),R.setLineWidth(1),R.fillRect(Q,G,Z-Q,U-G)}R.save(),R.setFont("Arial",8,""),q.gaps.forEach(Q=>{Y(W+Q.x1,W+Q.x2,"#aaa"),R.fillText(Math.round(Q.x2-Q.x1),W+Q.x1,U+12)}),R.fillText(Math.round(q.total)+"px",W-20,U+12),R.setFillStyle("red"),R.fillText("Loss: "+F.lossHistory.map(Q=>Math.round(Q)),W-20,U+22),R.restore()}static FormatAndDraw(R,F,D,G){const U={auto_beam:!1,align_rests:!1};typeof G=="object"?Vex.Merge(U,G):typeof G=="boolean"&&(U.auto_beam=G);const W=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(D),q=U.auto_beam?Beam$1.applyAndGetBeams(W):[];return new Formatter().joinVoices([W],{align_rests:U.align_rests}).formatToStave([W],F,{align_rests:U.align_rests,stave:F}),W.setStave(F).draw(R,F),q.forEach(Y=>Y.setContext(R).draw()),W.getBoundingBox()}static FormatAndDrawTab(R,F,D,G,U,W,q){const Y={auto_beam:W,align_rests:!1};typeof q=="object"?Vex.Merge(Y,q):typeof q=="boolean"&&(Y.auto_beam=q);const Q=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(U),Z=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(G),K=Y.auto_beam?Beam$1.applyAndGetBeams(Q):[];new Formatter().joinVoices([Q],{align_rests:Y.align_rests}).joinVoices([Z]).formatToStave([Q,Z],D,{align_rests:Y.align_rests}),Q.draw(R,D),Z.draw(R,F),K.forEach(J=>J.setContext(R).draw()),new StaveConnector(D,F).setContext(R).draw()}static AlignRestsToNotes(R,F,D){return R.forEach((G,U)=>{if(G instanceof StaveNote&&G.isRest()){if(G.tuplet&&!D)return;if(["va5","v3c"].includes(G.glyph.code_head)){const W=G.glyph.code_head==="va5"?10:14,q=R[U-1],Y=getNext(R,U);let Q=!1;if(q&&Y&&q.beam&&Y.beam&&(Q=q.beam.notes.includes(Y)),Q){G.setKeyLine(0,3);let Z=[...q.beam.notes,...Y.beam.notes];G.beam&&G.beam.notes&&Z.push(...G.beam.notes),Z=Array.from(new Set(Z));for(let K=0;K<Z.length;K+=1){const J=Z[K].getKeyProps()[0].line,ie=Z[K].stem;if(ie)if(ie.stem_direction>0){const ne=J<1.5?Math.abs(J-1.5)*W:0;ie.setResetHeight(ne)}else{const ne=J>4.5?Math.abs(J-4.5)*W:0;ie.setResetHeight(ne)}}}}}}),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(R,F){if(!R||!R.length)throw new Vex.RERR("BadArgument","No voices to format rests");R.forEach(D=>Formatter.AlignRestsToNotes(D.getTickables(),F))}preCalculateMinTotalWidth(R){if(this.hasMinTotalWidth)return this.minTotalWidth;if(!this.tickContexts){if(!R)throw new Vex.RERR("BadArgument","'voices' required to run preCalculateMinTotalWidth");this.createTickContexts(R)}const{list:F,map:D}=this.tickContexts;return this.minTotalWidth=F.map(G=>{const U=D[G];return U.preFormat(),U.getWidth()}).reduce((G,U)=>G+U,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(R){const F=createContexts(R,ModifierContext,(D,G)=>D.addToModifierContext(G));return this.modiferContexts=F,F}createTickContexts(R){const F=createContexts(R,TickContext,(D,G)=>G.addTickable(D));return F.array.forEach(D=>{D.tContexts=F.array}),this.totalTicks=R[0].getTicksUsed().clone(),this.tickContexts=F,F}preFormat(R=0,F,D,G){const U=this.tickContexts,{list:W,map:q,resolutionMultiplier:Y}=U;D&&G&&D.forEach(se=>se.setStave(G).preFormat());let Q=0,Z=0;const K=R/2;if(this.minTotalWidth=0,W.forEach(se=>{const re=q[se];F&&re.setContext(F),re.preFormat();const ae=re.getWidth();this.minTotalWidth+=ae;const le=re.getMetrics();Q=Q+Z+le.extraLeftPx,re.setX(Q),Z=ae-le.extraLeftPx}),this.minTotalWidth=Q+Z,this.hasMinTotalWidth=!0,R<=0)return;const ie=(R-this.minTotalWidth)/(this.totalTicks.value()*Y);let ne=0;W.forEach((se,re)=>{const ae=W[re-1]||0,le=q[se];ne+=(se-ae)*ie,le.setX(le.getX()+ne),le.getCenterAlignedTickables().forEach(he=>{he.center_x_shift=K-le.getX()})}),W.length!==1&&(this.justifyWidth=R,this.lossHistory=[],this.evaluate())}evaluate(){const R=this.justifyWidth;this.contextGaps={total:0,gaps:[]},this.tickContexts.list.forEach((U,W)=>{if(W===0)return;const q=this.tickContexts.list[W-1],Y=this.tickContexts.map[q],Q=this.tickContexts.map[U],Z=Y.getMetrics(),K=Y.getX()+Z.width,J=Q.getX(),ie=J-K;this.contextGaps.total+=ie,this.contextGaps.gaps.push({x1:K,x2:J}),Q.getFormatterMetrics().freedom.left=ie,Y.getFormatterMetrics().freedom.right=ie});const F=this.durationStats={};function D(U,W){const q=F[U];q===void 0?F[U]={mean:W,count:1}:(q.count+=1,q.mean=(q.mean+W)/2)}this.voices.forEach(U=>{U.getTickables().forEach((W,q,Y)=>{const Q=W.getTicks().clone().simplify().toString(),Z=W.getMetrics(),K=W.getFormatterMetrics(),J=W.getX()+Z.noteWidth+Z.modRightPx+Z.extraRightPx;let ie=0;if(q<Y.length-1){const ne=Y[q+1],se=ne.getMetrics();ie=ne.getX()-se.modLeftPx-se.extraLeftPx-J,K.space.used=ne.getX()-W.getX(),ne.getFormatterMetrics().freedom.left=ie}else ie=R-J,K.space.used=R-W.getX();K.freedom.right=ie,D(Q,K.space.used)})});let G=0;return this.voices.forEach(U=>{U.getTickables().forEach(W=>{const q=W.getTicks().clone().simplify().toString(),Y=W.getFormatterMetrics();Y.iterations+=1,Y.space.deviation=Y.space.used-F[q].mean,Y.duration=q,Y.space.mean=F[q].mean,G+=Math.pow(F[q].mean,2)})}),this.totalCost=Math.sqrt(G),this.lossHistory.push(this.totalCost),this}tune(){const R=G=>G.reduce((U,W)=>U+W);function F(G,U,W,q){G.setX(G.getX()+q),G.getFormatterMetrics().freedom.left+=q,G.getFormatterMetrics().freedom.right-=q,U&&(U.getFormatterMetrics().freedom.right+=q),W&&(W.getFormatterMetrics().freedom.left-=q)}let D=0;return this.tickContexts.list.forEach((G,U,W)=>{const q=this.tickContexts.map[G],Y=U>0?this.tickContexts.map[W[U-1]]:null,Q=U<W.length-1?this.tickContexts.map[W[U+1]]:null;F(q,Y,Q,D);const Z=-R(q.getTickables().map(J=>J.getFormatterMetrics().space.deviation));Z>0?D=-Math.min(q.getFormatterMetrics().freedom.right,Math.abs(Z)):Z<0&&(Q?D=Math.min(Q.getFormatterMetrics().freedom.right,Math.abs(Z)):D=0);const K=Math.min(5,Math.abs(D));D=D>0?K:-K}),this.evaluate()}postFormat(){const R=F=>F.list.forEach(D=>F.map[D].postFormat());return R(this.modiferContexts),R(this.tickContexts),this}joinVoices(R){return this.createModifierContexts(R),this.hasMinTotalWidth=!1,this}format(R,F,D){const G={align_rests:!1,context:null,stave:null};return Vex.Merge(G,D),this.voices=R,this.alignRests(R,G.align_rests),this.createTickContexts(R),this.preFormat(F,G.context,R,G.stave),G.stave&&this.postFormat(),this}formatToStave(R,F,D){const G=F.getNoteEndX()-F.getNoteStartX()-10;L$a("Formatting voices to width: ",G);const U={context:F.getContext()};return Vex.Merge(U,D),this.format(R,G,U)}}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(R){return this.position=R,this}getStave(){return this.stave}setStave(R){return this.stave=R,this}getWidth(){return this.width}setWidth(R){return this.width=R,this}getX(){return this.x}setX(R){return this.x=R,this}getCategory(){return""}makeSpacer(R){return{getContext(){return!0},setStave(){},renderToStave(){},getMetrics(){return{width:R}}}}placeGlyphOnLine(R,F,D){R.setYShift(F.getYForLine(D)-F.getYForGlyphs())}getPadding(R){return R!==void 0&&R<2?0:this.padding}setPadding(R){return this.padding=R,this}setLayoutMetrics(R){return this.layoutMetrics=R,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(R){super(),this.setAttribute("type","Barline"),this.thickness=Flow.STAVE_LINE_THICKNESS;const F=Barline.type;this.widths={},this.widths[F.SINGLE]=5,this.widths[F.DOUBLE]=5,this.widths[F.END]=5,this.widths[F.REPEAT_BEGIN]=5,this.widths[F.REPEAT_END]=5,this.widths[F.REPEAT_BOTH]=5,this.widths[F.NONE]=5,this.paddings={},this.paddings[F.SINGLE]=0,this.paddings[F.DOUBLE]=0,this.paddings[F.END]=0,this.paddings[F.REPEAT_BEGIN]=15,this.paddings[F.REPEAT_END]=15,this.paddings[F.REPEAT_BOTH]=15,this.paddings[F.NONE]=0,this.layoutMetricsMap={},this.layoutMetricsMap[F.SINGLE]={xMin:0,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[F.DOUBLE]={xMin:-3,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[F.END]={xMin:-5,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[F.REPEAT_END]={xMin:-10,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[F.REPEAT_BEGIN]={xMin:-2,xMax:10,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[F.REPEAT_BOTH]={xMin:-10,xMax:10,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[F.NONE]={xMin:0,xMax:0,paddingLeft:5,paddingRight:5},this.setPosition(StaveModifier.Position.BEGIN),this.setType(R)}getCategory(){return Barline.CATEGORY}getType(){return this.type}setType(R){return this.type=typeof R=="string"?Barline.typeString[R]:R,this.setWidth(this.widths[this.type]),this.setPadding(this.paddings[this.type]),this.setLayoutMetrics(this.layoutMetricsMap[this.type]),this}draw(R){switch(R.checkContext(),this.setRendered(),this.type){case Barline.type.SINGLE:this.drawVerticalBar(R,this.x,!1);break;case Barline.type.DOUBLE:this.drawVerticalBar(R,this.x,!0);break;case Barline.type.END:this.drawVerticalEndBar(R,this.x);break;case Barline.type.REPEAT_BEGIN:this.drawRepeatBar(R,this.x,!0),R.getX()!==this.x&&this.drawVerticalBar(R,R.getX());break;case Barline.type.REPEAT_END:this.drawRepeatBar(R,this.x,!1);break;case Barline.type.REPEAT_BOTH:this.drawRepeatBar(R,this.x,!1),this.drawRepeatBar(R,this.x,!0);break}}drawVerticalBar(R,F,D){R.checkContext();const G=R.getTopLineTopY(),U=R.getBottomLineBottomY();D&&R.context.fillRect(F-3,G,1,U-G),R.context.fillRect(F,G,1,U-G)}drawVerticalEndBar(R,F){R.checkContext();const D=R.getTopLineTopY(),G=R.getBottomLineBottomY();R.context.fillRect(F-5,D,1,G-D),R.context.fillRect(F-2,D,3,G-D)}drawRepeatBar(R,F,D){R.checkContext();const G=R.getTopLineTopY(),U=R.getBottomLineBottomY();let W=3;D||(W=-5),R.context.fillRect(F+W,G,1,U-G),R.context.fillRect(F-2,G,3,U-G);const q=2;D?W+=4:W-=4;const Y=F+W+q/2;let Q=(R.getNumLines()-1)*R.getSpacingBetweenLines();Q=Q/2-R.getSpacingBetweenLines()/2;let Z=G+Q+q/2;R.context.beginPath(),R.context.arc(Y,Z,q,0,Math.PI*2,!1),R.context.fill(),Z+=R.getSpacingBetweenLines(),R.context.beginPath(),R.context.arc(Y,Z,q,0,Math.PI*2,!1),R.context.fill()}}class Repetition$1 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(R,F,D){super(),this.setAttribute("type","Repetition"),this.symbol_type=R,this.x=F,this.x_shift=0,this.y_shift=D,this.font={family:"times",size:12,weight:"bold italic"}}getCategory(){return Repetition$1.CATEGORY}setShiftX(R){return this.x_shift=R,this}setShiftY(R){return this.y_shift=R,this}setX(R){return this.x=R,this}draw(R,F){switch(this.setRendered(),this.symbol_type){case Repetition$1.type.CODA_RIGHT:this.drawCodaFixed(R,F+R.width);break;case Repetition$1.type.CODA_LEFT:this.drawSymbolText(R,F,"Coda",!1);break;case Repetition$1.type.SEGNO_LEFT:this.drawSignoFixed(R,F);break;case Repetition$1.type.SEGNO_RIGHT:this.drawSignoFixed(R,F+R.width);break;case Repetition$1.type.DC:this.drawSymbolText(R,F,"D.C.",!1);break;case Repetition$1.type.DC_AL_CODA:this.drawSymbolText(R,F,"D.C. al Coda",!0);break;case Repetition$1.type.DC_AL_FINE:this.drawSymbolText(R,F,"D.C. al Fine",!1);break;case Repetition$1.type.DS:this.drawSymbolText(R,F,"D.S.",!1);break;case Repetition$1.type.DS_AL_CODA:this.drawSymbolText(R,F,"D.S. al Coda",!0);break;case Repetition$1.type.DS_AL_FINE:this.drawSymbolText(R,F,"D.S. al Fine",!1);break;case Repetition$1.type.FINE:this.drawSymbolText(R,F,"Fine",!1);break;case Repetition$1.type.TO_CODA:this.drawSymbolText(R,F,"To Coda",!0);break}return this}drawCodaFixed(R,F){const D=R.getYForTopText(R.options.num_lines)+this.y_shift;return Glyph.renderGlyph(R.context,this.x+F+this.x_shift,D+25,40,"v4d",!0),this}drawSignoFixed(R,F){const D=R.getYForTopText(R.options.num_lines)+this.y_shift;return Glyph.renderGlyph(R.context,this.x+F+this.x_shift,D+25,30,"v8c",!0),this}drawSymbolText(R,F,D,G){const U=R.checkContext();U.save(),U.setFont(this.font.family,this.font.size,this.font.weight);let W=0+this.x_shift,q=F+this.x_shift;this.symbol_type===Repetition$1.type.CODA_LEFT?(W=this.x+R.options.vertical_bar_width,q=W+U.measureText(D).width+12):(this.x_shift=-(W+U.measureText(D).width+12+R.options.vertical_bar_width+12),W=this.x+this.x_shift+R.options.vertical_bar_width,q=W+U.measureText(D).width+12);const Y=R.getYForTopText(R.options.num_lines)+this.y_shift+25;return G&&Glyph.renderGlyph(U,q,Y,40,"v4d",!0),U.fillText(D,W,Y+5),U.restore(),this}}class StaveSection extends StaveModifier{static get CATEGORY(){return"stavesection"}constructor(R,F,D){super(),this.setAttribute("type","StaveSection"),this.setWidth(16),this.section=R,this.x=F,this.shift_x=0,this.shift_y=D,this.font={family:"sans-serif",size:12,weight:"bold"}}getCategory(){return StaveSection.CATEGORY}setStaveSection(R){return this.section=R,this}setShiftX(R){return this.shift_x=R,this}setShiftY(R){return this.shift_y=R,this}draw(R,F){const D=R.checkContext();this.setRendered(),D.save(),D.lineWidth=2,D.setFont(this.font.family,this.font.size,this.font.weight);const G=D.measureText(""+this.section),U=G.width,W=G.height;let q=U+6;q<18&&(q=18);const Y=W,Q=R.getYForTopText(3)+this.shift_y;let Z=this.x+F;return D.beginPath(),D.lineWidth=2,D.rect(Z,Q+W/4,q,Y),D.stroke(),Z+=(q-U)/2,D.fillText(""+this.section,Z,Q+16),D.restore(),this}}class StaveTempo extends StaveModifier{static get CATEGORY(){return"stavetempo"}constructor(R,F,D){super(),this.setAttribute("type","StaveTempo"),this.tempo=R,this.position=Modifier.Position.ABOVE,this.x=F,this.shift_x=10,this.shift_y=D,this.font={family:"times",size:14,weight:"bold"},this.render_options={glyph_font_scale:30}}getCategory(){return StaveTempo.CATEGORY}setTempo(R){return this.tempo=R,this}setShiftX(R){return this.shift_x=R,this}setShiftY(R){return this.shift_y=R,this}draw(R,F){const D=R.checkContext();this.setRendered();const G=this.render_options,U=G.glyph_font_scale/38,W=this.tempo.name,q=this.tempo.duration,Y=this.tempo.dots,Q=this.tempo.bpm,Z=this.font;let K=this.x+this.shift_x+F;const J=R.getYForTopText(1)+this.shift_y;if(D.save(),D.openGroup("stavetempo",null,{}),W&&(D.setFont(Z.family,Z.size,Z.weight),D.fillText(W,K,J),K+=D.measureText(W).width),q&&Q){D.setFont(Z.family,Z.size,"normal"),W&&(K+=D.measureText(" ").width,D.fillText("(",K,J),K+=D.measureText("(").width);const ie=Flow.getGlyphProps(q);if(K+=3*U,Glyph.renderGlyph(D,K,J,G.glyph_font_scale,ie.code_head),K+=ie.getWidth()*U,ie.stem){let ne=30;ie.beam_count&&(ne+=3*(ie.beam_count-1)),ne*=U;const se=J-ne;D.fillRect(K-U,se,U,ne),ie.flag&&(Glyph.renderGlyph(D,K,se,G.glyph_font_scale,ie.code_flag_upstem),Y||(K+=6*U))}for(let ne=0;ne<Y;ne++)K+=6*U,D.beginPath(),D.arc(K,J+2*U,2*U,0,Math.PI*2,!1),D.fill();D.fillText(" = "+Q+(W?")":""),K+3*U,J)}return D.closeGroup(),D.restore(),this}}class TextNote extends Note{static get Justification(){return{LEFT:1,CENTER:2,RIGHT:3}}static get GLYPHS(){return{segno:{code:"v8c",point:40,x_shift:0,y_shift:-10},tr:{code:"v1f",point:40,x_shift:0,y_shift:0},mordent_upper:{code:"v1e",point:40,x_shift:0,y_shift:0},mordent_lower:{code:"v45",point:40,x_shift:0,y_shift:0},f:{code:"vba",point:40,x_shift:0,y_shift:0},p:{code:"vbf",point:40,x_shift:0,y_shift:0},m:{code:"v62",point:40,x_shift:0,y_shift:0},s:{code:"v4a",point:40,x_shift:0,y_shift:0},z:{code:"v80",point:40,x_shift:0,y_shift:0},coda:{code:"v4d",point:40,x_shift:0,y_shift:-8},pedal_open:{code:"v36",point:40,x_shift:0,y_shift:0},pedal_close:{code:"v5d",point:40,x_shift:0,y_shift:3},caesura_straight:{code:"v34",point:40,x_shift:0,y_shift:2},caesura_curved:{code:"v4b",point:40,x_shift:0,y_shift:2},breath:{code:"v6c",point:40,x_shift:0,y_shift:0},tick:{code:"v6f",point:50,x_shift:0,y_shift:0},turn:{code:"v72",point:40,x_shift:0,y_shift:0},turn_inverted:{code:"v33",point:40,x_shift:0,y_shift:0},mordent:{code:"v1e",point:40,x_shift:0,y_shift:0}}}constructor(R){if(super(R),this.setAttribute("type","TextNote"),this.text=R.text,this.superscript=R.superscript,this.subscript=R.subscript,this.glyph_type=R.glyph,this.glyph=null,this.font={family:"Arial",size:12,weight:""},R.font&&(this.font=R.font),this.glyph_type){const F=TextNote.GLYPHS[this.glyph_type];if(!F)throw new Vex.RERR("Invalid glyph type: "+this.glyph_type);this.glyph=new Glyph(F.code,F.point,{cache:!1}),F.width?this.setWidth(F.width):this.setWidth(this.glyph.getMetrics().width),this.glyph_struct=F}else this.setWidth(Flow.textWidth(this.text));this.line=R.line||0,this.smooth=R.smooth||!1,this.ignore_ticks=R.ignore_ticks||!1,this.justification=TextNote.Justification.LEFT}setJustification(R){return this.justification=R,this}setLine(R){return this.line=R,this}preFormat(){this.checkContext(),!this.preFormatted&&(this.smooth?this.setWidth(0):this.glyph||this.setWidth(this.context.measureText(this.text).width),this.justification===TextNote.Justification.CENTER?this.extraLeftPx=this.width/2:this.justification===TextNote.Justification.RIGHT&&(this.extraLeftPx=this.width),this.setPreFormatted(!0))}draw(){if(this.checkContext(),!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");this.setRendered();const R=this.context;let F=this.getAbsoluteX();this.justification===TextNote.Justification.CENTER?F-=this.getWidth()/2:this.justification===TextNote.Justification.RIGHT&&(F-=this.getWidth());let D;if(this.glyph)D=this.stave.getYForLine(this.line+-3),this.glyph.render(this.context,F+this.glyph_struct.x_shift,D+this.glyph_struct.y_shift);else{D=this.stave.getYForLine(this.line+-3),this.applyStyle(R),R.setFont(this.font.family,this.font.size,this.font.weight),R.fillText(this.text,F,D);const G=R.measureText("M").width,U=R.measureText(this.text).width;this.superscript&&(R.setFont(this.font.family,this.font.size/1.3,this.font.weight),R.fillText(this.superscript,F+U+2,D-G/2.2)),this.subscript&&(R.setFont(this.font.family,this.font.size/1.3,this.font.weight),R.fillText(this.subscript,F+U+2,D+G/2.2-1)),this.restoreStyle(R)}}}class StaveText extends StaveModifier{static get CATEGORY(){return"stavetext"}constructor(R,F,D){super(),this.setAttribute("type","StaveText"),this.setWidth(16),this.text=R,this.position=F,this.options={shift_x:0,shift_y:0,justification:TextNote.Justification.CENTER},Vex.Merge(this.options,D),this.font={family:"times",size:16,weight:"normal"}}getCategory(){return StaveText.CATEGORY}setStaveText(R){return this.text=R,this}setShiftX(R){return this.shift_x=R,this}setShiftY(R){return this.shift_y=R,this}setFont(R){Vex.Merge(this.font,R)}setText(R){this.text=R}draw(R){const F=R.checkContext();this.setRendered(),F.save(),F.lineWidth=2,F.setFont(this.font.family,this.font.size,this.font.weight);const D=F.measureText(""+this.text).width;let G,U;const W=StaveModifier.Position,q=TextNote.Justification;switch(this.position){case W.LEFT:case W.RIGHT:U=(R.getYForLine(0)+R.getBottomLineY())/2+this.options.shift_y,this.position===W.LEFT?G=R.getX()-D-24+this.options.shift_x:G=R.getX()+R.getWidth()+24+this.options.shift_x;break;case W.ABOVE:case W.BELOW:G=R.getX()+this.options.shift_x,this.options.justification===q.CENTER?G+=R.getWidth()/2-D/2:this.options.justification===q.RIGHT&&(G+=R.getWidth()-D),this.position===W.ABOVE?U=R.getYForTopText(2)+this.options.shift_y:U=R.getYForBottomText(2)+this.options.shift_y;break;default:throw new Vex.RERR("InvalidPosition","Value Must be in Modifier.Position.")}return F.fillText(""+this.text,G,U+4),F.restore(),this}}function L$9(...B){Clef.DEBUG&&Vex.L("Vex.Flow.Clef",B)}class Clef extends StaveModifier{static get CATEGORY(){return"clefs"}static get types(){return{treble:{code:"v83",line:3},bass:{code:"v79",line:1},alto:{code:"vad",line:2},tenor:{code:"vad",line:1},percussion:{code:"v59",line:2},soprano:{code:"vad",line:4},"mezzo-soprano":{code:"vad",line:3},"baritone-c":{code:"vad",line:0},"baritone-f":{code:"v79",line:2},subbass:{code:"v79",line:0},french:{code:"v83",line:4},tab:{code:"v2f"}}}static get sizes(){return{default:{point:40,width:26},small:{point:32,width:20}}}static get annotations(){return{"8va":{code:"v8",sizes:{default:{point:20,attachments:{treble:{line:-1.2,x_shift:11}}},small:{point:18,attachments:{treble:{line:-.4,x_shift:8}}}}},"8vb":{code:"v8",sizes:{default:{point:20,attachments:{treble:{line:6.3,x_shift:10},bass:{line:4,x_shift:1}}},small:{point:18,attachments:{treble:{line:5.8,x_shift:6},bass:{line:3.5,x_shift:.5}}}}}}}constructor(R,F,D){super(),this.setAttribute("type","Clef"),this.setPosition(StaveModifier.Position.BEGIN),this.setType(R,F,D),this.setWidth(Clef.sizes[this.size].width),L$9("Creating clef:",R)}getCategory(){return Clef.CATEGORY}setType(R,F,D){if(this.type=R,this.clef=Clef.types[R],F===void 0?this.size="default":this.size=F,this.clef.point=Clef.sizes[this.size].point,this.glyph=new Glyph(this.clef.code,this.clef.point),D!==void 0){const G=Clef.annotations[D];this.annotation={code:G.code,point:G.sizes[this.size].point,line:G.sizes[this.size].attachments[this.type].line,x_shift:G.sizes[this.size].attachments[this.type].x_shift},this.attachment=new Glyph(this.annotation.code,this.annotation.point),this.attachment.metrics.x_max=0,this.attachment.setXShift(this.annotation.x_shift)}else this.annotation=void 0;return this}getWidth(){if(this.type==="tab"&&!this.stave)throw new Vex.RERR("ClefError","Can't get width without stave.");return this.width}setStave(R){if(this.stave=R,this.type!=="tab")return this;let F,D;const G=this.stave.getOptions().num_lines;switch(G){case 8:F=55,D=14;break;case 7:F=47,D=8;break;case 6:F=40,D=1;break;case 5:F=30,D=-6;break;case 4:F=23,D=-12;break;default:throw new Vex.RERR("ClefError",`Invalid number of lines: ${G}`)}return this.glyph.setPoint(F),this.glyph.setYShift(D),this}draw(){if(!this.x)throw new Vex.RERR("ClefError","Can't draw clef without x.");if(!this.stave)throw new Vex.RERR("ClefError","Can't draw clef without stave.");this.setRendered(),this.glyph.setStave(this.stave),this.glyph.setContext(this.stave.context),this.clef.line!==void 0&&this.placeGlyphOnLine(this.glyph,this.stave,this.clef.line),this.stave.context.openGroup("clef"),this.glyph.renderToStave(this.x),this.annotation!==void 0&&(this.placeGlyphOnLine(this.attachment,this.stave,this.annotation.line),this.attachment.setStave(this.stave),this.attachment.setContext(this.stave.context),this.attachment.renderToStave(this.x)),this.stave.context.closeGroup()}}class KeySignature extends StaveModifier{static get CATEGORY(){return"keysignatures"}static get accidentalSpacing(){return{"#":{above:6,below:4},b:{above:4,below:7},n:{above:4,below:1},"##":{above:6,below:4},bb:{above:4,below:7},db:{above:4,below:7},d:{above:4,below:7},bbs:{above:4,below:7},"++":{above:6,below:4},"+":{above:6,below:4},"+-":{above:6,below:4},"++-":{above:6,below:4},bs:{above:4,below:10},bss:{above:4,below:10}}}constructor(R,F,D){super(),this.setAttribute("type","KeySignature"),this.setKeySig(R,F,D),this.setPosition(StaveModifier.Position.BEGIN),this.glyphFontScale=38,this.glyphs=[],this.xPositions=[],this.paddingForced=!1,this.isDraw=!0}getCategory(){return KeySignature.CATEGORY}setDrawState(R){this.isDraw=R}convertToGlyph(R,F){const D=Flow.accidentalCodes(R.type),G=new Glyph(D.code,this.glyphFontScale);let U=1;if(R.type==="n"&&F){const Y=KeySignature.accidentalSpacing[F.type];Y&&(U=F.line>=R.line?Y.above:Y.below)}this.placeGlyphOnLine(G,this.stave,R.line),this.glyphs.push(G);const W=this.xPositions[this.xPositions.length-1],q=G.getMetrics().width+U;this.xPositions.push(W+q),this.width+=q}cancelKey(R){return this.formatted=!1,this.cancelKeySpec=R,this}convertToCancelAccList(R){const F=Flow.keySignature(R),D=this.accList.length>0&&F.length>0&&F[0].type!==this.accList[0].type,G=D?F.length:F.length-this.accList.length;if(G<1)return;const U=[];for(let W=0;W<G;W++){let q=W;D||(q=F.length-G+W);const Y=F[q];U.push({type:"n",line:Y.line})}return this.accList=U.concat(this.accList),{accList:U,type:F[0].type}}addToStave(R){return this.paddingForced=!0,R.addModifier(this),this}convertAccLines(R,F,D=this.accList){let G=0,U;switch(R){case"soprano":F==="#"?U=[2.5,.5,2,0,1.5,-.5,1]:G=-1;break;case"mezzo-soprano":F==="b"?U=[0,2,.5,2.5,1,3,1.5]:G=1.5;break;case"alto":G=.5;break;case"tenor":F==="#"?U=[3,1,2.5,.5,2,0,1.5]:G=-.5;break;case"baritone-f":case"baritone-c":F==="b"?U=[.5,2.5,1,3,1.5,3.5,2]:G=2;break;case"bass":case"french":G=1;break}let W;if(typeof U!="undefined")for(W=0;W<D.length;++W)D[W].line=U[W];else if(G!==0)for(W=0;W<D.length;++W)D[W].line+=G}getPadding(R){return this.formatted||this.format(),this.glyphs.length===0||!this.paddingForced&&R<2?0:this.padding}getWidth(){return this.formatted||this.format(),this.width}setKeySig(R,F,D){return this.formatted=!1,this.keySpec=R,this.cancelKeySpec=F,this.alterKeySpec=D,this}alterKey(R){return this.formatted=!1,this.alterKeySpec=R,this}convertToAlterAccList(R){const F=Math.min(R.length,this.accList.length);for(let D=0;D<F;++D)R[D]&&(this.accList[D].type=R[D])}format(){if(!this.stave)throw new Vex.RERR("KeySignatureError","Can't draw key signature without stave.");this.width=0,this.glyphs=[],this.xPositions=[0],this.accList=Flow.keySignature(this.keySpec);const R=this.accList,F=R.length>0?R[0].type:null;let D;if(this.cancelKeySpec&&(D=this.convertToCancelAccList(this.cancelKeySpec)),this.alterKeySpec&&this.convertToAlterAccList(this.alterKeySpec),this.accList.length>0){const G=(this.position===StaveModifier.Position.END?this.stave.endClef:this.stave.clef)||this.stave.clef;D&&this.convertAccLines(G,D.type,D.accList),this.convertAccLines(G,F,R);for(let U=0;U<this.accList.length;++U)this.convertToGlyph(this.accList[U],this.accList[U+1])}this.formatted=!0}draw(){if(!this.x)throw new Vex.RERR("KeySignatureError","Can't draw key signature without x.");if(!this.stave)throw new Vex.RERR("KeySignatureError","Can't draw key signature without stave.");if(this.formatted||this.format(),this.setRendered(),!!this.isDraw&&this.glyphs.length>0){this.stave.context.openGroup("keysignature");for(let R=0;R<this.glyphs.length;R++){const F=this.glyphs[R],D=this.x+this.xPositions[R];F.setStave(this.stave),F.setContext(this.stave.context),F.renderToStave(D)}this.stave.context.closeGroup()}}}const assertIsValidFraction=B=>{const R=B.split("/").filter(F=>F!=="");if(R.length!==2)throw new Vex.RERR("BadTimeSignature",`Invalid time spec: ${B}. Must be in the form "<numerator>/<denominator>"`);R.forEach(F=>{if(isNaN(Number(F)))throw new Vex.RERR("BadTimeSignature",`Invalid time spec: ${B}. 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(R=null,F=15,D=!0){if(super(),this.setAttribute("type","TimeSignature"),this.validate_args=D,R===null)return;const G=F;this.point=40,this.topLine=2,this.bottomLine=4,this.setPosition(StaveModifier.Position.BEGIN),this.setTimeSig(R),this.setWidth(this.timeSig.glyph.getMetrics().width),this.setPadding(G)}getCategory(){return TimeSignature.CATEGORY}parseTimeSpec(R){if(R==="C"||R==="C|"){const{line:G,code:U,point:W}=TimeSignature.glyphs[R];return{line:G,num:!1,glyph:new Glyph(U,W)}}this.validate_args&&assertIsValidFraction(R);const[F,D]=R.split("/").map(G=>G.split(""));return{num:!0,glyph:this.makeTimeSignatureGlyph(F,D)}}makeTimeSignatureGlyph(R,F){const D=new Glyph("v0",this.point);D.topGlyphs=[],D.botGlyphs=[];let G=0;for(let K=0;K<R.length;++K){const J=R[K],ie=new Glyph("v"+J,this.point);D.topGlyphs.push(ie),G+=ie.getMetrics().width}let U=0;for(let K=0;K<F.length;++K){const J=F[K],ie=new Glyph("v"+J,this.point);D.botGlyphs.push(ie),U+=ie.getMetrics().width}const W=G>U?G:U,q=D.getMetrics().x_min;D.getMetrics=()=>({x_min:q,x_max:q+W,width:W});const Y=(W-G)/2,Q=(W-U)/2,Z=this;return D.renderToStave=function(J){let ie=J+Y;for(let ne=0;ne<this.topGlyphs.length;++ne){const se=this.topGlyphs[ne];Glyph.renderOutline(this.context,se.metrics.outline,se.scale,ie+se.x_shift,this.stave.getYForLine(Z.topLine)),ie+=se.getMetrics().width}ie=J+Q;for(let ne=0;ne<this.botGlyphs.length;++ne){const se=this.botGlyphs[ne];Z.placeGlyphOnLine(se,this.stave,se.line),Glyph.renderOutline(this.context,se.metrics.outline,se.scale,ie+se.x_shift,this.stave.getYForLine(Z.bottomLine)),ie+=se.getMetrics().width}},D}getTimeSig(){return this.timeSig}setTimeSig(R){return this.timeSig=this.parseTimeSpec(R),this}draw(){if(!this.x)throw new Vex.RERR("TimeSignatureError","Can't draw time signature without x.");if(!this.stave)throw new Vex.RERR("TimeSignatureError","Can't draw time signature without stave.");this.setRendered(),this.timeSig.glyph.setStave(this.stave),this.timeSig.glyph.setContext(this.stave.context),this.placeGlyphOnLine(this.timeSig.glyph,this.stave,this.timeSig.line),this.timeSig.glyph.renderToStave(this.x)}}class Volta extends StaveModifier{static get CATEGORY(){return"voltas"}static get type(){return{NONE:1,BEGIN:2,MID:3,END:4,BEGIN_END:5}}constructor(R,F,D,G){super(),this.setAttribute("type","Volta"),this.volta=R,this.x=D,this.y_shift=G,this.number=F,this.font={family:"sans-serif",size:9,weight:"bold"}}getCategory(){return Volta.CATEGORY}setShiftY(R){return this.y_shift=R,this}draw(R,F){const D=R.checkContext();this.setRendered();let G=R.width-F;const U=R.getYForTopText(R.options.num_lines)+this.y_shift,W=1.5*R.options.spacing_between_lines_px;switch(this.volta){case Volta.type.BEGIN:D.fillRect(this.x+F,U,1,W);break;case Volta.type.END:G-=5,D.fillRect(this.x+F+G,U,1,W);break;case Volta.type.BEGIN_END:G-=3,D.fillRect(this.x+F,U,1,W),D.fillRect(this.x+F+G,U,1,W);break}return(this.volta===Volta.type.BEGIN||this.volta===Volta.type.BEGIN_END)&&(D.save(),D.setFont(this.font.family,this.font.size,this.font.weight),D.fillText(this.number,this.x+F+5,U+15),D.restore()),D.fillRect(this.x+F,U,G,1),this}}let _keySignature="",volta={};const voltaMeasureNumber={};class Stave extends Element$1{static saxophoneMap(R){const F={C:"bE","#C":"E","C#":"E",Db:"E",D:"F",Eb:"bG",E:"G",F:"bA","#F":"A","F#":"A",Gb:"A",G:"bB",Ab:"B",A:"C",Bb:"bD",B:"D"};return F[R]?F[R]:R}constructor(R,F,D,G){super(),this.setAttribute("type","Stave"),this.x=R,this.y=F,this.width=D,this.formatted=!1,this.setStartX(R+5),this.end_x=R+D,this.staveTempos=[],this.modifiers=[],this.measure=0,this.clef="treble",this.endClef=void 0,this.font={family:"sans-serif",size:8,weight:""},this.timeSignature={numerator:"",denominator:""},this.options={vertical_bar_width:10,glyph_spacing_px:10,num_lines:5,fill_style:"#999999",left_bar:!1,right_bar:!0,spacing_between_lines_px:10,space_above_staff_ln:4,space_below_staff_ln:4,top_text_position:1,DYMusicScoreType:"",keySignature:""},this.bounds={x:this.x,y:this.y,w:this.width,h:0},Vex.Merge(this.options,G),this.resetLines();const U=Barline.type;this.addModifier(new Barline(this.options.left_bar?U.SINGLE:U.NONE)),this.addEndModifier(new Barline(this.options.right_bar?U.SINGLE:U.NONE))}space(R){return this.options.spacing_between_lines_px*R}resetLines(){this.options.line_config=[];for(let R=0;R<this.options.num_lines;R++)this.options.line_config.push({visible:!0});this.height=(this.options.num_lines+this.options.space_above_staff_ln)*this.options.spacing_between_lines_px,this.options.bottom_text_position=this.options.num_lines}getLines(){return this.options.line_config.map(F=>F.visible).filter(Boolean).length}getOptions(){return this.options}setNoteStartX(R){this.formatted||this.format(),this.setStartX(R);const F=this.modifiers[0];return F.setX(this.start_x-F.getWidth()),this}setStartX(R){this.start_x=R}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(R){return this.options.num_lines=parseInt(R,10),this.resetLines(),this}setY(R){return this.y=R,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(R){const F=R-this.x;this.formatted=!1,this.x=R,this.start_x+=F,this.end_x+=F;for(let D=0;D<this.modifiers.length;D++){const G=this.modifiers[D];G.x!==void 0&&(G.x+=F)}return this}setWidth(R){return this.formatted=!1,this.width=R,this.end_x=this.x+R,this}getWidth(){return this.width}getStyle(){return{fillStyle:this.options.fill_style,strokeStyle:this.options.fill_style,lineWidth:Flow.STAVE_LINE_THICKNESS,...this.style||{}}}setMeasure(R){return this.measure=R,this}getModifierXShift(R=0){if(typeof R!="number")throw new Vex.RERR("InvalidIndex","Must be of number type");if(this.formatted||this.format(),this.getModifiers(StaveModifier.Position.BEGIN).length===1)return 0;let F=this.start_x-this.x;const D=this.modifiers[0];return D.getType()===Barline.type.REPEAT_BEGIN&&F>D.getWidth()&&(F-=D.getWidth()),F}setRepetitionTypeLeft(R,F){return this.modifiers.push(new Repetition$1(R,this.x,F)),this}setRepetitionTypeRight(R,F){return this.modifiers.push(new Repetition$1(R,this.x,F)),this}setVoltaType(R,F,D){if(R===2)volta.type===2&&volta.stave.modifiers.push(new Volta(volta.type,volta.number_t,volta.x,volta.y)),volta={stave:this,type:R,number_t:F,MeasureNumber:this.MeasureNumber,y:D,x:this.x};else if(R===4){let G=this.MeasureNumber-volta.MeasureNumber,U=Math.max(volta.y,D);for(let W=0;W<=G;W++)voltaMeasureNumber[volta.MeasureNumber+W]={type:W===0?2:W===G?4:0,number_t:F,y:U};volta={}}else this.modifiers.push(new Volta(R,F,this.x,D));return this}drawVolta(){let R=voltaMeasureNumber[this.MeasureNumber];R&&(this.modifiers.push(new Volta(R.type,R.number_t,this.x,R.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(R,F,D=0,G=12){const U=new StaveSection(R,this.x+D,F);return U.font.size=G,this.modifiers.push(U),this}setTempo(R,F){return this.modifiers.push(new StaveTempo(R,this.x,F)),this}setText(R,F,D){let G=new StaveText(R,F,D);return G.setFont({family:"Arial",size:14,weight:"normal"}),this.modifiers.push(G),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 R=this.options,F=R.spacing_between_lines_px;return this.getYForLine(R.num_lines)+R.space_below_staff_ln*F}getBottomLineY(){return this.getYForLine(this.options.num_lines)}getYForLine(R){const F=this.options,D=F.spacing_between_lines_px,G=F.space_above_staff_ln;return this.y+R*D+G*D}getLineForY(R){const F=this.options,D=F.spacing_between_lines_px,G=F.space_above_staff_ln;return(R-this.y)/D-G}getYForTopText(R){const F=R||0;return this.getYForLine(-F-this.options.top_text_position)}getYForBottomText(R){const F=R||0;return this.getYForLine(this.options.bottom_text_position+F)}getYForNote(R){const F=this.options,D=F.spacing_between_lines_px,G=F.space_above_staff_ln;return this.y+G*D+5*D-R*D}getYForGlyphs(){return this.getYForLine(3)}addModifier(R,F,D){return F!==void 0&&R.setPosition(F),D&&(this.timeSignature.numerator=D.numerator,this.timeSignature.denominator=D.denominator),R.setStave(this),this.formatted=!1,this.modifiers.push(R),this}addEndModifier(R){return this.addModifier(R,StaveModifier.Position.END),this}setBegBarType(R){const{SINGLE:F,REPEAT_BEGIN:D,NONE:G}=Barline.type;return(R===F||R===D||R===G)&&(this.modifiers[0].setType(R),this.formatted=!1),this}setEndBarType(R){return R!==Barline.type.REPEAT_BEGIN&&(this.modifiers[1].setType(R),this.formatted=!1),this}setClef(R,F,D,G){G===void 0&&(G=StaveModifier.Position.BEGIN),G===StaveModifier.Position.END?this.endClef=R:this.clef=R;const U=this.getModifiers(G,Clef.CATEGORY);return U.length===0?this.addClef(R,F,D,G):U[0].setType(R,F,D),this}setEndClef(R,F,D){return this.setClef(R,F,D,StaveModifier.Position.END),this}setKeySignature(R,F,D){this.options.keySignature=R,D===void 0&&(D=StaveModifier.Position.BEGIN);const G=this.getModifiers(D,KeySignature.CATEGORY);return G.length===0?this.options.DYMusicScoreType!=="jianpu"&&this.addKeySignature(R,F,D):G[0].setKeySig(R,F),this}setEndKeySignature(R,F){return this.setKeySignature(R,F,StaveModifier.Position.END),this}setTimeSignature(R,F,D){D===void 0&&(D=StaveModifier.Position.BEGIN);const G=this.getModifiers(D,TimeSignature.CATEGORY);return G.length===0?this.addTimeSignature(R,F,D):G[0].setTimeSig(R),this}setEndTimeSignature(R,F){return this.setTimeSignature(R,F,StaveModifier.Position.END),this}addKeySignature(R,F,D){return D===void 0&&(D=StaveModifier.Position.BEGIN),this.addModifier(new KeySignature(R,F).setPosition(D),D),this}addClef(R,F,D,G){return G===void 0||G===StaveModifier.Position.BEGIN?this.clef=R:G===StaveModifier.Position.END&&(this.endClef=R),this.addModifier(new Clef(R,F,D),G),this}addEndClef(R,F,D){return this.addClef(R,F,D,StaveModifier.Position.END),this}addTimeSignature(R,F,D){return this.addModifier(new TimeSignature(R,F),D),this}addEndTimeSignature(R,F){return this.addTimeSignature(R,F,StaveModifier.Position.END),this}addTrebleGlyph(){return this.addClef("treble"),this}getModifiers(R,F){return R===void 0&&F===void 0?this.modifiers:this.modifiers.filter(D=>(R===void 0||R===D.getPosition())&&(F===void 0||F===D.getCategory()))}sortByCategory(R,F){for(let D=R.length-1;D>=0;D--)for(let G=0;G<D;G++)if(F[R[G].getCategory()]>F[R[G+1].getCategory()]){const U=R[G];R[G]=R[G+1],R[G+1]=U}}format(){const R=this.modifiers[0],F=this.modifiers[1],D=this.getModifiers(StaveModifier.Position.BEGIN),G=this.getModifiers(StaveModifier.Position.END);this.sortByCategory(D,{barlines:0,clefs:1,keysignatures:2,timesignatures:3}),this.sortByCategory(G,{timesignatures:0,keysignatures:1,barlines:2,clefs:3}),D.length>1&&R.getType()===Barline.type.REPEAT_BEGIN&&(D.push(D.splice(0,1)[0]),D.splice(0,0,new Barline(Barline.type.SINGLE))),G.indexOf(F)>0&&G.splice(0,0,new Barline(Barline.type.NONE));let U,W,q,Y=0,Q=this.x;for(let J=0;J<D.length;J++)q=D[J],W=q.getPadding(J+Y),U=q.getWidth(),isNaN(U)&&(q.setWidth(10),U=10),Q+=W,q.setX(Q),Q+=U,W+U===0&&Y--;this.setStartX(Q),Q=this.x+this.width;const Z={left:0,right:0,paddingRight:0,paddingLeft:0};let K=0;for(let J=0;J<G.length;J++){q=G[J],K=q.getCategory()==="barlines"?J:K,Z.right=0,Z.left=0,Z.paddingRight=0,Z.paddingLeft=0;const ie=q.getLayoutMetrics();ie?(J!==0&&(Z.right=ie.xMax||0,Z.paddingRight=ie.paddingRight||0),Z.left=-ie.xMin||0,Z.paddingLeft=ie.paddingLeft||0,J===G.length-1&&(Z.paddingLeft=0)):(Z.paddingRight=q.getPadding(J-K)||0,J!==0&&(Z.right=q.getWidth()||0),J===0&&(Z.left=q.getWidth()||0)),Q-=Z.paddingRight,Q-=Z.right,q.setX(Q),Q-=Z.left,Q-=Z.paddingLeft}this.end_x=G.length===1?this.x+this.width:Q,this.formatted=!0}draw(){this.checkContext(),this.setRendered(),this.formatted||this.format();const R=this.options.num_lines,F=this.width,D=this.x;let G;const U=this.getLines();if(U===2||U===3){const W=U===2?[2,4]:[0,2,4];this.options.line_config.forEach((q,Y)=>{W.includes(Y)?q.visible=!0:q.visible=!1})}for(let W=0;W<R;W++)G=this.getYForLine(W),this.options.DYMusicScoreType==="jianpu"?this.applyStyle(this.context,{strokeStyle:"transparent"}):this.applyStyle(),this.options.line_config[W].visible&&(this.context.beginPath(),this.context.moveTo(D,G),this.context.lineTo(D+F,G),this.context.stroke()),this.restoreStyle();this.drawVolta(),this.options.DYMusicScoreType==="jianpu"&&this.drawJianpuKey();for(let W=0;W<this.modifiers.length;W++){if(this.options.DYMusicScoreType==="jianpu"){let Y=this.modifiers[W].attrs.type;if(["StaveTempo","TimeSignature"].includes(Y))continue}if(this.modifiers[W].attrs.type==="StaveTempo"){this.staveTempos.push(this.modifiers[W]);continue}U===2&&(this.modifiers[W].attrs.type==="Clef"&&(this.modifiers[W].clef.line=3),this.modifiers[W].attrs.type==="TimeSignature"&&(this.modifiers[W].bottomLine=5,this.modifiers[W].topLine=3)),U===4&&this.modifiers[W].attrs.type==="Clef"&&(this.modifiers[W].clef.line=1.5);let q=!1;["StaveSection","Repetition","Volta"].includes(this.modifiers[W].attrs.type)&&(q=!0,this.context.openGroup(this.modifiers[W].attrs.type)),typeof this.modifiers[W].draw=="function"&&(this.modifiers[W].applyStyle(this.context),this.modifiers[W].draw(this,this.getModifierXShift(W)),this.modifiers[W].restoreStyle(this.context)),q&&this.context.closeGroup()}if(setTimeout(()=>this.drawStaveTempo()),this.measure>0){this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.weight);const W=this.context.measureText(""+this.measure).width;G=this.getYForTopText(0)+3,this.context.fillText(""+this.measure,this.x-W/2,G),this.context.restore()}return this}drawStaveTempo(){if(!this.staveTempos.length)return;const R=document.querySelector(`#${this.attrs.id}`);if(!R)return;const F=R.parentElement.getBBox(),D=this.getYForLine(0),G=R.parentElement.parentElement.querySelectorAll(".vf-curve");if(G.length){const U=this.x+this.staveTempos[0].shift_x+this.getModifierXShift(0),W=this.getYForTopText(1)+F.y-D+5;G.forEach(q=>{const Y=q.getBBox();Y.x-10<U&&Y.x+Y.width>U&&Y.y-10<W&&Y.y+Y.height>W&&(F.y=Y.y+5)})}for(let U=0;U<this.staveTempos.length;U++)this.staveTempos[U].shift_y=F.y-D+5,this.staveTempos[U].applyStyle(this.context),this.staveTempos[U].draw(this,this.getModifierXShift(U)),this.staveTempos[U].restoreStyle(this.context);this.staveTempos=[]}drawJianpuKey(){if(this.options.keySignature){let R=this.options.keySignature;window.DYSubjectId===6&&(R=Stave.saxophoneMap(R)),window&&window.sett&&window.sett.keySignature&&(R="C"),this.MeasureNumber<2?this.setText(`1=${R}`,1,{justification:1,shift_x:50,shift_y:-75}):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,F=0;this.MeasureNumber<2&&(R=70,F=-72),this.setText(`${this.timeSignature.numerator}`,1,{justification:1,shift_x:R,shift_y:F-13}),this.setText("\u1173",1,{justification:1,shift_x:R+3,shift_y:F-2}),this.setText(`${this.timeSignature.denominator}`,1,{justification:1,shift_x:R,shift_y:F+8})}}drawVertical(R,F){this.drawVerticalFixed(this.x+R,F)}drawVerticalFixed(R,F){this.checkContext();const D=this.getYForLine(0),G=this.getYForLine(this.options.num_lines-1);F&&this.context.fillRect(R-3,D,1,G-D+1),this.context.fillRect(R,D,1,G-D+1)}drawVerticalBar(R){this.drawVerticalBarFixed(this.x+R,!1)}drawVerticalBarFixed(R){this.checkContext();const F=this.getYForLine(0),D=this.getYForLine(this.options.num_lines-1);this.context.fillRect(R,F,1,D-F+1)}getConfigForLines(){return this.options.line_config}setConfigForLine(R,F){if(R>=this.options.num_lines||R<0)throw new Vex.RERR("StaveConfigError","The line number must be within the range of the number of lines in the Stave.");if(F.visible===void 0)throw new Vex.RERR("StaveConfigError","The line configuration object is missing the 'visible' property.");if(typeof F.visible!="boolean")throw new Vex.RERR("StaveConfigError","The line configuration objects 'visible' property must be true or false.");return this.options.line_config[R]=F,this}setConfigForLines(R){if(R.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 F in R)R[F]||(R[F]=this.options.line_config[F]),Vex.Merge(this.options.line_config[F],R[F]);return this.options.line_config=R,this}}class TabStave extends Stave{constructor(R,F,D,G){const U={spacing_between_lines_px:13,num_lines:6,top_text_position:1};Vex.Merge(U,G),super(R,F,D,U),this.setAttribute("type","TabStave")}getYForGlyphs(){return this.getYForLine(2.5)}addTabGlyph(){return this.addClef("tab"),this}}function getUnusedStringGroups(B,R){const F=[];let D=[];for(let G=1;G<=B;G++)R.indexOf(G)>-1?(F.push(D),D=[]):D.push(G);return D.length>0&&F.push(D),F}function getPartialStemLines(B,R,F,D){const G=D!==1,U=D!==-1,W=F.getSpacingBetweenLines(),q=F.getNumLines(),Y=[];return R.forEach(Q=>{const Z=Q.indexOf(q)>-1,K=Q.indexOf(1)>-1;if(G&&K||U&&Z)return;Q.length===1&&Q.push(Q[0]);const J=[];Q.forEach((ie,ne,se)=>{const re=ie===1,ae=ie===q;let le=F.getYForLine(ie-1);ne===0&&!re?le-=W/2-1:ne===se.length-1&&!ae&&(le+=W/2-1),J.push(le),D===1&&re?J.push(B-2):D===-1&&ae&&J.push(B+2)}),Y.push(J.sort((ie,ne)=>ie-ne))}),Y}class TabNote$1 extends StemmableNote{static get CATEGORY(){return"tabnotes"}constructor(R,F){if(super(R),this.setAttribute("type","TabNote"),this.ghost=!1,this.positions=R.positions,Vex.Merge(this.render_options,{glyph_font_scale:Flow.DEFAULT_TABLATURE_FONT_SCALE,draw_stem:F,draw_dots:F,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(R)}`);this.buildStem(),R.stem_direction?this.setStemDirection(R.stem_direction):this.setStemDirection(Stem.UP),this.ghost=!1,this.updateWidth()}reset(){this.stave&&this.setStave(this.stave)}getCategory(){return TabNote$1.CATEGORY}setGhost(R){return this.ghost=R,this.updateWidth(),this}hasStem(){return this.render_options.draw_stem}getStemExtension(){const R=this.getGlyph();return this.stem_extension_override!=null?this.stem_extension_override:R?this.getStemDirection()===1?R.tabnote_stem_up_extension:R.tabnote_stem_down_extension:0}addDot(){const R=new Dot;return this.dots+=1,this.addModifier(R,0)}updateWidth(){this.glyphs=[],this.width=0;for(let R=0;R<this.positions.length;++R){let F=this.positions[R].fret;this.ghost&&(F="("+F+")");const D=Flow.tabToGlyph(F,this.render_options.scale);this.glyphs.push(D),this.width=Math.max(D.getWidth(),this.width)}this.glyph.getWidth=()=>this.width}setStave(R){super.setStave(R),this.context=R.context;let F;if(this.context){const G=this.context;for(this.width=0,F=0;F<this.glyphs.length;++F){const U=this.glyphs[F],W=""+U.text;W.toUpperCase()!=="X"&&(G.save(),G.setRawFont(this.render_options.font),U.width=G.measureText(W).width,G.restore(),U.getWidth=()=>U.width),this.width=Math.max(U.getWidth(),this.width)}this.glyph.getWidth=()=>this.width}const D=this.positions.map(({str:G})=>R.getYForLine(G-1));return this.setYs(D),this.stem&&this.stem.setYBounds(this.getStemY(),this.getStemY()),this}getPositions(){return this.positions}addToModifierContext(R){this.setModifierContext(R);for(let F=0;F<this.modifiers.length;++F)this.modifierContext.addModifier(this.modifiers[F]);return this.modifierContext.addModifier(this),this.preFormatted=!1,this}getTieRightX(){let R=this.getAbsoluteX();return R+=this.glyph.getWidth()/2,R+=-this.width/2+this.width+2,R}getTieLeftX(){let R=this.getAbsoluteX();return R+=this.glyph.getWidth()/2,R-=this.width/2+2,R}getModifierStartXY(R,F){if(!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.");let D=0;return R===Modifier.Position.LEFT?D=-1*2:R===Modifier.Position.RIGHT?D=this.width+2:(R===Modifier.Position.BELOW||R===Modifier.Position.ABOVE)&&(D=this.glyph.getWidth()/2),{x:this.getAbsoluteX()+D,y:this.ys[F]}}getLineForRest(){return this.positions[0].str}preFormat(){this.preFormatted||(this.modifierContext&&this.modifierContext.preFormat(),this.setPreFormatted(!0))}getStemX(){return this.getCenterGlyphX()}getStemY(){const R=this.stave.getNumLines(),F=-.5,D=R-.5,G=Stem.UP===this.stem_direction?F:D;return this.stave.getYForLine(G)}getStemExtents(){return this.stem.getExtents()}drawFlag(){const{beam:R,glyph:F,context:D,stem:G,stem_direction:U,render_options:{draw_stem:W,glyph_font_scale:q}}=this,Y=R==null&&W;if(F.flag&&Y){const Q=this.getStemX()+1,Z=this.getStemY()-G.getHeight(),K=U===Stem.DOWN?F.code_flag_downstem:F.code_flag_upstem;Glyph.renderGlyph(D,Q,Z,q,K)}}drawModifiers(){this.modifiers.forEach(R=>{R.getCategory()==="dots"&&!this.render_options.draw_dots||(R.setContext(this.context),R.drawWithStyle())})}drawStemThrough(){const R=this.getStemX(),F=this.getStemY(),D=this.context,G=this.render_options.draw_stem_through_stave;if(this.render_options.draw_stem&&G){const W=this.stave.getNumLines(),q=this.positions.map(Z=>Z.str),Y=getUnusedStringGroups(W,q),Q=getPartialStemLines(F,Y,this.getStave(),this.getStemDirection());D.save(),D.setLineWidth(Stem.WIDTH),Q.forEach(Z=>{Z.length!==0&&(D.beginPath(),D.moveTo(R,Z[0]),D.lineTo(R,Z[Z.length-1]),D.stroke(),D.closePath())}),D.restore()}}drawPositions(){const R=this.context,F=this.getAbsoluteX(),D=this.ys;for(let G=0;G<this.positions.length;++G){const U=D[G]+this.render_options.y_shift,W=this.glyphs[G],q=this.glyph.getWidth(),Y=F+q/2-W.getWidth()/2;if(R.clearRect(Y-2,U-3,W.getWidth()+4,6),W.code)Glyph.renderGlyph(R,Y,U,this.render_options.glyph_font_scale*this.render_options.scale,W.code);else{R.save(),R.setRawFont(this.render_options.font);const Q=W.text.toString();R.fillText(Q,Y,U+5*this.render_options.scale),R.restore()}}}draw(){if(this.checkContext(),!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.");this.setRendered();const R=this.beam==null&&this.render_options.draw_stem;this.setAttribute("el",this.context.openGroup("tabnote",this.getAttribute("id"),{pointerBBox:!0})),this.drawPositions(),this.drawStemThrough();const F=this.getStemX();this.stem.setNoteHeadXBounds(F,F),R&&(this.context.openGroup("stem",null,{pointerBBox:!0}),this.stem.setContext(this.context).draw(),this.context.closeGroup()),this.drawFlag(),this.drawModifiers(),this.context.closeGroup()}}function L$8(...B){VibratoBracket.DEBUG&&Vex.L("Vex.Flow.VibratoBracket",B)}class VibratoBracket extends Element$1{constructor(R){super(),this.setAttribute("type","VibratoBracket"),this.start=R.start,this.stop=R.stop,this.toEndOfStopStave=R.toEndOfStopStave,this.line=1,this.render_options={harsh:!1,wave_height:6,wave_width:4,wave_girth:2}}setLine(R){return this.line=R,this}setHarsh(R){return this.render_options.harsh=R,this}draw(){const R=this.context;this.setRendered();const F=this.start?this.start.getStave().getYForTopText(this.line):this.stop.getStave().getYForTopText(this.line);let D=0;if(this.start){let U=0;for(const W of this.start.modifiers)if(W&&W.type==="tr"){U=W.glyph.bbox.w;break}D=this.start.getNoteHeadBeginX?this.start.getNoteHeadBeginX():this.start.getAbsoluteX(),D+=U}else D=this.stop.getStave().getTieStartX();let G=0;this.stop?G=this.toEndOfStopStave?this.stop.getStave().getTieEndX()-10:this.stop.getAbsoluteX()+this.stop.getWidth():G=this.start.getStave().getTieEndX()-10,this.render_options.vibrato_width=G-D,L$8("Rendering VibratoBracket: start_x:",D,"stop_x:",G,"y:",F),Vibrato.renderVibrato(R,D,F,this.render_options)}}let semibrave_rest;function get_semibrave_rest(){if(!semibrave_rest){const B=new NoteHead({duration:"w",note_type:"r"});semibrave_rest={glyph_font_scale:B.render_options.glyph_font_scale,glyph_code:B.glyph_code,width:B.getWidth()}}return semibrave_rest}class MultiMeasureRest extends Element$1{constructor(R,F){super(),this.setAttribute("type","MultiMeasureRest"),this.render_options={show_number:!0,number_line:-.5,number_glyph_point:40,padding_left:void 0,padding_right:void 0,line:2,spacing_between_lines_px:10,line_thickness:void 0,serif_thickness:2,use_symbols:!1,symbol_spacing:void 0,semibrave_rest_glyph_scale:Flow.DEFAULT_NOTATION_FONT_SCALE},Vex.Merge(this.render_options,F),this.number_of_measures=R,this.xs={left:NaN,right:NaN}}getXs(){return this.xs}setStave(R){return this.stave=R,this}getStave(){return this.stave}drawLine(R,F,D,G){const U=this.stave.getYForLine(this.render_options.line),W=(D-F)*.1;F+=W,D-=W;const q={thickness:this.render_options.serif_thickness,height:G};let Y=G*.25;isNaN(this.render_options.line_thickness)||(Y=this.render_options.line_thickness*.5),R.save(),R.beginPath(),R.moveTo(F,U-G),R.lineTo(F+q.thickness,U-G),R.lineTo(F+q.thickness,U-Y),R.lineTo(D-q.thickness,U-Y),R.lineTo(D-q.thickness,U-G),R.lineTo(D,U-G),R.lineTo(D,U+G),R.lineTo(D-q.thickness,U+G),R.lineTo(D-q.thickness,U+Y),R.lineTo(F+q.thickness,U+Y),R.lineTo(F+q.thickness,U+G),R.lineTo(F,U+G),R.closePath(),R.fill()}drawSymbols(R,F,D,G){const U=Math.floor(this.number_of_measures/4),W=this.number_of_measures%4,q=Math.floor(W/2),Y=W%2,Q=get_semibrave_rest(),Z=Q.width*(this.render_options.semibrave_rest_glyph_scale/Q.glyph_font_scale),K={2:{width:Z*.5,height:G},1:{width:Z}};let J=Z*1.35;isNaN(this.render_options.symbol_spacing)||(J=this.render_options.symbol_spacing);const ie=U*K[2].width+q*K[2].width+Y*K[1].width+(U+q+Y-1)*J;let ne=F+(D-F)*.5-ie*.5;const se=this.stave.getYForLine(this.render_options.line-1),re=this.stave.getYForLine(this.render_options.line),ae=this.stave.getYForLine(this.render_options.line+1);R.save(),R.setStrokeStyle("none"),R.setLineWidth(0);for(let le=0;le<U;++le)R.fillRect(ne,re-K[2].height,K[2].width,K[2].height),R.fillRect(ne,ae-K[2].height,K[2].width,K[2].height),ne+=K[2].width+J;for(let le=0;le<q;++le)R.fillRect(ne,re-K[2].height,K[2].width,K[2].height),ne+=K[2].width+J;for(let le=0;le<Y;++le)Glyph.renderGlyph(R,ne,se,this.render_options.semibrave_rest_glyph_scale,Q.glyph_code),ne+=K[1].width+J;R.restore()}draw(){this.checkContext(),this.setRendered();const R=this.context,F=this.stave,D=this.render_options.spacing_between_lines_px;let G=F.getNoteStartX(),U=F.getNoteEndX();const W=F.getModifiers(StaveModifier.Position.BEGIN);if(W.length===1&&W[0].getCategory()==="barlines"&&(G-=W[0].getWidth()),isNaN(this.render_options.padding_left)||(G=F.getX()+this.render_options.padding_left),isNaN(this.render_options.padding_right)||(U=F.getX()+F.getWidth()-this.render_options.padding_right),this.xs.left=G,this.xs.right=U,this.render_options.use_symbols?this.drawSymbols(R,G,U,D):this.drawLine(R,G,U,D),this.render_options.show_number){const q="/"+this.number_of_measures,Y=new TimeSignature(null,void 0,!1);Y.point=this.render_options.number_glyph_point,Y.setTimeSig(q),Y.setStave(F),Y.x=G+(U-G)*.5-Y.timeSig.glyph.getMetrics().width*.5,Y.bottomLine=this.render_options.number_line,Y.setContext(R).draw()}}}class ClefNote extends Note{static get CATEGORY(){return"clefnote"}constructor(R,F,D){super({duration:"b"}),this.setAttribute("type","ClefNote"),this.setType(R,F,D),this.ignore_ticks=!0}setType(R,F,D){return this.type=R,this.clef_obj=new Clef(R,F,D),this.clef=this.clef_obj.clef,this.glyph=new Glyph(this.clef.code,this.clef.point),this.setWidth(this.glyph.getMetrics().width),this}getClef(){return this.clef}setContext(R){return this.context=R,this.glyph.setContext(this.context),this}getBoundingBox(){return super.getBoundingBox()}addToModifierContext(){return this}getCategory(){return ClefNote.CATEGORY}preFormat(){return this.setPreFormatted(!0),this}draw(){if(!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");this.glyph.getContext()||this.glyph.setContext(this.context),this.setRendered();const R=this.getAbsoluteX();if(this.glyph.setStave(this.stave),this.glyph.setYShift(this.stave.getYForLine(this.clef.line)-this.stave.getYForGlyphs()),this.glyph.renderToStave(R),this.clef_obj.annotation!==void 0){const F=new Glyph(this.clef_obj.annotation.code,this.clef_obj.annotation.point);F.getContext()||F.setContext(this.context),F.setStave(this.stave),F.setYShift(this.stave.getYForLine(this.clef_obj.annotation.line)-this.stave.getYForGlyphs()),F.setXShift(this.clef_obj.annotation.x_shift),F.renderToStave(R)}}}class KeySigNote extends Note{constructor(R,F,D){super({duration:"b"}),this.setAttribute("type","KeySigNote"),this.keySignature=new KeySignature(R,F,D),this.ignore_ticks=!0}getBoundingBox(){return super.getBoundingBox()}addToModifierContext(){return this}preFormat(){return this.setPreFormatted(!0),this.keySignature.setStave(this.stave),this.keySignature.format(),this.setWidth(this.keySignature.width),this}draw(){this.stave.checkContext(),this.setRendered(),this.keySignature.x=this.getAbsoluteX(),this.keySignature.setContext(this.context),this.keySignature.draw()}}class TimeSigNote extends Note{constructor(R,F){super({duration:"b"}),this.setAttribute("type","TimeSigNote");const D=new TimeSignature(R,F);this.timeSig=D.getTimeSig(),this.setWidth(this.timeSig.glyph.getMetrics().width),this.ignore_ticks=!0}getBoundingBox(){return super.getBoundingBox()}addToModifierContext(){return this}preFormat(){return this.setPreFormatted(!0),this}draw(){this.stave.checkContext(),this.setRendered(),this.timeSig.glyph.getContext()||this.timeSig.glyph.setContext(this.context),this.timeSig.glyph.setStave(this.stave),this.timeSig.glyph.setYShift(this.stave.getYForLine(this.timeSig.line)-this.stave.getYForGlyphs()),this.timeSig.glyph.renderToStave(this.getAbsoluteX())}}class TabSlide extends TabTie{static get SLIDE_UP(){return 1}static get SLIDE_DOWN(){return-1}static createSlideUp(R){return new TabSlide(R,TabSlide.SLIDE_UP)}static createSlideDown(R){return new TabSlide(R,TabSlide.SLIDE_DOWN)}constructor(R,F){if(super(R,"sl."),this.setAttribute("type","TabSlide"),!F){const D=R.first_note.getPositions()[0].fret,G=R.last_note.getPositions()[0].fret;F=parseInt(D,10)>parseInt(G,10)?TabSlide.SLIDE_DOWN:TabSlide.SLIDE_UP}this.slide_direction=F,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(R)}renderTie(R){if(R.first_ys.length===0||R.last_ys.length===0)throw new Vex.RERR("BadArguments","No Y-values to render");const F=this.context,D=R.first_x_px,G=R.first_ys,U=R.last_x_px,W=this.slide_direction;if(W!==TabSlide.SLIDE_UP&&W!==TabSlide.SLIDE_DOWN)throw new Vex.RERR("BadSlide","Invalid slide direction");for(let q=0;q<this.first_indices.length;++q){const Y=G[this.first_indices[q]]+this.render_options.y_shift;if(isNaN(Y))throw new Vex.RERR("BadArguments","Bad indices for slide rendering.");F.beginPath(),F.moveTo(D,Y+3*W),F.lineTo(U,Y-3*W),F.closePath(),F.stroke()}this.setRendered()}}class GraceNote extends StaveNote{static get CATEGORY(){return"gracenotes"}static get LEDGER_LINE_OFFSET(){return 2}static get SCALE(){return .66}constructor(R){super(Object.assign(R,{glyph_font_scale:Flow.DEFAULT_NOTATION_FONT_SCALE*GraceNote.SCALE,stroke_px:GraceNote.LEDGER_LINE_OFFSET})),this.setAttribute("type","GraceNote"),this.slash=R.slash,this.slur=!0,this.buildNoteHeads(),this.width=3}getStemExtension(){if(this.stem_extension_override!=null)return this.stem_extension_override;const R=this.getGlyph();if(R){let F=super.getStemExtension();if(R.stem){const D=this.getStaveNoteScale();F=(Stem.HEIGHT+F)*D-Stem.HEIGHT}return F}return 0}getCategory(){return GraceNote.CATEGORY}getStaveNoteScale(){return this.render_options.glyph_font_scale/Flow.DEFAULT_NOTATION_FONT_SCALE}draw(){super.draw(),this.setRendered();const R=this.stem;if(this.slash&&R){const F=this.getStaveNoteScale(),D=F/.66;let G;const U=this.beam;if(U)U.postFormatted||U.postFormat(),G=this.calcBeamedNotesSlashBBox(8*D,8*D,{stem:6*D,beam:5*D});else{const q=this.getStemDirection(),Y=this.getNoteHeadBounds(),Q=R.getHeight();let Z=this.getAbsoluteX(),K=q===Flow.Stem.DOWN?Y.y_top-Q:Y.y_bottom-Q;const J=q===Flow.Stem.DOWN?this.glyph.stem_down_extension:this.glyph.stem_up_extension;let ie=Flow.STEM_HEIGHT;ie-=ie/2.8,ie+=J,K+=ie*F*q;const ne=q===Flow.Stem.UP?{x1:1,y1:0,x2:13,y2:-9}:{x1:-4,y1:1,x2:13,y2:9};Z+=ne.x1*D,K+=ne.y1*D,G={x1:Z,y1:K,x2:Z+ne.x2*D,y2:K+ne.y2*D}}const W=this.context;W.save(),W.setLineWidth(1*D),W.beginPath(),W.moveTo(G.x1,G.y1),W.lineTo(G.x2,G.y2),W.closePath(),W.stroke(),W.restore()}}calcBeamedNotesSlashBBox(R,F,D){const G=this.beam,U=G.slope,q=G.notes[G.notes.length-1]===this?-1:1,Y=Math.atan(U*q),Q={dx:Math.cos(Y)*F,dy:Math.sin(Y)*F};R*=this.getStemDirection();const Z=Math.atan((Q.dy-R)/Q.dx),K=Math.cos(Z)*D.stem*q,J=Math.sin(Z)*D.stem,ie=Math.cos(Z)*D.beam*q,ne=Math.sin(Z)*D.beam,se=this.getStemX(),re=G.notes[0].getStemX(),ae=this.beam.getBeamYToDraw()+(se-re)*U;return{x1:se-K,y1:ae+R-J,x2:se+Q.dx*q+ie,y2:ae+Q.dy+ne}}}class GraceTabNote extends TabNote$1{static get CATEGORY(){return"gracetabnotes"}constructor(R){super(R,!1),this.setAttribute("type","GraceTabNote"),Vex.Merge(this.render_options,{y_shift:.3,scale:.6,font:"7.5pt Arial"}),this.updateWidth()}getCategory(){return GraceTabNote.CATEGORY}draw(){super.draw(),this.setRendered()}}class Tuning{static get names(){return{standard:"E/5,B/4,G/4,D/4,A/3,E/3",dagdad:"D/5,A/4,G/4,D/4,A/3,D/3",dropd:"E/5,B/4,G/4,D/4,A/3,D/3",eb:"Eb/5,Bb/4,Gb/4,Db/4,Ab/3,Db/3",standardBanjo:"D/5,B/4,G/4,D/4,G/5"}}constructor(R="E/5,B/4,G/4,D/4,A/3,E/3,B/2,E/2"){this.setTuning(R)}noteToInteger(R){return Flow.keyProperties(R).int_value}setTuning(R){Tuning.names[R]&&(R=Tuning.names[R]),this.tuningString=R,this.tuningValues=[],this.numStrings=0;const F=R.split(/\s*,\s*/);if(F.length===0)throw new Vex.RERR("BadArguments","Invalid tuning string: "+R);this.numStrings=F.length;for(let D=0;D<this.numStrings;++D)this.tuningValues[D]=this.noteToInteger(F[D])}getValueForString(R){const F=parseInt(R,10);if(F<1||F>this.numStrings)throw new Vex.RERR("BadArguments",`String number must be between 1 and ${this.numStrings}:${R}`);return this.tuningValues[F-1]}getValueForFret(R,F){const D=this.getValueForString(F),G=parseInt(R,10);if(G<0)throw new Vex.RERR("BadArguments","Fret number must be 0 or higher: "+R);return D+G}getNoteForFret(R,F){const D=this.getValueForFret(R,F),G=Math.floor(D/12),U=D%12;return Flow.integerToNote(U)+"/"+G}}class KeyManager{constructor(R){this.music=new Music,this.setKey(R)}setKey(R){return this.key=R,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 F=Music.root_indices[this.keyParts.root];for(let D=0;D<Music.roots.length;++D){const G=(F+D)%Music.roots.length,U=Music.roots[G],W=this.music.getRelativeNoteName(U,this.scale[D]);this.scaleMap[U]=W,this.scaleMapByValue[this.scale[D]]=W,this.originalScaleMapByValue[this.scale[D]]=W}return this}getAccidental(R){const F=this.music.getKeyParts(R).root,D=this.music.getNoteParts(this.scaleMap[F]);return{note:this.scaleMap[F],accidental:D.accidental}}selectNote(R){R=R.toLowerCase();const F=this.music.getNoteParts(R),D=this.scaleMap[F.root],G=this.music.getNoteParts(D);if(D===R)return{note:D,accidental:F.accidental,change:!1};const U=this.scaleMapByValue[this.music.getNoteValue(R)];if(U!=null)return{note:U,accidental:this.music.getNoteParts(U).accidental,change:!1};const W=this.originalScaleMapByValue[this.music.getNoteValue(R)];return W!=null?(this.scaleMap[G.root]=W,delete this.scaleMapByValue[this.music.getNoteValue(D)],this.scaleMapByValue[this.music.getNoteValue(R)]=W,{note:W,accidental:this.music.getNoteParts(W).accidental,change:!0}):G.root===R?(delete this.scaleMapByValue[this.music.getNoteValue(this.scaleMap[F.root])],this.scaleMapByValue[this.music.getNoteValue(G.root)]=G.root,this.scaleMap[G.root]=G.root,{note:G.root,accidental:null,change:!0}):(delete this.scaleMapByValue[this.music.getNoteValue(this.scaleMap[F.root])],this.scaleMapByValue[this.music.getNoteValue(R)]=R,delete this.scaleMap[G.root],this.scaleMap[G.root]=R,{note:R,accidental:F.accidental,change:!0})}}class StaveHairpin extends Element$1{static get type(){return{CRESC:1,DECRESC:2}}static FormatByTicksAndDraw(R,F,D,G,U,W){const q=F.pixelsPerTick;if(q==null)throw new Vex.RuntimeError("BadArguments","A valid Formatter must be provide to draw offsets by ticks.");const Y=q*W.left_shift_ticks,Q=q*W.right_shift_ticks,Z={height:W.height,y_shift:W.y_shift,left_shift_px:Y,right_shift_px:Q};new StaveHairpin({first_note:D.first_note,last_note:D.last_note},G).setContext(R).setRenderOptions(Z).setPosition(U).draw()}constructor(R,F){super(),this.setAttribute("type","StaveHairpin"),this.notes=R,this.hairpin=F,this.position=Modifier.Position.BELOW,this.render_options={height:10,y_shift:0,left_shift_px:0,right_shift_px:0},this.setNotes(R)}setPosition(R){return(R===Modifier.Position.ABOVE||R===Modifier.Position.BELOW)&&(this.position=R),this}setRenderOptions(R){return R.height!=null&&R.y_shift!=null&&R.left_shift_px!=null&&R.right_shift_px!=null&&(this.render_options=R),this}setNotes(R){if(!R.first_note&&!R.last_note)throw new Vex.RuntimeError("BadArguments","Hairpin needs to have either first_note or last_note set.");return this.first_note=R.first_note,this.last_note=R.last_note,this}renderHairpin(R){const F=this.checkContext();let D=this.render_options.y_shift+20,G=R.first_y;this.position===Modifier.Position.ABOVE&&(D=-D+30,G=R.first_y-R.staff_height);const U=this.render_options.left_shift_px,W=this.render_options.right_shift_px;switch(F.beginPath(),this.hairpin){case StaveHairpin.type.CRESC:F.moveTo(R.last_x+W,G+D),F.lineTo(R.first_x+U,G+this.render_options.height/2+D),F.lineTo(R.last_x+W,G+this.render_options.height+D);break;case StaveHairpin.type.DECRESC:F.moveTo(R.first_x+U,G+D),F.lineTo(R.last_x+W,G+this.render_options.height/2+D),F.lineTo(R.first_x+U,G+this.render_options.height+D);break}F.stroke(),F.closePath()}draw(){this.checkContext(),this.setRendered();const R=this.first_note,F=this.last_note,D=R.getModifierStartXY(this.position,0),G=F.getModifierStartXY(this.position,0);return this.renderHairpin({first_x:D.x,last_x:G.x,first_y:R.getStave().y+R.getStave().height,last_y:F.getStave().y+F.getStave().height,staff_height:R.getStave().height}),!0}}class Curve extends Element$1{static get Position(){return{NEAR_HEAD:1,NEAR_TOP:2}}static get PositionString(){return{nearHead:Curve.Position.NEAR_HEAD,nearTop:Curve.Position.NEAR_TOP}}constructor(R,F,D){super(),this.setAttribute("type","Curve"),this.render_options={spacing:2,thickness:2,x_shift:0,y_shift:10,position:Curve.Position.NEAR_HEAD,position_end:Curve.Position.NEAR_HEAD,invert:!1,cps:[{x:0,y:10},{x:0,y:10}]},Vex.Merge(this.render_options,D),this.setNotes(R,F)}setNotes(R,F){if(!R&&!F)throw new Vex.RuntimeError("BadArguments","Curve needs to have either first_note or last_note set.");return this.from=R,this.to=F,this}isPartial(){return!this.from||!this.to}renderCurve(R){const F=this.context,D=this.render_options.cps,G=this.render_options.x_shift,U=this.render_options.y_shift*R.direction,W=R.first_x+G,q=R.first_y+U,Y=R.last_x-G,Q=R.last_y+U,Z=this.render_options.thickness,K=(Y-W)/(D.length+2);F.beginPath(),F.moveTo(W,q),F.bezierCurveTo(W+K+D[0].x,q+D[0].y*R.direction,Y-K+D[1].x,Q+D[1].y*R.direction,Y,Q),F.bezierCurveTo(Y-K+D[1].x,Q+(D[1].y+Z)*R.direction,W+K+D[0].x,q+(D[0].y+Z)*R.direction,W,q),F.stroke(),F.closePath(),F.fill()}draw(){this.checkContext(),this.setRendered();const R=this.from,F=this.to;let D,G,U,W,q,Y="baseY",Q="baseY";function Z(ie){return typeof ie=="string"?Curve.PositionString[ie]:ie}const K=Z(this.render_options.position),J=Z(this.render_options.position_end);return K===Curve.Position.NEAR_TOP&&(Y="topY",Q="topY"),J===Curve.Position.NEAR_HEAD?Q="baseY":J===Curve.Position.NEAR_TOP&&(Q="topY"),R?(D=R.getTieRightX(),q=R.getStemDirection(),U=R.getStemExtents()[Y]):(D=F.getStave().getTieStartX(),U=F.getStemExtents()[Y]),F?(G=F.getTieLeftX(),q=F.getStemDirection(),W=F.getStemExtents()[Q]):(G=R.getStave().getTieEndX(),W=R.getStemExtents()[Q]),this.renderCurve({first_x:D,last_x:G,first_y:U,last_y:W,direction:q*(this.render_options.invert===!0?-1:1)}),!0}}function L$7(...B){TextDynamics.DEBUG&&Vex.L("Vex.Flow.TextDynamics",B)}class TextDynamics extends Note{static get GLYPHS(){return{f:{code:"vba",width:12},p:{code:"vbf",width:14},m:{code:"v62",width:17},s:{code:"v4a",width:10},z:{code:"v80",width:12},r:{code:"vb1",width:12}}}constructor(R){super(R),this.setAttribute("type","TextDynamics"),this.sequence=R.text.toLowerCase(),this.line=R.line||0,this.glyphs=[],Vex.Merge(this.render_options,{glyph_font_size:40}),L$7("New Dynamics Text: ",this.sequence)}setLine(R){return this.line=R,this}preFormat(){let R=0;return this.sequence.split("").forEach(F=>{const D=TextDynamics.GLYPHS[F];if(!D)throw new Vex.RERR("Invalid dynamics character: "+F);const G=this.render_options.glyph_font_size,U=new Glyph(D.code,G);this.glyphs.push(U),R+=D.width}),this.setWidth(R),this.preFormatted=!0,this}draw(){this.setRendered();const R=this.getAbsoluteX(),F=this.stave.getYForLine(this.line+-3);L$7("Rendering Dynamics: ",this.sequence);let D=R;this.glyphs.forEach((G,U)=>{const W=this.sequence[U];G.render(this.context,D,F),D+=TextDynamics.GLYPHS[W].width})}}function drawArrowHead(B,R,F,D,G,U,W){B.beginPath(),B.moveTo(R,F),B.lineTo(D,G),B.lineTo(U,W),B.lineTo(R,F),B.closePath(),B.fill()}function drawArrowLine(B,R,F,D){const G=D.draw_start_arrow&&D.draw_end_arrow,U=R.x,W=R.y,q=F.x,Y=F.y,Q=Math.sqrt((q-U)*(q-U)+(Y-W)*(Y-W)),Z=(Q-D.arrowhead_length/3)/Q;let K,J,ie,ne;D.draw_end_arrow||G?(K=Math.round(U+(q-U)*Z),J=Math.round(W+(Y-W)*Z)):(K=q,J=Y),D.draw_start_arrow||G?(ie=U+(q-U)*(1-Z),ne=W+(Y-W)*(1-Z)):(ie=U,ne=W),D.color&&(B.setStrokeStyle(D.color),B.setFillStyle(D.color)),B.beginPath(),B.moveTo(ie,ne),B.lineTo(K,J),B.stroke(),B.closePath();const se=Math.atan2(Y-W,q-U),re=Math.abs(D.arrowhead_length/Math.cos(D.arrowhead_angle));let ae,le,ce,he,de,me;(D.draw_end_arrow||G)&&(ae=se+Math.PI+D.arrowhead_angle,ce=q+Math.cos(ae)*re,he=Y+Math.sin(ae)*re,le=se+Math.PI-D.arrowhead_angle,de=q+Math.cos(le)*re,me=Y+Math.sin(le)*re,drawArrowHead(B,ce,he,q,Y,de,me)),(D.draw_start_arrow||G)&&(ae=se+D.arrowhead_angle,ce=U+Math.cos(ae)*re,he=W+Math.sin(ae)*re,le=se-D.arrowhead_angle,de=U+Math.cos(le)*re,me=W+Math.sin(le)*re,drawArrowHead(B,ce,he,U,W,de,me))}class StaveLine extends Element$1{static get TextVerticalPosition(){return{TOP:1,BOTTOM:2}}static get TextJustification(){return{LEFT:1,CENTER:2,RIGHT:3}}constructor(R){super(),this.setAttribute("type","StaveLine"),this.notes=R,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(R)}setFont(R){return this.font=R,this}setText(R){return this.text=R,this}setNotes(R){if(!R.first_note&&!R.last_note)throw new Vex.RuntimeError("BadArguments","Notes needs to have either first_note or last_note set.");if(R.first_indices||(R.first_indices=[0]),R.last_indices||(R.last_indices=[0]),R.first_indices.length!==R.last_indices.length)throw new Vex.RuntimeError("BadArguments","Connected notes must have similar index sizes");return this.first_note=R.first_note,this.first_indices=R.first_indices,this.last_note=R.last_note,this.last_indices=R.last_indices,this}applyLineStyle(){const R=this.checkContext(),F=this.render_options;F.line_dash&&R.setLineDash(F.line_dash),F.line_width&&R.setLineWidth(F.line_width),F.rounded_end?R.setLineCap("round"):R.setLineCap("square")}applyFontStyle(){const R=this.checkContext();this.font&&R.setFont(this.font.family,this.font.size,this.font.weight),this.render_options.color&&(R.setStrokeStyle(this.render_options.color),R.setFillStyle(this.render_options.color))}draw(){const R=this.checkContext();this.setRendered();const F=this.first_note,D=this.last_note,G=this.render_options;R.save(),this.applyLineStyle();let U,W;this.first_indices.forEach((J,ie)=>{const ne=this.last_indices[ie];U=F.getModifierStartXY(2,J),W=D.getModifierStartXY(1,ne);const se=U.y>W.y;U.x+=F.getMetrics().modRightPx+G.padding_left,W.x-=D.getMetrics().modLeftPx+G.padding_right;const re=F.getGlyph().getWidth();F.getKeyProps()[J].displaced&&F.getStemDirection()===1&&(U.x+=re+G.padding_left),D.getKeyProps()[ne].displaced&&D.getStemDirection()===-1&&(W.x-=re+G.padding_right),U.y+=se?-3:1,W.y+=se?2:0,drawArrowLine(R,U,W,this.render_options)}),R.restore();const q=R.measureText(this.text).width,Y=G.text_justification;let Q=0;Y===StaveLine.TextJustification.LEFT?Q=U.x:Y===StaveLine.TextJustification.CENTER?Q=(W.x-U.x)/2+U.x-q/2:Y===StaveLine.TextJustification.RIGHT&&(Q=W.x-q);let Z;const K=G.text_position_vertical;return K===StaveLine.TextVerticalPosition.TOP?Z=F.getStave().getYForTopText():K===StaveLine.TextVerticalPosition.BOTTOM&&(Z=F.getStave().getYForBottomText(Flow.TEXT_HEIGHT_OFFSET_HACK)),R.save(),this.applyFontStyle(),R.fillText(this.text,Q,Z),R.restore(),this}}function L$6(...B){PedalMarking.DEBUG&&Vex.L("Vex.Flow.PedalMarking",B)}function drawPedalGlyph(B,R,F,D,G){const U=PedalMarking.GLYPHS[B];new Glyph(U.code,G).render(R,F+U.x_shift,D+U.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(R){return new PedalMarking(R)}static createSostenuto(R){const F=new PedalMarking(R);return F.setStyle(PedalMarking.Styles.MIXED),F.setCustomText("Sost. Ped."),F}static createUnaCorda(R){const F=new PedalMarking(R);return F.setStyle(PedalMarking.Styles.TEXT),F.setCustomText("una corda","tre corda"),F}constructor(R){super(),this.setAttribute("type","PedalMarking"),this.EndsStave=!1,this.ChangeBegin=!1,this.ChangeEnd=!1,this.notes=R,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(R){if(this.endStave=R,this.endStaveAddedWidth=0,this.startMargin=0,this.endMargin=0,Array.isArray(this.endStave.modifiers))for(let F=0;F<this.endStave.modifiers.length;F++){let D=this.endStave.modifiers[F];D&&D.position===StaveModifier.Position.END&&D.width&&(this.endStaveAddedWidth+=D.width)}}setCustomText(R,F){return this.custom_depress_text=R||"",this.custom_release_text=F||"",this}setStyle(R){if(R<1&&R>3)throw new Vex.RERR("InvalidParameter","The style must be one found in PedalMarking.Styles");return this.style=R,this}setLine(R){return this.line=R,this}drawBracketed(){const R=this.context;let F=!1,D,G;const U=this;this.notes.forEach((W,q,Y)=>{F=!F;let Q=0;if(W?Q=W.getNoteHeadBeginX():Q=this.endStave.end_x+this.endStaveAddedWidth,this.EndsStave)F?this.ChangeBegin&&(Q=W.getAbsoluteX()):(W?this.ChangeEnd?Q=W.getAbsoluteX():Q=W.getStave().end_x+this.endStaveAddedWidth-U.render_options.text_margin_right:Q=this.endStave.end_x+this.endStaveAddedWidth-U.render_options.text_margin_right,this.endMargin=-U.render_options.text_margin_right);else if(W)if(F)this.ChangeBegin&&(Q=W.getAbsoluteX());else switch(U.style){case PedalMarking.Styles.BRACKET_OPEN_END:case PedalMarking.Styles.BRACKET_OPEN_BOTH:case PedalMarking.Styles.MIXED_OPEN_END:Q=W.getNoteHeadEndX();break;default:this.ChangeEnd?Q=W.getAbsoluteX():(Q=W.getNoteHeadBeginX()-U.render_options.text_margin_right,this.startMargin=-U.render_options.text_margin_right);break}let Z=this.endStave;W&&(Z=W.getStave());let K=Z.getYForBottomText(U.line+3);G&&G>K&&(K=G);const J=Y[q+1]===W,ie=Y[q-1]===W;let ne=0;if(F)if(ne=ie?5:0,(U.style===PedalMarking.Styles.MIXED||U.style===PedalMarking.Styles.MIXED_OPEN_END)&&!ie)if(U.custom_depress_text){const se=R.measureText(U.custom_depress_text).width;R.fillText(U.custom_depress_text,Q-se/2,K),ne=se/2+U.render_options.text_margin_right}else drawPedalGlyph("pedal_depress",R,Q,K,U.render_options.glyph_point_size),ne=20+U.render_options.text_margin_right;else R.beginPath(),U.style===PedalMarking.Styles.BRACKET_OPEN_BEGIN||U.style===PedalMarking.Styles.BRACKET_OPEN_BOTH?R.moveTo(Q+ne,K):(this.ChangeBegin&&(Q+=5),R.moveTo(Q,K-U.render_options.bracket_height),this.ChangeBegin&&(Q+=5),R.lineTo(Q+ne,K)),R.stroke(),R.closePath();else ne=J&&!this.EndsStave?-5:0,R.beginPath(),R.moveTo(D,G),R.lineTo(Q+ne,K),U.style!==PedalMarking.Styles.BRACKET_OPEN_END&&U.style!==PedalMarking.Styles.MIXED_OPEN_END&&U.style!==PedalMarking.Styles.BRACKET_OPEN_BOTH&&(this.ChangeEnd&&(Q+=5),R.lineTo(Q,K-U.render_options.bracket_height)),R.stroke(),R.closePath();D=Q+ne,G=K})}drawText(){const R=this.context;let F=!1;const D=this,G=D.render_options.glyph_point_size;this.notes.forEach(U=>{F=!F;const W=U.getStave(),q=U.getAbsoluteX(),Y=W.getYForBottomText(D.line+3);let Q=0;F?D.custom_depress_text?(Q=R.measureText(D.custom_depress_text).width,R.fillText(D.custom_depress_text,q-Q/2,Y)):drawPedalGlyph("pedal_depress",R,q,Y,G):D.custom_release_text?(Q=R.measureText(D.custom_release_text).width,R.fillText(D.custom_release_text,q-Q/2,Y)):drawPedalGlyph("pedal_release",R,q,Y,G)})}draw(){const R=this.checkContext();this.setRendered(),R.save(),R.setStrokeStyle(this.render_options.color),R.setFillStyle(this.render_options.color),R.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?(R.setLineWidth(this.render_options.bracket_line_width),this.drawBracketed()):this.style===PedalMarking.Styles.TEXT&&this.drawText(),R.restore()}}function L$5(...B){TextBracket.DEBUG&&Vex.L("Vex.Flow.TextBracket",B)}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:R,stop:F,text:D="",superscript:G="",position:U=TextBracket.Positions.TOP}){super(),this.setAttribute("type","TextBracket"),this.start=R,this.stop=F,this.text=D,this.superscript=G,this.position=typeof U=="string"?TextBracket.PositionString[U]:U,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(R){return R.setFont(this.font.family,this.font.size,this.font.weight),R.setStrokeStyle(this.render_options.color),R.setFillStyle(this.render_options.color),R.setLineWidth(this.render_options.line_width),this}setDashed(R,F){return this.render_options.dashed=R,F&&(this.render_options.dash=F),this}setFont(R){return this.font={...this.font,...R},this}setLine(R){return this.line=R,this}draw(){const R=this.context;this.setRendered();let F=0;switch(this.position){case TextBracket.Positions.TOP:F=this.start.getStave().getYForTopText(this.line);break;case TextBracket.Positions.BOTTOM:F=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 D={x:this.start.getAbsoluteX(),y:F},G={x:this.stop.getAbsoluteX(),y:F};L$5("Rendering TextBracket: start:",D,"stop:",G,"y:",F);const U=this.render_options.bracket_height*this.position;R.save(),this.applyStyle(R),R.fillText(this.text,D.x,D.y);const W=R.measureText(this.text).width,q=R.measureText("M").width,Y=D.y-q/2.5;R.setFont(this.font.family,this.font.size/1.4,this.font.weight),R.fillText(this.superscript,D.x+W+1,Y);const Q=R.measureText(this.superscript).width,Z=R.measureText("M").width;let K=D.x,J=Y;const ie=G.x+this.stop.getGlyph().getWidth();this.position===TextBracket.Positions.TOP?(K+=W+Q+5,J-=Z/2.7):this.position===TextBracket.Positions.BOTTOM&&(J+=Z/2.7,K+=W+2,this.render_options.underline_superscript||(K+=Q)),this.render_options.dashed?(Renderer.drawDashedLine(R,K,J,ie,J,this.render_options.dash),this.render_options.show_bracket&&Renderer.drawDashedLine(R,ie,J+1*this.position,ie,J+U,this.render_options.dash)):(R.beginPath(),R.moveTo(K,J),R.lineTo(ie,J),this.render_options.show_bracket&&R.lineTo(ie,J+U),R.stroke(),R.closePath()),R.restore()}}function L$4(...B){BarNote.DEBUG&&Vex.L("Vex.Flow.BarNote",B)}class BarNote extends Note{constructor(R=Barline.type.SINGLE){super({duration:"b"}),this.setAttribute("type","BarNote"),this.metrics={widths:{}};const F=Barline.type;this.metrics.widths={[F.SINGLE]:8,[F.DOUBLE]:12,[F.END]:15,[F.REPEAT_BEGIN]:14,[F.REPEAT_END]:14,[F.REPEAT_BOTH]:18,[F.NONE]:0},this.ignore_ticks=!0,this.setType(R)}getType(){return this.type}setType(R){return this.type=typeof R=="string"?Barline.typeString[R]:R,this.setWidth(this.metrics.widths[this.type]),this}getBoundingBox(){return super.getBoundingBox()}addToModifierContext(){return this}preFormat(){return this.setPreFormatted(!0),this}draw(){if(this.checkContext(),!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");L$4("Rendering bar line at: ",this.getAbsoluteX());const R=new Barline(this.type);R.setX(this.getAbsoluteX()),R.draw(this.stave),this.setRendered()}}class GhostNote extends StemmableNote{constructor(R){if(!R)throw new Vex.RuntimeError("BadArguments","Ghost note must have valid initialization data to identify duration.");let F;if(typeof R=="string")F={duration:R};else if(typeof R=="object")F=R;else throw new Vex.RuntimeError("BadArguments","Ghost note must have valid initialization data to identify duration.");super(F),this.setAttribute("type","GhostNote"),this.setWidth(0)}isRest(){return!0}setStave(R){super.setStave(R)}addToModifierContext(){return this}preFormat(){return this.setPreFormatted(!0),this}draw(){if(!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");this.setRendered();for(let R=0;R<this.modifiers.length;++R){const F=this.modifiers[R];F.setContext(this.context),F.drawWithStyle()}}}class Tremolo extends Modifier{static get CATEGORY(){return"tremolo"}static get YOFFSETSTEMUP(){return-9}static get YOFFSETSTEMDOWN(){return-21}static get XOFFSETSTEMUP(){return 6}static get XOFFSETSTEMDOWN(){return-2}constructor(R,F){super(),this.setAttribute("type","Tremolo"),this.num=R,this.note=null,this.index=null,this.position=Modifier.Position.CENTER,this.code="v74",this.y_spacing_scale=1,this.extra_stroke_scale=1,this.noteTremoloList=[],F&&Array.isArray(F)&&(this.noteTremoloList=F)}getCategory(){return Tremolo.CATEGORY}getShift_x(){let R=0;if(this.noteTremoloList.length===2)try{R=this.noteTremoloList[0].formatterMetrics.freedom.right/1.5,R=isNaN(R)?0:-R}catch{}return R}draw(){if(this.checkContext(),!(this.note&&this.index!=null))throw new Vex.RERR("NoAttachedNote","Can't draw Tremolo without a note and index.");this.setRendered();const R=this.note.getStemDirection();this.y_spacing=4*R*this.y_spacing_scale;let D=this.note.getModifierStartXY(this.position,this.index).x,G=this.note.stem.getExtents().topY,U=this.note.getCategory()==="gracenotes"?GraceNote.SCALE:1;U*=this.extra_stroke_scale,R<0?G+=Tremolo.YOFFSETSTEMDOWN*U:G+=Tremolo.YOFFSETSTEMUP*U,this.font={family:"Arial",size:16*U,weight:""},this.render_options={font_scale:35*U,stroke_px:3,stroke_spacing:10*U},D+=R<0?Tremolo.XOFFSETSTEMDOWN:Tremolo.XOFFSETSTEMUP,D+=this.getShift_x();for(let q=0;q<this.num;++q)Glyph.renderGlyph(this.context,D,G,this.render_options.font_scale,this.code),G+=this.y_spacing}}function L$3(...B){Crescendo.DEBUG&&Vex.L("Vex.Flow.Crescendo",B)}function renderHairpin(B,R){const F=R.begin_x,D=R.end_x,G=R.y,U=R.height/2;B.beginPath(),R.reverse?(B.moveTo(F,G-U),B.lineTo(D,G),B.lineTo(F,G+U)):(B.moveTo(D,G-U),B.lineTo(F,G),B.lineTo(D,G+U)),B.stroke(),B.closePath()}class Crescendo extends Note{constructor(R){super(R),this.setAttribute("type","Crescendo"),this.decrescendo=!1,this.line=R.line||0,this.height=15,Vex.Merge(this.render_options,{extend_left:0,extend_right:0,y_shift:0})}setLine(R){return this.line=R,this}setHeight(R){return this.height=R,this}setDecrescendo(R){return this.decrescendo=R,this}preFormat(){return this.preFormatted=!0,this}draw(){this.checkContext(),this.setRendered();const R=this.getTickContext(),F=TickContext.getNextContext(R),D=this.getAbsoluteX(),G=F?F.getX():this.stave.x+this.stave.width,U=this.stave.getYForLine(this.line+-3)+1;L$3("Drawing ",this.decrescendo?"decrescendo ":"crescendo ",this.height,"x",D-G),renderHairpin(this.context,{begin_x:D-this.render_options.extend_left,end_x:G+this.render_options.extend_right,y:U+this.render_options.y_shift,height:this.height,reverse:this.decrescendo})}}function L$2(...B){Parser.DEBUG&&Vex.L("Vex.Flow.Parser",B)}const X$2=Vex.MakeException("ParserError");function flattenMatches(B){return B.matchedString!==void 0?B.matchedString:B.results?flattenMatches(B.results):B.length===1?flattenMatches(B[0]):B.length===0?null:B.map(flattenMatches)}class Parser{constructor(R){this.grammar=R}parse(R){this.line=R,this.pos=0,this.errorPos=-1;const F=this.expect(this.grammar.begin());return F.errorPos=this.errorPos,F}matchFail(R){this.errorPos===-1&&(this.errorPos=this.pos),this.pos=R}matchSuccess(){this.errorPos=-1}matchToken(R,F=!1){const D=F?new RegExp("^(("+R+"))"):new RegExp("^(("+R+")\\s*)"),U=this.line.slice(this.pos).match(D);return U!==null?{success:!0,matchedString:U[2],incrementPos:U[1].length,pos:this.pos}:{success:!1,pos:this.pos}}expectOne(R,F=!1){const D=[],G=this.pos;let U=!0,W=!1;F=F===!0||R.maybe===!0;for(let Q=0;Q<R.expect.length;Q++){const Z=R.expect[Q],K=this.pos,J=this.expect(Z);if(J.success){if(D.push(J),W=!0,R.or)break}else if(U=!1,!R.or){this.pos=K;break}}const q=R.or&&W||U,Y=q||F===!0;return F&&!q&&(this.pos=G),Y?this.matchSuccess():this.matchFail(G),{success:Y,results:D,numMatches:q?1:0}}expectOneOrMore(R,F=!1){const D=[],G=this.pos;let U=0,W=!0;do{const Y=this.expectOne(R);Y.success?(U++,D.push(Y.results)):W=!1}while(W);const q=U>0||F===!0;return F&&!(U>0)&&(this.pos=G),q?this.matchSuccess():this.matchFail(G),{success:q,results:D,numMatches:U}}expectZeroOrMore(R){return this.expectOneOrMore(R,!0)}expect(R){L$2("Evaluating rules:",R);let F;if(!R)throw new X$2("Invalid Rule: "+R,R);const D=R.bind(this.grammar)();if(D.token)F=this.matchToken(D.token,D.noSpace===!0),F.success&&(this.pos+=F.incrementPos);else if(D.expect)D.oneOrMore?F=this.expectOneOrMore(D):D.zeroOrMore?F=this.expectZeroOrMore(D):F=this.expectOne(D);else throw new X$2("Bad grammar! No `token` or `expect` property",D);return F.matches=[],F.results&&F.results.forEach(G=>F.matches.push(flattenMatches(G))),D.run&&F.success&&D.run(F),F}}function L$1(...B){EasyScore.DEBUG&&Vex.L("Vex.Flow.EasyScore",B)}const X$1=Vex.MakeException("EasyScoreError");class Grammar{constructor(R){this.builder=R}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:R=>this.builder.addChord(R.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:R=>this.builder.addSingleNote(R.matches[0],R.matches[1],R.matches[2])}}ACCIDENTAL(){return{expect:[this.ACCIDENTALS],maybe:!0}}DOTS(){return{expect:[this.DOT],zeroOrMore:!0,run:R=>this.builder.setNoteDots(R.matches[0])}}TYPE(){return{expect:[this.SLASH,this.MAYBESLASH,this.TYPES],maybe:!0,run:R=>this.builder.setNoteType(R.matches[2])}}DURATION(){return{expect:[this.SLASH,this.DURATIONS],maybe:!0,run:R=>this.builder.setNoteDuration(R.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 R=F=>F.slice(1,-1);return{expect:[this.KEY,this.EQUALS,this.VAL],run:F=>this.builder.addNoteOption(F.matches[0],R(F.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(R){this.factory=R,this.commitHooks=[],this.reset()}reset(R={}){this.options={stem:"auto",clef:"treble"},this.elements={notes:[],accidentals:[]},this.rollingDuration="8",this.resetPiece(),Object.assign(this.options,R)}getFactory(){return this.factory}getElements(){return this.elements}addCommitHook(R){this.commitHooks.push(R)}resetPiece(){L$1("resetPiece"),this.piece={chord:[],duration:this.rollingDuration,dots:0,type:void 0,options:{}}}setNoteDots(R){L$1("setNoteDots:",R),R&&(this.piece.dots=R.length)}setNoteDuration(R){L$1("setNoteDuration:",R),this.rollingDuration=this.piece.duration=R||this.rollingDuration}setNoteType(R){L$1("setNoteType:",R),R&&(this.piece.type=R)}addNoteOption(R,F){L$1("addNoteOption: key:",R,"value:",F),this.piece.options[R]=F}addNote(R,F,D){L$1("addNote:",R,F,D),this.piece.chord.push({key:R,accid:F,octave:D})}addSingleNote(R,F,D){L$1("addSingleNote:",R,F,D),this.addNote(R,F,D)}addChord(R){L$1("startChord"),typeof R[0]!="object"?this.addSingleNote(R[0]):R.forEach(F=>{F&&this.addNote(...F)}),L$1("endChord")}commitPiece(){L$1("commitPiece");const{factory:R}=this;if(!R)return;const F={...this.options,...this.piece.options},{stem:D,clef:G}=F,U=D.toLowerCase()==="auto",W=!U&&D.toLowerCase()==="up"?StaveNote.STEM_UP:StaveNote.STEM_DOWN,{chord:q,duration:Y,dots:Q,type:Z}=this.piece,K=q.map(ne=>ne.key+"/"+ne.octave),J=R.StaveNote({keys:K,duration:Y,dots:Q,type:Z,clef:G,auto_stem:U});U||J.setStemDirection(W);const ie=q.map(ne=>ne.accid||null);ie.forEach((ne,se)=>{ne&&J.addAccidental(se,R.Accidental({type:ne}))});for(let ne=0;ne<Q;ne++)J.addDotToAll();this.commitHooks.forEach(ne=>ne(F,J,this)),this.elements.notes.push(J),this.elements.accidentals.concat(ie),this.resetPiece()}}function setId({id:B},R){B!==void 0&&R.setAttribute("id",B)}function setClass(B,R){if(!B.class)return;const F=/\s*,\s*/;B.class.split(F).forEach(D=>R.addClass(D))}class EasyScore{constructor(R={}){this.setOptions(R),this.defaults={clef:"treble",time:"4/4",stem:"auto"}}set(R){return Object.assign(this.defaults,R),this}setOptions(R){return this.options={factory:null,builder:null,commitHooks:[setId,setClass,Articulation$1.easyScoreHook],throwOnError:!1,...R},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(F=>this.addCommitHook(F)),this}setContext(R){return this.factory&&this.factory.setContext(R),this}parse(R,F={}){this.builder.reset(F);const D=this.parser.parse(R);if(!D.success&&this.options.throwOnError)throw new X$1("Error parsing line: "+R,D);return D}beam(R,F={}){return this.factory.Beam({notes:R,options:F}),R}tuplet(R,F={}){return this.factory.Tuplet({notes:R,options:F}),R}notes(R,F={}){return F={clef:this.defaults.clef,stem:this.defaults.stem,...F},this.parse(R,F),this.builder.getElements().notes}voice(R,F){return F={time:this.defaults.time,...F},this.factory.Voice(F).addTickables(R)}addCommitHook(R){return this.builder.addCommitHook(R)}}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(R){switch(R){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(R){switch(R){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(R){super(R),this.setAttribute("type","NumberedNote"),tone=R.keyString,this.ornament=!!R.ornament,this.line=0,this.keys=R.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=R.note_size||16;const F=Flow.sanitizeDuration(this.duration);var D=NumberedNote.numberedDurationLine[F.toString()];if(D&&(this.duration_lines=D),D=NumberedNote.longDurationLine[F.toString()],D&&(this.long_duration_lines=D),!_text_width){var G="__$text_wraper$$__";let W=document.createElement("canvas");W.id=G,document.body.append(W);const q=document.getElementById(G),Y=q.getContext("2d");Y.font="Arial 22px";var U=Y.measureText("5");_text_width=U.width+2,document.body.removeChild(q)}}getCategory(){return NumberedNote.CATEGORY}setKeySignature(R){this.keySignature=R}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 R=NumberedNote.accidentalMap(tone);if(!R)return;const F=NumberedNote.noteLift;if(!F)return;var D=this.keys[0].split("/"),G=D[0];G==="b"&&(G="R"),G=G.replace(new RegExp("#","g"),""),G=G.replace(new RegExp("n","g"),""),G.length>1&&(G=G.replace(new RegExp("b","g"),""));const U=NumberedNoteHead.numberedNotationMapping[G.toUpperCase()];if(F.includes(U))for(let W=0;W<this.modifiers.length;W++){const q=this.modifiers[W];if(q.getAttribute("type")==="Accidental"&&q.accidental){const Y=R[q.type];Y?q.accidental=Flow.accidentalCodes(Y):this.modifiers.splice(W,1)}}}preFormatModifier(){let R=0,F=0;this.filterNote(),this.modifiers.forEach((D,G)=>{switch(D.getAttribute("type")){case"Accidental":D.render_options.font_scale=this.note_width*1.4,D.x_shift=2,D.y_shift=this.unit_height/2,this.ornament&&(D.render_options.font_scale=this.note_width,D.x_shift=14,D.y_shift=-10);break;case"Stroke":D.x_shift=-1*R,D.y_shift=1*this.unit_height;break;case"Dot":D.x_shift=F*this.duration_dot_width+7,D.y_shift=1*this.unit_height,F++;break;case"Ornament":D.y_shift=-3;break;default:D.y_shift=1*this.unit_height}D.reset&&D.reset(),R+=D.getWidth()/2})}handleDeleteDot(){for(let R=0;R<this.modifiers.length;R++)this.modifiers[R].attrs.type=="Dot"&&this.modifiers.splice(R,1)}calcGroup(){if(group.staveId!=this.stave.attrs.id&&(this.drawDurationLoneLine(),group=initGroup()),this.stave.timeSignature.denominator&&(_denominator=this.stave.timeSignature.denominator,_numerator=this.stave.timeSignature.numerator),!_denominator||!_numerator)return;let R=NumberedNote.durationTime[_denominator],F=this.formatterMetrics.duration.split("/").filter(W=>W),D=F.length?F[0]/F[1]:0;if(this.ornament)return;if(D===0)return this.long_duration_lines=this.intrinsicTicks/R-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 G={lines:this.duration_lines,duration:D,id:this.attrs.id,x:this.x-this.duration_line_space/2-this.left_width,y:this.y,width:this.full_width};D>R*2&&(this.long_duration_lines=parseInt(D/R)-1,this.handleDeleteDot()),ornamentGroup&&(G.x+=this.note_width),group.notes.push(G);let U=group.notes.reduce((W,q)=>W+q.duration,0);U=parseInt(U),U>R&&(U-=R),U>R-10&&U<R+10&&(group.finish=!0,group.notes.length===1&&(group=initGroup()),group.notes.filter(q=>q.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 R=this.context;R.save(),R.setFont("Arial",this.note_height,"normal"),this.setAttribute("el",R.openGroup("stavenote",this.getAttribute("id"))),R.openGroup("note",null,{pointerBBox:!0});let F=this.getAbsoluteX()+2.5;this.x=F;let D=this.stave.getYForLine(2)+this.note_height/2;this.y=D,this.buildToneHeads(),this.preFormatModifier(),this.applyStyle(),this.note_tones.forEach(G=>{G.draw(R)}),R.openGroup("modifier",null,{pointerBBox:!0}),this.drawModifiers(),R.closeGroup(),R.closeGroup(),R.closeGroup(),this.calcGroup(),group.staveId=this.stave.attrs.id,this.drawDurationLine(R,{}),this.drawLongDurationLines(R),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(R,F){R=R||this.context;let D=F||this.y+this.duration_line_space;for(let G=0;G<5;G++){let U=[],W=0;for(let q=0;q<group.notes.length;q++){let Y=group.notes[q];if(W==q&&Y.lines>G)U.push(Y),W++;else{if(U.length>1){let Q=U.length-1;D=U[0].y+this.duration_line_space,R.rect(U[0].x,D+G*3,U[Q].x-U[0].x+U[Q].width,.5)}U=[],W=q+1}}if(U.length>1){let q=U.length-1;D=U[0].y+this.duration_line_space,R.rect(U[0].x,D+G*3,U[q].x-U[0].x+U[q].width,.5)}}}draw_dot(R,F,D,G){R.openGroup("numbered-note-dot"),R.beginPath(),R.arc(F,D,G,0,2*Math.PI),R.closePath(),R.fill(),R.closeGroup()}drawDurationLine(R,F){var D=this.attrs.id+"-lines";R.openGroup("numbered_note_lines",D);var G,U;if(this.duration_lines>0){const Y=this.duration_line_space;var W=this.full_width;if(F&&F.width&&(W=F.width),W<0&&(W=this.note_width),!F||typeof F.startX=="undefined"?G=this.x-Y/2-this.left_width:G=F.startX,!F||typeof F.startY=="undefined"?U=this.y+this.duration_line_space:U=F.startY,group.finish&&(this.drawDurationLoneLine(R,U),group=initGroup()),this.ornament?(G+=12,U-=22,W=15,ornamentGroup&&(G-=10,W+=10)):ornamentGroup&&(G+=this.note_width,W-=this.note_width),W>0){for(var q=0;q<this.duration_lines;q++)R.rect(G,U,W,.5),U+=3;this.ornament&&(ornamentGroup?(ornamentGroup.startX=G,ornamentGroup.startY=U):ornamentGroup={startX:G,startY:U})}}!this.ornament&&ornamentGroup&&(G=ornamentGroup.startX,U=ornamentGroup.startY,G+=5,U-=3,R.beginPath(),R.moveTo(G,U),R.lineTo(G,U+5),R.lineTo(G+5,U+5),R.stroke()),R.closeGroup()}removeDurationLines(){var R="vf-"+this.attrs.id+"-lines",F=document.getElementById(R);F&&F.remove()}drawLongDurationLines(R){let F=this.x+this.note_width+this.right_width+10;for(let D=1;D<=this.long_duration_lines;D++)R.fillRect(F+2,this.y-this.full_height/2,this.long_duration_width,2),F+=this.long_duration_space+this.long_duration_width}setStave(R){return super.setStave(R),this}buildToneHeads(){this.offset_x=this.x,this.offset_y=this.y;let R=[];this.note_tones=[];for(let F=0;F<this.keys.length;F++){const D=new NumberedNoteHead({key:this.keys[F],x:this.ornament?this.note_x+12:this.note_x,y:this.ornament?this.offset_y-this.note_height:this.offset_y,idx:F,note:this});this.offset_y-=D.height+this.head_space,this.note_tones.push(D),R.push(this.offset_y);try{if(F===0&&window&&window.sett&&window.sett.keySignature){const G=NumberedNote.accidentalAndKey(tone)[D.meta.key],U=this.modifiers.find(q=>q.getAttribute("type")==="Accidental"),W=this.modifiers.findIndex(q=>q.getAttribute("type")==="Accidental");G&&W>-1?this.modifiers[W].accidental.code=G==="#"?"v18":"v44":this.modifiers.splice(W,1)}}catch(G){console.log("\u{1F680} ~ error",G)}}this.setYs(R)}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 R=this;return(this.y||0)-(R.note_tones.map(D=>(D.td+D.bd)*(R.dot_space+R.dot_width)).reduce((D,G)=>D+G,0)+this.note_height*this.note_tones.length-this.unit_height-this.note_tones[0].bd*(R.dot_space+R.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(R){var F=[];return this.modifiers.forEach(D=>{D.getCategory()===R&&F.push(D)}),F}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 R=0;return this.modifiers.forEach(F=>{R+=F.getWidth()}),R}}class NumberedNoteHead{static get numberedNotationMapping(){let R=tone;switch(window&&window.sett&&window.sett.keySignature&&(R="C"),R){case"A":return{C:"3",D:"4",E:"5",F:"6",G:"7",A:"1",B:"2",R:"0",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",min:-.5,max:2.5};case"D":return{C:"7",D:"1",E:"2",F:"3",G:"4",A:"5",B:"6",R:"0",min:.5,max:3.5};case"E":return{C:"6",D:"7",E:"1",F:"2",G:"3",A:"4",B:"5",R:"0",min:1,max:4};case"F":return{C:"5",D:"6",E:"7",F:"1",G:"2",A:"3",B:"4",R:"0",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",min:2,max:5};case"Eb":return{C:"6",D:"7",E:"1",F:"2",G:"3",A:"4",B:"5",R:"0",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",min:.5,max:3.5};case"F#":return{C:"5",D:"6",E:"7",F:"1",G:"2",A:"3",B:"4",R:"0",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",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",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",min:0,max:3}}}tone_to_numbered_key(){var R=this.key.split("/"),F=R[0];F==="b"&&(F="R"),F=F.replace(new RegExp("#","g"),""),F=F.replace(new RegExp("n","g"),""),F.length>1&&(F=F.replace(new RegExp("b","g"),""));let D=0,G=0;this.note.stave&&this.note.stave.options&&this.note.stave.options.keySignature&&(tone=this.note.stave.options.keySignature);const U=this.note.getLine();return U<NumberedNoteHead.numberedNotationMapping.min&&(D=Math.ceil(Math.abs((U-NumberedNoteHead.numberedNotationMapping.min)/3.5))),U>NumberedNoteHead.numberedNotationMapping.max&&(G=Math.ceil((U-NumberedNoteHead.numberedNotationMapping.max)/3.5)),F.toUpperCase()==="R"&&(D=0,G=0),{key:NumberedNoteHead.numberedNotationMapping[F.toUpperCase()],td:G,bd:D}}constructor(R){this.key=R.key,this.x=R.x||0,this.y=R.y||0,this.idx=R.idx||0,this.note=R.note||0,this.meta=this.tone_to_numbered_key(),this.noteSize=R.noteSize||16,this.td=this.meta.td,this.bd=this.meta.bd}draw(R){let F=this.y;R.openGroup("numbered-note-head");var D=this.x+(this.note.ornament?-2:0);let G=F-this.note.unit_height-this.note.dot_space-(this.note.ornament?-4:2);for(let W=0;W<this.meta.td;W++)this.draw_dot(R,D+_text_width-1,G,this.note.dot_width),G-=this.note.dot_width+this.note.dot_space+4;new Glyph("v"+this.meta.key,this.note.ornament?30:40).render(R,D+1,F),F+=this.note.dot_space+this.note.dot_width-(this.note.ornament?2:0);for(let W=0;W<this.meta.bd;W++){if(this.idx===0){let q=this.note.duration_lines*(this.note.duration_line_height+this.note.duration_line_space);this.note.duration_lines>1&&(q-=this.note.duration_line_space),F+=q}this.draw_dot(R,D+_text_width,F,this.note.dot_width),F+=this.note.dot_width+this.note.dot_space}R.closeGroup()}get height(){return this.note.note_height+(this.meta.bd+this.meta.td)*(this.note.dot_width+this.note.dot_space)}draw_dot(R,F,D,G){R.openGroup("numbered-note-dot"),R.beginPath(),R.arc(F,D,G,0,2*Math.PI),R.closePath(),R.fill(),R.closeGroup()}}function L(...B){Factory.DEBUG&&Vex.L("Vex.Flow.Factory",B)}const X=Vex.MakeException("FactoryError");function setDefaults$1(B={},R){const F=R.options;return B=Object.assign(R,B),B.options=Object.assign(F,B.options),B}class Factory{constructor(R){L("New factory: ",R);const F={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=F,this.setOptions(R)}static newFromElementId(R,F=500,D=200){return new Factory({renderer:{elementId:R,width:F,height:D}})}reset(){this.renderQ=[],this.systems=[],this.staves=[],this.voices=[],this.stave=null}getOptions(){return this.options}setOptions(R){for(const F of["stave","renderer","font"])Object.assign(this.options[F],R[F]);(this.options.renderer.elementId!==null||this.options.renderer.context)&&this.initRenderer(),this.reset()}initRenderer(){const{elementId:R,backend:F,width:D,height:G,background:U}=this.options.renderer;if(R==="")throw new X("HTML DOM element not set in Factory");this.context=Renderer.buildContext(R,F,D,G,U)}getContext(){return this.context}setContext(R){return this.context=R,this}getStave(){return this.stave}getVoices(){return this.voices}space(R){return this.options.stave.space*R}Stave(R){R=setDefaults$1(R,{x:0,y:0,width:this.options.renderer.width-this.space(1),options:{spacing_between_lines_px:this.options.stave.space}});const F=new Stave(R.x,R.y,R.width,R.options);return this.staves.push(F),F.setContext(this.context),this.stave=F,F}TabStave(R){R=setDefaults$1(R,{x:0,y:0,width:this.options.renderer.width-this.space(1),options:{spacing_between_lines_px:this.options.stave.space*1.3}});const F=new TabStave(R.x,R.y,R.width,R.options);return this.staves.push(F),F.setContext(this.context),this.stave=F,F}StaveNote(R){const F=new StaveNote(R);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}GhostNote(R){const F=new GhostNote(R);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}TextNote(R){const F=new TextNote(R);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}NumberedNote(R){const F=new NumberedNote(R);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}BarNote(R){R=setDefaults$1(R,{type:"single",options:{}});const F=new BarNote(R.type);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}ClefNote(R){R=setDefaults$1(R,{type:"treble",options:{size:"default"}});const F=new ClefNote(R.type,R.options.size,R.options.annotation);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}TimeSigNote(R){R=setDefaults$1(R,{time:"4/4",options:{}});const F=new TimeSigNote(R.time);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}KeySigNote(R){const F=new KeySigNote(R.key,R.cancelKey,R.alterKey);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}TabNote(R){const F=new TabNote$1(R);return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}GraceNote(R){const F=new GraceNote(R);return this.stave&&F.setStave(this.stave),F.setContext(this.context),F}GraceNoteGroup(R){const F=new GraceNoteGroup(R.notes,R.slur);return F.setContext(this.context),F}Accidental(R){R=setDefaults$1(R,{type:null,options:{}});const F=new Accidental(R.type);return F.setContext(this.context),F}Annotation(R){R=setDefaults$1(R,{text:"p",vJustify:"below",hJustify:"center",fontFamily:"Times",fontSize:14,fontWeight:"bold italic",options:{}});const F=new Annotation(R.text);return F.setJustification(R.hJustify),F.setVerticalJustification(R.vJustify),F.setFont(R.fontFamily,R.fontSize,R.fontWeight),F.setContext(this.context),F}Articulation(R){R=setDefaults$1(R,{type:"a.",position:"above",options:{}});const F=new Articulation$1(R.type);return F.setPosition(R.position),F.setContext(this.context),F}TextDynamics(R){R=setDefaults$1(R,{text:"p",duration:"q",dots:0,line:0,options:{}});const F=new TextDynamics({text:R.text,line:R.line,duration:R.duration,dots:R.dots});return this.stave&&F.setStave(this.stave),F.setContext(this.context),this.renderQ.push(F),F}Fingering(R){R=setDefaults$1(R,{number:"0",position:"left",options:{}});const F=new FretHandFinger(R.number);return F.setPosition(R.position),F.setContext(this.context),F}StringNumber(R){R=setDefaults$1(R,{number:"0",position:"left",options:{}});const F=new StringNumber(R.number);return F.setPosition(R.position),F.setContext(this.context),F}TickContext(){return new TickContext().setContext(this.context)}ModifierContext(){return new ModifierContext}MultiMeasureRest(R){const F=new MultiMeasureRest(R.number_of_measures,R);return F.setContext(this.context),this.renderQ.push(F),F}Voice(R){R=setDefaults$1(R,{time:"4/4",options:{}});const F=new Voice$1(R.time);return this.voices.push(F),F}StaveConnector(R){R=setDefaults$1(R,{top_stave:null,bottom_stave:null,type:"double",options:{}});const F=new StaveConnector(R.top_stave,R.bottom_stave);return F.setType(R.type).setContext(this.context),this.renderQ.push(F),F}Formatter(){return new Formatter}Tuplet(R){R=setDefaults$1(R,{notes:[],options:{}});const F=new Tuplet$1(R.notes,R.options).setContext(this.context);return this.renderQ.push(F),F}Beam(R){R=setDefaults$1(R,{notes:[],options:{autoStem:!1,secondaryBeamBreaks:[]}});const F=new Beam$1(R.notes,R.options.autoStem).setContext(this.context);return F.breakSecondaryAt(R.options.secondaryBeamBreaks),this.renderQ.push(F),F}Curve(R){R=setDefaults$1(R,{from:null,to:null,options:{}});const F=new Curve(R.from,R.to,R.options).setContext(this.context);return this.renderQ.push(F),F}StaveTie(R){R=setDefaults$1(R,{from:null,to:null,first_indices:[0],last_indices:[0],text:null,options:{direction:void 0}});const F=new StaveTie({first_note:R.from,last_note:R.to,first_indices:R.first_indices,last_indices:R.last_indices},R.text);return R.options.direction&&F.setDirection(R.options.direction),F.setContext(this.context),this.renderQ.push(F),F}StaveLine(R){R=setDefaults$1(R,{from:null,to:null,first_indices:[0],last_indices:[0],options:{}});const F=new StaveLine({first_note:R.from,last_note:R.to,first_indices:R.first_indices,last_indices:R.last_indices});return R.options.text&&F.setText(R.options.text),R.options.font&&F.setFont(R.options.font),F.setContext(this.context),this.renderQ.push(F),F}VibratoBracket(R){R=setDefaults$1(R,{from:null,to:null,options:{harsh:!1}});const F=new VibratoBracket({start:R.from,stop:R.to});return R.options.line&&F.setLine(R.options.line),R.options.harsh&&F.setHarsh(R.options.harsh),F.setContext(this.context),this.renderQ.push(F),F}TextBracket(R){R=setDefaults$1(R,{from:null,to:null,text:"",options:{superscript:"",position:1}});const F=new TextBracket({start:R.from,stop:R.to,text:R.text,superscript:R.options.superscript,position:R.options.position});return R.options.line&&F.setLine(R.options.line),R.options.font&&F.setFont(R.options.font),F.setContext(this.context),this.renderQ.push(F),F}System(R={}){R.factory=this;const F=new System(R).setContext(this.context);return this.systems.push(F),F}EasyScore(R={}){return R.factory=this,new EasyScore(R)}PedalMarking(R={}){R=setDefaults$1(R,{notes:[],options:{style:"mixed"}});const F=new PedalMarking(R.notes);return F.setStyle(PedalMarking.StylesString[R.options.style]),F.setContext(this.context),this.renderQ.push(F),F}NoteSubGroup(R={}){R=setDefaults$1(R,{notes:[],options:{}});const F=new NoteSubGroup$1(R.notes);return F.setContext(this.context),F}draw(){this.systems.forEach(R=>R.setContext(this.context).format()),this.staves.forEach(R=>R.setContext(this.context).draw()),this.voices.forEach(R=>R.setContext(this.context).draw()),this.renderQ.forEach(R=>{R.isRendered()||R.setContext(this.context).draw()}),this.systems.forEach(R=>R.setContext(this.context).draw()),this.reset()}}function setDefaults(B,R){const F=R.options;return B=Object.assign(R,B),B.options=Object.assign(F,B.options),B}class System extends Element$1{constructor(R={}){super(),this.setAttribute("type","System"),this.setOptions(R),this.parts=[]}setOptions(R={}){this.options=setDefaults(R,{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(R){return super.setContext(R),this.factory.setContext(R),this}addConnector(R="double"){return this.connector=this.factory.StaveConnector({top_stave:this.parts[0].stave,bottom_stave:this.parts[this.parts.length-1].stave,type:R}),this.connector}addStave(R){return R=setDefaults(R,{stave:null,voices:[],spaceAbove:0,spaceBelow:0,debugNoteMetrics:!1,options:{left_bar:!1}}),R.stave||(R.stave=this.factory.Stave({x:this.options.x,y:this.options.y,width:this.options.width,options:R.options})),R.voices.forEach(F=>F.setContext(this.context).setStave(R.stave).getTickables().forEach(D=>D.setStave(R.stave))),this.parts.push(R),R.stave}format(){const R=new Formatter;this.formatter=R;let F=this.options.y,D=0,G=[];const U=[];this.parts.forEach(q=>{F=F+q.stave.space(q.spaceAbove),q.stave.setY(F),R.joinVoices(q.voices),F=F+q.stave.space(q.spaceBelow),F=F+q.stave.space(this.options.spaceBetweenStaves),q.debugNoteMetrics&&(U.push({y:F,voice:q.voices[0]}),F+=15),G=G.concat(q.voices),D=Math.max(D,q.stave.getNoteStartX())}),this.parts.forEach(q=>q.stave.setNoteStartX(D));const W=this.options.width-(D-this.options.x)-Note.STAVEPADDING;R.format(G,W);for(let q=0;q<this.options.formatIterations;q++)R.tune();this.startX=D,this.debugNoteMetricsYs=U,this.lastY=F}draw(){const R=this.checkContext();this.setRendered(),this.options.debugFormatter&&Formatter.plotDebugging(R,this.formatter,this.startX,this.options.y,this.lastY),this.debugNoteMetricsYs.forEach(F=>{F.voice.getTickables().forEach(D=>Note.plotMetrics(R,D,F.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=(B=>(B[B.SingleThin=0]="SingleThin",B[B.DoubleThin=1]="DoubleThin",B[B.ThinBold=2]="ThinBold",B[B.BoldThinDots=3]="BoldThinDots",B[B.DotsThinBold=4]="DotsThinBold",B[B.DotsBoldBoldDots=5]="DotsBoldBoldDots",B[B.None=6]="None",B[B.Dotted=7]="Dotted",B[B.Dashed=8]="Dashed",B[B.Bold=9]="Bold",B[B.BoldThin=10]="BoldThin",B[B.DoubleBold=11]="DoubleBold",B[B.Tick=12]="Tick",B[B.Short=13]="Short",B))(SystemLinesEnum||{});class SystemLinesEnumHelper{static xmlBarlineStyleToSystemLinesEnum(R){return R==="regular"?0:R==="dotted"?7:R==="dashed"?8:R==="heavy"?9:R==="light-light"?1:R==="light-heavy"?2:R==="heavy-light"?10:R==="heavy-heavy"?11:R==="tick"?12:R==="short"?13:R==="none"?6:0}}class Matrix2D{constructor(){this.matrix=[];for(let R=0;R<2;R++){this.matrix[R]=[];for(let F=0;F<2;F++)this.matrix[R][F]=0}}static getRotationMatrix(R){const F=new Matrix2D,D=Math.cos(R),G=Math.sin(R);return F.matrix[0][0]=D,F.matrix[0][1]=-G,F.matrix[1][0]=G,F.matrix[1][1]=D,F}scalarMultiplication(R){for(let F=0;F<2;F++)for(let D=0;D<2;D++)this.matrix[F][D]*=R}getTransposeMatrix(){const R=new Matrix2D;for(let F=0;F<2;F++)for(let D=0;D<2;D++)R.matrix[F][D]=this.matrix[D][F];return R}vectorMultiplication(R){const F=new PointF2D;return F.x=R.x*this.matrix[0][0]+R.y*this.matrix[0][1],F.y=R.x*this.matrix[1][0]+R.y*this.matrix[1][1],F}}class MusicSheetErrors{constructor(){this.measureErrors={},this.errors=[],this.tempErrors=[]}finalizeMeasure(R){let F=this.measureErrors[R];F||(F=[]),this.measureErrors[R]=F.concat(this.tempErrors),this.tempErrors=[]}pushMeasureError(R){this.tempErrors.push(R)}push(R){this.errors.push(R)}}class Arpeggio{constructor(R,F=ArpeggioType.ARPEGGIO_DIRECTIONLESS){this.parentVoiceEntry=R,this.type=F,this.notes=[]}addNote(R){this.notes.push(R),R.Arpeggio=this}}var ArpeggioType=(B=>(B[B.BRUSH_DOWN=1]="BRUSH_DOWN",B[B.BRUSH_UP=2]="BRUSH_UP",B[B.ROLL_DOWN=3]="ROLL_DOWN",B[B.ROLL_UP=4]="ROLL_UP",B[B.RASQUEDO_DOWN=5]="RASQUEDO_DOWN",B[B.RASQUEDO_UP=6]="RASQUEDO_UP",B[B.ARPEGGIO_DIRECTIONLESS=7]="ARPEGGIO_DIRECTIONLESS",B))(ArpeggioType||{});class Beam{constructor(R=1,F=0){this.notes=[],this.extendedNoteList=[],this.BeamNumberOffsetToXML=0,this.BeamNumber=R,this.BeamNumberOffsetToXML=F}get Notes(){return this.notes}set Notes(R){this.notes=R}get ExtendedNoteList(){return this.extendedNoteList}set ExtendedNoteList(R){this.extendedNoteList=R}addNoteToBeam(R){R&&(R.NoteBeam=this,this.notes.push(R),this.extendedNoteList.push(R))}}class Voice{constructor(R,F){this.voiceEntries=[],this.volume=1,this.parent=R,this.visible=!0,this.audible=!0,this.following=!0,this.voiceId=F,this.uniqueVoiceId="I:"+this.parent.Id+" V: "+this.voiceId}get VoiceEntries(){return this.voiceEntries}get Parent(){return this.parent}get Visible(){return this.visible}set Visible(R){this.visible=R}get Audible(){return this.audible}set Audible(R){this.audible=R}get Following(){return this.following}set Following(R){this.following=R}get Solo(){return this.solo}set Solo(R){this.solo=R}get VoiceId(){return this.voiceId}get Volume(){return this.volume}set Volume(R){this.volume=R}toString(){return this.uniqueVoiceId}}class LinkedVoice extends Voice{constructor(R,F,D){super(R,F),this.master=D}get Master(){return this.master}}class Notehead{constructor(R,F,D=void 0){this.sourceNote=R,this.setShapeFromXml(F,D)}setShapeFromXml(R,F=void 0){this.shape=Notehead.ShapeTypeXmlToShape(R);let D=F;D===void 0&&(this.sourceNote?D=this.sourceNote.Length.Denominator>2:(log$2.warn("notehead: sourceNote and filledXmlAttribute undefined."),D=!0)),this.filled=D}get SourceNote(){return this.sourceNote}get Shape(){return this.shape}get Filled(){return this.filled}static ShapeTypeXmlToShape(R){switch(R.toLowerCase()){case"normal":return NoteHeadShape.NORMAL;case"x":return NoteHeadShape.X;case"slash":return NoteHeadShape.SLASH;case"diamond":return NoteHeadShape.DIAMOND;case"square":return NoteHeadShape.SQUARE;case"la":return NoteHeadShape.SQUARE;case"do":case"triangle":return NoteHeadShape.TRIANGLE;case"rectangle":return NoteHeadShape.RECTANGLE;case"circle-x":return NoteHeadShape.CIRCLEX;default:return log$2.info("unsupported/unhandled xml notehead '"+R+"'. Using normal notehead."),NoteHeadShape.NORMAL}}}var NoteHeadShape=(B=>(B[B.CIRCLEX=0]="CIRCLEX",B[B.DIAMOND=1]="DIAMOND",B[B.NORMAL=2]="NORMAL",B[B.RECTANGLE=3]="RECTANGLE",B[B.SLASH=4]="SLASH",B[B.SQUARE=5]="SQUARE",B[B.TRIANGLE=6]="TRIANGLE",B[B.X=7]="X",B))(NoteHeadShape||{});class ITextTranslation{static translateText(R,F){if(!this.defaultTextTranslation)return F}}var NoteType=(B=>(B[B.UNDEFINED=0]="UNDEFINED",B[B._1024th=1]="_1024th",B[B._512th=2]="_512th",B[B._256th=3]="_256th",B[B._128th=4]="_128th",B[B._64th=5]="_64th",B[B._32nd=6]="_32nd",B[B._16th=7]="_16th",B[B.EIGTH=8]="EIGTH",B[B.QUARTER=9]="QUARTER",B[B.HALF=10]="HALF",B[B.WHOLE=11]="WHOLE",B[B.BREVE=12]="BREVE",B[B.LONG=13]="LONG",B[B.MAXIMA=14]="MAXIMA",B))(NoteType||{});class NoteTypeHandler{static NoteTypeToString(R){return this.NoteTypeXmlValues[R]}static StringToNoteType(R){const F=this.NoteTypeXmlValues.indexOf(R);return F!==-1?F:0}static getNoteDurationFromType(R){switch(R){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 F=ITextTranslation.translateText("ReaderErrorMessages/NoteDurationError","Invalid note duration.");throw new MusicSheetReadingException(F)}}}}NoteTypeHandler.NoteTypeXmlValues=["","1024th","512th","256th","128th","64th","32nd","16th","eigth","quarter","half","whole","breve","long","maxima"];class OrnamentContainer{constructor(R){this.placement=PlacementEnum.Above,this.accidentalAbove=AccidentalEnum.NONE,this.accidentalBelow=AccidentalEnum.NONE,this.ornament=R}get GetOrnament(){return this.ornament}get AccidentalAbove(){return this.accidentalAbove}set AccidentalAbove(R){this.accidentalAbove=R}get AccidentalBelow(){return this.accidentalBelow}set AccidentalBelow(R){this.accidentalBelow=R}}var OrnamentEnum=(B=>(B[B.Trill=0]="Trill",B[B.Turn=1]="Turn",B[B.InvertedTurn=2]="InvertedTurn",B[B.DelayedTurn=3]="DelayedTurn",B[B.DelayedInvertedTurn=4]="DelayedInvertedTurn",B[B.Mordent=5]="Mordent",B[B.InvertedMordent=6]="InvertedMordent",B))(OrnamentEnum||{});class VerticalSourceStaffEntryContainer{constructor(R,F,D){this.staffEntries=[],this.comments=[],this.timestamp=F,this.staffEntries=new Array(D),this.parentMeasure=R}$get$(R){return this.staffEntries[R]}$set$(R,F){this.staffEntries[R]=F}get Timestamp(){return this.timestamp}set Timestamp(R){this.timestamp=R}get StaffEntries(){return this.staffEntries}set StaffEntries(R){this.staffEntries=R}get Comments(){return this.comments}set Comments(R){this.comments=R}get ParentMeasure(){return this.parentMeasure}set ParentMeasure(R){this.parentMeasure=R}getAbsoluteTimestamp(){return Fraction$1.plus(this.timestamp,this.parentMeasure.AbsoluteTimestamp)}}class SourceStaffEntry{constructor(R,F){this.voiceEntries=[],this.instructions=[],this.chordSymbolContainers=[],this.verticalContainerParent=R,this.parentStaff=F}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(R){this.voiceEntries=R}get Link(){return this.staffEntryLink}set Link(R){this.staffEntryLink=R}get Instructions(){return this.instructions}set Instructions(R){this.instructions=R}get ChordContainers(){return this.chordSymbolContainers}set ChordContainers(R){this.chordSymbolContainers=R}removeAllInstructionsOfTypeClefInstruction(){let R=0,F=0;for(;R<this.instructions.length;)this.instructions[R]instanceof ClefInstruction?(this.instructions.splice(R,1),F++):R++;return F}removeFirstInstructionOfTypeClefInstruction(){for(let R=0;R<this.instructions.length;R++)if(this.instructions[R]instanceof ClefInstruction)return this.instructions.splice(R,1),!0;return!1}removeAllInstructionsOfTypeKeyInstruction(){let R=0,F=0;for(;R<this.instructions.length;)this.instructions[R]instanceof KeyInstruction?(this.instructions.splice(R,1),F++):R++;return F}removeFirstInstructionOfTypeKeyInstruction(){for(let R=0;R<this.instructions.length;R++)if(this.instructions[R]instanceof KeyInstruction)return this.instructions.splice(R,1),!0;return!1}removeAllInstructionsOfTypeRhythmInstruction(){let R=0,F=0;for(;R<this.instructions.length;)this.instructions[R]instanceof RhythmInstruction?(this.instructions.splice(R,1),F++):R++;return F}removeFirstInstructionOfTypeRhythmInstruction(){for(let R=0;R<this.instructions.length;R++)if(this.instructions[R]instanceof RhythmInstruction)return this.instructions.splice(R,1),!0;return!1}calculateMinNoteLength(){let R=new Fraction$1(Number.MAX_VALUE,1);for(let F=0,D=this.VoiceEntries.length;F<D;++F){const G=this.VoiceEntries[F];for(let U=0,W=G.Notes.length;U<W;++U){const q=G.Notes[U];q.Length.lt(R)&&(R=q.Length)}}return R}calculateMaxNoteLength(){let R=new Fraction$1(0,1);for(let F=0,D=this.VoiceEntries.length;F<D;++F){const G=this.VoiceEntries[F];for(let U=0,W=G.Notes.length;U<W;++U){const q=G.Notes[U];if(q.NoteTie){const Y=Fraction$1.createFromFraction(q.Length);let Q=!1;for(const Z of q.NoteTie.Notes){if(Z===q){Q=!0;continue}Q&&Y.Add(Z.Length)}R.lt(Y)&&(R=Y)}else R.lt(q.Length)&&(R=q.Length)}}return R}hasNotes(){for(let R=0,F=this.VoiceEntries.length;R<F;++R)if(this.VoiceEntries[R].Notes.length>0)return!0;return!1}hasTie(){for(let R=0,F=this.VoiceEntries.length;R<F;++R)if(this.VoiceEntries[R].hasTie())return!0;return!1}findLinkedNotes(R){for(let F=0,D=this.voiceEntries.length;F<D;++F){const G=this.voiceEntries[F];for(let U=0,W=G.Notes.length;U<W;++U){const q=G.Notes[U];q.ParentStaffEntry===this&&R.push(q)}}}get hasOnlyRests(){for(const R of this.voiceEntries)for(const F of R.Notes)if(!F.isRest)return!1;return!0}}class RepetitionInstructionComparer{static Compare(R,F){if(R.parentRepetition!==void 0&&F.parentRepetition){if(R.alignment===AlignmentType.End&&F.alignment===AlignmentType.End){if(R.parentRepetition.StartIndex<F.parentRepetition.StartIndex)return 1;if(R.parentRepetition.StartIndex>F.parentRepetition.StartIndex)return-1}if(R.alignment===AlignmentType.Begin&&F.alignment===AlignmentType.Begin){if(R.parentRepetition.EndIndex<F.parentRepetition.EndIndex)return 1;if(R.parentRepetition.EndIndex>F.parentRepetition.EndIndex)return-1}}return 0}}class RepetitionInstruction{constructor(R,F,D=AlignmentType.End,G=void 0,U=void 0){this.endingIndices=void 0,this.measureIndex=R,U&&(this.endingIndices=U.slice()),this.type=F,this.alignment=D,this.parentRepetition=G}CompareTo(R){const F=R;if(this.measureIndex>F.measureIndex)return 1;if(this.measureIndex<F.measureIndex)return-1;if(this.alignment===AlignmentType.Begin){if(F.alignment===AlignmentType.End)return-1;switch(this.type){case RepetitionInstructionEnum.Ending:return 1;case RepetitionInstructionEnum.StartLine:return F.type===RepetitionInstructionEnum.Ending?-1:1;case RepetitionInstructionEnum.Coda:case RepetitionInstructionEnum.Segno:return F.type===RepetitionInstructionEnum.Coda?1:-1}}else{if(F.alignment===AlignmentType.Begin)return 1;switch(this.type){case RepetitionInstructionEnum.Ending:return-1;case RepetitionInstructionEnum.Fine:case RepetitionInstructionEnum.ToCoda:return F.type===RepetitionInstructionEnum.Ending?1:-1;case RepetitionInstructionEnum.ForwardJump:switch(F.type){case RepetitionInstructionEnum.Ending:case RepetitionInstructionEnum.Fine:case RepetitionInstructionEnum.ToCoda:return 1}return-1;case RepetitionInstructionEnum.DalSegnoAlFine:case RepetitionInstructionEnum.DaCapoAlFine:case RepetitionInstructionEnum.DalSegnoAlCoda:case RepetitionInstructionEnum.DaCapoAlCoda:case RepetitionInstructionEnum.DaCapo:case RepetitionInstructionEnum.DalSegno:case RepetitionInstructionEnum.BackJumpLine:return 1}}return 0}equals(R){if(this.measureIndex!==R.measureIndex||this.type!==R.type||this.alignment!==R.alignment)return!1;if(this.endingIndices===R.endingIndices)return!0;if(!this.endingIndices||!R.endingIndices||this.endingIndices.length!==R.endingIndices.length)return!1;for(let F=0;F<this.endingIndices.length;F++)if(this.endingIndices[F]!==R.endingIndices[F])return!1;return!0}}var RepetitionInstructionEnum=(B=>(B[B.StartLine=0]="StartLine",B[B.ForwardJump=1]="ForwardJump",B[B.BackJumpLine=2]="BackJumpLine",B[B.Ending=3]="Ending",B[B.DaCapo=4]="DaCapo",B[B.DalSegno=5]="DalSegno",B[B.Fine=6]="Fine",B[B.ToCoda=7]="ToCoda",B[B.DalSegnoAlFine=8]="DalSegnoAlFine",B[B.DaCapoAlFine=9]="DaCapoAlFine",B[B.DalSegnoAlCoda=10]="DalSegnoAlCoda",B[B.DaCapoAlCoda=11]="DaCapoAlCoda",B[B.Coda=12]="Coda",B[B.Segno=13]="Segno",B[B.None=14]="None",B))(RepetitionInstructionEnum||{}),AlignmentType=(B=>(B[B.Begin=0]="Begin",B[B.End=1]="End",B))(AlignmentType||{});let prevSourceMeasure=null;class SourceMeasure{constructor(R,F){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.completeNumberOfStaves=R,this.implicitMeasure=!1,this.hasEndLine=!1,this.endingBarStyleXml="",this.endingBarStyleEnum=SystemLinesEnum.SingleThin,this.firstInstructionsStaffEntries=new Array(R),this.lastInstructionsStaffEntries=new Array(R),this.rules=F,this.TempoInBPM=0;for(let D=0;D<R;D++)this.graphicalMeasureErrors.push(!1),this.staffLinkedExpressions.push([])}get MeasureNumber(){return this.measureNumber}set MeasureNumber(R){this.measureNumber=R}getPrintedMeasureNumber(){return this.rules.UseXMLMeasureNumbers&&Number.isInteger(this.MeasureNumberXML)?(this.MeasureNumberPrinted=this.MeasureNumberXML,this.MeasureNumberPrinted):(this.MeasureNumberPrinted=this.MeasureNumber,this.MeasureNumberPrinted)}get AbsoluteTimestamp(){return this.absoluteTimestamp}set AbsoluteTimestamp(R){this.absoluteTimestamp=R}get CompleteNumberOfStaves(){return this.completeNumberOfStaves}get Duration(){return this.duration}set Duration(R){this.duration=R}get ActiveTimeSignature(){return this.activeTimeSignature}set ActiveTimeSignature(R){this.activeTimeSignature=R}get ImplicitMeasure(){return this.implicitMeasure}set ImplicitMeasure(R){this.implicitMeasure=R}get HasEndLine(){return this.hasEndLine}set HasEndLine(R){this.hasEndLine=R}get StaffLinkedExpressions(){return this.staffLinkedExpressions}get TempoExpressions(){return this.tempoExpressions}get VerticalSourceStaffEntryContainers(){return this.verticalSourceStaffEntryContainers}get FirstInstructionsStaffEntries(){return this.firstInstructionsStaffEntries}get LastInstructionsStaffEntries(){return this.lastInstructionsStaffEntries}get FirstRepetitionInstructions(){return this.firstRepetitionInstructions}get LastRepetitionInstructions(){return this.lastRepetitionInstructions}getErrorInMeasure(R){return this.graphicalMeasureErrors[R]}setErrorInGraphicalMeasure(R,F){this.graphicalMeasureErrors[R]=F}getNextMeasure(R){return R[this.measureListIndex+1]}getPreviousMeasure(R){if(this.measureListIndex>1)return R[this.measureListIndex-1]}get Rules(){return this.rules}get VerticalMeasureList(){return this.verticalMeasureList}set VerticalMeasureList(R){this.verticalMeasureList=R}get TempoInBPM(){return this.tempoInBPM}set TempoInBPM(R){this.tempoInBPM=R}findOrCreateStaffEntry(R,F,D){let G,U;for(const q of this.verticalSourceStaffEntryContainers)if(q.Timestamp.Equals(R)){U=q;break}if(U)return U.StaffEntries[F]?G=U.StaffEntries[F]:(G=new SourceStaffEntry(U,D),U.StaffEntries[F]=G),{createdNewContainer:!1,staffEntry:G};const W=this.verticalSourceStaffEntryContainers[this.verticalSourceStaffEntryContainers.length-1];if(this.verticalSourceStaffEntryContainers.length===0||W.Timestamp.lt(R)){const q=new VerticalSourceStaffEntryContainer(this,R.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.push(q),G=new SourceStaffEntry(q,D),q.StaffEntries[F]=G}else for(let q=this.verticalSourceStaffEntryContainers.length-1;q>=0;q--){if(this.verticalSourceStaffEntryContainers[q].Timestamp.lt(R)){const Y=new VerticalSourceStaffEntryContainer(this,R.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.splice(q+1,0,Y),G=new SourceStaffEntry(Y,D),Y.StaffEntries[F]=G;break}if(q===0){const Y=new VerticalSourceStaffEntryContainer(this,R.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.splice(q,0,Y),G=new SourceStaffEntry(Y,D),Y.StaffEntries[F]=G;break}}return{createdNewContainer:!0,staffEntry:G}}findOrCreateVoiceEntry(R,F){let D,G=!1;for(const U of R.VoiceEntries)if(U.ParentVoice===F){D=U;break}return D||(D=new VoiceEntry(R.Timestamp,F,R),G=!0),{createdVoiceEntry:G,voiceEntry:D}}getPreviousSourceStaffEntryFromIndex(R,F){for(let D=F-1;D>=0;D--)if(this.verticalSourceStaffEntryContainers[D][R])return this.verticalSourceStaffEntryContainers[D][R]}getVerticalContainerIndexByTimestamp(R){for(let F=0,D=this.VerticalSourceStaffEntryContainers.length;F<D;++F)if(this.VerticalSourceStaffEntryContainers[F].Timestamp.Equals(R))return F;return-1}getVerticalContainerByTimestamp(R){for(let F=0,D=this.VerticalSourceStaffEntryContainers.length;F<D;++F){const G=this.VerticalSourceStaffEntryContainers[F];if(G.Timestamp.Equals(R))return G}}checkForEmptyVerticalContainer(R){let F=0;for(let D=0;D<this.completeNumberOfStaves;D++)this.verticalSourceStaffEntryContainers[R][D]||F++;F===this.completeNumberOfStaves&&this.verticalSourceStaffEntryContainers.splice(R,1)}reverseCheck(R,F){let D=new Fraction$1(0,1);const G=[];for(let U=0;U<R.Instruments.length;U++){let W=new Fraction$1(0,1);const q=R.getGlobalStaffIndexOfFirstStaff(R.Instruments[U]);for(let Y=0;Y<R.Instruments[U].Staves.length;Y++){const Q=this.getLastSourceStaffEntryForInstrument(q+Y);if(Q!==void 0&&!Q.hasTie()){const Z=this.verticalSourceStaffEntryContainers.indexOf(Q.VerticalContainerParent);for(let K=Z-1;K>=0;K--){const J=this.verticalSourceStaffEntryContainers[K][q+Y];if(J!==void 0&&J.hasTie()&&W.lt(Fraction$1.plus(J.Timestamp,J.calculateMaxNoteLength()))){W=Fraction$1.plus(J.Timestamp,J.calculateMaxNoteLength());break}}}}G.push(W)}for(let U=0,W=G.length;U<W;++U){const q=G[U];D.lt(q)&&(D=q)}return Fraction$1.max(D,F)}calculateInstrumentsDuration(R,F){const D=[];for(let G=0;G<R.Instruments.length;G++){let U=new Fraction$1(0,1);const W=R.getGlobalStaffIndexOfFirstStaff(R.Instruments[G]);for(let q=0;q<R.Instruments[G].Staves.length;q++){const Y=this.getLastSourceStaffEntryForInstrument(W+q);Y!==void 0&&Y.Timestamp&&U.lt(Fraction$1.plus(Y.Timestamp,Y.calculateMaxNoteLength()))&&(U=Fraction$1.plus(Y.Timestamp,Y.calculateMaxNoteLength()))}U.lt(F[G])&&(U=F[G]),D.push(U)}return D}getEntriesPerStaff(R){const F=[];for(const D of this.VerticalSourceStaffEntryContainers){const G=D.StaffEntries[R];G&&F.push(G)}return F}hasBeginInstructions(){for(let R=0,F=this.FirstInstructionsStaffEntries.length;R<F;R++){const D=this.FirstInstructionsStaffEntries[R];if(D!==void 0&&D.Instructions.length>0)return!0}return!1}beginsWithLineRepetition(){for(let R=0,F=this.FirstRepetitionInstructions.length;R<F;++R){const D=this.FirstRepetitionInstructions[R];if(D.type===RepetitionInstructionEnum.StartLine||D.parentRepetition!==void 0&&D===D.parentRepetition.startMarker&&!D.parentRepetition.FromWords)return!0}return!1}endsWithLineRepetition(){for(let R=0,F=this.LastRepetitionInstructions.length;R<F;++R){const D=this.LastRepetitionInstructions[R];if(D.type===RepetitionInstructionEnum.BackJumpLine)return!0;const G=D.parentRepetition;if(!!G&&!G.FromWords)for(let U=0,W=G.BackwardJumpInstructions.length;U<W;++U){const q=G.BackwardJumpInstructions[U];if(D===q)return!0}}return!1}beginsWithWordRepetition(){for(let R=0,F=this.FirstRepetitionInstructions.length;R<F;++R){const D=this.FirstRepetitionInstructions[R];if(D.parentRepetition!==void 0&&D===D.parentRepetition.startMarker&&D.parentRepetition.FromWords)return!0}return!1}endsWithWordRepetition(){for(let R=0,F=this.LastRepetitionInstructions.length;R<F;++R){const D=this.LastRepetitionInstructions[R],G=D.parentRepetition;if(!!G&&!!G.FromWords){for(let U=0,W=G.BackwardJumpInstructions.length;U<W;++U){const q=G.BackwardJumpInstructions[U];if(D===q)return!0}if(D===G.forwardJumpInstruction)return!0}}return!1}beginsRepetitionEnding(){for(const R of this.FirstRepetitionInstructions)if(R.type===RepetitionInstructionEnum.Ending&&R.alignment===AlignmentType.Begin)return!0;return!1}endsRepetitionEnding(){for(const R of this.LastRepetitionInstructions)if(R.type===RepetitionInstructionEnum.Ending&&R.alignment===AlignmentType.End)return!0;return!1}getKeyInstruction(R){if(this.FirstInstructionsStaffEntries[R]){const F=this.FirstInstructionsStaffEntries[R];for(let D=0,G=F.Instructions.length;D<G;++D){const U=F.Instructions[D];if(U instanceof KeyInstruction)return U}}}getLastSourceStaffEntryForInstrument(R){let F;for(let D=this.verticalSourceStaffEntryContainers.length-1;D>=0&&(F=this.verticalSourceStaffEntryContainers[D].StaffEntries[R],!F);D--);return F}canBeReducedToMultiRest(){var D,G,U,W,q,Y;let R=!0,F=!1;for(const Q of this.verticalSourceStaffEntryContainers)if(!!Q){for(const Z of Q.StaffEntries)if(!(!Z||!Z.ParentStaff.ParentInstrument.Visible)){if(Z.ChordContainers.length>0||(Z.ParentStaff.hasLyrics&&(F=!0),this.firstRepetitionInstructions.length>0||this.lastRepetitionInstructions.length>0))return!1;for(const K of Z.VoiceEntries){for(const J of K.Notes)if(!J.isRest()){R=!1;break}if(!R)break}}}if(!R||F||this.hasMoodExpressions||this.tempoExpressions.length>0)return!1;for(const Q of this.staffLinkedExpressions)if(Q.length>0)return!1;for(const Q of this.lastInstructionsStaffEntries)for(let Z=0,K=Q==null?void 0:Q.Instructions.length;Z<K;++Z)if(Q.Instructions[Z]instanceof ClefInstruction)return!1;return prevSourceMeasure&&(((D=prevSourceMeasure==null?void 0:prevSourceMeasure.ActiveTimeSignature)==null?void 0:D.Numerator)!==((G=this.ActiveTimeSignature)==null?void 0:G.Numerator)||((U=prevSourceMeasure==null?void 0:prevSourceMeasure.ActiveTimeSignature)==null?void 0:U.Denominator)!==((W=this.ActiveTimeSignature)==null?void 0:W.Denominator))?(prevSourceMeasure=this,!1):(prevSourceMeasure=this,((q=this.Duration)==null?void 0:q.RealValue)===((Y=this.ActiveTimeSignature)==null?void 0:Y.RealValue))}}class Staff{constructor(R,F){this.isTab=!1,this.voices=[],this.volume=1,this.stafflineCount=5,this.hasLyrics=!1,this.openTieDict={},this.parentInstrument=R,this.id=F,this.audible=!0,this.following=!0}get ParentInstrument(){return this.parentInstrument}set ParentInstrument(R){this.parentInstrument=R}get Voices(){return this.voices}get Solo(){return this.solo}set Solo(R){this.solo=R}get Id(){return this.id}get Volume(){return this.volume}set Volume(R){this.volume=R}get StafflineCount(){return this.stafflineCount}set StafflineCount(R){this.stafflineCount=R}toString(){return"Staff "+this.idInMusicSheet.toString()}}class StaffEntryLink{constructor(R){this.linkStaffEntries=[],this.voiceEntry=R}get GetVoiceEntry(){return this.voiceEntry}get LinkStaffEntries(){return this.linkStaffEntries}set LinkStaffEntries(R){this.linkStaffEntries=R}}class Tie{constructor(R,F){this.notes=[],this.TieNumber=1,this.TieDirection=PlacementEnum.NotYetDefined,this.NoteIndexToTieDirection={},this.AddNote(R),this.type=F}getTieDirection(R){if(!R)return this.TieDirection;for(let F=0;F<this.Notes.length;F++)if(this.Notes[F]===R){const G=this.NoteIndexToTieDirection[F];return G||this.TieDirection}return log$2.debug("tie.getTieDuration note not in tie.Notes"),this.TieDirection}get Notes(){return this.notes}get Type(){return this.type}get StartNote(){return this.notes[0]}get Duration(){const R=new Fraction$1;for(const F of this.notes)R.Add(F.Length);return R}get Pitch(){return this.StartNote.Pitch}AddNote(R){this.notes.push(R),R.NoteTie=this}}class Tuplet{constructor(R,F=!1){this.PlacementFromXml=!1,this.notes=[],this.fractions=[],this.tupletLabelNumber=R,this.bracket=F}get TupletLabelNumber(){return this.tupletLabelNumber}set TupletLabelNumber(R){this.tupletLabelNumber=R}get Notes(){return this.notes}set Notes(R){this.notes=R}get Fractions(){return this.fractions}set Fractions(R){this.fractions=R}get Bracket(){return this.bracket}set Bracket(R){this.bracket=R}getNoteIndex(R){for(let F=this.notes.length-1;F>=0;F--)for(let D=0;D<this.notes[F].length;D++)if(R===this.notes[F][D])return F;return 0}}var TechnicalInstructionType=(B=>(B[B.Fingering=0]="Fingering",B[B.String=1]="String",B))(TechnicalInstructionType||{});class TechnicalInstruction{}class PlaybackNote{constructor(R,F){this.parentEntry=R,this.parentNote=F,this.ParentNote.PlaybackNote=this,this.Length=this.ParentNote.Length,F.Pitch!==void 0?this.ParentNote.ParentStaff.ParentInstrument.MidiInstrumentId===MidiInstrument.Percussion?this.MidiKey=PlaybackNote.noteToMidiDrumKey(F):this.MidiKey=F.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(R){var G;const F=R.Pitch.getHalfTone()-12,D=(G=R.Notehead)==null?void 0:G.Shape;switch(R.Pitch.Octave){case 1:switch(R.Pitch.FundamentalNote){case NoteEnum.D:switch(D){default:return 44}case NoteEnum.E:switch(D){default:return 35}case NoteEnum.F:switch(D){default:return 36}case NoteEnum.G:switch(D){default:return 41}case NoteEnum.A:switch(D){default:return 43}case NoteEnum.B:switch(D){case NoteHeadShape.TRIANGLE:return 54;default:return 47}default:return F}case 2:switch(R.Pitch.FundamentalNote){case NoteEnum.C:switch(D){case NoteHeadShape.X:return 37;default:return 38}case NoteEnum.D:switch(D){case NoteHeadShape.X:return 59;default:return 48}case NoteEnum.E:switch(D){case NoteHeadShape.X:return 42;case NoteHeadShape.CIRCLEX:return 46;case NoteHeadShape.TRIANGLE:return 56;default:return 50}case NoteEnum.F:switch(D){case NoteHeadShape.DIAMOND:return 53;default:return 51}case NoteEnum.G:switch(D){case NoteHeadShape.CIRCLEX:case NoteHeadShape.DIAMOND:return 46;default:return 42}case NoteEnum.A:switch(D){default:return 49}case NoteEnum.B:switch(D){default:return 57}default:return F}case 3:switch(R.Pitch.FundamentalNote){case NoteEnum.C:switch(D){case NoteHeadShape.CIRCLEX:return 52;default:return 55}default:return F}default:return F}}}class PlaybackEntry{constructor(R){this.notes=[],this.TimestampShift=new Fraction$1,this.parentVoiceEntry=R;for(const F of R.Notes)this.Notes.push(new PlaybackNote(this,F))}get ParentVoiceEntry(){return this.parentVoiceEntry}get Notes(){return this.notes}get Length(){if(this.Notes.length>0)return this.Notes[0].Length}set Length(R){for(const F of this.Notes)F.Length=R}get HasNotes(){return this.Notes.length>0}}class VoiceEntry{constructor(R,F,D,G=!0,U=!1,W=!1,q=!1){if(this.notes=[],this.graceVoiceEntriesBefore=[],this.graceVoiceEntriesAfter=[],this.articulations=[],this.playbackEntries=[],this.technicalInstructions=[],this.lyricsEntries=new Dictionary,this.wantedStemDirection=StemDirectionType.Undefined,this.stemDirectionXml=StemDirectionType.Undefined,this.stemDirection=StemDirectionType.Undefined,this.timestamp=R,this.parentVoice=F,this.parentSourceStaffEntry=D,this.isGrace=U,this.graceAfterMainNote=!1,this.graceNoteSlash=W,this.graceSlur=q,U||F.VoiceEntries.push(this),G&&D!==void 0){const Y=D.VoiceEntries;Y.indexOf(this)===-1&&Y.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(R){this.timestamp=R}get Notes(){return this.notes}addNote(R){this.notes.push(R),!R.isRest()&&(R.NoteTie===void 0||R.NoteTie.StartNote===R)&&this.MainPlaybackEntry.Notes.push(new PlaybackNote(this.MainPlaybackEntry,R))}get GraceVoiceEntriesBefore(){return this.graceVoiceEntriesBefore}set GraceVoiceEntriesBefore(R){this.graceVoiceEntriesBefore=R;for(const F of this.graceVoiceEntriesBefore)F.parentSourceStaffEntry=this.ParentSourceStaffEntry}get GraceVoiceEntriesAfter(){return this.graceVoiceEntriesAfter}set GraceVoiceEntriesAfter(R){this.graceVoiceEntriesAfter=R;for(const F of this.graceVoiceEntriesAfter)F.parentSourceStaffEntry=this.ParentSourceStaffEntry}get IsGrace(){return this.isGrace}set IsGrace(R){this.isGrace=R}get GraceAfterMainNote(){return this.graceAfterMainNote}set GraceAfterMainNote(R){this.graceAfterMainNote=R}get GraceNoteSlash(){return this.graceNoteSlash}set GraceNoteSlash(R){this.graceNoteSlash=R}get GraceSlur(){return this.graceSlur}set GraceSlur(R){this.graceSlur=R}get Articulations(){return this.articulations}get PlaybackEntries(){return this.playbackEntries}get Fermata(){return this.fermata}get MainPlaybackEntry(){return this.mainPlaybackEntry}set MainPlaybackEntry(R){this.mainPlaybackEntry=R}removeMainPlaybackEntry(){this.mainPlaybackEntry!==void 0&&this.removePlaybackEntry(this.mainPlaybackEntry)}removePlaybackEntry(R){this.mainPlaybackEntry===R&&(this.mainPlaybackEntry=void 0);const F=this.playbackEntries.indexOf(R);F>-1&&this.playbackEntries.splice(F,1)}get TechnicalInstructions(){return this.technicalInstructions}get LyricsEntries(){return this.lyricsEntries}get Arpeggio(){return this.arpeggio}set Arpeggio(R){this.arpeggio=R}get OrnamentContainer(){return this.ornamentContainer}set OrnamentContainer(R){this.ornamentContainer=R}set WantedStemDirection(R){this.wantedStemDirection=R}get WantedStemDirection(){return this.wantedStemDirection}set StemDirectionXml(R){this.stemDirectionXml=R}get StemDirectionXml(){return this.stemDirectionXml}set StemDirection(R){this.stemDirection=R}get StemDirection(){return this.stemDirection}get StemColorXml(){return this.stemColorXml}set StemColorXml(R){this.stemColorXml=R}get StemColor(){return this.stemColor}set StemColor(R){this.stemColor=R}get VolumeModifier(){return this.volumeModifier}set VolumeModifier(R){this.volumeModifier=R}get DurationModifier(){return this.durationModifier}set DurationModifier(R){this.durationModifier=R}hasArticulation(R){for(const F of this.articulations)if(F.Equals(R))return!0;return!1}static isSupportedArticulation(R){switch(R){case ArticulationEnum.accent:case ArticulationEnum.strongaccent:case ArticulationEnum.invertedstrongaccent:case ArticulationEnum.staccato:case ArticulationEnum.staccatissimo:case ArticulationEnum.spiccato:case ArticulationEnum.tenuto:case ArticulationEnum.fermata:case ArticulationEnum.invertedfermata:case ArticulationEnum.breathmark:case ArticulationEnum.caesura:case ArticulationEnum.lefthandpizzicato:case ArticulationEnum.naturalharmonic:case ArticulationEnum.snappizzicato:case ArticulationEnum.upbow:case ArticulationEnum.downbow:case ArticulationEnum.bend:case ArticulationEnum.detachedlegato:return!0;default:return!1}}hasTie(){for(let R=0,F=this.Notes.length;R<F;++R)if(this.Notes[R].NoteTie)return!0;return!1}hasSlur(){for(let R=0,F=this.Notes.length;R<F;++R)if(this.Notes[R].NoteSlurs.length>0)return!0;return!1}isStaccato(){for(const R of this.Articulations)if(R.articulationEnum===ArticulationEnum.staccato)return!0;return!1}isAccent(){for(const R of this.Articulations)if(R.articulationEnum===ArticulationEnum.accent||R.articulationEnum===ArticulationEnum.strongaccent)return!0;return!1}getVerseNumberForLyricEntry(R){let F=1;return this.lyricsEntries.forEach((D,G)=>{R===G&&(F=D)}),F}}var ArticulationEnum=(B=>(B[B.accent=0]="accent",B[B.strongaccent=1]="strongaccent",B[B.marcatoup=2]="marcatoup",B[B.marcatodown=3]="marcatodown",B[B.invertedstrongaccent=4]="invertedstrongaccent",B[B.staccato=5]="staccato",B[B.staccatissimo=6]="staccatissimo",B[B.spiccato=7]="spiccato",B[B.tenuto=8]="tenuto",B[B.fermata=9]="fermata",B[B.invertedfermata=10]="invertedfermata",B[B.breathmark=11]="breathmark",B[B.caesura=12]="caesura",B[B.lefthandpizzicato=13]="lefthandpizzicato",B[B.naturalharmonic=14]="naturalharmonic",B[B.snappizzicato=15]="snappizzicato",B[B.upbow=16]="upbow",B[B.downbow=17]="downbow",B[B.scoop=18]="scoop",B[B.plop=19]="plop",B[B.doit=20]="doit",B[B.falloff=21]="falloff",B[B.stress=22]="stress",B[B.unstress=23]="unstress",B[B.detachedlegato=24]="detachedlegato",B[B.otherarticulation=25]="otherarticulation",B[B.bend=26]="bend",B))(ArticulationEnum||{}),StemDirectionType=(B=>(B[B.Undefined=-1]="Undefined",B[B.Up=0]="Up",B[B.Down=1]="Down",B[B.None=2]="None",B[B.Double=3]="Double",B))(StemDirectionType||{}),SystemLinePosition=(B=>(B[B.MeasureBegin=0]="MeasureBegin",B[B.MeasureEnd=1]="MeasureEnd",B))(SystemLinePosition||{});class GraphicalLabel extends Clickable{constructor(R,F,D,G,U=void 0){super(),this.label=R,this.boundingBox=new BoundingBox$1(this,U),this.label.fontHeight=F,this.label.textAlignment=D,this.rules=G,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 q,Y;if(this.Label.text.trim()==="")return;this.TextLines=[];const R=(Y=(q=this.rules)==null?void 0:q.LabelMarginBorderFactor)!=null?Y:.1,F=this.Label.text.split(/[\n\r]+/g),D=F.length;let G=0;for(let Q=0;Q<D;Q++){const Z=F[Q].trim();if(!Z||Z==="")continue;const K=MusicSheetCalculator.TextMeasurer.computeTextWidthToHeightRatio(Z,this.Label.font,this.Label.fontStyle,this.label.fontFamily),J=this.Label.fontHeight*K;G=Math.max(G,J),this.TextLines.push({text:Z,xOffset:0,width:J})}for(const Q of this.TextLines){let Z=0;switch(this.Label.textAlignment){case TextAlignmentEnum.RightBottom:case TextAlignmentEnum.RightCenter:case TextAlignmentEnum.RightTop:Z=G-Q.width;break;case TextAlignmentEnum.CenterBottom:case TextAlignmentEnum.CenterCenter:case TextAlignmentEnum.CenterTop:Z=(G-Q.width)/2;break}Q.xOffset=Z}let U=this.Label.fontHeight*D;this.rules.SpacingBetweenTextLines>0&&this.TextLines.length>1&&(U+=this.rules.SpacingBetweenTextLines*D/10);const W=this.PositionAndShape;switch(this.Label.textAlignment){case TextAlignmentEnum.CenterBottom:W.BorderTop=-U,W.BorderLeft=-G/2,W.BorderBottom=0,W.BorderRight=G/2;break;case TextAlignmentEnum.CenterCenter:W.BorderTop=-U/2,W.BorderLeft=-G/2,W.BorderBottom=U/2,W.BorderRight=G/2;break;case TextAlignmentEnum.CenterTop:W.BorderTop=0,W.BorderLeft=-G/2,W.BorderBottom=U,W.BorderRight=G/2;break;case TextAlignmentEnum.LeftBottom:W.BorderTop=-U,W.BorderLeft=0,W.BorderBottom=0,W.BorderRight=G;break;case TextAlignmentEnum.LeftCenter:W.BorderTop=-U/2,W.BorderLeft=0,W.BorderBottom=U/2,W.BorderRight=G;break;case TextAlignmentEnum.LeftTop:W.BorderTop=0,W.BorderLeft=0,W.BorderBottom=U,W.BorderRight=G;break;case TextAlignmentEnum.RightBottom:W.BorderTop=-U,W.BorderLeft=-G,W.BorderBottom=0,W.BorderRight=0;break;case TextAlignmentEnum.RightCenter:W.BorderTop=-U/2,W.BorderLeft=-G,W.BorderBottom=U/2,W.BorderRight=0;break;case TextAlignmentEnum.RightTop:W.BorderTop=0,W.BorderLeft=-G,W.BorderBottom=U,W.BorderRight=0;break}W.BorderMarginTop=W.BorderTop-U*R,W.BorderMarginLeft=W.BorderLeft-U*R,W.BorderMarginBottom=W.BorderBottom+U*R,W.BorderMarginRight=W.BorderRight+U*R}}class Label{constructor(R="",F=TextAlignmentEnum.CenterBottom,D=void 0,G=!0){this.IsCreditLabel=!1,this.text=R,this.print=G,this.textAlignment=F,this.font=D,this.fontFamily=void 0}set font(R){this.fontEnumValue=R,this.fontFamily=FontStringNames[R]}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=["\u7EAF\u5F8B","\u7EAF\u5F8B\u7ED3\u675F"],HideWords=["\u8DF3\u8FC7\u4E0B\u4E00\u4E2A","b","#","\xA7","\xBA","X"],GradientWords=["poco rit.","rall.","rit.","accel.","molto rit.","molto rall","lentando","poco accel.","calando"],GRADIENT_SPEED_CLOSE_TAG="\u7ED3\u675F\u8303\u56F4\u901F\u5EA6",GRADIENT_SPEED_RESET_TAG="a tempo",SpecialWords=[GRADIENT_SPEED_CLOSE_TAG],SpeedKeyword="\u901F\u5EA6 ",SpeedHiddenKeyword="\u4EC5\u6587\u672C\u901F\u5EA6 ";function isSpeedKeyword(B){return B.indexOf(SpeedKeyword)===0}function isSpeedHiddenKeyword(B){return B.indexOf(SpeedHiddenKeyword)===0}function formatSpeedKeyword(B){return B.replace(SpeedHiddenKeyword,"").replace(SpeedKeyword,"")}function isGradientWords(B){return GradientWords.includes(B)}function isSpecialMark(B){return[...Object.keys(SpeedTag),...SpecialMarks,...SpecialWords,...HideWords].map(R=>R.trim().toLocaleUpperCase()).includes(B.toLocaleUpperCase().trim())}function isTopFont(B){return[TextAlignmentEnum.CenterTop,TextAlignmentEnum.RightTop].includes(B)}var MusicSymbol=(B=>(B[B.Unused_first_Symbol=0]="Unused_first_Symbol",B[B.BLACK_HEAD=1]="BLACK_HEAD",B[B.UPWARDS_TAIL=2]="UPWARDS_TAIL",B[B.DOWNWARDS_TAIL=3]="DOWNWARDS_TAIL",B[B.UPWARDS_DOUBLE_TAIL=4]="UPWARDS_DOUBLE_TAIL",B[B.DOWNWARDS_DOUBLE_TAIL=5]="DOWNWARDS_DOUBLE_TAIL",B[B.UPWARDS_TRIPLE_TAIL=6]="UPWARDS_TRIPLE_TAIL",B[B.DOWNWARDS_TRIPLE_TAIL=7]="DOWNWARDS_TRIPLE_TAIL",B[B.UPWARDS_QUAD_TAIL=8]="UPWARDS_QUAD_TAIL",B[B.DOWNWARDS_QUAD_TAIL=9]="DOWNWARDS_QUAD_TAIL",B[B.ROUND_HEAD=10]="ROUND_HEAD",B[B.WHITE_HEAD=11]="WHITE_HEAD",B[B.G_CLEF=12]="G_CLEF",B[B.F_CLEF=13]="F_CLEF",B[B.C_CLEF=14]="C_CLEF",B[B.BREVE=15]="BREVE",B[B.BREVE_REST=16]="BREVE_REST",B[B.COMMON_TIME=17]="COMMON_TIME",B[B.CUT_TIME=18]="CUT_TIME",B[B.WHOLE_REST=19]="WHOLE_REST",B[B.HALF_REST=20]="HALF_REST",B[B.QUARTER_REST=21]="QUARTER_REST",B[B.EIGHTH_REST=22]="EIGHTH_REST",B[B.SIXTEENTH_REST=23]="SIXTEENTH_REST",B[B.THIRTYSECOND_REST=24]="THIRTYSECOND_REST",B[B.SIXTYFOURTH_REST=25]="SIXTYFOURTH_REST",B[B.FLAT=26]="FLAT",B[B.SHARP=27]="SHARP",B[B.NATURAL=28]="NATURAL",B[B.DOUBLE_FLAT=29]="DOUBLE_FLAT",B[B.DOUBLE_SHARP=30]="DOUBLE_SHARP",B[B.ZERO=31]="ZERO",B[B.ONE=32]="ONE",B[B.TWO=33]="TWO",B[B.THREE=34]="THREE",B[B.FOUR=35]="FOUR",B[B.FIVE=36]="FIVE",B[B.SIX=37]="SIX",B[B.SEVEN=38]="SEVEN",B[B.EIGHT=39]="EIGHT",B[B.NINE=40]="NINE",B[B.DOT=41]="DOT",B[B.FERMATA=42]="FERMATA",B[B.INVERTED_FERMATA=43]="INVERTED_FERMATA",B[B.SPICCATO=44]="SPICCATO",B[B.TENUTO=45]="TENUTO",B[B.MARCATO=46]="MARCATO",B[B.MARCATISSIMO=47]="MARCATISSIMO",B[B.INVERTED_MARCATISSIMO=48]="INVERTED_MARCATISSIMO",B[B.P=49]="P",B[B.F=50]="F",B[B.S=51]="S",B[B.Z=52]="Z",B[B.M=53]="M",B[B.R=54]="R",B[B.SEGNO=55]="SEGNO",B[B.CODA=56]="CODA",B[B.DRUM_CLEF=57]="DRUM_CLEF",B[B.G_CLEF_SUB8=58]="G_CLEF_SUB8",B[B.G_CLEF_SUPER8=59]="G_CLEF_SUPER8",B[B.G_CLEF_SUB15=60]="G_CLEF_SUB15",B[B.G_CLEF_SUPER15=61]="G_CLEF_SUPER15",B[B.F_CLEF_SUB8=62]="F_CLEF_SUB8",B[B.F_CLEF_SUPER8=63]="F_CLEF_SUPER8",B[B.F_CLEF_SUB15=64]="F_CLEF_SUB15",B[B.F_CLEF_SUPER15=65]="F_CLEF_SUPER15",B[B.DOWN_BOW=66]="DOWN_BOW",B[B.MORDENT=67]="MORDENT",B[B.INVERTED_MORDENT=68]="INVERTED_MORDENT",B[B.TURN=69]="TURN",B[B.INVERTED_TURN=70]="INVERTED_TURN",B[B.LEFTHAND_PIZZICATO=71]="LEFTHAND_PIZZICATO",B[B.RELEASE_PED=72]="RELEASE_PED",B[B.ENGAGE_PED=73]="ENGAGE_PED",B[B.VA8=74]="VA8",B[B.VB8=75]="VB8",B[B.TRILL=76]="TRILL",B[B.MA15=77]="MA15",B[B.MB15=78]="MB15",B[B.HIGH=79]="HIGH",B[B.PLAY=80]="PLAY",B[B.MIC=81]="MIC",B[B.SNAP_PIZZICATO=82]="SNAP_PIZZICATO",B[B.NATURAL_HARMONIC=83]="NATURAL_HARMONIC",B[B.EditPen=84]="EditPen",B[B.PEDAL_BRACKET=85]="PEDAL_BRACKET",B[B.PEDAL_MIXED=86]="PEDAL_MIXED",B[B.PEDAL_SYMBOL=87]="PEDAL_SYMBOL",B))(MusicSymbol||{}),MusicSymbolDrawingStyle=(B=>(B[B.Normal=0]="Normal",B[B.Disabled=1]="Disabled",B[B.Selected=2]="Selected",B[B.Clickable=3]="Clickable",B[B.PlaybackSymbols=4]="PlaybackSymbols",B[B.FollowSymbols=5]="FollowSymbols",B[B.QFeedbackNotFound=6]="QFeedbackNotFound",B[B.QFeedbackOk=7]="QFeedbackOk",B[B.QFeedbackPerfect=8]="QFeedbackPerfect",B[B.Debug1=9]="Debug1",B[B.Debug2=10]="Debug2",B[B.Debug3=11]="Debug3",B))(MusicSymbolDrawingStyle||{}),PhonicScoreModes=(B=>(B[B.Following=0]="Following",B[B.Midi=1]="Midi",B[B.Manual=2]="Manual",B))(PhonicScoreModes||{});class LabelRenderSpecs{}class MusicSheetDrawer{constructor(R,F){this.drawableBoundingBoxElement="None",this.skyLineVisible=!1,this.bottomLineVisible=!1,this.phonicScoreMode=PhonicScoreModes.Manual,this.textMeasurer=R,this.splitScreenLineColor=-1,this.drawingParameters=F,this.rules=F.Rules}set Mode(R){this.phonicScoreMode=R}drawSheet(R){if(this.graphicalMusicSheet=R,this.rules=R.ParentMusicSheet.Rules,this.drawSplitScreenLine(),this.drawingParameters.drawCursors)for(const D of R.Cursors){if(!D)continue;const G=new BoundingBox$1(D);G.AbsolutePosition=D.Start,G.BorderBottom=D.End.y-D.Start.y,G.BorderRight=D.Width/2,G.BorderLeft=-D.Width/2,this.isVisible(G)&&this.drawLineAsVerticalRectangle(D,GraphicalLayers.Cursor)}this.drawingParameters.drawScrollIndicator&&this.drawScrollIndicator();const F=Math.min(this.graphicalMusicSheet.MusicPages.length,this.rules.MaxPageToDrawNumber);for(let D=0;D<F;D++){const G=this.graphicalMusicSheet.MusicPages[D];this.drawPage(G)}}drawLineAsHorizontalRectangle(R,F){let D=new RectangleF2D(R.Start.x,R.End.y-R.Width/2,R.End.x-R.Start.x,R.Width);D=this.applyScreenTransformationForRect(D),this.renderRectangle(D,F,R.styleId,R.colorHex)}drawLineAsVerticalRectangle(R,F){const D=R.Start,G=R.Width;let U=new RectangleF2D(D.x-G/2,D.y,G,R.End.y-D.y);U=this.applyScreenTransformationForRect(U),this.renderRectangle(U,F,R.styleId)}drawLineAsHorizontalRectangleWithOffset(R,F,D){const G=new PointF2D(R.Start.x+F.x,R.Start.y+F.y),U=new PointF2D(R.End.x+F.x,R.End.y+F.y),W=R.Width;let q=new RectangleF2D(G.x,U.y-W/2,U.x-G.x,W);q=this.applyScreenTransformationForRect(q),this.renderRectangle(q,D,R.styleId)}drawLineAsVerticalRectangleWithOffset(R,F,D){const G=new PointF2D(R.Start.x+F.x,R.Start.y+F.y),U=new PointF2D(R.End.x+F.x,R.End.y+F.y),W=R.Width;let q=new RectangleF2D(G.x,G.y,W,U.y-G.y);q=this.applyScreenTransformationForRect(q),this.renderRectangle(q,D,R.styleId)}drawRectangle(R,F){const D=R.PositionAndShape;let G=new RectangleF2D(D.AbsolutePosition.x,D.AbsolutePosition.y,D.BorderRight,D.BorderBottom);G=this.applyScreenTransformationForRect(G),this.renderRectangle(G,F,R.style)}drawLabel(R,F){var J,ie,ne,se,re,ae,le,ce,he,de,me,fe,ge,Se,Ee;const D=this.graphicalMusicSheet.GetNearestNote(R.PositionAndShape.AbsolutePosition);if(!this.isVisible(R.PositionAndShape))return;const G=R.Label;if(G.text.trim()==="")return;const U=this.calculateLabel(R),W=this.applyScreenTransformation(R.PositionAndShape.AbsolutePosition),q=R.PositionAndShape.Parent.DataObject;if(this.rules.MetronomeMarksDrawn&&((ie=(J=q==null?void 0:q.measures)==null?void 0:J[0])==null?void 0:ie.MeasureNumber)===1&&((ne=q==null?void 0:q.ParentMusicSystem)==null?void 0:ne.Id)===0&&isTopFont(R.Label.textAlignment)&&(U.ScreenPosition.y-=1*10),G.text==="\uFF0C"){let ve=0;const xe=((ae=(re=(se=this.graphicalMusicSheet)==null?void 0:se.MusicPages)==null?void 0:re[0])==null?void 0:ae.MusicSystems)||[];let Pe;try{for(let Le=0;Le<xe.length;Le++){const we=xe[Le];if(R.PositionAndShape.AbsolutePosition.x<10){console.log(R.PositionAndShape.AbsolutePosition.x);const Ae=this.graphicalMusicSheet.MeasureList[D.sourceNote.SourceMeasure.MeasureNumber-2];Ae&&Ae[0]&&(Pe=Ae[0],ve=Pe.PositionAndShape.AbsolutePosition.y-Pe.PositionAndShape.Size.height/2);break}if(we.PositionAndShape.AbsolutePosition.y-10<R.PositionAndShape.AbsolutePosition.y&&R.PositionAndShape.AbsolutePosition.y<we.PositionAndShape.AbsolutePosition.y+10){const Ae=(we==null?void 0:we.GraphicalMeasures.map(Ne=>Ne[0]).filter(Boolean))||[],Me=[];let ke=!1;for(let Ne=0;Ne<Ae.length;Ne++){const Ie=Ae[Ne];if(((he=(ce=(le=Ie.vfVoices)==null?void 0:le["1"])==null?void 0:ce.tickables)==null?void 0:he.length)===1&&Ie.PositionAndShape.AbsolutePosition.x<R.PositionAndShape.AbsolutePosition.x&&R.PositionAndShape.AbsolutePosition.x<Ie.PositionAndShape.AbsolutePosition.x+Ie.PositionAndShape.Size.width){Pe=Ie,ke=!0;break}const Ge=Ie.PositionAndShape.AbsolutePosition.x+Ie.PositionAndShape.Size.width,ze=R.PositionAndShape.AbsolutePosition.x;Ge-15<ze&&ze<Ge+15&&Me.push({measure:Ie,x:Math.abs(ze-Ge)})}if(ke)break;Pe=(me=(de=Me.sort((Ne,Ie)=>Ne.x-Ie.x))==null?void 0:de[0])==null?void 0:me.measure;break}}}catch(Le){console.log("\u{1F680} ~ error",Le)}let ye=0;Pe?ye=((fe=Pe.stave)==null?void 0:fe.end_x)||0:ye=((ge=D.sourceNote.SourceMeasure.VerticalMeasureList[0])==null?void 0:ge.getVFStave()).end_x;const Te=0;U.ScreenPosition.x=ye,U.ScreenPosition.y=ve===0?(R.PositionAndShape.Parent.AbsolutePosition.y-3-Te)*10:ve*10}const Y=["C","G","D","A","E","B","F#","C#","G#","F","Bb","Eb","Ab","Db","Gb","Cb","Fb","D#","A#","E#"];Y.includes(G.text)&&(U.ScreenPosition.y=(R.PositionAndShape.Parent.AbsolutePosition.y+R.PositionAndShape.Parent.BorderTop+R.PositionAndShape.Parent.BorderMarginTop)*10),["play","listen"].includes(G.text.toLocaleLowerCase())&&G.textAlignment===TextAlignmentEnum.LeftBottom&&(U.ScreenPosition.y=(R.PositionAndShape.Parent.AbsolutePosition.y-1+R.PositionAndShape.Parent.BorderBottom)*10);const Q=["ffp","p-f","sfzp","szf","sffzp"];for(let ve=0;ve<Q.length;ve++){const xe=Q[ve].replace(/ /g,""),Pe=G.text.replace(/ /g,"");if(Pe.toLocaleLowerCase()===xe.toLocaleLowerCase()||Pe.includes(xe)){G.fontStyle=3,G.text==="sfzp"&&(G.fontHeight=2.3);break}}(G.text=="R"||G.text=="L")&&(U.ScreenPosition.x+=5),(G.text==="r"||G.text==="l")&&(U.ScreenPosition.x+=6);const Z=R.PositionAndShape.Size.width/2*10;if(W.x-Z<R.PositionAndShape.RelativePosition.x&&(U.ScreenPosition.x=(R.PositionAndShape.RelativePosition.x+this.rules.PageLeftMargin)*10),isSpecialMark(R.Label.text||"")&&!Y.includes(G.text)&&(R.Label.fontHeight=0),this.rules.MetronomeMarksDrawn&&R.Label.fontHeight>0&&(isTopFont(R.Label.textAlignment)||[TextAlignmentEnum.CenterBottom].includes(R.Label.textAlignment))){let ve=-1,xe=!1;for(const Pe of(q==null?void 0:q.AbstractExpressions)||[])if(Pe.Label===R?ve=(Se=Pe==null?void 0:Pe.parentMeasure)==null?void 0:Se.measureListIndex:(Ee=Pe.expression)!=null&&Ee.TempoInBpm&&(xe=Pe.expression.TempoInBpm>0),xe&&ve>-1){U.ScreenPosition.y-=4*10;break}}this.rules.DYMusicScoreType==="jianpu"?isNaN(parseInt(R.Label.text,10))&&this.renderLabel(R,F,U):this.renderLabel(R,F,U)}calculateLabel(R){const F=new LabelRenderSpecs,D=R.Label,G=new BoundingBox$1(this);G.AbsolutePosition.x=R.PositionAndShape.AbsolutePosition.x,G.AbsolutePosition.y=R.PositionAndShape.AbsolutePosition.y||R.PositionAndShape.Parent.AbsolutePosition.y,F.ScreenPosition=this.applyScreenTransformation(G.AbsolutePosition),F.FontHeightInPixel=this.calculatePixelDistance(D.fontHeight);const U=this.calculatePixelDistance(R.PositionAndShape.Size.width);switch(F.BitmapWidth=Math.ceil(U),F.BitmapHeight=R.TextLines?Math.ceil(F.FontHeightInPixel*(.2+R.TextLines.length)):10,D.textAlignment){case TextAlignmentEnum.LeftTop:F.ScreenPosition.x-=F.BitmapWidth/2,F.ScreenPosition.y+=F.BitmapHeight*1.5;break;case TextAlignmentEnum.LeftCenter:F.ScreenPosition.y-=F.BitmapHeight/2;break;case TextAlignmentEnum.LeftBottom:F.ScreenPosition.y-=F.BitmapHeight;break;case TextAlignmentEnum.CenterTop:F.ScreenPosition.x-=F.BitmapWidth/2;break;case TextAlignmentEnum.CenterCenter:F.ScreenPosition.x-=F.BitmapWidth/2,F.ScreenPosition.y-=F.BitmapHeight/2;break;case TextAlignmentEnum.CenterBottom:F.ScreenPosition.x-=F.BitmapWidth/2,F.ScreenPosition.y-=F.BitmapHeight;break;case TextAlignmentEnum.RightTop:F.ScreenPosition.x-=F.BitmapWidth;break;case TextAlignmentEnum.RightCenter:F.ScreenPosition.x-=F.BitmapWidth,F.ScreenPosition.y-=F.BitmapHeight/2;break;case TextAlignmentEnum.RightBottom:F.ScreenPosition.x-=F.BitmapWidth,F.ScreenPosition.y-=F.BitmapHeight;break;default:throw new ArgumentOutOfRangeException("")}return F}applyScreenTransformations(R){const F=[];for(const D of R)F.push(this.applyScreenTransformation(D));return F}drawSplitScreenLine(){}renderRectangle(R,F,D,G=void 0,U=1){throw new Error("not implemented")}drawScrollIndicator(){}drawSelectionStartSymbol(R){}drawSelectionEndSymbol(R){}renderLabel(R,F,D){throw new Error("not implemented")}renderSystemToScreen(R,F,D){}drawSkyLine(R){}drawBottomLine(R){}drawInstrumentBrace(R,F){}drawGroupBracket(R,F){}isVisible(R){return!0}drawMusicSystem(R){const F=this.getSystemAbsBoundingRect(R),D=this.getSytemBoundingBoxInPixels(F);this.drawMusicSystemComponents(R,D,F)}getSytemBoundingBoxInPixels(R){const F=this.applyScreenTransformationForRect(R);return F.x=Math.round(F.x),F.y=Math.round(F.y),F}getSystemAbsBoundingRect(R){const F=R.PositionAndShape.BoundingRectangle;return new RectangleF2D(R.PositionAndShape.AbsolutePosition.x+R.PositionAndShape.BorderLeft-1,R.PositionAndShape.AbsolutePosition.y+R.PositionAndShape.BorderTop-1,F.width+6,F.height+2)}drawMusicSystemComponents(R,F,D){const G=this.graphicalMusicSheet.SelectionStartSymbol,U=this.graphicalMusicSheet.SelectionEndSymbol;this.drawingParameters.drawSelectionStartSymbol&&G!==void 0&&this.isVisible(G.PositionAndShape)&&this.drawSelectionStartSymbol(G),this.drawingParameters.drawSelectionEndSymbol&&U!==void 0&&this.isVisible(U.PositionAndShape)&&this.drawSelectionEndSymbol(U);for(const Y of R.StaffLines)this.drawStaffLine(Y),this.rules.RenderLyrics&&(Y.LyricsDashes.length>0&&this.drawDashes(Y.LyricsDashes),Y.LyricLines.length>0&&this.drawLyricLines(Y.LyricLines,Y));for(const Y of R.SystemLines)this.drawSystemLineObject(Y);if(R.Parent===R.Parent.Parent.MusicPages[0])for(const Y of R.Labels)Y.SVGNode=this.drawLabel(Y,GraphicalLayers.Notes);const W=this.graphicalMusicSheet.ParentMusicSheet.Instruments,q=W.filter(Y=>Y.Visible).length;for(const Y of R.InstrumentBrackets)this.drawInstrumentBrace(Y,R);if(W.length>0)if(q>1)for(const Y of R.GroupBrackets)this.drawGroupBracket(Y,R);else for(const Y of R.GroupBrackets)Y.Visible=!1;if(!this.leadSheet)for(const Y of R.MeasureNumberLabels)Y.SVGNode=this.drawLabel(Y,GraphicalLayers.Notes);for(const Y of R.StaffLines)this.drawStaffLineSymbols(Y);this.drawingParameters.drawMarkedAreas&&this.drawMarkedAreas(R)}activateSystemRendering(R,F,D,G){return!0}drawSystemLineObject(R){}drawStaffLine(R){for(const F of R.Measures)this.drawMeasure(F);this.rules.RenderLyrics&&R.LyricsDashes.length>0&&this.drawDashes(R.LyricsDashes),this.drawOctaveShifts(R),this.drawPedals(R),this.drawWavyLines(R),this.drawExpressions(R),this.skyLineVisible&&this.drawSkyLine(R),this.bottomLineVisible&&this.drawBottomLine(R)}drawLyricLines(R,F){F.LyricLines.forEach(D=>{D.Start.y+=F.PositionAndShape.AbsolutePosition.y,D.End.y+=F.PositionAndShape.AbsolutePosition.y,D.Start.x+=F.PositionAndShape.AbsolutePosition.x,D.End.x+=F.PositionAndShape.AbsolutePosition.x,this.drawGraphicalLine(D,this.rules.LyricUnderscoreLineWidth)})}drawExpressions(R){}drawGraphicalLine(R,F,D="black"){return this.drawLine(R.Start,R.End,D,F)}drawLine(R,F,D="#FF0000FF",G){}drawDashes(R){R.forEach(F=>F.SVGNode=this.drawLabel(F,GraphicalLayers.Notes))}drawOctaveShifts(R){}drawStaffLines(R){if(R.StaffLines){const F=R.PositionAndShape.AbsolutePosition;for(let D=0;D<5;D++)this.drawLineAsHorizontalRectangleWithOffset(R.StaffLines[D],F,GraphicalLayers.Notes)}}drawSymbol(R,F,D,G=1,U=GraphicalLayers.Notes){}get leadSheet(){return this.graphicalMusicSheet.LeadSheet}set leadSheet(R){this.graphicalMusicSheet.LeadSheet=R}drawPage(R){if(!!this.isVisible(R.PositionAndShape)){for(const F of R.MusicSystems)this.isVisible(F.PositionAndShape)&&this.drawMusicSystem(F);if(R===R.Parent.MusicPages[0])for(const F of R.Labels)F.SVGNode=this.drawLabel(F,GraphicalLayers.Notes);this.drawableBoundingBoxElement&&this.drawBoundingBoxes(R.PositionAndShape,0,this.drawableBoundingBoxElement)}}drawBoundingBoxes(R,F=0,D="all"){const G=R.DataObject.constructor.name;let U=!1;D==="all"&&(U=!0),(U||G===D)&&this.drawBoundingBox(R,void 0,!0,G,F),F++,R.ChildElements.forEach(W=>this.drawBoundingBoxes(W,F,D))}drawBoundingBox(R,F=void 0,D=!1,G=void 0,U=0){let W=new RectangleF2D(R.AbsolutePosition.x+R.BorderMarginLeft,R.AbsolutePosition.y+R.BorderMarginTop,R.BorderMarginRight-R.BorderMarginLeft,R.BorderMarginBottom-R.BorderMarginTop);D&&(this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(R.AbsolutePosition.x-1,R.AbsolutePosition.y),new PointF2D(R.AbsolutePosition.x+1,R.AbsolutePosition.y),.1,OutlineAndFillStyleEnum.BaseWritingColor,F),U-1),this.drawLineAsVerticalRectangle(new GraphicalLine(new PointF2D(R.AbsolutePosition.x,R.AbsolutePosition.y-1),new PointF2D(R.AbsolutePosition.x,R.AbsolutePosition.y+1),.1,OutlineAndFillStyleEnum.BaseWritingColor,F),U-1)),W=this.applyScreenTransformationForRect(W);const q=this.renderRectangle(W,GraphicalLayers.Background,U,F,.5);if(G){const Y=new Label(G),Q=new LabelRenderSpecs;Q.BitmapWidth=W.width,Q.BitmapHeight=W.height,Q.FontHeightInPixel=W.height,Q.ScreenPosition=new PointF2D(W.x,W.y+12),this.renderLabel(new GraphicalLabel(Y,.8,TextAlignmentEnum.CenterCenter,this.rules),U,Q)}return q}drawMarkedAreas(R){for(const F of R.GraphicalMarkedAreas)F&&(F.systemRectangle&&this.drawRectangle(F.systemRectangle,GraphicalLayers.Background),F.settings&&(F.settings.SVGNode=this.drawLabel(F.settings,GraphicalLayers.Comment)),F.labelRectangle&&this.drawRectangle(F.labelRectangle,GraphicalLayers.Background),F.label&&(F.label.SVGNode=this.drawLabel(F.label,GraphicalLayers.Comment)))}drawStaffLineSymbols(R){const F=R.ParentStaff.ParentInstrument,D=R.PositionAndShape.AbsolutePosition.x,G=R.PositionAndShape.AbsolutePosition.y+2,U=R.PositionAndShape.BorderRight;F.highlight&&this.drawingParameters.drawHighlights&&this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(D,G),new PointF2D(D+U,G),4,OutlineAndFillStyleEnum.Highlighted),GraphicalLayers.Highlight);let W=MusicSymbolDrawingStyle.Disabled,q=MusicSymbol.PLAY,Y=this.drawingParameters.drawActivitySymbols;switch(this.phonicScoreMode){case PhonicScoreModes.Midi:q=MusicSymbol.PLAY,this.midiPlaybackAvailable&&R.ParentStaff.audible&&(W=MusicSymbolDrawingStyle.PlaybackSymbols);break;case PhonicScoreModes.Following:q=MusicSymbol.MIC,R.ParentStaff.following&&(W=MusicSymbolDrawingStyle.FollowSymbols);break;default:Y=!1;break}if(Y){const Q=new PointF2D(D+U+2,G);this.drawSymbol(q,W,Q)}if(this.drawingParameters.drawErrors)for(const Q of R.Measures){const Z=Q.PositionAndShape,K=Z.AbsolutePosition.x,J=Z.AbsolutePosition.y+2;Q.hasError&&this.graphicalMusicSheet.ParentMusicSheet.DrawErroneousMeasures&&this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(K,J),new PointF2D(K+Z.BorderRight,J),4,OutlineAndFillStyleEnum.ErrorUnderlay),GraphicalLayers.MeasureError)}}}class VexFlowTextMeasurer{constructor(R){this.fontSize=20,this.fontSizeStandard=this.fontSize;const F=document.createElement("canvas");this.context=F.getContext("2d"),this.rules=R}computeTextWidthToHeightRatio(R,F,D,G=void 0,U=this.fontSize){return this.context.font=VexFlowConverter.font(U,D,F,this.rules,G),this.context.measureText(R).width/U}setFontSize(R=this.fontSizeStandard){return this.fontSize=R,R}}class AbstractGraphicalExpression extends GraphicalObject{constructor(R,F,D){super(),this.expression=F,this.parentMeasure=D,this.boundingBox=new BoundingBox$1(this,R.PositionAndShape),this.parentStaffLine=R,this.parentStaffLine.AbstractExpressions.push(this),this.rules=R.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(R,F){super(F.PositionAndShape.Parent.DataObject,R,R.parentMeasure),this.label=F}get GraphicalLabel(){return this.label}updateSkyBottomLine(){}}class GraphicalInstantaneousDynamicExpression extends AbstractGraphicalExpression{constructor(R,F,D){super(F,R,D.parentSourceMeasure),this.mInstantaneousDynamicExpression=R,this.mMeasure=D}updateSkyBottomLine(){const R=this.parentStaffLine.SkyBottomLineCalculator,F=this.PositionAndShape.RelativePosition.x+this.PositionAndShape.BorderMarginLeft,D=this.PositionAndShape.RelativePosition.x+this.PositionAndShape.BorderMarginRight;let G=0;switch(this.Placement){case PlacementEnum.Above:G=this.PositionAndShape.RelativePosition.y+this.PositionAndShape.BorderMarginTop,R.updateSkyLineInRange(F,D,G);break;case PlacementEnum.Below:G=this.PositionAndShape.RelativePosition.y+this.PositionAndShape.BorderMarginBottom,R.updateBottomLineInRange(F,D,G);break;default:log$2.error("Placement for GraphicalInstantaneousDynamicExpression is unknown")}}}class GraphicalContinuousDynamicExpression extends AbstractGraphicalExpression{constructor(R,F,D){super(F,R,D),this.lines=[],this.isSplittedPart=!1,this.notToBeRemoved=!1}get StartMeasure(){return this.startMeasure}set StartMeasure(R){this.startMeasure=R}get EndMeasure(){return this.endMeasure}set EndMeasure(R){this.endMeasure=R}get EndStaffLine(){return this.endMeasure?this.endMeasure.ParentStaffLine:void 0}get IsSplittedPart(){return this.isSplittedPart}set IsSplittedPart(R){this.isSplittedPart=R}get IsVerbal(){return this.ContinuousDynamic.Label&&this.ContinuousDynamic.Label.length>0}get NotToBeRemoved(){return this.notToBeRemoved}set NotToBeRemoved(R){this.notToBeRemoved=R}get Lines(){return this.lines}get ContinuousDynamic(){return this.SourceExpression}updateSkyBottomLine(){var G;const R=this.parentStaffLine.SkyBottomLineCalculator,F=this.IsVerbal?this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginLeft:0,D=this.IsVerbal?this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginRight:0;switch(!this.IsVerbal&&this.lines.length<2&&log$2.warn("Not enough lines for SkyBottomLine calculation"),this.IsVerbal||this.ContinuousDynamic.DynamicType!==ContDynamicEnum.crescendo&&this.ContinuousDynamic.DynamicType!==ContDynamicEnum.diminuendo&&log$2.warn("GraphicalContinuousDynamicExpression.updateSkyBottomLine(): unhandled continuous dynamic type. start measure: "+((G=this.startMeasure)==null?void 0:G.MeasureNumber)),this.Placement){case PlacementEnum.Above:if(!this.IsVerbal)this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?R.updateSkyLineWithWedge(this.lines[0].Start,this.lines[0].End):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&R.updateSkyLineWithWedge(this.lines[0].End,this.lines[0].Start);else{const U=this.label.PositionAndShape.BorderMarginTop+this.label.PositionAndShape.RelativePosition.y;R.updateSkyLineInRange(F,D,U)}break;case PlacementEnum.Below:if(!this.IsVerbal)this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?R.updateBottomLineWithWedge(this.lines[1].Start,this.lines[1].End):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&R.updateBottomLineWithWedge(this.lines[1].End,this.lines[1].Start);else{const U=this.label.PositionAndShape.BorderMarginBottom+this.label.PositionAndShape.RelativePosition.y;R.updateBottomLineInRange(F,D,U)}break;default:log$2.error("Placement for GraphicalContinuousDynamicExpression is unknown")}}createCrescendoLines(R,F,D,G=this.rules.WedgeOpeningLength,U=this.rules.WedgeLineWidth){const W=new PointF2D(R,D),q=new PointF2D(F,D-G/2),Y=new PointF2D(F,D+G/2);this.addWedgeLines(W,q,Y,U)}createFirstHalfCrescendoLines(R,F,D,G=this.rules.WedgeMeasureEndOpeningLength,U=this.rules.WedgeLineWidth){const W=new PointF2D(R,D),q=new PointF2D(F,D-G/2),Y=new PointF2D(F,D+G/2);this.addWedgeLines(W,q,Y,U)}createSecondHalfCrescendoLines(R,F,D,G=this.rules.WedgeMeasureBeginOpeningLength,U=this.rules.WedgeOpeningLength,W=this.rules.WedgeLineWidth){const q=new PointF2D(R,D-G/2),Y=new PointF2D(R,D+G/2),Q=new PointF2D(F,D-U/2),Z=new PointF2D(F,D+U/2);this.addDoubleLines(q,Q,Y,Z,W)}recalculateCrescendoLines(R,F,D){const G=Math.abs(this.lines[0].Start.y-this.lines[1].Start.y)>1e-4;this.lines.clear(),G?this.createSecondHalfCrescendoLines(R,F,D):this.isSplittedPart?this.createFirstHalfCrescendoLines(R,F,D):this.createCrescendoLines(R,F,D)}createDiminuendoLines(R,F,D,G=this.rules.WedgeOpeningLength,U=this.rules.WedgeLineWidth){const W=new PointF2D(R,D-G/2),q=new PointF2D(R,D+G/2),Y=new PointF2D(F,D);this.addWedgeLines(Y,W,q,U)}createFirstHalfDiminuendoLines(R,F,D,G=this.rules.WedgeOpeningLength,U=this.rules.WedgeMeasureEndOpeningLength,W=this.rules.WedgeLineWidth){const q=new PointF2D(R,D-G/2),Y=new PointF2D(R,D+G/2),Q=new PointF2D(F,D-U/2),Z=new PointF2D(F,D+U/2);this.addDoubleLines(q,Q,Y,Z,W)}createSecondHalfDiminuendoLines(R,F,D,G=this.rules.WedgeMeasureBeginOpeningLength,U=this.rules.WedgeLineWidth){const W=new PointF2D(R,D-G/2),q=new PointF2D(R,D+G/2),Y=new PointF2D(F,D);this.addWedgeLines(Y,W,q,U)}recalculateDiminuendoLines(R,F,D){const G=Math.abs(this.lines[0].End.y-this.lines[1].End.y)>1e-4;this.lines.clear(),G?this.createFirstHalfDiminuendoLines(R,F,D):this.isSplittedPart?this.createSecondHalfDiminuendoLines(R,F,D):this.createDiminuendoLines(R,F,D)}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.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(R){this.IsVerbal?(this.PositionAndShape.RelativePosition.y+=R,this.PositionAndShape.calculateBoundingBox()):(this.lines[0].Start.y+=R,this.lines[0].End.y+=R,this.lines[1].End.y+=R)}squeeze(R){this.IsVerbal||Math.abs(this.lines[0].End.x-this.lines[0].Start.x)<Math.abs(R)||(this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?R>0?this.lines[0].Start.x+=R:(this.lines[0].End.x+=R,this.lines[1].End.x+=R):R<0?this.lines[0].Start.x+=R:(this.lines[0].End.x+=R,this.lines[1].End.x+=R),this.calcPsi())}addWedgeLines(R,F,D,G){const U=new GraphicalLine(R,F,G),W=new GraphicalLine(R,D,G);this.lines.push(U),this.lines.push(W)}addDoubleLines(R,F,D,G,U){const W=new GraphicalLine(R,F,U),q=new GraphicalLine(D,G,U);this.lines.push(W),this.lines.push(q)}}class GraphicalUnknownExpression extends AbstractGraphicalExpression{constructor(R,F,D,G,U=void 0){super(R,new AbstractExpression(D),G),this.label=F,this.sourceMultiExpression=U}updateSkyBottomLine(){const R=this.parentStaffLine.SkyBottomLineCalculator,F=this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginLeft,D=this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginRight;switch(this.Placement){case PlacementEnum.Above:const G=this.label.PositionAndShape.BorderMarginTop+this.label.PositionAndShape.RelativePosition.y;R.updateSkyLineInRange(F,D,G);break;case PlacementEnum.Below:const U=this.label.PositionAndShape.BorderMarginBottom+this.label.PositionAndShape.RelativePosition.y;R.updateBottomLineInRange(F,D,U);break;default:log$2.error("Placement for GraphicalUnknownExpression is unknown")}}}Vex.Flow;const unitInPixels=10;class VexFlowMusicSheetDrawer extends MusicSheetDrawer{constructor(R=new DrawingParameters){super(new VexFlowTextMeasurer(R.Rules),R),this.backends=[],this.zoom=1,this.pageIdx=0,this.getDotId=(F,D)=>D?String(F.Label.PositionAndShape.RelativePosition[D]):String(F.Label.PositionAndShape.RelativePosition.x)+String(F.Label.PositionAndShape.RelativePosition.y),this.hasDot=(F,D,G,U)=>{const W=D||Object.values(U);for(const q of W){if(G)return F.x===q.x&&F.y===q.y;if(F.x===q.x)return!0}return!1}}get Zoom(){return this.zoom}get Backends(){return this.backends}initializeBackendForPage(R){this.backend=this.backends[R.PageNumber-1]}drawSheet(R){var F,D,G;this.rules.DefaultVexFlowNoteFont==="gonville"&&(Vex.Flow.DEFAULT_FONT_STACK=[(F=Vex.Flow.Fonts)==null?void 0:F.Gonville,(D=Vex.Flow.Fonts)==null?void 0:D.Bravura,(G=Vex.Flow.Fonts)==null?void 0:G.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 U of R.MusicPages){if(U.PageNumber>this.rules.MaxPageToDrawNumber)break;const W=this.backends[this.pageIdx];W.graphicalMusicPage=U,W.scale(this.zoom),this.pageIdx+=1}this.pageIdx=0,this.backend=this.backends[0],super.drawSheet(R)}drawPage(R){!R||(this.backend=this.backends[R.PageNumber-1],super.drawPage(R),this.pageIdx+=1)}clear(){for(const R of this.backends)R.clear()}setZoom(R){this.zoom=R}calculatePixelDistance(R){return R*unitInPixels}drawStaffLine(R){const F=this.backend.getContext().openGroup();F&&F.classList.add("staffline"),super.drawStaffLine(R);const D=R.PositionAndShape.AbsolutePosition;this.rules.RenderSlurs&&this.drawSlurs(R,D),this.backend.getContext().closeGroup()}drawSlurs(R,F){var G,U,W,q;const D=(G=window.GYM)==null?void 0:G.vfcurveItem;for(let Y=0;Y<R.GraphicalSlurs.length;Y++){const Q=R.GraphicalSlurs[Y];if(!Q.slur.isCrossed()){if(D&&D.length)try{const Z=D.find((K,J)=>(K.index?K.index===Y:!0)&&K.MeasureNumberXML==Q.staffEntries[Q.staffEntries.length-1].parentMeasure.MeasureNumber);Z&&(Q.bezierEndControlPt.y+=(U=Z==null?void 0:Z.bezierEndControlPt)!=null&&U.y?Z.bezierEndControlPt.y:0,Q.bezierEndPt.y+=(W=Z==null?void 0:Z.bezierEndPt)!=null&&W.y?Z.bezierEndPt.y:0,Q.bezierStartControlPt.y+=(q=Z==null?void 0:Z.bezierStartControlPt)!=null&&q.y?Z.bezierStartControlPt.y:0)}catch(Z){console.log(Z)}this.drawSlur(Q,F)}}}drawSlur(R,F){const D=[];let G,U,W,q;this.rules.DYMusicScoreType==="jianpu"?((R.placement>0||R.bezierStartPt.y>0)&&(R.bezierStartPt.y=-.8,R.bezierStartControlPt.y=-2.5),G=new PointF2D(R.bezierStartPt.x+F.x,R.bezierStartPt.y+F.y),U=new PointF2D(R.bezierStartControlPt.x+F.x,R.bezierStartControlPt.y+F.y),W=new PointF2D(R.bezierEndControlPt.x+F.x,R.bezierStartControlPt.y+F.y),q=new PointF2D(R.bezierEndPt.x+F.x,R.bezierStartPt.y+F.y)):(G=new PointF2D(R.bezierStartPt.x+F.x,R.bezierStartPt.y+F.y),U=new PointF2D(R.bezierStartControlPt.x+F.x,R.bezierStartControlPt.y+F.y),W=new PointF2D(R.bezierEndControlPt.x+F.x,R.bezierEndControlPt.y+F.y),q=new PointF2D(R.bezierEndPt.x+F.x,R.bezierEndPt.y+F.y)),D.push(this.applyScreenTransformation(G)),D.push(this.applyScreenTransformation(U)),D.push(this.applyScreenTransformation(W)),D.push(this.applyScreenTransformation(q)),R.placement===PlacementEnum.Above?(G.y-=.05,U.y-=.3,W.y-=.3,q.y-=.05):(G.y+=.05,U.y+=.3,W.y+=.3,q.y+=.05),D.push(this.applyScreenTransformation(G)),D.push(this.applyScreenTransformation(U)),D.push(this.applyScreenTransformation(W)),D.push(this.applyScreenTransformation(q)),R.SVGElement=this.backend.renderCurve(D)}drawMeasure(R){R.setAbsoluteCoordinates(R.PositionAndShape.AbsolutePosition.x*unitInPixels,R.PositionAndShape.AbsolutePosition.y*unitInPixels);const F=this.backend.getContext();try{R.draw(F)}catch(D){log$2.warn("VexFlowMusicSheetDrawer.drawMeasure",D)}for(const D of R.staffEntries)this.drawStaffEntry(D)}drawLine(R,F,D="#FF0000FF",G=.2){return R=this.applyScreenTransformation(R),F=this.applyScreenTransformation(F),this.backend.renderLine(R,F,D,G*unitInPixels)}DrawOverlayLine(R,F,D,G="#FF0000FF",U=.2){if(!D.PageNumber||D.PageNumber>this.backends.length||D.PageNumber<1){console.log("VexFlowMusicSheetDrawer.drawOverlayLine: invalid page number / music page number doesn't correspond to an existing backend.");return}const W=D.PageNumber-1,q=this.backends[W];return R=this.applyScreenTransformation(R),F=this.applyScreenTransformation(F),q.renderLine(R,F,G,U*unitInPixels)}drawSkyLine(R){const F=R.PositionAndShape.AbsolutePosition,D=R.PositionAndShape.Size.width;this.drawSampledLine(R.SkyLine,F,D)}drawBottomLine(R){const F=new PointF2D(R.PositionAndShape.AbsolutePosition.x,R.PositionAndShape.AbsolutePosition.y),D=R.PositionAndShape.Size.width;this.drawSampledLine(R.BottomLine,F,D,"#0000FFFF")}drawSampledLine(R,F,D,G="#FF0000FF"){const U=[];let W=0;for(let Y=0;Y<R.length;Y++)R[Y]!==W&&(U.push(Y),W=R[Y]);const q=F;if(U.length>0){const Y=this.rules.SamplingUnit;let Q=new PointF2D(q.x,q.y),Z=new PointF2D(U[0]/Y+q.x,q.y);this.drawLine(Q,Z,G);let K,J;R[0]>=0&&(K=new PointF2D(U[0]/Y+q.x,q.y),J=new PointF2D(U[0]/Y+q.x,q.y+R[U[0]]),this.drawLine(K,J,G));for(let ie=1;ie<U.length;ie++)Q=new PointF2D(U[ie-1]/Y+q.x,q.y+R[U[ie-1]]),Z=new PointF2D(U[ie]/Y+q.x,q.y+R[U[ie-1]]),this.drawLine(Q,Z,G),K=new PointF2D(U[ie]/Y+q.x,q.y+R[U[ie-1]]),J=new PointF2D(U[ie]/Y+q.x,q.y+R[U[ie]]),this.drawLine(K,J,G);U[U.length-1]<R.length?(Q=new PointF2D(U[U.length-1]/Y+q.x,q.y+R[U[U.length-1]]),Z=new PointF2D(q.x+D,q.y+R[U[U.length-1]]),this.drawLine(Q,Z,G)):(Q=new PointF2D(U[U.length-1]/Y+q.x,q.y),Z=new PointF2D(q.x+D,q.y),this.drawLine(Q,Z,G))}else{const Y=new PointF2D(q.x,q.y),Q=new PointF2D(q.x+D,q.y);this.drawLine(Y,Q,G)}}drawStaffEntry(R){if(R.FingeringEntries.length>0)for(const F of R.FingeringEntries)F.SVGNode=this.drawLabel(F,GraphicalLayers.Notes);if(R.graphicalChordContainers!==void 0&&R.graphicalChordContainers.length>0)for(const F of R.graphicalChordContainers){const D=F.GraphicalLabel;D.SVGNode=this.drawLabel(D,GraphicalLayers.Notes)}this.rules.RenderLyrics&&R.LyricsEntries.length>0&&this.drawLyrics(R.LyricsEntries,GraphicalLayers.Notes)}drawLyrics(R,F){R.forEach(D=>{const G=D.GraphicalLabel;G.SVGNode=this.drawLabel(G,F)})}drawInstrumentBrace(R,F){R.draw(this.backend.getContext())}drawGroupBracket(R,F){R.draw(this.backend.getContext())}drawOctaveShifts(R){for(const F of R.OctaveShifts)if(F){const D=F,G=this.backend.getContext(),U=D.getTextBracket();U.setContext(G);try{U.draw()}catch(W){log$2.warn(W)}}}drawPedals(R){for(const F of R.Pedals)if(F){const D=F,G=this.backend.getContext(),U=D.getPedalMarking();U.setContext(G),U.draw()}}drawWavyLines(R){for(const F of R.WavyLines)if(F){const D=F,G=this.backend.getContext(),U=D.getVibratoBracket();U.setContext(G),U.draw()}}getMaxExpressionsYAndDots(R){var Y,Q;const F=[];let D=0;for(const Z of R.measures)F.push(Z.measureNumber);const G={},U={},W={};for(const Z of R.AbstractExpressions)if(Z instanceof GraphicalUnknownExpression&&F.includes(Z.parentMeasure.MeasureNumber)){const K=this.getDotId(Z),J=this.getDotId(Z,"x");U[K]||(U[K]=[]),W[J]||(W[J]=[]),this.hasDot(Z.Label.PositionAndShape.RelativePosition,U[K],!0)||(U[K].push(Z.Label.PositionAndShape.RelativePosition),W[J].push(Z.Label.PositionAndShape.RelativePosition)),G[K]=Z.Label.PositionAndShape.RelativePosition}let q=0;for(const Z of R.AbstractExpressions){const K=(Y=Z.parentMeasure)==null?void 0:Y.MeasureNumber;if(Z instanceof GraphicalUnknownExpression&&F.includes(K)){const J=(Q=Z.parentMeasure.verticalMeasureList[0])==null?void 0:Q.stave,ie=(J==null?void 0:J.end_x)-(J==null?void 0:J.x),ne=this.getDotId(Z,"x");if((W[ne]||[]).length===1&&q!==K){const se=Z.Label.PositionAndShape.AbsolutePosition.y;D=D===0?se:Math.min(D,se)}(W[ne]||[]).length!==1&&ie/10<Z.Label.PositionAndShape.MarginSize.width&&(q=K+1)}}return{maxY:D,dots:G,dotsPoint:U,dotsPointByX:W}}drawExpressions(R){const F={},D=[],{maxY:G,dotsPointByX:U}=this.getMaxExpressionsYAndDots(R);for(const W of R.AbstractExpressions)if(W instanceof GraphicalInstantaneousDynamicExpression)this.drawInstantaneousDynamic(W);else if(W instanceof GraphicalInstantaneousTempoExpression){const q=W.GraphicalLabel;q.SVGNode=this.drawLabel(q,GraphicalLayers.Notes)}else if(W instanceof GraphicalContinuousDynamicExpression)this.drawContinuousDynamic(W);else if(W instanceof GraphicalUnknownExpression){const q=this.getDotId(W),Y=this.getDotId(W,"x");if((U[Y]||[]).length!==1){const Z=W.Label.PositionAndShape.AbsolutePosition.y;F[Y]?!D.includes(q)&&F[Y]!==0&&(W.Label.PositionAndShape.AbsolutePosition.y=Z-1):(F[Y]=-Math.abs(G-Z),W.Label.PositionAndShape.AbsolutePosition.y=Z+F[Y]),D.push(q)}const Q=W.Label;Q.SVGNode=this.drawLabel(Q,GraphicalLayers.Notes)}else log$2.warn("Unkown type of expression!")}drawInstantaneousDynamic(R){const F=R.Label;F.SVGNode=this.drawLabel(F,GraphicalLayers.Notes)}drawContinuousDynamic(R){if(R.IsVerbal){const F=R.Label;F.SVGNode=this.drawLabel(F,GraphicalLayers.Notes)}else{try{if(R.Lines.length===2&&Math.abs(R.Lines[0].Start.x-R.Lines[1].Start.x)>Number.EPSILON){let D=Math.min(...R.Lines.map(U=>U.Start.x)),G=Math.min(...R.Lines.map(U=>U.Start.y));R.Lines[0].Start.x=D,R.Lines[1].Start.x=D,R.Lines[0].Start.y=G+this.rules.WedgeOpeningLength/2,R.Lines[1].Start.y=G+this.rules.WedgeOpeningLength*2,R.Lines[0].End.y+=this.rules.WedgeOpeningLength/2,R.Lines[1].End.y+=this.rules.WedgeOpeningLength}}catch{}const F=this.backend.getContext();F.openGroup("lineGroup");for(const D of R.Lines){const G=new PointF2D(R.ParentStaffLine.PositionAndShape.AbsolutePosition.x+D.Start.x,R.ParentStaffLine.PositionAndShape.AbsolutePosition.y+D.Start.y),U=new PointF2D(R.ParentStaffLine.PositionAndShape.AbsolutePosition.x+D.End.x,R.ParentStaffLine.PositionAndShape.AbsolutePosition.y+D.End.y);this.drawLine(G,U,"black",D.Width)}F.closeGroup()}}renderLabel(R,F,D){return this._renderLabel(R,D)}_renderLabel(R,F){var Q;if(!R.Label.print)return;const D=R.Label.fontHeight*unitInPixels,{font:G}=R.Label;let U;this.rules.ColoringEnabled&&(U=R.Label.colorDefault,R.Label.color&&(U=R.Label.color.toString()),U||(U=this.rules.DefaultColorLabel));let{fontStyle:W,fontFamily:q}=R.Label;W||(W=this.rules.DefaultFontStyle),q||(q=this.rules.DefaultFontFamily);let Y;for(let Z=0;Z<((Q=R.TextLines)==null?void 0:Q.length);Z++){const K=R.TextLines[Z],J=this.calculatePixelDistance(K.xOffset),ie=new PointF2D(F.ScreenPosition.x+J,F.ScreenPosition.y),ne=this.backend.renderText(D,W,G,K.text,F.FontHeightInPixel,ie,U,R.Label.fontFamily);Y?Y.appendChild(ne):Y=ne,F.ScreenPosition.y=F.ScreenPosition.y+F.FontHeightInPixel,R.TextLines.length>1&&(F.ScreenPosition.y+=this.rules.SpacingBetweenTextLines)}return Y}renderRectangle(R,F,D,G,U){return this.backend.renderRectangle(R,D,G,U)}applyScreenTransformation(R){return new PointF2D(R.x*unitInPixels,R.y*unitInPixels)}applyScreenTransformationForRect(R){return new RectangleF2D(R.x*unitInPixels,R.y*unitInPixels,R.width*unitInPixels,R.height*unitInPixels)}}const VF$c=Vex.Flow,_VexFlowConverter=class{static durations(B,R){const F=[],D=B.clone();for(;D.RealValue>0;){const G=D.RealValue;if(G>=2)F.push("1/2"),D.Sub(new Fraction$1(2,1));else if(G>=1)F.push("w"),D.Sub(new Fraction$1(1,1));else if(G<1&&G>=.5){if(R&&G>.5)return["w"];F.push("h"),D.Sub(new Fraction$1(1,2))}else if(G<.5&&G>=.25){if(R&&G>.25)return["h"];F.push("q"),D.Sub(new Fraction$1(1,4))}else if(G<.25&&G>=.125){if(R&&G>.125)return["q"];F.push("8"),D.Sub(new Fraction$1(1,8))}else if(G<.125&&G>=.0625){if(R&&G>.0625)return["8"];F.push("16"),D.Sub(new Fraction$1(1,16))}else if(G<.0625&&G>=.03125){if(R&&G>.03125)return["16"];F.push("32"),D.Sub(new Fraction$1(1,32))}else if(G<.03125&&G>=.015625){if(R&&G>.015625)return["32"];F.push("64"),D.Sub(new Fraction$1(1,64))}else{if(R)return["64"];F.push("128"),D.Sub(new Fraction$1(1,128))}}return F}static pitch(B,R,F,D=void 0,G=void 0){let U=G;G===void 0&&(U=3),R&&G===void 0&&(U=0,F.ClefType===ClefEnum.F&&(U=2),F.ClefType===ClefEnum.C&&(U=2));const W=NoteEnum[B.FundamentalNote].toLowerCase(),q=Pitch.accidentalVexflow(B.Accidental),Y=B.Octave-F.OctaveOffset+U;let Q="";return D&&(Q=this.NoteHeadCode(D)),[W+"n/"+Y+Q,q,F]}static restToNotePitch(B,R){let F=B.Octave;switch(R){case ClefEnum.C:case ClefEnum.F:{F+=2;break}case ClefEnum.G:}return new Pitch(B.FundamentalNote,F,AccidentalEnum.NONE)}static NoteHeadCode(B){const R="/",F=B.Filled?"2":"1";switch(B.Shape){case NoteHeadShape.NORMAL:return"";case NoteHeadShape.DIAMOND:return R+"D"+F;case NoteHeadShape.TRIANGLE:return R+"T"+F;case NoteHeadShape.X:return R+"X"+F;case NoteHeadShape.CIRCLEX:return R+"X3";case NoteHeadShape.RECTANGLE:return R+"R"+F;case NoteHeadShape.SQUARE:return R+"S"+F;case NoteHeadShape.SLASH:return"";default:return""}}static GhostNotes(B){const R=[],F=_VexFlowConverter.durations(B,!1);for(const D of F)R.push(new VF$c.GhostNote({duration:D}));return R}static StaveNote(B){var fe,ge,Se,Ee,ve,xe,Pe,ye,Te,Le,we,Ae,Me,ke,Ne,Ie,Ge;B.sortForVexflow();const R=B.notes,F=B.parentStaffEntry.parentMeasure.parentSourceMeasure.Rules,D=R[0];let G=[],U;const W=[],q=D.graphicalNoteLength,Y=D.sourceNote.NoteTuplet!==void 0;let Q=_VexFlowConverter.durations(q,Y)[0];D.sourceNote.TypeLength!==void 0&&D.sourceNote.TypeLength!==q&&D.sourceNote.TypeLength.RealValue!==0&&(Q=_VexFlowConverter.durations(D.sourceNote.TypeLength,Y)[0],D.numberOfDots=D.sourceNote.DotsXml);let Z,K=D.numberOfDots,J=!1,ie=0,ne=!1,se=!1,re;for(const ze of R){if(K<ze.numberOfDots&&(K=ze.numberOfDots),ze.sourceNote.isRest()){if(se=!0,ze.sourceNote.Pitch){G=[ze.vfpitch[0]];break}else{G=["b/4"];const Je=(fe=ze.parentVoiceEntry)==null?void 0:fe.parentVoiceEntry;if(Je){const st=(ge=ze.parentVoiceEntry)==null?void 0:ge.parentStaffEntry.parentMeasure.staffEntries;let pt,dt,yt=-1;for(let Fe=0;Fe<st.length;Fe++)if(((Se=st[Fe])==null?void 0:Se.graphicalVoiceEntries[0].parentVoiceEntry)===Je){yt=Fe;break}if(yt>=1&&st.length-1>=yt+1&&(pt=(ve=(Ee=st[yt-1])==null?void 0:Ee.graphicalVoiceEntries[0])==null?void 0:ve.parentVoiceEntry,dt=(Pe=(xe=st[yt+1])==null?void 0:xe.graphicalVoiceEntries[0])==null?void 0:Pe.parentVoiceEntry,pt&&dt)){const Fe=pt.Notes[0],_e=dt.Notes[0];if(((ye=Fe.NoteBeam)==null?void 0:ye.Notes.includes(_e))&&_e.ParentStaffEntry.ParentStaff.StafflineCount!==1){const je=pt.Notes.last().Pitch,Ze=ze.Clef(),De=_VexFlowConverter.pitch(_VexFlowConverter.restToNotePitch(je.getTransposedPitch(-2),Ze.ClefType),!1,Ze);je.FundamentalNote===4&&(G=[De[0]])}}}}if(q.RealValue===ze.sourceNote.SourceMeasure.ActiveTimeSignature.RealValue&&(G=F.DYMusicScoreType==="staff"?["d/5"]:["R/5"],Q="w",K=0,J=!0,ie=F.WholeRestXShiftVexflow*unitInPixels),[...ze.sourceNote.ParentStaff.Voices].filter(Je=>(Je==null?void 0:Je.VoiceId)!=1).length){const Je=ze.parentVoiceEntry.parentStaffEntry.graphicalVoiceEntries,st=ze.parentVoiceEntry.parentVoiceEntry.ParentVoice.VoiceId;let pt,dt;for(const yt of Je)for(const Fe of yt.notes){if(Fe===ze||Fe.sourceNote.isRest()||!Fe.sourceNote.PrintObject){ze.lineShift=-2;continue}const _e=Fe.parentVoiceEntry.parentVoiceEntry.WantedStemDirection,je=st===1||st===5,Ze=je?1:-1,Oe=Fe.sourceNote.Pitch.getHalfTone(),Xe=Ze===1&&Oe>pt,tt=Ze===-1&&Oe<pt;(!pt||Xe||tt)&&(pt=Oe,dt=0,je&&_e===StemDirectionType.Up||!je&&_e===StemDirectionType.Down?dt+=7:je?dt+=1:dt+=2,Q.includes("8")||_e===StemDirectionType.Up&&Ze===-1&&(dt+=1),Fe.sourceNote.NoteBeam&&(dt+=1),Q.includes("w")&&(dt=3.5),dt+=Math.ceil(F.RestCollisionYPadding)*.5,dt*=Ze,ze.lineShift=dt)}if(pt>0){let yt=3;const Fe=ze.Clef();switch(Fe.ClefType){case ClefEnum.F:yt=5;break;case ClefEnum.C:yt=4;break}re=Pitch.fromHalftone(pt),G=[_VexFlowConverter.pitch(re,!0,Fe,void 0,yt)[0]]}}break}ze.sourceNote.Notehead&&ze.sourceNote.Notehead.Shape===NoteHeadShape.SLASH&&(ne=!0);const Ve=ze.vfpitch;if((Le=(Te=Ve[2])==null?void 0:Te.Parent)!=null&&Le.Instructions)for(let Ye=0,et=Ve[2].Parent.Instructions.length;Ye<et;++Ye){const Je=Ve[2].Parent.Instructions[Ye];Je instanceof KeyInstruction&&(U=Je)}G.push(Ve[0]),W.push(Ve[1]),Z||(Z=_VexFlowConverter.Clef(Ve[2]).type),Z==="percussion"&&ze.sourceNote.ParentStaff.StafflineCount===1&&(G=["b/4"])}if(!Z)try{const ze=_VexFlowConverter.Clef(B.notes[0].clef);(ze==null?void 0:ze.type)==="percussion"&&B.notes[0].sourceNote.ParentStaff.StafflineCount===1&&(G=["b/4"])}catch{}for(let ze=0,Ve=K;ze<Ve;++ze)Q+="d";ne&&(Q+="s"),se&&(Q+="r");let ae;const le={align_center:J,auto_stem:!1,clef:Z,duration:Q,keys:G,stem_direction:1,slash:B.GraceSlash,note_size:20,DYMusicScoreType:F.DYMusicScoreType,keyString:_VexFlowConverter.keySignature(U)},ce=B.notes[0].sourceNote;ce.IsCueNote&&(le.glyph_font_scale=VF$c.DEFAULT_NOTATION_FONT_SCALE*VF$c.GraceNote.SCALE,le.stroke_px=VF$c.GraceNote.LEDGER_LINE_OFFSET),B.parentVoiceEntry.IsGrace||B.notes[0].sourceNote.IsCueNote?F.DYMusicScoreType==="jianpu"?(le.ornament=!0,ae=new NumberedNote(le)):ae=new VF$c.GraceNote(le):(F.DYMusicScoreType==="jianpu"?ae=new NumberedNote(le):ae=new VF$c.StaveNote(le),ae.stagger_same_whole_notes=F.StaggerSameWholeNotes);const he=B.notes[0].lineShift;he!==0&&(ae.getKeyProps()[0].line+=he),((we=window.GYM)==null?void 0:we.isDrumset)&&B.notes[0].sourceNote.isRest()&&((Me=(Ae=B.notes[0].sourceNote.ParentStaffEntry)==null?void 0:Ae.VoiceEntries)==null?void 0:Me.length)>1&&B.notes[0].sourceNote.ParentVoiceEntry.ParentVoice.VoiceId==1&&(ae.getKeyProps()[0].line=4.5);const me=(ke=window.GYM)==null?void 0:ke.customBassDrum;if(me&&ae.isRest()&&(ae.getDuration()==="q"&&(ae.getKeyProps()[0].line=me),ae.getDuration()==="h"&&(ae.getKeyProps()[0].line=me-1)),ae.getKeyProps().forEach(({line:ze},Ve)=>B.notes[Ve].staffLine=ze),(F.LedgerLineWidth||F.LedgerLineStrokeStyle)&&(ae.ledgerLineStyle||(ae.ledgerLineStyle={}),F.LedgerLineWidth&&(ae.ledgerLineStyle.lineWidth=F.LedgerLineWidth),F.LedgerLineStrokeStyle&&(ae.ledgerLineStyle.strokeStyle=F.LedgerLineStrokeStyle)),F.ColoringEnabled){const ze=F.DefaultColorStem;let Ve=B.parentVoiceEntry.StemColor;!Ve&&ze&&(Ve=ze);const Ye={fillStyle:Ve,strokeStyle:Ve};Ve&&(ae.setStemStyle(Ye),ae.flag&&F.ColorFlags&&ae.setFlagStyle(Ye))}if(ae.x_shift=ie,B.parentVoiceEntry.IsGrace&&B.notes[0].sourceNote.NoteBeam&&(B.parentVoiceEntry.WantedStemDirection=B.notes[0].sourceNote.NoteBeam.Notes[0].ParentVoiceEntry.WantedStemDirection),B.parentVoiceEntry){let ze=B.parentVoiceEntry.WantedStemDirection;const Ve=((Ne=window.GYM)==null?void 0:Ne.stemDirectionNote)||[],Ye=Ve==null?void 0:Ve.find(et=>et.id===B.notes[0].sourceNote.NoteToGraphicalNoteObjectId);switch(Ye&&typeof(Ye==null?void 0:Ye.direction)=="number"&&(ze=Ye.direction),ze){case StemDirectionType.Up:ae.setStemDirection(VF$c.Stem.UP),B.parentVoiceEntry.StemDirection=StemDirectionType.Up;break;case StemDirectionType.Down:ae.setStemDirection(VF$c.Stem.DOWN),B.parentVoiceEntry.StemDirection=StemDirectionType.Down;break}}for(let ze=0,Ve=R.length;ze<Ve;ze+=1){if(R[ze].setIndex(ae,ze),W[ze]){if(W[ze]==="###"){ae.addAccidental(ze,new VF$c.Accidental("##")),ae.addAccidental(ze,new VF$c.Accidental("#"));continue}else if(W[ze]==="bbs"){ae.addAccidental(ze,new VF$c.Accidental("bb")),ae.addAccidental(ze,new VF$c.Accidental("b"));continue}ae.addAccidental(ze,new VF$c.Accidental(W[ze]))}const Ye=R[ze].sourceNote.TremoloStrokes,et=R[ze].sourceNote.TremoloType;if(Ye>0&&et==="single"){const Je=new VF$c.Tremolo(Ye);Je.extra_stroke_scale=F.TremoloStrokeScale,Je.y_spacing_scale=F.TremoloYSpacingScale,ae&&ae.duration==="w"&&ae.stem.setExtension(-9),ae.addModifier(ze,Je)}if(Ye>0&&et==="start"&&this.noteTremoloList.push(ae),Ye>0&&et==="stop"){if(this.noteTremoloList.push(ae),this.noteTremoloList.filter(pt=>pt.duration==="w").length===this.noteTremoloList.length)try{this.noteTremoloList[0].keyProps&&this.noteTremoloList[1].keyProps&&((Ie=(this.noteTremoloList[0].keyProps[0].line>this.noteTremoloList[1].keyProps[0].line?this.noteTremoloList[1]:this.noteTremoloList[0]).stem)==null||Ie.setResetHeight(30))}catch{console.error("\u8BBE\u7F6E\u90FD\u662F\u5168\u97F3\u7B26,stem\u7684\u9AD8\u5EA6\u5931\u8D25")}const st=new VF$c.Tremolo(Ye,[...this.noteTremoloList]);st.extra_stroke_scale=1.2,st.y_spacing_scale=1.2,st.x_shift=-30,ae.addModifier(ze,st),this.noteTremoloList=[]}this.glissandoList.length&&(ae.setVibrato(this.glissandoList[0].vfnote[0]),this.glissandoList=[]),R[ze].sourceNote.glissandoType==="start"&&this.glissandoList.push(R[ze])}if(this.slideNote){try{ae.setSlideNote(this.slideNote)}catch(ze){console.error(ze)}this.slideNote=null}if(B.notes[0].sourceNote.slideType==="start"&&(this.slideNote=ae),ce.Length.RealValue===.25&&ce.Notehead&&ce.Notehead.Filled===!1){const ze=ae.getKeyProps();for(let Ve=0;Ve<ze.length;Ve++)ze[Ve].code="v81"}for(let ze=0,Ve=K;ze<Ve;++ze)ae.addDotToAll();if(G.length>1){let ze=ae.getKeyProps().filter(Ye=>!Ye.code&&Ye.line>3);!((Ge=window.GYM)==null?void 0:Ge.stemDirectionNote)&&ze.length===G.length&&ae.setStemDirection(-1)}F.DYMusicScoreType==="jianpu"&&window&&window.sett&&window.sett.keySignature&&ae.addAccidental(0,new VF$c.Accidental("#"));try{const ze=["b","#","\xA7","\xBA","X"],Ve={b:"b","#":"#","\xA7":"n",\u00BA:"bb",X:"##"};for(const Ye of R){const et=Ye.sourceNote.voiceEntry.Timestamp;for(const Je of Ye.sourceNote.SourceMeasure.StaffLinkedExpressions)for(const st of Je){const pt=Fraction$1.Equal(et,st.Timestamp),yt=st.EntriesList.map(Fe=>Fe.label).filter(Fe=>ze.includes(Fe)).map(Fe=>Ve[Fe]);if(pt){for(const Fe of yt)Fe&&ae.addAnnotation(0,new VF$c.Annotation(Fe));break}}}}catch{}return ae}static generateArticulations(B,R,F){var D,G,U,W,q,Y;if(!(!B||B.getAttribute("type")==="GhostNote"))for(const Q of R){let Z=VF$c.Modifier.Position.ABOVE;B.getStemDirection()===VF$c.Stem.UP&&(Z=VF$c.Modifier.Position.BELOW);let K;const J=Q.articulationEnum;switch(F.ArticulationPlacementFromXML&&(Q.placement===PlacementEnum.Above?Z=VF$c.Modifier.Position.ABOVE:Q.placement===PlacementEnum.Below&&(Z=VF$c.Modifier.Position.BELOW)),J){case ArticulationEnum.accent:{K=new VF$c.Articulation("a>");break}case ArticulationEnum.downbow:{K=new VF$c.Articulation("am"),Q.placement===void 0&&(Z=VF$c.Modifier.Position.ABOVE);break}case ArticulationEnum.fermata:{K=new VF$c.Articulation("a@a"),Z=VF$c.Modifier.Position.ABOVE;break}case ArticulationEnum.marcatodown:{K=new VF$c.Articulation("a|");break}case ArticulationEnum.marcatoup:{K=new VF$c.Articulation("a^");break}case ArticulationEnum.invertedfermata:{K=new VF$c.Articulation("a@u"),Z=VF$c.Modifier.Position.BELOW;break}case ArticulationEnum.lefthandpizzicato:{K=new VF$c.Articulation("a+");break}case ArticulationEnum.naturalharmonic:{K=new VF$c.Articulation("ah");break}case ArticulationEnum.snappizzicato:{K=new VF$c.Articulation("ao");break}case ArticulationEnum.staccatissimo:{K=new VF$c.Articulation("av");break}case ArticulationEnum.staccato:{K=new VF$c.Articulation("a.");break}case ArticulationEnum.tenuto:{K=new VF$c.Articulation("a-");break}case ArticulationEnum.upbow:{K=new VF$c.Articulation("a|"),Q.placement===void 0&&(Z=VF$c.Modifier.Position.ABOVE);break}case ArticulationEnum.strongaccent:{K=new VF$c.Articulation("a^");break}}K&&(!B.hasStem()&&!B.isRest()&&J==ArticulationEnum.accent&&B.getLineNumber()>=3&&(Z=VF$c.Modifier.Position.ABOVE,(G=(D=B==null?void 0:B.modifiers)==null?void 0:D.filter(se=>["TREMOLO"].includes(se.getCategory().toLocaleUpperCase())))!=null&&G.length&&K.setYShift(-16)),J===ArticulationEnum.strongaccent&&(Z=VF$c.Modifier.Position.ABOVE,(U=window.GYM)!=null&&U.customArtPosition&&(B.getStemDirection()===1?Z=VF$c.Modifier.Position.ABOVE:(Z=VF$c.Modifier.Position.BELOW,K=new VF$c.Articulation("a|")))),((W=window.GYM)==null?void 0:W.customAccentItem)&&J===ArticulationEnum.accent&&(Z=VF$c.Modifier.Position.ABOVE),((q=window.GYM)==null?void 0:q.customLefthandpizzicatoItem)&&(J===ArticulationEnum.lefthandpizzicato||J===ArticulationEnum.naturalharmonic)&&(Z=VF$c.Modifier.Position.ABOVE),J===ArticulationEnum.tenuto&&B.getDuration()==="w"&&((Y=window.GYM)==null?void 0:Y.customTenutoItem)&&(Z=VF$c.Modifier.Position.ABOVE),K.setPosition(Z),B.addModifier(0,K))}}static generateOrnaments(B,R){let F=VF$c.Modifier.Position.ABOVE;R.placement===PlacementEnum.Below&&(F=VF$c.Modifier.Position.BELOW);let D;switch(R.GetOrnament){case OrnamentEnum.DelayedInvertedTurn:{D=new VF$c.Ornament("turn_inverted"),D.setDelayed(!0);break}case OrnamentEnum.DelayedTurn:{D=new VF$c.Ornament("turn"),D.setDelayed(!0);break}case OrnamentEnum.InvertedMordent:{D=new VF$c.Ornament("mordent"),D.setDelayed(!1);break}case OrnamentEnum.InvertedTurn:{D=new VF$c.Ornament("turn_inverted"),D.setDelayed(!1);break}case OrnamentEnum.Mordent:{D=new VF$c.Ornament("mordent_inverted"),D.setDelayed(!1);break}case OrnamentEnum.Trill:{D=new VF$c.Ornament("tr"),D.setDelayed(!1);break}case OrnamentEnum.Turn:{D=new VF$c.Ornament("turn"),D.setDelayed(!1);break}default:{log$2.warn("unhandled OrnamentEnum type: "+R.GetOrnament);return}}D&&(R.AccidentalBelow!==AccidentalEnum.NONE&&D.setLowerAccidental(Pitch.accidentalVexflow(R.AccidentalBelow)),R.AccidentalAbove!==AccidentalEnum.NONE&&D.setUpperAccidental(Pitch.accidentalVexflow(R.AccidentalAbove)),D.setPosition(F),B.addModifier(0,D))}static StrokeTypeFromArpeggioType(B){switch(B){case ArpeggioType.ARPEGGIO_DIRECTIONLESS:return VF$c.Stroke.Type.ARPEGGIO_DIRECTIONLESS;case ArpeggioType.BRUSH_DOWN:return VF$c.Stroke.Type.BRUSH_UP;case ArpeggioType.BRUSH_UP:return VF$c.Stroke.Type.BRUSH_DOWN;case ArpeggioType.RASQUEDO_DOWN:return VF$c.Stroke.Type.RASQUEDO_UP;case ArpeggioType.RASQUEDO_UP:return VF$c.Stroke.Type.RASQUEDO_DOWN;case ArpeggioType.ROLL_DOWN:return VF$c.Stroke.Type.ROLL_UP;case ArpeggioType.ROLL_UP:return VF$c.Stroke.Type.ROLL_DOWN;default:return VF$c.Stroke.Type.ARPEGGIO_DIRECTIONLESS}}static CreateTabNote(B){const R=[],F=B.notes.reverse(),D=[],G=B.notes[0].graphicalNoteLength,U=B.notes[0].sourceNote.NoteTuplet!==void 0;let W=_VexFlowConverter.durations(G,U)[0],q=0;for(const Q of B.notes){const Z=Q.sourceNote,K={str:Z.StringNumberTab,fret:Z.FretNumber};R.push(K),Z.BendArray&&Z.BendArray.forEach(function(J){let ie;const ne=J.bendalter-K.fret;ne>1?ie="Full":ne===1?ie="1/2":ie="1/4",J.direction==="up"?D.push({type:VF$c.Bend.UP,text:ie,width:10}):D.push({type:VF$c.Bend.DOWN,text:ie,width:10})}),q<Q.numberOfDots&&(q=Q.numberOfDots)}for(let Q=0,Z=q;Q<Z;++Q)W+="d";const Y=new VF$c.TabNote({duration:W,positions:R});for(let Q=0,Z=F.length;Q<Z;Q+=1)F[Q].setIndex(Y,Q);return D.forEach(function(Q){Q.type===VF$c.Bend.UP?Y.addModifier(new VF$c.Bend(Q.text,!1)):Y.addModifier(new VF$c.Bend(Q.text,!0))}),Y}static Clef(B,R="default"){let F,D;switch(R!=="default"&&R!=="small"&&(log$2.warn(`Invalid VexFlow clef size "${R}" specified. Using "default".`),R="default"),B.ClefType){case ClefEnum.G:switch(B.Line){case 1:F="french";break;case 2:F="treble";break;default:F="treble",log$2.error(`Clef ${ClefEnum[B.ClefType]} on line ${B.Line} not supported by VexFlow. Using default value "${F}".`)}break;case ClefEnum.F:switch(B.Line){case 4:F="bass";break;case 3:F="baritone-f";break;case 5:F="subbass";break;default:F="bass",log$2.error(`Clef ${ClefEnum[B.ClefType]} on line ${B.Line} not supported by VexFlow. Using default value "${F}".`)}break;case ClefEnum.C:switch(B.Line){case 3:F="alto";break;case 4:F="tenor";break;case 1:F="soprano";break;case 2:F="mezzo-soprano";break;default:F="alto",log$2.error(`Clef ${ClefEnum[B.ClefType]} on line ${B.Line} not supported by VexFlow. Using default value "${F}".`)}break;case ClefEnum.percussion:F="percussion";break;case ClefEnum.TAB:F="treble";break;default:log$2.info("bad clef type: "+B.ClefType),F="treble"}return B.OctaveOffset===1&&F!=="bass"?D="8va":B.OctaveOffset===-1&&(D="8vb"),{type:F,size:R,annotation:D}}static TimeSignature(B){let R;switch(B.SymbolEnum){case RhythmSymbolEnum.NONE:R=B.Rhythm.Numerator+"/"+B.Rhythm.Denominator;break;case RhythmSymbolEnum.COMMON:R="C";break;case RhythmSymbolEnum.CUT:R="C|";break}return new VF$c.TimeSignature(R)}static keySignature(B){if(!B)return;let R;switch(B.Mode){case KeyEnum.minor:R=_VexFlowConverter.minorMap[B.Key]+"m";break;case KeyEnum.major:R=_VexFlowConverter.majorMap[B.Key];break;case KeyEnum.none:R=_VexFlowConverter.majorMap[B.Key];break;default:R="C"}return R}static line(B,R){switch(B){case SystemLinesEnum.SingleThin:return R===SystemLinePosition.MeasureBegin?VF$c.StaveConnector.type.SINGLE:VF$c.StaveConnector.type.SINGLE_RIGHT;case SystemLinesEnum.DoubleThin:return VF$c.StaveConnector.type.THIN_DOUBLE;case SystemLinesEnum.ThinBold:return VF$c.StaveConnector.type.BOLD_DOUBLE_RIGHT;case SystemLinesEnum.BoldThinDots:return VF$c.StaveConnector.type.BOLD_DOUBLE_LEFT;case SystemLinesEnum.DotsThinBold:return VF$c.StaveConnector.type.BOLD_DOUBLE_RIGHT;case SystemLinesEnum.DotsBoldBoldDots:return VF$c.StaveConnector.type.BOLD_DOUBLE_RIGHT;case SystemLinesEnum.None:return VF$c.StaveConnector.type.NONE}}static font(B,R=FontStyles.Regular,F=Fonts.TimesNewRoman,D,G=void 0){let U="normal",W="normal",q=`'${D.DefaultFontFamily}'`;switch(R){case FontStyles.Bold:W="bold";break;case FontStyles.Italic:U="italic";break;case FontStyles.BoldItalic:U="italic",W="bold";break;case FontStyles.Underlined:break}switch(F){case Fonts.Kokila:break}return G&&G!=="default"&&(q=`'${G}'`),U+" "+W+" "+Math.floor(B)+"px "+q}static fontStyle(B){switch(B){case FontStyles.Bold:return"bold";case FontStyles.Italic:return"italic";case FontStyles.BoldItalic:return"italic bold";default:return"normal"}}static style(B){return OUTLINE_AND_FILL_STYLE_DICT.getValue(B)}};let VexFlowConverter=_VexFlowConverter;VexFlowConverter.majorMap={"-1":"F","-2":"Bb","-3":"Eb","-4":"Ab","-5":"Db","-6":"Gb","-7":"Cb","-8":"Fb",0:"C",1:"G",2:"D",3:"A",4:"E",5:"B",6:"F#",7:"C#",8:"G#"};VexFlowConverter.minorMap={"-1":"D","-2":"G","-3":"C","-4":"F","-5":"Bb","-6":"Eb","-7":"Ab","-8":"Db",0:"A",1:"E",2:"B",3:"F#",4:"C#",5:"G#",6:"D#",7:"A#",8:"E#"};VexFlowConverter.noteTremoloList=[];VexFlowConverter.glissandoList=[];VexFlowConverter.slideNote=null;class OctaveShift{constructor(R,F){this.numberXml=1,this.setOctaveShiftValue(R,F)}get Type(){return this.octaveValue}set Type(R){this.octaveValue=R}get StaffNumber(){return this.staffNumber}set StaffNumber(R){this.staffNumber=R}get ParentStartMultiExpression(){return this.startMultiExpression}set ParentStartMultiExpression(R){this.startMultiExpression=R}get ParentEndMultiExpression(){return this.endMultiExpression}set ParentEndMultiExpression(R){this.endMultiExpression=R}setOctaveShiftValue(R,F){F===1&&R==="down"?this.octaveValue=OctaveEnum.VA8:F===1&&R==="up"?this.octaveValue=OctaveEnum.VB8:F===2&&R==="down"?this.octaveValue=OctaveEnum.MA15:F===2&&R==="up"?this.octaveValue=OctaveEnum.MB15:this.octaveValue=OctaveEnum.NONE}static getPitchFromOctaveShift(R,F){if(!R)return;let D=R.Octave;switch(F){case OctaveEnum.VA8:D-=1;break;case OctaveEnum.VB8:D+=1;break;case OctaveEnum.MA15:D-=2;break;case OctaveEnum.MB15:D+=2;break;case OctaveEnum.NONE:default:D+=0}return new Pitch(R.FundamentalNote,D,R.Accidental)}}var OctaveEnum=(B=>(B[B.VA8=0]="VA8",B[B.VB8=1]="VB8",B[B.MA15=2]="MA15",B[B.MB15=3]="MB15",B[B.NONE=4]="NONE",B))(OctaveEnum||{});class AbstractTempoExpression extends AbstractExpression{constructor(R,F,D,G){super(F),this.label=R,this.staffNumber=D,this.parentMultiTempoExpression=G}get Label(){return this.label}set Label(R){this.label=R}get Placement(){return this.placement}set Placement(R){this.placement=R}get StaffNumber(){return this.staffNumber}set StaffNumber(R){this.staffNumber=R}get ParentMultiTempoExpression(){return this.parentMultiTempoExpression}static isStringInStringList(R,F){for(const D of R)if(AbstractTempoExpression.stringContainsSeparatedWord(F.toLowerCase().trim(),D.toLowerCase().trim()))return!0;return!1}static stringContainsSeparatedWord(R,F){return R===F||R.indexOf(" "+F)!==-1||R.indexOf(F+" ")!==-1}}const _InstantaneousTempoExpression=class extends AbstractTempoExpression{constructor(B,R,F,D,G,U=!1){super(B,R,F,G),this.setTempoAndTempoType(D)}static getDefaultValueForTempoType(B){switch(B){case TempoEnum.larghissimo:return 20;case TempoEnum.grave:return 30;case TempoEnum.lento:return 48;case TempoEnum.largo:return 52;case TempoEnum.larghetto:return 63;case TempoEnum.adagio:return 70;case TempoEnum.adagietto:return 75;case TempoEnum.andanteModerato:return 88;case TempoEnum.andante:return 92;case TempoEnum.andantino:return 96;case TempoEnum.moderato:return 106;case TempoEnum.allegretto:return 112;case TempoEnum.allegroModerato:return 118;case TempoEnum.allegro:return 130;case TempoEnum.vivace:return 140;case TempoEnum.vivacissimo:return 155;case TempoEnum.allegrissimo:return 170;case TempoEnum.presto:return 184;case TempoEnum.prestissimo:return 200;default:throw new ArgumentOutOfRangeException("tempoEnum")}}static isInputStringInstantaneousTempo(B){return B?_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghissimo,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoGrave,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLento,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLargo,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghetto,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagio,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagietto,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndanteModerato,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndante,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndantino,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoModerato,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegretto,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegro,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivace,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivacissimo,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegrissimo,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPresto,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPrestissimo,B)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral,B):!1}get Label(){return this.label}set Label(B){this.label=B}get Placement(){return this.placement}set Placement(B){this.placement=B}get StaffNumber(){return this.staffNumber}set StaffNumber(B){this.staffNumber=B}get Enum(){return this.tempoEnum}get TempoInBpm(){return this.tempoInBpm}set TempoInBpm(B){this.tempoInBpm=B}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(B){if(!this.label){this.tempoInBpm=B,this.tempoEnum=TempoEnum.metronomeMark;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghissimo,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.larghissimo)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.larghissimo;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoGrave,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.grave)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.grave;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLento,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.lento)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.lento;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLargo,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.largo)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.largo;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghetto,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.larghetto)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.larghetto;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagio,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.adagio)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.adagio;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagietto,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.adagietto)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.adagietto;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndanteModerato,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.andanteModerato)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.andanteModerato;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndante,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.andante)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.andante;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndantino,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.andantino)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.andantino;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoModerato,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.moderato)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.moderato;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegretto,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.allegretto)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.allegretto;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.allegroModerato)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.allegroModerato;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegro,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.allegro)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.allegro;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivace,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.vivace)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.vivace;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivacissimo,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.vivacissimo)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.vivacissimo;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegrissimo,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.allegrissimo)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.allegrissimo;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPresto,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.presto)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.presto;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPrestissimo,this.label)){B===0&&(B=_InstantaneousTempoExpression.getDefaultValueForTempoType(TempoEnum.prestissimo)),this.tempoInBpm=B,this.tempoEnum=TempoEnum.prestissimo;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAddons,this.label)){this.tempoInBpm=0,this.tempoEnum=TempoEnum.addon;return}if(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral,this.label)){this.tempoInBpm=0,this.tempoEnum=TempoEnum.changes;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"];InstantaneousTempoExpression.listInstantaneousTempoModerato=["Moderato","M\xE4\xDFig","Mod\uFFFDr\uFFFD","moderately"];InstantaneousTempoExpression.listInstantaneousTempoAllegretto=["Allegretto","fast"];InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato=["Allegro moderato"];InstantaneousTempoExpression.listInstantaneousTempoAllegro=["Allegro","Rapide","Vite","Rasch","Schnell","Fr\uFFFDhlich"];InstantaneousTempoExpression.listInstantaneousTempoVivace=["Vivace","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","\xE4u\xDFerst schnell"];InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral=["tempo primo","a tempo","tempo i","rubato","doppio movimento"];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\xF6s","gesanglich","mit Schwung","mit Feuer","mit Schmerz","mit Ausdruck","mit Bewegung","geistvoll","ausdrucksvoll","freudig","verspielt","angemessen","grazi\xF6s","mit Grazie","flink","beh\xE4nde","traurig","klagend","majest\xE4tisch","aber nicht zu sehr","markant","gem\xE4\xDFigt","viel","sehr","ersterbend","bewegt","nicht zu sehr","mehr","ein wenig","gleichsam","entschlossen","zupackend","heiter","nachdr\xFCcklich","getragen","gewichtig","zart","z\xE4rtlich","im angemessenen Zeitma\xDF","ruhig","ein wenig","alla marcia","ad libitum","alla breve"];var TempoEnum=(B=>(B[B.none=0]="none",B[B.larghissimo=1]="larghissimo",B[B.grave=2]="grave",B[B.lento=3]="lento",B[B.largo=4]="largo",B[B.larghetto=5]="larghetto",B[B.adagio=6]="adagio",B[B.adagietto=7]="adagietto",B[B.andanteModerato=8]="andanteModerato",B[B.andante=9]="andante",B[B.andantino=10]="andantino",B[B.moderato=11]="moderato",B[B.allegretto=12]="allegretto",B[B.allegroModerato=13]="allegroModerato",B[B.allegro=14]="allegro",B[B.vivace=15]="vivace",B[B.vivacissimo=16]="vivacissimo",B[B.allegrissimo=17]="allegrissimo",B[B.presto=18]="presto",B[B.prestissimo=19]="prestissimo",B[B.lastRealTempo=20]="lastRealTempo",B[B.addon=21]="addon",B[B.changes=22]="changes",B[B.metronomeMark=23]="metronomeMark",B))(TempoEnum||{});const _MoodExpression=class extends AbstractExpression{constructor(B,R,F){super(R),this.label=B,this.staffNumber=F,this.setMoodType()}static isInputStringMood(B){return B?_MoodExpression.isStringInStringList(_MoodExpression.listMoodAffettuoso,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAgitato,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAnimato,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAppassionato,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodBrillante,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodCantabile,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodDolce,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEnergico,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEroico,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEspressivo,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodFurioso,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGiocoso,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGioioso,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrandioso,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrazioso,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodLacrimoso,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodLeggiero,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMaestoso,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMalinconico,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarcato,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarziale,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMesto,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMorendo,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodNobilmente,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodPatetico,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodPesante,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSaltando,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSautille,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodScherzando,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSostenuto,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSpiccato,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTenerezza,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTranquillamente,B)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTrionfante,B):!1}get Label(){return this.label}set Label(B){this.label=B}get Mood(){return this.moodType}set Mood(B){this.moodType=B}get StaffNumber(){return this.staffNumber}set StaffNumber(B){this.staffNumber=B}get Placement(){return this.placement}set Placement(B){this.placement=B}setMoodType(){_MoodExpression.isStringInStringList(_MoodExpression.listMoodAffettuoso,this.label)?this.moodType=MoodEnum.Affettuoso:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAgitato,this.label)?this.moodType=MoodEnum.Agitato:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAnimato,this.label)?this.moodType=MoodEnum.Animato:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAppassionato,this.label)?this.moodType=MoodEnum.Appassionato:_MoodExpression.isStringInStringList(_MoodExpression.listMoodBrillante,this.label)?this.moodType=MoodEnum.Brillante:_MoodExpression.isStringInStringList(_MoodExpression.listMoodCantabile,this.label)?this.moodType=MoodEnum.Cantabile:_MoodExpression.isStringInStringList(_MoodExpression.listMoodDolce,this.label)?this.moodType=MoodEnum.Dolce:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEnergico,this.label)?this.moodType=MoodEnum.Energico:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEroico,this.label)?this.moodType=MoodEnum.Eroico:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEspressivo,this.label)?this.moodType=MoodEnum.Espressivo:_MoodExpression.isStringInStringList(_MoodExpression.listMoodFurioso,this.label)?this.moodType=MoodEnum.Furioso:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGiocoso,this.label)?this.moodType=MoodEnum.Giocoso:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGioioso,this.label)?this.moodType=MoodEnum.Gioioso:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrandioso,this.label)?this.moodType=MoodEnum.Grandioso:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrazioso,this.label)?this.moodType=MoodEnum.Grazioso:_MoodExpression.isStringInStringList(_MoodExpression.listMoodLacrimoso,this.label)?this.moodType=MoodEnum.Lacrimoso:_MoodExpression.isStringInStringList(_MoodExpression.listMoodLeggiero,this.label)?this.moodType=MoodEnum.Leggiero:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMaestoso,this.label)?this.moodType=MoodEnum.Maestoso:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMalinconico,this.label)?this.moodType=MoodEnum.Malinconico:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarcato,this.label)?this.moodType=MoodEnum.Marcato:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarziale,this.label)?this.moodType=MoodEnum.Marziale:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMesto,this.label)?this.moodType=MoodEnum.Mesto:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMorendo,this.label)?this.moodType=MoodEnum.Morendo:_MoodExpression.isStringInStringList(_MoodExpression.listMoodNobilmente,this.label)?this.moodType=MoodEnum.Nobilmente:_MoodExpression.isStringInStringList(_MoodExpression.listMoodPatetico,this.label)?this.moodType=MoodEnum.Patetico:_MoodExpression.isStringInStringList(_MoodExpression.listMoodPesante,this.label)?this.moodType=MoodEnum.Pesante:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSaltando,this.label)?this.moodType=MoodEnum.Saltando:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSautille,this.label)?this.moodType=MoodEnum.Sautille:_MoodExpression.isStringInStringList(_MoodExpression.listMoodScherzando,this.label)?this.moodType=MoodEnum.Scherzando:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSostenuto,this.label)?this.moodType=MoodEnum.Sostenuto:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSpiccato,this.label)?this.moodType=MoodEnum.Spiccato:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTenerezza,this.label)?this.moodType=MoodEnum.Tenerezza:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTranquillamente,this.label)?this.moodType=MoodEnum.Tranquillamente:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTrionfante,this.label)&&(this.moodType=MoodEnum.Trionfante)}};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"];var MoodEnum=(B=>(B[B.Affettuoso=0]="Affettuoso",B[B.Agitato=1]="Agitato",B[B.Appassionato=2]="Appassionato",B[B.Animato=3]="Animato",B[B.Brillante=4]="Brillante",B[B.Cantabile=5]="Cantabile",B[B.Dolce=6]="Dolce",B[B.Energico=7]="Energico",B[B.Eroico=8]="Eroico",B[B.Espressivo=9]="Espressivo",B[B.Furioso=10]="Furioso",B[B.Giocoso=11]="Giocoso",B[B.Gioioso=12]="Gioioso",B[B.Lacrimoso=13]="Lacrimoso",B[B.Grandioso=14]="Grandioso",B[B.Grazioso=15]="Grazioso",B[B.Leggiero=16]="Leggiero",B[B.Maestoso=17]="Maestoso",B[B.Malinconico=18]="Malinconico",B[B.Marcato=19]="Marcato",B[B.Marziale=20]="Marziale",B[B.Mesto=21]="Mesto",B[B.Morendo=22]="Morendo",B[B.Nobilmente=23]="Nobilmente",B[B.Patetico=24]="Patetico",B[B.Pesante=25]="Pesante",B[B.Sautille=26]="Sautille",B[B.Saltando=27]="Saltando",B[B.Scherzando=28]="Scherzando",B[B.Sostenuto=29]="Sostenuto",B[B.Spiccato=30]="Spiccato",B[B.Tenerezza=31]="Tenerezza",B[B.Tranquillamente=32]="Tranquillamente",B[B.Trionfante=33]="Trionfante",B[B.Vivace=34]="Vivace",B))(MoodEnum||{});class UnknownExpression extends AbstractExpression{constructor(R,F,D,G){super(F),this.label=R,this.staffNumber=G,D===void 0&&(D=TextAlignmentEnum.LeftBottom),this.textAlignment=D}get Label(){return this.label}get Placement(){return this.placement}set Placement(R){this.placement=R}get StaffNumber(){return this.staffNumber}set StaffNumber(R){this.staffNumber=R}get TextAlignment(){return this.textAlignment}}class MultiExpression{constructor(R,F){this.unknownList=[],this.moodList=[],this.expressions=[],this.sourceMeasure=R,this.timestamp=F}get SourceMeasureParent(){return this.sourceMeasure}set SourceMeasureParent(R){this.sourceMeasure=R}get StaffNumber(){return this.staffNumber}set StaffNumber(R){this.staffNumber=R}get Timestamp(){return this.timestamp}set Timestamp(R){this.timestamp=R}get AbsoluteTimestamp(){return Fraction$1.plus(this.timestamp,this.sourceMeasure.AbsoluteTimestamp)}get InstantaneousDynamic(){return this.instantaneousDynamic}set InstantaneousDynamic(R){this.instantaneousDynamic=R}get EndingContinuousDynamic(){return this.endingContinuousDynamic}set EndingContinuousDynamic(R){this.endingContinuousDynamic=R}get StartingContinuousDynamic(){return this.startingContinuousDynamic}set StartingContinuousDynamic(R){this.startingContinuousDynamic=R}get MoodList(){return this.moodList}get UnknownList(){return this.unknownList}get EntriesList(){return this.expressions}get OctaveShiftStart(){return this.octaveShiftStart}set OctaveShiftStart(R){this.octaveShiftStart=R}get OctaveShiftEnd(){return this.octaveShiftEnd}set OctaveShiftEnd(R){this.octaveShiftEnd=R}get CombinedExpressionsText(){return this.combinedExpressionsText}set CombinedExpressionsText(R){this.combinedExpressionsText=R}getPlacementOfFirstEntry(){let R=PlacementEnum.Above;return this.expressions.length>0&&(this.expressions[0].expression instanceof InstantaneousDynamicExpression?R=this.expressions[0].expression.Placement:this.expressions[0].expression instanceof ContinuousDynamicExpression?R=this.expressions[0].expression.Placement:this.expressions[0].expression instanceof MoodExpression?R=this.expressions[0].expression.Placement:this.expressions[0].expression instanceof UnknownExpression&&(R=this.expressions[0].expression.Placement)),R}getFontstyleOfFirstEntry(){var F;let R=FontStyles.Regular;return this.expressions.length>0&&(this.expressions[0].expression instanceof ContinuousDynamicExpression||this.expressions[0].expression instanceof MoodExpression?R=FontStyles.Italic:this.expressions[0].expression instanceof UnknownExpression&&(R=(F=this.expressions[0].expression.fontStyle)!=null?F:FontStyles.Regular)),R}addExpression(R,F){R instanceof InstantaneousDynamicExpression?(this.instantaneousDynamic&&this.removeExpressionFromEntryList(this.InstantaneousDynamic),this.instantaneousDynamic=R,this.instantaneousDynamic.ParentMultiExpression=this):R instanceof ContinuousDynamicExpression?this.startingContinuousDynamic=R:R instanceof MoodExpression?this.moodList.push(R):R instanceof UnknownExpression&&this.unknownList.push(R),this.addExpressionToEntryList(R,F)}CompareTo(R){return this.Timestamp.RealValue>R.Timestamp.RealValue?1:this.Timestamp.RealValue<R.Timestamp.RealValue?-1:0}addExpressionToEntryList(R,F){const D=new MultiExpressionEntry;D.prefix=F,D.expression=R,R instanceof ContinuousDynamicExpression||R instanceof MoodExpression||R instanceof UnknownExpression?D.label=R.Label:D.label="",this.expressions.push(D)}removeExpressionFromEntryList(R){for(let F=0,D=this.expressions.length;F<D;++F)if(this.expressions[F].expression===R){this.expressions.splice(F,1);break}}}class MultiExpressionEntry{}const _ContinuousTempoExpression=class extends AbstractTempoExpression{constructor(B,R,F,D){super(B,R,F,D),this.setTempoType()}static isInputStringContinuousTempo(B){return B?_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoFaster,B)||_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoSlower,B):!1}static isIncreasingTempo(B){return B<=ContinuousTempoType.piuMosso}static isDecreasingTempo(B){return B>=ContinuousTempoType.allargando&&B<=ContinuousTempoType.ritenuto}get TempoType(){return this.tempoType}set TempoType(B){this.tempoType=B}get StartTempo(){return this.startTempo}set StartTempo(B){this.startTempo=B}get EndTempo(){return this.endTempo}set EndTempo(B){this.endTempo=B}get AbsoluteEndTimestamp(){return this.absoluteEndTimestamp}set AbsoluteEndTimestamp(B){this.absoluteEndTimestamp=B}get AbsoluteTimestamp(){return this.ParentMultiTempoExpression.AbsoluteTimestamp}getAbsoluteFloatTimestamp(){return this.ParentMultiTempoExpression.AbsoluteTimestamp.RealValue}getInterpolatedTempo(B){const R=Fraction$1.plus(this.parentMultiTempoExpression.SourceMeasureParent.AbsoluteTimestamp,this.parentMultiTempoExpression.Timestamp);if(B.lt(R))return-1;if(this.absoluteEndTimestamp.lt(B))return-2;const F=Fraction$1.minus(B,R).RealValue/Fraction$1.minus(this.absoluteEndTimestamp,R).RealValue;return Math.max(0,Math.min(250,this.startTempo+(this.endTempo-this.startTempo)*F))}setTempoType(){_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoFaster,this.label)?this.tempoType=ContinuousTempoType.accelerando:_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoSlower,this.label)&&(this.tempoType=ContinuousTempoType.ritardando)}};let ContinuousTempoExpression=_ContinuousTempoExpression;ContinuousTempoExpression.listContinuousTempoFaster=["accelerando","piu mosso","poco piu","stretto"];ContinuousTempoExpression.listContinuousTempoSlower=["poco meno","meno mosso","piu lento","rallentando","ritardando","ritenuto","ritard.","ritard","riten.","riten"];var ContinuousTempoType=(B=>(B[B.accelerando=0]="accelerando",B[B.stretto=1]="stretto",B[B.stringendo=2]="stringendo",B[B.mosso=3]="mosso",B[B.piuMosso=4]="piuMosso",B[B.allargando=5]="allargando",B[B.calando=6]="calando",B[B.menoMosso=7]="menoMosso",B[B.rallentando=8]="rallentando",B[B.ritardando=9]="ritardando",B[B.ritard=10]="ritard",B[B.rit=11]="rit",B[B.ritenuto=12]="ritenuto",B[B.rubato=13]="rubato",B[B.precipitando=14]="precipitando",B))(ContinuousTempoType||{});class MultiTempoExpression{constructor(R,F){this.expressions=[],this.sourceMeasure=R,this.timestamp=F}get Timestamp(){return this.timestamp}get AbsoluteTimestamp(){return Fraction$1.plus(this.sourceMeasure.AbsoluteTimestamp,this.timestamp)}get SourceMeasureParent(){return this.sourceMeasure}set SourceMeasureParent(R){this.sourceMeasure=R}get InstantaneousTempo(){return this.instantaneousTempo}get ContinuousTempo(){return this.continuousTempo}get EntriesList(){return this.expressions}get CombinedExpressionsText(){return this.combinedExpressionsText}set CombinedExpressionsText(R){this.combinedExpressionsText=R}getPlacementOfFirstEntry(){let R=PlacementEnum.Above;return this.expressions.length>0&&(this.expressions[0].Expression instanceof InstantaneousTempoExpression?R=this.expressions[0].Expression.Placement:this.expressions[0].Expression instanceof ContinuousTempoExpression&&(R=this.expressions[0].Expression.Placement)),R}getFontstyleOfFirstEntry(){let R=FontStyles.Regular;return this.expressions[0].Expression instanceof InstantaneousTempoExpression?R=FontStyles.Bold:this.expressions[0].Expression instanceof ContinuousTempoExpression&&(R=FontStyles.Italic),R}addExpression(R,F){if(this.checkIfAlreadyExists(R))return;R instanceof InstantaneousTempoExpression?this.instantaneousTempo=R:R instanceof ContinuousTempoExpression&&(this.continuousTempo=R);const D=new TempoExpressionEntry;D.prefix=F,D.Expression=R,D.label=R.Label,this.expressions.push(D)}CompareTo(R){return this.Timestamp.RealValue>R.Timestamp.RealValue?1:this.Timestamp.RealValue<R.Timestamp.RealValue?-1:0}checkIfAlreadyExists(R){for(const F of this.expressions)if(F.label===R.Label)return!0;return!1}}class TempoExpressionEntry{get Expression(){return this.expression}set Expression(R){this.expression=R}}class RehearsalExpression extends AbstractExpression{constructor(R,F){super(F),this.label=R}}class MusicSystemBuilder{constructor(){this.musicSystems=[],this.globalSystemIndex=0,this.leadSheet=!1}initialize(R,F,D){this.leadSheet=R.LeadSheet,this.graphicalMusicSheet=R,this.rules=this.graphicalMusicSheet.ParentMusicSheet.Rules,this.measureList=F,this.numberOfVisibleStaffLines=D,this.activeRhythm=new Array(this.numberOfVisibleStaffLines),this.activeKeys=new Array(this.numberOfVisibleStaffLines),this.activeClefs=new Array(this.numberOfVisibleStaffLines),this.initializeActiveInstructions(this.measureList[0])}buildMusicSystems(){var U,W,q;const R=this.getFullPageSystemWidth();let F=!1;this.measureListIndex=0,this.currentSystemParams=new SystemBuildParameters,this.currentSystemParams.currentSystem=this.initMusicSystem();let D=0,G=0;for(;this.measureListIndex<this.measureList.length;){const Y=this.measureList[this.measureListIndex];if(!Y||!Y[0]){this.measureListIndex++;continue}for(let Se=0,Ee=Y.length;Se<Ee;++Se)Y[Se].resetLayout();const Q=Y[0].parentSourceMeasure,Z=Q.HasEndLine,K=Z&&this.rules.NewPartAndSystemAfterFinalBarline,J=this.currentSystemParams.IsSystemStartMeasure();Q.IsSystemStartMeasure=J;const ie=Q===this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();let ne=this.rules.MeasureLeftMargin,se=0;const re=this.getMeasureStartLine();if(ne+=this.getLineWidth(Y[0],re,J),!this.leadSheet){let Se=!1;F&&this.rules.ShowRhythmAgainAfterPartEndOrFinalBarline&&(Se=!0),ne+=this.addBeginInstructions(Y,J,ie||Se),se+=this.addEndInstructions(Y)}let ae=0;for(let Se=0;Se<this.numberOfVisibleStaffLines;Se++)ae=Math.max(ae,Y[Se].minimumStaffEntriesWidth);const le=this.getMeasureEndLine();se+=this.getLineWidth(Y[0],le,J);let ce=this.rules.MeasureLeftMargin,he;if(this.measureListIndex+1<this.measureList.length){const Se=this.measureList[this.measureListIndex+1];he=(U=Se[0])==null?void 0:U.parentSourceMeasure,he!=null&&he.hasBeginInstructions()&&(ce+=this.addBeginInstructions(Se,!1,!1))}let de=ne+se+ae;(q=(W=Y[0])==null?void 0:W.parentSourceMeasure)!=null&&q.multipleRestMeasures&&(de=this.rules.MultipleRestMeasureDefaultWidth);const me=this.currentSystemParams.currentWidth+de+ce<R;D===0&&(D=Math.abs(Math.floor((R-ne-se-ce)/(de-ne))),D=D%2===0?D:D-1,D<1&&(D=1));const fe=this.rules.NewPageAtXMLNewPageAttribute&&Q.printNewPageXml,ge=fe||this.rules.NewSystemAtXMLNewSystemAttribute&&Q.printNewSystemXml;if((J||me&&!ge)&&(this.rules.DYWorkSpecial||G<D)){if(this.addMeasureToSystem(Y,re,le,de,ne,ae,se),this.updateActiveClefs(Q,Y),this.measureListIndex++,K){if(this.rules.MaxSystemToDrawNumber===this.musicSystems.length)return this.finalizeCurrentSystem(Y,!this.rules.StretchLastSystemLine,!1),this.musicSystems;this.finalizeCurrentAndCreateNewSystem(Y,!this.rules.StretchLastSystemLine,!1)}F=Z}else{if(G=0,this.rules.MaxSystemToDrawNumber===this.musicSystems.length)return this.finalizeCurrentSystem(Y,!1,!0,fe),this.musicSystems;this.finalizeCurrentAndCreateNewSystem(Y,!1,!0,fe)}}if(this.currentSystemParams.systemMeasures.length>0){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 R of this.musicSystems)this.optimizeDistanceBetweenStaffLines(R);this.calculateMusicSystemsRelativePositions()}setMeasureWidth(R,F,D,G){for(let U=0,W=R.length;U<W;++U){const q=R[U];q.setWidth(F),D>0&&(q.beginInstructionsWidth=D),G>0&&(q.endInstructionsWidth=G)}}finalizeCurrentAndCreateNewSystem(R,F=!1,D=!0,G=!1){this.finalizeCurrentSystem(R,F,D,G),this.currentSystemParams=new SystemBuildParameters,R!==void 0&&this.measureListIndex<this.measureList.length&&(this.currentSystemParams.currentSystem=this.initMusicSystem())}finalizeCurrentSystem(R,F=!1,D=!0,G=!1){this.currentSystemParams.currentSystem.breaksPage=G,this.adaptRepetitionLineWithIfNeeded(),R!==void 0&&D&&this.checkAndCreateExtraInstructionMeasure(R),this.stretchMusicSystem(F)}adaptRepetitionLineWithIfNeeded(){const R=this.currentSystemParams.systemMeasures;if(R.length>=1){const F=this.currentSystemParams.currentSystem.GraphicalMeasures[this.currentSystemParams.currentSystem.GraphicalMeasures.length-1];let D=0;const G=R[R.length-1];G.endLine===SystemLinesEnum.DotsBoldBoldDots&&(G.endLine=SystemLinesEnum.DotsThinBold,D=F[0].getLineWidth(SystemLinesEnum.DotsBoldBoldDots)/2-F[0].getLineWidth(SystemLinesEnum.DotsThinBold)),this.currentSystemParams.currentSystemFixWidth-=D;for(let U=0,W=F.length;U<W;++U){const q=F[U];q.endInstructionsWidth-=D}}}addMeasureToSystem(R,F,D,G,U,W,q){this.currentSystemParams.systemMeasures.push({beginLine:F,endLine:D}),this.setMeasureWidth(R,G,U,q),this.addStaveMeasuresToSystem(R),this.currentSystemParams.currentWidth+=G,this.currentSystemParams.currentSystemFixWidth+=U+q,this.currentSystemParams.currentSystemVarWidth+=W,this.currentSystemParams.systemMeasureIndex++}initMusicSystem(){const R=MusicSheetCalculator.symbolFactory.createMusicSystem(this.globalSystemIndex++,this.rules);return this.musicSystems.push(R),this.layoutSystemStaves(R),R.createMusicSystemLabel(this.rules.InstrumentLabelTextHeight,this.rules.SystemLabelsRightMargin,this.rules.LabelMarginBorderFactor,this.musicSystems.length===1),R}getFullPageSystemWidth(){return this.graphicalMusicSheet.ParentMusicSheet.pageWidth-this.rules.PageLeftMargin-this.rules.PageRightMargin-this.rules.SystemLeftMargin-this.rules.SystemRightMargin}layoutSystemStaves(R){const F=this.getFullPageSystemWidth(),D=R.PositionAndShape;D.BorderLeft=0,D.BorderRight=F,D.BorderTop=0;const G=[],U=this.graphicalMusicSheet.ParentMusicSheet.Instruments;for(let Y=0,Q=U.length;Y<Q;++Y){const Z=U[Y];if(!(!Z.Visible||Z.Voices.length===0))for(let K=0,J=Z.Staves.length;K<J;++K){const ie=Z.Staves[K];G.push(ie)}}let W=!1;if(this.leadSheet){for(let Y=0,Q=G.length;Y<Q;++Y)if(G[Y].ParentInstrument.LyricVersesNumbers.length>1){W=!0;break}}let q=0;for(let Y=0;Y<G.length;Y++)if(this.addStaffLineToMusicSystem(R,q,G[Y]),q+=this.rules.StaffHeight,Y+1<G.length){let Q=0;this.leadSheet&&!W?Q=2.5:G[Y].ParentInstrument===G[Y+1].ParentInstrument?Q=this.rules.BetweenStaffDistance:Q=this.rules.StaffDistance,q+=Q}D.BorderBottom=q}addStaffLineToMusicSystem(R,F,D){if(R){const G=MusicSheetCalculator.symbolFactory.createStaffLine(R,D);R.StaffLines.push(G);const U=G.PositionAndShape,W=new PointF2D;W.x=0,U.BorderRight=R.PositionAndShape.Size.width,W.y=F,U.RelativePosition=W,U.BorderLeft=0,U.BorderTop=0,U.BorderBottom=this.rules.StaffHeight;for(let q=0;q<5;q++){const Y=new PointF2D;Y.x=0,Y.y=q*this.rules.StaffHeight/4;const Q=new PointF2D;Q.x=G.PositionAndShape.Size.width,Q.y=q*this.rules.StaffHeight/4,this.leadSheet&&(Y.y=Q.y=0),G.StaffLines[q]=new GraphicalLine(Y,Q,this.rules.StaffLineWidth)}}}initializeActiveInstructions(R){const F=this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();if(F){this.visibleStaffIndices=this.graphicalMusicSheet.getVisibleStavesIndicesFromSourceMeasure(R);for(let D=0,G=this.visibleStaffIndices.length;D<G;D++){const U=this.visibleStaffIndices[D],W=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(F,U);this.activeClefs[D]=F.FirstInstructionsStaffEntries[U].Instructions[0];const q=F.FirstInstructionsStaffEntries[U].Instructions[1];if(q){let Q=KeyInstruction.copy(q);Q=this.transposeKeyInstruction(Q,W),this.activeKeys[D]=Q}const Y=F.FirstInstructionsStaffEntries[U].Instructions[2];this.activeRhythm[D]=Y}}}transposeKeyInstruction(R,F){const D=F.getTransposedHalftones();return D!==R.isTransposedBy&&F.ParentStaff.ParentInstrument.MidiInstrumentId!==MidiInstrument.Percussion&&MusicSheetCalculator.transposeCalculator!==void 0&&MusicSheetCalculator.transposeCalculator.transposeKey(R,D),R}addBeginInstructions(R,F,D){const G=R.length;if(G===0)return 0;let U=0;const W=R[0].parentSourceMeasure;for(let q=0;q<G;++q){const Y=R[q],Q=this.visibleStaffIndices[q],Z=W.FirstInstructionsStaffEntries[Q],K=this.AddInstructionsAtMeasureBegin(Z,Y,q,D,F);U=Math.max(U,K)}return U}addEndInstructions(R){const F=R.length;if(F===0)return 0;let D=.5;const G=R[0].parentSourceMeasure;for(let U=0;U<F;U++){const W=R[U],q=this.visibleStaffIndices[U],Y=G.LastInstructionsStaffEntries[q],Q=this.addInstructionsAtMeasureEnd(Y,W,R);D=Math.max(D,Q)}return D}AddInstructionsAtMeasureBegin(R,F,D,G,U){var ne,se,re,ae,le,ce;let W=0,q,Y,Q;if(R)for(let he=0,de=R.Instructions.length;he<de;++he){const me=R.Instructions[he];me instanceof ClefInstruction?q=me:me instanceof KeyInstruction?Y=me:me instanceof RhythmInstruction&&(Q=me)}const Z=(ne=window.GYM)==null?void 0:ne.multitrack;U&&(q||(q=this.activeClefs[D]),Y||(Y=KeyInstruction.copy(this.activeKeys[D])),Z&&Y&&!((se=Y.AlteratedNotes)!=null&&se.length)&&(Y=KeyInstruction.copy(this.activeKeys[0]),Y.PrintObject=!1),G&&!Q&&(Q=this.activeRhythm[D]));let K=!1,J=!1,ie=!1;if(q?(F.addClefAtBegin(q),K=!0):q=this.activeClefs[D],Y){Y=this.transposeKeyInstruction(Y,F);const he=U?void 0:this.activeKeys[D];if(F.addKeyAtBegin(Y,he,q),Z&&!Y.PrintObject)try{(le=(ae=(re=F.stave)==null?void 0:re.getModifiers(void 0,"keysignatures"))==null?void 0:ae[0])==null||le.setDrawState(!1)}catch{}J=!0}if(Q!==void 0&&Q.PrintObject&&this.rules.RenderTimeSignatures){let he=!0;const me=F.MeasureNumber-1-this.rules.MinMeasureToDrawIndex;if(F.MeasureNumber-1>=0&&this.measureList[me]){const ge=(ce=this.measureList[me][0])==null?void 0:ce.parentSourceMeasure;(ge==null?void 0:ge.ImplicitMeasure)&&(ge==null?void 0:ge.RhythmPrinted)&&(he=!1)}he&&(F.addRhythmAtBegin(Q),F.parentSourceMeasure.RhythmPrinted=Q,ie=!0)}return(K||J||ie)&&(W+=F.beginInstructionsWidth,ie&&(W+=this.rules.RhythmRightMargin)),W}addInstructionsAtMeasureEnd(R,F,D){if(!R||!R.Instructions||R.Instructions.length===0)return 0;for(let G=0,U=R.Instructions.length;G<U;++G){const W=R.Instructions[G];if(W instanceof ClefInstruction){const q=W;F.addClefAtEnd(q);for(const Y of D)Y!==F&&Y.addClefAtEnd(q,!1)}}return this.rules.MeasureRightMargin+F.endInstructionsWidth}updateActiveClefs(R,F){for(let D=0,G=F.length;D<G;D++){const U=this.visibleStaffIndices[D],W=R.FirstInstructionsStaffEntries[U];if(W)for(let Q=0,Z=W.Instructions.length;Q<Z;++Q){const K=W.Instructions[Q];K instanceof ClefInstruction?this.activeClefs[D]=K:K instanceof KeyInstruction?this.activeKeys[D]=K:K instanceof RhythmInstruction&&(this.activeRhythm[D]=K)}const q=R.getEntriesPerStaff(U);for(let Q=0,Z=q.length;Q<Z;++Q){const K=q[Q];if(K.Instructions)for(let J=0,ie=K.Instructions.length;J<ie;++J){const ne=K.Instructions[J];ne instanceof ClefInstruction&&(this.activeClefs[D]=ne)}}const Y=R.LastInstructionsStaffEntries[U];if(Y){const Q=Y.Instructions;for(let Z=0,K=Q.length;Z<K;++Z){const J=Q[Z];J instanceof ClefInstruction&&(this.activeClefs[D]=J)}}}}checkAndCreateExtraInstructionMeasure(R){const F=R[0].parentSourceMeasure.FirstInstructionsStaffEntries,D=[];for(let U=0,W=R.length;U<W;++U){const q=R[U];D.push(F[q.ParentStaff.idInMusicSheet])}let G=0;for(let U=0,W=D.length;U<W;++U){const q=D[U];if(!q)continue;const Y=q.Instructions;let Q,Z;for(let K=0,J=Y.length;K<J;++K){const ie=Y[K];ie instanceof KeyInstruction&&ie.Key!==this.activeKeys[U].Key&&(Q=ie),ie instanceof RhythmInstruction&&ie!==this.activeRhythm[U]&&(Z=ie)}if(Q!==void 0||Z){const K=this.addExtraInstructionMeasure(U,Q,Z);G=Math.max(G,K)}}G>0&&(this.currentSystemParams.systemMeasures.push({beginLine:SystemLinesEnum.None,endLine:SystemLinesEnum.None}),this.currentSystemParams.currentWidth+=G,this.currentSystemParams.currentSystemFixWidth+=G)}addExtraInstructionMeasure(R,F,D){const G=this.currentSystemParams.currentSystem,U=MusicSheetCalculator.symbolFactory.createExtraGraphicalMeasure(G.StaffLines[R]);F&&U.addKeyAtBegin(F,this.activeKeys[R],this.activeClefs[R]),D!==void 0&&D.PrintObject&&U.addRhythmAtBegin(D),U.PositionAndShape.BorderLeft=0,U.PositionAndShape.BorderTop=0,U.PositionAndShape.BorderBottom=this.rules.StaffHeight;const W=this.rules.MeasureLeftMargin+U.beginInstructionsWidth+this.rules.MeasureRightMargin;return U.PositionAndShape.BorderRight=W,G.StaffLines[R].Measures.push(U),W}addStaveMeasuresToSystem(R){if(R[0]){const F=[];for(let G=0;G<R.length;G++)F.push(R[G]);const D=this.currentSystemParams.currentSystem;for(let G=0;G<this.numberOfVisibleStaffLines;G++){const U=F[G];D.StaffLines[G].Measures.push(U),U.ParentStaffLine=D.StaffLines[G]}D.AddGraphicalMeasures(F)}}getMeasureStartLine(){if(this.thisMeasureBeginsLineRepetition()){const F=this.currentSystemParams.IsSystemStartMeasure(),D=this.measureListIndex===0;if(this.previousMeasureEndsLineRepetition()&&!F)return SystemLinesEnum.DotsBoldBoldDots;if(!D)return SystemLinesEnum.BoldThinDots}return SystemLinesEnum.None}getMeasureEndLine(){var U,W;let R;try{if(R=this.measureList[this.measureListIndex][0].parentSourceMeasure,this.rules.RenderMultipleRestMeasures&&R.multipleRestMeasures>1){const q=Math.min(this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length-1,R.measureListIndex+R.multipleRestMeasures-1);R=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[q]}}finally{}const F=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures,D=F[this.measureListIndex];let G=!1;return D.allRests&&(G=(W=(U=F[this.measureListIndex+D.multipleRestMeasures-1])==null?void 0:U.endsWithLineRepetition)==null?void 0:W.call(U)),this.nextMeasureBeginsLineRepetition()&&this.thisMeasureEndsLineRepetition()?SystemLinesEnum.DotsBoldBoldDots:this.thisMeasureEndsLineRepetition()||G?SystemLinesEnum.DotsThinBold:this.nextMeasureHasKeyInstructionChange()||this.thisMeasureEndsWordRepetition()||this.nextMeasureBeginsWordRepetition()?SystemLinesEnum.DoubleThin:R&&R.endingBarStyleEnum!==void 0?R.endingBarStyleEnum:SystemLinesEnum.SingleThin}getLineWidth(R,F,D){let G=R.getLineWidth(F);return F===SystemLinesEnum.DotsBoldBoldDots&&(G/=2),D&&F===SystemLinesEnum.BoldThinDots&&(G+=this.rules.DistanceBetweenLastInstructionAndRepetitionBarline),G}previousMeasureEndsLineRepetition(){if(this.measureListIndex===0)return!1;for(let R=0,F=this.measureList[this.measureListIndex-1].length;R<F;++R)if(this.measureList[this.measureListIndex-1][R].endsWithLineRepetition())return!0;return!1}thisMeasureBeginsLineRepetition(){for(let R=0,F=this.measureList[this.measureListIndex].length;R<F;++R)if(this.measureList[this.measureListIndex][R].beginsWithLineRepetition())return!0;return!1}nextMeasureBeginsLineRepetition(){const R=this.measureListIndex+1;if(R>=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length||!this.measureList[R])return!1;for(let F=0,D=this.measureList[R].length;F<D;++F)if(this.measureList[R][F].beginsWithLineRepetition())return!0;return!1}thisMeasureEndsLineRepetition(){for(let R=0,F=this.measureList[this.measureListIndex].length;R<F;++R)if(this.measureList[this.measureListIndex][R].endsWithLineRepetition())return!0;return!1}nextMeasureBeginsWordRepetition(){const R=this.measureListIndex+1;if(R>=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length||R>this.measureList.length-1)return!1;for(let F=0,D=this.measureList[R].length;F<D;++F)if(this.measureList[R][F].beginsWithWordRepetition())return!0;return!1}thisMeasureEndsWordRepetition(){for(let R=0,F=this.measureList[this.measureListIndex].length;R<F;++R)if(this.measureList[this.measureListIndex][R].endsWithWordRepetition())return!0;return!1}nextMeasureHasKeyInstructionChange(){return this.getNextMeasureKeyInstruction()!==void 0}getNextMeasureKeyInstruction(){var R;if(this.measureListIndex<this.measureList.length-1)for(let F=0;F<this.measureList[this.measureListIndex].length;F++){const D=(R=this.measureList[this.measureListIndex+1][F])==null?void 0:R.parentSourceMeasure;return D?D.getKeyInstruction(this.visibleStaffIndices[F]):void 0}}calculateXScalingFactor(R,F){return Math.abs(F-0)<1e-5||Math.abs(R-0)<1e-5?1:(this.currentSystemParams.currentSystem.StaffLines[0].PositionAndShape.Size.width-R)/F}stretchMusicSystem(R){let F=this.calculateXScalingFactor(this.currentSystemParams.currentSystemFixWidth,this.currentSystemParams.currentSystemVarWidth);R&&(F=Math.min(F,this.rules.LastSystemMaxScalingFactor));const D=this.currentSystemParams.currentSystem;for(let G=0,U=D.StaffLines.length;G<U;++G){const W=D.StaffLines[G];let q=0;for(let Y=0;Y<W.Measures.length;Y++){const Q=W.Measures[Y];Q.setPositionInStaffline(q);const Z=Q.beginInstructionsWidth;if(Q.setWidth(Z+Q.minimumStaffEntriesWidth*F+Q.endInstructionsWidth),Y<this.currentSystemParams.systemMeasures.length){const J=this.currentSystemParams.systemMeasures[Y].beginLine,ie=Q.getLineWidth(SystemLinesEnum.BoldThinDots);switch(J){case SystemLinesEnum.BoldThinDots:let ne=q;Y===0&&(ne=q+Q.beginInstructionsWidth-ie),D.createVerticalLineForMeasure(ne,ie,J,SystemLinePosition.MeasureBegin,Y,Q);break}}if(Q.staffEntriesScaleFactor=F,Q.layoutSymbols(),!(Y+1<this.currentSystemParams.systemMeasures.length&&this.currentSystemParams.systemMeasures[Y+1].beginLine===SystemLinesEnum.BoldThinDots)){let J=SystemLinesEnum.SingleThin;Y<this.currentSystemParams.systemMeasures.length&&(J=this.currentSystemParams.systemMeasures[Y].endLine);const ie=Q.getLineWidth(J);let ne=Q.PositionAndShape.RelativePosition.x+Q.PositionAndShape.BorderRight-ie;J===SystemLinesEnum.DotsBoldBoldDots&&(ne-=ie/2),D.createVerticalLineForMeasure(ne,ie,J,SystemLinePosition.MeasureEnd,Y,Q)}q=Q.PositionAndShape.RelativePosition.x+Q.PositionAndShape.BorderRight}}R&&this.decreaseMusicSystemBorders()}decreaseMusicSystemBorders(){const R=this.currentSystemParams.currentSystem,F=CollectionUtil.last(R.StaffLines[0].Measures).PositionAndShape,D=F.RelativePosition.x+F.Size.width;for(let G=0,U=R.StaffLines.length;G<U;++G){const W=R.StaffLines[G];W.PositionAndShape.BorderRight=D;for(let q=0,Y=W.StaffLines.length;q<Y;++q){const Q=W.StaffLines[q];Q.End=new PointF2D(D,Q.End.y)}}R.PositionAndShape.BorderRight=D+this.currentSystemParams.maxLabelLength+this.rules.SystemLabelsRightMargin}updateStaffLinesRelativePosition(R,F,D){for(let G=F;G<R.StaffLines.length;G++)R.StaffLines[G].PositionAndShape.RelativePosition.y=D;R.PositionAndShape.BorderBottom+=D}createMusicPage(){const R=new GraphicalMusicPage(this.graphicalMusicSheet);return this.graphicalMusicSheet.MusicPages.push(R),R.PageNumber=this.graphicalMusicSheet.MusicPages.length,R.PositionAndShape.BorderLeft=0,R.PositionAndShape.BorderRight=this.graphicalMusicSheet.ParentMusicSheet.pageWidth,R.PositionAndShape.BorderTop=0,R.PositionAndShape.BorderBottom=this.rules.PageHeight,R.PositionAndShape.RelativePosition=new PointF2D(0,0),R}addSystemToPage(R,F){R.MusicSystems.push(F),F.Parent=R}optimizeDistanceBetweenStaffLines(R){if(!R.checkStaffEntriesForStaffEntryLink())for(let G=0;G<R.StaffLines.length-1;G++){const U=R.StaffLines[G].BottomLine,W=R.StaffLines[G+1].SkyLine;let q=0;for(let Q=0;Q<U.length;Q++){const Z=U[Q],K=Math.max(0,Q-6),J=Math.min(W.length-1,Q+6);let ie=0;for(let se=K;se<=J;se++)ie=Math.min(ie,W[se]);const ne=Z-ie;q=Math.max(ne,q)}q+=this.rules.MinSkyBottomDistBetweenStaves,q=Math.max(q,this.rules.StaffHeight+this.rules.MinimumStaffLineDistance);const Y=q+R.StaffLines[G].PositionAndShape.RelativePosition.y;this.updateStaffLinesRelativePosition(R,G+1,Y)}const F=R.StaffLines[0];R.PositionAndShape.BorderTop=F.PositionAndShape.RelativePosition.y+F.PositionAndShape.BorderTop;const D=R.StaffLines[R.StaffLines.length-1];R.PositionAndShape.BorderBottom=D.PositionAndShape.RelativePosition.y+D.PositionAndShape.BorderBottom}hasExpressionCounts(R){var G;let F=0,D=!1;for(const U of R.GraphicalMeasures)for(const W of U){for(const q of W.parentSourceMeasure.TempoExpressions)if(((G=q.InstantaneousTempo)==null?void 0:G.Enum)===TempoEnum.metronomeMark){D=!0;break}for(const q of W.parentSourceMeasure.StaffLinkedExpressions)F+=q.length}return{TempoCount:D?1:0,OtherCount:F}}calculateMusicSystemsRelativePositions(){var W;let R=this.createMusicPage(),F=0,D=this.musicSystems[0],G=0,U=0;if(this.musicSystems.length>1)for(let q=1;q<this.musicSystems.length;q++){const Y=this.musicSystems[q-1],Q=this.musicSystems[q];let Z=this.findRequiredDistanceWithSkyBottomLine(Y,Q);Z>U&&(U=Z)}for(let q=0;q<this.musicSystems.length;q++)if(D=this.musicSystems[q],R.MusicSystems.length===0){this.addSystemToPage(R,D),this.rules.CompactMode?F=this.rules.PageTopMarginNarrow:F=this.rules.PageTopMargin,this.graphicalMusicSheet.MusicPages.length===1&&this.rules.RenderTitle&&(F+=this.rules.TitleTopDistance+this.rules.SheetTitleHeight+this.rules.TitleBottomDistance);const Y=new PointF2D(this.rules.PageLeftMargin+this.rules.SystemLeftMargin,F);D.PositionAndShape.RelativePosition=Y,F+D.PositionAndShape.BorderBottom>this.rules.PageHeight-this.rules.PageBottomMargin&&(G++,G<=4&&console.log(`warning: could not fit a single system on page ${R.PageNumber} and measure number ${D.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 Y=this.musicSystems[q-1],Q=Y.StaffLines[Y.StaffLines.length-1],Z=Q.PositionAndShape;let K=this.findRequiredDistanceWithSkyBottomLine(Y,D);K=Math.max(U,K),K+=this.rules.MinSkyBottomDistBetweenSystems,((W=window==null?void 0:window.appName)==null?void 0:W.toLocaleUpperCase())==="GYM"&&(K=K<16?16:K);const J=this.hasExpressionCounts(D);J.TempoCount>0&&this.rules.MetronomeMarksDrawn&&(K+=2),J.OtherCount>0&&this.rules.MetronomeMarksDrawn&&(K+=2),K=Math.max(K,this.rules.MinimumDistanceBetweenSystems+Q.StaffHeight);const ie=F+Z.RelativePosition.y+K,ne=ie+D.PositionAndShape.BorderMarginBottom;if(!(this.rules.NewPageAtXMLNewPageAttribute&&Y.breaksPage)&&ne<this.rules.PageHeight-this.rules.PageBottomMargin){this.addSystemToPage(R,D),F=ie;const re=new PointF2D(this.rules.PageLeftMargin+this.rules.SystemLeftMargin,F);D.PositionAndShape.RelativePosition=re}else{R=this.createMusicPage(),q-=1;continue}}G>0&&console.log(`total amount of pages that couldn't fit a single music system: ${G} of ${R.PageNumber}`)}findRequiredDistanceWithSkyBottomLine(R,F){const D=R.StaffLines[R.StaffLines.length-1],G=F.StaffLines[0],U=D.BottomLine,W=G.SkyLine,q=D.PositionAndShape,Y=G.PositionAndShape,Q=1/this.rules.SamplingUnit;let Z=0;for(let K=0;K<U.length;K++){const J=U[K],ie=K+Math.round((q.RelativePosition.x-Y.RelativePosition.x)*Q);if(ie<0)continue;if(ie>=W.length)break;const ne=Math.max(0,ie-6),se=Math.min(W.length-1,ie+6);let re=0;for(let le=ne;le<=se;le++)re=Math.min(re,W[le]);const ae=J-re;Z=Math.max(ae,Z)}return Z===0&&(Z=q.BorderBottom-Y.BorderTop),Z}}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(R,F,D){this.getOpenOctaveShift=R,this.getAbsoluteStartTimestamp=F,this.getAbsoluteEndTimestamp=D}}class AccidentalCalculator{constructor(){this.keySignatureNoteAlterationsDict=new Dictionary,this.currentAlterationsComparedToKeyInstructionList=[],this.currentInMeasureNoteAlterationsDict=new Dictionary}get ActiveKeyInstruction(){return this.activeKeyInstruction}set ActiveKeyInstruction(R){this.activeKeyInstruction=R,this.reactOnKeyInstructionChange()}doCalculationsAtEndOfMeasure(){this.currentInMeasureNoteAlterationsDict.clear(),this.currentAlterationsComparedToKeyInstructionList.clear();for(const R of this.keySignatureNoteAlterationsDict.keys())this.currentInMeasureNoteAlterationsDict.setValue(R,this.keySignatureNoteAlterationsDict.getValue(R))}checkAccidental(R,F){if(!F)return;const D=F.FundamentalNote+F.Octave*12,G=this.currentAlterationsComparedToKeyInstructionList.indexOf(D)>=0;if(this.currentInMeasureNoteAlterationsDict.containsKey(D)){if(G&&this.currentAlterationsComparedToKeyInstructionList.splice(this.currentAlterationsComparedToKeyInstructionList.indexOf(D),1),this.currentInMeasureNoteAlterationsDict.getValue(D)!==F.AccidentalHalfTones){this.keySignatureNoteAlterationsDict.containsKey(D)&&this.keySignatureNoteAlterationsDict.getValue(D)!==F.AccidentalHalfTones?(this.currentAlterationsComparedToKeyInstructionList.push(D),this.currentInMeasureNoteAlterationsDict.setValue(D,F.AccidentalHalfTones)):F.Accidental!==AccidentalEnum.NONE&&this.currentInMeasureNoteAlterationsDict.remove(D);const U=this.currentInMeasureNoteAlterationsDict.getValue(D);if(F.Accidental===AccidentalEnum.NONE&&(Math.abs(U)===.5?F=new Pitch(F.FundamentalNote,F.Octave,AccidentalEnum.NONE):F=new Pitch(F.FundamentalNote,F.Octave,AccidentalEnum.NATURAL)),this.isAlterAmbiguousAccidental(F.Accidental)&&!F.AccidentalXml)return;MusicSheetCalculator.symbolFactory.addGraphicalAccidental(R,F)}}else if(F.Accidental!==AccidentalEnum.NONE){if(G||this.currentAlterationsComparedToKeyInstructionList.push(D),this.currentInMeasureNoteAlterationsDict.setValue(D,F.AccidentalHalfTones),this.isAlterAmbiguousAccidental(F.Accidental)&&!F.AccidentalXml)return;MusicSheetCalculator.symbolFactory.addGraphicalAccidental(R,F)}else G&&(F=new Pitch(F.FundamentalNote,F.Octave,AccidentalEnum.NATURAL),this.currentAlterationsComparedToKeyInstructionList.splice(this.currentAlterationsComparedToKeyInstructionList.indexOf(D),1),MusicSheetCalculator.symbolFactory.addGraphicalAccidental(R,F))}isAlterAmbiguousAccidental(R){return R===AccidentalEnum.SLASHFLAT||R===AccidentalEnum.QUARTERTONEFLAT}reactOnKeyInstructionChange(){const R=this.activeKeyInstruction.AlteratedNotes;let F;this.activeKeyInstruction.Key>0?F=AccidentalEnum.SHARP:F=AccidentalEnum.FLAT,this.keySignatureNoteAlterationsDict.clear(),this.currentAlterationsComparedToKeyInstructionList.length=0;for(let D=-9;D<9;D++)for(let G=0;G<R.length;G++)this.keySignatureNoteAlterationsDict.setValue(R[G]+D*12,Pitch.HalfTonesFromAccidental(F));this.doCalculationsAtEndOfMeasure()}}class JustifiedMusicSystemBuilder extends MusicSystemBuilder{buildMusicSystems(){var Y,Q;this.currentSystemParams=new SystemBuildParameters;const R=[];let F=0,D=-1;for(let Z=0,K=this.measureList.length;Z<K;++Z){this.measureListIndex=Z;const J=this.measureList[Z];if(!J||!J[0])continue;for(let re=0,ae=J.length;re<ae;++re)J[re].resetLayout();const ie=J[0].parentSourceMeasure,ne=this.rules.NewPageAtXMLNewPageAttribute&&ie.printNewPageXml;(this.rules.NewSystemAtXMLNewSystemAttribute&&ie.printNewSystemXml||ne)&&Z>0?(D=Z-1,R.push({startIndex:F,endIndex:D}),F=Z):ie.HasEndLine&&this.rules.NewPartAndSystemAfterFinalBarline&&(D=Z,R.push({startIndex:F,endIndex:D}),F=Z+1)}F<this.measureList.length&&D<F&&R.push({startIndex:F,endIndex:this.measureList.length-1});const G=[];let U=[];const W=[],q=[];for(const Z of R){let K=0;for(let me=Z.startIndex;me<=Z.endIndex;++me){this.measureListIndex=me;const fe=this.measureList[me];if(!fe||!fe[0]){W.push(0),q.push(0);continue}for(let Le=0,we=fe.length;Le<we;++Le)fe[Le].resetLayout();const Se=fe[0].parentSourceMeasure===this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();let Ee=this.rules.MeasureLeftMargin,ve=0;const xe=this.getMeasureStartLine();Ee+=this.getLineWidth(fe[0],xe,!1),this.leadSheet||(Ee+=this.addBeginInstructions(fe,!1,Se),ve+=this.addEndInstructions(fe));let Pe=0;for(let Le=0;Le<this.numberOfVisibleStaffLines;Le++){const we=(((Y=fe[Le].vfVoices[1])==null?void 0:Y.tickables.length)||1)*this.rules.DYMinNoteWidth;Pe=Math.max(Pe,fe[Le].minimumStaffEntriesWidth,we)}const ye=this.getMeasureEndLine();ve+=this.getLineWidth(fe[0],ye,!1);const Te=Ee+ve+Pe;W.push(Te),q.push(K+Te/2),K+=Te}const J=K,se=this.getFullPageSystemWidth()-8,ae=Math.ceil(J/se)*se/J;let le=1,ce=0,he=0,de=0;for(let me=Z.startIndex;me<=Z.endIndex;++me){const fe=q[me];if(fe===0)continue;const ge=W[me],Se=W[me+1]||0;let Ee=fe*ae/se;he+=ge;const ve=(window==null?void 0:window.appName)||"";if((ve==null?void 0:ve.toLocaleUpperCase())==="GYM"){let xe=(Q=window.GYM)==null?void 0:Q.wrapNum;xe=Number(xe)>0?Number(xe):6,de===xe||he+Se>se&&de%2===0?(U.push(de),he=ge,de=1):de++}else he>se?(U.push(de),he=ge,de=1):de++;ge>se?Ee=me+1:Ee=Math.ceil(Ee),le===Ee?ce+=1:(G.push(ce),le=Ee,ce=1)}G.push(ce),U.push(de),U=U.filter(Boolean)}return U.length>1&&U[U.length-1]===1&&(U[U.length-2]=U[U.length-2]-1,U[U.length-1]=U[U.length-1]+1),console.log(U,G),this.buildPreparedMusicSystems(U)}buildPreparedMusicSystems(R){let F=!1;this.currentSystemParams=new SystemBuildParameters,this.currentSystemParams.currentSystem=this.initMusicSystem();for(let D=0,G=this.measureList.length;D<G;++D){this.measureListIndex=D;const U=this.measureList[D];if(!U||!U[0])continue;const W=this.rules.NewPageAtXMLNewPageAttribute&&U[0].parentSourceMeasure.printNewPageXml;this.currentSystemParams.currentSystem.GraphicalMeasures.length===R[this.musicSystems.length-1]&&this.finalizeCurrentAndCreateNewSystem(U,!1,!F,W);for(let ae=0,le=U.length;ae<le;++ae)U[ae].resetLayout();const q=U[0].parentSourceMeasure,Y=q.HasEndLine,Q=this.currentSystemParams.IsSystemStartMeasure(),Z=q===this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();let K=this.rules.MeasureLeftMargin,J=0;const ie=this.getMeasureStartLine();if(K+=this.getLineWidth(U[0],ie,Q),!this.leadSheet){let ae=!1;F&&this.rules.ShowRhythmAgainAfterPartEndOrFinalBarline&&(ae=!0),K+=this.addBeginInstructions(U,Q,Z||ae),J+=this.addEndInstructions(U)}let ne=0;for(let ae=0;ae<this.numberOfVisibleStaffLines;ae++)ne=Math.max(ne,U[ae].minimumStaffEntriesWidth);const se=this.getMeasureEndLine();J+=this.getLineWidth(U[0],se,Q);const re=K+J+ne;this.addMeasureToSystem(U,ie,se,re,K,ne,J),this.updateActiveClefs(q,U),F=Y}return this.finalizeCurrentAndCreateNewSystem(void 0,!1,!1),this.musicSystems}}let metronomeMarks={};class MusicSheetCalculator{constructor(){this.staffEntriesWithGraphicalTies=[],this.staffEntriesWithOrnaments=[],this.staffEntriesWithChordSymbols=[],this.staffLinesWithLyricWords=[],this.graphicalLyricWords=[],this.abstractNotImplementedErrorMessage="abstract, not implemented",this.dynamicExpressionMap=new Map}static get TextMeasurer(){return MusicSheetCalculator.textMeasurer}static set TextMeasurer(R){MusicSheetCalculator.textMeasurer=R}get leadSheet(){return this.graphicalMusicSheet.LeadSheet}static setMeasuresMinStaffEntriesWidth(R,F){for(let D=0,G=R.length;D<G;++D){const U=R[D];U&&(U.minimumStaffEntriesWidth=F)}}initialize(R){this.graphicalMusicSheet=R,this.rules=R.ParentMusicSheet.Rules,this.rules.clearMusicSheetObjects(),this.prepareGraphicalMusicSheet()}prepareGraphicalMusicSheet(){const R=this.graphicalMusicSheet.ParentMusicSheet;this.staffEntriesWithGraphicalTies=[],this.staffEntriesWithOrnaments=[],this.staffEntriesWithChordSymbols=[],this.staffLinesWithLyricWords=[],this.graphicalMusicSheet.Initialize();const F=this.graphicalMusicSheet.MeasureList,D=this.createAccidentalCalculators(),G=this.graphicalMusicSheet.initializeActiveClefs(),U=[],W=R.getCompleteNumberOfStaves(),q=[];for(let Q=0;Q<W;Q++)q.push(void 0);for(let Q=0,Z=R.SourceMeasures.length;Q<Z;++Q){const K=R.SourceMeasures[Q],J=this.createGraphicalMeasuresForSourceMeasure(K,D,U,q,G);if(F.push(J),K.multipleRestMeasures>0&&this.rules.RenderMultipleRestMeasures){K.isReducedToMultiRest=!0,K.multipleRestMeasureNumber=1;const ie=K.multipleRestMeasures-1;Q+=ie;for(let ne=1;ne<=ie;ne++){const se=R.SourceMeasures[K.MeasureNumber-1+ne];se.multipleRestMeasureNumber=ne+1,se.isReducedToMultiRest=!0,F.push([void 0])}}}if(this.rules.AutoGenerateMutipleRestMeasuresFromRestMeasures&&this.rules.RenderMultipleRestMeasures){let Q,Z=0;for(let K=0,J=R.SourceMeasures.length;K<J;++K){const ie=R.SourceMeasures[K];if(!ie.isReducedToMultiRest&&ie.canBeReducedToMultiRest())if(Z>0){Q.isReducedToMultiRest=!0,Q.multipleRestMeasureNumber=1,Z++,ie.multipleRestMeasureNumber=Z,ie.isReducedToMultiRest=!0;for(let ne=0;ne<F[K].length;ne++)F[K][ne]=void 0}else Q=ie,Z=1;else if(Z>1){Q.multipleRestMeasures=Z;const ne=this.createGraphicalMeasuresForSourceMeasure(Q,D,U,q,G);F[Q.measureListIndex]=ne,Z=0,Q=void 0}else Z=0,Q=void 0}if(Z>1){Q.multipleRestMeasures=Z,Q.isReducedToMultiRest=!0;const K=this.createGraphicalMeasuresForSourceMeasure(Q,D,U,q,G);F[Q.measureListIndex]=K,Z=0,Q=void 0}}const Y=G.map(Q=>Q.ClefType===ClefEnum.percussion);this.handleStaffEntries(Y),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(R,F){let D=0;const G=this.rules.MaxInstructionsConstValue;if(this.graphicalMusicSheet.MeasureList.length>0){let U=this.graphicalMusicSheet.MeasureList[0],W=this.calculateMeasureXLayout(U);W=this.calculateMeasureWidthFromStaffEntries(U,W),MusicSheetCalculator.setMeasuresMinStaffEntriesWidth(U,W),D=W*1.2+F+G;for(let q=1;q<this.graphicalMusicSheet.MeasureList.length;q++)U=this.graphicalMusicSheet.MeasureList[q],W=this.calculateMeasureXLayout(U),W=this.calculateMeasureWidthFromStaffEntries(U,W),MusicSheetCalculator.setMeasuresMinStaffEntriesWidth(U,W),D=Math.max(D,W*1.2+G)}this.graphicalMusicSheet.MinAllowedSystemWidth=D}calculateMeasureWidthFromStaffEntries(R,F){throw new Error(this.abstractNotImplementedErrorMessage)}formatMeasures(){throw new Error(this.abstractNotImplementedErrorMessage)}calculateMeasureXLayout(R){throw new Error(this.abstractNotImplementedErrorMessage)}initGraphicalMeasuresCreation(){throw new Error(this.abstractNotImplementedErrorMessage)}handleBeam(R,F,D){throw new Error(this.abstractNotImplementedErrorMessage)}handleTiedGraphicalNote(R,F,D,G,U,W,q,Y){throw new Error(this.abstractNotImplementedErrorMessage)}handleVoiceEntryLyrics(R,F,D){throw new Error(this.abstractNotImplementedErrorMessage)}handleVoiceEntryOrnaments(R,F,D){throw new Error(this.abstractNotImplementedErrorMessage)}handleVoiceEntryArticulations(R,F,D){throw new Error(this.abstractNotImplementedErrorMessage)}handleVoiceEntryTechnicalInstructions(R,F,D){throw new Error(this.abstractNotImplementedErrorMessage)}handleTuplet(R,F,D){throw new Error(this.abstractNotImplementedErrorMessage)}layoutVoiceEntry(R,F,D,G){throw new Error(this.abstractNotImplementedErrorMessage)}layoutStaffEntry(R){throw new Error(this.abstractNotImplementedErrorMessage)}createGraphicalTie(R,F,D,G,U){throw new Error(this.abstractNotImplementedErrorMessage)}updateStaffLineBorders(R){throw new Error(this.abstractNotImplementedErrorMessage)}calculateMeasureNumberPlacement(R){const F=R.StaffLines[0];if(!F||!F.Measures[0]){log$2.warn("calculateMeasureNumberPlacement: measure undefined for system.Id "+R.Id);return}let D=F.Measures[0].MeasureNumber,G=0;for(let U=0;U<F.Measures.length;U++){if(this.rules.RenderMeasureNumbersOnlyAtSystemStart&&U>0)return;const W=F.Measures[U];(W.MeasureNumber===0||W.MeasureNumber===1)&&(D=W.MeasureNumber),W!==F.Measures[0]&&this.rules.MeasureNumberLabelXOffset?G=this.rules.MeasureNumberLabelXOffset:G=0;const q=this.rules.UseXMLMeasureNumbers&&W.MeasureNumber===1&&W.parentSourceMeasure.getPrintedMeasureNumber()!==1;((W.MeasureNumber===D||W.MeasureNumber>=D+this.rules.MeasureNumberLabelOffset)&&!W.parentSourceMeasure.ImplicitMeasure||q)&&((W.MeasureNumber!==1||W.MeasureNumber===1&&W!==F.Measures[0]||q)&&this.calculateSingleMeasureNumberPlacement(W,F,R,G),D=W.MeasureNumber)}}calculateSingleMeasureNumberPlacement(R,F,D,G=0){const U=R.parentSourceMeasure.getPrintedMeasureNumber().toString(),W=new Label(U),q=new GraphicalLabel(W,this.rules.MeasureNumberLabelHeight,TextAlignmentEnum.LeftBottom,this.rules),Y=F.SkyBottomLineCalculator;q.setLabelPositionAndShapeBorders(),q.PositionAndShape.Parent=D.PositionAndShape;const Q=F.PositionAndShape.RelativePosition.x+R.PositionAndShape.RelativePosition.x-q.PositionAndShape.BorderMarginLeft+G;let Z,K=Q,J=Q-q.PositionAndShape.BorderLeft+q.PositionAndShape.BorderRight;K-=F.PositionAndShape.RelativePosition.x,J-=F.PositionAndShape.RelativePosition.x;const ie=K+.5,ne=J-.5,se=Y.getSkyLineMinInRange(ie,ne);if(R===F.Measures[0]){let re=0;if(D.GroupBrackets.length>0)for(const ae of D.GroupBrackets)re=Math.min(re,ae.PositionAndShape.BorderTop);Z=Math.min(se,re)}else Z=se;Z=Math.min(0,Z),q.PositionAndShape.RelativePosition=new PointF2D(Q,Z),D.MeasureNumberLabels.push(q)}calculateMeasureNumberSkyline(R){const F=R.StaffLines[0];for(const D of R.MeasureNumberLabels){let G=D.PositionAndShape.RelativePosition.x,U=G-D.PositionAndShape.BorderLeft+D.PositionAndShape.BorderRight;G-=F.PositionAndShape.RelativePosition.x,U-=F.PositionAndShape.RelativePosition.x,F.SkyBottomLineCalculator.updateSkyLineInRange(G,U,D.PositionAndShape.RelativePosition.y+D.PositionAndShape.BorderMarginTop)}}layoutGraphicalTie(R,F,D){throw new Error(this.abstractNotImplementedErrorMessage)}calculateSingleStaffLineLyricsPosition(R,F){let D=0,G=this.rules.StaffHeight;const U=[],W=R.SkyBottomLineCalculator;let q=R.Measures.length;for(let Q=0;Q<q;++Q){const Z=R.Measures[Q],K=Z.PositionAndShape.RelativePosition,J=Z.staffEntries.length;for(let ie=0;ie<J;++ie){const ne=Z.staffEntries[ie];if(ne.LyricsEntries.length>0){U.push(ne),D=Math.max(D,ne.LyricsEntries.length);const se=ne.PositionAndShape.RelativePosition.x+K.x;let re=Number.MAX_VALUE,ae=Number.MIN_VALUE;for(let ce=0;ce<ne.LyricsEntries.length;ce++){const he=ne.LyricsEntries[ce].GraphicalLabel;re=Math.min(re,se+he.PositionAndShape.BorderMarginLeft),ae=Math.max(ae,se+he.PositionAndShape.BorderMarginRight)}const le=W.getBottomLineMaxInRange(re,ae);G=Math.max(G,le)}}}let Y=0;q=U.length;for(const Q of U)for(let Z=0;Z<Q.LyricsEntries.length;Z++){const K=Q.LyricsEntries[Z],J=K.GraphicalLabel,ie=K.LyricsEntry.VerseNumber,ne=F.indexOf(ie);let re=G+this.rules.LyricsHeight+this.rules.VerticalBetweenLyricsDistance+this.rules.LyricsYOffsetToStaffHeight+(this.rules.VerticalBetweenLyricsDistance+this.rules.LyricsHeight)*ne;this.leadSheet&&(re=3.4+(this.rules.VerticalBetweenLyricsDistance+this.rules.LyricsHeight)*ne);const ae=J.PositionAndShape.RelativePosition.x;J.PositionAndShape.RelativePosition=new PointF2D(ae,re),Y=Math.max(Y,re)}if(U.length>0){const Q=R.PositionAndShape.Size.width;let Z=U[0].PositionAndShape.RelativePosition.x+U[0].PositionAndShape.BorderMarginLeft+U[0].parentMeasure.PositionAndShape.RelativePosition.x;Z=Z>Q?Q:Z,W.updateBottomLineInRange(Z,Q,Y)}return U}calculateLyricsExtendsAndDashes(R){for(let F=0,D=R.length;F<D;++F){const G=R[F];for(let U=0;U<G.LyricsEntries.length;U++){const W=G.LyricsEntries[U];W.ParentLyricWord&&W.ParentLyricWord.GraphicalLyricsEntries[W.ParentLyricWord.GraphicalLyricsEntries.length-1]!==W&&this.calculateSingleLyricWord(W),W.LyricsEntry.extend&&this.calculateLyricExtend(W)}}}calculateSingleOctaveShift(R,F,D,G){throw new Error(this.abstractNotImplementedErrorMessage)}calculateWordRepetitionInstruction(R,F){throw new Error(this.abstractNotImplementedErrorMessage)}calculateMoodAndUnknownExpression(R,F,D){var q;const G=R.AbsoluteTimestamp,U=this.graphicalMusicSheet.MeasureList[F];let W=new PointF2D;if(R.MoodList.length>0||R.UnknownList.length>0){let Y="";for(let ie=0,ne=R.EntriesList.length;ie<ne;++ie){const se=R.EntriesList[ie];se.prefix!==""&&(Y===""?Y+=se.prefix:Y+=" "+se.prefix),Y===""?Y+=se.label:Y+=" "+se.label}const Q=U[D].ParentStaffLine;if(!Q){log$2.debug("MusicSheetCalculator.calculateMoodAndUnknownExpression: staffLine undefined. Returning.");return}W=this.getRelativePositionInStaffLineFromTimestamp(G,D,Q,Q==null?void 0:Q.isPartOfMultiStaffInstrument()),Math.abs(W.x-0)<1e-4&&(W.x=U[D].beginInstructionsWidth+this.rules.RhythmRightMargin);const Z=this.rules.UnknownTextHeight,K=R.getPlacementOfFirstEntry(),J=this.calculateLabel(Q,W,Y,R.getFontstyleOfFirstEntry(),K,Z);new GraphicalUnknownExpression(Q,J,K,(q=U[D])==null?void 0:q.parentSourceMeasure,R)}}clearRecreatedObjects(){for(let R=0,F=this.staffEntriesWithGraphicalTies.length;R<F;++R){const D=this.staffEntriesWithGraphicalTies[R];D.GraphicalTies.length=0}this.staffEntriesWithGraphicalTies.length=0}handleStaffEntryLink(R,F){log$2.debug("handleStaffEntryLink not implemented")}calculateMusicSystems(){if(!this.graphicalMusicSheet.MeasureList)return;const R=this.graphicalMusicSheet.MeasureList;if(!R)return;this.rules.MinMeasureToDrawIndex>R.length-1&&(log$2.debug("minimum measure to draw index out of range. resetting min measure index to limit."),this.rules.MinMeasureToDrawIndex=R.length-1);const F=[];for(let W=this.rules.MinMeasureToDrawIndex,q=R.length;W<q&&W<=this.rules.MaxMeasureToDrawIndex;++W){const Y=R[W],Q=[];for(let Z=0,K=Y.length;Z<K;++Z){const J=R[W][Z];if(J!=null&&J.isVisible()&&(Q.push(J),this.rules.ColoringEnabled))for(const ie of J.staffEntries)for(const ne of ie.graphicalVoiceEntries)ne.color()}F.push(Q)}let D=0;for(let W=0,q=F.length;W<q;++W){const Y=F[W];D=Math.max(Y.length,D);break}if(D===0)return;let G;if(R.length===1||this.rules.RenderSingleHorizontalStaffline?G=new MusicSystemBuilder:G=new JustifiedMusicSystemBuilder,G.initialize(this.graphicalMusicSheet,F,D),this.musicSystems=G.buildMusicSystems(),this.formatMeasures(),this.leadSheet||(this.optimizeRestPlacement(),this.calculateStaffEntryArticulationMarks(),this.rules.RenderSlurs&&this.calculateTieCurves()),this.calculateSkyBottomLines(),this.calculateTupletNumbers(),this.rules.RenderMeasureNumbers)for(let W=0,q=this.musicSystems.length;W<q;++W){const Y=this.musicSystems[W];this.calculateMeasureNumberPlacement(Y)}if(this.calculateFingerings(),!this.leadSheet&&this.rules.RenderSlurs&&this.calculateSlurs(),this.rules.RenderMeasureNumbers)for(let W=0,q=this.musicSystems.length;W<q;++W){const Y=this.musicSystems[W];this.calculateMeasureNumberSkyline(Y)}this.leadSheet||this.calculateOrnaments(),this.calculateChordSymbols(),this.leadSheet||(this.calculateDynamicExpressions(),this.calculateMoodAndUnknownExpressions(),this.calculateExpressionAlignements(),this.calculateOctaveShifts(),this.calculatePedals(),this.calculateWavyLines(),this.calculateWordRepetitionInstructions()),this.calculateRepetitionEndings(),this.leadSheet||this.calculateTempoExpressions(),this.calculateRehearsalMarks(),this.calculateLyricsPosition();for(let W=0,q=this.musicSystems.length;W<q;++W){const Y=this.musicSystems[W];for(let Q=0,Z=Y.StaffLines.length;Q<Z;++Q){const K=Y.StaffLines[Q];this.updateStaffLineBorders(K)}}G.calculateSystemYLayout(),this.calculateMarkedAreas();for(let W=0,q=this.graphicalMusicSheet.MusicPages.length;W<q;++W){const Y=this.graphicalMusicSheet.MusicPages[W];for(let Z=0,K=Y.MusicSystems.length;Z<K;++Z){const J=W===0&&Z===0,ie=Y.MusicSystems[Z];ie.setMusicSystemLabelsYPosition(),this.leadSheet?ie===ie.Parent.MusicSystems[0]&&ie.createSystemLeftLine(this.rules.SystemThinLineWidth,this.rules.SystemLabelsRightMargin,J):(ie.setYPositionsToVerticalLineObjectsAndCreateLines(this.rules),ie.createSystemLeftLine(this.rules.SystemThinLineWidth,this.rules.SystemLabelsRightMargin,J),ie.createInstrumentBrackets(this.graphicalMusicSheet.ParentMusicSheet.Instruments,this.rules.StaffHeight),ie.createGroupBrackets(this.graphicalMusicSheet.ParentMusicSheet.InstrumentalGroups,this.rules.StaffHeight,0),ie.alignBeginInstructions()),ie.calculateBorders(this.rules)}const Q=Y.MusicSystems[0].PositionAndShape.BorderTop;for(let Z=0,K=Y.MusicSystems.length;Z<K;++Z){const J=Y.MusicSystems[Z];J.PositionAndShape.RelativePosition=new PointF2D(J.PositionAndShape.RelativePosition.x,J.PositionAndShape.RelativePosition.y-Q)}for(let Z=0,K=Y.MusicSystems.length;Z<K;++Z){const J=Y.MusicSystems[Z];for(let ie=0,ne=J.StaffLines.length;ie<ne;++ie)J.StaffLines[ie].addActivitySymbolClickArea()}Y.PositionAndShape.calculateTopBottomBorders(),Y===this.graphicalMusicSheet.MusicPages[0]&&this.calculatePageLabels(Y),Y.PositionAndShape.calculateTopBottomBorders()}}calculateMarkedAreas(){}calculateChordSymbols(){for(const R of this.musicSystems)for(const F of R.StaffLines){const D=F.SkyBottomLineCalculator;let G=Number.MAX_SAFE_INTEGER;if(this.rules.ChordSymbolYAlignment&&this.rules.ChordSymbolYAlignmentScope==="staffline"){const U=[];for(const W of F.Measures)U.push(...W.staffEntries);G=this.calculateAlignedChordSymbolsOffset(U,D)}for(const U of F.Measures){this.rules.ChordSymbolYAlignment&&this.rules.ChordSymbolYAlignmentScope==="measure"&&(G=this.calculateAlignedChordSymbolsOffset(U.staffEntries,D));for(const W of U.staffEntries)if(!(!W.graphicalChordContainers||W.graphicalChordContainers.length===0))for(let q=0;q<W.graphicalChordContainers.length;q++){const Y=W.graphicalChordContainers[q],Q=W.PositionAndShape,Z=Y.PositionAndShape,K=Z.BorderMarginLeft+Q.AbsolutePosition.x,J=Z.BorderMarginRight+Q.AbsolutePosition.x;(!this.rules.ChordSymbolYAlignment||G>0)&&(G=D.getSkyLineMinInRange(K,J));let ie=0;q===0?(ie+=this.rules.ChordSymbolYOffset,ie+=.1):ie+=this.rules.ChordSymbolYPadding,ie*=-1;const ne=Y.GraphicalLabel;ne.PositionAndShape.RelativePosition.y=G+ie,ne.setLabelPositionAndShapeBorders(),ne.PositionAndShape.calculateBoundingBox(),D.updateSkyLineInRange(K,J,G+ne.PositionAndShape.BorderMarginTop)}}}}calculateAlignedChordSymbolsOffset(R,F){let D=Number.MAX_SAFE_INTEGER;for(const G of R)for(const U of G.graphicalChordContainers){const W=G.PositionAndShape,q=U.PositionAndShape,Y=q.BorderMarginLeft+W.AbsolutePosition.x,Q=q.BorderMarginRight+W.AbsolutePosition.x;D=Math.min(D,F.getSkyLineMinInRange(Y,Q))}return D}layoutMeasureWithWholeRest(R,F,D){}layoutBeams(R){}layoutArticulationMarks(R,F,D){}layoutOrnament(R,F,D){}calculateRestNotePlacementWithinGraphicalBeam(R,F,D,G,U){}calculateTupletNumbers(){}calculateSlurs(){}calculateDynamicExpressionsForMultiExpression(R,F,D){}calculateGraphicalVerbalContinuousDynamic(R,F){const D=R.Label,G=F.x+D.PositionAndShape.BorderMarginLeft,U=F.x+D.PositionAndShape.BorderMarginRight,W=R.ContinuousDynamic.Placement,Y=R.ParentStaffLine.SkyBottomLineCalculator;let Q;W===PlacementEnum.Below?(Q=Y.getBottomLineMaxInRange(G,U),D.PositionAndShape.RelativePosition=new PointF2D(F.x,Q-D.PositionAndShape.BorderMarginTop)):(Q=Y.getSkyLineMinInRange(G,U),D.PositionAndShape.RelativePosition=new PointF2D(F.x,Q-D.PositionAndShape.BorderMarginBottom))}calculateGraphicalContinuousDynamic(R,F){var ye,Te,Le;const D=R.ParentStaffLine.ParentStaff.idInMusicSheet,G=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(R.ContinuousDynamic.EndMultiExpression.SourceMeasureParent,D);if(!G){log$2.warn("MusicSheetCalculator.calculateGraphicalContinuousDynamic: No endMeasure found");return}R.EndMeasure=G;const U=R.ParentStaffLine,W=G.ParentStaffLine,q=W&&U===W;let Y=!1;W?Y=W==null?void 0:W.isPartOfMultiStaffInstrument():U&&(Y=U==null?void 0:U.isPartOfMultiStaffInstrument());const Q=Fraction$1.createFromFraction(R.ContinuousDynamic.EndMultiExpression.AbsoluteTimestamp),Z=this.graphicalMusicSheet.GetVerticalContainerFromTimestamp(Q),K=Z.getFirstNonNullStaffEntry().parentMeasure,J=K.PositionAndShape.AbsolutePosition.x+K.PositionAndShape.BorderRight;let ie=new Fraction$1(0,0,0);for(const we of Z.StaffEntries){const Ae=(ye=we==null?void 0:we.sourceStaffEntry)==null?void 0:ye.calculateMaxNoteLength();Ae!=null&&Ae.gt(ie)&&(ie=Ae)}const ne=this.getRelativePositionInStaffLineFromTimestamp(Q,D,W,Y,0),se=Fraction$1.plus(Q,ie),re=this.getRelativePositionInStaffLineFromTimestamp(se,D,W,Y,0);re.x>ne.x&&re.x<J?ne.x+=(re.x-ne.x)/this.rules.WedgeEndDistanceBetweenTimestampsFactor:ne.x=J-this.rules.WedgeHorizontalMargin;const ae=this.dynamicExpressionMap.get(R.ContinuousDynamic.StartMultiExpression.AbsoluteTimestamp.RealValue);ae&&(F.x=ae.RelativePosition.x+ae.BorderMarginRight+this.rules.WedgeHorizontalMargin);const le=U.ParentMusicSystem,ce=le.StaffLines.indexOf(U),he=U.SkyBottomLineCalculator;let de=R.ContinuousDynamic.Placement;const me=R.ContinuousDynamic.DynamicType;(me===0||me===1)&&(de=1);let fe;q&&ne.x-F.x<this.rules.WedgeMinLength&&(ne.x=F.x+this.rules.WedgeMinLength);const ge=F.x,Se=W.Measures[0].beginInstructionsWidth-this.rules.WedgeHorizontalMargin-2;let Ee=0,ve=0;q?Ee=ne.x:(Ee=U.PositionAndShape.Size.width,ve=ne.x,fe=new GraphicalContinuousDynamicExpression(R.ContinuousDynamic,W,G.parentSourceMeasure),fe.IsSplittedPart=!0,R.IsSplittedPart=!0);let xe=0,Pe=0;if(de===PlacementEnum.Below){let we=0;if(ce<le.StaffLines.length-1&&(we=ce+1),we>ce){const ke=le.StaffLines[we].PositionAndShape.RelativePosition.y-U.PositionAndShape.RelativePosition.y-this.rules.StaffHeight;xe=this.rules.StaffHeight+ke/2}else xe=this.rules.WedgePlacementBelowY;xe-=this.rules.WedgeOpeningLength/2,q||(Pe=xe);let Ae=he.getBottomLineMaxInRange(ge,Ee);if(Ae>xe&&(xe=Ae),ce<le.StaffLines.length-1){const Me=U.findClosestStaffEntry(Ee),ke=U.findClosestStaffEntry(ge);ke&&Me&&ke.parentVerticalContainer}q||(Ae=W.SkyBottomLineCalculator.getBottomLineMaxInRange(Se,ve),Ae>Pe&&(Pe=Ae),Pe+=this.rules.WedgeOpeningLength/2,Pe+=this.rules.WedgeVerticalMargin),xe+=this.rules.WedgeOpeningLength/2,xe+=this.rules.WedgeVerticalMargin}else if(de===PlacementEnum.Above){if(U.ParentStaff.ParentInstrument.Staves.length===1)xe=this.rules.WedgePlacementAboveY;else{let Ae=0;ce>0&&(Ae=ce-1);const Me=le.StaffLines[Ae];xe=-(U.PositionAndShape.RelativePosition.y-Me.PositionAndShape.RelativePosition.y-this.rules.StaffHeight)/2}xe+=this.rules.WedgeOpeningLength/2,q||(Pe=xe);let we=he.getSkyLineMinInRange(ge,Ee);if(we<xe&&(xe=we),U.ParentStaff.ParentInstrument.Staves.length>1&&ce>0){const Ae=U.findClosestStaffEntry(ge),Me=U.findClosestStaffEntry(Ee);Ae&&Me&&Ae.parentVerticalContainer}q||(we=W.SkyBottomLineCalculator.getSkyLineMinInRange(Se,ve),we<Pe&&(Pe=we),Pe-=this.rules.WedgeOpeningLength/2),xe-=this.rules.WedgeOpeningLength/2,xe-=this.rules.WedgeVerticalMargin,q||(Pe-=this.rules.WedgeVerticalMargin)}R.Lines.clear(),((Le=(Te=R==null?void 0:R.ParentStaffLine)==null?void 0:Te.ParentStaff)==null?void 0:Le.StafflineCount)===2&&(xe+=1,Pe+=3),R.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?q?(R.createCrescendoLines(ge,Ee,xe),R.calcPsi()):(R.createFirstHalfCrescendoLines(ge,Ee,xe),R.calcPsi(),fe.createSecondHalfCrescendoLines(Se,ve,Pe),fe.calcPsi()):R.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&(q?(R.createDiminuendoLines(ge,Ee,xe),R.calcPsi()):(R.createFirstHalfDiminuendoLines(ge,Ee,xe),R.calcPsi(),fe.createSecondHalfDiminuendoLines(Se,ve,Pe),fe.calcPsi())),this.dynamicExpressionMap.set(Q.RealValue,R.PositionAndShape)}calculateGraphicalInstantaneousDynamicExpression(R,F,D){const G=R.ParentStaffLine;if(!G)return;const U=F.x+R.PositionAndShape.BorderMarginLeft,W=F.x+R.PositionAndShape.BorderMarginRight,q=G.SkyBottomLineCalculator;let Y=0;if(R.Placement===PlacementEnum.Above){const Q=q.getSkyLineMinInRange(U,W);if(G.isPartOfMultiStaffInstrument()&&G.ParentStaff!==G.ParentStaff.ParentInstrument.Staves[0]){const Z=G.ParentMusicSystem.StaffLines[G.ParentMusicSystem.StaffLines.indexOf(G)-1],K=G.PositionAndShape.RelativePosition.y-Z.PositionAndShape.RelativePosition.y-this.rules.StaffHeight;Q>-K/2?Y=-K/2:Y=Q-R.PositionAndShape.BorderMarginBottom}else Y=Q-R.PositionAndShape.BorderMarginBottom;R.PositionAndShape.RelativePosition=new PointF2D(F.x,Y)}else if(R.Placement===PlacementEnum.Below){const Q=q.getBottomLineMaxInRange(U,W),Z=G.ParentStaff.ParentInstrument.Staves[G.ParentStaff.ParentInstrument.Staves.length-1];if(G.isPartOfMultiStaffInstrument()&&G.ParentStaff!==Z){const J=G.ParentMusicSystem.StaffLines[G.ParentMusicSystem.StaffLines.indexOf(G)+1].PositionAndShape.RelativePosition.y-G.PositionAndShape.RelativePosition.y-this.rules.StaffHeight,ie=R.PositionAndShape.BorderMarginBottom;Q+ie<this.rules.StaffHeight+J/2?Y=this.rules.StaffHeight+J/2:Y=Q-R.PositionAndShape.BorderMarginTop}else Y=Q-R.PositionAndShape.BorderMarginTop;R.PositionAndShape.RelativePosition=new PointF2D(F.x,Y)}R.updateSkyBottomLine()}calcGraphicalRepetitionEndingsRecursively(R){}layoutSingleRepetitionEnding(R,F,D,G,U,W){}calculateLabel(R,F,D,G,U,W,q=TextAlignmentEnum.CenterBottom){const Y=new Label(D,q);Y.fontStyle=G,Y.fontHeight=W;const Q=new GraphicalLabel(Y,W,Y.textAlignment,this.rules,R.PositionAndShape),Z=1.1;U===PlacementEnum.Below&&(Q.Label.textAlignment=TextAlignmentEnum.LeftTop),Q.setLabelPositionAndShapeBorders(),Q.PositionAndShape.BorderMarginBottom*=Z,Q.PositionAndShape.BorderMarginTop*=Z,Q.PositionAndShape.BorderMarginLeft*=Z,Q.PositionAndShape.BorderMarginRight*=Z;let K=F.x+Q.PositionAndShape.BorderMarginLeft,J=F.x+Q.PositionAndShape.BorderMarginRight;J>R.PositionAndShape.Size.width&&(J=R.PositionAndShape.Size.width-this.rules.MeasureRightMargin,K=J-Q.PositionAndShape.MarginSize.width,F.x=K-Q.PositionAndShape.BorderMarginLeft);let ie;const ne=R.SkyBottomLineCalculator;return U===PlacementEnum.Below?ie=ne.getBottomLineMaxInRange(K,J):ie=ne.getSkyLineMinInRange(K,J),Q.PositionAndShape.RelativePosition=new PointF2D(F.x,ie),U===PlacementEnum.Below?ne.updateBottomLineInRange(K,J,Q.PositionAndShape.BorderMarginBottom+ie):ne.updateSkyLineInRange(K,J,Q.PositionAndShape.BorderMarginTop+ie),Q}calculateTempoExpressionsForMultiTempoExpression(R,F,D,G){metronomeMarks={};const U=Fraction$1.plus(R.AbsoluteTimestamp,F.Timestamp),W=this.graphicalMusicSheet.MeasureList[D];let q=new PointF2D;if(F.ContinuousTempo||F.InstantaneousTempo){if(this.rules.MinMeasureToDrawIndex>0||!W[0])return;let Y=W[0].ParentStaffLine,Q=W[0].PositionAndShape.RelativePosition.x,Z=0;for(let K=0;K<W.length;K++)if(!(!W[K].ParentStaffLine||W[K].ParentStaffLine.Measures.length===0)&&W[K].ParentStaffLine.Measures.length>0){Y=W[K].ParentStaffLine,Q=W[K].PositionAndShape.RelativePosition.x,Z=K;break}if(q=this.getRelativePositionInStaffLineFromTimestamp(U,Z,Y,Y.isPartOfMultiStaffInstrument(),Q),F.EntriesList.length>0&&F.EntriesList[0].Expression instanceof InstantaneousTempoExpression){const K=F.EntriesList[0].Expression;if(K.Placement=PlacementEnum.Above,Y.Measures[0].staffEntries.length>0&&Math.abs(q.x-Y.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x)===0&&Y.ParentMusicSystem===this.musicSystems[0]){const J=Y.Measures[0].FirstInstructionStaffEntry;if(J){const ie=J.GraphicalInstructions.last();q.x=ie.PositionAndShape.RelativePosition.x}this.rules.CompactMode&&(q.x=Y.PositionAndShape.RelativePosition.x+Y.Measures[0].PositionAndShape.RelativePosition.x)}}for(const K of F.EntriesList){let J=TextAlignmentEnum.CenterBottom;this.rules.CompactMode&&(J=TextAlignmentEnum.LeftBottom);const ie=this.calculateLabel(Y,q,K.label,F.getFontstyleOfFirstEntry(),K.Expression.Placement,this.rules.UnknownTextHeight,J);if(K.Expression instanceof InstantaneousTempoExpression){for(const se of Y.AbstractExpressions)se instanceof GraphicalInstantaneousTempoExpression&&(se.SourceExpression.Label,K.Expression.Label);new GraphicalInstantaneousTempoExpression(K.Expression,ie).ParentStaffLine||log$2.warn("Adding staffline didn't work"),K.Expression.Enum===TempoEnum.metronomeMark&&(metronomeMarks[D]=K.Expression)}else K.Expression instanceof ContinuousTempoExpression;if(G===R.TempoExpressions.length-1)for(const ne of Object.values(metronomeMarks))this.createMetronomeMark(ne,D)}}}createMetronomeMark(R,F){throw new Error(this.abstractNotImplementedErrorMessage)}graphicalMeasureCreatedCalculations(R){}clearSystemsAndMeasures(){for(let R=0,F=this.graphicalMusicSheet.MusicPages.length;R<F;++R){const D=this.graphicalMusicSheet.MusicPages[R];for(let G=0,U=D.MusicSystems.length;G<U;++G){const W=D.MusicSystems[G];for(let q=0,Y=W.StaffLines.length;q<Y;++q){const Q=W.StaffLines[q];for(let Z=0,K=Q.Measures.length;Z<K;++Z){const J=Q.Measures[Z];if(J.FirstInstructionStaffEntry){const ie=J.PositionAndShape.ChildElements.indexOf(J.FirstInstructionStaffEntry.PositionAndShape);ie>-1&&J.PositionAndShape.ChildElements.splice(ie,1),J.FirstInstructionStaffEntry=void 0,J.beginInstructionsWidth=0}if(J.LastInstructionStaffEntry){const ie=J.PositionAndShape.ChildElements.indexOf(J.LastInstructionStaffEntry.PositionAndShape);ie>-1&&J.PositionAndShape.ChildElements.splice(ie,1),J.LastInstructionStaffEntry=void 0,J.endInstructionsWidth=0}}Q.Measures=[],Q.PositionAndShape.ChildElements=[]}W.StaffLines.length=0,W.PositionAndShape.ChildElements=[]}D.MusicSystems=[],D.PositionAndShape.ChildElements=[]}this.graphicalMusicSheet.MusicPages=[]}handleVoiceEntry(R,F,D,G,U,W,q,Y,Q,Z=void 0,K=void 0){R.StemDirectionXml!==StemDirectionType.Undefined&&this.rules.SetWantedStemDirectionByXml&&R.StemDirectionXml!==void 0?R.WantedStemDirection=R.StemDirectionXml:this.calculateStemDirectionFromVoices(R);const J=F.findOrCreateGraphicalVoiceEntry(R);J.octaveShiftValue=Y;const ie=F.tabStaffEntry;let ne;ie&&(ne=ie.findOrCreateGraphicalVoiceEntry(R));for(let se=0,re=R.Notes.length;se<re;++se){const ae=R.Notes[se];if(!ae||K!==void 0&&K.Link!==void 0&&Z!==void 0&&Z.indexOf(ae)>-1)continue;let le;if(R.IsGrace?le=MusicSheetCalculator.symbolFactory.createGraceNote(ae,J,U,this.rules,Y):(le=MusicSheetCalculator.symbolFactory.createNote(ae,J,U,Y,this.rules,void 0),MusicSheetCalculator.stafflineNoteCalculator.trackNote(le)),ae.Pitch&&this.checkNoteForAccidental(le,D,U,Y),this.resetYPositionForLeadSheet(le.PositionAndShape),F.addGraphicalNoteToListAtCorrectYPosition(J,le),le.PositionAndShape.calculateBoundingBox(),this.leadSheet||(ae.NoteBeam!==void 0&&ae.PrintObject&&this.handleBeam(le,ae.NoteBeam,q),ae.NoteTuplet!==void 0&&ae.PrintObject&&this.handleTuplet(le,ae.NoteTuplet,W)),ne){const ce=MusicSheetCalculator.symbolFactory.createNote(ae,ne,U,Y,this.rules,void 0);ie.addGraphicalNoteToListAtCorrectYPosition(ne,ce),ce.PositionAndShape.calculateBoundingBox(),this.leadSheet||ae.NoteTuplet&&this.handleTuplet(ce,ae.NoteTuplet,W)}}return R.Articulations.length>0&&this.handleVoiceEntryArticulations(R.Articulations,R,F),R.TechnicalInstructions.length>0&&this.handleVoiceEntryTechnicalInstructions(R.TechnicalInstructions,R,F),R.LyricsEntries.size()>0&&this.handleVoiceEntryLyrics(R,F,G),R.OrnamentContainer&&this.handleVoiceEntryOrnaments(R.OrnamentContainer,R,F),Y}resetYPositionForLeadSheet(R){this.leadSheet&&(R.RelativePosition=new PointF2D(R.RelativePosition.x,0))}layoutVoiceEntries(R,F){if(R.PositionAndShape.RelativePosition=new PointF2D(0,0),!this.leadSheet)for(const D of R.graphicalVoiceEntries){const G=D.notes;if(G.length===0)continue;const U=G[0].sourceNote.ParentVoiceEntry,W=G[0].sourceNote.Pitch!==void 0;this.layoutVoiceEntry(U,G,R,W)}}maxInstrNameLabelLength(){var F;let R=0;for(const D of this.graphicalMusicSheet.ParentMusicSheet.Instruments)if(((F=D.NameLabel)==null?void 0:F.print)&&D.Voices.length>0&&D.Voices[0].Visible){let G=D.NameLabel;this.rules.RenderPartNames||(G=new Label("",G.textAlignment,G.font));const U=new GraphicalLabel(G,this.rules.InstrumentLabelTextHeight,TextAlignmentEnum.LeftCenter,this.rules);U.setLabelPositionAndShapeBorders(),R=Math.max(R,U.PositionAndShape.MarginSize.width)}return this.rules.RenderPartNames?R:0}calculateSheetLabelBoundingBoxes(){var G;const R=this.graphicalMusicSheet.ParentMusicSheet,F=this.rules.DefaultColorTitle;if(R.Title!==void 0&&this.rules.RenderTitle){const U=new GraphicalLabel(R.Title,this.rules.SheetTitleHeight,TextAlignmentEnum.CenterBottom,this.rules);U.Label.IsCreditLabel=!0,U.Label.colorDefault=F,this.graphicalMusicSheet.Title=U,U.setLabelPositionAndShapeBorders()}else this.rules.RenderTitle||(this.graphicalMusicSheet.Title=void 0);if(R.Subtitle!==void 0&&this.rules.RenderSubtitle){const U=new GraphicalLabel(R.Subtitle,this.rules.SheetSubtitleHeight,TextAlignmentEnum.CenterCenter,this.rules);U.Label.IsCreditLabel=!0,U.Label.colorDefault=F,this.graphicalMusicSheet.Subtitle=U,U.setLabelPositionAndShapeBorders()}else this.rules.RenderSubtitle||(this.graphicalMusicSheet.Subtitle=void 0);if(R.Composer!==void 0&&this.rules.RenderComposer){const U=new GraphicalLabel(R.Composer,this.rules.SheetComposerHeight,TextAlignmentEnum.RightCenter,this.rules);U.Label.IsCreditLabel=!0,U.Label.colorDefault=F,this.graphicalMusicSheet.Composer=U,U.setLabelPositionAndShapeBorders()}else this.rules.RenderComposer||(this.graphicalMusicSheet.Composer=void 0);if(R.Lyricist!==void 0&&this.rules.RenderLyricist){const U=new GraphicalLabel(R.Lyricist,this.rules.SheetAuthorHeight,TextAlignmentEnum.LeftCenter,this.rules);U.Label.IsCreditLabel=!0,U.Label.colorDefault=F,this.graphicalMusicSheet.Lyricist=U,U.setLabelPositionAndShapeBorders()}else this.rules.RenderLyricist||(this.graphicalMusicSheet.Lyricist=void 0);const D=(G=this.graphicalMusicSheet.musicSheet.sourceMeasures)==null?void 0:G[0];if(D&&D.FirstInstructionsStaffEntries.length>0){const U=D.FirstInstructionsStaffEntries[0];let W,q;for(let Y=0,Q=U.Instructions.length;Y<Q;++Y){const Z=U.Instructions[Y];Z instanceof ClefInstruction||(Z instanceof KeyInstruction?W=Z:Z instanceof RhythmInstruction&&(q=Z))}if(W){R.CurrentKeyInstruction=W;const Y=VexFlowConverter.keySignature(W),Q=new Label("1="+Y),Z=new Label(`${q.Rhythm.Numerator}
- ${q.Rhythm.Denominator}`),K=new GraphicalLabel(Q,this.rules.SheetAuthorHeight,TextAlignmentEnum.LeftCenter,this.rules),J=new GraphicalLabel(Z,this.rules.SheetAuthorHeight,TextAlignmentEnum.LeftCenter,this.rules),ie=new Label("\u1173"),ne=new GraphicalLabel(ie,this.rules.SheetAuthorHeight,TextAlignmentEnum.LeftCenter,this.rules);Q.fontFamily="Arial",Q.IsCreditLabel=!0,Q.colorDefault=F,Z.fontFamily="Arial",Z.IsCreditLabel=!0,Z.colorDefault=F,ie.fontFamily="Arial",ie.IsCreditLabel=!0,ie.colorDefault=F,this.graphicalMusicSheet.JianpuKeySignature=K,this.graphicalMusicSheet.jianpuTimeSignature=J,this.graphicalMusicSheet.jianpuLine=ne,K.setLabelPositionAndShapeBorders(),J.setLabelPositionAndShapeBorders(),ne.setLabelPositionAndShapeBorders()}}}checkMeasuresForWholeRestNotes(){for(let R=0,F=this.musicSystems.length;R<F;++R){const D=this.musicSystems[R];for(let G=0,U=D.StaffLines.length;G<U;++G){const W=D.StaffLines[G];for(let q=0,Y=W.Measures.length;q<Y;++q){const Q=W.Measures[q];if(Q.staffEntries.length===1){const Z=Q.staffEntries[0];if(Z.graphicalVoiceEntries.length>0&&Z.graphicalVoiceEntries[0].notes.length===1){const K=Z.graphicalVoiceEntries[0].notes[0];!K.sourceNote.Pitch&&new Fraction$1(1,2).lt(K.sourceNote.Length)&&this.layoutMeasureWithWholeRest(K,Z,Q)}}}}}}optimizeRestNotePlacement(R,F){if(R.graphicalVoiceEntries.length===0)return;const D=R.graphicalVoiceEntries[0].notes;if(D.length===0)return;const G=D[0],U=G.sourceNote.isRest();if(R.graphicalVoiceEntries.length===2){let W=!1;const q=R.graphicalVoiceEntries[1].notes;q.length>0&&(W=q[0].sourceNote.isRest()),U&&W?this.calculateTwoRestNotesPlacementWithCollisionDetection(R):(U||W)&&this.calculateRestNotePlacementWithCollisionDetectionFromGraphicalNote(R)}else if(U&&R!==F.staffEntries[0]&&R!==F.staffEntries[F.staffEntries.length-1]){const W=F.staffEntries.indexOf(R),q=F.staffEntries[W-1],Y=F.staffEntries[W+1];if(q.graphicalVoiceEntries.length===1){const Q=q.graphicalVoiceEntries[0].notes[0];if(Q.sourceNote.NoteBeam!==void 0&&Y.graphicalVoiceEntries.length===1){const Z=Y.graphicalVoiceEntries[0].notes[0];Z.sourceNote.NoteBeam!==void 0&&Q.sourceNote.NoteBeam===Z.sourceNote.NoteBeam&&(this.calculateRestNotePlacementWithinGraphicalBeam(R,G,Q,Y,Z),R.PositionAndShape.calculateBoundingBox())}}}}getRelativePositionInStaffLineFromTimestamp(R,F,D,G,U=0){let W=new PointF2D,q,Y;const Q=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length,Z=this.graphicalMusicSheet.GetInterpolatedIndexInVerticalContainers(R),K=Math.min(Math.floor(Z),Q-1),J=Math.min(Math.ceil(Z),Q-1);if(K<0||F<0)return W;if(q=this.getFirstLeftNotNullStaffEntryFromContainer(K,F,G),Y=this.getFirstRightNotNullStaffEntryFromContainer(J,F,G),q&&Y){let ie=q.parentMeasure.PositionAndShape.RelativePosition.x;U>0&&(ie=U);let ne=q.PositionAndShape.RelativePosition.x+ie,se=Y.PositionAndShape.RelativePosition.x+Y.parentMeasure.PositionAndShape.RelativePosition.x;U>0&&(se=Y.PositionAndShape.RelativePosition.x+ie);let re=0;if(q!==Y){const ae=q.getAbsoluteTimestamp(),le=Y.getAbsoluteTimestamp();re=Fraction$1.minus(R,ae).RealValue/Fraction$1.minus(le,ae).RealValue}q.parentMeasure.ParentStaffLine!==Y.parentMeasure.ParentStaffLine&&(q.parentMeasure.ParentStaffLine===D?se=D.PositionAndShape.Size.width:ne=D.PositionAndShape.RelativePosition.x),W=new PointF2D(ne+(se-ne)*re,0)}return W}getRelativeXPositionFromTimestamp(R){const F=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length,D=this.graphicalMusicSheet.GetInterpolatedIndexInVerticalContainers(R),G=Math.max(0,Math.min(Math.round(D),F-1)),U=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[G].getFirstNonNullStaffEntry();return U.PositionAndShape.RelativePosition.x+U.parentMeasure.PositionAndShape.RelativePosition.x}calculatePageLabels(R){var W;this.rules.RenderSingleHorizontalStaffline&&(R.PositionAndShape.BorderRight=R.PositionAndShape.Size.width,R.PositionAndShape.calculateBoundingBox(),this.graphicalMusicSheet.ParentMusicSheet.pageWidth=R.PositionAndShape.Size.width);let F=10;if(R.MusicSystems.length>0){const q=R.MusicSystems[0];F=q.PositionAndShape.RelativePosition.y+q.PositionAndShape.BorderTop}if(this.graphicalMusicSheet.Title){const q=this.graphicalMusicSheet.Title;q.PositionAndShape.Parent=R.PositionAndShape;const Y=new PointF2D;Y.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth/2,Y.y=this.rules.TitleTopDistance+this.rules.SheetTitleHeight,q.PositionAndShape.RelativePosition=Y,R.Labels.push(q)}if(this.graphicalMusicSheet.Subtitle){const q=this.graphicalMusicSheet.Subtitle;q.PositionAndShape.Parent=R.PositionAndShape;const Y=new PointF2D;Y.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth/2,Y.y=this.rules.TitleTopDistance+this.rules.SheetTitleHeight+this.rules.SheetMinimumDistanceBetweenTitleAndSubtitle,q.PositionAndShape.RelativePosition=Y,R.Labels.push(q)}const D=this.graphicalMusicSheet.Composer;let G;if(D){D.PositionAndShape.Parent=R.PositionAndShape,D.setLabelPositionAndShapeBorders();const q=new PointF2D;q.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth-this.rules.PageRightMargin,q.y=F,q.y-=this.rules.SystemComposerDistance;const Y=(W=D.TextLines)==null?void 0:W.length;Y>1&&(q.y-=D.PositionAndShape.BorderBottom*(Y-1)/Y),G=q.y,D.PositionAndShape.RelativePosition=q,R.Labels.push(D)}const U=this.graphicalMusicSheet.Lyricist;if(U){U.PositionAndShape.Parent=R.PositionAndShape,U.setLabelPositionAndShapeBorders();const q=new PointF2D;q.x=this.rules.PageLeftMargin,q.y=F,q.y+=U.PositionAndShape.BorderBottom,q.y=Math.min(q.y,G!=null?G:Number.MAX_SAFE_INTEGER),U.PositionAndShape.RelativePosition=q,R.Labels.push(U)}}createGraphicalTies(){for(let R=0;R<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;R++){const F=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[R];for(let D=0;D<F.CompleteNumberOfStaves;D++)for(let G=0;G<F.VerticalSourceStaffEntryContainers.length;G++){const U=F.VerticalSourceStaffEntryContainers[G].StaffEntries[D];if(U){const W=this.graphicalMusicSheet.findGraphicalStaffEntryFromMeasureList(D,R,U);W&&(W.GraphicalTies.clear(),W.ties.clear());for(let q=0,Y=U.VoiceEntries.length;q<Y;++q){const Q=U.VoiceEntries[q];for(let Z=0,K=Q.Notes.length;Z<K;++Z){const J=Q.Notes[Z];if(J.NoteTie){const ie=J.NoteTie;if(J===J.NoteTie.Notes.last())continue;for(const ne of W.GraphicalTies)ne.Tie;this.handleTie(ie,W,D,R)}}}this.setTieDirections(W)}}}}handleTie(R,F,D,G){if(!F)return;F.ties.push(R);let U=F,W,q,Y;for(let Q=1;Q<R.Notes.length;Q++)if(W=U.findTieGraphicalNoteFromNote(R.Notes[Q-1]),q=this.graphicalMusicSheet.GetGraphicalFromSourceStaffEntry(R.Notes[Q].ParentStaffEntry),!!q){if(Y=q.findTieGraphicalNoteFromNote(R.Notes[Q]),W!==void 0&&Y!==void 0&&q){if(!W.sourceNote.PrintObject||!Y.sourceNote.PrintObject)continue;const Z=this.createGraphicalTie(R,U,q,W,Y);U.GraphicalTies.push(Z),this.staffEntriesWithGraphicalTies.indexOf(U)>=0&&this.staffEntriesWithGraphicalTies.push(U)}U=q}}setTieDirections(R){if(!R)return;const F=R.ties;if(F.length>1){let D;for(const G of F){const U=G.Notes[0];(!D||U.Pitch.getHalfTone()>D.Pitch.getHalfTone())&&(D=U)}for(const G of F)G.TieDirection===PlacementEnum.NotYetDefined&&(G.Notes[0]===D?G.TieDirection=PlacementEnum.Above:G.TieDirection=PlacementEnum.Below)}}createAccidentalCalculators(){const R=[],F=this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();if(F)for(let D=0;D<F.CompleteNumberOfStaves;D++){const G=new AccidentalCalculator;if(R.push(G),F.FirstInstructionsStaffEntries[D])for(let U=0,W=F.FirstInstructionsStaffEntries[D].Instructions.length;U<W;++U){const q=F.FirstInstructionsStaffEntries[D].Instructions[U];if(q instanceof KeyInstruction){const Y=q;G.ActiveKeyInstruction=Y}}}return R}calculateVerticalContainersList(){const R=this.graphicalMusicSheet.MeasureList[0].length;for(let F=0;F<this.graphicalMusicSheet.MeasureList.length;F++)for(let D=0;D<R;D++){const G=this.graphicalMusicSheet.MeasureList[F][D];if(!!G)for(let U=0,W=G.staffEntries.length;U<W;++U){const q=G.staffEntries[U],Y=this.graphicalMusicSheet.getOrCreateVerticalContainer(q.getAbsoluteTimestamp());Y&&(Y.StaffEntries[D]=q,q.parentVerticalContainer=Y)}}}setIndicesToVerticalGraphicalContainers(){for(let R=0;R<this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length;R++)this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[R].Index=R}createGraphicalMeasuresForSourceMeasure(R,F,D,G,U){this.initGraphicalMeasuresCreation();const W=[],q=[],Y=[],Q=[];let Z=!0;for(let K=0;K<R.CompleteNumberOfStaves;K++){const J=this.createGraphicalMeasure(R,Y,q,F[K],U,G,D,K,Q);Z=Z&&J.hasOnlyRests,W.push(J)}return R.allRests=Z,R.VerticalMeasureList=W,W}createGraphicalMeasure(R,F,D,G,U,W,q,Y,Q){var ie,ne,se,re,ae,le;const Z=this.graphicalMusicSheet.ParentMusicSheet.getStaffFromIndex(Y);let K;if(U[Y].ClefType===ClefEnum.TAB)Z.isTab=!0,K=MusicSheetCalculator.symbolFactory.createTabStaffMeasure(R,Z);else if(R.multipleRestMeasures&&this.rules.RenderMultipleRestMeasures)K=MusicSheetCalculator.symbolFactory.createMultiRestMeasure(R,Z);else{if(R.multipleRestMeasureNumber>1)return;K=MusicSheetCalculator.symbolFactory.createGraphicalMeasure(R,Z)}if(K.hasError=R.getErrorInMeasure(Y),R.FirstInstructionsStaffEntries[Y])for(let ce=0,he=R.FirstInstructionsStaffEntries[Y].Instructions.length;ce<he;++ce){const de=R.FirstInstructionsStaffEntries[Y].Instructions[ce];if(de instanceof KeyInstruction){const me=KeyInstruction.copy(de),fe=K.getTransposedHalftones();fe!==0&&K.ParentStaff.ParentInstrument.MidiInstrumentId!==MidiInstrument.Percussion&&MusicSheetCalculator.transposeCalculator&&MusicSheetCalculator.transposeCalculator.transposeKey(me,fe),G.ActiveKeyInstruction=me}}const J=[];for(let ce=0,he=R.StaffLinkedExpressions[Y].length;ce<he;++ce){const de=R.StaffLinkedExpressions[Y][ce];if(de.OctaveShiftStart){J.push(de);const me=de.OctaveShiftStart;let fe=(ie=me==null?void 0:me.ParentEndMultiExpression)==null?void 0:ie.AbsoluteTimestamp;me!=null&&me.ParentEndMultiExpression||(fe=Fraction$1.plus(R.AbsoluteTimestamp,R.Duration)),W[Y]=new OctaveShiftParams(me,de==null?void 0:de.AbsoluteTimestamp,fe)}}for(let ce=0;ce<R.VerticalSourceStaffEntryContainers.length;ce++){const he=R.VerticalSourceStaffEntryContainers[ce].StaffEntries[Y];if(he){for(let ge=0,Se=he.Instructions.length;ge<Se;++ge){const Ee=he.Instructions[ge];Ee instanceof ClefInstruction&&(U[Y]=Ee)}const de=MusicSheetCalculator.symbolFactory.createStaffEntry(he,K);ce<K.staffEntries.length?K.addGraphicalStaffEntryAtTimestamp(de):K.addGraphicalStaffEntry(de);const me=[];he.Link&&(he.findLinkedNotes(me),this.handleStaffEntryLink(de,Q));let fe=OctaveEnum.NONE;if(W[Y]&&W[Y].getAbsoluteStartTimestamp.lte(he.AbsoluteTimestamp)&&he.AbsoluteTimestamp.lte(W[Y].getAbsoluteEndTimestamp)&&(fe=W[Y].getOpenOctaveShift.Type),fe===OctaveEnum.NONE){for(const ge of J)if(((se=(ne=ge.OctaveShiftStart)==null?void 0:ne.ParentStartMultiExpression)==null?void 0:se.AbsoluteTimestamp.lte(he.AbsoluteTimestamp))&&!((ae=(re=ge.OctaveShiftStart)==null?void 0:re.ParentEndMultiExpression)!=null&&ae.AbsoluteTimestamp.lt(he.AbsoluteTimestamp))){fe=ge.OctaveShiftStart.Type;break}}for(let ge=0,Se=he.VoiceEntries.length;ge<Se;++ge){const Ee=he.VoiceEntries[ge];fe=this.handleVoiceEntry(Ee,de,G,q,U[Y],F,D,fe,Y,me,he)}if(he.Instructions.length>0){const ge=he.Instructions[0];MusicSheetCalculator.symbolFactory.createInStaffClef(de,ge)}this.rules.RenderChordSymbols&&((le=he.ChordContainers)==null?void 0:le.length)>0&&(he.ParentStaff.ParentInstrument.HasChordSymbols=!0,MusicSheetCalculator.symbolFactory.createChordSymbols(he,de,G.ActiveKeyInstruction,this.graphicalMusicSheet.ParentMusicSheet.Transpose))}}if(G.doCalculationsAtEndOfMeasure(),R.LastInstructionsStaffEntries[Y]){const ce=R.LastInstructionsStaffEntries[Y];for(let he=0,de=ce.Instructions.length;he<de;++he){const me=ce.Instructions[he];me instanceof ClefInstruction&&(U[Y]=me)}}for(let ce=0,he=R.StaffLinkedExpressions[Y].length;ce<he;++ce){const de=R.StaffLinkedExpressions[Y][ce];de.OctaveShiftEnd!==void 0&&W[Y]!==void 0&&de.OctaveShiftEnd===W[Y].getOpenOctaveShift&&(W[Y]=void 0)}for(const ce of K.staffEntries)for(const he of ce.graphicalVoiceEntries)this.setBeamNotesWantedStemDirections(he.parentVoiceEntry);if(this.rules.FillEmptyMeasuresWithWholeRest>=1&&K.staffEntries.length===0){const ce=new SourceStaffEntry(new VerticalSourceStaffEntryContainer(K.parentSourceMeasure,K.parentSourceMeasure.AbsoluteTimestamp,K.parentSourceMeasure.CompleteNumberOfStaves),Z),he=new VoiceEntry(new Fraction$1(0,1),Z.Voices[0],ce),de=new Note$1(he,ce,Fraction$1.createFromFraction(R.Duration),void 0,R);de.PrintObject=this.rules.FillEmptyMeasuresWithWholeRest===FillEmptyMeasuresWithWholeRests.YesVisible,he.addNote(de);const me=MusicSheetCalculator.symbolFactory.createStaffEntry(ce,K);K.addGraphicalStaffEntry(me),me.relInMeasureTimestamp=he.Timestamp;const fe=MusicSheetCalculator.symbolFactory.createVoiceEntry(he,me);me.graphicalVoiceEntries.push(fe);const ge=MusicSheetCalculator.symbolFactory.createNote(de,fe,new ClefInstruction,OctaveEnum.NONE,void 0);MusicSheetCalculator.stafflineNoteCalculator.trackNote(ge),fe.notes.push(ge)}K.hasOnlyRests=!0;for(const ce of K.staffEntries)if(K.hasOnlyRests=ce.hasOnlyRests(),!K.hasOnlyRests)break;return K}checkNoteForAccidental(R,F,D,G){let U=R.sourceNote.Pitch;const W=R.parentVoiceEntry.parentStaffEntry.parentMeasure.getTransposedHalftones();W!==0&&R.sourceNote.ParentStaffEntry.ParentStaff.ParentInstrument.MidiInstrumentId!==MidiInstrument.Percussion&&(U=R.Transpose(F.ActiveKeyInstruction,D,W,G),R.sourceNote.TransposedPitch=U),R.sourceNote.halfTone=U.getHalfTone(),F.checkAccidental(R,U)}handleStaffEntries(R){for(let F=0,D=this.graphicalMusicSheet.MeasureList.length;F<D;++F){const G=this.graphicalMusicSheet.MeasureList[F];for(let U=0,W=G.length;U<W;++U){const q=G[U];if(!!q){this.rules.PercussionOneLineCutoff!==void 0&&this.rules.PercussionOneLineCutoff!==0&&R[U]&&(this.rules.PercussionOneLineCutoff===-1||MusicSheetCalculator.stafflineNoteCalculator.getStafflineUniquePositionCount(U)<this.rules.PercussionOneLineCutoff);for(const Y of q.staffEntries)Y.parentMeasure!==void 0&&Y.graphicalVoiceEntries.length>0&&Y.graphicalVoiceEntries[0].notes.length>0&&(this.layoutVoiceEntries(Y,U),this.layoutStaffEntry(Y));this.graphicalMeasureCreatedCalculations(q)}}}}calculateSkyBottomLines(){for(const R of this.musicSystems)for(const F of R.StaffLines)F.SkyBottomLineCalculator.calculateLines()}calculateExpressionAlignements(){}calculateStaffEntryArticulationMarks(){for(let R=0,F=this.musicSystems.length;R<F;++R){const D=this.musicSystems[R];for(let G=0,U=D.StaffLines.length;G<U;++G){const W=D.StaffLines[G];for(let q=0,Y=W.Measures.length;q<Y;++q){const Q=W.Measures[q];for(let Z=0,K=Q.staffEntries.length;Z<K;++Z){const J=Q.staffEntries[Z];for(let ie=0,ne=J.sourceStaffEntry.VoiceEntries.length;ie<ne;++ie){const se=J.sourceStaffEntry.VoiceEntries[ie];se.Articulations.length>0&&this.layoutArticulationMarks(se.Articulations,se,J)}}}}}}calculateOrnaments(){for(let R=0,F=this.musicSystems.length;R<F;++R){const D=this.musicSystems[R];for(let G=0,U=D.StaffLines.length;G<U;++G){const W=D.StaffLines[G];for(let q=0,Y=W.Measures.length;q<Y;++q){const Q=W.Measures[q];for(let Z=0,K=Q.staffEntries.length;Z<K;++Z){const J=Q.staffEntries[Z];for(let ie=0,ne=J.sourceStaffEntry.VoiceEntries.length;ie<ne;++ie){const se=J.sourceStaffEntry.VoiceEntries[ie];if(se.OrnamentContainer){if(se.hasTie()&&!J.relInMeasureTimestamp.Equals(se.Timestamp))continue;this.layoutOrnament(se.OrnamentContainer,se,J),this.staffEntriesWithOrnaments.indexOf(J)===-1&&this.staffEntriesWithOrnaments.push(J)}}}}}}}calculateFingerings(){if(!(this.rules.FingeringPosition===PlacementEnum.Left||this.rules.FingeringPosition===PlacementEnum.Right))for(const R of this.musicSystems)for(const F of R.StaffLines)for(const D of F.Measures){const G=D.isUpperStaffOfInstrument()?PlacementEnum.Above:PlacementEnum.Below;for(const U of D.staffEntries){U.FingeringEntries=[];const W=F.SkyBottomLineCalculator,q=U.PositionAndShape.RelativePosition.x+D.PositionAndShape.RelativePosition.x,Y=[];for(const Q of U.graphicalVoiceEntries)for(const Z of Q.notes){const K=Z.sourceNote;K.Fingering&&!K.IsGraceNote&&Y.push(K.Fingering)}G===PlacementEnum.Below&&Y.reverse();for(let Q=0;Q<Y.length;Q++){const Z=Y[Q],K=G===PlacementEnum.Above?TextAlignmentEnum.CenterBottom:TextAlignmentEnum.CenterTop,J=new Label(Z.value,K),ie=new GraphicalLabel(J,this.rules.FingeringTextSize,J.textAlignment,this.rules,F.PositionAndShape),ne=q+ie.PositionAndShape.BorderMarginLeft,se=q+ie.PositionAndShape.BorderMarginRight;let re;G===PlacementEnum.Above?re=W.getSkyLineMinInRange(ne,se):re=W.getBottomLineMaxInRange(ne,se);let ae=0;Q===0?(ae+=this.rules.FingeringOffsetY,G===PlacementEnum.Above&&(ae+=.1)):ae+=this.rules.FingeringPaddingY,G===PlacementEnum.Above&&(ae*=-1),ie.PositionAndShape.RelativePosition.y+=re+ae,ie.PositionAndShape.RelativePosition.x=q,ie.setLabelPositionAndShapeBorders(),ie.PositionAndShape.calculateBoundingBox(),U.FingeringEntries.push(ie);const le=ie.PositionAndShape.RelativePosition.x+ie.PositionAndShape.BorderLeft,ce=le-ie.PositionAndShape.BorderLeft+ie.PositionAndShape.BorderRight;G===PlacementEnum.Above?W.updateSkyLineInRange(le,ce,ie.PositionAndShape.RelativePosition.y+ie.PositionAndShape.BorderTop):G===PlacementEnum.Below&&W.updateBottomLineInRange(le,ce,ie.PositionAndShape.RelativePosition.y+ie.PositionAndShape.BorderBottom)}}}}optimizeRestPlacement(){for(let R=0,F=this.musicSystems.length;R<F;++R){const D=this.musicSystems[R];for(let G=0,U=D.StaffLines.length;G<U;++G){const W=D.StaffLines[G];for(let q=0,Y=W.Measures.length;q<Y;++q){const Q=W.Measures[q];for(let Z=0,K=Q.staffEntries.length;Z<K;++Z){const J=Q.staffEntries[Z];this.optimizeRestNotePlacement(J,Q)}}}}}calculateTwoRestNotesPlacementWithCollisionDetection(R){const F=R.graphicalVoiceEntries[0].notes[0],D=R.graphicalVoiceEntries[1].notes[0];D.PositionAndShape.RelativePosition=new PointF2D(0,2.5),R.PositionAndShape.calculateAbsolutePositionsRecursiveWithoutTopelement(),F.PositionAndShape.computeNonOverlappingPositionWithMargin(R.PositionAndShape,ColDirEnum.Up,new PointF2D(0,D.PositionAndShape.RelativePosition.y));const G=F.PositionAndShape.RelativePosition;G.y-=1,F.PositionAndShape.RelativePosition=G,R.PositionAndShape.calculateBoundingBox()}calculateRestNotePlacementWithCollisionDetectionFromGraphicalNote(R){let F,D;R.graphicalVoiceEntries[0].notes[0].sourceNote.isRest()?(F=R.graphicalVoiceEntries[0].notes[0],D=R.graphicalVoiceEntries[1].notes):(D=R.graphicalVoiceEntries[0].notes,F=R.graphicalVoiceEntries[1].notes[0]);let G=!1;R.PositionAndShape.calculateAbsolutePositionsRecursiveWithoutTopelement();for(let U=0,W=D.length;U<W;++U){const q=D[U];if(F.PositionAndShape.marginCollisionDetection(q.PositionAndShape)){G=!0;break}}if(G)if(F.sourceNote.ParentVoiceEntry.ParentVoice instanceof LinkedVoice){const U=D[0].PositionAndShape.BorderMarginBottom+D[0].PositionAndShape.RelativePosition.y;F.PositionAndShape.RelativePosition=new PointF2D(0,U-F.PositionAndShape.BorderMarginTop+.5)}else{const U=D[D.length-1],W=U.PositionAndShape.BorderMarginTop+U.PositionAndShape.RelativePosition.y;if(D[0].sourceNote.ParentVoiceEntry.ParentVoice instanceof LinkedVoice)F.PositionAndShape.RelativePosition=new PointF2D(0,W-F.PositionAndShape.BorderMarginBottom-.5);else{const q=D[0].PositionAndShape.BorderMarginBottom+D[0].PositionAndShape.RelativePosition.y;q<2?F.PositionAndShape.RelativePosition=new PointF2D(0,q-F.PositionAndShape.BorderMarginTop+.5):F.PositionAndShape.RelativePosition=new PointF2D(0,W-F.PositionAndShape.BorderMarginBottom-0)}}R.PositionAndShape.calculateBoundingBox()}calculateTieCurves(){for(const R of this.musicSystems)for(const F of R.StaffLines)for(const D of F.Measures)for(const G of D.staffEntries)for(const U of G.GraphicalTies)if(U.StartNote!==void 0&&U.StartNote.parentVoiceEntry.parentStaffEntry===G){const W=U.StartNote.parentVoiceEntry.parentStaffEntry.parentMeasure.ParentStaffLine!==U.EndNote.parentVoiceEntry.parentStaffEntry.parentMeasure.ParentStaffLine;this.layoutGraphicalTie(U,W,D.ParentStaff.isTab)}}calculateLyricsPosition(){const R=new Dictionary;for(let F=0,D=this.graphicalMusicSheet.ParentMusicSheet.Instruments.length;F<D;++F){const G=this.graphicalMusicSheet.ParentMusicSheet.Instruments[F];G.HasLyrics&&G.LyricVersesNumbers.length>0&&G.LyricVersesNumbers.sort()}for(let F=0,D=this.musicSystems.length;F<D;++F){const G=this.musicSystems[F];for(let U=0,W=G.StaffLines.length;U<W;++U){const q=G.StaffLines[U],Y=this.calculateSingleStaffLineLyricsPosition(q,q.ParentStaff.ParentInstrument.LyricVersesNumbers);R.setValue(q,Y),this.calculateLyricsExtendsAndDashes(R.getValue(q))}}for(let F=0,D=this.musicSystems.length;F<D;++F){const G=this.musicSystems[F];for(let U=0,W=G.StaffLines.length;U<W;++U){const q=G.StaffLines[U];this.calculateLyricsExtendsAndDashes(R.getValue(q))}}}calculateSingleLyricWord(R){const F=R.ParentLyricWord,D=F.GraphicalLyricsEntries.indexOf(R);let G;if(D>=0&&(G=F.GraphicalLyricsEntries[D+1]),!G)return;const U=R.StaffEntryParent.parentMeasure.ParentStaffLine,W=G.StaffEntryParent.parentMeasure.ParentStaffLine,q=R.StaffEntryParent,Y=G.StaffEntryParent;if(R.StaffEntryParent.parentMeasure.ParentStaffLine===G.StaffEntryParent.parentMeasure.ParentStaffLine){const Q=q.parentMeasure.PositionAndShape.RelativePosition.x+q.PositionAndShape.RelativePosition.x+R.GraphicalLabel.PositionAndShape.RelativePosition.x+R.GraphicalLabel.PositionAndShape.BorderMarginRight,Z=Y.parentMeasure.PositionAndShape.RelativePosition.x+Y.PositionAndShape.RelativePosition.x+R.GraphicalLabel.PositionAndShape.RelativePosition.x+G.GraphicalLabel.PositionAndShape.BorderMarginLeft,K=R.GraphicalLabel.PositionAndShape.RelativePosition.y;let J=1;Z-Q>this.rules.MinimumDistanceBetweenDashes*3&&(J=Math.floor((Z-Q)/this.rules.MinimumDistanceBetweenDashes)-1),J===1?this.calculateSingleDashForLyricWord(U,Q,Z,K):this.calculateDashes(U,Q,Z,K)}else{const Q=q.parentMeasure.PositionAndShape.RelativePosition.x+q.PositionAndShape.RelativePosition.x+R.GraphicalLabel.PositionAndShape.BorderMarginRight,Z=U.Measures[U.Measures.length-1],K=Z.PositionAndShape.RelativePosition.x+Z.PositionAndShape.Size.width;let J=R.GraphicalLabel.PositionAndShape.RelativePosition.y;if(this.calculateDashes(U,Q,K,J),W&&W.Measures[0]&&Y.parentMeasure.ParentStaffLine&&!(Y===Y.parentMeasure.staffEntries[0]&&Y.parentMeasure===Y.parentMeasure.ParentStaffLine.Measures[0])){const ie=W.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x,ne=Y.parentMeasure.PositionAndShape.RelativePosition.x+Y.PositionAndShape.RelativePosition.x+G.GraphicalLabel.PositionAndShape.BorderMarginLeft;J=G.GraphicalLabel.PositionAndShape.RelativePosition.y,this.calculateDashes(W,ie,ne,J)}}}calculateDashes(R,F,D,G){let U=D-F;if(U<this.rules.MinimumDistanceBetweenDashes*3)this.calculateSingleDashForLyricWord(R,F,D,G);else{const W=Math.floor(U/this.rules.MinimumDistanceBetweenDashes)-1,q=U/(W+1);let Y=0;for(F+=q,D-=q;Y<=Math.floor(W/2)&&D>F;)U=this.calculateRightAndLeftDashesForLyricWord(R,F,D,G),F+=q,D-=q,Y++;U>q*2&&this.calculateSingleDashForLyricWord(R,F,D,G)}}calculateSingleDashForLyricWord(R,F,D,G){const U=new Label("-"),W=new GraphicalLabel(U,this.rules.LyricsHeight,TextAlignmentEnum.CenterBottom,this.rules);W.setLabelPositionAndShapeBorders(),R.LyricsDashes.push(W),this.staffLinesWithLyricWords.indexOf(R)===-1&&this.staffLinesWithLyricWords.push(R),W.PositionAndShape.Parent=R.PositionAndShape;const q=new PointF2D(F+(D-F)/2,G);W.PositionAndShape.RelativePosition=q}calculateLyricExtend(R){let F=R.GraphicalLabel.PositionAndShape.RelativePosition.y;const D=R.StaffEntryParent,G=D.parentMeasure.ParentStaffLine;let U,W;const q=D.parentMeasure.ParentStaff.idInMusicSheet;for(let Y=D.parentVerticalContainer.Index+1;Y<this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length;++Y){const Q=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[Y].StaffEntries[q];if(!!Q){if(Q.hasOnlyRests()||Q.LyricsEntries.length>0)break;U=Q,W=U.parentMeasure.ParentStaffLine,W||(W=D.parentMeasure.ParentStaffLine)}}if(!(!U||!W))if(G===W&&U.parentMeasure.ParentStaffLine){const Y=D.parentMeasure.PositionAndShape.RelativePosition.x+D.PositionAndShape.RelativePosition.x+R.GraphicalLabel.PositionAndShape.BorderMarginRight,Q=U.parentMeasure.PositionAndShape.RelativePosition.x+U.PositionAndShape.RelativePosition.x+U.PositionAndShape.BorderMarginRight;F-=R.GraphicalLabel.PositionAndShape.Size.height/4,this.calculateSingleLyricWordWithUnderscore(G,Y,Q,F)}else{const Y=G.Measures[G.Measures.length-1].PositionAndShape,Q=D.parentMeasure.PositionAndShape.RelativePosition.x+D.PositionAndShape.RelativePosition.x+R.GraphicalLabel.PositionAndShape.BorderMarginRight,Z=Y.RelativePosition.x+Y.Size.width;if(F-=R.GraphicalLabel.PositionAndShape.Size.height/4,this.calculateSingleLyricWordWithUnderscore(G,Q,Z,F),!U)return;if(U.parentMeasure.ParentStaffLine&&U.parentMeasure.staffEntries&&!(U===U.parentMeasure.staffEntries[0]&&U.parentMeasure===U.parentMeasure.ParentStaffLine.Measures[0])){const K=W.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x,J=U.parentMeasure.PositionAndShape.RelativePosition.x+U.PositionAndShape.RelativePosition.x+U.PositionAndShape.BorderMarginRight;this.calculateSingleLyricWordWithUnderscore(W,K,J,F)}}}calculateSingleLyricWordWithUnderscore(R,F,D,G){const U=new PointF2D(F,G),W=new PointF2D(D,G),q=new GraphicalLine(U,W,this.rules.LyricUnderscoreLineWidth);R.LyricLines.push(q),this.staffLinesWithLyricWords.indexOf(R)===-1&&this.staffLinesWithLyricWords.push(R)}calculateRightAndLeftDashesForLyricWord(R,F,D,G){const U=new Label("-"),W=new GraphicalLabel(U,this.rules.LyricsHeight,TextAlignmentEnum.CenterBottom,this.rules);W.setLabelPositionAndShapeBorders(),R.LyricsDashes.push(W),this.staffLinesWithLyricWords.indexOf(R)===-1&&this.staffLinesWithLyricWords.push(R),W.PositionAndShape.Parent=R.PositionAndShape;const q=new PointF2D(F,G);W.PositionAndShape.RelativePosition=q;const Y=new Label("-"),Q=new GraphicalLabel(Y,this.rules.LyricsHeight,TextAlignmentEnum.CenterBottom,this.rules);Q.setLabelPositionAndShapeBorders(),R.LyricsDashes.push(Q),Q.PositionAndShape.Parent=R.PositionAndShape;const Z=new PointF2D(D,G);return Q.PositionAndShape.RelativePosition=Z,Q.PositionAndShape.RelativePosition.x-W.PositionAndShape.RelativePosition.x}calculateDynamicExpressions(){const R=Math.min(this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length-1,this.rules.MaxMeasureToDrawIndex),F=Math.min(this.rules.MinMeasureToDrawIndex,this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length);for(let D=F;D<=R;D++){const G=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[D];this.dynamicExpressionMap.clear();for(let U=0;U<G.StaffLinkedExpressions.length;U++)if(!(!this.graphicalMusicSheet.MeasureList[D]||!this.graphicalMusicSheet.MeasureList[D][U])&&this.graphicalMusicSheet.MeasureList[D][U].ParentStaff.ParentInstrument.Visible)for(let W=0;W<G.StaffLinkedExpressions[U].length;W++)(G.StaffLinkedExpressions[U][W].InstantaneousDynamic!==void 0||G.StaffLinkedExpressions[U][W].StartingContinuousDynamic!==void 0&&G.StaffLinkedExpressions[U][W].StartingContinuousDynamic.StartMultiExpression===G.StaffLinkedExpressions[U][W]&&G.StaffLinkedExpressions[U][W].UnknownList.length===0)&&this.calculateDynamicExpressionsForMultiExpression(G.StaffLinkedExpressions[U][W],D,U)}this.dynamicExpressionMap.clear()}calculateOctaveShifts(){for(let R=0;R<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;R++){const F=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[R];for(let D=0;D<F.StaffLinkedExpressions.length;D++)if(!(!this.graphicalMusicSheet.MeasureList[R]||!this.graphicalMusicSheet.MeasureList[R][D])&&this.graphicalMusicSheet.MeasureList[R][D].ParentStaff.ParentInstrument.Visible)for(let G=0;G<F.StaffLinkedExpressions[D].length;G++)F.StaffLinkedExpressions[D][G].OctaveShiftStart&&this.calculateSingleOctaveShift(F,F.StaffLinkedExpressions[D][G],R,D)}}calculatePedals(){for(let R=0;R<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;R++){const F=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[R];for(let D=0;D<F.StaffLinkedExpressions.length;D++)if(!(!this.graphicalMusicSheet.MeasureList[R]||!this.graphicalMusicSheet.MeasureList[R][D])&&this.graphicalMusicSheet.MeasureList[R][D].ParentStaff.ParentInstrument.Visible)for(let G=0;G<F.StaffLinkedExpressions[D].length;G++)F.StaffLinkedExpressions[D][G].PedalStart&&this.calculateSinglePedal(F,F.StaffLinkedExpressions[D][G],R,D)}}calculateWavyLines(){for(let R=0;R<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;R++){const F=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[R];for(let D=0;D<F.StaffLinkedExpressions.length;D++)if(!(!this.graphicalMusicSheet.MeasureList[R]||!this.graphicalMusicSheet.MeasureList[R][D])&&this.graphicalMusicSheet.MeasureList[R][D].ParentStaff.ParentInstrument.Visible)for(let G=0;G<F.StaffLinkedExpressions[D].length;G++)F.StaffLinkedExpressions[D][G].WavyLineStart&&this.calculateSingleWavyLine(F,F.StaffLinkedExpressions[D][G],R,D)}}getFirstLeftNotNullStaffEntryFromContainer(R,F,D){var G,U;if((G=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[R])!=null&&G.StaffEntries[F])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[R].StaffEntries[F];for(let W=R-1;W>=0;W--)if((U=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[W])!=null&&U.StaffEntries[F])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[W].StaffEntries[F]}getFirstRightNotNullStaffEntryFromContainer(R,F,D){var G,U;if((G=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[R])!=null&&G.StaffEntries[F])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[R].StaffEntries[F];for(let W=R+1;W<this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length;W++)if((U=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[W])!=null&&U.StaffEntries[F])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[W].StaffEntries[F]}calculateWordRepetitionInstructions(){for(let R=0;R<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;R++){const F=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[R];for(let D=0,G=F.FirstRepetitionInstructions.length;D<G;++D){const U=F.FirstRepetitionInstructions[D];this.calculateWordRepetitionInstruction(U,R)}for(let D=0,G=F.LastRepetitionInstructions.length;D<G;++D){const U=F.LastRepetitionInstructions[D];this.calculateWordRepetitionInstruction(U,R)}}}calculateRepetitionEndings(){const R=this.graphicalMusicSheet.ParentMusicSheet;for(let F=0,D=R.Repetitions.length;F<D;++F){const G=R.Repetitions[F];this.calcGraphicalRepetitionEndingsRecursively(G)}}calculateTempoExpressions(){const R=Math.min(this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length-1,this.rules.MaxMeasureToDrawIndex),F=this.rules.MinMeasureToDrawIndex;for(let D=F;D<=R;D++){const G=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[D];for(let U=0;U<G.TempoExpressions.length;U++)this.calculateTempoExpressionsForMultiTempoExpression(G,G.TempoExpressions[U],D,U)}}calculateRehearsalMarks(){if(!!this.rules.RenderRehearsalMarks)for(const R of this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures)this.calculateRehearsalMark(R)}calculateRehearsalMark(R){throw new Error(this.abstractNotImplementedErrorMessage)}calculateMoodAndUnknownExpressions(){for(let R=0;R<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;R++){const F=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[R];for(let D=0;D<F.StaffLinkedExpressions.length;D++)if(!(!this.graphicalMusicSheet.MeasureList[R]||!this.graphicalMusicSheet.MeasureList[R][D])&&this.graphicalMusicSheet.MeasureList[R][D].ParentStaff.ParentInstrument.Visible)for(let G=0;G<F.StaffLinkedExpressions[D].length;G++)(F.StaffLinkedExpressions[D][G].MoodList.length>0||F.StaffLinkedExpressions[D][G].UnknownList.length>0)&&this.calculateMoodAndUnknownExpression(F.StaffLinkedExpressions[D][G],R,D)}}calculateStemDirectionFromVoices(R){if(R.ParentSourceStaffEntry.Link!==void 0)if(R===R.ParentSourceStaffEntry.VoiceEntries[0]){R.WantedStemDirection=StemDirectionType.Up;return}else{R.WantedStemDirection=StemDirectionType.Down;return}else R.ParentVoice instanceof LinkedVoice?R.WantedStemDirection=StemDirectionType.Down:R.ParentSourceStaffEntry.VoiceEntries.length>1&&(R.WantedStemDirection=StemDirectionType.Up)}setBeamNotesWantedStemDirections(R){if(!(R.Notes.length>0))return;const F=R.Notes[0].NoteBeam;if(F){for(const D of F.Notes)if(D.ParentVoiceEntry.WantedStemDirection!==StemDirectionType.Undefined&&D.ParentVoiceEntry.ParentSourceStaffEntry.ParentStaff.Id===R.ParentSourceStaffEntry.ParentStaff.Id){R.WantedStemDirection=D.ParentVoiceEntry.WantedStemDirection;break}}}}class ChordSymbolContainer{constructor(R,F,D,G,U){this.rootPitch=R,this.chordKind=F,this.bassPitch=D,this.degrees=G,this.rules=U}get RootPitch(){return this.rootPitch}get ChordKind(){return this.chordKind}get BassPitch(){return this.bassPitch}get ChordDegrees(){return this.degrees}static calculateChordText(R,F,D){let G=R.RootPitch;if(MusicSheetCalculator.transposeCalculator&&(G=MusicSheetCalculator.transposeCalculator.transposePitch(R.RootPitch,D,F)),R.ChordKind===ChordSymbolEnum.none)return R.getTextFromChordKindEnum(R.ChordKind);let U=Pitch.getNoteEnumString(G.FundamentalNote);G.Accidental!==AccidentalEnum.NONE&&(U+=this.getTextForAccidental(G.Accidental));const W={adds:[],alts:[],subs:[]};for(const Z of R.ChordDegrees)if(Z){let K="";switch(Z.alteration!==AccidentalEnum.NONE&&(K+=this.getTextForAccidental(Z.alteration)),K+=Z.value,Z.text){case ChordDegreeText.add:W.adds.push(K);break;case ChordDegreeText.alter:W.alts.push(K);break;case ChordDegreeText.subtract:W.subs.push(K);break}}let q=R.getTextFromChordKindEnum(R.ChordKind);const Y=["adds","alts","subs"],Q=R.rules.CustomChords;for(const Z of Q){if(Z.chordKind!==R.chordKind)continue;let K=!0;for(const J of Y){for(const ie of Z.degrees[J]||[])if(W[J].indexOf(ie)<0){K=!1;break}if(!K)break}if(K){for(const J of Y)for(const ie of Z.degrees[J]||[])W[J].splice(W[J].indexOf(ie),1);q=Z.alternateName}}if(U+=q,W.adds.length>0&&(U+="("+W.adds.join(",")+")"),W.alts.length>0&&(U+="(alt "+W.alts.join(",")+")"),W.subs.length>0&&(U+="(omit "+W.subs.join(",")+")"),R.BassPitch){let Z=R.BassPitch;MusicSheetCalculator.transposeCalculator&&(Z=MusicSheetCalculator.transposeCalculator.transposePitch(R.BassPitch,D,F)),U+="/",U+=Pitch.getNoteEnumString(Z.FundamentalNote),U+=this.getTextForAccidental(Z.Accidental)}return U}static getTextForAccidental(R){let F="";switch(R){case AccidentalEnum.DOUBLEFLAT:F+="bb";break;case AccidentalEnum.FLAT:F+="b";break;case AccidentalEnum.SHARP:F+="#";break;case AccidentalEnum.DOUBLESHARP:F+="x";break}return F}getTextFromChordKindEnum(R){var F;return(F=this.rules.ChordSymbolLabelTexts.getValue(R))!=null?F:""}}class Degree{constructor(R,F,D){this.value=R,this.alteration=F,this.text=D}}class CustomChord{constructor(R,F,D){this.alternateName=R,this.chordKind=F,this.degrees=D}static createCustomChord(R,F,D){return new CustomChord(R,F,D)}static renameCustomChord(R,F,D){for(const G of D)G.alternateName===R&&(G.alternateName=F)}}var ChordDegreeText=(B=>(B[B.add=0]="add",B[B.alter=1]="alter",B[B.subtract=2]="subtract",B))(ChordDegreeText||{}),ChordSymbolEnum=(B=>(B[B.major=0]="major",B[B.minor=1]="minor",B[B.augmented=2]="augmented",B[B.diminished=3]="diminished",B[B.dominant=4]="dominant",B[B.majorseventh=5]="majorseventh",B[B.minorseventh=6]="minorseventh",B[B.diminishedseventh=7]="diminishedseventh",B[B.augmentedseventh=8]="augmentedseventh",B[B.halfdiminished=9]="halfdiminished",B[B.majorminor=10]="majorminor",B[B.majorsixth=11]="majorsixth",B[B.minorsixth=12]="minorsixth",B[B.dominantninth=13]="dominantninth",B[B.majorninth=14]="majorninth",B[B.minorninth=15]="minorninth",B[B.dominant11th=16]="dominant11th",B[B.major11th=17]="major11th",B[B.minor11th=18]="minor11th",B[B.dominant13th=19]="dominant13th",B[B.major13th=20]="major13th",B[B.minor13th=21]="minor13th",B[B.suspendedsecond=22]="suspendedsecond",B[B.suspendedfourth=23]="suspendedfourth",B[B.Neapolitan=24]="Neapolitan",B[B.Italian=25]="Italian",B[B.French=26]="French",B[B.German=27]="German",B[B.pedal=28]="pedal",B[B.power=29]="power",B[B.Tristan=30]="Tristan",B[B.none=31]="none",B))(ChordSymbolEnum||{});class GraphicalNote extends GraphicalObject{constructor(R,F,D,G=void 0){super(),this.DrawnAccidental=AccidentalEnum.NONE,this.lineShift=0,this.sourceNote=R,this.parentVoiceEntry=F,this.PositionAndShape=new BoundingBox$1(this,F.PositionAndShape),G?this.graphicalNoteLength=G:this.graphicalNoteLength=R.Length,this.numberOfDots=this.calculateNumberOfNeededDots(this.graphicalNoteLength),this.rules=D,this.rules.addGraphicalNoteToNoteMap(R,this)}Transpose(R,F,D,G){let U=this.sourceNote.Pitch;return MusicSheetCalculator.transposeCalculator&&(U=MusicSheetCalculator.transposeCalculator.transposePitch(this.sourceNote.Pitch,R,D)),U}calculateNumberOfNeededDots(R){return!this.sourceNote||!this.sourceNote.NoteTuplet?R.calculateNumberOfNeededDots():0}get ParentMusicPage(){return this.parentVoiceEntry.parentStaffEntry.parentMeasure.ParentMusicSystem.Parent}static FromNote(R,F){return F.NoteToGraphicalNoteMap.getValue(R.NoteToGraphicalNoteObjectId)}}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.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.PlayAlreadyStartedNotesFromCursorPosition=!1,this.PlaybackSkipNotesSafetyInterval=.02,this.UseDefaultVoiceInteractionListener=!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.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.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.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.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.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.ChordSymbolXSpacing=1,this.ChordOverlapAllowedIntoNextMeasure=0,this.ChordSymbolYOffset=.1,this.ChordSymbolYPadding=0,this.ChordSymbolYAlignment=!0,this.ChordSymbolYAlignmentScope="staffline",this.ChordSymbolLabelTexts=new Dictionary,this.resetChordSymbolLabelTexts(this.ChordSymbolLabelTexts),this.CustomChords=[],this.resetChordNames(),this.RepetitionSymbolsYOffset=0,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.TupletNumberLabelHeight=1.5*_EngravingRules.unit,this.TupletNumberYOffset=.5,this.LabelMarginBorderFactor=.1,this.TupletVerticalLineLength=.5,this.TupletNumbersInTabs=!1,this.SlurPlacementFromXML=!0,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.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.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.VerticalBetweenLyricsDistance=.5,this.HorizontalBetweenLyricsDistance=.2,this.BetweenSyllableMaximumDistance=10,this.BetweenSyllableMinimumDistance=.5,this.LyricOverlapAllowedIntoNextMeasure=3.4,this.MinimumDistanceBetweenDashes=10,this.MaximumLyricsElongationFactor=2.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.VexFlowDefaultNotationFontScale=39,this.VexFlowDefaultTabFontScale=39,this.TremoloStrokeScale=1,this.TremoloYSpacingScale=1,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.GraceLineWidth=this.StaffLineWidth*this.GraceNoteScalingFactor,this.MultipleRestMeasureDefaultWidth=4,this.MinimumCrossedBeamDifferenceMargin=1e-4,this.SheetMaximumWidth=32767,this.VoiceSpacingMultiplierVexflow=.85,this.VoiceSpacingAddendVexflow=3,this.PickupMeasureWidthMultiplier=1,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=-.5,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.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.RenderPartNames=!0,this.RenderPartAbbreviations=!0,this.RenderFingerings=!0,this.RenderMeasureNumbers=!0,this.RenderMeasureNumbersOnlyAtSystemStart=!1,this.UseXMLMeasureNumbers=!0,this.RenderLyrics=!0,this.RenderChordSymbols=!0,this.RenderMultipleRestMeasures=!0,this.AutoGenerateMutipleRestMeasuresFromRestMeasures=!0,this.RenderRehearsalMarks=!0,this.RenderClefsAtBeginningOfStaffline=!0,this.RenderKeySignatures=!0,this.RenderTimeSignatures=!0,this.ArticulationPlacementFromXML=!0,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.RestoreCursorAfterRerender=!0,this.StretchLastSystemLine=!1,_EngravingRules.FixStafflineBoundingBox=!1,this.PageFormat=PageFormat.UndefinedPageFormat,this.PageBackgroundColor=void 0,this.PerformanceMode=!1,this.RenderSingleHorizontalStaffline=!1,this.SpacingBetweenTextLines=0,this.NoteToGraphicalNoteMap=new Dictionary,this.NoteToGraphicalNoteMapObjectCount=0;try{this.MaxInstructionsConstValue=this.ClefLeftMargin+this.ClefRightMargin+this.KeyRightMargin+this.RhythmRightMargin+11}catch(B){log$2.info("EngravingRules()",B)}this.MpatMode&&(this.NewPartAndSystemAfterFinalBarline=!0)}applyDefaultColorMusic(B){this.DefaultColorMusic=B,this.DefaultColorNotehead=this.DefaultColorMusic,this.DefaultColorRest=this.DefaultColorNotehead,this.DefaultColorStem=this.DefaultColorNotehead,this.DefaultColorLabel=this.DefaultColorNotehead,this.DefaultColorTitle=this.DefaultColorNotehead,this.LedgerLineColorDefault=this.DefaultColorNotehead}addGraphicalNoteToNoteMap(B,R){B.NoteToGraphicalNoteObjectId=this.NoteToGraphicalNoteMapObjectCount,this.NoteToGraphicalNoteMap.setValue(B.NoteToGraphicalNoteObjectId,R),this.NoteToGraphicalNoteMapObjectCount++}GNote(B){return GraphicalNote.FromNote(B,this)}clearMusicSheetObjects(){this.NoteToGraphicalNoteMap=new Dictionary,this.NoteToGraphicalNoteMapObjectCount=0}setChordSymbolLabelText(B,R){this.ChordSymbolLabelTexts.setValue(B,R)}resetChordSymbolLabelTexts(B){return B.setValue(ChordSymbolEnum.minor,"m"),B.setValue(ChordSymbolEnum.augmented,"aug"),B.setValue(ChordSymbolEnum.diminished,"dim"),B.setValue(ChordSymbolEnum.dominant,"7"),B.setValue(ChordSymbolEnum.majorseventh,"maj7"),B.setValue(ChordSymbolEnum.minorseventh,"m7"),B.setValue(ChordSymbolEnum.diminishedseventh,"dim7"),B.setValue(ChordSymbolEnum.augmentedseventh,"aug7"),B.setValue(ChordSymbolEnum.halfdiminished,"m7b5"),B.setValue(ChordSymbolEnum.majorminor,"m(maj7)"),B.setValue(ChordSymbolEnum.majorsixth,"maj6"),B.setValue(ChordSymbolEnum.minorsixth,"m6"),B.setValue(ChordSymbolEnum.dominantninth,"9"),B.setValue(ChordSymbolEnum.majorninth,"maj9"),B.setValue(ChordSymbolEnum.minorninth,"m9"),B.setValue(ChordSymbolEnum.dominant11th,"11"),B.setValue(ChordSymbolEnum.major11th,"maj11"),B.setValue(ChordSymbolEnum.minor11th,"m11"),B.setValue(ChordSymbolEnum.dominant13th,"13"),B.setValue(ChordSymbolEnum.major13th,"maj13"),B.setValue(ChordSymbolEnum.minor13th,"m13"),B.setValue(ChordSymbolEnum.suspendedsecond,"sus2"),B.setValue(ChordSymbolEnum.suspendedfourth,"sus4"),B.setValue(ChordSymbolEnum.power,"5"),B.setValue(ChordSymbolEnum.none,"N.C."),B}addChordName(B,R,F,D,G){if(ChordSymbolEnum[R]!==void 0){const U={adds:F,alts:D,subs:G};this.CustomChords.push(CustomChord.createCustomChord(B,ChordSymbolEnum[R],U))}}renameChord(B,R){CustomChord.renameCustomChord(B,R,this.CustomChords)}resetChordNames(){this.addChordName("alt","major",["#5","b9","#9"],["b5"],[]),this.addChordName("7alt","dominant",["#5","b9","#9"],["b5"],[]),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("m7b5","minorseventh",[],["b5"],[]),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 B=0;B<this.BezierCurveStepSize;B++){const R=B/this.BezierCurveStepSize;this.TPower3[B]=Math.pow(R,3),this.OneMinusTPower3[B]=Math.pow(1-R,3),this.FactorOne[B]=3*Math.pow(1-R,2)*R,this.FactorTwo[B]=3*(1-R)*Math.pow(R,2)}}};let EngravingRules=_EngravingRules;EngravingRules.unit=1;class PageFormat{constructor(R,F,D="noIdStringGiven"){this.width=R,this.height=F,this.idString=D}get aspectRatio(){return this.IsUndefined?0:this.width/this.height}get IsUndefined(){return this.width===void 0||this.height===void 0||this.height===0||this.width===0}static get UndefinedPageFormat(){return new PageFormat(0,0)}Equals(R){return R?R.width===this.width&&R.height===this.height:!1}}var ColoringModes=(B=>(B[B.XML=0]="XML",B[B.AutoColoring=1]="AutoColoring",B[B.CustomColorSet=2]="CustomColorSet",B))(ColoringModes||{}),DrawingParametersEnum=(B=>(B.allon="allon",B.compact="compact",B.compacttight="compacttight",B.default="default",B.leadsheet="leadsheet",B.preview="preview",B.thumbnail="thumbnail",B))(DrawingParametersEnum||{});class DrawingParameters{constructor(R="default"){this.rules=new EngravingRules,this.drawCursors=!0,this.drawTitle=!0,this.drawSubtitle=!0,this.drawLyricist=!0,this.drawComposer=!0,this.drawCredits=!0,this.drawPartNames=!0,this.fingeringPosition=PlacementEnum.Left,this.drawHiddenNotes=!1,this.DrawingParametersEnum=R}set DrawingParametersEnum(R){switch(this.drawingParametersEnum=R,R){case"allon":this.setForAllOn();break;case"thumbnail":this.setForThumbnail();break;case"leadsheet":this.setForLeadsheet();break;case"compact":this.setForCompactMode();break;case"compacttight":this.setForCompactTightMode();break;case"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(R){this.drawCredits=R,this.DrawComposer=R,this.DrawTitle=R,this.DrawSubtitle=R,this.DrawLyricist=R}get DrawTitle(){return this.drawTitle}set DrawTitle(R){this.drawTitle=R,this.rules.RenderTitle=R,R||(this.DrawSubtitle=!1)}get DrawSubtitle(){return this.drawSubtitle}set DrawSubtitle(R){this.drawSubtitle=R,this.rules.RenderSubtitle=R,R&&(this.DrawTitle=!0)}get DrawComposer(){return this.drawComposer}set DrawComposer(R){this.drawComposer=R,this.rules.RenderComposer=R}get DrawLyricist(){return this.drawLyricist}set DrawLyricist(R){this.drawLyricist=R,this.rules.RenderLyricist=R}get DrawPartNames(){return this.drawPartNames}set DrawPartNames(R){this.drawPartNames=R,this.rules.RenderPartNames=R,this.rules.RenderPartNames||(this.rules.RenderPartAbbreviations=!1)}get FingeringPosition(){return this.fingeringPosition}set FingeringPosition(R){this.fingeringPosition=R,this.rules.FingeringPosition=R}get Rules(){return this.rules}set Rules(R){this.rules=R}}var AlignRestOption=(B=>(B[B.Never=0]="Never",B[B.Always=1]="Always",B[B.Auto=2]="Auto",B))(AlignRestOption||{}),FillEmptyMeasuresWithWholeRests=(B=>(B[B.No=0]="No",B[B.YesVisible=1]="YesVisible",B[B.YesInvisible=2]="YesInvisible",B))(FillEmptyMeasuresWithWholeRests||{}),BackendType=(B=>(B[B.SVG=0]="SVG",B[B.Canvas=1]="Canvas",B))(BackendType||{});class OSMDOptions{static OSMDOptionsStandard(){return{autoResize:!0,backend:"svg",drawingParameters:DrawingParametersEnum.default}}static BackendTypeFromString(R){return R&&R.toLowerCase()==="canvas"?1:0}}class IXmlElement{constructor(R){if(this.hasAttributes=!1,!R)throw new Error("IXmlElement: expected Element, got undefined");this.elem=R,this.name=R.nodeName.toLowerCase(),R.hasAttributes()&&(this.hasAttributes=!0,this.firstAttribute=R.attributes[0]),this.hasElements=R.hasChildNodes(),R.childNodes.length===1&&R.childNodes[0].nodeType===Node.TEXT_NODE?this.value=R.childNodes[0].nodeValue:this.value=""}attribute(R){return this.elem.attributes.getNamedItem(R)}attributes(){if(!this.attrs){const R=this.elem.attributes,F=[];for(let D=0;D<R.length;D+=1)F.push(R[D]);this.attrs=F}return this.attrs}element(R){const F=this.elem.childNodes;for(let D=0,G=F.length;D<G;D+=1){const U=F[D];if(U.nodeType===Node.ELEMENT_NODE&&U.nodeName.toLowerCase()===R)return new IXmlElement(U)}}elements(R){const F=this.elem.childNodes,D=[],G=!R;G||(R=R.toLowerCase());for(let U=0;U<F.length;U+=1){const W=F[U];W.nodeType===Node.ELEMENT_NODE&&(G||W.nodeName.toLowerCase()===R)&&D.push(new IXmlElement(W))}return D}}class InstrumentalGroup{constructor(R,F,D){this.instrumentalGroups=[],this.name=R,this.musicSheet=F,this.parent=D}get InstrumentalGroups(){return this.instrumentalGroups}get Parent(){return this.parent}get Name(){return this.name}set Name(R){this.name=R}get GetMusicSheet(){return this.musicSheet}}class Instrument extends InstrumentalGroup{constructor(R,F,D,G){super(void 0,D,G),this.Transpose=0,this.voices=[],this.staves=[],this.hasLyrics=!1,this.hasChordSymbols=!1,this.playbackTranspose=0,this.lyricVersesNumbers=[],this.subInstruments=[],this.id=R,this.idString=F,this.nameLabel=new Label(F)}get Voices(){return this.voices}get Staves(){return this.staves}get NameLabel(){return this.nameLabel}get HasLyrics(){return this.hasLyrics}set HasLyrics(R){this.hasLyrics=R}get HasChordSymbols(){return this.hasChordSymbols}set HasChordSymbols(R){this.hasChordSymbols=R}get LyricVersesNumbers(){return this.lyricVersesNumbers}set LyricVersesNumbers(R){this.lyricVersesNumbers=R}get Name(){return this.nameLabel.text}set Name(R){this.nameLabel.text=R}get IdString(){return this.idString}get Id(){return this.id}get MidiInstrumentId(){return this.subInstruments[0].midiInstrumentID}set MidiInstrumentId(R){this.subInstruments[0].midiInstrumentID=R}get Volume(){return this.subInstruments[0].volume}set Volume(R){for(let F=0,D=this.subInstruments.length;F<D;++F){const G=this.subInstruments[F];G.volume=R}}get PlaybackTranspose(){return this.playbackTranspose}set PlaybackTranspose(R){this.playbackTranspose=R}get SubInstruments(){return this.subInstruments}getSubInstrument(R){for(let F=0,D=this.subInstruments.length;F<D;++F){const G=this.subInstruments[F];if(G.idString===R)return G}}get PartAbbreviation(){return this.partAbbreviation}set PartAbbreviation(R){this.partAbbreviation=R}get Visible(){return this.voices.length>0?this.Voices[0].Visible:!1}set Visible(R){for(let F=0,D=this.Voices.length;F<D;++F){const G=this.Voices[F];G.Visible=R}}get Audible(){let R=!1;for(let F=0,D=this.Voices.length;F<D;++F){const G=this.Voices[F];R=R||G.Audible}return R}set Audible(R){for(let F=0,D=this.Voices.length;F<D;++F){const G=this.Voices[F];G.Audible=R}for(let F=0,D=this.staves.length;F<D;++F){const G=this.staves[F];G.audible=R}}get Solo(){let R=!1;for(let F=0,D=this.Voices.length;F<D;++F){const G=this.Voices[F];R=R||G.Solo}return R}set Solo(R){for(let F=0,D=this.Voices.length;F<D;++F){const G=this.Voices[F];G.Solo=R}for(let F=0,D=this.Staves.length;F<D;++F){const G=this.Staves[F];G.Solo=R}}get Following(){let R=!1;for(let F=0,D=this.Voices.length;F<D;++F){const G=this.Voices[F];R=R||G.Following}return R}set Following(R){for(let F=0,D=this.Voices.length;F<D;++F){const G=this.Voices[F];G.Following=R}for(let F=0,D=this.staves.length;F<D;++F){const G=this.staves[F];G.following=R}}SetVoiceAudible(R,F){for(let D=0,G=this.Voices.length;D<G;++D){const U=this.Voices[D];if(U.VoiceId===R){U.Audible=F;break}}}SetVoiceFollowing(R,F){for(let D=0,G=this.Voices.length;D<G;++D){const U=this.Voices[D];if(U.VoiceId===R){U.Following=F;break}}}SetStaffAudible(R,F){const D=this.staves[R-1];if(D.audible=F,F)for(let G=0,U=D.Voices.length;G<U;++G){const W=D.Voices[G];W.Audible=!0}else for(let G=0,U=D.Voices.length;G<U;++G){const W=D.Voices[G];let q=!1;for(let Y=0,Q=this.Staves.length;Y<Q;++Y){const Z=this.Staves[Y];if(!(Z.Id===R||!Z.audible))for(let K=0,J=Z.Voices.length;K<J;++K)Z.Voices[K]===W&&(q=!0)}q||(W.Audible=!1)}}SetStaffFollow(R,F){const D=this.staves[R-1];if(D.following=F,F)for(let G=0,U=D.Voices.length;G<U;++G){const W=D.Voices[G];W.Following=!0}else for(let G=0,U=D.Voices.length;G<U;++G){const W=D.Voices[G];let q=!1;for(let Y=0,Q=this.Staves.length;Y<Q;++Y){const Z=this.Staves[Y];if(!(Z.Id===R||!Z.following))for(let K=0,J=Z.Voices.length;K<J;++K)Z.Voices[K]===W&&(q=!0)}q||(W.Following=!1)}}areAllVoiceVisible(){for(const R of this.Voices)if(!R.Visible)return!1;return!0}createStaves(R){for(let F=0;F<R;F++)this.staves.push(new Staff(this,F+1))}toString(){return`${this.Name} , id: ${this.id}, idstring: ${this.idString}`}}class MusicSystem extends GraphicalObject{constructor(R){super(),this.needsToBeRedrawn=!0,this.staffLines=[],this.graphicalMeasures=[],this.labels=new _default,this.measureNumberLabels=[],this.objectsToRedraw=[],this.instrumentBrackets=[],this.groupBrackets=[],this.graphicalMarkedAreas=[],this.systemLines=[],this.breaksPage=!1,this.id=R,this.boundingBox=new BoundingBox$1(this),this.maxLabelLength=0}get Parent(){return this.parent}set Parent(R){if(this.parent){const F=this.parent.MusicSystems.indexOf(this,0);F>-1&&this.parent.MusicSystems.splice(F,1)}this.parent=R,this.boundingBox.Parent=R.PositionAndShape}get NextSystem(){const R=this.Parent.MusicSystems.indexOf(this);return R!==this.Parent.MusicSystems.length?this.Parent.MusicSystems[R+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(R,F,D){let G=-R/2;D&&(G=this.maxLabelLength+F-R/2);const U=this.staffLines[0].Measures[0];let W;this.staffLines.length>1&&(W=this.staffLines[this.staffLines.length-1].Measures[0]);const q=this.createSystemLine(G,R,SystemLinesEnum.SingleThin,SystemLinePosition.MeasureBegin,this,U,W);this.SystemLines.push(q),q.PositionAndShape.RelativePosition=new PointF2D(G,0),q.PositionAndShape.BorderLeft=0,q.PositionAndShape.BorderRight=R,q.PositionAndShape.BorderTop=0,q.PositionAndShape.BorderBottom=this.boundingBox.Size.height,this.createLinesForSystemLine(q)}createVerticalLineForMeasure(R,F,D,G,U,W){const q=W.ParentStaffLine,Y=new PointF2D(q.PositionAndShape.RelativePosition.x,q.PositionAndShape.RelativePosition.y),Q=q.ParentStaff.ParentInstrument.Staves;if(q.ParentStaff===Q[0]){let Z;Q.length>1&&(Z=this.getBottomStaffLine(q).Measures[U]);const K=this.createSystemLine(R,F,D,G,this,W,Z),J=Y.x+R;K.PositionAndShape.RelativePosition=new PointF2D(J,0),K.PositionAndShape.BorderLeft=0,K.PositionAndShape.BorderRight=F,this.SystemLines.push(K)}}setYPositionsToVerticalLineObjectsAndCreateLines(R){}calculateBorders(R){}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(R){for(let F=0,D=R.length;F<D;++F){const G=R[F];G.ParentMusicSystem=this}this.graphicalMeasures.push(R)}GetSystemsFirstTimeStamp(){return this.graphicalMeasures[0][0].parentSourceMeasure.AbsoluteTimestamp}GetSystemsLastTimeStamp(){const R=this.graphicalMeasures[this.graphicalMeasures.length-1][0].parentSourceMeasure;return Fraction$1.plus(R.AbsoluteTimestamp,R.Duration)}createInstrumentBrackets(R,F){for(let D=0,G=R.length;D<G;++D){const U=R[D];if(U.Staves.length>1){let W,q;for(let Y=0,Q=this.staffLines.length;Y<Q;++Y){const Z=this.staffLines[Y];Z.ParentStaff===U.Staves[0]&&(W=Z),Z.ParentStaff===U.Staves[U.Staves.length-1]&&(q=Z)}W&&q&&this.createInstrumentBracket(W,q)}}}createGroupBrackets(R,F,D){for(let G=0,U=R.length;G<U;++G){const W=R[G];if(W.InstrumentalGroups.length<1)continue;const q=this.findFirstVisibleInstrumentInInstrumentalGroup(W),Y=this.findLastVisibleInstrumentInInstrumentalGroup(W);if(!q||!Y)continue;let Q,Z;for(let K=0,J=this.staffLines.length;K<J;++K){const ie=this.staffLines[K];ie.ParentStaff===q.Staves[0]&&(Q=ie),ie.ParentStaff===Y.Staves[0]&&(Z=ie)}Q&&Z&&this.createGroupBracket(Q,Z,D),!(W.InstrumentalGroups.length<1)&&this.createGroupBrackets(W.InstrumentalGroups,F,D+1)}}createMusicSystemLabel(R,F,D,G=!1){var q;const U=F;for(let Y=0,Q=this.staffLines.length;Y<Q;++Y){const Z=this.staffLines[Y].ParentStaff.ParentInstrument;let K;if(G)K=Z.NameLabel,(!this.rules.RenderPartNames||!(K!=null&&K.print))&&(K=new Label("",Z.NameLabel.textAlignment,Z.NameLabel.font),F=0);else{if(!this.rules.RenderPartAbbreviations||!this.rules.RenderPartNames||this.staffLines.length===1||!Z.PartAbbreviation||Z.PartAbbreviation==="")return;const J=Z.PartAbbreviation;K=new Label(J,Z.NameLabel.textAlignment,Z.NameLabel.font)}if((q=Z==null?void 0:Z.NameLabel)!=null&&q.print){const J=new GraphicalLabel(K,R,TextAlignmentEnum.LeftCenter,this.rules,this.boundingBox);J.setLabelPositionAndShapeBorders(),this.labels.setValue(Z,J)}else F=0}this.maxLabelLength=0;const W=this.labels.values();for(let Y=0,Q=W.length;Y<Q;++Y){const Z=W[Y];!Z.Label.print||Z.PositionAndShape.Size.width>this.maxLabelLength&&(this.maxLabelLength=Z.PositionAndShape.Size.width,F=U)}this.updateMusicSystemStaffLineXPosition(F)}setMusicSystemLabelsYPosition(){this.labels.forEach((R,F)=>{let D=0,G=0;for(let U=0;U<this.staffLines.length;U++)if(this.staffLines[U].ParentStaff.ParentInstrument===R){for(let W=U;W<this.staffLines.length;W++){const q=this.staffLines[W];if(q.ParentStaff.ParentInstrument!==R)break;D+=q.PositionAndShape.RelativePosition.y,G++}break}G>0&&(F.PositionAndShape.RelativePosition=new PointF2D(0,D/G+2))})}checkStaffEntriesForStaffEntryLink(){let R=!1,F=!1;for(let D=0;D<this.staffLines.length-1;D++){for(let G=0,U=this.staffLines[D].Measures.length;G<U;++G){const W=this.staffLines[D].Measures[G];for(let q=0,Y=W.staffEntries.length;q<Y;++q)W.staffEntries[q].sourceStaffEntry.Link&&(R=!0)}for(let G=0,U=this.staffLines[D+1].Measures.length;G<U;++G){const W=this.staffLines[D+1].Measures[G];for(let q=0,Y=W.staffEntries.length;q<Y;++q)W.staffEntries[q].sourceStaffEntry.Link&&(F=!0)}}return!!(R&&F)}getBottomStaffLine(R){const F=R.ParentStaff.ParentInstrument.Staves,D=F[F.length-1];for(const G of R.ParentMusicSystem.staffLines)if(G.ParentStaff===D)return G}createSystemLine(R,F,D,G,U,W,q=void 0){throw new Error("not implemented")}createLinesForSystemLine(R){}calcBracketsWidth(){let R=0;for(let F=0,D=this.GroupBrackets.length;F<D;++F){const G=this.GroupBrackets[F];R=Math.max(R,G.PositionAndShape.Size.width)}for(let F=0,D=this.InstrumentBrackets.length;F<D;++F){const G=this.InstrumentBrackets[F];R=Math.max(R,G.PositionAndShape.Size.width)}return R}createInstrumentBracket(R,F){}createGroupBracket(R,F,D){}findFirstVisibleInstrumentInInstrumentalGroup(R){for(let F=0,D=R.InstrumentalGroups.length;F<D;++F){const G=R.InstrumentalGroups[F];if(G instanceof Instrument){if(G.Visible===!0)return G;continue}return this.findFirstVisibleInstrumentInInstrumentalGroup(G)}}findLastVisibleInstrumentInInstrumentalGroup(R){let F;for(let D=R.InstrumentalGroups.length-1;D>=0;D--){if(F=R.InstrumentalGroups[D],F instanceof Instrument){if(F.Visible===!0)return F;continue}return this.findLastVisibleInstrumentInInstrumentalGroup(F)}}updateMusicSystemStaffLineXPosition(R){for(let F=0,D=this.StaffLines.length;F<D;++F){const G=this.StaffLines[F],U=G.PositionAndShape.RelativePosition;U.x=this.maxLabelLength+R,G.PositionAndShape.RelativePosition=U,G.PositionAndShape.BorderRight=this.boundingBox.Size.width-this.maxLabelLength-R;for(let W=0;W<G.StaffLines.length;W++){const q=new PointF2D(G.PositionAndShape.Size.width,G.StaffLines[W].End.y);G.StaffLines[W].End=q}}}}class SystemLine extends GraphicalObject{constructor(R,F,D,G,U=void 0){super(),this.lineType=R,this.linePosition=F,this.parentMusicSystem=D,this.topMeasure=G,this.bottomMeasure=U,this.parentTopStaffLine=G==null?void 0:G.ParentStaffLine,this.boundingBox=new BoundingBox$1(this,D.PositionAndShape)}static getObjectWidthForLineType(R,F){switch(F){case SystemLinesEnum.SingleThin:return R.SystemThinLineWidth;case SystemLinesEnum.DoubleThin:return R.SystemThinLineWidth*2+R.DistanceBetweenVerticalSystemLines;case SystemLinesEnum.ThinBold:return R.SystemThinLineWidth+R.SystemBoldLineWidth+R.DistanceBetweenVerticalSystemLines;case SystemLinesEnum.BoldThinDots:return R.SystemThinLineWidth+R.SystemBoldLineWidth+R.DistanceBetweenVerticalSystemLines+R.SystemDotWidth+R.DistanceBetweenDotAndLine;case SystemLinesEnum.DotsThinBold:return R.SystemThinLineWidth+R.SystemBoldLineWidth+R.DistanceBetweenVerticalSystemLines+R.SystemDotWidth+R.DistanceBetweenDotAndLine;case SystemLinesEnum.DotsBoldBoldDots:return 2*R.SystemBoldLineWidth+2*R.SystemDotWidth+2*R.DistanceBetweenDotAndLine+R.DistanceBetweenVerticalSystemLines;default:return 0}}}const VF$b=Vex.Flow;class VexFlowInstrumentBracket extends GraphicalObject{constructor(R,F,D=0){super(),this.Visible=!0,this.PositionAndShape=new BoundingBox$1(this,R.ParentMusicSystem.PositionAndShape);const G=R.Measures[0],U=F.Measures[0];this.addConnector(G.getVFStave(),U.getVFStave(),VF$b.StaveConnector.type.BRACKET,D)}draw(R){this.Visible&&this.vexflowConnector.setContext(R).draw();const F=this.vexflowConnector,D=F.top_stave.getYForLine(0),G=F.bottom_stave.getYForLine(F.bottom_stave.getNumLines()-1)+F.thickness;this.PositionAndShape.AbsolutePosition.x=(F.top_stave.getX()-2+F.x_shift)/unitInPixels,this.PositionAndShape.AbsolutePosition.y=D/unitInPixels,this.PositionAndShape.Size.height=(G-D)/unitInPixels,this.PositionAndShape.Size.width=12/unitInPixels}addConnector(R,F,D,G){this.vexflowConnector=new VF$b.StaveConnector(R,F).setType(D).setXShift(G*-5)}}const VF$a=Vex.Flow;class VexFlowInstrumentBrace extends VexFlowInstrumentBracket{constructor(R,F,D=0){super(R,F,D),this.vexflowConnector.setType(VF$a.StaveConnector.type.BRACE)}}class VexFlowMusicSystem extends MusicSystem{constructor(R,F){super(R),this.rules=F}calculateBorders(R){if(this.staffLines.length===0)return;const F=this.calcBracketsWidth();this.boundingBox.BorderLeft=-F,this.boundingBox.BorderMarginLeft=-F,this.boundingBox.XBordersHaveBeenSet=!0;const G=this.staffLines[0].SkyBottomLineCalculator.getSkyLineMin();this.boundingBox.BorderTop=G,this.boundingBox.BorderMarginTop=G;const U=this.staffLines[this.staffLines.length-1],q=U.SkyBottomLineCalculator.getBottomLineMax()+U.PositionAndShape.RelativePosition.y;this.boundingBox.BorderBottom=q,this.boundingBox.BorderMarginBottom=q,this.boundingBox.XBordersHaveBeenSet=!0,this.boundingBox.YBordersHaveBeenSet=!0}createSystemLine(R,F,D,G,U,W,q=void 0){const Y=W;let Q=!1;if(q&&(Q=!0,q.lineTo(W,VexFlowConverter.line(D,G)),q.addMeasureLine(D,G),D===SystemLinesEnum.DotsBoldBoldDots)){const Z=q.ParentStaffLine.Measures.indexOf(q)+1,K=q.ParentStaffLine.Measures[Z],J=W.ParentStaffLine.Measures[Z];K&&J&&(K.lineTo(J,VexFlowConverter.line(SystemLinesEnum.BoldThinDots,G)),K.addMeasureLine(SystemLinesEnum.BoldThinDots,G))}return Y&&Y.addMeasureLine(D,G,Q),new SystemLine(D,G,this,W,q)}createInstrumentBracket(R,F){const D=R,G=F,U=new VexFlowInstrumentBrace(D,G);this.InstrumentBrackets.push(U)}createGroupBracket(R,F,D){const G=R,U=F;if(D===0){const W=new VexFlowInstrumentBracket(G,U,D);this.GroupBrackets.push(W)}else{const W=new VexFlowInstrumentBrace(G,U,D);this.GroupBrackets.push(W)}}}class GraphicalMeasure extends GraphicalObject{constructor(R=void 0,F=void 0,D=void 0){super(),this.hasOnlyRests=!1,this.measureNumber=-1,this.ShowTimeSignature=!0,this.parentStaff=R,this.parentSourceMeasure=F,this.parentStaffLine=D,D?(this.parentStaff=D.ParentStaff,this.PositionAndShape=new BoundingBox$1(this,D.PositionAndShape)):this.PositionAndShape=new BoundingBox$1(this),this.PositionAndShape.BorderBottom=4,this.parentSourceMeasure&&(this.measureNumber=this.parentSourceMeasure.MeasureNumber),this.staffEntries=[]}get ParentStaff(){return this.parentStaff}get ParentMusicSystem(){return this.parentMusicSystem}set ParentMusicSystem(R){this.parentMusicSystem=R}get MeasureNumber(){return this.measureNumber}get FirstInstructionStaffEntry(){return this.firstInstructionStaffEntry}set FirstInstructionStaffEntry(R){this.firstInstructionStaffEntry=R}get LastInstructionStaffEntry(){return this.lastInstructionStaffEntry}set LastInstructionStaffEntry(R){this.lastInstructionStaffEntry=R}get ParentStaffLine(){return this.parentStaffLine}set ParentStaffLine(R){this.parentStaffLine=R,this.parentStaffLine&&(this.PositionAndShape.Parent=this.parentStaffLine.PositionAndShape)}resetLayout(){throw new Error("not implemented")}getLineWidth(R){throw new Error("not implemented")}addClefAtBegin(R){throw new Error("not implemented")}addKeyAtBegin(R,F,D){throw new Error("not implemented")}addRhythmAtBegin(R){throw new Error("not implemented")}addClefAtEnd(R,F=!0){throw new Error("not implemented")}setPositionInStaffline(R){this.PositionAndShape.RelativePosition=new PointF2D(R,0)}setWidth(R){this.PositionAndShape.BorderRight=R}layoutSymbols(){throw new Error("not implemented")}findGraphicalStaffEntryFromTimestamp(R){var F;for(let D=0,G=this.staffEntries.length;D<G;++D){const U=this.staffEntries[D];if((F=U.relInMeasureTimestamp)!=null&&F.Equals(R))return U}}findGraphicalStaffEntryFromVerticalContainerTimestamp(R){for(let F=0,D=this.staffEntries.length;F<D;++F){const G=this.staffEntries[F];if(G.sourceStaffEntry.VerticalContainerParent.getAbsoluteTimestamp().Equals(R))return G}}hasSameDurationWithSourceMeasureParent(){const R=new Fraction$1(0,1);for(let F=0,D=this.staffEntries.length;F<D;++F){const G=this.staffEntries[F];R.Add(G.findStaffEntryMinNoteLength())}return R.Equals(this.parentSourceMeasure.Duration)}hasMultipleVoices(){if(this.staffEntries.length===0)return!1;const R=[];for(let F=0,D=this.staffEntries.length;F<D;++F){const G=this.staffEntries[F];for(let U=0,W=G.sourceStaffEntry.VoiceEntries.length;U<W;++U){const q=G.sourceStaffEntry.VoiceEntries[U];R.indexOf(q.ParentVoice)<0&&R.push(q.ParentVoice)}}return R.length>1}isVisible(){return this.ParentStaff.ParentInstrument.Visible}getGraphicalMeasureDurationFromStaffEntries(){let R=new Fraction$1(0,1);const F=[];for(let D=0,G=this.staffEntries.length;D<G;++D){const U=this.staffEntries[D];for(let W=0,q=U.sourceStaffEntry.VoiceEntries.length;W<q;++W){const Y=U.sourceStaffEntry.VoiceEntries[W];F.indexOf(Y.ParentVoice)<0&&F.push(Y.ParentVoice)}}for(let D=0,G=F.length;D<G;++D){const U=F[D],W=new Fraction$1(0,1);for(const q of this.staffEntries)for(const Y of q.graphicalVoiceEntries)Y.parentVoiceEntry.ParentVoice===U&&Y.notes.length>0&&W.Add(Y.notes[0].graphicalNoteLength);R.lt(W)&&(R=Fraction$1.createFromFraction(W))}return R}addGraphicalStaffEntry(R){this.staffEntries.push(R)}addGraphicalStaffEntryAtTimestamp(R){if(R)if(this.staffEntries.length===0||this.staffEntries[this.staffEntries.length-1].relInMeasureTimestamp.lt(R.relInMeasureTimestamp))this.staffEntries.push(R);else for(let F=this.staffEntries.length-1;F>=0;F--){if(this.staffEntries[F].relInMeasureTimestamp.lt(R.relInMeasureTimestamp)){this.staffEntries.splice(F+1,0,R);break}F===0&&this.staffEntries.splice(F,0,R)}}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 R=this.parentSourceMeasure;return R?R.beginsWithLineRepetition():!1}endsWithLineRepetition(){const R=this.parentSourceMeasure;return R?R.endsWithLineRepetition():!1}beginsWithWordRepetition(){const R=this.parentSourceMeasure;return R?R.beginsWithWordRepetition():!1}endsWithWordRepetition(){const R=this.parentSourceMeasure;return R?R.endsWithWordRepetition():!1}getTransposedHalftones(){return this.parentStaff.ParentInstrument.GetMusicSheet.Transpose+this.parentStaff.ParentInstrument.Transpose}}Vex.Flow;class VexFlowVoiceEntry extends GraphicalVoiceEntry{constructor(R,F){super(R,F)}applyBordersFromVexflow(){const R=this.vfStaveNote;if(!R.getNoteHeadBeginX)return;const F=R.getBoundingBox(),D=R.getNoteHeadBeginX()-F.x;this.PositionAndShape.RelativePosition.y=F.y/unitInPixels,this.PositionAndShape.BorderTop=0,this.PositionAndShape.BorderBottom=F.h/unitInPixels,this.PositionAndShape.BorderLeft=-(D+R.width/2)/unitInPixels,this.PositionAndShape.BorderRight=(F.w-D)/unitInPixels}set vfStaveNote(R){this.mVexFlowStaveNote=R}get vfStaveNote(){return this.mVexFlowStaveNote}color(){var J;const R=this.rules.DefaultColorNotehead,F=this.rules.DefaultColorRest,D=this.rules.DefaultColorStem,G="#00000000";let U,W;const q=this.vfStaveNote;for(let ie=0;ie<this.notes.length;ie++){const ne=this.notes[ie];if(W=ne.sourceNote.NoteheadColor,U=W,this.rules.ColoringMode===ColoringModes.AutoColoring||this.rules.ColoringMode===ColoringModes.CustomColorSet)if(ne.sourceNote.isRest())U=this.rules.ColoringSetCurrent.getValue(-1);else{const se=ne.sourceNote.Pitch.FundamentalNote;U=this.rules.ColoringSetCurrent.getValue(se)}if(ne.sourceNote.PrintObject?(!U||U==="#000000")&&(U=this.rules.DefaultColorNotehead):U=G,!W&&this.rules.ColoringMode===ColoringModes.XML&&ne.sourceNote.PrintObject&&(!ne.sourceNote.isRest()&&R?U=R:ne.sourceNote.isRest()&&F&&(U=F)),U&&ne.sourceNote.PrintObject)ne.sourceNote.NoteheadColorCurrentlyRendered=U;else if(!U)continue;if(this.rules.ColoringEnabled&&ne.sourceNote.NoteBeam&&this.rules.ColorBeams){const se=ne.sourceNote.NoteBeam.Notes;let re=!0;for(let ae=0;ae<se.length;ae++)se[ae].NoteheadColorCurrentlyRendered!==U&&(re=!1);re&&(J=q==null?void 0:q.beam)!=null&&J.setStyle&&q.beam.setStyle({fillStyle:U,strokeStyle:U})}if(q){if(q.note_heads){const se=q.note_heads[ie];se&&se.setStyle({fillStyle:U,strokeStyle:U})}q.setLedgerLineStyle&&(U===G?q.setLedgerLineStyle({fillStyle:U,strokeStyle:U,lineWidth:this.rules.LedgerLineWidth}):q.setLedgerLineStyle({fillStyle:this.rules.LedgerLineColorDefault,lineWidth:this.rules.LedgerLineWidth,strokeStyle:this.rules.LedgerLineColorDefault}))}}let Y=D,Q=!1;this.rules.ColoringEnabled&&(Y=this.parentVoiceEntry.StemColor,(!Y||Y==="#000000")&&(Y=D),this.rules.ColorStemsLikeNoteheads&&U&&(Y=U,Q=!0));let Z=!0;for(const ie of this.parentVoiceEntry.Notes)if(ie.PrintObject){Z=!1;break}Z&&(Y=G);const K={fillStyle:Y,strokeStyle:Y};q&&q.setStemStyle&&(!Z&&Q&&(this.parentVoiceEntry.StemColor=Y),q.setStemStyle(K),q.flag&&q.setFlagStyle&&this.rules.ColorFlags&&q.setFlagStyle(K))}}const VF$9=Vex.Flow,NoteSubGroup=VF$9.NoteSubGroup;class VexFlowMeasure extends GraphicalMeasure{constructor(R,F=void 0,D=void 0){super(R,F,D),this.isTabMeasure=!1,this.octaveOffset=3,this.vfVoices={},this.vfTies=[],this.vfRepetitionWords=[],this.connectors=[],this.beams={},this.tuplets={},this.vftuplets={},this.minimumStaffEntriesWidth=-1,D?this.rules=D.ParentMusicSystem.rules:F&&(this.rules=F.Rules),this.resetLayout()}setAbsoluteCoordinates(R,F){this.stave.setX(R).setY(F)}resetLayout(){this.stave=new VF$9.Stave(0,0,0,{fill_style:this.rules.StaffLineColor,space_above_staff_ln:0,space_below_staff_ln:0,DYMusicScoreType:this.rules.DYMusicScoreType}),this.stave.MeasureNumber=this.MeasureNumber,this.ParentStaff&&this.setLineNumber(this.ParentStaff.StafflineCount),this.stave.setBegBarType(VF$9.Barline.type.NONE),this.parentSourceMeasure&&this.parentSourceMeasure.endingBarStyleEnum===SystemLinesEnum.None&&this.stave.setEndBarType(VF$9.Barline.type.NONE),this.updateInstructionWidth()}clean(){this.vfTies.length=0,this.connectors=[],this.resetLayout()}getLineWidth(R){switch(R){case SystemLinesEnum.SingleThin:return 5/unitInPixels;case SystemLinesEnum.DoubleThin:return 5/unitInPixels;case SystemLinesEnum.ThinBold:return 5/unitInPixels;case SystemLinesEnum.BoldThinDots:case SystemLinesEnum.DotsThinBold:return 10/unitInPixels;case SystemLinesEnum.DotsBoldBoldDots:return 10/unitInPixels+this.rules.RepeatEndStartPadding;default:return 0}}addClefAtBegin(R){if(!!this.rules.RenderClefsAtBeginningOfStaffline){if(this.octaveOffset=R.OctaveOffset,this.rules.DYMusicScoreType!=="jianpu")if(R.ClefType===ClefEnum.TAB)this.stave.addClef("tab",void 0,void 0,void 0);else{const F=VexFlowConverter.Clef(R,"default");this.stave.addClef(F.type,F.size,F.annotation,VF$9.StaveModifier.Position.BEGIN)}this.updateInstructionWidth()}}setLineNumber(R){R!==5&&(R===0?(this.stave.setNumLines(0),this.stave.getBottomLineY=function(){return this.getYForLine(this.options.num_lines)}):R===1?(this.stave.options.line_config=[{visible:!1},{visible:!1},{visible:!0},{visible:!1},{visible:!1}],this.stave.getBottomLineY=function(){return this.getYForLine(2)}):R===2?(this.stave.options.line_config=[{visible:!1},{visible:!1},{visible:!0},{visible:!0},{visible:!1}],this.stave.getBottomLineY=function(){return this.getYForLine(3)}):R===3?(this.stave.options.line_config=[{visible:!1},{visible:!0},{visible:!0},{visible:!0},{visible:!1}],this.stave.getBottomLineY=function(){return this.getYForLine(2)}):(this.stave.setNumLines(R),this.stave.getBottomLineY=function(){return this.getYForLine(this.options.num_lines)}))}addKeyAtBegin(R,F,D){!this.rules.RenderKeySignatures||(this.stave.setKeySignature(VexFlowConverter.keySignature(R),VexFlowConverter.keySignature(F),void 0),this.updateInstructionWidth())}addRhythmAtBegin(R){const F=VexFlowConverter.TimeSignature(R);this.stave.addModifier(F,VF$9.StaveModifier.Position.BEGIN,{numerator:R.Rhythm.Numerator,denominator:R.Rhythm.Denominator}),this.ShowTimeSignature||F.setStyle({fillStyle:"#00000000"}),this.updateInstructionWidth()}addClefAtEnd(R,F=!0){const D=VexFlowConverter.Clef(R,"small");if(!(!F&&this.stave.endClef)){this.stave.setEndClef(D.type,D.size,D.annotation);for(const G of this.stave.getModifiers())if(F){const U=G.originalStrokeStyle,W=G.originalFillStyle;G.getStyle()&&(U&&W?(G.getStyle().strokeStyle=U,G.getStyle().fillStyle=W):(G.getStyle().strokeStyle=null,G.getStyle().fillStyle=null))}else if(G.getCategory()==="clefs"&&G.getPosition()===VF$9.StaveModifier.Position.END&&G.type===D.type){const U="#12345600",W=G.getStyle();W&&(G.originalStrokeStyle=W.strokeStyle,G.originalFillStyle=W.fillStyle),G.setStyle({strokeStyle:U,fillStyle:U})}return this.parentSourceMeasure.hasEndClef=!0,this.updateInstructionWidth()}}addMeasureLine(R,F,D=!0){switch(F){case SystemLinePosition.MeasureBegin:switch(R){case SystemLinesEnum.BoldThinDots:D||(this.stave.modifiers[0].draw=function(G){switch(G.checkContext(),this.setRendered(),this.type){case VF$9.Barline.type.SINGLE:this.drawVerticalBar(G,this.x,!1);break;case VF$9.Barline.type.DOUBLE:this.drawVerticalBar(G,this.x,!0);break;case VF$9.Barline.type.END:this.drawVerticalEndBar(G,this.x);break;case VF$9.Barline.type.REPEAT_BEGIN:this.drawRepeatBar(G,this.x,!0);break;case VF$9.Barline.type.REPEAT_END:this.drawRepeatBar(G,this.x,!1);break;case VF$9.Barline.type.REPEAT_BOTH:this.drawRepeatBar(G,this.x,!1),this.drawRepeatBar(G,this.x,!0);break}}),this.stave.setBegBarType(VF$9.Barline.type.REPEAT_BEGIN);break}break;case SystemLinePosition.MeasureEnd:switch(R){case SystemLinesEnum.DotsBoldBoldDots:this.stave.setEndBarType(VF$9.Barline.type.REPEAT_BOTH);break;case SystemLinesEnum.DotsThinBold:this.stave.setEndBarType(VF$9.Barline.type.REPEAT_END);break;case SystemLinesEnum.DoubleThin:this.stave.setEndBarType(VF$9.Barline.type.DOUBLE);break;case SystemLinesEnum.ThinBold:this.stave.setEndBarType(VF$9.Barline.type.END);break;case SystemLinesEnum.None:this.stave.setEndBarType(VF$9.Barline.type.NONE);break}break}}addMeasureNumber(){const R=this.MeasureNumber.toString(),F=StavePositionEnum.ABOVE,D={justification:1,shift_x:0,shift_y:0};this.stave.setText(R,F,D)}addWordRepetition(R){let F,D=VF$9.StaveModifier.Position.END;const G=this.beginInstructionsWidth;switch(R.type){case RepetitionInstructionEnum.Segno:F=VF$9.Repetition.type.SEGNO_LEFT,D=VF$9.StaveModifier.Position.LEFT;break;case RepetitionInstructionEnum.Coda:F=VF$9.Repetition.type.CODA_LEFT,D=VF$9.StaveModifier.Position.LEFT;break;case RepetitionInstructionEnum.DaCapo:F=VF$9.Repetition.type.DC;break;case RepetitionInstructionEnum.DalSegno:F=VF$9.Repetition.type.DS;break;case RepetitionInstructionEnum.Fine:F=VF$9.Repetition.type.FINE;break;case RepetitionInstructionEnum.ToCoda:F=VF$9.Repetition.type.TO_CODA;break;case RepetitionInstructionEnum.DaCapoAlFine:F=VF$9.Repetition.type.DC_AL_FINE;break;case RepetitionInstructionEnum.DaCapoAlCoda:F=VF$9.Repetition.type.DC_AL_CODA;break;case RepetitionInstructionEnum.DalSegnoAlFine:F=VF$9.Repetition.type.DS_AL_FINE;break;case RepetitionInstructionEnum.DalSegnoAlCoda:F=VF$9.Repetition.type.DS_AL_CODA;break}if(F){if(this.stave.getModifiers().find(Y=>Y.symbol_type===F))return;const q=new VF$9.Repetition(F,G,-this.rules.RepetitionSymbolsYOffset);this.stave.addModifier(q,D);return}this.addVolta(R)}addVolta(R){var D;let F=VF$9.Volta.type.BEGIN;if(R.type===RepetitionInstructionEnum.Ending){switch(R.alignment){case AlignmentType.Begin:this.parentSourceMeasure.endsRepetitionEnding()?F=VF$9.Volta.type.BEGIN_END:F=VF$9.Volta.type.BEGIN;break;case AlignmentType.End:if(this.parentSourceMeasure.beginsRepetitionEnding())return;F=VF$9.Volta.type.END;break}const G=this.ParentStaffLine.SkyBottomLineCalculator,U=this.PositionAndShape.AbsolutePosition.x+this.PositionAndShape.BorderMarginLeft+.4,W=Math.max(this.PositionAndShape.AbsolutePosition.x+this.PositionAndShape.BorderMarginRight,U+.4),q=G.getSkyLineMinInRange(U,W)-2;let Y=-6.1+this.rules.VoltaOffset,Q=this.rules.VoltaOffset;q<Y&&(Q+=q-Y,Y=q);let Z;const K=this.parentSourceMeasure.MeasureNumber;for(let J=0;J<this.ParentStaffLine.Measures.length;J++){const ie=this.ParentStaffLine.Measures[J];ie instanceof VexFlowMeasure&&(ie.MeasureNumber===K-1||ie.MeasureNumber+((D=ie.parentSourceMeasure)==null?void 0:D.multipleRestMeasures)===K)&&(Z=ie)}if(Z){const J=Z.stave.getModifiers();for(let ie=0;ie<J.length;ie++){const ne=J[ie];if(ne.hasOwnProperty("volta")){const se=Z.ParentStaffLine.SkyBottomLineCalculator,re=Z.PositionAndShape.AbsolutePosition.x+Z.PositionAndShape.BorderMarginLeft+.4,ae=Math.max(Z.PositionAndShape.AbsolutePosition.x+Z.PositionAndShape.BorderMarginRight,re+.4),le=se.getSkyLineMinInRange(re,ae);le<=Y?(Q+=le-Y,Y=le):(ne.y_shift=Q*unitInPixels,Z.ParentStaffLine.SkyBottomLineCalculator.updateSkyLineInRange(re,ae,Y))}}}Q*=10,this.stave.setVoltaType(F,R.endingIndices[0],Q),G.updateSkyLineInRange(U,W,Y)}}setWidth(R){super.setWidth(R),this.stave.setWidth(R*unitInPixels)}layoutSymbols(){}draw(R){var q,Y,Q,Z,K,J,ie;const F=R.openGroup();(q=F==null?void 0:F.classList)==null||q.add("vf-measure");const D=R.openGroup();(Y=D==null?void 0:D.classList)==null||Y.add("vf-stave"),D==null||D.setAttribute("id",(Z=(Q=this.stave)==null?void 0:Q.attrs)==null?void 0:Z.id),this.stave.setContext(R).draw(),R.closeGroup();const G=R.openGroup();(K=G==null?void 0:G.classList)==null||K.add("vf-voices");for(const ne in this.vfVoices)this.vfVoices.hasOwnProperty(ne)&&(R.save(),this.vfVoices[ne].draw(R,this.stave),R.restore());R.closeGroup();const U=R.openGroup();if((J=U==null?void 0:U.classList)==null||J.add("vf-beams"),this.rules.DYMusicScoreType!=="jianpu"){for(const ne in this.vfbeams)if(this.vfbeams.hasOwnProperty(ne))for(const se of this.vfbeams[ne])se.setContext(R).draw()}if(this.autoVfBeams)for(const ne of this.autoVfBeams)ne.setContext(R).draw();if(!this.isTabMeasure||this.rules.TupletNumbersInTabs){if(this.autoTupletVfBeams)for(const ne of this.autoTupletVfBeams)ne.setContext(R).draw();for(const ne in this.vftuplets)if(this.vftuplets.hasOwnProperty(ne))for(const se of this.vftuplets[ne])if(this.rules.DYMusicScoreType==="jianpu"){let re=se.getNotes();const ae=new VF$9.StaveTie({first_note:re[0],last_note:re[re.length-1]},re.length+"");this.vfTies.push(ae),se.setTupletLocation(1)}else se.setContext(R).draw()}R.closeGroup(),R.closeGroup();const W=R.openGroup();(ie=W==null?void 0:W.classList)==null||ie.add("vf-ties");for(const ne of this.vfTies)ne.setContext(R).draw();R.closeGroup();for(const ne of this.connectors)ne.setContext(R).draw();return this.correctNotePositions(),F}format(){this.formatVoices&&this.formatVoices((this.PositionAndShape.Size.width-this.beginInstructionsWidth-this.endInstructionsWidth)*unitInPixels,this)}correctNotePositions(){if(!this.isTabMeasure)for(const R of this.getVoicesWithinMeasure())for(const F of R.VoiceEntries)for(const D of F.Notes){const G=this.rules.GNote(D);if(!(G!=null&&G.vfnote))return;const U=G.vfnote[0];let W=0;G.parentVoiceEntry.parentVoiceEntry.StemDirection===StemDirectionType.Up?W+=3.5:W+=.5,W+=-G.notehead(U).line+G.parentVoiceEntry.notes.last().notehead().line,G.PositionAndShape.RelativePosition.y=W}}getVoicesWithinMeasure(){const R=[];for(const F of this.staffEntries)for(const D of F.graphicalVoiceEntries)R.indexOf(D.parentVoiceEntry.ParentVoice)===-1&&R.push(D.parentVoiceEntry.ParentVoice);return R}getGraphicalVoiceEntriesPerVoice(R){const F=[];for(const D of this.staffEntries)for(const G of D.graphicalVoiceEntries)G.parentVoiceEntry.ParentVoice===R&&F.push(G);return F}getRestFilledVexFlowStaveNotesPerVoice(R){let F,D=this.getGraphicalVoiceEntriesPerVoice(R);for(let W=0;W<D.length;W++){const q=D[W],Y=q.notes[0].sourceNote.getAbsoluteTimestamp();let Q=new Fraction$1;for(const Z of q.notes){const K=Fraction$1.plus(Z.sourceNote.getAbsoluteTimestamp(),Z.sourceNote.Length);Q.lt(K)&&(Q=K)}if(F){const Z=Fraction$1.minus(Y,F);if(Z.RealValue>0){log$2.trace(`Ghost Found in between (measure ${this.MeasureNumber})`);const K=this.createGhostGves(Z);D.splice(W,0,...K),W+=K.length}}else{const Z=Fraction$1.minus(Y,this.parentSourceMeasure.AbsoluteTimestamp);if(Z.RealValue>0){log$2.trace(`Ghost Found at start (measure ${this.MeasureNumber})`);const K=this.createGhostGves(Z);D.splice(0,0,...K),W+=K.length}}F=Q}const G=Fraction$1.plus(this.parentSourceMeasure.AbsoluteTimestamp,this.parentSourceMeasure.Duration),U=Fraction$1.minus(G,F);if(U.RealValue>0){log$2.trace(`Ghost Found at end (measure ${this.MeasureNumber})`);const W=this.createGhostGves(U);D=D.concat(W)}return D}createGhostGves(R){const F=VexFlowConverter.GhostNotes(R),D=[];for(const G of F){const U=new VexFlowVoiceEntry(void 0,void 0);U.vfStaveNote=G,D.push(U)}return D}handleBeam(R,F){const D=R.sourceNote.ParentVoiceEntry.ParentVoice.VoiceId;let G=this.beams[D];G||(G=this.beams[D]=[]);let U;for(const q of G)q[0]===F&&(U=q);U||(U=[F,[]],G.push(U));const W=R.parentVoiceEntry;U[1].indexOf(W)<0&&U[1].push(W)}handleTuplet(R,F){const D=R.sourceNote.ParentVoiceEntry.ParentVoice.VoiceId;F=R.sourceNote.NoteTuplet;let G=this.tuplets[D];G||(G=this.tuplets[D]=[]);let U;for(const q of G)q[0]===F&&(U=q);U||(U=[F,[]],G.push(U));const W=R.parentVoiceEntry;U[1].indexOf(W)<0&&U[1].push(W)}finalizeBeams(){this.vfbeams={};const R=[];for(const F in this.beams)if(this.beams.hasOwnProperty(F)){let D=this.vfbeams[F];D||(D=this.vfbeams[F]=[]);for(const G of this.beams[F]){let U=!1;for(const ie of G[0].Notes)if(ie.Length.RealValue>=new Fraction$1(1,4).RealValue&&(!ie.TypeLength||ie.TypeLength.RealValue>.125)){U=!0;break}if(U){log$2.debug("Beam between note >= quarter, likely tremolo, currently unsupported. continuing.");continue}const W=[],q=G[0],Y=G[1];let Q=!0;for(const ie of Y)ie.parentVoiceEntry.ParentVoice===q.Notes[0].ParentVoiceEntry.ParentVoice&&(Q=ie.parentVoiceEntry.WantedStemDirection===StemDirectionType.Undefined);let Z=!1,K;const J=[];for(const ie of Y){const ne=ie.vfStaveNote;ne&&(W.push(ne),R.push(ne)),ie.parentVoiceEntry.IsGrace&&(Z=!0),ie.parentVoiceEntry.StemColor&&this.rules.ColoringEnabled&&J.push(ie.parentVoiceEntry.StemColor)}if(W.length>1){const ie=new VF$9.Beam(W,Q);if(Z&&(ie.render_options.beam_width=3,ie.render_options.partial_beam_length=4),J.length>=2&&this.rules.ColorBeams){K=J[0];for(const ne of J)if(ne!==K){K=void 0;break}ie.setStyle({fillStyle:K,strokeStyle:K})}this.rules.FlatBeams&&(ie.render_options.flat_beams=!0,ie.render_options.flat_beam_offset=this.rules.FlatBeamOffset,ie.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),D.push(ie)}else log$2.debug("Warning! Beam with no notes!")}}this.rules.AutoBeamNotes&&this.autoBeamNotes(R)}autoBeamNotes(R){if(!this.rules.AutoBeamTabs&&this.isTabMeasure)return;let F=[],D=[],G,U=[];this.autoTupletVfBeams=[];const W=[];this.autoVfBeams=[];let q=this.parentSourceMeasure.ActiveTimeSignature;q||(q=this.parentSourceMeasure.Duration);for(const Z of this.staffEntries)for(const K of Z.graphicalVoiceEntries){const J=K.vfStaveNote,ie=K.notes[0],ne=Z.relInMeasureTimestamp.isOnBeat(q),se=D.length>=2,re=ie.sourceNote.Length.RealValue-new Fraction$1(1,4).RealValue>-Fraction$1.FloatInaccuracyTolerance,ae=K.parentVoiceEntry.IsGrace||re||R.contains(J);if(ae||ne){if(se){for(const ce of D)F.push(ce);W.push(F.slice()),F=[]}if(D=[],ae)continue}const le=K.notes[0].sourceNote.NoteTuplet;if(le){let ce=!1;for(const he of le.Notes){for(const de of he)if(de.NoteTypeXml>=NoteType.QUARTER||de.ParentVoiceEntry.IsGrace||de.isRest()&&!this.rules.AutoBeamOptions.beam_rests){ce=!0;break}if(ce)break}if(!G)G=le;else if(G!==le){if(U.length>1){const he=new VF$9.Beam(U,!0);this.rules.FlatBeams&&(he.render_options.flat_beams=!0,he.render_options.flat_beam_offset=this.rules.FlatBeamOffset,he.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoTupletVfBeams.push(he)}U=[],G=le}ce||U.push(J);continue}else G=void 0;D.push(J)}if(U.length>=2){const Z=new VF$9.Beam(U,!0);this.rules.FlatBeams&&(Z.render_options.flat_beams=!0,Z.render_options.flat_beam_offset=this.rules.FlatBeamOffset,Z.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoTupletVfBeams.push(Z)}if(D.length>=2){for(const Z of D)F.push(Z);W.push(F)}const Y=this.rules.AutoBeamOptions,Q={beam_middle_only:Y.beam_middle_rests_only,beam_rests:Y.beam_rests,maintain_stem_directions:Y.maintain_stem_directions};if(Y.groups&&Y.groups.length){const Z=[];for(const K of Y.groups)Z.push(new VF$9.Fraction(K[0],K[1]));Q.groups=Z}for(const Z of W){const K=VF$9.Beam.generateBeams(Z,Q);for(const J of K)this.rules.FlatBeams&&(J.render_options.flat_beams=!0,J.render_options.flat_beam_offset=this.rules.FlatBeamOffset,J.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoVfBeams.push(J)}}finalizeTuplets(){this.vftuplets={};for(const R in this.tuplets)if(this.tuplets.hasOwnProperty(R)){let F=this.vftuplets[R];F||(F=this.vftuplets[R]=[]);for(const D of this.tuplets[R]){const G=[],U=D[1];for(const W of U)G.push(W.vfStaveNote);if(G.length>1){const W=D[0],q=W.Notes[0][0].NormalNotes,Y=W.Bracket||W.TupletLabelNumber===3&&this.rules.TripletsBracketed||W.TupletLabelNumber!==3&&this.rules.TupletsBracketed;let Q=VF$9.Tuplet.LOCATION_TOP;W.tupletLabelNumberPlacement===PlacementEnum.Below&&(Q=VF$9.Tuplet.LOCATION_BOTTOM),F.push(new VF$9.Tuplet(G,{bracketed:Y,location:Q,notes_occupied:q,num_notes:W.TupletLabelNumber,ratioed:this.rules.TupletsRatioed}))}else log$2.debug("Warning! Tuplet with no notes! Trying to ignore, but this is a serious problem.")}}}layoutStaffEntry(R){}graphicalMeasureCreatedCalculations(){let R,F=[];const D=[];for(const U of this.staffEntries){R=!1,F=[];for(const W of U.graphicalVoiceEntries){if(W.parentVoiceEntry.IsGrace){F.push(W),D.push(W),R||(R=W.parentVoiceEntry.GraceSlur);continue}if(W.vfStaveNote=VexFlowConverter.StaveNote(W),F.length>0){const q=[];for(let Q=0;Q<F.length;Q++){const Z=F[Q];Z.GraceSlash=Z.parentVoiceEntry.GraceNoteSlash,Q>0&&(Z.GraceSlash=!1);const K=VexFlowConverter.StaveNote(Z);Z.vfStaveNote=K,q.push(K)}const Y=new VF$9.GraceNoteGroup(q,R);W.vfStaveNote.addModifier(0,Y),F=[]}}}if(F.length>0)for(const U of F)U.vfStaveNote=VexFlowConverter.StaveNote(U),U.parentVoiceEntry.GraceAfterMainNote=!0;this.finalizeBeams(),this.finalizeTuplets();const G=this.getVoicesWithinMeasure();if(this.rules.RenderFingerings)for(const U of this.staffEntries)U.setModifierXOffsets();for(const U of G){if(!U)continue;this.vfVoices[U.VoiceId]=new VF$9.Voice({beat_value:this.parentSourceMeasure.Duration.Denominator,num_beats:this.parentSourceMeasure.Duration.Numerator,resolution:VF$9.RESOLUTION}).setMode(VF$9.Voice.Mode.SOFT);const W=this.getRestFilledVexFlowStaveNotesPerVoice(U);for(const q of W){if(q.parentVoiceEntry&&q.parentVoiceEntry.IsGrace&&!q.parentVoiceEntry.GraceAfterMainNote)continue;const Y=q;if(Y.vfStaveNote.ticks.denominator===0)continue;if(q.notes.length===0||!q.notes[0]||!q.notes[0].sourceNote.PrintObject){this.vfVoices[U.VoiceId].addTickable(Y.vfStaveNote);continue}const Q=Y.parentStaffEntry;if(Q&&Q.vfClefBefore){const Z=new NoteSubGroup([Q.vfClefBefore]);Y.vfStaveNote.getCategory&&Y.vfStaveNote.getCategory()==="stavenotes"&&Y.vfStaveNote.addModifier(0,Z)}q.parentVoiceEntry&&this.rules.RenderFingerings&&((this.rules.FingeringPosition===PlacementEnum.Left||this.rules.FingeringPosition===PlacementEnum.Right)&&this.createFingerings(q),this.createStringNumber(q)),this.createArpeggio(q),this.vfVoices[U.VoiceId].addTickable(Y.vfStaveNote)}}this.setStemDirectionFromVexFlow();for(const U of D)this.createFingerings(U),this.createStringNumber(U),this.createArpeggio(U);this.createArticulations(),this.createOrnaments()}createArpeggio(R){if(R.parentVoiceEntry&&R.parentVoiceEntry.Arpeggio){const F=R.parentVoiceEntry.Arpeggio;if(R.notes&&R.notes.length>1){const D=VexFlowConverter.StrokeTypeFromArpeggioType(F.type),G=new VF$9.Stroke(D,{all_voices:this.rules.ArpeggiosGoAcrossVoices});this.rules.RenderArpeggios&&R.vfStaveNote.addStroke(0,G)}else log$2.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 R of this.staffEntries)for(const F of R.graphicalVoiceEntries)for(const D of F.notes){const G=D.vfnote;if(!G||!G[0])continue;switch(G[0].getStemDirection()){case VF$9.Stem.UP:F.parentVoiceEntry.StemDirection=StemDirectionType.Up;break;case VF$9.Stem.DOWN:F.parentVoiceEntry.StemDirection=StemDirectionType.Down;break}}}createArticulations(){for(let R=0,F=this.staffEntries.length;R<F;++R){const G=this.staffEntries[R].graphicalVoiceEntries;for(const U of G){const W=U.vfStaveNote;VexFlowConverter.generateArticulations(W,U.notes[0].sourceNote.ParentVoiceEntry.Articulations,this.rules)}}}createOrnaments(){for(let R=0,F=this.staffEntries.length;R<F;++R){const G=this.staffEntries[R].graphicalVoiceEntries;for(const U in G)if(G.hasOwnProperty(U)){const W=G[U].vfStaveNote,q=G[U].notes[0].sourceNote.ParentVoiceEntry.OrnamentContainer;q&&VexFlowConverter.generateOrnaments(W,q)}}}createFingerings(R){const F=R;let D=0;for(const U of R.notes)U.sourceNote.Fingering&&D++;let G=-1;for(const U of R.notes){const W=U.sourceNote.Fingering;if(!W){G++;continue}G++;let q=this.rules.FingeringPosition;this.rules.FingeringPositionGrace===PlacementEnum.AboveOrBelow&&(this.isUpperStaffOfInstrument()?q=PlacementEnum.Above:this.isLowerStaffOfInstrument()&&(q=PlacementEnum.Below)),W.placement!==PlacementEnum.NotYetDefined&&(q=W.placement);let Y=this.rules.FingeringOffsetX,Q;switch(q){default:case PlacementEnum.Left:Q=VF$9.StaveModifier.Position.LEFT,Y-=U.baseFingeringXOffset*unitInPixels;break;case PlacementEnum.Right:Q=VF$9.StaveModifier.Position.RIGHT,Y+=U.baseFingeringXOffset*unitInPixels;break;case PlacementEnum.Above:Q=VF$9.StaveModifier.Position.ABOVE;break;case PlacementEnum.Below:Q=VF$9.StaveModifier.Position.BELOW;break;case PlacementEnum.NotYetDefined:const K=R.parentStaffEntry.sourceStaffEntry.ParentStaff;R.notes.length>1||R.parentStaffEntry.graphicalVoiceEntries.length>1?Q=VF$9.StaveModifier.Position.LEFT:K.idInMusicSheet===0?(Q=VF$9.StaveModifier.Position.ABOVE,q=PlacementEnum.Above):(Q=VF$9.StaveModifier.Position.BELOW,q=PlacementEnum.Below)}const Z=new VF$9.FretHandFinger(W.value);if(Z.setPosition(Q),Z.setOffsetX(Y),q===PlacementEnum.Above||q===PlacementEnum.Below){const K=q===PlacementEnum.Above?-1:1,J=q===PlacementEnum.Above?G:D-1-G;if(this.rules.FingeringInsideStafflines&&D>1){const ie=Z.getWidth()/2,ne=D*2.5;Z.setOffsetY(K*(J+ne)*ie)}else if(!this.rules.FingeringInsideStafflines){const ie=new VF$9.StringNumber(W.value);ie.radius=0,ie.setPosition(Q),ie.setOffsetY(K*J*ie.getWidth()*2/3),F.vfStaveNote.addModifier(G,ie);continue}}F.vfStaveNote.addModifier(G,Z)}}createStringNumber(R){if(!this.rules.RenderStringNumbersClassical)return;const F=R;R.notes.forEach((D,G)=>{const U=D.sourceNote.StringInstruction;if(U){let W=U.value;switch(W){case"1":W="I";break;case"2":W="II";break;case"3":W="III";break;case"4":W="IV";break;case"5":W="V";break;case"6":W="VI";break}const q=new VF$9.StringNumber(W);q.radius=0;const Y=-this.rules.StringNumberOffsetY;R.notes.length>1||R.parentStaffEntry.graphicalVoiceEntries.length>1?(q.setOffsetX(D.baseStringNumberXOffset*13),q.setPosition(VF$9.Modifier.Position.RIGHT)):q.setPosition(VF$9.Modifier.Position.ABOVE),q.setOffsetY(Y),F.vfStaveNote.addModifier(G,q)}})}lineTo(R,F){const D=new VF$9.StaveConnector(R.getVFStave(),this.stave);D.setType(F),this.connectors.push(D)}getVFStave(){return this.stave}updateInstructionWidth(){let R=0,F=0;const D=this.stave.getModifiers();for(const G of D)G.getPosition()===StavePositionEnum.BEGIN?R+=G.getWidth()+G.getPadding(void 0):G.getPosition()===StavePositionEnum.END&&(F+=G.getWidth()+G.getPadding(void 0));this.beginInstructionsWidth=(R!=null?R:0)/unitInPixels,this.endInstructionsWidth=(F!=null?F:0)/unitInPixels}addStaveTie(R,F){this.vfTies.push(R),F.vfTie=R}}var StavePositionEnum=(B=>(B[B.LEFT=1]="LEFT",B[B.RIGHT=2]="RIGHT",B[B.ABOVE=3]="ABOVE",B[B.BELOW=4]="BELOW",B[B.BEGIN=5]="BEGIN",B[B.END=6]="END",B))(StavePositionEnum||{});class GraphicalStaffEntry extends GraphicalObject{constructor(R,F=void 0,D=void 0){super(),this.graphicalChordContainers=[],this.tabStaffEntry=void 0,this.MaxAccidentals=0,this.graphicalInstructions=[],this.ties=[],this.graphicalTies=[],this.lyricsEntries=[],this.parentMeasure=R,this.graphicalVoiceEntries=[],this.sourceStaffEntry=F,D?(this.staffEntryParent=D,this.parentVerticalContainer=D.parentVerticalContainer,this.PositionAndShape=new BoundingBox$1(this,D.PositionAndShape)):this.PositionAndShape=new BoundingBox$1(this,R.PositionAndShape),F&&(this.relInMeasureTimestamp=F.Timestamp),this.FingeringEntries=[]}get GraphicalInstructions(){return this.graphicalInstructions}get GraphicalTies(){return this.graphicalTies}get LyricsEntries(){return this.lyricsEntries}set LyricsEntries(R){this.lyricsEntries=R}getAbsoluteTimestamp(){const R=this.parentMeasure.parentSourceMeasure.AbsoluteTimestamp.clone();return this.relInMeasureTimestamp&&R.Add(this.relInMeasureTimestamp),R}findTieGraphicalNoteFromNote(R){var D;const F=((D=window.GYM)==null?void 0:D.graceCustom)||!1;for(const G of this.graphicalVoiceEntries)for(const U of G.notes){const W=U.sourceNote;if(F){if(R.NoteToGraphicalNoteObjectId==W.NoteToGraphicalNoteObjectId)return U}else if(!W.isRest()&&W.Pitch.FundamentalNote===R.Pitch.FundamentalNote&&W.Pitch.Octave===R.Pitch.Octave&&W.getAbsoluteTimestamp().Equals(R.getAbsoluteTimestamp()))return U}}findEndTieGraphicalNoteFromNoteWithStartingSlur(R,F){if(!!R){for(const D of this.graphicalVoiceEntries)if(D.parentVoiceEntry===R.ParentVoiceEntry)for(const G of D.notes){const U=G.sourceNote;if(U.NoteTie&&U.NoteSlurs.indexOf(F)!==-1)return G}}}findGraphicalNoteFromGraceNote(R){if(!!R){for(const F of this.graphicalVoiceEntries)if(F.parentVoiceEntry===R.ParentVoiceEntry){for(const D of F.notes)if(D.sourceNote===R)return D}}}findGraphicalNoteFromNote(R){if(!!R){for(const F of this.graphicalVoiceEntries)if(F.parentVoiceEntry===R.ParentVoiceEntry){for(const D of F.notes)if(D.sourceNote===R&&this.getAbsoluteTimestamp().Equals(R.getAbsoluteTimestamp()))return D}}}getGraphicalNoteDurationFromVoice(R){for(const F of this.graphicalVoiceEntries)if(F.parentVoiceEntry.ParentVoice===R)return F.notes[0].graphicalNoteLength;return new Fraction$1(0,1)}findVoiceEntryGraphicalNotes(R){for(const F of this.graphicalVoiceEntries)if(F.parentVoiceEntry===R)return F.notes}isVoiceEntryPartOfLinkedVoiceEntry(R){if(this.sourceStaffEntry.Link)for(let F=0,D=this.sourceStaffEntry.Link.LinkStaffEntries.length;F<D;++F){const G=this.sourceStaffEntry.Link.LinkStaffEntries[F];if(G.VoiceEntries.indexOf(R)!==-1&&G!==this.sourceStaffEntry)return!0}return!1}findStaffEntryMinNoteLength(){let R=new Fraction$1(Number.MAX_VALUE,1);for(const F of this.graphicalVoiceEntries)for(const D of F.notes){const G=D.graphicalNoteLength;G.lt(R)&&G.GetExpandedNumerator()>0&&(R=G)}return R}findStaffEntryMaxNoteLength(){let R=new Fraction$1(0,1);for(const F of this.graphicalVoiceEntries)for(const D of F.notes){const G=D.graphicalNoteLength;R.lt(G)&&G.GetExpandedNumerator()>0&&(R=G)}return R}findOrCreateGraphicalVoiceEntry(R){for(const D of this.graphicalVoiceEntries)if(D.parentVoiceEntry===R)return D;const F=MusicSheetCalculator.symbolFactory.createVoiceEntry(R,this);return this.graphicalVoiceEntries.push(F),F}findOrCreateGraphicalVoiceEntryFromGraphicalNote(R){for(const D of this.graphicalVoiceEntries)if(D===R.parentVoiceEntry)return D;const F=MusicSheetCalculator.symbolFactory.createVoiceEntry(R.sourceNote.ParentVoiceEntry,this);return this.graphicalVoiceEntries.push(F),F}addGraphicalNoteToListAtCorrectYPosition(R,F){const D=R.notes;if(D.length===0||F.PositionAndShape.RelativePosition.y<CollectionUtil.last(D).PositionAndShape.RelativePosition.y)D.push(F);else for(let G=D.length-1;G>=0;G--){if(D[G].PositionAndShape.RelativePosition.y>F.PositionAndShape.RelativePosition.y){D.splice(G+1,0,F);break}if(G===0){D.splice(0,0,F);break}}}hasOnlyRests(){for(const F of this.graphicalVoiceEntries)for(const D of F.notes)if(!D.sourceNote.isRest())return!1;return!0}getSkylineMin(){var G;const R=(G=this.parentMeasure)==null?void 0:G.ParentStaffLine.SkyBottomLineCalculator;if(!R)return;const[F,D]=this.getAbsoluteStartAndEnd();return R.getSkyLineMinInRange(F,D)}getHighestYAtEntry(){return this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.y+this.getSkylineMin()}getLowestYAtEntry(){return this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.y+this.getBottomlineMax()}getBottomlineMax(){var G;const R=(G=this.parentMeasure)==null?void 0:G.ParentStaffLine.SkyBottomLineCalculator;if(!R)return;const[F,D]=this.getAbsoluteStartAndEnd();return R.getBottomLineMaxInRange(F,D)}getAbsoluteStartAndEnd(){let R=this.PositionAndShape.AbsolutePosition.x;R-=this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.x;const F=R+this.PositionAndShape.Size.width;return[R,F]}}const VF$8=Vex.Flow;class VexFlowStaffEntry extends GraphicalStaffEntry{constructor(R,F,D){super(R,F,D)}calculateXPosition(){const R=this.parentMeasure.getVFStave();let F=0;for(const D of this.graphicalVoiceEntries)if(D.vfStaveNote){if(D.vfStaveNote.setStave(R),R&&R.getLines&&R.getLines()===1&&D.vfStaveNote.getStemDirection()<0&&(D.vfStaveNote.setStemDirection(VF$8.Stem.UP),D.parentVoiceEntry.StemDirection=StemDirectionType.Up),!D.vfStaveNote.preFormatted)continue;D.applyBordersFromVexflow(),this.parentMeasure.ParentStaff.isTab?this.PositionAndShape.RelativePosition.x=(D.vfStaveNote.getAbsoluteX()+D.vfStaveNote.glyph.getWidth())/unitInPixels:this.PositionAndShape.RelativePosition.x=D.vfStaveNote.getBoundingBox().getX()/unitInPixels;const G=D.notes[0].sourceNote;G.isRest()&&G.Length.RealValue===this.parentMeasure.parentSourceMeasure.ActiveTimeSignature.RealValue&&(this.PositionAndShape.RelativePosition.x+=this.parentMeasure.parentSourceMeasure.Rules.WholeRestXShiftVexflow-.1,D.PositionAndShape.BorderLeft=-.7,D.PositionAndShape.BorderRight=.7),D.PositionAndShape.BorderLeft<F&&(F=D.PositionAndShape.BorderLeft)}this.PositionAndShape.RelativePosition.x-=F,this.PositionAndShape.calculateBoundingBox()}setMaxAccidentals(){for(const R of this.graphicalVoiceEntries)for(const F of R.notes)if(F.DrawnAccidental!==AccidentalEnum.NONE)return this.MaxAccidentals=1;return this.MaxAccidentals=0}setModifierXOffsets(){let R=[];for(const U of this.graphicalVoiceEntries)R=R.concat(U.notes);const F=R.map(U=>U.staffLine),D=this.calculateModifierXOffsets(F,1),G=this.calculateModifierXOffsets(F,.5);R.forEach((U,W)=>{U.baseFingeringXOffset=G[W],U.baseStringNumberXOffset=D[W]})}calculateModifierXOffsets(R,F){const D=[];for(let G=0;G<R.length;G++){let U=0,W=!0;for(;W;)for(let q=G;q>=0;q--){if(Math.abs(R[G]-R[q])<=F&&U===D[q]){U++,W=!0;break}W=!1}D.push(U)}return D}}Vex.Flow;class VexFlowGraphicalNote extends GraphicalNote{constructor(R,F,D,G=OctaveEnum.NONE,U,W=void 0){if(super(R,F,U,W),this.clef=D,this.octaveShift=G,R.Pitch){const q=R.isRest()?R.Pitch:OctaveShift.getPitchFromOctaveShift(R.Pitch,G);this.vfpitch=VexFlowConverter.pitch(q,R.isRest(),this.clef,this.sourceNote.Notehead),this.vfpitch[1]=void 0}}setAccidental(R){const F=this.drawPitch(R);this.vfpitch=VexFlowConverter.pitch(F,this.sourceNote.isRest(),this.clef,this.sourceNote.Notehead),this.DrawnAccidental=F.Accidental}drawPitch(R){return OctaveShift.getPitchFromOctaveShift(R,this.octaveShift)}Transpose(R,F,D,G){const U=super.Transpose(R,F,D,G),W=OctaveShift.getPitchFromOctaveShift(U,this.octaveShift);return this.vfpitch=VexFlowConverter.pitch(W,this.sourceNote.isRest(),this.clef,this.sourceNote.Notehead),this.vfpitch[1]=void 0,W}setIndex(R,F){this.vfnote=[R,F],this.vfnoteIndex=F}notehead(R=void 0){let F=R;F||(F=this.vfnote[0]);const D=F.note_heads;return D&&D.length>this.vfnoteIndex&&D[this.vfnoteIndex]?F.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 R=[];for(let F=0;;F++){const D=document.getElementById(`vf-${this.getSVGId()}-beam${F}`);if(!D)break;R.push(D)}return R}}class GraphicalChordSymbolContainer extends GraphicalObject{constructor(R,F,D,G,U,W){super(),this.chordSymbolContainer=R,this.boundingBox=new BoundingBox$1(this,F),this.rules=W,this.calculateLabel(D,U,G)}get GetChordSymbolContainer(){return this.chordSymbolContainer}get GraphicalLabel(){return this.graphicalLabel}calculateLabel(R,F,D){const G=ChordSymbolContainer.calculateChordText(this.chordSymbolContainer,F,D);this.graphicalLabel=new GraphicalLabel(new Label(G),R,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$7=Vex.Flow;class VexFlowTabMeasure extends VexFlowMeasure{constructor(R,F=void 0,D=void 0){super(R,F,D),this.isTabMeasure=!0}resetLayout(){var F;const R=(F=this.ParentStaff.StafflineCount)!=null?F:6;this.stave=new VF$7.TabStave(0,0,0,{space_above_staff_ln:0,space_below_staff_ln:0,num_lines:R}),this.updateInstructionWidth()}graphicalMeasureCreatedCalculations(){for(let F=0,D=this.staffEntries.length;F<D;++F){const G=this.staffEntries[F];for(const U of G.graphicalVoiceEntries)U.notes[0].sourceNote.isRest()?U.vfStaveNote=VexFlowConverter.GhostNotes(U.notes[0].sourceNote.Length)[0]:U.vfStaveNote=VexFlowConverter.CreateTabNote(U)}this.rules.TupletNumbersInTabs&&this.finalizeTuplets();const R=this.getVoicesWithinMeasure();for(const F of R){if(!F)continue;this.vfVoices[F.VoiceId]=new VF$7.Voice({beat_value:this.parentSourceMeasure.Duration.Denominator,num_beats:this.parentSourceMeasure.Duration.Numerator,resolution:VF$7.RESOLUTION}).setMode(VF$7.Voice.Mode.SOFT);const D=this.getRestFilledVexFlowStaveNotesPerVoice(F);for(const G of D){if(G.parentVoiceEntry&&G.parentVoiceEntry.IsGrace&&!G.parentVoiceEntry.GraceAfterMainNote)continue;const U=G;if(G.notes.length===0||!G.notes[0]||!G.notes[0].sourceNote.PrintObject){this.vfVoices[F.VoiceId].addTickable(U.vfStaveNote);continue}if(G.parentVoiceEntry&&G.parentVoiceEntry.Arpeggio){const W=G.parentVoiceEntry.Arpeggio;if(G.notes&&G.notes.length>1){const q=VexFlowConverter.StrokeTypeFromArpeggioType(W.type),Y=new VF$7.Stroke(q,{all_voices:this.rules.ArpeggiosGoAcrossVoices});this.rules.RenderArpeggios&&U.vfStaveNote.addStroke(0,Y)}else log$2.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.`)}this.vfVoices[F.VoiceId].addTickable(U.vfStaveNote)}}}}class StaffLine extends GraphicalObject{constructor(R,F){super(),this.measures=[],this.staffLines=new Array(5),this.octaveShifts=[],this.lyricLines=[],this.lyricsDashes=[],this.abstractExpressions=[],this.graphicalSlurs=[],this.Pedals=[],this.WavyLines=[],this.parentMusicSystem=R,this.parentStaff=F,this.boundingBox=new BoundingBox$1(this,R.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(R){this.measures=R}get StaffLines(){return this.staffLines}set StaffLines(R){this.staffLines=R}get Index(){return this.parentMusicSystem.StaffLines.indexOf(this)}get NextStaffLine(){const R=this.Index;return R!==this.parentMusicSystem.StaffLines.length?this.parentMusicSystem.StaffLines[R+1]:void 0}get LyricLines(){return this.lyricLines}get AbstractExpressions(){return this.abstractExpressions}set AbstractExpressions(R){this.abstractExpressions=R}set LyricLines(R){this.lyricLines=R}get LyricsDashes(){return this.lyricsDashes}set LyricsDashes(R){this.lyricsDashes=R}get ParentMusicSystem(){return this.parentMusicSystem}set ParentMusicSystem(R){this.parentMusicSystem=R}get ParentStaff(){return this.parentStaff}set ParentStaff(R){this.parentStaff=R}get SkyBottomLineCalculator(){return this.skyBottomLine}get SkyLine(){return this.skyBottomLine.SkyLine}get BottomLine(){return this.skyBottomLine.BottomLine}get OctaveShifts(){return this.octaveShifts}set OctaveShifts(R){this.octaveShifts=R}get StaffHeight(){return this.staffHeight}get TopLineOffset(){return this.topLineOffset}get BottomLineOffset(){return this.bottomLineOffset}get GraphicalSlurs(){return this.graphicalSlurs}addSlurToStaffline(R){this.graphicalSlurs.push(R)}addActivitySymbolClickArea(){const R=new StaffLineActivitySymbol(this),F=this.PositionAndShape;R.PositionAndShape.RelativePosition=new PointF2D(F.RelativePosition.x+F.BorderRight+.5,F.RelativePosition.y+.5),R.PositionAndShape.Parent=this.parentMusicSystem.PositionAndShape}isPartOfMultiStaffInstrument(){return this.parentStaff.ParentInstrument.Staves.length>1}findClosestStaffEntry(R){let F;for(let D=0,G=this.Measures.length;D<G;++D){const U=this.Measures[D];for(let W=0,q=U.staffEntries.length;W<q;++W){const Y=U.staffEntries[W];Math.abs(Y.PositionAndShape.RelativePosition.x-R+U.PositionAndShape.RelativePosition.x)<10&&(F=Y)}}return F}}class VexFlowContinuousDynamicExpression extends GraphicalContinuousDynamicExpression{constructor(R,F,D,G){if(super(R,F,D),this.IsVerbal){const U=new Label(R.Label);this.label=new GraphicalLabel(U,G||this.rules.ContinuousDynamicTextHeight,TextAlignmentEnum.LeftCenter,this.rules,this.PositionAndShape),this.label.Label.fontStyle=FontStyles.Italic,this.label.setLabelPositionAndShapeBorders(),this.PositionAndShape.calculateBoundingBox()}}}class AlignmentManager{constructor(R){this.parentStaffline=R,this.rules=this.parentStaffline.ParentMusicSystem.rules}alignDynamicExpressions(){var D,G,U,W;const R=[];let F=new Array;for(let q=0;q<this.parentStaffline.AbstractExpressions.length-1;q++){const Y=this.parentStaffline.AbstractExpressions[q],Q=this.parentStaffline.AbstractExpressions[q+1],Z=(D=Y==null?void 0:Y.SourceExpression)==null?void 0:D.Placement,K=(G=Q==null?void 0:Q.SourceExpression)==null?void 0:G.Placement;if(Z===K){const J=this.getDistance(Y.PositionAndShape,Q.PositionAndShape);Math.abs(J.x)<this.rules.DynamicExpressionMaxDistance?(F.indexOf(Y)===-1&&F.push(Y),F.push(Q)):(R.push(F),F=new Array)}}R.push(F);for(const q of R)if(q.length>0){const Y=q.map(J=>J.PositionAndShape.Center.y),Q=Math.max(...Y),Z=((U=window.GYM)==null?void 0:U.noNeedContinuousDynamic)||!1,K=((W=window.GYM)==null?void 0:W.noNeedGraphicalContinuousDynamic)||!1;for(let J=0;J<q.length;J++){const ie=q[J],ne=Y[J]-Q;if(ie instanceof VexFlowContinuousDynamicExpression?Z||(ie.shiftYPosition(-ne),ie.calcPsi()):(K||(ie.PositionAndShape.RelativePosition.y-=ne*.8),ie.PositionAndShape.calculateBoundingBox()),!Z&&ie.squeeze){const se=J<q.length-1?q[J+1]:void 0,re=J>0?q[J-1]:void 0;if(se){const ae=this.getOverlap(ie.PositionAndShape,se.PositionAndShape);ie.squeeze(-(ae.x+this.rules.DynamicExpressionSpacer))}if(re){const ae=this.getOverlap(re.PositionAndShape,ie.PositionAndShape);ie.squeeze(ae.x+this.rules.DynamicExpressionSpacer)}}}}}getDistance(R,F){const D=R.RelativePosition.x+R.BorderMarginRight,G=F.RelativePosition.x+F.BorderMarginLeft,U=R.RelativePosition.y+R.BorderMarginBottom,W=F.RelativePosition.y+F.BorderMarginTop;return new PointF2D(G-D,W-U)}getOverlap(R,F){return new PointF2D(R.RelativePosition.x+R.BorderMarginRight-(F.RelativePosition.x+F.BorderMarginLeft),R.RelativePosition.y+R.BorderMarginBottom-(F.RelativePosition.y+F.BorderMarginTop))}}class VexFlowStaffLine extends StaffLine{constructor(R,F){super(R,F),this.slursInVFStaffLine=[],this.alignmentManager=new AlignmentManager(this)}get SlursInVFStaffLine(){return this.slursInVFStaffLine}addVFSlurToVFStaffline(R){this.slursInVFStaffLine.push(R)}get AlignmentManager(){return this.alignmentManager}}const VF$6=Vex.Flow;class VexFlowMultiRestMeasure extends VexFlowMeasure{constructor(R,F=void 0,D=void 0){super(R,F,D),this.minimumStaffEntriesWidth=-1,D?this.rules=D.ParentMusicSystem.rules:F&&(this.rules=F.Rules),this.resetLayout(),this.multiRestElement=new VF$6.MultiMeasureRest(F.multipleRestMeasures,{})}draw(R){var U,W,q,Y,Q;const F=R.openGroup();(U=F==null?void 0:F.classList)==null||U.add("vf-measure");const D=R.openGroup();(W=D==null?void 0:D.classList)==null||W.add("vf-stave"),D==null||D.setAttribute("id",(Y=(q=this.stave)==null?void 0:q.attrs)==null?void 0:Y.id),this.stave.setContext(R).draw(),R.closeGroup();const G=R.openGroup();(Q=G==null?void 0:G.classList)==null||Q.add("vf-voices"),this.multiRestElement.setStave(this.stave),this.multiRestElement.setContext(R),this.multiRestElement.draw(),R.closeGroup();for(const Z of this.connectors)Z.setContext(R).draw();return R.closeGroup(),F}format(){}getVoicesWithinMeasure(){return[]}getGraphicalVoiceEntriesPerVoice(R){return[]}getRestFilledVexFlowStaveNotesPerVoice(R){return[]}handleBeam(R,F){}handleTuplet(R,F){}finalizeBeams(){}finalizeTuplets(){}layoutStaffEntry(R){}graphicalMeasureCreatedCalculations(){}createArticulations(){}createOrnaments(){}createFingerings(R){}getVFStave(){return this.stave}}const VF$5=Vex.Flow;class VexFlowBackend{getInnerElement(){return this.inner}getCanvas(){return this.canvas}getRenderElement(){let R=this.canvas;return this.getVexflowBackendType()===VF$5.Renderer.Backends.CANVAS&&(R=this.inner),R}getRenderer(){return this.renderer}removeAllChildrenFromContainer(R){for(;R.children.length!==0;)R.removeChild(R.children.item(0))}removeFromContainer(R){const F=this.getRenderElement();for(let D=0;D<R.children.length;D++)if(R.children.item(D)===F){R.removeChild(F);break}}resize(R,F){this.renderer.resize(R,F),this.width=R,this.height=F}}const VF$4=Vex.Flow;class CanvasVexFlowBackend extends VexFlowBackend{constructor(R){super(),this.rules=R}getVexflowBackendType(){return VF$4.Renderer.Backends.CANVAS}getOSMDBackendType(){return BackendType.Canvas}getCanvasSize(){var R;return(R=document.getElementById(this.rules.DYContainerId+this.graphicalMusicPage.PageNumber))==null?void 0:R.offsetHeight}initialize(R,F){this.zoom=F,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=this.rules.DYContainerId+this.graphicalMusicPage.PageNumber,this.inner.style.position="relative",this.canvas.style.zIndex="0",this.inner.appendChild(this.canvas),R.appendChild(this.inner),this.renderer=new VF$4.Renderer(this.canvas,this.getVexflowBackendType()),this.ctx=this.renderer.getContext()}initializeHeadless(R=300,F=300){this.graphicalMusicPage||(this.graphicalMusicPage=new GraphicalMusicPage(void 0),this.graphicalMusicPage.PageNumber=1),this.canvas=document.createElement("canvas"),this.canvas.width=R,this.canvas.height=F,this.renderer=new VF$4.Renderer(this.canvas,this.getVexflowBackendType()),this.ctx=this.renderer.getContext()}getContext(){return this.ctx}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(R){this.ctx.scale(R,R)}translate(R,F){this.CanvasRenderingCtx.translate(R,F)}renderText(R,F,D,G,U,W,q=void 0,Y=void 0){const Q=this.CanvasRenderingCtx.font;this.CanvasRenderingCtx.save(),this.CanvasRenderingCtx.font=VexFlowConverter.font(R,F,D,this.rules,Y),this.CanvasRenderingCtx.fillStyle=q,this.CanvasRenderingCtx.strokeStyle=q,this.CanvasRenderingCtx.fillText(G,W.x,W.y+U),this.CanvasRenderingCtx.restore(),this.CanvasRenderingCtx.font=Q}renderRectangle(R,F,D,G=1){const U=this.CanvasRenderingCtx.fillStyle;D?this.CanvasRenderingCtx.fillStyle=D:this.CanvasRenderingCtx.fillStyle=VexFlowConverter.style(F),this.CanvasRenderingCtx.globalAlpha=G,this.ctx.fillRect(R.x,R.y,R.width,R.height),this.CanvasRenderingCtx.fillStyle=U,this.CanvasRenderingCtx.globalAlpha=1}renderLine(R,F,D="#FF0000FF",G=2){const U=this.CanvasRenderingCtx.strokeStyle;this.CanvasRenderingCtx.strokeStyle=D,this.CanvasRenderingCtx.beginPath(),this.CanvasRenderingCtx.moveTo(R.x,R.y),this.CanvasRenderingCtx.lineTo(F.x,F.y),this.CanvasRenderingCtx.stroke(),this.CanvasRenderingCtx.strokeStyle=U}renderCurve(R){this.ctx.beginPath(),this.ctx.moveTo(R[0].x,R[0].y),this.ctx.bezierCurveTo(R[1].x,R[1].y,R[2].x,R[2].y,R[3].x,R[3].y),this.ctx.lineTo(R[7].x,R[7].y),this.ctx.bezierCurveTo(R[6].x,R[6].y,R[5].x,R[5].y,R[4].x,R[4].y),this.ctx.lineTo(R[0].x,R[0].y),this.ctx.closePath(),this.ctx.fill()}get CanvasRenderingCtx(){return this.ctx.vexFlowCanvasContext}}const VF$3=Vex.Flow;class SvgVexFlowBackend extends VexFlowBackend{constructor(R){super(),this.rules=R}getVexflowBackendType(){return VF$3.Renderer.Backends.SVG}getOSMDBackendType(){return BackendType.SVG}getCanvasSize(){var R;return(R=document.getElementById(this.rules.DYContainerId+this.graphicalMusicPage.PageNumber))==null?void 0:R.offsetHeight}initialize(R,F,D=void 0){this.zoom=F,this.canvas=document.createElement("div"),D||(D=this.graphicalMusicPage?this.graphicalMusicPage.PageNumber.toString():"1"),this.canvas.id=this.rules.DYContainerId+D,this.inner=this.canvas,this.inner.style.position="relative",this.canvas.style.zIndex="0",R.appendChild(this.inner),this.renderer=new Vex.Flow.Renderer(this.canvas,this.getVexflowBackendType()),this.ctx=this.renderer.getContext(),this.ctx.svg.id=this.rules.DYSVGContainerId+D}getContext(){return this.ctx}getSvgElement(){return this.ctx.svg}removeNode(R){var D;const F=(D=this.ctx)==null?void 0:D.svg;if(!F)return!1;try{F.removeChild(R)}catch(G){return log$2.error(G),!1}return!0}clear(){if(!this.ctx)return;const R=this.ctx.svg;for(;R.lastChild;)R.removeChild(R.lastChild);this.rules.PageBackgroundColor&&(this.ctx.svg.style["background-color"]=this.rules.PageBackgroundColor)}scale(R){this.ctx.scale(R,R)}translate(R,F){}renderText(R,F,D,G,U,W,q=void 0,Y=void 0){this.ctx.save();const Q=this.ctx.openGroup("text");q&&(this.ctx.attributes.fill=q,this.ctx.attributes.stroke=q);let Z=Y;(!Y||Y==="default")&&(Z=this.rules.DefaultFontFamily),this.ctx.setFont(Z,R,VexFlowConverter.fontStyle(F)),this.ctx.attributes["font-size"]=`${R}px`,this.ctx.state["font-size"]=`${R}px`;let K="normal",J="normal";switch(F){case FontStyles.Bold:K="bold";break;case FontStyles.Italic:J="italic";break;case FontStyles.BoldItalic:K="bold",J="italic";break;default:K="normal"}return this.ctx.attributes["font-weight"]=K,this.ctx.state["font-weight"]=K,this.ctx.attributes["font-style"]=J,this.ctx.state["font-style"]=J,this.ctx.fillText(G,W.x,W.y+U),this.ctx.closeGroup(),this.ctx.restore(),Q}renderRectangle(R,F,D,G=1){this.ctx.save();const U=this.ctx.openGroup("rect");return D?this.ctx.attributes.fill=D:this.ctx.attributes.fill=VexFlowConverter.style(F),this.ctx.attributes["fill-opacity"]=G,this.ctx.fillRect(R.x,R.y,R.width,R.height),this.ctx.restore(),this.ctx.attributes["fill-opacity"]=1,this.ctx.closeGroup(),U}renderLine(R,F,D="#FF0000FF",G=2){this.ctx.save();const U=this.ctx.openGroup("line");return this.ctx.beginPath(),this.ctx.moveTo(R.x,R.y),this.ctx.lineTo(F.x,F.y),this.ctx.attributes.stroke=D,this.ctx.lineWidth=G,this.ctx.stroke(),this.ctx.closeGroup(),this.ctx.restore(),U}renderCurve(R){const F=this.ctx.openGroup("curve");return this.ctx.beginPath(),this.ctx.moveTo(R[0].x,R[0].y),this.ctx.bezierCurveTo(R[1].x,R[1].y,R[2].x,R[2].y,R[3].x,R[3].y),this.ctx.lineTo(R[7].x,R[7].y),this.ctx.bezierCurveTo(R[6].x,R[6].y,R[5].x,R[5].y,R[4].x,R[4].y),this.ctx.lineTo(R[0].x,R[0].y),this.ctx.closePath(),this.ctx.fill(),this.ctx.closeGroup(),F}export(){const R=this.ctx.svg.cloneNode(!0),F=document.implementation.createDocumentType("svg","-//W3C//DTD SVG 1.1//EN","http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"),D=document.implementation.createDocument("http://www.w3.org/2000/svg","svg",F);D.replaceChild(R,D.documentElement);const G=new XMLSerializer().serializeToString(D),U=document.createElement("a");U.href="data:image/svg+xml; charset=utf8, "+encodeURIComponent(G.replace(/></g,`>
- \r<`)),U.download="opensheetmusicdisplay_download.svg",U.innerHTML=window.location.href+"/download",document.body.appendChild(U)}}class VexFlowInstantaneousDynamicExpression extends GraphicalInstantaneousDynamicExpression{constructor(R,F,D){super(R,F,D);const G=new Label(this.Expression);this.label=new GraphicalLabel(G,this.rules.ContinuousDynamicTextHeight,TextAlignmentEnum.CenterCenter,this.rules,this.PositionAndShape),this.label.Label.fontStyle=FontStyles.BoldItalic,this.label.setLabelPositionAndShapeBorders(),this.PositionAndShape.calculateBoundingBox()}get InstantaneousDynamic(){return this.mInstantaneousDynamicExpression}get Expression(){return DynamicEnum[this.mInstantaneousDynamicExpression.DynEnum]}}class GraphicalOctaveShift extends GraphicalObject{constructor(R,F){super(),this.getOctaveShift=R,this.setSymbol(),this.PositionAndShape=new BoundingBox$1(this,F)}setSymbol(){switch(this.getOctaveShift.Type){case OctaveEnum.VA8:this.octaveSymbol=MusicSymbol.VA8;break;case OctaveEnum.VB8:this.octaveSymbol=MusicSymbol.VB8;break;case OctaveEnum.MA15:this.octaveSymbol=MusicSymbol.MA15;break;case OctaveEnum.MB15:this.octaveSymbol=MusicSymbol.MB15;break;default:throw new ArgumentOutOfRangeException("")}}}const VF$2=Vex.Flow;class VexFlowOctaveShift extends GraphicalOctaveShift{constructor(R,F){switch(super(R,F),R.Type){case OctaveEnum.VA8:this.position=VF$2.TextBracket.Positions.TOP,this.supscript="va",this.text="8";break;case OctaveEnum.MA15:this.position=VF$2.TextBracket.Positions.TOP,this.supscript="ma",this.text="15";break;case OctaveEnum.VB8:this.position=VF$2.TextBracket.Positions.BOTTOM,this.supscript="vb",this.text="8";break;case OctaveEnum.MB15:this.position=VF$2.TextBracket.Positions.BOTTOM,this.supscript="mb",this.text="15";break;default:log$2.error("Unknown or NONE octaveshift. This should not be called!");break}}setStartNote(R){for(const F of R.graphicalVoiceEntries){const D=F;if(D!=null&&D.vfStaveNote)return this.startNote=D.vfStaveNote,!0}return!1}setEndNote(R){for(const F of R.graphicalVoiceEntries){const D=F;if(D!=null&&D.vfStaveNote)return this.endNote=D.vfStaveNote,!0}return!1}getTextBracket(){return new VF$2.TextBracket({position:this.position,start:this.startNote,stop:this.endNote,superscript:this.supscript,text:this.text})}}Vex.Flow;class VexflowStafflineNoteCalculator{constructor(R){this.staffPitchListMapping=new Dictionary,this.baseLineNote=NoteEnum.B,this.baseLineOctave=1,this.rules=R}trackNote(R){if(!(R instanceof VexFlowGraphicalNote)||R.Clef().ClefType!==ClefEnum.percussion||R.sourceNote.isRest()||this.rules.PercussionOneLineCutoff===0||this.rules.PercussionForceVoicesOneLineCutoff===-1)return;const F=R.parentVoiceEntry.parentStaffEntry.sourceStaffEntry.ParentStaff.idInMusicSheet;let D;this.staffPitchListMapping.containsKey(F)||this.staffPitchListMapping.setValue(F,new Array),D=this.staffPitchListMapping.getValue(F);const G=R.sourceNote.Pitch;VexflowStafflineNoteCalculator.findOrInsert(D,G)}static PitchIndexOf(R,F,D=0){if(D>R.length-1)return-1;for(let G=D;G<R.length;G++){const U=R[G];if(F.OperatorEquals(U))return G}return-1}static findOrInsert(R,F){for(let D=0;D<R.length;D++){const G=R[D];if(F.OperatorEquals(G))return D;if(F.OperatorFundamentalLessThan(G))return R.splice(D,0,F),D}return R.push(F),R.length-1}positionNote(R){const F=R.parentVoiceEntry.parentStaffEntry.sourceStaffEntry.ParentStaff.idInMusicSheet;if(!(R instanceof VexFlowGraphicalNote)||R.sourceNote.isRest()||!this.staffPitchListMapping.containsKey(F))return R;const D=this.staffPitchListMapping.getValue(F),G=this.rules.PercussionUseXMLDisplayStep&&R.sourceNote.displayStepUnpitched!==void 0;if(D.length>this.rules.PercussionOneLineCutoff&&!G)return R;const U=R,W=R.sourceNote.Pitch;let q=this.baseLineNote,Y=this.baseLineOctave;if(this.rules.PercussionUseXMLDisplayStep&&R.sourceNote.displayStepUnpitched!==void 0&&(q=R.sourceNote.displayStepUnpitched,Y=R.sourceNote.displayOctaveUnpitched+this.rules.PercussionOneLineXMLDisplayStepOctaveOffset),D.length<=this.rules.PercussionForceVoicesOneLineCutoff)U.setAccidental(new Pitch(q,Y,W.Accidental));else{const Q=VexflowStafflineNoteCalculator.PitchIndexOf(D,W);if(Q>-1){const Z=Math.ceil(D.length/2);if(!this.rules.PercussionUseXMLDisplayStep)if(Q>=Z)switch(Y=2,(Q-Z)%5){case 1:q=NoteEnum.E;break;case 2:q=NoteEnum.G;break;case 3:q=NoteEnum.B;break;case 4:q=NoteEnum.D,Y=3;break;default:q=NoteEnum.C;break}else switch(Q%5){case 1:q=NoteEnum.F;break;case 2:q=NoteEnum.D;break;case 3:q=NoteEnum.B,Y=0;break;case 4:q=NoteEnum.G,Y=0;break;default:q=NoteEnum.A;break}const K=new Pitch(q,Y,W.Accidental);U.setAccidental(K);const J=U.parentVoiceEntry.parentVoiceEntry;!this.rules.SetWantedStemDirectionByXml&&J.Notes.length<2&&(K.Octave>this.baseLineOctave||K.FundamentalNote===this.baseLineNote&&K.Octave===this.baseLineOctave?U.parentVoiceEntry.parentVoiceEntry.WantedStemDirection=StemDirectionType.Up:U.parentVoiceEntry.parentVoiceEntry.WantedStemDirection=StemDirectionType.Down)}}return U}getStafflineUniquePositionCount(R){return this.staffPitchListMapping.containsKey(R)?this.staffPitchListMapping.getValue(R).length:0}}class SkyBottomLineCalculator{constructor(R){this.mStaffLineParent=R,this.mRules=R.ParentMusicSystem.rules}calculateLines(){const R=Math.max(Math.ceil(this.StaffLineParent.PositionAndShape.Size.width*this.SamplingUnit),1);this.mSkyLine=[],this.mBottomLine=[];const F=new CanvasVexFlowBackend(this.StaffLineParent.ParentMusicSystem.rules);for(const W of this.StaffLineParent.Measures){W.PositionAndShape.calculateAbsolutePositionsRecursive(0,0);const q=W.getVFStave();let Y=q.getWidth();if(!(Y>0)&&!W.IsExtraGraphicalMeasure&&(log$2.warn("SkyBottomLineCalculator: width not > 0 in measure "+W.MeasureNumber),Y=50),!(Y>=50)&&W.IsExtraGraphicalMeasure)continue;F.initializeHeadless(Y);const Q=F.getContext(),Z=F.getCanvas();Y=Z.width;const K=Z.height;this.mRules.DYMusicScoreType==="jianpu"?q.setY(q.y-50):q.setY(q.y+100);const J=q.getWidth();q.setWidth(Y),W.format(),q.setWidth(J);try{W.draw(Q)}catch(le){log$2.warn("SkyBottomLineCalculator.calculateLines.draw",le)}const ie=Q.getImageData(0,0,Y,K),ne=4,se=Math.max(Math.ceil(W.PositionAndShape.Size.width*this.mRules.SamplingUnit),1),re=new Array(se),ae=new Array(se);for(let le=0;le<Y;le++){for(let ce=0;ce<K;ce++){const de=ce*Y*ne+le*ne;if(ie.data[de+3]>0){re[le]=ce;break}}for(let ce=K;ce>0;ce--){const de=ce*Y*ne+le*ne;if(ie.data[de+3]>0){ae[le]=ce;break}}}for(let le=0;le<re.length;le++)re[le]===void 0&&(re[le]=Math.max(this.findPreviousValidNumber(le,re),this.findNextValidNumber(le,re)));for(let le=0;le<ae.length;le++)ae[le]===void 0&&(ae[le]=Math.max(this.findPreviousValidNumber(le,ae),this.findNextValidNumber(le,ae)));this.mSkyLine.push(...re),this.mBottomLine.push(...ae),F.clear()}const D=this.mSkyLine.length/R,G=[],U=[];for(let W=0;W<this.mSkyLine.length&&G.length!==R;W+=D){const q=Math.min(this.mSkyLine.length,W+D);let Y=this.mSkyLine.slice(W,q+1);G.push(Math.min(...Y)),Y=this.mBottomLine.slice(W,q+1),U.push(Math.max(...Y))}this.mSkyLine=G,this.mBottomLine=U,this.mSkyLine.length!==R&&log$2.debug(`SkyLine calculation was not correct (${this.mSkyLine.length} instead of ${R})`),this.mSkyLine=this.mSkyLine.map(W=>(W-Math.max(...this.mSkyLine))/unitInPixels+this.StaffLineParent.TopLineOffset),this.mBottomLine=this.mBottomLine.map(W=>(W-Math.min(...this.mBottomLine))/unitInPixels+this.StaffLineParent.BottomLineOffset)}findPreviousValidNumber(R,F){for(let D=R;D>=0;D--)if(!isNaN(F[D]))return F[D];return 0}findNextValidNumber(R,F){if(R>=F.length)return F[R-1];for(let D=R;D<F.length;D++)if(!isNaN(F[D]))return F[D];return 0}drawPixel(R,F,D="#FF0000FF"){const G=F.getContext(),U=G.fillStyle;G.fillStyle=D,G.fillRect(R.x,R.y,2,2),G.fillStyle=U}updateSkyLineWithWedge(R,F){let D=Math.floor(R.x*this.SamplingUnit),G=Math.ceil(F.x*this.SamplingUnit),U=(F.y-R.y)/(F.x-R.x);G-D<=1&&(G++,U=0),D<0&&(D=0),D>=this.BottomLine.length&&(D=this.BottomLine.length-1),G<0&&(G=0),G>=this.BottomLine.length&&(G=this.BottomLine.length),this.SkyLine[D]=R.y;for(let W=D+1;W<Math.min(G,this.SkyLine.length);W++)this.SkyLine[W]=this.SkyLine[W-1]+U/this.SamplingUnit}updateBottomLineWithWedge(R,F){let D=Math.floor(R.x*this.SamplingUnit),G=Math.ceil(F.x*this.SamplingUnit),U=(F.y-R.y)/(F.x-R.x);G-D<=1&&(G++,U=0),D<0&&(D=0),D>=this.BottomLine.length&&(D=this.BottomLine.length-1),G<0&&(G=0),G>=this.BottomLine.length&&(G=this.BottomLine.length),this.BottomLine[D]=R.y;for(let W=D+1;W<G;W++)this.BottomLine[W]=this.BottomLine[W-1]+U/this.SamplingUnit}updateSkyLineInRange(R,F,D){this.updateInRange(this.mSkyLine,R,F,D)}updateBottomLineInRange(R,F,D){this.updateInRange(this.BottomLine,R,F,D)}resetSkyLineInRange(R,F){this.updateInRange(this.SkyLine,R,F)}resetBottomLineInRange(R,F){this.setInRange(this.BottomLine,R,F)}setSkyLineWithValue(R){this.SkyLine.forEach(F=>R)}setBottomLineWithValue(R){this.BottomLine.forEach(F=>R)}getLeftIndexForPointX(R,F){const D=Math.floor(R*this.SamplingUnit);return D<0?0:D>=F?F-1:D}getRightIndexForPointX(R,F){const D=Math.ceil(R*this.SamplingUnit);return D<0?0:D>=F?F-1:D}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(R=>!isNaN(R)))}getSkyLineMinAtPoint(R){const F=Math.round(R*this.SamplingUnit);return this.mSkyLine[F]}getSkyLineMinInRange(R,F){return this.getMinInRange(this.SkyLine,R,F)}getBottomLineMax(){return Math.max(...this.BottomLine.filter(R=>!isNaN(R)))}getBottomLineMaxAtPoint(R){const F=Math.round(R*this.SamplingUnit);return this.mBottomLine[F]}getBottomLineMaxInRange(R,F){return this.getMaxInRange(this.BottomLine,R,F)}getBottomLineMaxInBoundingBox(R){const F=Math.floor(R.AbsolutePosition.x+R.BorderLeft),D=Math.ceil(R.AbsolutePosition.x+R.BorderRight);return this.getMaxInRange(this.mBottomLine,F,D)}updateWithBoundingBoxRecursively(R){if(R.ChildElements&&R.ChildElements.length>0)for(const F of R.ChildElements)this.updateWithBoundingBoxRecursively(F);else{const F=R.BorderTop+R.AbsolutePosition.y,D=R.BorderBottom+R.AbsolutePosition.y;if(F<0){const G=Math.floor(R.AbsolutePosition.x+R.BorderLeft),U=Math.ceil(R.AbsolutePosition.x+R.BorderRight);this.updateInRange(this.mSkyLine,G,U,F)}else if(D>this.StaffLineParent.StaffHeight){const G=Math.floor(R.AbsolutePosition.x+R.BorderLeft),U=Math.ceil(R.AbsolutePosition.x+R.BorderRight);this.updateInRange(this.mBottomLine,G,U,D)}}}updateInRange(R,F=0,D=R.length,G=0){if(F=Math.floor(F*this.SamplingUnit),D=Math.ceil(D*this.SamplingUnit),D<F)throw new Error("start index of line is greater than the end index");F<0&&(F=0),D>R.length&&(D=R.length);for(let U=F;U<D;U++)R[U]=Math.abs(G)>Math.abs(R[U])?G:R[U]}setInRange(R,F=0,D=R.length,G=0){if(F=Math.floor(F*this.SamplingUnit),D=Math.ceil(D*this.SamplingUnit),D<F)throw new Error("start index of line is greater then the end index");F<0&&(F=0),D>R.length&&(D=R.length);for(let U=F;U<D;U++)R[U]=G}getMinInRange(R,F,D){if(F=Math.floor(F*this.SamplingUnit),D=Math.ceil(D*this.SamplingUnit),!R)return Number.MAX_VALUE;if(F<0&&(F=0),F>=R.length&&(F=R.length-1),D<0&&(D=0),D>=R.length&&(D=R.length),F>=0&&D<=R.length)return Math.min(...R.slice(F,D+1))}getMaxInRange(R,F,D){if(F=Math.floor(F*this.SamplingUnit),D=Math.ceil(D*this.SamplingUnit),!R)return Number.MIN_VALUE;if(F<0&&(F=0),F>=R.length&&(F=R.length-1),D<0&&(D=0),D>=R.length&&(D=R.length),F>=0&&D<=R.length)return Math.max(...R.slice(F,D+1))}get SamplingUnit(){return this.mRules.SamplingUnit}get StaffLineParent(){return this.mStaffLineParent}get SkyLine(){return this.mSkyLine}get BottomLine(){return this.mBottomLine}}var parser$3={exports:{}};/*!
- * 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(B,R){(function(F,D){B.exports=D()})(commonjsGlobal$2,function(){return function(D){for(var G={command:/\s*([achlmqstvz])/gi,number:/\s*([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/gi,comma:/\s*(?:(,)|\s)/g,flag:/\s*([01])/g},U={number:function(se){return+ie("number",se)},"coordinate pair":function(se){var re=ie("number",se);if(re===null&&!se)return null;ie("comma");var ae=ie("number",!0);return{x:+re,y:+ae}},"arc definition":function(se){var re=U["coordinate pair"](se);if(!re&&!se)return null;ie("comma");var ae=+ie("number",!0);ie("comma",!0);var le=!!+ie("flag",!0);ie("comma");var ce=!!+ie("flag",!0);ie("comma");var he=U["coordinate pair"](!0);return{radii:re,rotation:ae,large:le,clockwise:ce,end:he}}},W=0,q=[];W<D.length;){var Y=ie("command"),Q=Y.toUpperCase(),Z=Y!==Q,K;switch(Q){case"M":K=ne("coordinate pair").map(function(se,re){return re===1&&(Y=Z?"l":"L"),J({end:se})});break;case"L":case"T":K=ne("coordinate pair").map(function(se){return J({end:se})});break;case"C":if(K=ne("coordinate pair"),K.length%3)throw Error("Expected coordinate pair triplet at position "+W);K=K.reduce(function(se,re,ae){var le=ae%3;if(!le)se.push(J({cp1:re}));else{var ce=se[se.length-1];ce[le===1?"cp2":"end"]=re}return se},[]);break;case"Q":case"S":if(K=ne("coordinate pair"),K.length&1)throw Error("Expected coordinate pair couple at position "+W);K=K.reduce(function(se,re,ae){var le=ae&1;if(!le)se.push(J({cp:re}));else{var ce=se[se.length-1];ce.end=re}return se},[]);break;case"H":case"V":K=ne("number").map(function(se){return J({value:se})});break;case"A":K=ne("arc definition").map(J);break;case"Z":K=[{code:"Z"}];break}q.push.apply(q,K)}return q;function J(se){return se.code=Y,se.relative=Z,se}function ie(se,re){G[se].lastIndex=W;var ae=G[se].exec(D);if(!ae||ae.index!==W){if(!re)return null;throw Error("Expected "+se+" at position "+W)}return W=G[se].lastIndex,ae[1]}function ne(se){for(var re=[],ae,le=!0;ae=U[se](le);)re.push(ae),le=!!ie("comma");return re}}})})(parser$3);var parse$3=parser$3.exports;class SkyBottomLineCalculatorSVG extends SkyBottomLineCalculator{recursiveUpdate(R,F,D,G){const U=R.getBBox(),W=U.y/unitInPixels,q=U.height/unitInPixels+W,[Y,Q]=G;if(W<F.top||q>F.bottom)switch(R.tagName.toLowerCase()){case"g":for(const J of R.children)this.recursiveUpdate(J,F,D,G);break;case"circle":case"rect":case"line":case"path":let Z=Math.floor((U.x-D.x)/unitInPixels*this.mRules.SamplingUnit);const K=Z+Math.ceil(U.width/unitInPixels*this.mRules.SamplingUnit);if(R.parentElement.classList.contains("vf-beams")&&R.hasAttribute("d")){const J=parse$3(R.getAttribute("d"));if(J.length===5){const ie=J[0],ne=J[3],se=(ne.end.y-ie.end.y)/(ne.end.x-ie.end.x);let re=ie.end.y/unitInPixels;for(Z;Z<=K;Z++)re<Y[Z]&&(Y[Z]=re),re>Q[Z]&&(Q[Z]=re),re+=se/this.mRules.SamplingUnit}}else for(Z;Z<=K;Z++)W<Y[Z]&&(Y[Z]=W),q>Q[Z]&&(Q[Z]=q);break}}calculateLinesForMeasure(R,F){var me,fe,ge;const D=F.getBBox(),G=Math.max(Math.round(R.PositionAndShape.Size.width*this.mRules.SamplingUnit),1),U=D.height/unitInPixels,q=F.getElementsByClassName("vf-stave")[0].getBBox();let Y=(q==null?void 0:q.height)/unitInPixels,Q=(q==null?void 0:q.y)/unitInPixels;const Z=R.getVFStave();let K=((me=Z.options)!=null&&me.num_lines?Z.options.num_lines:5)-1,J=-1,ie=0;const ne=[K];for(const Se of(fe=Z.options)==null?void 0:fe.line_config)Se.visible?(J===-1&&(J=ie),ne.push(ie)):K--,ie++;const se=ne.pop();J===-1&&(J=0),K=se-J;const re=(ge=Z.options)==null?void 0:ge.spacing_between_lines_px,ae=K*re/unitInPixels;Y-ae>.2&&(Y=ae,Q=J*re/unitInPixels);const le=Q+Y,ce=new Array(G).fill(Q),he=new Array(G).fill(le),de=[ce,he];if(U>Y)for(const Se of F.children)this.recursiveUpdate(Se,{top:Q,bottom:le},D,[ce,he]);return de}calculateLines(){this.mSkyLine=[],this.mBottomLine=[];const R=document.createElement("div");document.body.append(R);const F=new SvgVexFlowBackend(this.mRules);F.initialize(R,1,"0");const D=F.getContext(),G=D.openGroup();G.classList.add("staffline");for(const U of this.StaffLineParent.Measures){U.PositionAndShape.calculateAbsolutePositionsRecursive(0,0),U.setAbsoluteCoordinates(U.PositionAndShape.AbsolutePosition.x*unitInPixels,U.PositionAndShape.AbsolutePosition.y*unitInPixels);const W=U.draw(D),[q,Y]=this.calculateLinesForMeasure(U,W);this.mSkyLine.push(...q),this.mBottomLine.push(...Y)}D.closeGroup();for(const U of G.getElementsByClassName("vf-ties"))for(const W of U.childNodes)if(W.nodeName.toLowerCase()==="path"){const q=W.getBBox();let Y=Math.floor(q.x/unitInPixels*this.mRules.SamplingUnit);const Q=Y+Math.ceil(q.width/unitInPixels*this.mRules.SamplingUnit),Z=q.y/unitInPixels,K=q.height/unitInPixels+Z;for(Y;Y<=Q;Y++)Z<this.mSkyLine[Y]&&(this.mSkyLine[Y]=Z),K>this.mBottomLine[Y]&&(this.mBottomLine[Y]=K)}F.clear(),R.remove()}}const VF$1=Vex.Flow;class VexFlowGraphicalSymbolFactory{constructor(){this.hasBBox=!1,document.createElementNS("http://www.w3.org/2000/svg","g").getBBox!==void 0&&(this.hasBBox=!0)}createMusicSystem(R,F){return new VexFlowMusicSystem(R,F)}createStaffLine(R,F){return new VexFlowStaffLine(R,F)}createSkyBottomLineCalculator(R){return R.ParentMusicSystem.rules.PerformanceMode&&this.hasBBox?new SkyBottomLineCalculatorSVG(R):new SkyBottomLineCalculator(R)}createGraphicalMeasure(R,F,D=!1){return new VexFlowMeasure(F,R,void 0)}createMultiRestMeasure(R,F,D){return new VexFlowMultiRestMeasure(F,R,D)}createTabStaffMeasure(R,F){return new VexFlowTabMeasure(F,R)}createExtraGraphicalMeasure(R){const F=new VexFlowMeasure(R.ParentStaff,void 0,R);return F.IsExtraGraphicalMeasure=!0,F.ExtraGraphicalMeasurePreviousMeasure=R.Measures.last(),F}createStaffEntry(R,F){return new VexFlowStaffEntry(F,R,void 0)}createVoiceEntry(R,F){return new VexFlowVoiceEntry(R,F)}createNote(R,F,D,G=OctaveEnum.NONE,U,W=void 0){return new VexFlowGraphicalNote(R,F,D,G,U,W)}createGraceNote(R,F,D,G,U=OctaveEnum.NONE){return new VexFlowGraphicalNote(R,F,D,U,G)}addGraphicalAccidental(R,F){R.setAccidental(F)}addFermataAtTiedEndNote(R,F){}createInStaffClef(R,F){const D=R,G=VexFlowConverter.Clef(F,"small");D.vfClefBefore=new VF$1.ClefNote(G.type,G.size,G.annotation)}createChordSymbols(R,F,D,G){const U=F.parentMeasure.parentSourceMeasure.Rules;let W=0;const q=U.ChordSymbolXSpacing;for(const Y of R.ChordContainers){const Q=new GraphicalChordSymbolContainer(Y,F.PositionAndShape,U.ChordSymbolTextHeight,D,G,F.parentMeasure.parentSourceMeasure.Rules),Z=Q.GraphicalLabel;Z.PositionAndShape.RelativePosition.y-=U.ChordSymbolYOffset,Z.PositionAndShape.RelativePosition.x+=W,Z.setLabelPositionAndShapeBorders(),Q.PositionAndShape.calculateBoundingBox(),F.graphicalChordContainers.push(Q),W+=Z.PositionAndShape.Size.width+q}}createGraphicalTechnicalInstruction(R,F){}}Vex.Flow;class GraphicalTie{constructor(R,F=void 0,D=void 0){this.tie=R,this.startNote=F,this.endNote=D}get SVGElement(){return this.vfTie.getAttribute("el")}get GetTie(){return this.tie}get StartNote(){return this.startNote}get Tie(){return this.tie}set StartNote(R){this.startNote=R}get EndNote(){return this.endNote}set EndNote(R){this.endNote=R}}class GraphicalLyricEntry{constructor(R,F,D,G){this.lyricsEntry=R,this.graphicalStaffEntry=F;const U=F.parentMeasure.parentSourceMeasure.Rules.LyricsAlignmentStandard;R.Text.length>=4&&R.Parent.Notes[0].Length.Denominator>4&&TextAlignmentEnum.LeftBottom;const W=new Label(R.Text);this.graphicalLabel=new GraphicalLabel(W,D,U,this.graphicalStaffEntry.parentMeasure.parentSourceMeasure.Rules,F.PositionAndShape),this.graphicalLabel.PositionAndShape.RelativePosition=new PointF2D(0,G),U===TextAlignmentEnum.LeftBottom&&(this.graphicalLabel.PositionAndShape.RelativePosition.x-=1)}get LyricsEntry(){return this.lyricsEntry}get ParentLyricWord(){return this.graphicalLyricWord}set ParentLyricWord(R){this.graphicalLyricWord=R}get GraphicalLabel(){return this.graphicalLabel}set GraphicalLabel(R){this.graphicalLabel=R}get StaffEntryParent(){return this.graphicalStaffEntry}set StaffEntryParent(R){this.graphicalStaffEntry=R}}class GraphicalLyricWord{constructor(R){this.graphicalLyricsEntries=[],this.lyricWord=R,this.initialize()}get GetLyricWord(){return this.lyricWord}get GraphicalLyricsEntries(){return this.graphicalLyricsEntries}set GraphicalLyricsEntries(R){this.graphicalLyricsEntries=R}isFilled(){for(let R=0;R<this.graphicalLyricsEntries.length;R++)if(!this.graphicalLyricsEntries[R])return!1;return!0}initialize(){for(let R=0;R<this.lyricWord.Syllables.length;R++)this.graphicalLyricsEntries.push(void 0)}}const _GraphicalCurve=class{constructor(){_GraphicalCurve.tPow3=new Array(_GraphicalCurve.bezierCurveStepSize),_GraphicalCurve.oneMinusTPow3=new Array(_GraphicalCurve.bezierCurveStepSize),_GraphicalCurve.bezierFactorOne=new Array(_GraphicalCurve.bezierCurveStepSize),_GraphicalCurve.bezierFactorTwo=new Array(_GraphicalCurve.bezierCurveStepSize);for(let B=0;B<_GraphicalCurve.bezierCurveStepSize;B++){const R=B/_GraphicalCurve.bezierCurveStepSize;_GraphicalCurve.tPow3[B]=Math.pow(R,3),_GraphicalCurve.oneMinusTPow3[B]=Math.pow(1-R,3),_GraphicalCurve.bezierFactorOne[B]=3*Math.pow(1-R,2)*R,_GraphicalCurve.bezierFactorTwo[B]=3*(1-R)*Math.pow(R,2)}}calculateCurvePointAtIndex(B){const R=Math.round(B*_GraphicalCurve.bezierCurveStepSize);return R<0||R>=_GraphicalCurve.bezierCurveStepSize?new PointF2D:new PointF2D(_GraphicalCurve.oneMinusTPow3[R]*this.bezierStartPt.x+_GraphicalCurve.bezierFactorOne[R]*this.bezierStartControlPt.x+_GraphicalCurve.bezierFactorTwo[R]*this.bezierEndControlPt.x+_GraphicalCurve.tPow3[R]*this.bezierEndPt.x,_GraphicalCurve.oneMinusTPow3[R]*this.bezierStartPt.y+_GraphicalCurve.bezierFactorOne[R]*this.bezierStartControlPt.y+_GraphicalCurve.bezierFactorTwo[R]*this.bezierEndControlPt.y+_GraphicalCurve.tPow3[R]*this.bezierEndPt.y)}};let GraphicalCurve=_GraphicalCurve;GraphicalCurve.bezierCurveStepSize=1e3;const _GraphicalSlur=class extends GraphicalCurve{constructor(B,R){super(),this.staffEntries=[],this.slur=B,this.rules=R}static Compare(B,R){if(B.staffEntries.length<1)return-1;if(R.staffEntries.length<1)return 1;const F=Fraction$1.minus(B.staffEntries[B.staffEntries.length-1].getAbsoluteTimestamp(),B.staffEntries[0].getAbsoluteTimestamp()),D=Fraction$1.minus(R.staffEntries[R.staffEntries.length-1].getAbsoluteTimestamp(),R.staffEntries[0].getAbsoluteTimestamp());return F.RealValue>D.RealValue?1:D.RealValue>F.RealValue?-1:0}calculateCurve(B){const R=this.staffEntries[0],F=this.staffEntries[this.staffEntries.length-1];let D=R.findGraphicalNoteFromNote(this.slur.StartNote);!D&&this.graceStart&&(D=R.findGraphicalNoteFromGraceNote(this.slur.StartNote)),D||(D=R.findEndTieGraphicalNoteFromNoteWithStartingSlur(this.slur.StartNote,this.slur));let G=F.findGraphicalNoteFromNote(this.slur.EndNote);!G&&this.graceEnd&&(G=F.findGraphicalNoteFromGraceNote(this.slur.EndNote));const U=R.parentMeasure.ParentStaffLine,W=U.SkyBottomLineCalculator;this.calculatePlacement(W,U);const q=this.calculateStartAndEnd(D,G,U,B,W),Y=q.startX,Q=q.endX;let Z=q.startY,K=q.endY;const J=B.SlurTangentMinAngle,ie=B.SlurTangentMaxAngle;let ne;if(this.placement===PlacementEnum.Above){Z-=B.SlurNoteHeadYOffset,K-=B.SlurNoteHeadYOffset;const se=new PointF2D(this.staffEntries[0].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[0].PositionAndShape.RelativePosition.x,Z);D?se.x+=this.staffEntries[0].PositionAndShape.BorderRight:se.x=this.staffEntries[0].parentMeasure.beginInstructionsWidth,this.graceStart&&(se.x+=F.PositionAndShape.RelativePosition.x);const re=new PointF2D(this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].PositionAndShape.RelativePosition.x,K);if(G?re.x+=this.staffEntries[this.staffEntries.length-1].PositionAndShape.BorderLeft:re.x=this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.Size.width,this.graceEnd&&(re.x+=F.staffEntryParent.PositionAndShape.RelativePosition.x),ne=this.calculateTopPoints(se,re,U,W),ne.length===0){const Ye=new PointF2D((re.x-se.x)/2+se.x,(re.y-se.y)/2+se.y);ne.push(Ye)}const ae=Math.atan((K-Z)/(Q-Y)),le=new PointF2D(0,0);let ce=new PointF2D(Q-Y,-(K-Z));const he=Matrix2D.getRotationMatrix(ae),de=he.getTransposeMatrix();ce=he.vectorMultiplication(ce);const me=this.calculateTranslatedAndRotatedPointListAbove(ne,Y,Z,he);let fe=this.calculateMaxLeftSlope(me,le,ce),ge=this.calculateMaxRightSlope(me,le,ce);const Se=le.y-le.x*fe,Ee=ce.y-ce.x*ge,ve=new PointF2D;let xe=!1;Math.abs(Math.abs(fe)-Math.abs(ge))<1e-4?(ve.x=ce.x/2,ve.y=0,xe=!0):(ve.x=(Ee-Se)/(fe-ge),ve.y=fe*ve.x+Se);const Pe=this.calculateHeightWidthRatio(ce.x,me);let ye=0,Te=0;if(Math.abs(Pe)>.001){const Ye=Math.abs(fe/(Pe*2)),et=Math.abs(fe);ye=Math.max(0,et*(Math.min(10,Ye-1)/10)),fe-=ye;const Je=Math.abs(ge/(Pe*2)),st=Math.abs(ge);Te=Math.max(0,st*(Math.min(10,Je-1)/10)),ge+=Te}let Le=J,we=-J;if(!xe){const Ye=this.calculateAngles(J,fe,ge,ie);Le=Ye.startAngle,we=Ye.endAngle}const Ae=this.calculateControlPoints(ce.x,Le,we,me,Pe,Z,K);let Me=Ae.startControlPoint,ke=Ae.endControlPoint;Me=de.vectorMultiplication(Me),Me.x+=Y,Me.y=-Me.y+Z,ke=de.vectorMultiplication(ke),ke.x+=Y,ke.y=-ke.y+Z,this.bezierStartPt=new PointF2D(Y,Z-ye),this.bezierStartControlPt=new PointF2D(Me.x,Me.y-ye),this.bezierEndControlPt=new PointF2D(ke.x,ke.y-Te),this.bezierEndPt=new PointF2D(Q,K-Te);const Ne=U.SkyLine.length,Ie=W.getLeftIndexForPointX(this.bezierStartPt.x,Ne),Ge=W.getLeftIndexForPointX(this.bezierEndPt.x,Ne),ze=this.bezierEndPt.x-this.bezierStartPt.x,Ve=W.SamplingUnit;for(let Ye=Ie;Ye<Ge;Ye++){const et=Ye/Ve-this.bezierStartPt.x,Je=this.calculateCurvePointAtIndex(Math.abs(et)/ze);let st=W.getLeftIndexForPointX(Je.x,Ne);st>=Ie&&(U.SkyLine[st]=Math.min(U.SkyLine[st],Je.y)),st++,st<Ne&&(U.SkyLine[st]=Math.min(U.SkyLine[st],Je.y))}}else{Z+=B.SlurNoteHeadYOffset,K+=B.SlurNoteHeadYOffset;const se=new PointF2D(this.staffEntries[0].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[0].PositionAndShape.RelativePosition.x,Z);D?se.x+=this.staffEntries[0].PositionAndShape.BorderRight:se.x=this.staffEntries[0].parentMeasure.beginInstructionsWidth,this.graceStart&&(se.x+=F.PositionAndShape.RelativePosition.x);const re=new PointF2D(this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].PositionAndShape.RelativePosition.x,K);if(G?re.x+=this.staffEntries[this.staffEntries.length-1].PositionAndShape.BorderLeft:re.x=this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.Size.width,this.graceEnd&&(re.x+=F.staffEntryParent.PositionAndShape.RelativePosition.x),ne=this.calculateBottomPoints(se,re,U,W),ne.length===0){const Ye=new PointF2D((re.x-se.x)/2+se.x,(re.y-se.y)/2+se.y);ne.push(Ye)}const ae=Math.atan((K-Z)/(Q-Y)),le=new PointF2D(0,0);let ce=new PointF2D(Q-Y,K-Z);const he=Matrix2D.getRotationMatrix(-ae),de=he.getTransposeMatrix();ce=he.vectorMultiplication(ce);const me=this.calculateTranslatedAndRotatedPointListBelow(ne,Y,Z,he);let fe=this.calculateMaxLeftSlope(me,le,ce),ge=this.calculateMaxRightSlope(me,le,ce);const Se=le.y-le.x*fe,Ee=ce.y-ce.x*ge,ve=new PointF2D;let xe=!1;Math.abs(Math.abs(fe)-Math.abs(ge))<1e-4?(ve.x=ce.x/2,ve.y=0,xe=!0):(ve.x=(Ee-Se)/(fe-ge),ve.y=fe*ve.x+Se);const Pe=this.calculateHeightWidthRatio(ce.x,me);let ye=0,Te=0;if(Math.abs(Pe)>.001){const Ye=Math.abs(fe/(Pe*2)),et=Math.abs(fe);ye=Math.max(0,et*(Math.min(10,Ye-1)/10)),fe-=ye;const Je=Math.abs(ge/(Pe*2)),st=Math.abs(ge);Te=Math.max(0,st*(Math.min(10,Je-1)/10)),ge+=Te}let Le=J,we=-J;if(!xe){const Ye=this.calculateAngles(J,fe,ge,ie);Le=Ye.startAngle,we=Ye.endAngle}const Ae=this.calculateControlPoints(ce.x,Le,we,me,Pe,Z,K);let Me=Ae.startControlPoint,ke=Ae.endControlPoint;Me=de.vectorMultiplication(Me),Me.x+=Y,Me.y+=Z,ke=de.vectorMultiplication(ke),ke.x+=Y,ke.y+=Z,this.bezierStartPt=new PointF2D(Y,Z+ye),this.bezierStartControlPt=new PointF2D(Me.x,Me.y+ye),this.bezierEndControlPt=new PointF2D(ke.x,ke.y+Te),this.bezierEndPt=new PointF2D(Q,K+Te);const Ne=U.BottomLine.length,Ie=W.getLeftIndexForPointX(this.bezierStartPt.x,Ne),Ge=W.getLeftIndexForPointX(this.bezierEndPt.x,Ne),ze=this.bezierEndPt.x-this.bezierStartPt.x,Ve=W.SamplingUnit;for(let Ye=Ie;Ye<Ge;Ye++){const et=Ye/Ve-this.bezierStartPt.x,Je=this.calculateCurvePointAtIndex(Math.abs(et)/ze);let st=W.getLeftIndexForPointX(Je.x,Ne);st>=Ie&&(U.BottomLine[st]=Math.max(U.BottomLine[st],Je.y)),st++,st<Ne&&(U.BottomLine[st]=Math.max(U.BottomLine[st],Je.y))}}}calculateStartAndEnd(B,R,F,D,G){let U=0,W=0,q=0,Y=0;if(B){U=B.PositionAndShape.RelativePosition.x+B.parentVoiceEntry.parentStaffEntry.PositionAndShape.RelativePosition.x+B.parentVoiceEntry.parentStaffEntry.parentMeasure.PositionAndShape.RelativePosition.x,this.graceStart&&(U+=B.parentVoiceEntry.parentStaffEntry.staffEntryParent.PositionAndShape.RelativePosition.x);const Q=B.parentVoiceEntry;this.placement===PlacementEnum.Above?W=Q.PositionAndShape.RelativePosition.y+Q.PositionAndShape.BorderTop:W=Q.PositionAndShape.RelativePosition.y+Q.PositionAndShape.BorderBottom,Q.parentVoiceEntry.StemDirection===StemDirectionType.Down&&this.placement===PlacementEnum.Below&&(U-=.5),Q.parentVoiceEntry.StemDirection===StemDirectionType.Up&&this.placement===PlacementEnum.Above&&(U+=.5)}else U=0;if(R){q=R.PositionAndShape.RelativePosition.x+R.parentVoiceEntry.parentStaffEntry.PositionAndShape.RelativePosition.x+R.parentVoiceEntry.parentStaffEntry.parentMeasure.PositionAndShape.RelativePosition.x,this.graceEnd&&(q+=R.parentVoiceEntry.parentStaffEntry.staffEntryParent.PositionAndShape.RelativePosition.x);const Q=R.parentVoiceEntry;this.placement===PlacementEnum.Above?Y=Q.PositionAndShape.RelativePosition.y+Q.PositionAndShape.BorderTop:Y=Q.PositionAndShape.RelativePosition.y+Q.PositionAndShape.BorderBottom,Q.parentVoiceEntry.StemDirection===StemDirectionType.Down&&this.placement===PlacementEnum.Below&&(q-=.5),Q.parentVoiceEntry.StemDirection===StemDirectionType.Up&&this.placement===PlacementEnum.Above&&(q+=.5)}else q=F.PositionAndShape.Size.width;return!B&&!R&&(W=-1.5,Y=-1.5),B||(this.placement===PlacementEnum.Above?W=Y-1:W=Y+1),R||(this.placement===PlacementEnum.Above?Y=W-1:Y=W+1),this.slur.startNoteHasMoreStartingSlurs()&&this.slur.isSlurLonger()&&(this.placement===PlacementEnum.Above?W-=D.SlursStartingAtSameStaffEntryYOffset:W+=D.SlursStartingAtSameStaffEntryYOffset),this.slur.endNoteHasMoreEndingSlurs()&&this.slur.isSlurLonger()&&(this.placement===PlacementEnum.Above?Y-=D.SlursStartingAtSameStaffEntryYOffset:Y+=D.SlursStartingAtSameStaffEntryYOffset),this.placement===PlacementEnum.Above?(W=Math.min(W,1.5),Y=Math.min(Y,1.5)):(W=Math.max(W,F.StaffHeight-1.5),Y=Math.max(Y,F.StaffHeight-1.5)),{startX:U,startY:W,endX:q,endY:Y}}calculatePlacement(B,R){if(this.rules.SlurPlacementFromXML){this.placement=this.slur.PlacementXml;return}for(let W=0,q=this.staffEntries.length;W<q;++W)if(this.staffEntries[W].parentMeasure.hasMultipleVoices()){this.slur.StartNote.ParentVoiceEntry.ParentVoice instanceof LinkedVoice||this.slur.EndNote.ParentVoiceEntry.ParentVoice instanceof LinkedVoice?this.placement=PlacementEnum.Below:this.placement=PlacementEnum.Above;return}for(let W=0,q=this.staffEntries.length;W<q;++W)if(this.staffEntries[W].LyricsEntries.length>0){this.placement=PlacementEnum.Above;return}const F=this.staffEntries[0],D=this.staffEntries[this.staffEntries.length-1],G=F.graphicalVoiceEntries[0].parentVoiceEntry.StemDirection,U=D.graphicalVoiceEntries[0].parentVoiceEntry.StemDirection;if(G===U)this.placement=G===StemDirectionType.Up?PlacementEnum.Below:PlacementEnum.Above;else{let W=F.PositionAndShape.BorderLeft+F.PositionAndShape.RelativePosition.x+F.parentMeasure.PositionAndShape.RelativePosition.x,q=D.PositionAndShape.BorderRight+D.PositionAndShape.RelativePosition.x+D.parentMeasure.PositionAndShape.RelativePosition.x;this.graceStart&&(W+=D.PositionAndShape.RelativePosition.x),this.graceEnd&&(q+=D.staffEntryParent.PositionAndShape.RelativePosition.x);const Y=B.getSkyLineMinInRange(W,q)*-1;B.getBottomLineMaxInRange(W,q)-R.StaffHeight>Y?this.placement=PlacementEnum.Above:this.placement=PlacementEnum.Below}}calculateTopPoints(B,R,F,D){const G=[];let U=D.getRightIndexForPointX(B.x,F.SkyLine.length),W=D.getLeftIndexForPointX(R.x,F.SkyLine.length);U<0&&(U=0),W>=F.SkyLine.length&&(W=F.SkyLine.length-1);for(let q=U;q<W;q++){const Y=F.SkyLine[q];if(Y!==0){const Q=new PointF2D((.5+q)/D.SamplingUnit,Y);G.push(Q)}}return G}calculateBottomPoints(B,R,F,D){const G=[];let U=D.getRightIndexForPointX(B.x,F.BottomLine.length),W=D.getLeftIndexForPointX(R.x,F.BottomLine.length);U<0&&(U=0),W>=F.BottomLine.length&&(W=F.BottomLine.length-1);for(let q=U;q<W;q++){const Y=F.BottomLine[q];if(Y!==0){const Q=new PointF2D((.5+q)/D.SamplingUnit,Y);G.push(Q)}}return G}calculateMaxLeftSlope(B,R,F){let D=-Number.MAX_VALUE;const G=R.x,U=R.y;for(let W=0;W<B.length;W++)Math.abs(B[W].y-Number.MAX_VALUE)<1e-4||Math.abs(B[W].y- -Number.MAX_VALUE)<1e-4||(D=Math.max(D,(B[W].y-U)/(B[W].x-G)));return D=Math.max(D,Math.abs(F.y-U)/(F.x-G)),D=Math.min(D,5.6713),D}calculateMaxRightSlope(B,R,F){let D=Number.MAX_VALUE;const G=F.x,U=F.y;for(let W=0;W<B.length;W++)Math.abs(B[W].y-Number.MAX_VALUE)<1e-4||Math.abs(B[W].y- -Number.MAX_VALUE)<1e-4||(D=Math.min(D,(U-B[W].y)/(G-B[W].x)));return D=Math.min(D,(U-R.y)/(G-R.x)),D=Math.max(D,-5.6713),D}getPointListMaxY(B){let R=-Number.MAX_VALUE;for(let F=0,D=B.length;F<D;++F){const G=B[F];Math.abs(G.y- -Number.MAX_VALUE)<1e-4||Math.abs(G.y-Number.MAX_VALUE)<1e-4||(R=Math.max(R,G.y))}return R}calculateTranslatedAndRotatedPointListAbove(B,R,F,D){const G=[];for(let U=0;U<B.length;U++){if(Math.abs(B[U].y-Number.MAX_VALUE)<1e-4||Math.abs(B[U].y- -Number.MAX_VALUE)<1e-4)continue;let W=new PointF2D(B[U].x-R,-(B[U].y-F));W=D.vectorMultiplication(W),G.push(W)}return G}calculateTranslatedAndRotatedPointListBelow(B,R,F,D){const G=[];for(let U=0;U<B.length;U++){if(Math.abs(B[U].y-Number.MAX_VALUE)<1e-4||Math.abs(B[U].y- -Number.MAX_VALUE)<1e-4)continue;let W=new PointF2D(B[U].x-R,B[U].y-F);W=D.vectorMultiplication(W),G.push(W)}return G}calculateHeightWidthRatio(B,R){return R.length===0?0:Math.max(0,this.getPointListMaxY(R))/B}calculateControlPoints(B,R,F,D,G,U,W){let q=this.rules.SlurHeightFactor,Y=1;const Q=this.rules.SlurHeightFlattenLongSlursCutoffAngle,Z=this.rules.SlurHeightFlattenLongSlursCutoffWidth;R>Q&&B>Z&&(Y+=B/70*this.rules.SlurHeightFlattenLongSlursFactorByWidth,Y*=1+R/30*this.rules.SlurHeightFlattenLongSlursFactorByAngle,q/=Y);const K=Math.min(.5,Math.max(.1,1.7*R/80*q*Math.pow(Math.max(G,.05),.4))),J=Math.min(.5,Math.max(.1,1.7*-F/80*q*Math.pow(Math.max(G,.05),.4))),ie=new PointF2D;ie.x=B*K*Math.cos(R*_GraphicalSlur.degreesToRadiansFactor),ie.y=B*K*Math.sin(R*_GraphicalSlur.degreesToRadiansFactor);const ne=new PointF2D;ne.x=B-B*J*Math.cos(F*_GraphicalSlur.degreesToRadiansFactor),ne.y=-(B*J*Math.sin(F*_GraphicalSlur.degreesToRadiansFactor));let se=ie.y-ne.y;for(;this.rules.SlurMaximumYControlPointDistance&&Math.abs(se)>this.rules.SlurMaximumYControlPointDistance;)se<0?(ie.y+=1,ne.y-=1):(ie.y-=1,ne.y+=1),se=ie.y-ne.y;return{startControlPoint:ie,endControlPoint:ne}}calculateAngles(B,R,F,D){let U=Math.atan(R)/_GraphicalSlur.degreesToRadiansFactor;R>0?U+=20:U-=20;let W=Math.atan(F)/_GraphicalSlur.degreesToRadiansFactor;F<0?W-=20:W+=20;const q=Math.min(Math.max(B,U),D),Y=Math.max(Math.min(-B,W),-D);return{startAngle:q,endAngle:Y}}};let GraphicalSlur=_GraphicalSlur;GraphicalSlur.degreesToRadiansFactor=Math.PI/180;class GraphicalPedal extends GraphicalObject{constructor(R,F){super(),this.getPedal=R,this.setSymbol(),this.PositionAndShape=new BoundingBox$1(this,F)}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(R,F,D=!1,G=!1){switch(super(R,F),this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET,this.ChangeBegin=!1,this.ChangeEnd=!1,this.line=-3,this.EndSymbolPositionAndShape=void 0,this.ChangeBegin=R.ChangeBegin,this.ChangeEnd=R.ChangeEnd,this.pedalSymbol){case MusicSymbol.PEDAL_SYMBOL:this.vfStyle=Vex.Flow.PedalMarking.Styles.TEXT,this.EndSymbolPositionAndShape=new BoundingBox$1(this,F);break;case MusicSymbol.PEDAL_MIXED:D&&G?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BOTH:D?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BEGIN:G?this.vfStyle=Vex.Flow.PedalMarking.Styles.MIXED_OPEN_END:this.vfStyle=Vex.Flow.PedalMarking.Styles.MIXED;break;case MusicSymbol.PEDAL_BRACKET:default:D&&G?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BOTH:D?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BEGIN:G?this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_END:this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET;break}}setStartNote(R){if(!R)return!1;for(const F of R.graphicalVoiceEntries){const D=F;if(D!=null&&D.vfStaveNote)return this.startNote=D.vfStaveNote,this.startVfVoiceEntry=D,!0}return!1}setEndNote(R){if(!R)return!1;for(const F of R.graphicalVoiceEntries){const D=F;if(D!=null&&D.vfStaveNote)return this.endNote=D.vfStaveNote,this.endVfVoiceEntry=D,!0}return!1}setEndMeasure(R){this.endMeasure=R}CalculateBoundingBox(){}setLine(R){this.line=R}getPedalMarking(){var F,D,G,U;const R=new Vex.Flow.PedalMarking([this.startNote,this.endNote]);return this.endMeasure&&R.setEndStave(this.endMeasure.getVFStave()),R.setStyle(this.vfStyle),R.setLine(this.line),R.setCustomText(this.DepressText,this.ReleaseText),(((F=this.endVfVoiceEntry)==null?void 0:F.parentStaffEntry)===((U=(G=(D=this.endVfVoiceEntry)==null?void 0:D.parentStaffEntry)==null?void 0:G.parentMeasure)==null?void 0:U.staffEntries.last())||!this.endVfVoiceEntry)&&(R.EndsStave=!0),R.ChangeBegin=this.ChangeBegin,R.ChangeEnd=this.ChangeEnd,R}}class GraphicalWavyLine extends GraphicalObject{constructor(R,F){super(),this.getWavyLine=R,this.PositionAndShape=new BoundingBox$1(this,F)}}class VexflowVibratoBracket extends GraphicalWavyLine{constructor(R,F,D=!1){super(R,F),this.line=1,this.isVibrato=!1,this.toEndOfStopStave=!1,this.isVibrato=D}get ToEndOfStopStave(){return this.toEndOfStopStave}setStartNote(R){for(const F of R.graphicalVoiceEntries){const D=F;if(D!=null&&D.vfStaveNote)return this.startNote=D.vfStaveNote,this.startVfVoiceEntry=D,!0}return!1}setEndNote(R){for(const F of R.graphicalVoiceEntries){const D=F;if(D!=null&&D.vfStaveNote){this.endNote=D.vfStaveNote,this.endVfVoiceEntry=D;const G=this.endVfVoiceEntry.parentStaffEntry.parentMeasure.staffEntries,U=G[G.length-1];return this.toEndOfStopStave=U===this.endVfVoiceEntry.parentStaffEntry,!0}}return!1}CalculateBoundingBox(){const R=this.getVibratoBracket();this.boundingBox.Size.height=R.render_options.wave_height*.2}getVibratoBracket(){const R=new Vex.Flow.VibratoBracket({start:this.startNote,stop:this.endNote,toEndOfStopStave:this.toEndOfStopStave});return R.setLine(this.line),this.isVibrato?R.render_options.vibrato_width=20:R.render_options.wave_girth=4,R}}const VF=Vex.Flow;class VexFlowMusicSheetCalculator extends MusicSheetCalculator{constructor(R){var F,D,G,U,W,q,Y,Q;super(),this.beamsNeedUpdate=!1,this.rules=R,MusicSheetCalculator.symbolFactory=new VexFlowGraphicalSymbolFactory,MusicSheetCalculator.TextMeasurer=new VexFlowTextMeasurer(this.rules),MusicSheetCalculator.stafflineNoteCalculator=new VexflowStafflineNoteCalculator(this.rules),((F=this.rules.DefaultVexFlowNoteFont)==null?void 0:F.toLowerCase())==="gonville"?Vex.Flow.DEFAULT_FONT_STACK=[(D=Vex.Flow.Fonts)==null?void 0:D.Gonville,(G=Vex.Flow.Fonts)==null?void 0:G.Bravura,(U=Vex.Flow.Fonts)==null?void 0:U.Custom]:((W=this.rules.DefaultVexFlowNoteFont)==null?void 0:W.toLowerCase())==="petaluma"&&(Vex.Flow.DEFAULT_FONT_STACK=[(q=Vex.Flow.Fonts)==null?void 0:q.Petaluma,(Y=Vex.Flow.Fonts)==null?void 0:Y.Gonville,(Q=Vex.Flow.Fonts)==null?void 0:Q.Bravura])}clearRecreatedObjects(){super.clearRecreatedObjects(),MusicSheetCalculator.stafflineNoteCalculator=new VexflowStafflineNoteCalculator(this.rules);for(const R of this.graphicalMusicSheet.MeasureList)for(const F of R)F==null||F.clean()}formatMeasures(){for(const R of this.graphicalMusicSheet.MeasureList){if(!R||!R[0])continue;R[0].format();for(const D of R){for(const G of D.staffEntries)G.calculateXPosition();D.finalizeBeams()}}this.beamsNeedUpdate=!1}calculateMeasureXLayout(R){const F=[];for(const Z of R)Z&&F.push(Z);if(F.length===0)return 0;R=F;const D=[],G=new VF.Formatter({softmaxFactor:this.rules.SoftmaxFactorVexFlow});let U=R[0].staffEntries.length,W=1;for(const Z of R){if(!Z)continue;let K=0;for(const ne of Z.staffEntries)K+=ne.setMaxAccidentals();Z.parentSourceMeasure.ImplicitMeasure&&(U=Math.max(Z.staffEntries.length,U),W=Math.max(Z.staffEntries.length+K,W));const J=Z.vfVoices,ie=[];for(const ne in J)J.hasOwnProperty(ne)&&(ie.push(J[ne]),D.push(J[ne]));if(ie.length===0){log$2.debug("Found a measure with no voices. Continuing anyway.",J);continue}G.joinVoices(ie)}let q=12;const Y=R[0].parentSourceMeasure,Q=.3;if(D.length>0){q=G.preCalculateMinTotalWidth(D)/unitInPixels*this.rules.VoiceSpacingMultiplierVexflow+this.rules.VoiceSpacingAddendVexflow+U*Q,Y!=null&&Y.ImplicitMeasure&&(q=Y.Duration.RealValue/Y.ActiveTimeSignature.RealValue*q,U>1&&(q+=W*Q*1.5),q*=this.rules.PickupMeasureWidthMultiplier),MusicSheetCalculator.setMeasuresMinStaffEntriesWidth(R,q);const Z=(J,ie)=>{G.formatToStave(D,ie.getVFStave())},K=(J,ie)=>{G.formatToStave(D,ie.getVFStave(),{align_rests:!0,context:void 0})};for(const J of R){if(this.rules.AlignRests===AlignRestOption.Never)J.formatVoices=Z;else if(this.rules.AlignRests===AlignRestOption.Always)J.formatVoices=K;else if(this.rules.AlignRests===AlignRestOption.Auto){let ie=!1;for(const ne of J.staffEntries){let se=0,re=0;for(const ae of ne.graphicalVoiceEntries)if(ae.parentVoiceEntry.IsGrace||ae&&ae.notes&&ae.notes[0]&&ae.notes[0].sourceNote&&ae.notes[0].sourceNote.PrintObject&&se++,ae&&ae.notes&&ae.notes[0]&&ae.notes[0].sourceNote&&ae.notes[0].sourceNote.isRest()&&ae.notes[0].sourceNote.PrintObject&&re++,se>1&&re>=1){ie=!0;break}if(ie)break}ie?J.formatVoices=K:J.formatVoices=Z}if(J===R[0]){const ie=J;ie.formatVoices(q*unitInPixels,ie)}}}for(const Z of R)if(!!Z)for(const K of Z.staffEntries)K.calculateXPosition();for(const Z of R){if(!Z)continue;const K=Z.vfVoices,J=[];for(const ie in K)K.hasOwnProperty(ie)&&J.push(K[ie]);if(J.length===0){log$2.debug("Found a measure with no voices. Continuing anyway.",K);continue}G.joinVoices(J)}return q}calculateElongationFactor(R,F,D,G,U,W,q,Y){let Q=U,Z=0;for(const K of R){const J=K.GraphicalLabel.Label.textAlignment;let ie=q,ne=Y;if(K instanceof GraphicalLyricEntry&&K.ParentLyricWord){K.LyricsEntry.SyllableIndex>0&&(ie=this.rules.BetweenSyllableMinimumDistance,TextAlignment.IsCenterAligned(J)&&(ie+=1));const xe=K.ParentLyricWord.GetLyricWord.Syllables;xe.length>1&&K.LyricsEntry.SyllableIndex<xe.length-1&&(this.dashSpace===void 0&&(this.dashSpace=1.5),ne-=this.dashSpace)}const se=K instanceof GraphicalLyricEntry?K.GraphicalLabel.PositionAndShape:K.PositionAndShape,re=se.Size.width,le=F.PositionAndShape.RelativePosition.x+se.BorderMarginLeft;D[Z]!==void 0&&D[Z].extend;let ce,he;D[Z]&&(he=le-D[Z].xPosition);let de,me;const fe=G*U;TextAlignment.IsCenterAligned(J)?(ne/=4,de=fe-le,me=re/2-ne,D[Z]&&(ce=D[Z].labelWidth/2+re/2+ie)):TextAlignment.IsLeft(J)&&(de=fe-le,me=re-ne,D[Z]&&(ce=D[Z].labelWidth+ie));let ge=1;const Se=me/de;let Ee=1;if(K instanceof GraphicalLyricEntry&&K.LyricsEntry){if(D[Z]){const xe=D[Z].sourceNoteDuration;Ee=ce/he,xe.Denominator>4&&(Ee*=1.1)}}else D[Z]&&(Ee=ce/he);ge=Math.max(Se,Ee),Q=Math.max(Q,ge);let ve=Math.max(ce-he||0,0);D[Z]&&(ve+=D[Z].cumulativeOverlap),D[Z]={cumulativeOverlap:ve,extend:K instanceof GraphicalLyricEntry?K.LyricsEntry.extend:!1,labelWidth:re,measureNumber:W,sourceNoteDuration:K instanceof GraphicalLyricEntry?K.LyricsEntry&&K.LyricsEntry.Parent.Notes[0].Length:!1,text:K instanceof GraphicalLyricEntry?K.LyricsEntry.Text:K.GraphicalLabel.Label.text,xPosition:le},Z++}return Q}calculateElongationFactorFromStaffEntries(R,F,D,G){let U=D;const W={},q={};for(const Y of R)Y.LyricsEntries.length>0&&(U=this.calculateElongationFactor(Y.LyricsEntries,Y,W,F,U,G,this.rules.HorizontalBetweenLyricsDistance,this.rules.LyricOverlapAllowedIntoNextMeasure)),Y.graphicalChordContainers.length>0&&(U=this.calculateElongationFactor(Y.graphicalChordContainers,Y,q,F,U,G,this.rules.ChordSymbolXSpacing,this.rules.ChordOverlapAllowedIntoNextMeasure));return U}calculateMeasureWidthFromStaffEntries(R,F){var W;let D=1;if(!((W=window.GYM)==null?void 0:W.multitrack))for(const q of R)!q||q.staffEntries.length===0||(D=this.calculateElongationFactorFromStaffEntries(q.staffEntries,F,D,q.MeasureNumber),D=1);return D=Math.min(D,this.rules.MaximumLyricsElongationFactor),F*D}createGraphicalTie(R,F,D,G,U){return new GraphicalTie(R,G,U)}updateStaffLineBorders(R){R.SkyBottomLineCalculator.updateStaffLineBorders()}graphicalMeasureCreatedCalculations(R){R.rules=this.rules,R.graphicalMeasureCreatedCalculations()}layoutVoiceEntry(R,F,D,G){for(let U=0;U<F.length;U++)F[U]=MusicSheetCalculator.stafflineNoteCalculator.positionNote(F[U])}layoutStaffEntry(R){R.parentMeasure.layoutStaffEntry(R)}initGraphicalMeasuresCreation(){}layoutArticulationMarks(R,F,D){}layoutGraphicalTie(R,F,D){var Z,K,J,ie,ne,se;const G=R.StartNote,U=R.EndNote;let W,q=0;G&&G.vfnote&&G.vfnote.length>=2&&(W=G.vfnote[0],q=G.vfnote[1]);let Y,Q=0;if(U&&U.vfnote&&U.vfnote.length>=2&&(Y=U.vfnote[0],Q=U.vfnote[1]),F){if(W){const re=new VF.StaveTie({first_indices:[q],first_note:W}),ae=G.parentVoiceEntry.parentStaffEntry.parentMeasure;if(Y){Y.getDuration()==="w"&&((K=(Z=Y.keyProps)==null?void 0:Z[0])==null?void 0:K.line)>=3&&Y.setStemDirection(-1);let le=((J=window.GYM)==null?void 0:J.tieDirection)||0;Math.abs(le)===1&&(((ne=(ie=Y.keyProps)==null?void 0:ie[0])==null?void 0:ne.line)>=3?Y.setStemDirection(-le):Y.setStemDirection(le)),re==null||re.setDirection(Y.getStemDirection())}if(ae.vfTies.length>0){const le=ae.vfTies[0].direction;re==null||re.setDirection(le?-le:1)}ae.addStaveTie(re,R)}if(Y){const re=new VF.StaveTie({last_indices:[Q],last_note:Y}),ae=U.parentVoiceEntry.parentStaffEntry.parentMeasure;if(ae.vfTies.length>0){const le=ae.vfTies[0].direction;re==null||re.setDirection(le?-le:1)}ae.addStaveTie(re,R)}}else if(W||Y){let re;if(D)if(R.Tie.Type==="S"){const ce=R.StartNote.sourceNote,he=R.EndNote.sourceNote;let de=1;ce.FretNumber>he.FretNumber&&(de=-1),re=new VF.TabSlide({first_indices:[q],first_note:W,last_indices:[Q],last_note:Y},de)}else re=new VF.TabTie({first_indices:[q],first_note:W,last_indices:[Q],last_note:Y},R.Tie.Type);else{re=new VF.StaveTie({first_indices:[q],first_note:W,last_indices:[Q],last_note:Y});const ce=R.Tie.getTieDirection(G.sourceNote);ce===PlacementEnum.Below?re.setDirection(1):ce===PlacementEnum.Above&&re.setDirection(-1);try{Math.abs((W==null?void 0:W.getTieRightX())-(Y==null?void 0:Y.getTieLeftX()))<10&&(re.render_options.first_x_shift=-3,re.render_options.last_x_shift=3)}catch(he){console.log(he)}}const ae=U.parentVoiceEntry.parentStaffEntry.parentMeasure,le=((se=window.GYM)==null?void 0:se.graceCustom)||!1;le&&re.setDirection(le.direction),ae.addStaveTie(re,R)}}calculateDynamicExpressionsForMultiExpression(R,F,D){if(F<this.rules.MinMeasureToDrawIndex||F>this.rules.MaxMeasureToDrawIndex)return;const G=R.AbsoluteTimestamp,U=this.graphicalMusicSheet.MeasureList[F],W=U[D].ParentStaffLine,q=U[D];if(!W)return;const Y=this.getRelativePositionInStaffLineFromTimestamp(G,D,W,W==null?void 0:W.isPartOfMultiStaffInstrument());if(Y.x<=0&&(Y.x=q.beginInstructionsWidth+this.rules.RhythmRightMargin),R.InstantaneousDynamic){const Q=new VexFlowInstantaneousDynamicExpression(R.InstantaneousDynamic,W,q);this.calculateGraphicalInstantaneousDynamicExpression(Q,Y,G),this.dynamicExpressionMap.set(G.RealValue,Q.PositionAndShape)}if(R.StartingContinuousDynamic){const Q=R.StartingContinuousDynamic,Z=new VexFlowContinuousDynamicExpression(R.StartingContinuousDynamic,W,q.parentSourceMeasure);if(Z.StartMeasure=q,!Z.IsVerbal&&Q.EndMultiExpression)try{this.calculateGraphicalContinuousDynamic(Z,Y),Z.updateSkyBottomLine()}catch{}else Z.IsVerbal?this.calculateGraphicalVerbalContinuousDynamic(Z,Y):log$2.warn("This continuous dynamic is not covered. measure"+R.SourceMeasureParent.MeasureNumber)}}createMetronomeMark(R,F){var le,ce,he,de,me,fe,ge,Se,Ee;const D=Math.max(R.ParentMultiTempoExpression.SourceMeasureParent.MeasureNumber-1,0),G=F||D,U=Math.max(R.StaffNumber-1,0),W=this.graphicalMusicSheet.MeasureList[G][U].getVFStave();let q="q";if(R.beatUnit){const ve=NoteTypeHandler.getNoteDurationFromType(R.beatUnit);q=VexFlowConverter.durations(ve,!1)[0]}let Y=this.rules.MetronomeMarkYShift,Q=!1;const Z=[];if(R.parentMeasure){for(const ve of R.parentMeasure.StaffLinkedExpressions)for(const xe of ve)xe&&xe instanceof UnknownExpression&&Z.push(xe);for(const ve of R.parentMeasure.TempoExpressions){const xe=((le=ve.InstantaneousTempo)==null?void 0:le.Enum)===TempoEnum.metronomeMark;if(!R.beatUnit&&ve.InstantaneousTempo.beatUnit){const Pe=NoteTypeHandler.getNoteDurationFromType(R.beatUnit);q=VexFlowConverter.durations(Pe,!1)[0]}if(ve.getPlacementOfFirstEntry()===PlacementEnum.Above&&!xe){Q=!0;break}}}Q&&(Y-=1.4);const K=(ce=this.graphicalMusicSheet.MeasureList[0][0].ParentStaffLine)==null?void 0:ce.SkyLine;let J=R.TempoInBpm,ie="",ne="",se="";for(const ve of this.graphicalMusicSheet.MeasureList[G][U].parentSourceMeasure.TempoExpressions){if(ne=ve.CombinedExpressionsText,isSpecialMark(ve.CombinedExpressionsText)){ie=ve.CombinedExpressionsText;break}if(isSpeedKeyword(ve.CombinedExpressionsText)||isSpeedHiddenKeyword(ve.CombinedExpressionsText)){ie=formatSpeedKeyword(ve.CombinedExpressionsText),J=ve.sourceMeasure.TempoInBPM,isSpeedKeyword(ve.CombinedExpressionsText)&&(se=q);break}}const re={bpm:R.TempoInBpm,dots:R.dotted,duration:q,name:ie};ie&&(re.bpm=J/(re.dots?1.5:1),isSpeedKeyword(ne)?re.duration=se:(J===SpeedTag[ie]||!SpeedTag[ie])&&(re.duration=""));const ae=((de=(he=this.graphicalMusicSheet.MeasureList[G][U].vfVoices)==null?void 0:he[1])==null?void 0:de.boundingBox.y)||0;if(this.rules.MetronomeMarksDrawn){if(K){const ye=((fe=(me=this.graphicalMusicSheet.MeasureList[0])==null?void 0:me[U])==null?void 0:fe.ParentStaffLine).Measures.map(Te=>Te.MeasureNumber-1);if(ae&&ye.includes(G)&&(isSpeedKeyword(ne)||isSpeedHiddenKeyword(ne))){const Te=K.slice(0,9);let Le=Math.min(...Te);Le=Le<0?Le-1:Le,Y+=Le}ye.includes(G)&&Z.length?K[0]=Math.min(K[0],-4.5+Y-4):K[0]=Math.min(K[0],-4.5+Y)}W.options.line_config.reduce((Pe,ye)=>(ye.visible&&Pe++,Pe),0)<5&&(Y-=2),W.setTempo(re,Y*unitInPixels);let xe=0;try{xe+=((Ee=(Se=(ge=this.graphicalMusicSheet.MeasureList[G][U])==null?void 0:ge.vfVoices)==null?void 0:Se[1])==null?void 0:Ee.getTickables())[R.parentMeasure.metronomeNoteIndex].getBoundingBox().getX()-W.getNoteStartX()}catch{}W.getModifiers()[W.getModifiers().length-1].setShiftX(xe)}}calculateRehearsalMark(R){var Q,Z,K,J,ie,ne,se,re;const F=R.rehearsalExpression;if(!F)return;const D=(K=(Z=(Q=R.VerticalMeasureList)==null?void 0:Q[0])==null?void 0:Z.getVFStave)==null?void 0:K.call(Z);if(!D)return;const G=-this.rules.RehearsalMarkYOffsetDefault-this.rules.RehearsalMarkYOffset;let U=this.rules.RehearsalMarkXOffsetDefault+this.rules.RehearsalMarkXOffset;R.IsSystemStartMeasure&&(U+=this.rules.RehearsalMarkXOffsetSystemStartMeasure);const W=this.rules.RehearsalMarkFontSize,q=D.getModifiers(),Y=q.find(ae=>ae.getCategory().toLocaleLowerCase()==="repetitions");if(Y&&Y.setShiftY(Y.y_shift-10),D.setSection(F.label,G,U,W),(ie=(J=R.VerticalMeasureList)==null?void 0:J[0])!=null&&ie.ParentStaffLine.AbstractExpressions){const ae=q.find(le=>le.getCategory().toLocaleLowerCase()==="stavesection");for(let le of((re=(se=(ne=R==null?void 0:R.VerticalMeasureList)==null?void 0:ne[0])==null?void 0:se.ParentStaffLine)==null?void 0:re.AbstractExpressions)||[])le instanceof GraphicalUnknownExpression&&(ae&&(le.Label.PositionAndShape.RelativePosition.y-=.5),Y&&(le.Label.PositionAndShape.RelativePosition.y-=1.7))}}calculateSingleOctaveShift(R,F,D,G){var ne;const U=F.OctaveShiftStart,W=U.ParentStartMultiExpression.Timestamp,q=(ne=U.ParentEndMultiExpression)==null?void 0:ne.Timestamp,Y=this.rules.MinMeasureToDrawIndex,Q=this.rules.MaxMeasureToDrawIndex;let Z=this.graphicalMusicSheet.MeasureList[D][G].ParentStaffLine;Z||(Z=this.graphicalMusicSheet.MeasureList[Y][G].ParentStaffLine);let K;U.ParentEndMultiExpression?K=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(U.ParentEndMultiExpression.SourceMeasureParent,G):K=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(G,!0),K.MeasureNumber>Q+1&&(K=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(G,!0));let J;if(U.ParentEndMultiExpression?J=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(U.ParentStartMultiExpression.SourceMeasureParent,G):J=this.graphicalMusicSheet.MeasureList[Y][G],J.MeasureNumber<Y+1&&(J=this.graphicalMusicSheet.MeasureList[Y][G]),J.parentSourceMeasure.measureListIndex<Y||J.parentSourceMeasure.measureListIndex>Q||K.parentSourceMeasure.measureListIndex<Y||K.parentSourceMeasure.measureListIndex>Q)return;let ie=K.ParentStaffLine;if(ie||(ie=Z),K&&Z&&ie){const se=new VexFlowOctaveShift(U,Z.PositionAndShape);if(!se.startNote){let le;for(const ce of J.staffEntries)if(ce){le=ce;break}if(!le||(se.setStartNote(le),!se.startNote))return}if(!se.endNote){let le;for(let ce=K.staffEntries.length-1;ce>=0;ce++)if(K.staffEntries[ce]){le=K.staffEntries[ce];break}if(se.setEndNote(le),!se.endNote)return}let re=J.findGraphicalStaffEntryFromTimestamp(W);re||(re=J.staffEntries[0]);let ae=K.findGraphicalStaffEntryFromTimestamp(q);if(ae||(ae=K.staffEntries[K.staffEntries.length-1]),se.setStartNote(re),ie!==Z){se.endsOnDifferentStaffLine=!0;let le=Z.Measures[Z.Measures.length-1];le===void 0&&(le=K);const ce=le.staffEntries[le.staffEntries.length-1];se.setEndNote(ce);const he=ie.ParentMusicSystem.Id-Z.ParentMusicSystem.Id;if(he>0)for(let de=Z.ParentMusicSystem.Id;de<ie.ParentMusicSystem.Id;de++){const me=de+1,ge=this.musicSystems[me].StaffLines[G],Se=ge.Measures[0],Ee=new VexFlowOctaveShift(U,Se.PositionAndShape);de<he&&(Ee.endsOnDifferentStaffLine=!0);let ve=ge.Measures[ge.Measures.length-1];ve.IsExtraGraphicalMeasure&&(ve=ge.Measures[ge.Measures.length-2]);const xe=Se.staffEntries[0];let Pe=ve.staffEntries[ve.staffEntries.length-1];K.ParentStaffLine===ge&&(ve=K,Pe=ae);const ye="VexFlowMusicSheetCalculator.calculateSingleOctaveShift: ";xe||log$2.warn(ye+"no firstNote found"),Pe||log$2.warn(ye+"no lastNote found"),Ee.setStartNote(xe),Ee.setEndNote(Pe),ge.OctaveShifts.push(Ee),this.calculateOctaveShiftSkyBottomLine(xe,Pe,Ee,ge)}this.calculateOctaveShiftSkyBottomLine(re,ce,se,Z)}else se.setEndNote(ae),this.calculateOctaveShiftSkyBottomLine(re,ae,se,Z);Z.OctaveShifts.push(se)}else log$2.warn("End measure or staffLines for octave shift are undefined! This should not happen!")}calculateSinglePedal(R,F,D,G){var ne;const U=F.PedalStart,W=U.ParentStartMultiExpression.Timestamp,q=(ne=U.ParentEndMultiExpression)==null?void 0:ne.Timestamp,Y=this.rules.MinMeasureToDrawIndex,Q=this.rules.MaxMeasureToDrawIndex;let Z=this.graphicalMusicSheet.MeasureList[D][G].ParentStaffLine;Z||(Z=this.graphicalMusicSheet.MeasureList[Y][G].ParentStaffLine);let K;U.ParentEndMultiExpression?K=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(U.ParentEndMultiExpression.SourceMeasureParent,G):K=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(G,!0),K||(K=U.ParentStartMultiExpression.SourceMeasureParent.VerticalMeasureList[G]),K.MeasureNumber>Q+1&&(K=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(G,!0));let J;if(U.ParentEndMultiExpression?J=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(U.ParentStartMultiExpression.SourceMeasureParent,G):(J=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(U.ParentStartMultiExpression.SourceMeasureParent,G),J||(J=this.graphicalMusicSheet.MeasureList[Y][G])),J.MeasureNumber<Y+1&&(J=this.graphicalMusicSheet.MeasureList[Y][G]),J.parentSourceMeasure.measureListIndex<Y||J.parentSourceMeasure.measureListIndex>Q||K.parentSourceMeasure.measureListIndex<Y||K.parentSourceMeasure.measureListIndex>Q)return;let ie=K.ParentStaffLine;if(ie||(ie=Z),K&&Z&&ie){let se=!1;Z!==ie&&(se=!0);const re=new VexFlowPedal(U,Z.PositionAndShape,!1,se);let ae=J.findGraphicalStaffEntryFromTimestamp(W);ae||(ae=J.staffEntries[0]);let le=K.findGraphicalStaffEntryFromTimestamp(q);if(le||(le=K.staffEntries[K.staffEntries.length-1]),!re.setStartNote(ae))return;if(ie!==Z)if(re.pedalSymbol===MusicSymbol.PEDAL_SYMBOL){re.setEndNote(le),re.setEndMeasure(K),re.ReleaseText=" ",re.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(re.startVfVoiceEntry,re.endVfVoiceEntry,re,Z);const ce=ie.Measures[0],he=new VexFlowPedal(U,ce.PositionAndShape),de=ce.staffEntries[0];if(!he.setStartNote(de))return;he.setEndNote(le),re.setEndMeasure(K),ie.Pedals.push(he),he.CalculateBoundingBox(),he.DepressText=" ",this.calculatePedalSkyBottomLine(he.startVfVoiceEntry,he.endVfVoiceEntry,he,ie)}else{let ce=Z.Measures[Z.Measures.length-1];ce===void 0&&(ce=K);const he=ce.staffEntries[ce.staffEntries.length-1];re.setEndNote(he),re.setEndMeasure(K),re.ChangeEnd=!1;const de=ie.ParentMusicSystem.Id-Z.ParentMusicSystem.Id;if(de>0){let me=1;for(let fe=Z.ParentMusicSystem.Id;fe<ie.ParentMusicSystem.Id;fe++){const Se=this.musicSystems[fe+1].StaffLines[G],Ee=Se.Measures[0];let ve=!1,xe=!1;me<de?ve=!0:xe=!0,me++;const Pe=new VexFlowPedal(U,Ee.PositionAndShape,!0,ve);Pe.ChangeBegin=!1,xe?Pe.ChangeEnd=U.ChangeEnd:Pe.ChangeEnd=!1;let ye=Se.Measures[Se.Measures.length-1];const Te=Ee.staffEntries[0];let Le=ye.staffEntries[ye.staffEntries.length-1];if(K.ParentStaffLine===Se&&(ye=K,Le=le),!Pe.setStartNote(Te))break;Pe.setEndNote(Le),re.setEndMeasure(K),Se.Pedals.push(Pe),Pe.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(Pe.startVfVoiceEntry,Pe.endVfVoiceEntry,Pe,Se)}}re.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(re.startVfVoiceEntry,re.endVfVoiceEntry,re,Z)}else re.setEndNote(le),re.setEndMeasure(K),re.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(re.startVfVoiceEntry,re.endVfVoiceEntry,re,Z);Z.Pedals.push(re)}else log$2.warn("End measure or staffLines for pedal are undefined! This should not happen!")}calculateSingleWavyLine(R,F,D,G){var ne,se;const U=F.WavyLineStart,W=U.ParentStartMultiExpression.Timestamp,q=(ne=U.ParentEndMultiExpression)==null?void 0:ne.Timestamp,Y=this.rules.MinMeasureToDrawIndex,Q=this.rules.MaxMeasureToDrawIndex;let Z=this.graphicalMusicSheet.MeasureList[D][G].ParentStaffLine;Z||(Z=this.graphicalMusicSheet.MeasureList[Y][G].ParentStaffLine);let K;U.ParentEndMultiExpression?K=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(U.ParentEndMultiExpression.SourceMeasureParent,G):K=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(G,!0),K.MeasureNumber>Q+1&&(K=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(G,!0));let J;if(U.ParentEndMultiExpression?J=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(U.ParentStartMultiExpression.SourceMeasureParent,G):J=this.graphicalMusicSheet.MeasureList[Y][G],J.MeasureNumber<Y+1&&(J=this.graphicalMusicSheet.MeasureList[Y][G]),J.parentSourceMeasure.measureListIndex<Y||J.parentSourceMeasure.measureListIndex>Q||K.parentSourceMeasure.measureListIndex<Y||K.parentSourceMeasure.measureListIndex>Q)return;let ie=K.ParentStaffLine;if(ie||(ie=Z),K&&Z&&ie){const re=new VexflowVibratoBracket(U,Z.PositionAndShape,J.ParentStaff.isTab);let ae=J.findGraphicalStaffEntryFromTimestamp(W);ae||(ae=J.staffEntries[0]);let le=K.findGraphicalStaffEntryFromTimestamp(q);if(le||(le=K.staffEntries[K.staffEntries.length-1]),re.setStartNote(ae),ie!==Z){let ce=Z.Measures[Z.Measures.length-1];ce===void 0&&(ce=K);const he=ce.staffEntries[ce.staffEntries.length-1];if(re.setEndNote(he),ie.ParentMusicSystem.Id-Z.ParentMusicSystem.Id>0)for(let me=Z.ParentMusicSystem.Id;me<ie.ParentMusicSystem.Id;me++){const ge=this.musicSystems[me+1].StaffLines[G],Se=(se=ge==null?void 0:ge.Measures)==null?void 0:se[0];if(!Se)return;const Ee=new VexflowVibratoBracket(U,Se.PositionAndShape,ge.ParentStaff.isTab);let ve=ge.Measures[ge.Measures.length-1];const xe=Se.staffEntries[0];let Pe=ve.staffEntries[ve.staffEntries.length-1];K.ParentStaffLine===ge&&(ve=K,Pe=le),Ee.setStartNote(xe),Ee.setEndNote(Pe),ge.WavyLines.push(Ee),Ee.CalculateBoundingBox(),this.calculateWavyLineSkyBottomLine(Ee.startVfVoiceEntry,Ee.endVfVoiceEntry,Ee,ge)}re.CalculateBoundingBox(),this.calculateWavyLineSkyBottomLine(re.startVfVoiceEntry,re.endVfVoiceEntry,re,Z)}else re.setEndNote(le),re.CalculateBoundingBox(),this.calculateWavyLineSkyBottomLine(re.startVfVoiceEntry,re.endVfVoiceEntry,re,Z);Z.WavyLines.push(re)}else log$2.warn("End measure or staffLines for wavy line are undefined! This should not happen!")}calculateWavyLineSkyBottomLine(R,F,D,G){var re,ae;const U=D.startNote.getStave(),W=D.endNote.getStave(),q=Math.max(U.options.top_text_position,W.options.top_text_position);U.options.top_text_position=q,W.options.top_text_position=q;let Y=-q,Q=0,Z=0,K=1/0,J=1/0;const ie=1.85;let ne=R.PositionAndShape.AbsolutePosition.x+R.PositionAndShape.BorderLeft;((ae=(re=R.parentVoiceEntry)==null?void 0:re.OrnamentContainer)==null?void 0:ae.GetOrnament)===OrnamentEnum.Trill&&(Q=ne,ne+=2,Z=ne,K=G.SkyBottomLineCalculator.getSkyLineMinInRange(Q,Z),J=K+ie);let se;if(D.ToEndOfStopStave)se=F.parentStaffEntry.parentMeasure.PositionAndShape.AbsolutePosition.x+F.parentStaffEntry.parentMeasure.PositionAndShape.BorderRight-1;else{se=F.PositionAndShape.AbsolutePosition.x+F.PositionAndShape.BorderRight;const le=F.parentStaffEntry.vfClefBefore;le&&(se+=le.getWidth()/10)}Y=G.SkyBottomLineCalculator.getSkyLineMinInRange(ne,se),Y!==1/0&&(Y<K?(U.options.top_text_position=-Y,W.options.top_text_position=-Y,G.SkyBottomLineCalculator.updateSkyLineInRange(Q,Z,Y-ie)):(D.line=-J,Y=J),Y-=D.PositionAndShape.Size.height,G.SkyBottomLineCalculator.updateSkyLineInRange(ne,se,Y))}calculatePedalSkyBottomLine(R,F,D,G){var ie,ne,se,re;let U=F==null?void 0:F.PositionAndShape;U||(U=D.endMeasure.PositionAndShape);const W=Vex.Flow.PedalMarking.Styles,q=D.getPedalMarking(),Y=q.line+3+(G.StaffLines.length-1),Q=q.render_options.text_margin_right/10;let Z=R.PositionAndShape.AbsolutePosition.x-Q;(q.style===W.MIXED||q.style===W.MIXED_OPEN_END||q.style===W.TEXT)&&(Z-=1);let K,J=G.StaffLines.length-1;for(const ae of G.Pedals){const he=ae.getPedalMarking().line+3+(G.StaffLines.length-1);J=Math.max(he,J)}if(D.EndSymbolPositionAndShape){const ae=q.render_options.glyph_point_size/20;K=Z+3.4;const le=U.AbsolutePosition.x-Q,ce=le+1.5;J=Math.max(G.SkyBottomLineCalculator.getBottomLineMaxInRange(Z,K),J),J=Math.max(Y+ae*2,J);const he=G.SkyBottomLineCalculator.getBottomLineMaxInRange(le,ce);D.DepressText||(J=Math.max(J,he)),D.setLine(J-3-(G.StaffLines.length-1)),G.SkyBottomLineCalculator.updateBottomLineInRange(Z,K,J+ae),G.SkyBottomLineCalculator.updateBottomLineInRange(le,ce,J+ae)}else{const ae=q.render_options.bracket_height/10;if(q.EndsStave)F?K=F.parentStaffEntry.parentMeasure.PositionAndShape.AbsolutePosition.x+F.parentStaffEntry.parentMeasure.PositionAndShape.Size.width-Q:K=U.AbsolutePosition.x+U.Size.width;else switch(q.style){case W.BRACKET_OPEN_END:case W.BRACKET_OPEN_BOTH:case W.MIXED_OPEN_END:K=U.AbsolutePosition.x+U.BorderRight-Q;break;default:K=U.AbsolutePosition.x+U.BorderLeft-Q;break}const le=(ie=F==null?void 0:F.parentStaffEntry)==null?void 0:ie.vfClefBefore;if(le&&(K+=le.getWidth()/10),J=Math.max(G.SkyBottomLineCalculator.getBottomLineMaxInRange(Z,K),J),J===1/0)return;if(J=Math.max(J,Y+ae),D.setLine(J-3-(G.StaffLines.length-1)),Z>K){const ce=K;K=Z,Z=ce}G.SkyBottomLineCalculator.updateBottomLineInRange(Z,K,J+ae)}for(const ae of G.Pedals){const le=ae,ce=le.getPedalMarking(),he=ce.line+3+(G.StaffLines.length-1);if(J>he){const de=ce.render_options.text_margin_right/10;let me=le.startVfVoiceEntry.PositionAndShape.AbsolutePosition.x-de,fe;le.setLine(J-3-(G.StaffLines.length-1));let ge=(ne=le.endVfVoiceEntry)==null?void 0:ne.PositionAndShape;if(ge||(ge=le.endMeasure.PositionAndShape),le.EndSymbolPositionAndShape){const Se=q.render_options.glyph_point_size/20;fe=me+3.4;const Ee=ge.AbsolutePosition.x-de,ve=Ee+1.5;G.SkyBottomLineCalculator.updateBottomLineInRange(me,fe,J+Se),G.SkyBottomLineCalculator.updateBottomLineInRange(Ee,ve,J+Se)}else{const Se=ce.render_options.bracket_height/10;if(ce.EndsStave)fe=ge.AbsolutePosition.x+ge.Size.width-de;else switch(q.style){case W.BRACKET_OPEN_END:case W.BRACKET_OPEN_BOTH:case W.MIXED_OPEN_END:fe=ge.AbsolutePosition.x+ge.BorderRight-de;break;default:fe=ge.AbsolutePosition.x+ge.BorderLeft-de;break}const Ee=(re=(se=le.endVfVoiceEntry)==null?void 0:se.parentStaffEntry)==null?void 0:re.vfClefBefore;if(Ee&&(fe+=Ee.getWidth()/10),me>fe){const ve=me;me=fe,fe=ve}G.SkyBottomLineCalculator.updateBottomLineInRange(me,fe,J+Se)}}}}calculateOctaveShiftSkyBottomLine(R,F,D,G){if(!F){log$2.warn("octaveshift: no endStaffEntry");return}let U=R.PositionAndShape.Size.width,W=F.PositionAndShape.Size.width;R.hasOnlyRests()?U=-U:U/=2,F.hasOnlyRests()?W*=2:W/=2,R===F&&(W*=2);const q=R.PositionAndShape.AbsolutePosition.x-U,Y=F.PositionAndShape.AbsolutePosition.x+W;D.PositionAndShape.Size.width=q-Y;const Q=D.getTextBracket(),Z=Q.font.size/10;if(Q.position===VF.TextBracket.Positions.TOP){const K=Math.ceil(G.SkyBottomLineCalculator.getSkyLineMinInRange(q,Y));if(K===1/0)return;Q.start.getStave().options.top_text_position=Math.abs(K),G.SkyBottomLineCalculator.updateSkyLineInRange(q,Y,K-Z*2)}else{const K=G.SkyBottomLineCalculator.getBottomLineMaxInRange(q,Y);if(K===1/0)return;Q.start.getStave().options.bottom_text_position=K,R.parentMeasure!==F.parentMeasure&&(Q.stop.getStave().options.bottom_text_position=K),G.SkyBottomLineCalculator.updateBottomLineInRange(q,Y,K+Z*1.5)}}calculateWordRepetitionInstruction(R,F){let D;const G=this.graphicalMusicSheet.MeasureList[F];for(let U=0,W=G.length;U<W;++U){const q=G[U];if(q&&q.ParentStaffLine&&q.ParentStaff.ParentInstrument.Visible){D=q;break}}D&&D.addWordRepetition(R)}calculateExpressionAlignements(){for(const R of this.musicSystems)for(const F of R.StaffLines)try{F.AlignmentManager.alignDynamicExpressions(),F.AbstractExpressions.forEach(D=>{D.updateSkyBottomLine()})}catch{}}handleTiedGraphicalNote(R,F,D,G,U,W,q,Y){}handleBeam(R,F,D){R.parentVoiceEntry.parentStaffEntry.parentMeasure.handleBeam(R,F)}handleVoiceEntryLyrics(R,F,D){R.LyricsEntries.forEach((G,U)=>{const W=new GraphicalLyricEntry(U,F,this.rules.LyricsHeight,this.rules.StaffHeight);if(F.LyricsEntries.push(W),W.GraphicalLabel.setLabelPositionAndShapeBorders(),U.Word){const Y=U.Word.Syllables.indexOf(U);let Q=D.indexOf(U.Word);if(Q===-1&&(D.push(U.Word),Q=D.indexOf(U.Word)),this.graphicalLyricWords.length===0||Q>this.graphicalLyricWords.length-1){const Z=new GraphicalLyricWord(U.Word);W.ParentLyricWord=Z,Z.GraphicalLyricsEntries[Y]=W,this.graphicalLyricWords.push(Z)}else{const Z=this.graphicalLyricWords[Q];W.ParentLyricWord=Z,Z.GraphicalLyricsEntries[Y]=W,Z.isFilled()&&(D.splice(Q,1),this.graphicalLyricWords.splice(this.graphicalLyricWords.indexOf(Z),1))}}})}handleVoiceEntryOrnaments(R,F,D){}handleVoiceEntryArticulations(R,F,D){}handleVoiceEntryTechnicalInstructions(R,F,D){}handleTuplet(R,F,D){R.parentVoiceEntry.parentStaffEntry.parentMeasure.handleTuplet(R,F)}findIndexGraphicalSlurFromSlur(R,F){for(let D=0;D<R.length;D++)if(R[D].slur===F)return D;return-1}calculateSlurs(){const R={};for(const F of this.graphicalMusicSheet.MeasureList[0])R[F.ParentStaff.idInMusicSheet]=[];for(const F of this.musicSystems)for(const D of F.StaffLines){const G=R[D.ParentStaff.idInMusicSheet];for(let U=0;U<G.length;U++){const W=G[U],q=new GraphicalSlur(W.slur,this.rules);D.addSlurToStaffline(q),G[U]=q}for(const U of D.Measures)for(const W of U.staffEntries){for(const q of W.graphicalVoiceEntries)for(const Y of q.notes)for(const Q of Y.sourceNote.NoteSlurs)if(!(!Q.EndNote||!Q.StartNote)){if(Q.StartNote===Y.sourceNote){const Z=new GraphicalSlur(Q,this.rules);G.push(Z),D.addSlurToStaffline(Z)}if(Q.EndNote===Y.sourceNote){const Z=this.findIndexGraphicalSlurFromSlur(G,Q);if(Z>=0){const K=G[Z];K.staffEntries.indexOf(W)===-1&&K.staffEntries.push(W),G.splice(Z,1)}}}for(const q of G)q.staffEntries.indexOf(W)===-1&&q.staffEntries.push(W)}}for(const F of this.musicSystems)for(const D of F.StaffLines){const G=D.GraphicalSlurs.sort(GraphicalSlur.Compare);for(const U of G)U.slur.isCrossed()||U.calculateCurve(this.rules)}}}class MusicPartManager{constructor(R){this.musicSheet=R}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(R){let F;for(let D=this.timestamps.length-1;D>=0;D--)if(F=this.timestamps[D],R.gte(F.from))return F;return this.timestamps[0]}absoluteEnrolledToSheetTimestamp(R){if(this.timestamps.length===0)return R;const F=this.getCurrentRepetitionTimestampTransform(R);return Fraction$1.plus(R,Fraction$1.minus(F.to,F.from))}get Parts(){return this.parts}get MusicSheet(){return this.musicSheet}getIterator(R){return R?new MusicPartManagerIterator(this.musicSheet,R,void 0):new MusicPartManagerIterator(this.musicSheet,this.musicSheet.SelectionStart,this.musicSheet.SelectionEnd)}setSelectionStart(R){this.musicSheet.SelectionStart=R,this.musicSheet.SelectionEnd=void 0}setSelectionRange(R,F){this.musicSheet.SelectionStart=R!=null?R:this.sheetStart,this.musicSheet.SelectionEnd=F!=null?F:this.sheetEnd}calcMapping(){this.timestamps=[];const R=this.getIterator();let F=R.CurrentRepetition,D=new TimestampTransform(R.CurrentEnrolledTimestamp.clone(),R.CurrentSourceTimestamp.clone(),void 0,0);for(this.timestamps.push(D);!R.EndReached;){if(R.JumpOccurred||F!==R.CurrentRepetition){if(F=R.CurrentRepetition,R.backJumpOccurred){const G=R.JumpResponsibleRepetition;D.nextBackJump=R.CurrentEnrolledTimestamp,D.curRepetition=G,D.curRepetitionIteration=R.CurrentJumpResponsibleRepetitionIterationBeforeJump;for(let U=this.timestamps.length-2;U>=0&&!(G.AbsoluteTimestamp.gt(this.timestamps[U].to)||this.timestamps[U].curRepetition);U--)this.timestamps[U].nextBackJump=D.nextBackJump,this.timestamps[U].curRepetition=G,this.timestamps[U].curRepetitionIteration=D.curRepetitionIteration}D=new TimestampTransform(R.CurrentEnrolledTimestamp.clone(),R.CurrentSourceTimestamp.clone(),void 0,0),this.timestamps.push(D)}R.moveToNext()}}}class TimestampTransform{constructor(R,F,D,G){this.from=R,this.to=F,this.curRepetition=D,this.curRepetitionIteration=G,this.nextBackJump=void 0,this.nextForwardJump=void 0}}class PartListEntry{constructor(R){this.enrolledTimestamps=[],this.visible=!0,this.musicSheet=R}get Visible(){return this.visible}set Visible(R){this.visible=R}getFirstSourceMeasure(){return this.musicSheet.SourceMeasures[this.startIndex]}getLastSourceMeasure(){return this.musicSheet.SourceMeasures[this.endIndex]}}class SourceMusicPart extends PartListEntry{constructor(R,F,D){super(R),this.musicSheet=R,this.startIndex=F,this.endIndex=D}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(R){this.parentRepetition=R}get AbsoluteTimestamp(){return Fraction$1.createFromFraction(this.musicSheet.SourceMeasures[this.startIndex].AbsoluteTimestamp)}setStartIndex(R){this.startIndex=R}setEndIndex(R){this.endIndex=R}}class Repetition extends PartListEntry{constructor(R,F=!1){super(R),this.backwardJumpInstructions=[],this.endingParts=[],this.endingIndexDict={},this.userNumberOfRepetitions=0,this.visibles=[],this.fromWords=!1,this.repetitonIterationOrder=[],this.numberOfEndings=1,this.musicSheet2=R,this.virtualOverallRepetition=F}get BackwardJumpInstructions(){return this.backwardJumpInstructions}get EndingIndexDict(){return this.endingIndexDict}get EndingParts(){return this.endingParts}get Visibles(){return this.visibles}set Visibles(R){this.visibles=R}get DefaultNumberOfRepetitions(){let R=2;return this.virtualOverallRepetition&&(R=1),Math.max(R,Object.keys(this.endingIndexDict).length,this.checkRepetitionForMultipleLyricVerses())}get UserNumberOfRepetitions(){return this.userNumberOfRepetitions}set UserNumberOfRepetitions(R){this.userNumberOfRepetitions=R,this.repetitonIterationOrder=[];const F=this.userNumberOfRepetitions-this.NumberOfEndings;for(let D=1;D<=this.userNumberOfRepetitions;D++)D<=F?this.repetitonIterationOrder.push(1):this.repetitonIterationOrder.push(D-F)}getForwardJumpTargetForIteration(R){const F=this.repetitonIterationOrder[R-1];return this.endingIndexDict[F]?this.endingIndexDict[F].part.StartIndex:-1}getBackwardJumpTarget(){return this.startMarker.measureIndex}setEndingsStartIndex(R,F){const D=new RepetitionEndingPart(new SourceMusicPart(this.musicSheet2,F,F));this.endingParts.push(D);for(const G of R)try{this.endingIndexDict[G]=D,D.endingIndices.push(G),this.numberOfEndings<G&&(this.numberOfEndings=G)}catch(U){log$2.error("Repetition: Exception.",U)}}setEndingStartIndex(R,F){const D=new RepetitionEndingPart(new SourceMusicPart(this.musicSheet2,F,F));this.EndingIndexDict[R]=D,this.endingParts.push(D),D.endingIndices.push(R),this.numberOfEndings<R&&(this.numberOfEndings=R)}setEndingEndIndex(R,F){this.endingIndexDict[R]&&this.endingIndexDict[R].part.setEndIndex(F)}get NumberOfEndings(){return this.numberOfEndings}get FromWords(){return this.fromWords}set FromWords(R){this.fromWords=R}get AbsoluteTimestamp(){return Fraction$1.createFromFraction(this.musicSheet2.SourceMeasures[this.startMarker.measureIndex].AbsoluteTimestamp)}get StartIndex(){return this.startMarker.measureIndex}get EndIndex(){if(this.BackwardJumpInstructions.length===0)return this.StartIndex;let R=this.backwardJumpInstructions[this.backwardJumpInstructions.length-1].measureIndex;return this.endingIndexDict[this.NumberOfEndings]&&(R=Math.max(this.endingIndexDict[this.NumberOfEndings].part.EndIndex,R)),R}checkRepetitionForMultipleLyricVerses(){let R=0;const F=this.StartIndex,D=this.EndIndex;for(let G=F;G<=D;G++){const U=this.musicSheet2.SourceMeasures[G];for(let W=0;W<U.CompleteNumberOfStaves;W++)if(U.VerticalSourceStaffEntryContainers[W]){for(const q of U.VerticalSourceStaffEntryContainers[W].StaffEntries)if(q){let Y=0;for(const Q of q.VoiceEntries)Y+=Q.LyricsEntries.keys.length;R=Math.max(R,Y)}}}return R}get FirstSourceMeasureNumber(){return this.getFirstSourceMeasure().MeasureNumber}get LastSourceMeasureNumber(){return this.getLastSourceMeasure().MeasureNumber}coversIdenticalMeasures(R){return this.StartIndex===R.StartIndex&&this.EndIndex===R.EndIndex}removeFromRepetitionInstructions(){this.startMarker!==void 0&&(this.startMarker.parentRepetition=void 0),this.endMarker!==void 0&&(this.endMarker.parentRepetition=void 0);for(const R of this.BackwardJumpInstructions)R.parentRepetition=void 0}}class RepetitionEndingPart{constructor(R){this.endingIndices=[],this.part=R}ToString(){return this.endingIndices.join(", ")}}class PlaybackSettings{constructor(R=new Fraction$1,F=0){this.rhythm=R,this.beatsPerMinute=F,this.beatLengthInMilliseconds=6e4/F,this.beatRealValue=1/4}static createFrom(R){return new PlaybackSettings(R.Rhythm,R.BeatsPerMinute)}get BeatsPerMinute(){return this.beatsPerMinute}set BeatsPerMinute(R){this.beatsPerMinute=R,this.beatLengthInMilliseconds=6e4/this.beatsPerMinute}get Rhythm(){return this.rhythm}set Rhythm(R){this.rhythm=R}get BeatRealValue(){return this.beatRealValue}get BeatLengthInMilliseconds(){return this.beatLengthInMilliseconds}getDurationInMilliseconds(R){return(typeof R=="number"?R:R.RealValue)*this.BeatLengthInMilliseconds/this.beatRealValue}getDurationAsNoteDuration(R,F=1024){const D=R/this.BeatLengthInMilliseconds;let G=Math.floor(D);const U=new Fraction$1(G,4),W=D-G;return G=Math.round(W/(1/F)/4),G===0&&R>0&&(G=1),U.Add(new Fraction$1(G,F)),U}}class MusicSheet$1{constructor(){this.idString="random idString, not initialized",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.playbackSettings=new PlaybackSettings,this.playbackSettings.rhythm=new Fraction$1(4,4,0,!1),this.userStartTempoInBPM=100,this.pageWidth=120,this.MusicPartManager=new MusicPartManager(this),this.hasBPMInfo=!1}get SoundTempos(){return this.soundTempos}set SoundTempos(R){this.soundTempos=R}static getIndexFromStaff(R){return R.idInMusicSheet}get CurrentKeyInstruction(){return this.currentKeyInstruction}set CurrentKeyInstruction(R){this.currentKeyInstruction=R}get SourceMeasures(){return this.sourceMeasures}set SourceMeasures(R){this.sourceMeasures=R}get Repetitions(){return this.repetitions}set Repetitions(R){this.repetitions=R}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(R){this.playbackSettings=R}get DrawErroneousMeasures(){return this.drawErroneousMeasures}set DrawErroneousMeasures(R){this.drawErroneousMeasures=R}get HasBeenOpenedForTheFirstTime(){return this.hasBeenOpenedForTheFirstTime}set HasBeenOpenedForTheFirstTime(R){this.hasBeenOpenedForTheFirstTime=R}InitializeStartTempoInBPM(R){this.playbackSettings.BeatsPerMinute=R,this.userStartTempoInBPM=R}get DefaultStartTempoInBpm(){return this.defaultStartTempoInBpm}set DefaultStartTempoInBpm(R){this.defaultStartTempoInBpm=R,this.InitializeStartTempoInBPM(R)}get Path(){return this.path}set Path(R){this.path=R}get Staves(){return this.staves}get TitleString(){return this.title?this.title.text:""}set TitleString(R){this.Title=new Label(R)}get SubtitleString(){return this.subtitle?this.subtitle.text:""}set SubtitleString(R){this.Subtitle=new Label(R)}get ComposerString(){return this.composer?this.composer.text:""}set ComposerString(R){this.Composer=new Label(R)}get LyricistString(){return this.lyricist?this.lyricist.text:""}set LyricistString(R){this.Lyricist=new Label(R)}get Title(){return this.title}set Title(R){this.title=R}get Subtitle(){return this.subtitle}set Subtitle(R){this.subtitle=R}get Composer(){return this.composer}set Composer(R){this.composer=R}get Lyricist(){return this.lyricist}set Lyricist(R){this.lyricist=R}get Rules(){return this.rules||(log$2.debug("warning: sheet.Rules was undefined. Creating new EngravingRules."),this.rules=new EngravingRules),this.rules}set Rules(R){this.rules=R}get SheetErrors(){return this.musicSheetErrors}get PlaybackDataDict(){return this.playbackDataDict}get SelectionStart(){return this.selectionStart}set SelectionStart(R){this.selectionStart=R.clone(),this.currentEnrolledPosition=R.clone()}get SelectionEnd(){return this.selectionEnd}set SelectionEnd(R){this.selectionEnd=R}set HasBPMInfo(R){this.hasBPMInfo=R}get HasBPMInfo(){return this.hasBPMInfo}addMeasure(R){this.sourceMeasures.push(R),R.measureListIndex=this.sourceMeasures.length-1}checkForInstrumentWithNoVoice(){for(let R=0,F=this.instruments.length;R<F;++R){const D=this.instruments[R];if(D.Voices.length===0){const G=new Voice(D,1);D.Voices.push(G)}}}getStaffFromIndex(R){return this.staves[R]}fillStaffList(){let R=0;for(let F=0,D=this.instruments.length;F<D;++F){const G=this.instruments[F];for(let U=0,W=G.Staves.length;U<W;++U){const q=G.Staves[U];q.idInMusicSheet=R,this.staves.push(q),R++}}}get MusicPartManager(){return this.musicPartManager}set MusicPartManager(R){this.musicPartManager=R}getCompleteNumberOfStaves(){let R=0;for(let F=0,D=this.instruments.length;F<D;++F)R+=this.instruments[F].Staves.length;return R}getListOfMeasuresFromIndeces(R,F){const D=[];for(let G=R;G<=F;G++)D.push(this.sourceMeasures[G]);return D}getNextSourceMeasure(R){const F=this.sourceMeasures.indexOf(R);return F===this.sourceMeasures.length-1?R:this.sourceMeasures[F+1]}getFirstSourceMeasure(){return this.sourceMeasures[0]}getLastSourceMeasure(){return this.sourceMeasures[this.sourceMeasures.length-1]}resetAllNoteStates(){const R=this.MusicPartManager.getIterator();for(;!R.EndReached&&R.CurrentVoiceEntries;){for(let F=0,D=R.CurrentVoiceEntries.length;F<D;++F){const G=R.CurrentVoiceEntries[F];for(let U=0,W=G.Notes.length;U<W;++U){const q=G.Notes[U];q.state=NoteState.Normal}}R.moveToNext()}}getMusicSheetInstrumentIndex(R){return this.Instruments.indexOf(R)}getGlobalStaffIndexOfFirstStaff(R){const F=this.getMusicSheetInstrumentIndex(R);let D=0;for(let G=0;G<F;G++)D+=this.Instruments[G].Staves.length;return D}setRepetitionNewUserNumberOfRepetitions(R,F){let D=0;for(let G=0;G<this.repetitions.length;G++)if(this.repetitions[G]instanceof Repetition)if(R===D){this.repetitions[G].UserNumberOfRepetitions=F;break}else D++}getRepetitionByIndex(R){let F=0;for(let D=0;D<this.repetitions.length;D++)if(this.repetitions[D]instanceof Repetition){if(R===F)return this.repetitions[D];F++}}CompareTo(R){return this.Title.text.localeCompare(R.Title.text)}getExpressionsStartTempoInBPM(){if(this.TimestampSortedTempoExpressionsList.length>0){const R=this.TimestampSortedTempoExpressionsList[0];if(R.InstantaneousTempo)return R.InstantaneousTempo.TempoInBpm;if(R.ContinuousTempo)return R.ContinuousTempo.StartTempo}return this.userStartTempoInBPM}get Errors(){return this.musicSheetErrors.measureErrors}get FirstMeasureNumber(){try{return this.getFirstSourceMeasure().MeasureNumber}catch(R){return log$2.info("MusicSheet.FirstMeasureNumber: ",R),0}}get LastMeasureNumber(){try{return this.getLastSourceMeasure().MeasureNumber}catch(R){return log$2.info("MusicSheet.LastMeasureNumber: ",R),0}}get CurrentEnrolledPosition(){return this.currentEnrolledPosition.clone()}set CurrentEnrolledPosition(R){this.currentEnrolledPosition=R.clone()}get Transpose(){return this.transpose}set Transpose(R){this.transpose=R}get FullNameString(){return this.ComposerString+" "+this.TitleString}get IdString(){return this.idString}set IdString(R){this.idString=R}getEnrolledSelectionStartTimeStampWorkaround(){const R=this.MusicPartManager.getIterator(this.SelectionStart);return Fraction$1.createFromFraction(R.CurrentEnrolledTimestamp)}get SheetEndTimestamp(){const R=this.getLastSourceMeasure();return Fraction$1.plus(R.AbsoluteTimestamp,R.Duration)}getSourceMeasureFromTimeStamp(R){for(let F=0,D=this.sourceMeasures.length;F<D;++F){const G=this.sourceMeasures[F];for(let U=0,W=G.VerticalSourceStaffEntryContainers.length;U<W;++U){const q=G.VerticalSourceStaffEntryContainers[U];if(R.Equals(q.getAbsoluteTimestamp()))return G}}return this.findSourceMeasureFromTimeStamp(R)}findSourceMeasureFromTimeStamp(R){for(const F of this.sourceMeasures)if(F.AbsoluteTimestamp.lte(R)&&R.lt(Fraction$1.plus(F.AbsoluteTimestamp,F.Duration)))return F}getVisibleInstruments(){const R=[];for(let F=0,D=this.Instruments.length;F<D;++F){const G=this.Instruments[F];G.Voices.length>0&&G.Voices[0].Visible&&R.push(G)}return R}}MusicSheet$1.defaultTitle="[no title given]";class LyricWord{constructor(){this.syllables=[]}get Syllables(){return this.syllables}containsVoiceEntry(R){for(let F=0,D=this.Syllables.length;F<D;++F)if(this.Syllables[F].Parent===R)return!0;return!1}findLyricEntryInVoiceEntry(R){for(let F=0,D=this.Syllables.length;F<D;++F){const G=this.Syllables[F];if(G.Parent===R)return G}}}class LyricsEntry{constructor(R,F,D,G,U=-1){this.text=R,this.word=D,this.parent=G,this.verseNumber=F,U>=0&&(this.syllableIndex=U)}get Text(){return this.text}set Text(R){this.text=R}get Word(){return this.word}get Parent(){return this.parent}set Parent(R){this.parent=R}get VerseNumber(){return this.verseNumber}get SyllableIndex(){return this.syllableIndex}}class LyricsReader{constructor(R){this.openLyricWords={},this.musicSheet=R}addLyricEntry(R,F){var D,G;if(R){const U=R;for(let W=0,q=U.length;W<q;++W){const Y=U[W];try{let Q="single";if(Y.element("text")){let Z=Y.element("text");if(Y.element("syllabic")&&(Q=Y.element("syllabic").value),Z){let K="";const J=Y.elements();for(const re of J)(re.name==="text"||re.name==="elision")&&(K+=re.value);if(K=K.replace(" "," "),Y.element("elision")!==void 0&&K==="-"){const re=Y.elements();let ae=0;for(let he=0;he<re.length;he++)if(re[he].name==="elision"){ae=he;break}let le,ce;if(ae>0)for(let he=ae;he<re.length;he++){const de=re[he];de.name==="text"&&(le=de),de.name==="syllabic"&&(ce=de)}le!==void 0&&ce&&(Z=le,Q="middle")}let ie=1,ne=!1;if(Y.attributes()!==void 0&&Y.attribute("number")){try{ie=parseInt(Y.attribute("number").value,10)}catch{ne=!0}if(ne=ne||isNaN(ie),ne)try{const re=Y.attribute("number").value.toLowerCase().split("verse");re.length>1&&(ie=parseInt(re[1],10))}catch{const ae=ITextTranslation.translateText("ReaderErrorMessages/LyricVerseNumberError","Invalid lyric verse number");this.musicSheet.SheetErrors.pushMeasureError(ae);continue}}let se;if(Q==="single"||Q==="end"){if(this.openLyricWords[ie]){this.currentLyricWord=this.openLyricWords[ie];const re=this.currentLyricWord.Syllables.length;se=new LyricsEntry(K,ie,this.currentLyricWord,F,re),this.currentLyricWord.Syllables.push(se),delete this.openLyricWords[ie],this.currentLyricWord=void 0}else se=new LyricsEntry(K,ie,void 0,F);se.extend=Y.element("extend")!==void 0}else if(Q==="begin")this.openLyricWords[ie]&&(delete this.openLyricWords[ie],this.currentLyricWord=void 0),this.currentLyricWord=new LyricWord,this.openLyricWords[ie]=this.currentLyricWord,se=new LyricsEntry(K,ie,this.currentLyricWord,F,0),this.currentLyricWord.Syllables.push(se);else if(Q==="middle")if(this.openLyricWords[ie]){this.currentLyricWord=this.openLyricWords[ie];const re=this.currentLyricWord.Syllables.length;se=new LyricsEntry(K,ie,this.currentLyricWord,F,re),this.currentLyricWord.Syllables.push(se)}else se=new LyricsEntry(K,ie,void 0,F);se&&(F.LyricsEntries[ie]||(F.LyricsEntries.setValue(ie,se),(G=(D=F.ParentSourceStaffEntry)==null?void 0:D.VerticalContainerParent)!=null&&G.ParentMeasure&&(F.ParentSourceStaffEntry.VerticalContainerParent.ParentMeasure.hasLyrics=!0)),F.ParentVoice.Parent.LyricVersesNumbers[ie]||F.ParentVoice.Parent.LyricVersesNumbers.push(ie))}}}catch{const Z=ITextTranslation.translateText("ReaderErrorMessages/LyricError","Error while reading lyric entry.");this.musicSheet.SheetErrors.pushMeasureError(Z);continue}}F.ParentVoice.Parent.LyricVersesNumbers=F.ParentVoice.Parent.LyricVersesNumbers.filter((W,q,Y)=>Y.indexOf(W)===q)}}}class Articulation{constructor(R,F){this.articulationEnum=R,this.placement=F}Equals(R){return R.articulationEnum===this.articulationEnum&&R.placement===this.placement}}class ArticulationReader{constructor(R){this.rules=R}getAccEnumFromString(R){switch(R){case"sharp":return AccidentalEnum.SHARP;case"flat":return AccidentalEnum.FLAT;case"natural":return AccidentalEnum.NATURAL;case"double-sharp":case"sharp-sharp":return AccidentalEnum.DOUBLESHARP;case"double-flat":case"flat-flat":return AccidentalEnum.DOUBLEFLAT;case"triple-sharp":return AccidentalEnum.TRIPLESHARP;case"triple-flat":return AccidentalEnum.TRIPLEFLAT;case"quarter-sharp":return AccidentalEnum.QUARTERTONESHARP;case"quarter-flat":return AccidentalEnum.QUARTERTONEFLAT;case"three-quarters-sharp":return AccidentalEnum.THREEQUARTERSSHARP;case"three-quarters-flat":return AccidentalEnum.THREEQUARTERSFLAT;case"slash-quarter-sharp":return AccidentalEnum.SLASHQUARTERSHARP;case"slash-sharp":return AccidentalEnum.SLASHSHARP;case"double-slash-flat":return AccidentalEnum.DOUBLESLASHFLAT;case"sori":return AccidentalEnum.SORI;case"koron":return AccidentalEnum.KORON;default:return AccidentalEnum.NONE}}addArticulationExpression(R,F){var D,G;if(R!==void 0&&R.elements().length>0){const U=R.elements();for(let W=0,q=U.length;W<q;++W){const Y=U[W];let Q=Y.name;try{Q=Q.replace("-","");const Z=ArticulationEnum[Q];if(VoiceEntry.isSupportedArticulation(Z)){let K=PlacementEnum.NotYetDefined;const J=(D=Y.attribute("placement"))==null?void 0:D.value;J==="above"?K=PlacementEnum.Above:J==="below"&&(K=PlacementEnum.Below);const ie=new Articulation(Z,K);if(Q==="staccato"&&F.Articulations.length>0&&F.Articulations[0].articulationEnum!==ArticulationEnum.staccato&&F.Articulations.splice(0,0,ie),Q==="strongaccent"){const ne=(G=Y==null?void 0:Y.attribute("type"))==null?void 0:G.value;ne==="up"?ie.articulationEnum=ArticulationEnum.marcatoup:ne==="down"&&(ie.articulationEnum=ArticulationEnum.marcatodown)}if(Q==="detachedlegato"){const ne=new Articulation(ArticulationEnum.staccato,K),se=new Articulation(ArticulationEnum.tenuto,K);F.Articulations.push(ne,se)}if(!F.hasArticulation(ie))switch(F.Articulations.push(ie),ie.articulationEnum){case ArticulationEnum.staccato:case ArticulationEnum.staccatissimo:F.DurationModifier=ie;break;case ArticulationEnum.accent:case ArticulationEnum.strongaccent:F.VolumeModifier=ie;break;default:break}}}catch(Z){const K="Invalid note articulation.";log$2.debug("addArticulationExpression",K,Z);return}}}}addFermata(R,F){var U;let D=ArticulationEnum.fermata;R.attributes().length>0&&R.attribute("type")&&R.attribute("type").value==="inverted"&&(D=ArticulationEnum.invertedfermata);let G=PlacementEnum.Above;((U=R.attribute("placement"))==null?void 0:U.value)==="below"&&(G=PlacementEnum.Below),F.Articulations.push(new Articulation(D,G))}addTechnicalArticulations(R,F,D){var q,Y;const G={bend:ArticulationEnum.bend,"down-bow":ArticulationEnum.downbow,"open-string":ArticulationEnum.naturalharmonic,"snap-pizzicato":ArticulationEnum.snappizzicato,stopped:ArticulationEnum.lefthandpizzicato,"up-bow":ArticulationEnum.upbow};for(const Q in G){if(!G.hasOwnProperty(Q))continue;const Z=G[Q],K=R.element(Q);if(K){let J;((q=K.attribute("placement"))==null?void 0:q.value)==="above"&&(J=PlacementEnum.Above),((Y=K.attribute("placement"))==null?void 0:Y.value)==="below"&&(J=PlacementEnum.Below);const ie=new Articulation(Z,J);F.hasArticulation(ie)||F.Articulations.push(ie)}}const U=R.element("fingering");if(U){const Q=this.createTechnicalInstruction(U,D);Q.type=TechnicalInstructionType.Fingering,D.Fingering=Q,F.TechnicalInstructions.push(Q)}const W=R.element("string");if(W){const Q=this.createTechnicalInstruction(W,D);Q.type=TechnicalInstructionType.String,D.StringInstruction=Q,F.TechnicalInstructions.push(Q)}}createTechnicalInstruction(R,F){const D=new TechnicalInstruction;D.sourceNote=F,D.value=R.value;const G=R.attribute("placement");return this.rules.FingeringPositionFromXML&&(D.placement=this.getPlacement(G)),D}getPlacement(R,F=PlacementEnum.NotYetDefined){if(F!==PlacementEnum.NotYetDefined)return F;if(R)switch(R.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(R,F){if(R){let D;const G={"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 U in G){if(!G.hasOwnProperty(U))continue;const W=R.element(U);if(W){D=new OrnamentContainer(G[U]);const q=W.attribute("placement");q&&q.value==="below"&&(D.placement=PlacementEnum.Below)}}if(D){const U=R.elements("accidental-mark");if(U){let W=PlacementEnum.Below,q=AccidentalEnum.NONE;const Y=U;for(let Q=0,Z=Y.length;Q<Z;++Q){const K=Y[Q];let J=K.value;q=this.getAccEnumFromString(J);const ie=K.attribute("placement");K.hasAttributes&&ie&&(J=ie.value,J==="above"?W=PlacementEnum.Above:J==="below"&&(W=PlacementEnum.Below)),W===PlacementEnum.Above?D.AccidentalAbove=q:W===PlacementEnum.Below&&(D.AccidentalBelow=q)}}F.OrnamentContainer=D}}}}class TabNote extends Note$1{constructor(R,F,D,G,U,W,q,Y){super(R,F,D,G,U),this.stringNumberTab=W,this.fretNumber=q,this.bendArray=Y}get StringNumberTab(){return this.stringNumberTab}get FretNumber(){return this.fretNumber}get BendArray(){return this.bendArray}}class VoiceGenerator{constructor(R,F,D,G,U=void 0){this.openBeams=[],this.beamNumberOffset=0,this.currentOctaveShift=0,this.tupletDict={},this.openTupletNumber=0,this.currMeasureVoiceEntries=[],this.graceVoiceEntriesTempList=[],this.staff=F,this.instrument=F.ParentInstrument,this.musicSheet=this.instrument.GetMusicSheet,this.slurReader=G,this.pluginManager=R,U?this.voice=new LinkedVoice(this.instrument,D,U):this.voice=new Voice(this.instrument,D),this.instrument.Voices.push(this.voice),this.staff.Voices.push(this.voice),this.lyricsReader=new LyricsReader(this.musicSheet),this.articulationReader=new ArticulationReader(this.musicSheet.Rules)}get openTieDict(){return this.staff.openTieDict}get GetVoice(){return this.voice}get OctaveShift(){return this.currentOctaveShift}set OctaveShift(R){this.currentOctaveShift=R}createVoiceEntry(R,F,D,G,U=!1,W=!1,q=!1){this.activeKey=D,this.activeRhythm=G,this.currentVoiceEntry=new VoiceEntry(Fraction$1.createFromFraction(R),this.voice,F,!0,U,W,q),U?this.graceVoiceEntriesTempList.push(this.currentVoiceEntry):(this.currentNormalVoiceEntry=this.currentVoiceEntry,this.currMeasureVoiceEntries.push(this.currentNormalVoiceEntry),this.graceVoiceEntriesTempList.length>0&&(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(R,F,D,G,U,W,q,Y,Q,Z,K,J,ie,ne,se,re,ae,le,ce,he,de,me,fe){this.currentStaffEntry=q,this.currentMeasure=Y;try{this.currentNote=W?this.addRestNote(R.element("rest"),F,G,U,ie,ne,ce):this.addSingleNote(R,F,G,D,U,K,J,ie,ne,se,re,ae,le,ce,de,me,fe),this.currentNote.DotsXml=he;const ge=R.elements("lyric");this.lyricsReader!==void 0&&ge&&(this.lyricsReader.addLyricEntry(ge,this.currentVoiceEntry),this.voice.Parent.HasLyrics=!0);let Se=!1;const Ee=R.element("notations");if(Ee){this.articulationReader&&this.readArticulations(Ee,this.currentVoiceEntry,this.currentNote);const ve=Ee.elements("slur");this.slurReader!==void 0&&ve.length>0&&!this.currentNote.ParentVoiceEntry.IsGrace&&this.slurReader.addSlur(ve,this.currentNote);const xe=Ee.elements("tuplet");xe.length>0&&(this.openTupletNumber=this.addTuplet(R,xe),Se=!0);const Pe=Ee.element("arpeggiate");if(Pe!==void 0){let we;if(this.currentVoiceEntry.Arpeggio)we=this.currentVoiceEntry.Arpeggio;else{let Ae=!1;for(const Me of this.currentStaffEntry.VoiceEntries)if(Me.Arpeggio){Ae=!0,we=Me.Arpeggio;break}if(!Ae){let Me=ArpeggioType.ARPEGGIO_DIRECTIONLESS;const ke=Pe.attribute("direction");if(ke)switch(ke.value){case"up":Me=ArpeggioType.ROLL_UP;break;case"down":Me=ArpeggioType.ROLL_DOWN;break;default:Me=ArpeggioType.ARPEGGIO_DIRECTIONLESS}we=new Arpeggio(this.currentVoiceEntry,Me),this.currentVoiceEntry.Arpeggio=we}}we.addNote(this.currentNote)}const ye=Ee.elements("tied");ye.length>0&&this.addTie(ye,Q,Z,TieTypes.SIMPLE);const Te=Ee.elements("slide");Te.length>0&&this.addTie(Te,Q,Z,TieTypes.SLIDE);const Le=Ee.element("technical");if(Le){const we=Le.elements("hammer-on");we.length>0&&this.addTie(we,Q,Z,TieTypes.HAMMERON);const Ae=Le.elements("pull-off");Ae.length>0&&this.addTie(Ae,Q,Z,TieTypes.PULLOFF)}}R.element("time-modification")!==void 0&&!Se&&this.handleTimeModificationNode(R)}catch(ge){log$2.warn(ge);const Se=ITextTranslation.translateText("ReaderErrorMessages/NoteError","Ignored erroneous Note.");this.musicSheet.SheetErrors.pushMeasureError(Se),this.musicSheet.SheetErrors.pushMeasureError(ge)}return this.currentNote}checkForStaffEntryLink(R,F,D,G){const U=new StaffEntryLink(this.currentVoiceEntry);U.LinkStaffEntries.push(D),D.Link=U;const W=this.currentVoiceEntry.Timestamp.clone(),q=G.getVerticalContainerByTimestamp(W);return D=q.StaffEntries[R],D||(D=new SourceStaffEntry(q,F),q.StaffEntries[R]=D),D.VoiceEntries.push(this.currentVoiceEntry),U.LinkStaffEntries.push(D),D.Link=U,D}checkForOpenBeam(){this.openBeams.length>0&&this.currentNote&&this.handleOpenBeam()}checkOpenTies(){const R=this.openTieDict;for(const F in R)if(R.hasOwnProperty(F)){const D=R[F];Fraction$1.plus(D.StartNote.ParentStaffEntry.Timestamp,D.Duration).lt(D.StartNote.SourceMeasure.Duration)&&delete R[F]}}hasVoiceEntry(){return this.currentVoiceEntry!==void 0}readArticulations(R,F,D){const G=R.element("articulations");G&&this.articulationReader.addArticulationExpression(G,F);const U=R.element("fermata");U&&this.articulationReader.addFermata(U,F);const W=R.element("technical");W&&this.articulationReader.addTechnicalArticulations(W,F,D);const q=R.element("ornaments");q&&this.articulationReader.addOrnament(q,F)}addSingleNote(R,F,D,G,U,W,q,Y,Q,Z,K,J,ie,ne,se,re,ae){let le=0,ce,he=AccidentalEnum.NONE,de=NoteEnum.C,me=NoteEnum.C,fe=0,ge=0,Se,Ee,ve;const xe=R.elements();for(let ke=0,Ne=xe.length;ke<Ne;++ke){const Ie=xe[ke];try{if(Ie.name==="pitch"){const Ge=Ie.elements();for(let ze=0,Ve=Ge.length;ze<Ve;++ze){const Ye=Ge[ze];Ee=void 0,ve=void 0;try{if(Ye.name==="step"){if(de=NoteEnum[Ye.value],de===void 0){const et=ITextTranslation.translateText("ReaderErrorMessages/NotePitchError","Invalid pitch while reading note.");throw this.musicSheet.SheetErrors.pushMeasureError(et),new MusicSheetReadingException(et,void 0)}}else if(Ye.name==="alter"){if(le=parseFloat(Ye.value),isNaN(le)){const et=ITextTranslation.translateText("ReaderErrorMessages/NoteAlterationError","Invalid alteration while reading note.");throw this.musicSheet.SheetErrors.pushMeasureError(et),new MusicSheetReadingException(et,void 0)}he=Pitch.AccidentalFromHalfTones(le)}else if(Ye.name==="octave"&&(fe=parseInt(Ye.value,10),isNaN(fe))){const et=ITextTranslation.translateText("ReaderErrorMessages/NoteOctaveError","Invalid octave value while reading note.");throw this.musicSheet.SheetErrors.pushMeasureError(et),new MusicSheetReadingException(et,void 0)}}catch(et){log$2.info("VoiceGenerator.addSingleNote read Step: ",et.message)}}}else if(Ie.name==="accidental")ce=Ie.value,ce==="natural"?he=AccidentalEnum.NATURAL:ce==="slash-flat"?he=AccidentalEnum.SLASHFLAT:ce==="slash-quarter-sharp"?he=AccidentalEnum.SLASHQUARTERSHARP:ce==="slash-sharp"?he=AccidentalEnum.SLASHSHARP:ce==="double-slash-flat"?he=AccidentalEnum.DOUBLESLASHFLAT:ce==="sori"?he=AccidentalEnum.SORI:ce==="koron"&&(he=AccidentalEnum.KORON);else if(Ie.name==="unpitched"){const Ge=Ie.element("display-step"),ze=Ie.element("display-octave");if(ze&&(fe=parseInt(ze.value,10),ge=fe-3,q&&(fe+=1),this.instrument.Staves[0].StafflineCount===1&&(ge+=1)),Ge){de=NoteEnum[Ge.value.toUpperCase()];let Ve=0,Ye=this.musicSheet.Rules.PercussionXMLDisplayStepNoteValueShift;this.instrument.Staves[0].StafflineCount===1&&(Ye-=3),[me,Ve]=Pitch.lineShiftFromNoteEnum(de,Ye),ge+=Ve}}else Ie.name==="instrument"?Ie.firstAttribute&&(Se=Ie.firstAttribute.value):Ie.name==="notehead"&&(Ee=Ie.value,Ie.attribute("filled")&&(ve=Ie.attribute("filled").value==="yes"))}catch(Ge){log$2.info("VoiceGenerator.addSingleNote: ",Ge)}}fe-=Pitch.OctaveXmlDifference;const Pe=new Pitch(de,fe,he,ce),ye=Fraction$1.createFromFraction(F);let Te,Le=-1,we=-1;const Ae=[],Me=R.element("notations");if(Me){const ke=Me.element("technical");if(ke){const Ne=ke.element("string");Ne&&(Le=parseInt(Ne.value,10));const Ie=ke.element("fret");Ie&&(we=parseInt(Ie.value,10)),ke.elements("bend").forEach(function(ze){const Ve=ze.element("bend-alter");ze.element("release")!==void 0?Ae.push({bendalter:parseInt(Ve.value,10),direction:"down"}):Ae.push({bendalter:parseInt(Ve.value,10),direction:"up"})})}}return Le<0||we<0?Te=new Note$1(this.currentVoiceEntry,this.currentStaffEntry,ye,Pe,this.currentMeasure):Te=new TabNote(this.currentVoiceEntry,this.currentStaffEntry,ye,Pe,this.currentMeasure,Le,we,Ae),this.addNoteInfo(Te,D,Y,Q,U,me,ge,ne,ne),Te.TypeLength=G,Te.IsGraceNote=Z,Te.StemDirectionXml=K,Te.TremoloStrokes=J,Te.PlaybackInstrumentId=Se,(Ee!==void 0&&Ee!=="normal"||ve!==void 0)&&(Te.Notehead=new Notehead(Te,Ee,ve)),Te.NoteheadColorXml=ne,Te.NoteheadColor=ne,Te.PlaybackInstrumentId=Se,Te.TremoloType=se,Te.glissandoType=re,Te.slideType=ae,this.currentVoiceEntry.addNote(Te),K===StemDirectionType.None&&(ie="#00000000"),this.currentVoiceEntry.StemDirectionXml=K,ie&&(this.currentVoiceEntry.StemColorXml=ie,this.currentVoiceEntry.StemColor=ie,Te.StemColorXml=ie),R.elements("beam")&&!W&&this.createBeam(R,Te),Te}addRestNote(R,F,D,G,U,W,q){const Y=Fraction$1.createFromFraction(F),Q=R.element("display-step"),Z=R.element("display-octave");let K,J,ie;Q&&Z&&(K=NoteEnum[Q.value.toUpperCase()],J=parseInt(Z.value,10),ie=new Pitch(K,J,AccidentalEnum.NONE));const ne=new Note$1(this.currentVoiceEntry,this.currentStaffEntry,Y,ie,this.currentMeasure,!0);return this.addNoteInfo(ne,D,U,W,G,K,J,q,q),this.currentVoiceEntry.Notes.push(ne),this.openBeams.length>0&&this.openBeams.last().ExtendedNoteList.push(ne),ne}addNoteInfo(R,F,D,G,U,W,q,Y,Q){R.NoteTypeXml=F,R.PrintObject=D,R.IsCueNote=G,R.NormalNotes=U,R.displayStepUnpitched=W,R.displayOctaveUnpitched=q,R.NoteheadColorXml=Y,R.NoteheadColor=Y}createBeam(R,F){var D;try{const G=R.element("beam");let U;if(G!==void 0&&G.hasAttributes&&(U=G.attribute("number")),U){let W=parseInt(U.value,10);const q=R.elements("beam"),Y=q[0].value;q&&(Y==="begin"?(W===((D=this.openBeams.last())==null?void 0:D.BeamNumber)?(this.beamNumberOffset++,W+=this.beamNumberOffset):this.openBeams.last()&&this.handleOpenBeam(),this.openBeams.push(new Beam(W,this.beamNumberOffset))):W+=this.beamNumberOffset);let Q=!1;if(!(W>0&&W<=this.openBeams.length)||!this.openBeams[W-1]){log$2.debug("[OSMD] invalid beamnumber");return}for(let Z=0,K=this.openBeams[W-1].Notes.length;Z<K;++Z){const J=this.openBeams[W-1].Notes[Z];this.currentVoiceEntry===J.ParentVoiceEntry&&(Q=!0)}Q||(this.openBeams[W-1].addNoteToBeam(F),Y==="end"&&this.endBeam())}}catch(G){const U=ITextTranslation.translateText("ReaderErrorMessages/BeamError","Error while reading beam.");throw this.musicSheet.SheetErrors.pushMeasureError(U),new MusicSheetReadingException("",G)}}endBeam(){this.openBeams.pop(),this.beamNumberOffset=Math.max(0,this.beamNumberOffset-1)}handleOpenBeam(){const R=this.openBeams.last();if(R.Notes.length===0){this.endBeam();return}if(R.Notes.length===1){const F=R.Notes[0];F.NoteBeam=void 0,this.endBeam();return}if(this.currentNote===CollectionUtil.last(R.Notes))this.endBeam();else{const D=CollectionUtil.last(R.Notes).ParentStaffEntry,G=this.currentMeasure.getVerticalContainerIndexByTimestamp(D.Timestamp),U=D.VerticalContainerParent.StaffEntries.indexOf(D);if(G<this.currentMeasure.VerticalSourceStaffEntryContainers.length-1){const W=this.currentMeasure.VerticalSourceStaffEntryContainers[G+1].StaffEntries[U];if(W)for(let q=0,Y=W.VoiceEntries.length;q<Y;++q){const Q=W.VoiceEntries[q];if(Q.ParentVoice===this.voice){const Z=Q.Notes[0];Z.Length.lte(new Fraction$1(1,8))?(this.openBeams.last().addNoteToBeam(Z),this.endBeam()):this.endBeam()}}}else this.endBeam()}}addTuplet(R,F){let D=!1;if(F!==void 0&&F.length>1){let G=R.element("time-modification");G&&(G=G.element("actual-notes"));const U=F;for(let W=0,q=U.length;W<q;++W){const Y=U[W];if(Y!==void 0&&Y.attributes()){const Q=Y.attribute("bracket");Q&&Q.value==="yes"&&(D=!0);const Z=Y.attribute("type");if(Z&&Z.value==="start"){let K=1;Y.attribute("number")&&(K=parseInt(Y.attribute("number").value,10));let J=0;if(G&&(J=parseInt(G.value,10),isNaN(J))){const re=ITextTranslation.translateText("ReaderErrorMessages/TupletNoteDurationError","Invalid tuplet note duration.");throw this.musicSheet.SheetErrors.pushMeasureError(re),new MusicSheetReadingException(re,void 0)}const ie=new Tuplet(J,D);ie.tupletLabelNumberPlacement=PlacementEnum.Above;const ne=Y.attribute("placement");ne&&(ne.value==="below"&&(ie.tupletLabelNumberPlacement=PlacementEnum.Below),ie.PlacementFromXml=!0),this.tupletDict[K]&&(delete this.tupletDict[K],Object.keys(this.tupletDict).length===0?this.openTupletNumber=0:Object.keys(this.tupletDict).length>1&&this.openTupletNumber--),this.tupletDict[K]=ie;const se=[];se.push(this.currentNote),ie.Notes.push(se),ie.Fractions.push(this.getTupletNoteDurationFromType(R)),this.currentNote.NoteTuplet=ie,this.openTupletNumber=K}else if(Z.value==="stop"){let K=1;Y.attribute("number")&&(K=parseInt(Y.attribute("number").value,10));const J=this.tupletDict[K];if(J){const ie=Y.attribute("placement");ie&&(ie.value==="below"?J.tupletLabelNumberPlacement=PlacementEnum.Below:J.tupletLabelNumberPlacement=PlacementEnum.Above,J.PlacementFromXml=!0);const ne=[];if(ne.push(this.currentNote),J.Notes.push(ne),!J.PlacementFromXml){let se=!1;for(const re of J.Notes){for(const ae of re)if(!ae.isRest()){ae.StemDirectionXml===StemDirectionType.Down?J.tupletLabelNumberPlacement=PlacementEnum.Below:J.tupletLabelNumberPlacement=PlacementEnum.Above,se=!0;break}if(se)break}}J.Fractions.push(this.getTupletNoteDurationFromType(R)),this.currentNote.NoteTuplet=J,delete this.tupletDict[K],Object.keys(this.tupletDict).length===0?this.openTupletNumber=0:Object.keys(this.tupletDict).length>1&&this.openTupletNumber--}}}}}else if(F[0]){const G=F[0];if(G.hasAttributes){const U=G.attribute("type").value;let W=1;G.attribute("number")&&(W=parseInt(G.attribute("number").value,10));const q=isNaN(W),Y=G.attribute("bracket");if(Y&&Y.value==="yes"&&(D=!0),U==="start"){let Q=0,Z=R.element("time-modification");if(Z&&(Z=Z.element("actual-notes")),Z&&(Q=parseInt(Z.value,10),isNaN(Q))){const ne=ITextTranslation.translateText("ReaderErrorMessages/TupletNoteDurationError","Invalid tuplet note duration.");throw this.musicSheet.SheetErrors.pushMeasureError(ne),new MusicSheetReadingException(ne)}q&&(this.openTupletNumber++,W=this.openTupletNumber);let K=this.tupletDict[W];K||(K=this.tupletDict[W]=new Tuplet(Q,D),K.tupletLabelNumberPlacement=PlacementEnum.Above);const J=G.attribute("placement");J&&(J.value==="below"?K.tupletLabelNumberPlacement=PlacementEnum.Below:K.tupletLabelNumberPlacement=PlacementEnum.Above,K.PlacementFromXml=!0);const ie=[];ie.push(this.currentNote),K.Notes.push(ie),K.Fractions.push(this.getTupletNoteDurationFromType(R)),this.currentNote.NoteTuplet=K,this.openTupletNumber=W}else if(U==="stop"){q&&(W=this.openTupletNumber);const Q=this.tupletDict[this.openTupletNumber];if(Q){const Z=G.attribute("placement");Z&&(Z.value==="below"?Q.tupletLabelNumberPlacement=PlacementEnum.Below:Q.tupletLabelNumberPlacement=PlacementEnum.Above,Q.PlacementFromXml=!0);const K=[];if(K.push(this.currentNote),Q.Notes.push(K),!Q.PlacementFromXml){let J=!1;for(const ie of Q.Notes){for(const ne of ie)if(!ne.isRest()){ne.StemDirectionXml===StemDirectionType.Down?Q.tupletLabelNumberPlacement=PlacementEnum.Below:Q.tupletLabelNumberPlacement=PlacementEnum.Above,J=!0;break}if(J)break}}Q.Fractions.push(this.getTupletNoteDurationFromType(R)),this.currentNote.NoteTuplet=Q,Object.keys(this.tupletDict).length===0?this.openTupletNumber=0:Object.keys(this.tupletDict).length>1&&this.openTupletNumber--,delete this.tupletDict[W]}}}}return this.openTupletNumber}handleTimeModificationNode(R){if(this.tupletDict[this.openTupletNumber])try{const F=this.tupletDict[this.openTupletNumber],D=CollectionUtil.last(F.Notes),G=D[0].ParentVoiceEntry;let U;G.Timestamp.Equals(this.currentVoiceEntry.Timestamp)?U=D:(U=[],F.Notes.push(U),F.Fractions.push(this.getTupletNoteDurationFromType(R))),U.push(this.currentNote),this.currentNote.NoteTuplet=F}catch(F){const D=ITextTranslation.translateText("ReaderErrorMessages/TupletNumberError","Invalid tuplet number.");throw this.musicSheet.SheetErrors.pushMeasureError(D),F}else if(this.currentVoiceEntry.Notes.length>0){const F=this.currentVoiceEntry.Notes[0];if(F.NoteTuplet){const D=F.NoteTuplet;CollectionUtil.last(D.Notes).push(this.currentNote),this.currentNote.NoteTuplet=D}}}addTie(R,F,D,G){if(R){if(R.length===1){const U=R[0];if(U!==void 0&&U.attributes()){const W=this.getTieDirection(U),q=U.attribute("type").value;try{if(q==="start"){const Y=this.findCurrentNoteInTieDict(this.currentNote);Y<0&&delete this.openTieDict[Y];const Q=this.getNextAvailableNumberForTie(),Z=new Tie(this.currentNote,G);this.openTieDict[Q]=Z,Z.TieNumber=Q,Z.TieDirection=W}else if(q==="stop"){const Y=this.findCurrentNoteInTieDict(this.currentNote),Q=this.openTieDict[Y];Q&&(Q.AddNote(this.currentNote),delete this.openTieDict[Y])}}catch{const Q=ITextTranslation.translateText("ReaderErrorMessages/TieError","Error while reading tie.");this.musicSheet.SheetErrors.pushMeasureError(Q)}}}else if(R.length===2){const U=this.findCurrentNoteInTieDict(this.currentNote);if(U>=0){const W=this.openTieDict[U];W.AddNote(this.currentNote);for(const q of R)if(q.attribute("type").value==="start"){const Q=this.getTieDirection(q);W.NoteIndexToTieDirection[W.Notes.length-1]=Q}}}}}getTieDirection(R){let F=PlacementEnum.NotYetDefined;const D=R.attribute("placement");D&&(D.value==="above"?F=PlacementEnum.Above:D.value==="below"&&(F=PlacementEnum.Below));const G=R.attribute("orientation");return G&&(G.value==="over"?F=PlacementEnum.Above:G.value==="under"&&(F=PlacementEnum.Below)),F}getNextAvailableNumberForTie(){const R=Object.keys(this.openTieDict);if(R.length===0)return 1;R.sort((F,D)=>+F-+D);for(let F=0;F<R.length;F++)if(""+(F+1)!==R[F])return F+1;return+R[R.length-1]+1}findCurrentNoteInTieDict(R){const F=this.openTieDict;for(const D in F)if(F.hasOwnProperty(D)){const G=F[D],U=G.Notes[0],W=R;if(G.Pitch.FundamentalNote===R.Pitch.FundamentalNote&&G.Pitch.Octave===R.Pitch.Octave)return parseInt(D,10);if(U.StringNumberTab!==void 0&&U.StringNumberTab===W.StringNumberTab)return parseInt(D,10)}return-1}getTupletNoteDurationFromType(R){if(R.element("type")){const F=R.element("type");if(F){const D=F.value;try{return NoteTypeHandler.getNoteDurationFromType(D)}catch(G){const U=ITextTranslation.translateText("ReaderErrorMessages/NoteDurationError","Invalid note duration.");throw this.musicSheet.SheetErrors.pushMeasureError(U),new MusicSheetReadingException("",G)}}}}}class ChordSymbolReader{static readChordSymbol(R,F,D){const G=R.element("root"),U=R.element("kind"),W=U.attribute("text");if(!G||!U)return;const q=G.element("root-step"),Y=G.element("root-alter");if(!q)return;let Q;try{Q=NoteEnum[q.value.trim()]}catch(le){const ce=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");F.SheetErrors.pushMeasureError(ce),log$2.debug("InstrumentReader.readChordSymbol",ce,le);return}let Z=AccidentalEnum.NONE;if(Y)try{Z=Pitch.AccidentalFromHalfTones(parseInt(Y.value,10))}catch(le){const ce=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");F.SheetErrors.pushMeasureError(ce),log$2.debug("InstrumentReader.readChordSymbol",ce,le)}const K=new Pitch(Q,1,Z);let J=U.value.trim().replace("-","");if(W)switch(W.value){case"aug":J="augmented";break;case"dim":J="diminished";break}let ie;try{ie=ChordSymbolEnum[J]}catch(le){const ce=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");F.SheetErrors.pushMeasureError(ce),log$2.debug("InstrumentReader.readChordSymbol",ce,le);return}let ne;const se=R.element("bass");if(se){const le=se.element("bass-step"),ce=se.element("bass-alter");let he=NoteEnum.C;if(le)try{he=NoteEnum[le.value.trim()]}catch(me){const fe=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");F.SheetErrors.pushMeasureError(fe),log$2.debug("InstrumentReader.readChordSymbol",fe,me);return}let de=AccidentalEnum.NONE;if(ce)try{de=Pitch.AccidentalFromHalfTones(parseInt(ce.value,10))}catch(me){const fe=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");F.SheetErrors.pushMeasureError(fe),log$2.debug("InstrumentReader.readChordSymbol",fe,me)}ne=new Pitch(he,1,de)}const re=[],ae=R.elements("degree");for(const le of ae)if(le){const ce=le.element("degree-value"),he=le.element("degree-alter"),de=le.element("degree-type");if(!ce||!he||!de)return;let me;try{me=parseInt(ce.value.trim(),10)}catch(Se){const Ee=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");F.SheetErrors.pushMeasureError(Ee),log$2.debug("InstrumentReader.readChordSymbol",Ee,Se);return}let fe;try{fe=Pitch.AccidentalFromHalfTones(parseInt(he.value,10))}catch(Se){const Ee=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");F.SheetErrors.pushMeasureError(Ee),log$2.debug("InstrumentReader.readChordSymbol",Ee,Se);return}let ge;try{ge=ChordDegreeText[de.value.trim().toLowerCase()]}catch(Se){const Ee=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");F.SheetErrors.pushMeasureError(Ee),log$2.debug("InstrumentReader.readChordSymbol",Ee,Se);return}re.push(new Degree(me,fe,ge))}return new ChordSymbolContainer(K,ie,ne,re,F.Rules)}}class Pedal{constructor(R=!1,F=!0){this.ChangeEnd=!1,this.ChangeBegin=!1,this.line=R,this.sign=F}get IsLine(){return this.line}get IsSign(){return this.sign}}class WavyLine extends AbstractExpression{constructor(R){super(R)}}class ExpressionReader{constructor(R,F,D){this.openContinuousDynamicExpressions=[],this.musicSheet=R,this.staffNumber=D,this.globalStaffIndex=R.getGlobalStaffIndexOfFirstStaff(F)+(D-1),this.initialize()}readExpressionParameters(R,F,D,G,U,W,q){this.initialize();const Y=R.element("offset");if(Y!==void 0&&!q)try{this.offsetDivisions=parseInt(Y.value,10)}catch(K){const J="ReaderErrorMessages/ExpressionOffsetError, Invalid expression offset -> set to default.";log$2.debug("ExpressionReader.readExpressionParameters",J,K),this.musicSheet.SheetErrors.pushMeasureError(J),this.offsetDivisions=0}this.directionTimestamp=Fraction$1.createFromFraction(G);let Q=new Fraction$1(Math.abs(this.offsetDivisions),D*4);this.offsetDivisions>0?G.RealValue>0?(Q=Fraction$1.multiply(Fraction$1.minus(G,U),Q),this.directionTimestamp=Fraction$1.plus(Q,G)):this.directionTimestamp=Fraction$1.createFromFraction(Q):this.offsetDivisions<0&&(G.RealValue>0?(Q=Fraction$1.multiply(Fraction$1.minus(G,U),Q),this.directionTimestamp=Fraction$1.minus(G,Q)):this.directionTimestamp=Fraction$1.createFromFraction(Q));const Z=R.attribute("placement");if(Z)try{const K=Z.value;K==="below"?this.placement=PlacementEnum.Below:K==="above"&&(this.placement=PlacementEnum.Above)}catch(K){const J=ITextTranslation.translateText("ReaderErrorMessages/ExpressionPlacementError","Invalid expression placement -> set to default.");log$2.debug("ExpressionReader.readExpressionParameters",J,K),this.musicSheet.SheetErrors.pushMeasureError(J),this.placement=PlacementEnum.Below}if(this.placement===PlacementEnum.NotYetDefined)try{const K=R.element("direction-type");if(K){const J=K.element("dynamics");if(J){const re=J.attribute("default-y");re&&this.readExpressionPlacement(re,"read dynamics y pos")}const ie=K.element("wedge");if(ie){const re=ie.attribute("default-y");re&&this.readExpressionPlacement(re,"read wedge y pos")}const ne=K.element("words");if(ne){const re=ne.attribute("default-y");re&&this.readExpressionPlacement(re,"read words y pos")}const se=K.element("rehearsal");if(se){const re=se.attribute("default-y");re&&this.readExpressionPlacement(re,"read rehearsal pos")}}}catch(K){const J=ITextTranslation.translateText("ReaderErrorMessages/ExpressionPlacementError","Invalid expression placement -> set to default.");log$2.debug("ExpressionReader.readExpressionParameters",J,K),this.musicSheet.SheetErrors.pushMeasureError(J),this.placement=PlacementEnum.Below}this.placement===PlacementEnum.NotYetDefined&&(F.Staves.length>1?this.placement=PlacementEnum.Below:F.HasLyrics?this.placement=PlacementEnum.Above:this.placement=PlacementEnum.Below)}read(R,F,D,G=void 0,U=0){let W=!1,q=!1;const Y=R.element("sound");if(Y){const K=Y.attribute("tempo"),J=Y.attribute("dynamics");if(K){const ie=K.value.match(/^(\d+)(\.\d+)?$/);(ie==null?void 0:ie.length)>0?this.soundTempo=Math.round(Number.parseFloat(K.value)):(log$2.info("invalid xml tempo: "+K.value),this.soundTempo=100),F.TempoInBPM=this.soundTempo,this.musicSheet.DefaultStartTempoInBpm===0&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),this.musicSheet.HasBPMInfo=!0,W=!0}if(J){const ie=J.value.match(/\d+/);this.soundDynamic=ie!==void 0?parseInt(ie[0],10):100,q=!0}}const Q=R.element("direction-type");if(!Q)return;let Z=Q.element("metronome");if(Z){F.metronomeNoteIndex=U;const K=Z.element("beat-unit"),J=Z.element("beat-unit-dot")!==void 0,ie=Z.element("per-minute");if(K!==void 0&&ie){Z.hasAttributes&&Z.attribute("default-x")!==void 0&&(this.directionTimestamp=Fraction$1.createFromFraction(D));const se=parseFloat(ie.value);this.createNewTempoExpressionIfNeeded(F);const re=new InstantaneousTempoExpression(void 0,this.placement,this.staffNumber,se,this.currentMultiTempoExpression,!0);re.parentMeasure=F,this.soundTempo=se,F.TempoInBPM=this.soundTempo*(J?1.5:1),this.musicSheet.DefaultStartTempoInBpm===0&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),F.MeasureNumberXML===1&&this.musicSheet.SourceMeasures.length===0&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),this.musicSheet.HasBPMInfo=!0,re.dotted=J,re.beatUnit=K.value,this.currentMultiTempoExpression.addExpression(re,""),this.currentMultiTempoExpression.CombinedExpressionsText="test"}return}if(Z=Q.element("dynamics"),Z){const K=R.element("notations")!==void 0;this.interpretInstantaneousDynamics(Z,F,D,K);return}if(Z=Q.element("words"),Z){const K=Q.elements("words");let J="";for(const ie of K)J+=ie.value;if(Z.value=J,W||isSpeedKeyword(Z.value)||isSpeedHiddenKeyword(Z.value)){this.createNewTempoExpressionIfNeeded(F),this.currentMultiTempoExpression.CombinedExpressionsText=Z.value,(isSpeedKeyword(Z.value)||isSpeedHiddenKeyword(Z.value))&&(Z.value=void 0);const ie=new InstantaneousTempoExpression(Z.value,this.placement,this.staffNumber,this.soundTempo,this.currentMultiTempoExpression);this.currentMultiTempoExpression.addExpression(ie,"")}else q||this.interpretWords(Z,F,D);return}if(Z=Q.element("wedge"),Z){this.interpretWedge(Z,F,G,F.MeasureNumber);return}if(Z=Q.element("rehearsal"),Z){this.interpretRehearsalMark(Z,F,D,F.MeasureNumber);return}}closeOpenExpressions(R,F){for(const D of this.openContinuousDynamicExpressions)this.createNewMultiExpressionIfNeeded(R,D.NumberXml,F),this.closeOpenContinuousDynamic(D,R,F);this.openContinuousTempoExpression&&this.closeOpenContinuousTempo(Fraction$1.plus(R.AbsoluteTimestamp,F))}addOctaveShift(R,F,D){var q;let G=1;const U=R.element("staff");if(U)try{G=parseInt(U.value,10)}catch(Y){const Q=ITextTranslation.translateText("ReaderErrorMessages/OctaveShiftStaffError","Invalid octave shift staff number -> set to default");this.musicSheet.SheetErrors.pushMeasureError(Q),G=1,log$2.debug("ExpressionReader.addOctaveShift",Q,Y)}const W=R.element("direction-type");if(W){const Y=W.element("octave-shift"),Q=this.readPlacement(R);if(Y!==void 0&&Y.hasAttributes)try{const Z=this.readNumber(Y);if(Y.attribute("size")){const K=parseInt(Y.attribute("size").value,10);let J=0;K===8?J=1:K===15&&(J=2);let ie=(q=Y.attribute("type"))==null?void 0:q.value;if(ie||(Q===PlacementEnum.Above?ie="down":Q===PlacementEnum.Below&&(ie="up")),ie==="up"||ie==="down"){const ne=new OctaveShift(ie,J);ne.StaffNumber=G,this.getMultiExpression=this.createNewMultiExpressionIfNeeded(F,Z),this.getMultiExpression.OctaveShiftStart=ne,ne.ParentStartMultiExpression=this.getMultiExpression,this.openOctaveShift=ne}else if(ie==="stop"){if(this.openOctaveShift){this.getMultiExpression=this.createNewMultiExpressionIfNeeded(F,this.openOctaveShift.numberXml,D);const ne=this.getMultiExpression;ne.OctaveShiftEnd=this.openOctaveShift,this.openOctaveShift.ParentEndMultiExpression=this.getMultiExpression,this.openOctaveShift=void 0}}else ie||log$2.debug("octave-shift missing type in xml")}}catch(Z){const K=ITextTranslation.translateText("ReaderErrorMessages/OctaveShiftError","Error while reading octave shift.");this.musicSheet.SheetErrors.pushMeasureError(K),log$2.debug("ExpressionReader.addOctaveShift",K,Z)}}}addPedalMarking(R,F,D){var U,W,q,Y;const G=R.element("direction-type");if(G){const Q=G.element("pedal");if(Q!==void 0&&Q.hasAttributes){let Z=!1,K=!1;try{switch(((U=Q.attribute("line"))==null?void 0:U.value)==="yes"?K=!0:((W=Q.attribute("line"))==null?void 0:W.value)==="no"&&(K=!1,Z=!0),((q=Q.attribute("sign"))==null?void 0:q.value)==="yes"?Z=!0:((Y=Q.attribute("sign"))==null?void 0:Y.value)==="no"&&(Z=!1,K=!0),Q.attribute("type").value){case"start":this.openPedal&&this.openPedal.IsLine&&this.endOpenPedal(F),this.createNewMultiExpressionIfNeeded(F,-1),this.openPedal=new Pedal(K,Z),this.getMultiExpression.PedalStart=this.openPedal,this.openPedal.ParentStartMultiExpression=this.getMultiExpression;break;case"stop":this.openPedal&&this.endOpenPedal(F);break;case"change":this.openPedal&&this.openPedal.IsLine&&(this.openPedal.ChangeEnd=!0,this.createNewMultiExpressionIfNeeded(F,-1),this.getMultiExpression.PedalEnd=this.openPedal,this.openPedal.ParentEndMultiExpression=this.getMultiExpression,this.createNewMultiExpressionIfNeeded(F,-1),this.openPedal=new Pedal(K,Z),this.openPedal.ChangeBegin=!0,this.getMultiExpression.PedalStart=this.openPedal,this.openPedal.ParentStartMultiExpression=this.getMultiExpression);break;case"continue":break;default:break}}catch(J){const ie=ITextTranslation.translateText("ReaderErrorMessages/PedalError","Error while reading pedal.");this.musicSheet.SheetErrors.pushMeasureError(ie),log$2.debug("ExpressionReader.addPedalMarking",ie,J)}}}}endOpenPedal(R){this.createNewMultiExpressionIfNeeded(R,-1),this.getMultiExpression.PedalEnd=this.openPedal,this.openPedal.ParentEndMultiExpression=this.getMultiExpression,this.openPedal=void 0}addWavyLine(R,F,D,G){if(R&&R.hasAttributes)try{switch(R.attribute("type").value){case"start":this.createNewMultiExpressionIfNeeded(F,-1),this.openWavyLine=new WavyLine(this.placement),this.getMultiExpression.WavyLineStart=this.openWavyLine,this.openWavyLine.ParentStartMultiExpression=this.getMultiExpression;break;case"stop":this.openWavyLine&&(this.createNewMultiExpressionIfNeeded(F,-1,D),this.getMultiExpression.WavyLineEnd=this.openWavyLine,this.openWavyLine.ParentEndMultiExpression=this.getMultiExpression,this.openWavyLine=void 0);break;case"continue":break;default:break}}catch(U){const W=ITextTranslation.translateText("ReaderErrorMessages/WavyLineError","Error while reading wavy-line.");this.musicSheet.SheetErrors.pushMeasureError(W),log$2.debug("ExpressionReader.addWavyLine",W,U)}}initialize(){this.placement=PlacementEnum.NotYetDefined,this.soundTempo=0,this.soundDynamic=0,this.offsetDivisions=0}readPlacement(R){var D;const F=(D=R.attribute("placement"))==null?void 0:D.value;return F==="above"?PlacementEnum.Above:F==="below"?PlacementEnum.Below:PlacementEnum.NotYetDefined}readExpressionPlacement(R,F){try{const D=parseInt(R.value,10);D<0?this.placement=PlacementEnum.Below:D>0&&(this.placement=PlacementEnum.Above)}catch(D){log$2.debug("ExpressionReader.readExpressionParameters",F,D)}}interpretInstantaneousDynamics(R,F,D,G){if(R.hasElements){R.hasAttributes&&R.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(D));const U=this.readNumber(R);let W=R.elements()[0].name;if(W==="other-dynamics"&&(W=R.elements()[0].value),W){G?this.createNewMultiExpressionIfNeeded(F,U,Fraction$1.createFromFraction(D)):this.createNewMultiExpressionIfNeeded(F,U);const q=new InstantaneousDynamicExpression(W,this.soundDynamic,this.placement,this.staffNumber,F);q.InMeasureTimestamp=D.clone(),this.getMultiExpression.addExpression(q,""),this.initialize(),this.activeInstantaneousDynamic?this.activeInstantaneousDynamic.DynEnum=q.DynEnum:this.activeInstantaneousDynamic=new InstantaneousDynamicExpression(W,0,PlacementEnum.NotYetDefined,1,F)}}}interpretWords(R,F,D){const G=R.value;let U;const W=R.attribute("font-style");if(W&&W.value==="italic"&&(U=FontStyles.Italic),G.length>0){if(R.hasAttributes&&R.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(D)),this.checkIfWordsNodeIsRepetitionInstruction(G))return;this.fillMultiOrTempoExpression(G,F,D,U),this.initialize()}}readNumber(R){var G;let F=1;const D=(G=R.attribute("number"))==null?void 0:G.value;return D&&(F=Number.parseInt(D,10)),F}interpretWedge(R,F,D,G){var W,q;R!==void 0&&R.hasAttributes&&R.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(D));const U=this.readNumber(R);((q=(W=R.attribute("type"))==null?void 0:W.value)==null?void 0:q.toLowerCase())==="stop"?this.createNewMultiExpressionIfNeeded(F,U,D):this.createNewMultiExpressionIfNeeded(F,U),this.addWedge(R,F,D),this.initialize()}interpretRehearsalMark(R,F,D,G){F.rehearsalExpression=new RehearsalExpression(R.value,this.placement)}createNewMultiExpressionIfNeeded(R,F,D=void 0){D||(D=this.directionTimestamp);let G=this.getMultiExpression;return(!G||G&&(G.SourceMeasureParent!==R||G.numberXml!==F||G.SourceMeasureParent===R&&G.Timestamp!==D))&&(this.getMultiExpression=G=new MultiExpression(R,Fraction$1.createFromFraction(D)),R.StaffLinkedExpressions[this.globalStaffIndex].push(G)),G}createNewTempoExpressionIfNeeded(R){(!this.currentMultiTempoExpression||this.currentMultiTempoExpression.SourceMeasureParent!==R||this.currentMultiTempoExpression.Timestamp!==this.directionTimestamp)&&(this.currentMultiTempoExpression=new MultiTempoExpression(R,Fraction$1.createFromFraction(this.directionTimestamp)),R.TempoExpressions.push(this.currentMultiTempoExpression))}addWedge(R,F,D){if(R!==void 0&&R.hasAttributes){const G=this.readNumber(R),U=R.attribute("type").value.toLowerCase();try{if(U==="crescendo"||U==="diminuendo"){const W=new ContinuousDynamicExpression(ContDynamicEnum[U],this.placement,this.staffNumber,F,this.activeInstantaneousDynamic,G);this.openContinuousDynamicExpressions.push(W);let q=this.getMultiExpression;q||(q=this.createNewMultiExpressionIfNeeded(F,G)),q.StartingContinuousDynamic=W,W.StartMultiExpression=q,this.activeInstantaneousDynamic!==void 0&&this.activeInstantaneousDynamic.StaffNumber===W.StaffNumber&&(this.activeInstantaneousDynamic=void 0)}else if(U==="stop")for(const W of this.openContinuousDynamicExpressions)W.NumberXml===G&&W.NumberXml===G&&this.closeOpenContinuousDynamic(W,F,D)}catch(W){const q="ReaderErrorMessages/WedgeError, Error while reading Crescendo / Diminuendo.";this.musicSheet.SheetErrors.pushMeasureError(q),log$2.debug("ExpressionReader.addWedge",q,W)}}}fillMultiOrTempoExpression(R,F,D,G){if(!R)return;const U=R.trim();this.createExpressionFromString("",U,F,D,R,G)}createExpressionFromString(R,F,D,G,U,W){if(InstantaneousTempoExpression.isInputStringInstantaneousTempo(F)||ContinuousTempoExpression.isInputStringContinuousTempo(F)){if(D.TempoExpressions.length>0)for(let Z=0,K=D.TempoExpressions.length;Z<K;++Z){const J=D.TempoExpressions[Z];if(J.Timestamp===this.directionTimestamp&&J.InstantaneousTempo!==void 0&&J.InstantaneousTempo.Label.indexOf(F)!==-1)return!1}if(this.createNewTempoExpressionIfNeeded(D),this.currentMultiTempoExpression.CombinedExpressionsText=U,InstantaneousTempoExpression.isInputStringInstantaneousTempo(F)){const Z=new InstantaneousTempoExpression(F,this.placement,this.staffNumber,this.soundTempo,this.currentMultiTempoExpression);return this.currentMultiTempoExpression.addExpression(Z,R),!0}if(ContinuousTempoExpression.isInputStringContinuousTempo(F)){const Z=new ContinuousTempoExpression(F,this.placement,this.staffNumber,this.currentMultiTempoExpression);return this.currentMultiTempoExpression.addExpression(Z,R),!0}}if(ContinuousDynamicExpression.isInputStringContinuousDynamic(F)){const Z=new ContinuousDynamicExpression(void 0,this.placement,this.staffNumber,D,this.activeInstantaneousDynamic,-1,F),K=this.getMultiExpression;return K&&this.closeOpenContinuousDynamic(K.StartingContinuousDynamic,D,G),this.createNewMultiExpressionIfNeeded(D,-1),this.activeInstantaneousDynamic!==void 0&&this.activeInstantaneousDynamic.StaffNumber===Z.StaffNumber&&(this.activeInstantaneousDynamic=void 0),this.openContinuousDynamicExpressions.push(Z),Z.StartMultiExpression=this.getMultiExpression,this.getMultiExpression.addExpression(Z,R),!0}if(MoodExpression.isInputStringMood(F)){const Z=this.createNewMultiExpressionIfNeeded(D,-1);D.hasMoodExpressions=!0;const K=new MoodExpression(F,this.placement,this.staffNumber);return K.fontStyle=W,Z.addExpression(K,R),!0}const q=this.createNewMultiExpressionIfNeeded(D,-1);if(D.TempoExpressions.length>0)for(let Z=0,K=D.TempoExpressions.length;Z<K;++Z){const J=D.TempoExpressions[Z];if(J.Timestamp===this.directionTimestamp&&J.InstantaneousTempo!==void 0&&J.EntriesList.length>0&&!this.hasDigit(F)&&this.globalStaffIndex>0){if(J.EntriesList[0].label.indexOf(F)>=0)return!1;break}}let Y=TextAlignmentEnum.CenterBottom;this.musicSheet.Rules.CompactMode&&(Y=TextAlignmentEnum.LeftBottom);const Q=new UnknownExpression(F,this.placement,Y,this.staffNumber);return Q.fontStyle=W,q.addExpression(Q,R),!1}closeOpenContinuousDynamic(R,F,D){if(!R)return;const G=R.NumberXml;R.EndMultiExpression=this.createNewMultiExpressionIfNeeded(F,G,D),R.StartMultiExpression.EndingContinuousDynamic=R,this.openContinuousDynamicExpressions=this.openContinuousDynamicExpressions.filter(U=>U!==R)}closeOpenContinuousTempo(R){this.openContinuousTempoExpression.AbsoluteEndTimestamp=R,this.openContinuousTempoExpression=void 0}checkIfWordsNodeIsRepetitionInstruction(R){return R=R.trim().toLowerCase(),R==="coda"||R==="tocoda"||R==="to coda"||R==="fine"||R==="d.c."||R==="dacapo"||R==="da capo"||R==="d.s."||R==="dalsegno"||R==="dal segno"||R==="d.c. al fine"||R==="d.s. al fine"||R==="d.c. al coda"||R==="d.s. al coda"}hasDigit(R){return/\d/.test(R)}}class Slur{constructor(){}get StartNote(){return this.startNote}set StartNote(R){this.startNote=R}get EndNote(){return this.endNote}set EndNote(R){this.endNote=R}startNoteHasMoreStartingSlurs(){if(!this.startNote)return!1;for(let R=0,F=this.startNote.NoteSlurs.length;R<F;++R){const D=this.startNote.NoteSlurs[R];if(D!==this&&D.StartNote===this.startNote)return!0}return!1}endNoteHasMoreEndingSlurs(){if(!this.endNote)return!1;for(let R=0,F=this.endNote.NoteSlurs.length;R<F;++R){const D=this.endNote.NoteSlurs[R];if(D!==this&&D.EndNote===this.endNote)return!0}return!1}isCrossed(){return this.startNote.ParentStaffEntry.ParentStaff!==this.endNote.ParentStaffEntry.ParentStaff}isSlurLonger(){if(!this.endNote||!this.startNote)return!1;const R=Fraction$1.minus(this.endNote.getAbsoluteTimestamp(),this.startNote.getAbsoluteTimestamp());for(let F=0,D=this.startNote.NoteSlurs.length;F<D;++F){const G=this.startNote.NoteSlurs[F];if(G!==this&&G.EndNote!==void 0&&G.StartNote!==void 0&&Fraction$1.minus(G.EndNote.getAbsoluteTimestamp(),G.StartNote.getAbsoluteTimestamp()).CompareTo(R)===-1)return!0}for(let F=0,D=this.endNote.NoteSlurs.length;F<D;++F){const G=this.endNote.NoteSlurs[F];if(G!==this&&G.EndNote!==void 0&&G.StartNote!==void 0&&Fraction$1.minus(G.EndNote.getAbsoluteTimestamp(),G.StartNote.getAbsoluteTimestamp()).CompareTo(R))return!0}return!1}}class SlurReader{constructor(R){this.openSlurDict={},this.musicSheet=R}addSlur(R,F){try{if(R){for(const D of R)if(D.attributes().length>0){const G=D.attribute("type").value;let U=1;try{D.attribute("number")&&(U=parseInt(D.attribute("number").value,10))}catch(Q){log$2.debug("VoiceGenerator.addSlur number: ",Q)}let W=PlacementEnum.NotYetDefined;const q=D.attribute("placement");q&&q.value&&(q.value==="above"?W=PlacementEnum.Above:q.value==="below"&&(W=PlacementEnum.Below));const Y=D.attribute("orientation");if(Y&&Y.value&&(Y.value==="over"?W=PlacementEnum.Above:Y.value==="under"&&(W=PlacementEnum.Below)),G==="start"){let Q=this.openSlurDict[U];Q||(Q=new Slur,this.openSlurDict[U]=Q),Q.StartNote=F,Q.PlacementXml=W}else if(G==="stop"){const Q=this.openSlurDict[U];Q&&(Q.EndNote=F,F.checkForDoubleSlur(Q)||(F.NoteSlurs.push(Q),Q.StartNote.NoteSlurs.push(Q)),delete this.openSlurDict[U])}}}}catch{const G=ITextTranslation.translateText("ReaderErrorMessages/SlurError","Error while reading slur.");this.musicSheet.SheetErrors.pushMeasureError(G)}}}class InstrumentReader{constructor(R,F,D,G){this.voiceGeneratorsDict={},this.staffMainVoiceGeneratorDict={},this.divisions=0,this.currentClefNumber=1,this.currentXmlMeasureIndex=0,this.activeKeyHasBeenInitialized=!1,this.abstractInstructions=[],this.openChordSymbolContainers=[],this.soundTempos=new Map,this.xmlNotes=[],this.repetitionInstructionReader=F,this.xmlMeasureList=D,this.musicSheet=G.GetMusicSheet,this.instrument=G,this.activeClefs=new Array(G.Staves.length),this.activeClefsHaveBeenInitialized=new Array(G.Staves.length);for(let U=0;U<G.Staves.length;U++)this.activeClefsHaveBeenInitialized[U]=!1;this.createExpressionGenerators(G.Staves.length),this.slurReader=new SlurReader(this.musicSheet),this.pluginManager=R}get SoundTempos(){return this.soundTempos}get ActiveKey(){return this.activeKey}get MaxTieNoteFraction(){return this.maxTieNoteFraction}get ActiveRhythm(){return this.activeRhythm}set ActiveRhythm(R){this.activeRhythm=R}readNextXmlMeasure(R,F,D){var Q,Z,K,J,ie,ne,se,re,ae,le;if(this.currentXmlMeasureIndex>=this.xmlMeasureList.length)return!1;this.currentMeasure=R,this.followingMultirestMeasures=Math.max(this.followingMultirestMeasures-1,0),this.inSourceMeasureInstrumentIndex=this.musicSheet.getGlobalStaffIndexOfFirstStaff(this.instrument),this.repetitionInstructionReader&&this.repetitionInstructionReader.prepareReadingMeasure(R,this.currentXmlMeasureIndex);let G=new Fraction$1(0,1),U=new Fraction$1(0,1),W=!1;this.maxTieNoteFraction=new Fraction$1(0,1);let q=!1;const Y=[];try{const ce=this.xmlMeasureList[this.currentXmlMeasureIndex],he=ce.elements();if(R.Rules.UseXMLMeasureNumbers&&!Number.isInteger(R.MeasureNumberXML)){const me=parseInt((Q=ce.attribute("number"))==null?void 0:Q.value,10);Number.isInteger(me)&&(R.MeasureNumberXML=me)}let de;for(let me=0;me<he.length;me++){const fe=he[me];if(me>0&&(de=he[me-1]),fe.name==="print"){const ge=fe.attribute("new-system");(ge==null?void 0:ge.value)==="yes"&&(R.printNewSystemXml=!0);const Se=fe.attribute("new-page");(Se==null?void 0:Se.value)==="yes"&&(R.printNewPageXml=!0)}else if(fe.name==="note"){fe.element("grace")||(this.xmlNotes.push(fe),Y.push(fe));let ge=!0;((Z=fe.attribute("print-object"))==null?void 0:Z.value)==="no"&&(ge=!1);let Se=1;this.instrument.Staves.length>1&&fe.element("staff")&&(Se=parseInt(fe.element("staff").value,10),isNaN(Se)&&(log$2.debug("InstrumentReader.readNextXmlMeasure.get staff number"),Se=1)),this.currentStaff=this.instrument.Staves[Se-1];const Ee=fe.element("chord")!==void 0;if(fe.element("voice")){const Xe=parseInt(fe.element("voice").value,10);this.currentVoiceGenerator=this.getOrCreateVoiceGenerator(Xe,Se-1)}else(!Ee||!this.currentVoiceGenerator)&&(this.currentVoiceGenerator=this.getOrCreateVoiceGenerator(1,Se-1));let ve=0,xe=new Fraction$1(0,1),Pe=2,ye,Te=!1;if(fe.element("duration")){if(ve=parseInt(fe.element("duration").value,10),isNaN(ve)){const Xe=ITextTranslation.translateText("ReaderErrorMessages/NoteDurationError","Invalid Note Duration.");this.musicSheet.SheetErrors.pushMeasureError(Xe),log$2.debug("InstrumentReader.readNextXmlMeasure",Xe);continue}else if(xe=new Fraction$1(ve,4*this.divisions),ve===0?xe=this.getNoteDurationFromTypeNode(fe):ye=this.getNoteDurationFromTypeNode(fe),fe.element("time-modification")){xe=this.getNoteDurationForTuplet(fe);const Xe=fe.element("time-modification");Xe!=null&&Xe.element("normal-notes")&&(Pe=parseInt(Xe.element("normal-notes").value,10)),Te=!0}}const Le=fe.element("rest")!==void 0,we=fe.element("notations"),Ae=fe.element("grace")!==void 0||ve===0||Ee&&q;let Me=!1,ke=!1;if(Ae){const Xe=fe.element("duration"),tt=fe.element("grace");tt&&tt.attributes()&&tt.attribute("slash")&&tt.attribute("slash").value==="yes"&&(Me=!0),Xe||(xe=this.getNoteDurationFromTypeNode(fe));const nt=fe.element("notations");nt&&nt.element("slur")&&(ke=!0)}let Ne=!1;fe.element("cue")&&(Ne=!0);const Ge=fe.element("type");let ze=NoteType.UNDEFINED;if(Ge){const Xe=Ge.attribute("size");(Xe==null?void 0:Xe.value)==="cue"&&(Ne=!0),ze=NoteTypeHandler.StringToNoteType(Ge.value)}let Ve=StemDirectionType.Undefined,Ye;const et=fe.element("stem");if(et){switch(et.value){case"down":Ve=StemDirectionType.Down;break;case"up":Ve=StemDirectionType.Up;break;case"double":Ve=StemDirectionType.Double;break;case"none":Ve=StemDirectionType.None;break;default:Ve=StemDirectionType.Undefined}const Xe=et.attribute("color");Xe&&(Ye=this.parseXmlColor(Xe.value))}let Je=0,st="",pt="",dt="";if(we){const Xe=we.element("ornaments");if(Xe){const ut=Xe.element("tremolo");if(ut){const vt=ut.attribute("type");if(st=vt.value,vt){const xt=parseInt(ut.value,10);xt>0&&(Je=xt),(vt.value==="start"||vt.value==="stop")&&(xe=new Fraction$1(parseInt(fe.element("duration").value,10),4*this.divisions))}}const ht=Xe.elements("wavy-line");if(ht!==void 0)for(const vt of ht){const xt=this.expressionReaders[this.readExpressionStaffNumber(fe)-1];xt&&(xt.readExpressionParameters(vt,this.instrument,this.divisions,G,U,this.currentMeasure.MeasureNumber,!1),xt.addWavyLine(vt,this.currentMeasure,G,U))}}we.elements("glissando").find(ut=>ut.attribute("type").value==="start")&&(pt="start"),we.elements("slide").find(ut=>ut.attribute("type").value==="start")&&(dt="start")}let yt;const Fe=fe.element("notehead");if(Fe){const Xe=Fe.attribute("color");Xe&&(yt=this.parseXmlColor(Xe.value))}let _e;const je=fe.attribute("color");je&&(_e=this.parseXmlColor(je.value),yt||(yt=_e),Ye||(Ye=_e));let Ze=G.clone();Ee&&(Ze=U.clone()),this.currentStaffEntry=this.currentMeasure.findOrCreateStaffEntry(Ze,this.inSourceMeasureInstrumentIndex+Se-1,this.currentStaff).staffEntry,(!this.currentVoiceGenerator.hasVoiceEntry()||!Ee&&!Ae&&!q||Ae&&!q||Ae&&!Ee||!Ae&&q)&&this.currentVoiceGenerator.createVoiceEntry(Ze,this.currentStaffEntry,this.activeKey,this.ActiveRhythm,Ae,Me,ke),!Ae&&!Ee&&(U=G.clone(),G.Add(xe)),Ee&&this.currentStaffEntry!==void 0&&this.currentStaffEntry.ParentStaff!==this.currentStaff&&(this.currentStaffEntry=this.currentVoiceGenerator.checkForStaffEntryLink(this.inSourceMeasureInstrumentIndex+Se-1,this.currentStaff,this.currentStaffEntry,this.currentMeasure));const De=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,De),this.openChordSymbolContainers.length!==0&&(this.currentStaffEntry.ChordContainers=this.openChordSymbolContainers,this.openChordSymbolContainers=[]),this.activeRhythm,!Te&&!Ae&&(xe=new Fraction$1(ve,4*this.divisions));const Oe=fe.elements("dot").length;if(this.currentVoiceGenerator.read(fe,xe,ye,ze,Pe,Le,this.currentStaffEntry,this.currentMeasure,F,this.maxTieNoteFraction,Ee,D,ge,Ne,Ae,Ve,Je,Ye,yt,Oe,st,pt,dt),we!==void 0&&we.element("dynamics")){const Xe=this.expressionReaders[this.readExpressionStaffNumber(fe)-1];Xe&&(Xe.readExpressionParameters(fe,this.instrument,this.divisions,G,U,this.currentMeasure.MeasureNumber,!1),Xe.read(fe,this.currentMeasure,U,void 0,Y.length))}q=Ae}else if(fe.name==="attributes"){const ge=fe.element("divisions");if(ge&&(this.divisions=parseInt(ge.value,10),isNaN(this.divisions))){const ve=ITextTranslation.translateText("ReaderErrorMessages/DivisionError","Invalid divisions value at Instrument: ");if(log$2.debug("InstrumentReader.readNextXmlMeasure",ve),this.divisions=this.readDivisionsFromNotes(),this.divisions>0)this.musicSheet.SheetErrors.push(ve+this.instrument.Name);else throw W=!0,new MusicSheetReadingException(ve+this.instrument.Name)}if(!fe.element("divisions")&&this.divisions===0&&this.currentXmlMeasureIndex===0){const ve=ITextTranslation.translateText("ReaderErrorMessages/DivisionError","Invalid divisions value at Instrument: ");if(this.divisions=this.readDivisionsFromNotes(),this.divisions>0)this.musicSheet.SheetErrors.push(ve+this.instrument.Name);else throw W=!0,new MusicSheetReadingException(ve+this.instrument.Name)}this.addAbstractInstruction(fe,D,de,G.clone()),G.Equals(new Fraction$1(0,1))&&this.isAttributesNodeAtBeginOfMeasure(this.xmlMeasureList[this.currentXmlMeasureIndex],fe)&&this.saveAbstractInstructionList(this.instrument.Staves.length,!0),this.isAttributesNodeAtEndOfMeasure(this.xmlMeasureList[this.currentXmlMeasureIndex],fe)&&this.saveClefInstructionAtEndOfMeasure();const Se=fe.elements("staff-details");for(const ve of Se){const xe=ve.element("staff-lines");if(xe){let Pe=1;const ye=ve.attribute("number");ye&&(Pe=parseInt(ye.value,10)),this.instrument.Staves[Pe-1].StafflineCount=parseInt(xe.value,10)}}const Ee=fe.element("measure-style");if(Ee){const ve=Ee.element("multiple-rest");if(ve){const xe=ve.value;let Pe=0;try{Pe=Number.parseInt(xe,10),R.multipleRestMeasures!==void 0&&Pe!==R.multipleRestMeasures?R.multipleRestMeasures=0:(R.multipleRestMeasures=Pe,this.currentMultirestStartMeasure=R,this.followingMultirestMeasures=Pe+1)}catch(ye){console.log("multirest parse error: "+ye)}}}}else if(fe.name==="forward"){const ge=parseInt(fe.element("duration").value,10);G.Add(new Fraction$1(ge,4*this.divisions))}else if(fe.name==="backup"){const ge=parseInt(fe.element("duration").value,10);G.Sub(new Fraction$1(ge,4*this.divisions)),G.IsNegative()&&(G=new Fraction$1(0,1)),U.Sub(new Fraction$1(ge,4*this.divisions)),U.IsNegative()&&(U=new Fraction$1(0,1))}else if(fe.name==="direction"){const ge=fe.elements("direction-type"),Se=fe.element("direction-type");let Ee=Math.min(1,G.RealValue);this.activeRhythm!==void 0&&this.activeRhythm.Rhythm&&(Ee/=this.activeRhythm.Rhythm.RealValue);let ve=!1;if(this.repetitionInstructionReader&&(ve=this.repetitionInstructionReader.handleRepetitionInstructionsFromWordsOrSymbols(Se,Ee)),!ve){let xe=this.expressionReaders[0];const Pe=this.readExpressionStaffNumber(fe)-1;if(Pe<this.expressionReaders.length&&(xe=this.expressionReaders[Pe]),xe){Se.element("octave-shift")&&(xe.readExpressionParameters(fe,this.instrument,this.divisions,G,U,this.currentMeasure.MeasureNumber,!0),xe.addOctaveShift(fe,this.currentMeasure,U.clone())),Se.element("pedal")&&(xe.readExpressionParameters(fe,this.instrument,this.divisions,G,U,this.currentMeasure.MeasureNumber,!0),xe.addPedalMarking(fe,this.currentMeasure,U.clone()));const ye=Se.element("words");if(ye&&(GradientWords.map(Le=>Le==null?void 0:Le.toLocaleLowerCase()).includes((K=ye.value)==null?void 0:K.toLocaleLowerCase())&&(this.currentGradualChangeMeasure=this.currentMeasure,this.currentMeasure.speedInfo={startWord:(J=ye.value)==null?void 0:J.toLocaleLowerCase(),startXmlNoteIndex:Y.length,endXmlNoteIndex:0,resetXmlNoteIndex:0,startMeasureListIndex:this.currentXmlMeasureIndex,endMeasureListIndex:0,resetMeasureListIndex:0},this.xmlNotes=[]),ye.value.startsWith(GRADIENT_SPEED_CLOSE_TAG)&&((ie=this.currentGradualChangeMeasure)==null?void 0:ie.speedInfo)&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:this.xmlNotes.length,endMeasureListIndex:this.currentXmlMeasureIndex}),((ne=ye.value)==null?void 0:ne.toLocaleLowerCase())==="a tempo".toLocaleLowerCase()&&((se=this.currentGradualChangeMeasure)==null?void 0:se.speedInfo))){const{endXmlNoteIndex:Le,resetXmlNoteIndex:we,endMeasureListIndex:Ae}=this.currentGradualChangeMeasure.speedInfo;we===0&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:Le||this.xmlNotes.length,endMeasureListIndex:Ae||this.currentXmlMeasureIndex,resetXmlNoteIndex:this.xmlNotes.length,resetMeasureListIndex:this.currentXmlMeasureIndex}),this.xmlNotes=[]}if(ge.find(Te=>Te.element("metronome"))&&((re=this.currentGradualChangeMeasure)==null?void 0:re.speedInfo)){const{endXmlNoteIndex:Te,resetXmlNoteIndex:Le,endMeasureListIndex:we}=this.currentGradualChangeMeasure.speedInfo;Le===0&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:Te||this.xmlNotes.length,endMeasureListIndex:we||this.currentXmlMeasureIndex,resetXmlNoteIndex:this.xmlNotes.length,resetMeasureListIndex:this.currentXmlMeasureIndex}),this.xmlNotes=[]}xe.readExpressionParameters(fe,this.instrument,this.divisions,G,U,this.currentMeasure.MeasureNumber,!1),xe.read(fe,this.currentMeasure,G,U.clone(),Y.length)}}}else if(fe.name==="barline"){this.repetitionInstructionReader&&this.repetitionInstructionReader.handleLineRepetitionInstructions(fe)&&(this.currentMeasure.HasEndLine=!0);const ge=fe.attribute("location");if(me===he.length-1||ge&&ge.value==="right"){const Ee=(ae=fe.element("bar-style"))==null?void 0:ae.value;if(Ee&&(this.currentMeasure.endingBarStyleXml=Ee,this.currentMeasure.endingBarStyleEnum=SystemLinesEnumHelper.xmlBarlineStyleToSystemLinesEnum(Ee),(le=this.currentGradualChangeMeasure)!=null&&le.speedInfo)){const{endXmlNoteIndex:ve,resetXmlNoteIndex:xe,endMeasureListIndex:Pe}=this.currentGradualChangeMeasure.speedInfo;xe===0&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:ve||this.xmlNotes.length,endMeasureListIndex:Pe||this.currentXmlMeasureIndex,resetXmlNoteIndex:this.xmlNotes.length,resetMeasureListIndex:this.currentXmlMeasureIndex}),this.currentGradualChangeMeasure=void 0,this.xmlNotes=[]}}}else if(fe.name==="sound")try{if(fe.attribute("tempo")){const ge=parseFloat(fe.attribute("tempo").value);fe.element("offset")&&(this.soundTempos.has(this.currentXmlMeasureIndex)||this.soundTempos.set(this.currentXmlMeasureIndex,[]),this.soundTempos.get(this.currentXmlMeasureIndex).push(ge)),this.currentXmlMeasureIndex===0&&(this.musicSheet.DefaultStartTempoInBpm=ge,this.musicSheet.HasBPMInfo=!0)}}catch(ge){log$2.debug("InstrumentReader.readTempoInstruction",ge)}else fe.name==="harmony"&&this.openChordSymbolContainers.push(ChordSymbolReader.readChordSymbol(fe,this.musicSheet,this.activeKey))}for(const me in this.voiceGeneratorsDict)this.voiceGeneratorsDict.hasOwnProperty(me)&&this.voiceGeneratorsDict[me].checkForOpenBeam();if(this.currentXmlMeasureIndex===this.xmlMeasureList.length-1){for(let me=0;me<this.instrument.Staves.length;me++)this.activeClefsHaveBeenInitialized[me]||this.createDefaultClefInstruction(this.musicSheet.getGlobalStaffIndexOfFirstStaff(this.instrument)+me);this.activeKeyHasBeenInitialized||this.createDefaultKeyInstruction();for(let me=0;me<this.expressionReaders.length;me++){const fe=this.expressionReaders[me];fe&&fe.closeOpenExpressions(this.currentMeasure,G)}}Object.keys(this.voiceGeneratorsDict).forEach(me=>{this.voiceGeneratorsDict[me].finalizeReadingMeasure()}),this.musicSheet.HasBPMInfo?R.TempoInBPM===0&&this.previousMeasure&&(this.currentMeasure.TempoInBPM=this.previousMeasure.TempoInBPM):this.currentMeasure.TempoInBPM=120,this.currentMeasure.TempoInBPM||(this.currentMeasure.TempoInBPM=this.musicSheet.DefaultStartTempoInBpm)}catch(ce){if(W)throw new MusicSheetReadingException(ce.Message);const he=ITextTranslation.translateText("ReaderErrorMessages/MeasureError","Error while reading Measure.");this.musicSheet.SheetErrors.pushMeasureError(he),log$2.debug("InstrumentReader.readNextXmlMeasure",he,ce)}return this.previousMeasure=this.currentMeasure,this.currentXmlMeasureIndex+=1,!0}parseXmlColor(R){if(!!R)return R.length===7?R:R.length===9?"#"+R.substr(3):void 0}doCalculationsAfterDurationHasBeenSet(){for(const R in this.voiceGeneratorsDict)this.voiceGeneratorsDict.hasOwnProperty(R)&&this.voiceGeneratorsDict[R].checkOpenTies()}getOrCreateVoiceGenerator(R,F){const D=this.instrument.Staves[F];let G=this.voiceGeneratorsDict[R];if(G)D.Voices.indexOf(G.GetVoice)===-1&&D.Voices.push(G.GetVoice);else{const U=this.staffMainVoiceGeneratorDict[F];U?(G=new VoiceGenerator(this.pluginManager,D,R,this.slurReader,U.GetVoice),D.Voices.push(G.GetVoice),this.voiceGeneratorsDict[R]=G):(G=new VoiceGenerator(this.pluginManager,D,R,this.slurReader),D.Voices.push(G.GetVoice),this.voiceGeneratorsDict[R]=G,this.staffMainVoiceGeneratorDict[F]=G)}return G}createExpressionGenerators(R){this.expressionReaders=new Array(R);for(let F=0;F<R;F++)this.expressionReaders[F]=new ExpressionReader(this.musicSheet,this.instrument,F+1)}createDefaultClefInstruction(R){let F;this.musicSheet.SourceMeasures.length>0?F=this.musicSheet.SourceMeasures[0]:F=this.currentMeasure;const D=new ClefInstruction(ClefEnum.G,0,2);let G;F.FirstInstructionsStaffEntries[R]?(G=F.FirstInstructionsStaffEntries[R],G.removeFirstInstructionOfTypeClefInstruction()):(G=new SourceStaffEntry(void 0,void 0),F.FirstInstructionsStaffEntries[R]=G),D.Parent=G,G.Instructions.splice(0,0,D)}createDefaultKeyInstruction(){let R;this.musicSheet.SourceMeasures.length>0?R=this.musicSheet.SourceMeasures[0]:R=this.currentMeasure;const F=new KeyInstruction(void 0,0,KeyEnum.major);for(let D=this.inSourceMeasureInstrumentIndex;D<this.inSourceMeasureInstrumentIndex+this.instrument.Staves.length;D++)if(R.FirstInstructionsStaffEntries[D]){const G=R.FirstInstructionsStaffEntries[D];F.Parent=G,G.removeFirstInstructionOfTypeKeyInstruction(),G.Instructions[0]instanceof ClefInstruction?G.Instructions.splice(1,0,F):G.Instructions.splice(0,0,F)}else{const G=new SourceStaffEntry(void 0,void 0);R.FirstInstructionsStaffEntries[D]=G,F.Parent=G,G.Instructions.push(F)}}isAttributesNodeAtBeginOfMeasure(R,F){const D=R.elements(),G=D.indexOf(F);if(G>0&&D[G-1].name==="backup")return!0;let U=-1;for(let W=0;W<D.length;W++)if(D[W].name==="note"){U=W;break}return G<U&&U>0||U<0}isAttributesNodeAtEndOfMeasure(R,F){const D=R.elements().slice();let G=0;for(let W=0;W<D.length;W++)if(D[W]===F){G=W;break}let U=0;for(let W=G;W<D.length;W++)if(D[W].name==="note"){U=W;break}return G>U}getNoteDurationFromTypeNode(R){const F=R.element("type");if(F){const D=F.value;return NoteTypeHandler.getNoteDurationFromType(D)}return new Fraction$1(0,4*this.divisions)}addAbstractInstruction(R,F,D,G){if(R.element("divisions")&&R.elements().length===1)return;const U=R.element("transpose");if(U){const Y=U.element("chromatic");Y&&(this.instrument.PlaybackTranspose=parseInt(Y.value,10))}const W=R.elements("clef");let q;if(W.length>0)for(let Y=0,Q=W.length;Y<Q;++Y){const Z=W[Y];let K=ClefEnum.G,J=2,ie=1,ne=0;const se=Z.element("line");if(se)try{J=parseInt(se.value,10)}catch(ce){q=ITextTranslation.translateText("ReaderErrorMessages/ClefLineError","Invalid clef line given -> using default clef line."),this.musicSheet.SheetErrors.pushMeasureError(q),J=2,log$2.debug("InstrumentReader.addAbstractInstruction",q,ce)}const re=Z.element("sign");if(re)try{K=ClefEnum[re.value],ClefInstruction.isSupportedClef(K)||(q=ITextTranslation.translateText("ReaderErrorMessages/ClefError","Unsupported clef found -> using default clef."),this.musicSheet.SheetErrors.pushMeasureError(q),K=ClefEnum.G,J=2),K===ClefEnum.TAB&&(ne=-1)}catch(ce){q=ITextTranslation.translateText("ReaderErrorMessages/ClefError","Invalid clef found -> using default clef."),this.musicSheet.SheetErrors.pushMeasureError(q),K=ClefEnum.G,J=2,log$2.debug("InstrumentReader.addAbstractInstruction",q,ce)}const ae=Z.element("clef-octave-change");if(ae)try{ne=parseInt(ae.value,10)}catch{q=ITextTranslation.translateText("ReaderErrorMessages/ClefOctaveError","Invalid clef octave found -> using default clef octave."),this.musicSheet.SheetErrors.pushMeasureError(q),ne=0}if(Z.hasAttributes&&Z.attribute("number"))try{ie=parseInt(Z.attribute("number").value,10),ie>this.currentClefNumber&&(ie=this.currentClefNumber),this.currentClefNumber=ie+1}catch{q=ITextTranslation.translateText("ReaderErrorMessages/ClefError","Invalid clef found -> using default clef."),this.musicSheet.SheetErrors.pushMeasureError(q),ie=1,this.currentClefNumber=ie+1}const le=new ClefInstruction(K,ne,J);this.abstractInstructions.push([ie,le,G])}if(R.element("key")!==void 0&&this.instrument.MidiInstrumentId!==MidiInstrument.Percussion){let Y=0;const Q=R.element("key").element("fifths");if(Q)try{Y=parseInt(Q.value,10)}catch(ie){q=ITextTranslation.translateText("ReaderErrorMessages/KeyError","Invalid key found -> set to default."),this.musicSheet.SheetErrors.pushMeasureError(q),Y=0,log$2.debug("InstrumentReader.addAbstractInstruction",q,ie)}let Z=KeyEnum.none,K=R.element("key");if(K&&(K=K.element("mode")),K)try{Z=KeyEnum[K.value]}catch(ie){q=ITextTranslation.translateText("ReaderErrorMessages/KeyError","Invalid key found -> set to default."),this.musicSheet.SheetErrors.pushMeasureError(q),Z=KeyEnum.major,log$2.debug("InstrumentReader.addAbstractInstruction",q,ie)}const J=new KeyInstruction(void 0,Y,Z);this.abstractInstructions.push([1,J,G])}if(R.element("time")){const Y=R.element("time");let Q=RhythmSymbolEnum.NONE,Z=!0;if(Y!==void 0&&Y.hasAttributes){const ae=Y.attribute("symbol");ae&&(ae.value==="common"?Q=RhythmSymbolEnum.COMMON:ae.value==="cut"&&(Q=RhythmSymbolEnum.CUT));const le=Y.attribute("print-object");le&&le.value==="no"&&(Z=!1)}let K=0,J=0;const ie=Y&&Y.element("senza-misura")!==void 0,ne=R.elements("time"),se=[],re=[];for(let ae=0,le=ne.length;ae<le;++ae){const ce=ne[ae];se.push.apply(se,ce.elements("beats")),re.push.apply(re,ce.elements("beat-type"))}if(ie)this.abstractInstructions.push([1,new RhythmInstruction(new Fraction$1(4,4,0,!1),RhythmSymbolEnum.NONE),G]);else{try{if(se!==void 0&&se.length>0&&re!==void 0&&se.length===re.length){const le=se.length,ce=new Array(le);let he=0;for(let de=0;de<le;de++){const me=se[de].value;let fe=0,ge=0;if(me.indexOf("+")!==-1){const Se=me.split("+");for(let Ee=0,ve=Se.length;Ee<ve;++Ee)fe+=parseInt(Se[Ee],10)}else fe=parseInt(me,10);ge=parseInt(re[de].value,10),he=Math.max(he,ge),ce[de]=new Fraction$1(fe,ge,0,!1)}for(let de=0;de<le;de++)ce[de].Denominator===he?K+=ce[de].Numerator:K+=he/ce[de].Denominator*ce[de].Numerator;J=he}else K=parseInt(R.element("time").element("beats").value,10),J=parseInt(R.element("time").element("beat-type").value,10)}catch(le){q=ITextTranslation.translateText("ReaderErrorMessages/RhythmError","Invalid rhythm found -> set to default."),this.musicSheet.SheetErrors.pushMeasureError(q),K=4,J=4,log$2.debug("InstrumentReader.addAbstractInstruction",q,le)}const ae=new RhythmInstruction(new Fraction$1(K,J,0,!1),Q);ae.PrintObject=Z,this.abstractInstructions.push([1,ae,G])}}}saveAbstractInstructionList(R,F){for(let D=this.abstractInstructions.length-1;D>=0;D--){const G=this.abstractInstructions[D],U=G[0],W=G[1],q=G[2];if(W instanceof ClefInstruction){const Y=W;if(this.currentXmlMeasureIndex===0||U<=this.activeClefs.length&&Y!==this.activeClefs[U-1])if(!F&&this.currentStaffEntry!==void 0&&!this.currentStaffEntry.hasNotes()&&U-1===this.instrument.Staves.indexOf(this.currentStaffEntry.ParentStaff)){const Q=Y,Z=this.currentStaffEntry;if(q&&Math.abs(q.RealValue-Z.Timestamp.RealValue)>.01)continue;Q.Parent=Z,Z.removeFirstInstructionOfTypeClefInstruction(),Z.Instructions.push(Q),this.activeClefs[U-1]=Y,this.abstractInstructions.splice(D,1)}else if(F){if(q.RealValue!==0)continue;let Q;if(this.currentMeasure){const Z=Y,K=this.inSourceMeasureInstrumentIndex+U-1,J=this.currentMeasure.FirstInstructionsStaffEntries[K];if(this.currentXmlMeasureIndex===0)if(!J)Q=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[K]=Q,Z.Parent=Q,Q.Instructions.push(Z),this.activeClefsHaveBeenInitialized[U-1]=!0;else if(this.currentMeasure.FirstInstructionsStaffEntries[K]!==void 0&&!(J.Instructions[0]instanceof ClefInstruction))Q=J,Z.Parent=Q,Q.removeFirstInstructionOfTypeClefInstruction(),Q.Instructions.splice(0,0,Z),this.activeClefsHaveBeenInitialized[U-1]=!0;else{const ie=new SourceStaffEntry(void 0,void 0);this.currentMeasure.LastInstructionsStaffEntries[K]=ie,Z.Parent=ie,ie.Instructions.push(Z)}else if(this.activeClefsHaveBeenInitialized[U-1]){let ie=this.previousMeasure;this.followingMultirestMeasures>0&&this.currentMeasure.Rules.RenderMultipleRestMeasures&&(ie=this.currentMultirestStartMeasure);const ne=new SourceStaffEntry(void 0,void 0);ie.LastInstructionsStaffEntries[K]=ne,Z.Parent=ne,ne.Instructions.push(Z)}else{const ie=this.musicSheet.SourceMeasures[0];ie.FirstInstructionsStaffEntries[K]?(Q=ie.FirstInstructionsStaffEntries[K],Q.removeFirstInstructionOfTypeClefInstruction()):Q=new SourceStaffEntry(void 0,void 0),Z.Parent=Q,Q.Instructions.splice(0,0,Z),this.activeClefsHaveBeenInitialized[U-1]=!0}this.activeClefs[U-1]=Y,this.abstractInstructions.splice(D,1)}}else{let Q;const Z=this.activeRhythm.Rhythm;Z.RealValue>0&&q.RealValue/Z.RealValue>.9&&(this.currentMeasure.LastInstructionsStaffEntries[U-1]||(this.currentMeasure.LastInstructionsStaffEntries[U-1]=new SourceStaffEntry(void 0,this.instrument.Staves[U-1])),Q=this.currentMeasure.LastInstructionsStaffEntries[U-1]),Q&&(Y.Parent=Q,Q.Instructions.push(Y),this.activeClefs[U-1]=Y,this.abstractInstructions.splice(D,1))}else U<=this.activeClefs.length&&Y===this.activeClefs[U-1]&&this.abstractInstructions.splice(D,1)}if(W instanceof KeyInstruction){const Y=W;if(!this.activeKey||this.activeKey.Key!==Y.Key){this.activeKey=Y,this.abstractInstructions.splice(D,1);let Q;if(this.activeKeyHasBeenInitialized?Q=this.currentMeasure:(this.activeKeyHasBeenInitialized=!0,this.currentXmlMeasureIndex>0?Q=this.musicSheet.SourceMeasures[0]:Q=this.currentMeasure),Q)for(let Z=this.inSourceMeasureInstrumentIndex;Z<this.inSourceMeasureInstrumentIndex+R;Z++){const K=Y;if(Q.FirstInstructionsStaffEntries[Z]){const J=Q.FirstInstructionsStaffEntries[Z];K.Parent=J,J.removeFirstInstructionOfTypeKeyInstruction(),J.Instructions.length===0?J.Instructions.push(K):J.Instructions[0]instanceof ClefInstruction?J.Instructions.splice(1,0,K):J.Instructions.splice(0,0,K)}else{const J=new SourceStaffEntry(void 0,void 0);Q.FirstInstructionsStaffEntries[Z]=J,K.Parent=J,J.Instructions.push(K)}}}else this.abstractInstructions.splice(D,1)}if(W instanceof RhythmInstruction){const Y=W;if(!this.activeRhythm||this.activeRhythm!==Y){if(this.activeRhythm=Y,this.abstractInstructions.splice(D,1),this.currentMeasure)for(let Q=this.inSourceMeasureInstrumentIndex;Q<this.inSourceMeasureInstrumentIndex+R;Q++){const Z=Y;let K;this.currentMeasure.FirstInstructionsStaffEntries[Q]?(K=this.currentMeasure.FirstInstructionsStaffEntries[Q],K.removeFirstInstructionOfTypeRhythmInstruction()):(K=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[Q]=K),Z.Parent=K,K.Instructions.push(Z)}}else this.abstractInstructions.splice(D,1)}}}saveClefInstructionAtEndOfMeasure(){for(let R=this.abstractInstructions.length-1;R>=0;R--){const F=this.abstractInstructions[R][0],D=this.abstractInstructions[R][1];if(D instanceof ClefInstruction){const G=D;if(!this.activeClefs[F-1]||G.ClefType!==this.activeClefs[F-1].ClefType||G.ClefType===this.activeClefs[F-1].ClefType&&G.Line!==this.activeClefs[F-1].Line){const U=new SourceStaffEntry(void 0,void 0);this.currentMeasure.LastInstructionsStaffEntries[this.inSourceMeasureInstrumentIndex+F-1]=U;const W=G;W.Parent=U,U.Instructions.push(W),this.activeClefs[F-1]=G,this.abstractInstructions.splice(R,1)}}}}getNoteDurationForTuplet(R){let F=new Fraction$1(0,1);const D=this.getNoteDurationFromTypeNode(R);if(R.element("time-modification")){const G=R.element("time-modification");if(G&&G.element("actual-notes")!==void 0&&G.element("normal-notes")){const U=G.element("actual-notes"),W=G.element("normal-notes");if(U!==void 0&&W){const q=parseInt(U.value,10),Y=parseInt(W.value,10);F=new Fraction$1(Y*D.Numerator,q*D.Denominator)}}}return F}readExpressionStaffNumber(R){let F=1;if(R.element("staff")){const D=R.element("staff");if(D)try{F=parseInt(D.value,10)}catch(G){const U=ITextTranslation.translateText("ReaderErrorMessages/ExpressionStaffError","Invalid Expression staff number -> set to default.");this.musicSheet.SheetErrors.pushMeasureError(U),F=1,log$2.debug("InstrumentReader.readExpressionStaffNumber",U,G)}}return F}readDivisionsFromNotes(){let R=0,F=this.currentXmlMeasureIndex,D=!1;for(;!D;){const G=this.xmlMeasureList[F].elements();for(let U=0,W=G.length;U<W;++U){const q=G[U];if(q.name==="note"&&!q.element("time-modification")){const Y=q.element("duration"),Q=q.element("type");if(Y!==void 0&&Q){const Z=Q.value;let K=0;try{K=parseInt(Y.value,10)}catch(J){log$2.debug("InstrumentReader.readDivisionsFromNotes",J);continue}switch(Z){case"1024th":R=K/4*1024;break;case"512th":R=K/4*512;break;case"256th":R=K/4*256;break;case"128th":R=K/4*128;break;case"64th":R=K/4*64;break;case"32nd":R=K/4*32;break;case"16th":R=K/4*16;break;case"eighth":R=K/4*8;break;case"quarter":R=K/4*4;break;case"half":R=K/4*2;break;case"whole":R=K/4;break;case"breve":R=K/4/2;break;case"long":R=K/4/4;break;case"maxima":R=K/4/8;break}}}if(R>0){D=!0;break}}if(R===0&&(F++,F===this.xmlMeasureList.length)){const U=ITextTranslation.translateText("ReaderErrorMEssages/DivisionsError","Invalid divisions value at Instrument: ");throw new MusicSheetReadingException(U+this.instrument.Name)}}return R}}const _SubInstrument=class{constructor(B){this.parentInstrument=B,this.fixedKey=-1,this.name=this.parseMidiInstrument(this.parentInstrument.Name),this.midiInstrumentID=_SubInstrument.midiInstrument[this.name],this.volume=1}get ParentInstrument(){return this.parentInstrument}static isPianoInstrument(B){return B===MidiInstrument.Acoustic_Grand_Piano||B===MidiInstrument.Bright_Acoustic_Piano||B===MidiInstrument.Electric_Grand_Piano||B===MidiInstrument.Electric_Piano_1||B===MidiInstrument.Electric_Piano_2}setMidiInstrument(B){this.midiInstrumentID=_SubInstrument.midiInstrument[this.parseMidiInstrument(B)]}parseMidiInstrument(B){try{if(B){let R=B.toLowerCase().trim();R=R.replace(/\s+/g,"_");for(const F in _SubInstrument.midiInstrument)if(R.indexOf(F)!==-1)return F}if(this.parentInstrument.Name){let R=this.parentInstrument.Name.toLowerCase().trim();R=R.replace(/\s+/g,"_");for(const F in _SubInstrument.midiInstrument)if(R.indexOf(F)!==-1)return F}}catch{log$2.error("Error parsing MIDI Instrument. Default to Grand Piano.")}return"unnamed"}};let SubInstrument=_SubInstrument;SubInstrument.midiInstrument={alto_saxophone:MidiInstrument.Alto_Sax,baritone_saxophone:MidiInstrument.Baritone_Sax,horn_in_f:MidiInstrument.French_Horn,english_horn:MidiInstrument.English_Horn,euphonium:MidiInstrument.Euphonium,clarinet_in_bb:MidiInstrument.clarinet_in_bb,clarinet_in_eb:MidiInstrument.clarinet_in_eb,clarinet:MidiInstrument.Clarinet,alto_clarinet:MidiInstrument.Alto_Clarinet,bass_clarinet:MidiInstrument.Bass_Clarinet,bassoon:MidiInstrument.Bassoon,bass_trombone:MidiInstrument.Bass_Trombone,alt:MidiInstrument.Synth_Voice,alto:MidiInstrument.Synth_Voice,banjo:MidiInstrument.Banjo,bariton:MidiInstrument.Synth_Voice,baritone:MidiInstrument.Synth_Voice,bass:MidiInstrument.Synth_Voice,blockfl\u00F6te:MidiInstrument.Recorder,brass:MidiInstrument.Trombone,bratsche:MidiInstrument.Viola,cello:MidiInstrument.Cello,contrabass:MidiInstrument.Contrabass,drums:MidiInstrument.Percussion,flute:MidiInstrument.Flute,fl\u00F6te: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.Synth_Drum,\u5C0F\u519B\u9F13:MidiInstrument.Synth_Drum,snare_drum:MidiInstrument.Synth_Drum,bass_drum:MidiInstrument.Synth_Drum,side_drum:MidiInstrument.Synth_Drum,piano:MidiInstrument.Acoustic_Grand_Piano,piccolo:MidiInstrument.Piccolo,posaune:MidiInstrument.Trombone,recorder:MidiInstrument.Recorder,sax:MidiInstrument.Tenor_Sax,schlagwerk:MidiInstrument.Percussion,schlagzeug:MidiInstrument.Percussion,sopran:MidiInstrument.Synth_Voice,steeldrum:MidiInstrument.Steel_Drums,streicher:MidiInstrument.String_Ensemble_1,strings:MidiInstrument.String_Ensemble_1,tenor:MidiInstrument.Synth_Voice,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,alto_clarinet_in_eb:MidiInstrument.AltoClarinetInEb,trumpet_in_bb:MidiInstrument.TrumpetInBb,tenor_saxophone:MidiInstrument.TenorSaxophone};class StringUtil{static StringContainsSeparatedWord(R,F,D=!1){return new RegExp("( |^)"+F+"([ .]|$)",D?"i":void 0).test(R)}}class RepetitionInstructionReader{set MusicSheet(R){this.musicSheet=R,this.xmlMeasureList=new Array(this.musicSheet.Instruments.length),this.repetitionInstructions=[]}prepareReadingMeasure(R,F){this.currentMeasureIndex=F}handleLineRepetitionInstructions(R){let F=!1;if(R.elements().length>0){let D="",G=!1,U="",W="",q="";const Y=[],Q=R.element("bar-style");Q&&(q=Q.value),R.attributes().length>0&&R.attribute("location")?D=R.attribute("location").value:D="right";const Z=R.elements();for(let K=0,J=Z.length;K<J;++K){const ie=Z[K];if(ie.name==="repeat"&&ie.hasAttributes)G=!0,U=ie.attribute("direction").value;else if(ie.name==="ending"&&ie.hasAttributes&&ie.attribute("type")!==void 0&&ie.attribute("number")){W=ie.attribute("type").value;const se=ie.attribute("number").value.split("[,+]");for(let re=0,ae=se.length;re<ae;++re){const le=se[re],ce=le.match("[0-9]");if(le.search("-")!==-1&&ce.length===2){const he=parseInt(ce[0],10),de=parseInt(ce[1],10);for(let me=he;me<=de;me++)Y.push(me)}else for(let he=0,de=ce.length;he<de;++he){const me=ce[he];Y.push(parseInt(me,10))}}}}if(q==="light-heavy"&&Y.length===0&&!G&&(F=!0),G||Y.length>0)if(D==="left"){if(W==="start"){const K=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Ending,AlignmentType.Begin,void 0,Y);this.addInstruction(this.repetitionInstructions,K)}if(U==="forward"){const K=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.StartLine);this.addInstruction(this.repetitionInstructions,K)}}else{if(W==="stop"){const K=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Ending,AlignmentType.End,void 0,Y);this.addInstruction(this.repetitionInstructions,K)}if(U==="backward"){const K=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.BackJumpLine);this.addInstruction(this.repetitionInstructions,K)}}}return F}handleRepetitionInstructionsFromWordsOrSymbols(R,F){const D=R.element("words"),G=this.currentMeasureIndex;if(D){const U="d\\s?\\.s\\.",W=D.value.trim().toLowerCase();if(StringUtil.StringContainsSeparatedWord(W,U+" al fine",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.DalSegnoAlFine);return this.addInstruction(this.repetitionInstructions,Y),!0}if(StringUtil.StringContainsSeparatedWord(W,U+" al coda",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.DalSegnoAlCoda);return this.addInstruction(this.repetitionInstructions,Y),!0}const q="d\\.\\s?c\\.";if(StringUtil.StringContainsSeparatedWord(W,q+" al fine",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.DaCapoAlFine);return this.addInstruction(this.repetitionInstructions,Y),!0}if(StringUtil.StringContainsSeparatedWord(W,q+" al coda",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.DaCapoAlCoda);return this.addInstruction(this.repetitionInstructions,Y),!0}if(StringUtil.StringContainsSeparatedWord(W,q)||StringUtil.StringContainsSeparatedWord(W,"da\\s?capo",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.DaCapo);return this.addInstruction(this.repetitionInstructions,Y),!0}if(StringUtil.StringContainsSeparatedWord(W,U,!0)||StringUtil.StringContainsSeparatedWord(W,"dal\\s?segno",!0)){let Y;return StringUtil.StringContainsSeparatedWord(W,"al\\s?coda",!0)?Y=new RepetitionInstruction(G,RepetitionInstructionEnum.DalSegnoAlCoda):Y=new RepetitionInstruction(G,RepetitionInstructionEnum.DalSegno),this.addInstruction(this.repetitionInstructions,Y),!0}if(StringUtil.StringContainsSeparatedWord(W,"to\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(W,"a (la )?coda",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.ToCoda);return this.addInstruction(this.repetitionInstructions,Y),!0}if(StringUtil.StringContainsSeparatedWord(W,"fine",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.Fine);return this.addInstruction(this.repetitionInstructions,Y),!0}if(StringUtil.StringContainsSeparatedWord(W,"coda",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.Coda);return this.addInstruction(this.repetitionInstructions,Y),!0}if(StringUtil.StringContainsSeparatedWord(W,"segno",!0)){const Y=new RepetitionInstruction(G,RepetitionInstructionEnum.Segno);return this.addInstruction(this.repetitionInstructions,Y),!0}}else if(R.element("segno")){const U=new RepetitionInstruction(G,RepetitionInstructionEnum.Segno);return this.addInstruction(this.repetitionInstructions,U),!0}else if(R.element("coda")){const U=new RepetitionInstruction(G,RepetitionInstructionEnum.Coda);return this.addInstruction(this.repetitionInstructions,U),!0}return!1}removeRedundantInstructions(){let R=0,F=0,D=0,G=0;for(let U=0;U<this.repetitionInstructions.length;U++){const W=this.repetitionInstructions[U];switch(W.type){case RepetitionInstructionEnum.Coda:D>0&&this.findInstructionInPreviousMeasure(U,W.measureIndex,RepetitionInstructionEnum.ToCoda)&&(W.type=RepetitionInstructionEnum.None),F===0&&D===0&&(W.type=RepetitionInstructionEnum.ToCoda,W.alignment=AlignmentType.End,W.measureIndex--);break;case RepetitionInstructionEnum.Segno:if(R-G>0){let q=!1;for(let Y=0,Q=this.repetitionInstructions.length;Y<Q;++Y){const Z=this.repetitionInstructions[Y];if(W.measureIndex-Z.measureIndex===1)switch(Z.type){case RepetitionInstructionEnum.BackJumpLine:D-F>0?Z.type=RepetitionInstructionEnum.DalSegnoAlCoda:Z.type=RepetitionInstructionEnum.DalSegno,W.type=RepetitionInstructionEnum.None,q=!0;break;case RepetitionInstructionEnum.DalSegno:case RepetitionInstructionEnum.DalSegnoAlFine:case RepetitionInstructionEnum.DalSegnoAlCoda:W.type=RepetitionInstructionEnum.None,q=!0;break}if(q)break}if(q)break;D-F>0?W.type=RepetitionInstructionEnum.DalSegnoAlCoda:W.type=RepetitionInstructionEnum.DalSegno,W.alignment=AlignmentType.End,W.measureIndex--}break}if(this.backwardSearchForPreviousIdenticalInstruction(U,W)||W.type===RepetitionInstructionEnum.None)this.repetitionInstructions.splice(U,1),U--;else switch(W.type){case RepetitionInstructionEnum.Fine:break;case RepetitionInstructionEnum.ToCoda:D++;break;case RepetitionInstructionEnum.Coda:F++;break;case RepetitionInstructionEnum.Segno:R++;break;case RepetitionInstructionEnum.DalSegnoAlFine:case RepetitionInstructionEnum.DalSegnoAlCoda:G++;break}}this.repetitionInstructions.sort(RepetitionInstructionComparer.Compare)}findInstructionInPreviousMeasure(R,F,D){for(let G=R-1;G>=0;G--){const U=this.repetitionInstructions[G];if(F-U.measureIndex===1&&U.type===D)return!0}return!1}backwardSearchForPreviousIdenticalInstruction(R,F){for(let D=R-1;D>=0;D--)if(this.repetitionInstructions[D].equals(F))return!0;return!1}addInstruction(R,F){let D=!0;for(let G=0,U=R.length;G<U;++G){const W=R[G];if(F.equals(W)){D=!1;break}}D&&R.push(F)}}class RepetitionCalculator{constructor(){this.repetitionInstructions=[],this.openRepetitions=[],this.lastRepetitionCommonPartStartIndex=0}calculateRepetitions(R,F){this.musicSheet=R,this.repetitionInstructions=F,this.openRepetitions.length=0,this.lastRepetitionCommonPartStartIndex=0;const D=this.musicSheet.SourceMeasures;for(const q of this.repetitionInstructions){this.currentMeasureIndex=q.measureIndex;try{this.currentMeasure=D[this.currentMeasureIndex],this.handleRepetitionInstructions(q)}catch(Y){log$2.error("RepetitionCalculator: calculateRepetitions",Y)}}for(;this.openRepetitions.length>0;)try{const q=this.openRepetitions.last();if(q.RepetitonUnderConstruction.FromWords){if(q.WaitingForCoda){let Y=q.RepetitonUnderConstruction.BackwardJumpInstructions.last().measureIndex+1;Y>=this.musicSheet.SourceMeasures.length&&(Y=-1),q.RepetitonUnderConstruction.setEndingStartIndex(2,Y)}else if(q.RepetitonUnderConstruction.BackwardJumpInstructions.length===0){this.openRepetitions.splice(this.openRepetitions.length-1,1);continue}}else if(q.RepetitonUnderConstruction.BackwardJumpInstructions.length===0){const Y=D.length-1,Q=new RepetitionInstruction(Y,RepetitionInstructionEnum.BackJumpLine,AlignmentType.End,q.RepetitonUnderConstruction);q.RepetitonUnderConstruction.BackwardJumpInstructions.push(Q),D[Y].LastRepetitionInstructions.push(Q)}this.finalizeRepetition(this.openRepetitions.last())}catch{try{const Y=this.openRepetitions.last().RepetitonUnderConstruction;for(const Q of this.repetitionInstructions)Q.parentRepetition===Y&&(Q.parentRepetition=void 0);this.openRepetitions.splice(this.openRepetitions.length-1,1)}catch(Y){log$2.error("RepetitionCalculator: calculateRepetitions2",Y)}}let G=!1;const U=0,W=this.musicSheet.SourceMeasures.length-1;for(const q of this.musicSheet.Repetitions)if(q.StartIndex===U&&q.EndIndex===W){G=!0;break}if(!G){const q=new Repetition(this.musicSheet,!0);q.FromWords=!0,q.startMarker=new RepetitionInstruction(U,RepetitionInstructionEnum.StartLine),q.startMarker.parentRepetition=q,this.musicSheet.SourceMeasures[U].FirstRepetitionInstructions.push(q.startMarker),q.endMarker=new RepetitionInstruction(W,RepetitionInstructionEnum.BackJumpLine),q.endMarker.parentRepetition=q,q.BackwardJumpInstructions.push(q.endMarker),q.UserNumberOfRepetitions=q.DefaultNumberOfRepetitions,this.musicSheet.Repetitions.push(q)}for(let q=0,Y=this.musicSheet.SourceMeasures.length;q<Y;++q){const Q=this.musicSheet.SourceMeasures[q];Q.FirstRepetitionInstructions.length>1&&Q.FirstRepetitionInstructions.sort(RepetitionInstructionComparer.Compare),Q.LastRepetitionInstructions.length>1&&Q.LastRepetitionInstructions.sort(RepetitionInstructionComparer.Compare)}}handleRepetitionInstructions(R){let F;switch(R.type){case RepetitionInstructionEnum.StartLine:F=this.createNewRepetition(this.currentMeasureIndex),R.parentRepetition=F.RepetitonUnderConstruction,F.RepetitonUnderConstruction.FromWords=!1,F.RepetitonUnderConstruction.startMarker=R,this.currentMeasure.FirstRepetitionInstructions.push(R);break;case RepetitionInstructionEnum.BackJumpLine:F=this.getOrCreateCurrentRepetition2(!1),R.parentRepetition=F.RepetitonUnderConstruction,F.RepetitonUnderConstruction.BackwardJumpInstructions.push(R),this.currentMeasure.LastRepetitionInstructions.push(R),F.RepetitonUnderConstruction.EndingParts.length===0&&this.finalizeRepetition(F);break;case RepetitionInstructionEnum.Ending:if(F=this.getOrCreateCurrentRepetition(),R.parentRepetition=F.RepetitonUnderConstruction,R.endingIndices.contains(1)&&R.alignment===AlignmentType.Begin){if(F.RepetitonUnderConstruction.BackwardJumpInstructions.length>0||F.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)){F=void 0;for(let G=this.openRepetitions.length-1;G>=0;G--){const U=this.openRepetitions[G];if(U.RepetitonUnderConstruction.BackwardJumpInstructions.length===0)for(F=U;this.openRepetitions.length-1>G;){const W=this.openRepetitions.last();this.finalizeRepetition(W)}}F===void 0&&(F=this.createNewRepetition(0),F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None))}F.RepetitonUnderConstruction.forwardJumpInstruction===void 0&&(F.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(this.currentMeasureIndex-1,RepetitionInstructionEnum.ForwardJump,AlignmentType.End,F.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[this.currentMeasureIndex-1].LastRepetitionInstructions.push(F.RepetitonUnderConstruction.forwardJumpInstruction))}if(R.alignment===AlignmentType.Begin)F.RepetitonUnderConstruction.setEndingsStartIndex(R.endingIndices,this.currentMeasureIndex),this.currentMeasure.FirstRepetitionInstructions.push(R);else for(let G=0,U=R.endingIndices.length;G<U;++G){const W=R.endingIndices[G];F.RepetitonUnderConstruction.setEndingEndIndex(W,this.currentMeasureIndex),this.currentMeasure.LastRepetitionInstructions.push(R)}break;case RepetitionInstructionEnum.Segno:if(F=this.getCurrentRepetition(!0),F!==void 0&&F.SegnoFound&&F.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&Math.abs(F.RepetitonUnderConstruction.BackwardJumpInstructions.last().measureIndex-this.currentMeasureIndex)<=1||this.openRepetitions.length&&this.openRepetitions.find(G=>G.RepetitonUnderConstruction.startMarker.type===RepetitionInstructionEnum.StartLine).RepetitonUnderConstruction.StartIndex===this.currentMeasureIndex)break;F=this.createNewRepetition(this.currentMeasureIndex),R.parentRepetition=F.RepetitonUnderConstruction,F.RepetitonUnderConstruction.FromWords=!0,F.SegnoFound=!0,F.RepetitonUnderConstruction.startMarker=R,this.currentMeasure.FirstRepetitionInstructions.push(R);break;case RepetitionInstructionEnum.Fine:if(this.openRepetitions.length===0||(F=this.getCurrentRepetition(!0),F===void 0))break;R.parentRepetition=F.RepetitonUnderConstruction,F.RepetitonUnderConstruction.FromWords=!0,F.RepetitonUnderConstruction.forwardJumpInstruction===void 0?(F.FineFound=!0,F.RepetitonUnderConstruction.forwardJumpInstruction=R,F.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.currentMeasure.LastRepetitionInstructions.push(R)):this.currentMeasure.LastRepetitionInstructions.push(new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Fine,AlignmentType.End,void 0));break;case RepetitionInstructionEnum.ToCoda:if(this.openRepetitions.length===0||(F=this.getCurrentRepetition(!0),F===void 0))break;F.RepetitonUnderConstruction.forwardJumpInstruction===void 0&&(R.parentRepetition=F.RepetitonUnderConstruction,F.RepetitonUnderConstruction.FromWords=!0,F.ToCodaFound=!0,F.RepetitonUnderConstruction.forwardJumpInstruction=R,this.currentMeasure.LastRepetitionInstructions.push(R));break;case RepetitionInstructionEnum.Coda:if(this.openRepetitions.length===0)break;F=this.getOrCreateCurrentRepetition2(!0),R.parentRepetition=F.RepetitonUnderConstruction,F.WaitingForCoda?(F.CodaFound=!0,F.RepetitonUnderConstruction.setEndingStartIndex(2,this.currentMeasureIndex),this.currentMeasure.LastRepetitionInstructions.push(R),this.finalizeRepetition(F),this.currentMeasureIndex>0&&(this.musicSheet.SourceMeasures[this.currentMeasureIndex-1].printNewSystemXml=!0)):F.ToCodaFound||(F.RepetitonUnderConstruction.BackwardJumpInstructions.length===0?(F.ToCodaFound=!0,F.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.ToCoda,AlignmentType.End,F.RepetitonUnderConstruction),this.currentMeasure.LastRepetitionInstructions.push(F.RepetitonUnderConstruction.forwardJumpInstruction)):this.currentMeasure.LastRepetitionInstructions.push(new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Coda,AlignmentType.Begin,void 0)));break;case RepetitionInstructionEnum.DaCapo:F=this.getOrCreateCurrentRepetition(),F.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&this.finalizeRepetition(F),F.RepetitonUnderConstruction.StartIndex!==0&&(F=this.createNewRepetition(0)),R.parentRepetition=F.RepetitonUnderConstruction,F.RepetitonUnderConstruction.FromWords=!0,F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,F.RepetitonUnderConstruction),F.RepetitonUnderConstruction.BackwardJumpInstructions.push(R),this.currentMeasure.LastRepetitionInstructions.push(R),F.RepetitonUnderConstruction.EndingParts.length===0&&this.finalizeRepetition(F);break;case RepetitionInstructionEnum.DalSegno:if(F=this.getOrCreateCurrentRepetition2(!0),F.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&(this.finalizeRepetition(F),F=this.createNewRepetition(0),F.RepetitonUnderConstruction.FromWords=!0,F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,F.RepetitonUnderConstruction)),R.parentRepetition=F.RepetitonUnderConstruction,!F.SegnoFound){const G=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,R.measureIndex);G>=0&&(F.SegnoFound=!0,F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(G,RepetitionInstructionEnum.Segno,AlignmentType.Begin,F.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[G].FirstRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.startMarker))}F.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)&&F.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),F.RepetitonUnderConstruction.BackwardJumpInstructions.push(R),this.currentMeasure.LastRepetitionInstructions.push(R);break;case RepetitionInstructionEnum.DalSegnoAlFine:if(this.openRepetitions.length===0)break;if(F=this.getOrCreateCurrentRepetition2(!0),R.parentRepetition=F.RepetitonUnderConstruction,!F.SegnoFound){const G=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,R.measureIndex);G>=0&&(F.SegnoFound=!0,F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(G,RepetitionInstructionEnum.Segno,AlignmentType.Begin,F.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[G].FirstRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.startMarker))}if(!F.FineFound){const G=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Fine,R.measureIndex);G>=0&&(F.FineFound=!0,F.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(G,RepetitionInstructionEnum.Fine,AlignmentType.Begin,F.RepetitonUnderConstruction),F.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.musicSheet.SourceMeasures[G].LastRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.forwardJumpInstruction))}F.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||F.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),F.RepetitonUnderConstruction.BackwardJumpInstructions.push(R),this.currentMeasure.LastRepetitionInstructions.push(R);break;case RepetitionInstructionEnum.DaCapoAlFine:if(F=this.getOrCreateCurrentRepetition(),F.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&(this.finalizeRepetition(F),F=this.createNewRepetition(0)),F.RepetitonUnderConstruction.startMarker!==void 0&&F.RepetitonUnderConstruction.StartIndex!==0&&(F=this.createNewRepetition(0)),F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,F.RepetitonUnderConstruction),F.RepetitonUnderConstruction.FromWords=!0,R.parentRepetition=F.RepetitonUnderConstruction,!F.FineFound){const G=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Fine,R.measureIndex);G>=0&&(F.FineFound=!0,F.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(G,RepetitionInstructionEnum.Fine,AlignmentType.Begin,F.RepetitonUnderConstruction),F.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.musicSheet.SourceMeasures[G].LastRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.forwardJumpInstruction))}F.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||F.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),F.RepetitonUnderConstruction.BackwardJumpInstructions.push(R),this.currentMeasure.LastRepetitionInstructions.push(R);break;case RepetitionInstructionEnum.DalSegnoAlCoda:if(this.openRepetitions.length===0)break;if(F=this.getOrCreateCurrentRepetition2(!0),R.parentRepetition=F.RepetitonUnderConstruction,!F.SegnoFound){const G=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,R.measureIndex);G>=0&&(F.SegnoFound=!0,F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(G,RepetitionInstructionEnum.Segno,AlignmentType.Begin,F.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[G].FirstRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.startMarker))}if(!F.ToCodaFound){const G=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.ToCoda,R.measureIndex);if(G>=0)F.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(G,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,F.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[G].LastRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.forwardJumpInstruction),F.ToCodaFound=!0;else{const U=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Coda,R.measureIndex);U>=0&&(F.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(U,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,F.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[U].LastRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.forwardJumpInstruction),F.ToCodaFound=!0)}}F.ToCodaFound&&(F.WaitingForCoda=!0),F.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||F.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),F.RepetitonUnderConstruction.BackwardJumpInstructions.push(R),this.currentMeasure.LastRepetitionInstructions.push(R);break;case RepetitionInstructionEnum.DaCapoAlCoda:if(F=this.getOrCreateCurrentRepetition(),F.RepetitonUnderConstruction.BackwardJumpInstructions.length>0?(this.finalizeRepetition(F),F=this.createNewRepetition(0)):F.RepetitonUnderConstruction.EndingParts.length===0&&(this.finalizeRepetition(F),F=this.createNewRepetition(0)),F.RepetitonUnderConstruction.startMarker!==void 0&&F.RepetitonUnderConstruction.StartIndex!==0&&(F=this.createNewRepetition(0)),F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,F.RepetitonUnderConstruction),F.RepetitonUnderConstruction.FromWords=!0,R.parentRepetition=F.RepetitonUnderConstruction,!F.ToCodaFound){const G=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.ToCoda,R.measureIndex);if(G>=0)F.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(G,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,F.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[G].LastRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.forwardJumpInstruction),F.ToCodaFound=!0;else{const U=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Coda,R.measureIndex);U>=0&&(F.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(U,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,F.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[U].LastRepetitionInstructions.splice(0,0,F.RepetitonUnderConstruction.forwardJumpInstruction),F.ToCodaFound=!0)}}F.ToCodaFound&&(F.WaitingForCoda=!0),F.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||F.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),F.RepetitonUnderConstruction.BackwardJumpInstructions.push(R),this.currentMeasure.LastRepetitionInstructions.push(R);break;case RepetitionInstructionEnum.None:break;default:throw new ArgumentOutOfRangeException("currentRepetitionInstruction")}return!0}findInstructionInMainListBackwards(R,F){for(let D=this.repetitionInstructions.length-1;D>=0;D--){const G=this.repetitionInstructions[D];if(G.measureIndex<=F&&G.type===R)return G.measureIndex}return-1}finalizeRepetition(R){const F=R.RepetitonUnderConstruction;if(F.BackwardJumpInstructions.length>0){let D=!0;const G=this.getLastFinalizedRepetition();if(G!==void 0&&F.coversIdenticalMeasures(G)){if(F.NumberOfEndings>G.NumberOfEndings){const U=this.musicSheet.Repetitions.indexOf(G,0);U>-1&&this.musicSheet.Repetitions.splice(U,1),G.removeFromRepetitionInstructions(),this.musicSheet.Repetitions.push(F)}D=!1,F.removeFromRepetitionInstructions()}else this.musicSheet.Repetitions.push(F);D&&(F.startMarker.type===RepetitionInstructionEnum.None&&this.musicSheet.SourceMeasures[F.StartIndex].FirstRepetitionInstructions.push(F.startMarker),F.UserNumberOfRepetitions=F.DefaultNumberOfRepetitions)}this.openRepetitions.splice(this.openRepetitions.length-1,1)}getCurrentRepetition(R){let F;for(let D=this.openRepetitions.length-1;D>=0;D--)if(this.openRepetitions[D].RepetitonUnderConstruction.FromWords===R){for(F=this.openRepetitions[D];D<this.openRepetitions.length-1;)this.finalizeRepetition(this.openRepetitions.last());return F}return F}getOrCreateCurrentRepetition(){if(this.openRepetitions.length>0)return this.openRepetitions.last();const R=this.createNewRepetition(0);return R.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,R.RepetitonUnderConstruction),R}getOrCreateCurrentRepetition2(R){let F;if(this.openRepetitions.length&&this.openRepetitions.last().RepetitonUnderConstruction.EndingParts.length<2){for(let G=this.openRepetitions.length-1;G>=0;G--)if(F=this.openRepetitions[G],F.RepetitonUnderConstruction.FromWords===R){for(;G<this.openRepetitions.length-1;)this.finalizeRepetition(this.openRepetitions.last());return F}}return F=this.createNewRepetition(this.lastRepetitionCommonPartStartIndex),F.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(this.lastRepetitionCommonPartStartIndex,RepetitionInstructionEnum.None,AlignmentType.Begin,F.RepetitonUnderConstruction),F.RepetitonUnderConstruction.FromWords=R,F}createNewRepetition(R){if(this.openRepetitions.length>0){const D=this.openRepetitions.last(),G=D.RepetitonUnderConstruction;if(G.BackwardJumpInstructions.length>0){const U=Object.keys(G.EndingIndexDict);(U.length===0||G.EndingIndexDict[U[U.length-1]].part.EndIndex>=0)&&this.finalizeRepetition(D)}}const F=new RepetitionBuildingContainer(this.musicSheet);return this.lastRepetitionCommonPartStartIndex=R,this.openRepetitions.push(F),F}getLastFinalizedRepetition(){if(this.musicSheet.Repetitions.length>0)return this.musicSheet.Repetitions.last()}}class RepetitionBuildingContainer{constructor(R){this.RepetitonUnderConstruction=new Repetition(R)}}class MusicSymbolModuleFactory{static createRepetitionInstructionReader(){return new RepetitionInstructionReader}static createRepetitionCalculator(){return new RepetitionCalculator}}class ReaderPluginManager{constructor(){this.voiceMeasureReadPlugins=[]}addVoiceMeasureReadPlugin(R){this.voiceMeasureReadPlugins.push(R)}processVoiceMeasureReadPlugins(R,F,D){for(const G of this.voiceMeasureReadPlugins)try{G.measureReadCalculations(R,F,D)}catch(U){log$2.info("VoiceGenerator.addSingleNote: ",U)}}}class MusicSheetReader{constructor(R=void 0,F=new EngravingRules){this.completeNumberOfStaves=0,this.pluginManager=new ReaderPluginManager,R?this.afterSheetReadingModules=R:this.afterSheetReadingModules=[],this.repetitionInstructionReader=MusicSymbolModuleFactory.createRepetitionInstructionReader(),this.repetitionCalculator=MusicSymbolModuleFactory.createRepetitionCalculator(),this.rules=F}get PluginManager(){return this.pluginManager}get CompleteNumberOfStaves(){return this.completeNumberOfStaves}static doCalculationsAfterDurationHasBeenSet(R){for(const F of R)F.doCalculationsAfterDurationHasBeenSet()}createMusicSheet(R,F){try{return this._createMusicSheet(R,F)}catch(D){log$2.error("MusicSheetReader.CreateMusicSheet",D);return}}_removeFromArray(R,F){const D=R.indexOf(F);D!==-1&&R.splice(D,1)}trimString(R){return R.replace(/^\s+|\s+$/g,"")}_lastElement(R){return R[R.length-1]}_createMusicSheet(R,F){var K;const D=[];let G=0;if(this.musicSheet=new MusicSheet$1,this.musicSheet.Path=F,this.musicSheet.Rules=this.rules,!R)throw new MusicSheetReadingException("Undefined root element");this.pushSheetLabels(R,F);const U=R.element("part-list");if(!U)throw new MusicSheetReadingException("Undefined partListNode");const W=R.elements("part"),q=U.elements();this.initializeReading(q,W,D);let Y=!0;this.currentFraction=new Fraction$1(0,1);let Q=!1,Z=R.element("identification");for(Z&&(Z=Z.element("encoding")),Z&&(Z=Z.element("software")),Z!==void 0&&Z.value==="Guitar Pro 5"&&(Q=!0);Y;){this.currentMeasure!==void 0&&this.currentMeasure.HasEndLine&&this.rules.NewPartAndSystemAfterFinalBarline&&(G=0),this.currentMeasure=new SourceMeasure(this.completeNumberOfStaves,this.musicSheet.Rules);for(const J of D)try{Y=Y&&J.readNextXmlMeasure(this.currentMeasure,this.currentFraction,Q)}catch(ie){const ne=ITextTranslation.translateText("ReaderErrorMessages/InstrumentError","Error while reading instruments.");throw new MusicSheetReadingException(ne,ie)}Y&&(this.musicSheet.addMeasure(this.currentMeasure),this.checkIfRhythmInstructionsAreSetAndEqual(D),this.checkSourceMeasureForNullEntries(),G=this.setSourceMeasureDuration(D,G),MusicSheetReader.doCalculationsAfterDurationHasBeenSet(D),this.currentMeasure.AbsoluteTimestamp=this.currentFraction.clone(),this.musicSheet.SheetErrors.finalizeMeasure(this.currentMeasure.MeasureNumber),this.currentFraction.Add(this.currentMeasure.Duration),this.previousMeasure=this.currentMeasure,this.musicSheet.SoundTempos=(K=D[0])==null?void 0:K.SoundTempos)}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 J=0,ie=this.afterSheetReadingModules.length;J<ie;++J)this.afterSheetReadingModules[J].calculate(this.musicSheet);return this.musicSheet.userStartTempoInBPM=this.musicSheet.userStartTempoInBPM||this.musicSheet.DefaultStartTempoInBpm,this.musicSheet.InitializeStartTempoInBPM(this.musicSheet.userStartTempoInBPM),this.musicSheet.MusicPartManager.init(),this.musicSheet}initializeReading(R,F,D){const G=this.createInstrumentGroups(R);this.completeNumberOfStaves=this.getCompleteNumberOfStavesFromXml(F),F.length!==0&&(this.repetitionInstructionReader.MusicSheet=this.musicSheet,this.currentFraction=new Fraction$1(0,1),this.currentMeasure=void 0,this.previousMeasure=void 0);let U=0;for(const W of F){const q=W.attribute("id");if(q){const Y=G[q.value],Q=W.elements("measure");let Z=1;try{Z=this.getInstrumentNumberOfStavesFromXml(W)}catch{const J=ITextTranslation.translateText("ReaderErrorMessages/InstrumentStavesNumberError","Invalid number of staves at instrument: ");this.musicSheet.SheetErrors.push(J+Y.Name);continue}Y.createStaves(Z),D.push(new InstrumentReader(this.pluginManager,this.repetitionInstructionReader,Q,Y)),this.repetitionInstructionReader&&(this.repetitionInstructionReader.xmlMeasureList[U]=Q),U++}}}checkIfRhythmInstructionsAreSetAndEqual(R){const F=[];for(let U=0;U<this.completeNumberOfStaves;U++)if(this.currentMeasure.FirstInstructionsStaffEntries[U]){const W=this.currentMeasure.FirstInstructionsStaffEntries[U].Instructions[this.currentMeasure.FirstInstructionsStaffEntries[U].Instructions.length-1];W instanceof RhythmInstruction&&F.push(W)}let D=0,G=-1;for(let U=0,W=F.length;U<W;++U){const q=F[U];if(q.Rhythm.RealValue>D){if(this.areRhythmInstructionsMixed(F)&&q.SymbolEnum!==RhythmSymbolEnum.NONE)continue;D=q.Rhythm.RealValue,G=F.indexOf(q)}}if(F.length>0&&F.length<this.completeNumberOfStaves){const U=F[G].clone();for(let W=0;W<this.completeNumberOfStaves;W++)this.currentMeasure.FirstInstructionsStaffEntries[W]!==void 0&&!(this._lastElement(this.currentMeasure.FirstInstructionsStaffEntries[W].Instructions)instanceof RhythmInstruction)&&(this.currentMeasure.FirstInstructionsStaffEntries[W].removeAllInstructionsOfTypeRhythmInstruction(),this.currentMeasure.FirstInstructionsStaffEntries[W].Instructions.push(U.clone())),this.currentMeasure.FirstInstructionsStaffEntries[W]||(this.currentMeasure.FirstInstructionsStaffEntries[W]=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[W].Instructions.push(U.clone()));for(let W=0,q=R.length;W<q;++W){const Y=R[W];Y.ActiveRhythm=U}}if(F.length===0&&this.currentMeasure===this.musicSheet.SourceMeasures[0]){const U=new RhythmInstruction(new Fraction$1(4,4,0,!1),RhythmSymbolEnum.NONE);for(let W=0;W<this.completeNumberOfStaves;W++)this.currentMeasure.FirstInstructionsStaffEntries[W]?this.currentMeasure.FirstInstructionsStaffEntries[W].removeAllInstructionsOfTypeRhythmInstruction():this.currentMeasure.FirstInstructionsStaffEntries[W]=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[W].Instructions.push(U);for(let W=0,q=R.length;W<q;++W){const Y=R[W];Y.ActiveRhythm=U}}for(let U=0,W=F.length;U<W;++U){const q=F[U];if(q.Rhythm.RealValue<D&&this._lastElement(this.currentMeasure.FirstInstructionsStaffEntries[F.indexOf(q)].Instructions)instanceof RhythmInstruction){const Y=this.currentMeasure.FirstInstructionsStaffEntries[F.indexOf(q)].Instructions;Y[Y.length-1]=F[G].clone()}Math.abs(q.Rhythm.RealValue-D)<1e-6&&q.SymbolEnum!==RhythmSymbolEnum.NONE&&this.areRhythmInstructionsMixed(F)&&(q.SymbolEnum=RhythmSymbolEnum.NONE)}}areRhythmInstructionsMixed(R){for(let F=1;F<R.length;F++)if(Math.abs(R[F].Rhythm.RealValue-R[0].Rhythm.RealValue)<1e-6&&R[F].SymbolEnum!==R[0].SymbolEnum)return!0;return!1}setSourceMeasureDuration(R,F){let D=new Fraction$1(0,1);const G=[];for(const q of R){G.push(q.MaxTieNoteFraction);const Y=q.ActiveRhythm.Rhythm;D.lt(Y)&&(D=new Fraction$1(Y.Numerator,Y.Denominator,0,!1))}const U=this.currentMeasure.calculateInstrumentsDuration(this.musicSheet,G);let W=new Fraction$1(0,1);for(const q of U)W.lt(q)&&(W=q);Fraction$1.Equal(W,D)?this.checkFractionsForEquivalence(W,D):W.lt(D)&&(W=this.currentMeasure.reverseCheck(this.musicSheet,W),this.checkFractionsForEquivalence(W,D)),this.currentMeasure.ImplicitMeasure=this.checkIfMeasureIsImplicit(W,D),this.currentMeasure.ImplicitMeasure||F++,this.currentMeasure.Duration=W,this.currentMeasure.ActiveTimeSignature=D,this.currentMeasure.MeasureNumber=F;for(let q=0;q<U.length;q++){const Y=U[q];if(this.currentMeasure.ImplicitMeasure&&Y!==W||!Fraction$1.Equal(Y,D)&&!this.allInstrumentsHaveSameDuration(U,W)){const Q=this.musicSheet.getGlobalStaffIndexOfFirstStaff(this.musicSheet.Instruments[q]);for(let Z=0;Z<this.musicSheet.Instruments[q].Staves.length;Z++)if(!this.graphicalMeasureIsEmpty(Q+Z)){this.currentMeasure.setErrorInGraphicalMeasure(Q+Z,!0);const K=ITextTranslation.translateText("ReaderErrorMessages/MissingNotesError","Given Notes don't correspond to measure duration.");this.musicSheet.SheetErrors.pushMeasureError(K)}}}return F}checkFractionsForEquivalence(R,F){if(F.Denominator>R.Denominator){const D=F.Denominator/R.Denominator;R.expand(D)}}checkIfMeasureIsImplicit(R,F){return!this.previousMeasure&&R.lt(F)?!0:this.previousMeasure?Fraction$1.plus(this.previousMeasure.Duration,R).Equals(F):!1}allInstrumentsHaveSameDuration(R,F){let D=0;for(let G=0,U=R.length;G<U;++G)R[G].Equals(F)&&D++;return D===R.length&&F!==new Fraction$1(0,1)}graphicalMeasureIsEmpty(R){let F=0;for(let D=0;D<this.currentMeasure.VerticalSourceStaffEntryContainers.length;D++)this.currentMeasure.VerticalSourceStaffEntryContainers[D].StaffEntries[R]||F++;return F===this.currentMeasure.VerticalSourceStaffEntryContainers.length}checkSourceMeasureForNullEntries(){for(let R=this.currentMeasure.VerticalSourceStaffEntryContainers.length-1;R>=0;R--)for(let F=this.currentMeasure.VerticalSourceStaffEntryContainers[R].StaffEntries.length-1;F>=0;F--){const D=this.currentMeasure.VerticalSourceStaffEntryContainers[R].StaffEntries[F];if(D)for(let G=D.VoiceEntries.length-1;G>=0;G--){const U=D.VoiceEntries[G];U.Notes.length===0&&(this._removeFromArray(U.ParentVoice.VoiceEntries,U),this._removeFromArray(D.VoiceEntries,U))}D!==void 0&&D.VoiceEntries.length===0&&(this.currentMeasure.VerticalSourceStaffEntryContainers[R].StaffEntries[F]=void 0)}for(let R=this.currentMeasure.VerticalSourceStaffEntryContainers.length-1;R>=0;R--){let F=0;for(let D=0,G=this.currentMeasure.VerticalSourceStaffEntryContainers[R].StaffEntries.length;D<G;++D)this.currentMeasure.VerticalSourceStaffEntryContainers[R].StaffEntries[D]||F++;F===this.currentMeasure.VerticalSourceStaffEntryContainers[R].StaffEntries.length&&this._removeFromArray(this.currentMeasure.VerticalSourceStaffEntryContainers,this.currentMeasure.VerticalSourceStaffEntryContainers[R])}}pushSheetLabels(R,F){this.readComposer(R),this.readTitle(R);try{(!this.musicSheet.Title||!this.musicSheet.Composer)&&this.readTitleAndComposerFromCredits(R)}catch(D){log$2.info("MusicSheetReader.pushSheetLabels","readTitleAndComposerFromCredits",D)}try{if(!this.musicSheet.Title){const D=Math.max(0,F.lastIndexOf("/"),F.lastIndexOf("\\")),U=F.substr(D).split(".",1);this.musicSheet.Title=new Label(U[0])}}catch(D){log$2.info("MusicSheetReader.pushSheetLabels","read title from file name",D)}}presentAttrsWithValue(R,F){for(const D of R.attributes())if(D.value===F)return!0;return!1}readComposer(R){const F=R.element("identification");if(F){const D=F.elements("creator");for(let G=0,U=D.length;G<U;++G){const W=D[G];if(W.hasAttributes){if(this.presentAttrsWithValue(W,"composer")){this.musicSheet.Composer=new Label(this.trimString(W.value));continue}(this.presentAttrsWithValue(W,"lyricist")||this.presentAttrsWithValue(W,"poet"))&&(this.musicSheet.Lyricist=new Label(this.trimString(W.value)))}}}}readTitleAndComposerFromCredits(R){var Q,Z;const F=this.computeSystemYCoordinates(R);if(F===0)return;let D=1,G,U=0,W,q;const Y=R.elements("credit");for(let K=0,J=Y.length;K<J;++K){const ie=Y[K];if(!ie.attribute("page"))return;if(ie.attribute("page").value==="1"){let ne;if(ie){if(ne=ie.element("credit-words"),!ne.attribute("justify"))break;const se=(Q=ne.attribute("justify"))==null?void 0:Q.value,re=(Z=ne.attribute("default-y"))==null?void 0:Z.value,ae=re!=null,le=ae?parseFloat(re):Number.MIN_VALUE;if(ae&&le>F){if(!this.musicSheet.Title){const ce=ne.attribute("font-size").value,he=parseFloat(ce);D<he&&(D=he,G=ne.value)}if(this.musicSheet.Subtitle||se!=="right"&&se!=="left"&&U<le&&(U=le,q&&(W=q),q=ne.value),!(this.musicSheet.Composer!==void 0&&this.musicSheet.Lyricist))switch(se){case"right":this.musicSheet.Composer=new Label(this.trimString(ne.value));break;case"left":this.musicSheet.Lyricist=new Label(this.trimString(ne.value));break}}}}}!this.musicSheet.Title&&G&&(this.musicSheet.Title=new Label(this.trimString(G))),!this.musicSheet.Subtitle&&W&&(this.musicSheet.Subtitle=new Label(this.trimString(W)))}computeSystemYCoordinates(R){if(!R.element("defaults"))return 0;let F=0,D=0;try{const W=R.element("defaults").element("page-layout").element("page-height").value;F=parseFloat(W)}catch{return log$2.info("MusicSheetReader.computeSystemYCoordinates(): couldn't find page height, not reading title/composer."),0}let G=!1;const U=R.elements("part");for(let W=0,q=U.length;W<q;++W){const Y=U[W].elements("measure");for(let Q=0,Z=Y.length;Q<Z;++Q){const K=Y[Q];if(K.element("print")){const J=K.element("print").elements("system-layout");for(let ie=0,ne=J.length;ie<ne;++ie){const se=J[ie];if(se.element("top-system-distance")){const re=se.element("top-system-distance").value;D=parseFloat(re),G=!0;break}}break}}if(G)break}if(R.element("defaults").element("system-layout")&&R.element("defaults").element("system-layout").element("top-system-distance")){const q=R.element("defaults").element("system-layout").element("top-system-distance").value;D=parseFloat(q)}return D===0?0:F-D}readTitle(R){const F=R.element("work");let D;F&&(D=F.element("work-title"),D&&D.value&&(this.musicSheet.Title=new Label(this.trimString(D.value))));const G=R.element("movement-title");let U="";if(G&&(this.musicSheet.Title?U=this.trimString(G.value):this.musicSheet.Title=new Label(this.trimString(G.value))),F){const W=F.element("work-number");if(W){const q=W.value;q&&(U===""?U=q:U=U+", "+q)}}U&&(this.musicSheet.Subtitle=new Label(U))}createInstrumentGroups(R){let F=0;const D={};let G;try{const U=R;for(let W=0,q=U.length;W<q;++W){const Y=U[W];if(Y.name==="score-part"){const Q=Y.attribute("id").value,Z=new Instrument(F,Q,this.musicSheet,G);F++;const K=Y.elements();for(let J=0,ie=K.length;J<ie;++J){const ne=K[J];try{if(ne.name==="part-name")Z.Name=ne.value,ne.attribute("print-object")&&ne.attribute("print-object").value==="no"&&(Z.NameLabel.print=!1);else if(ne.name==="part-abbreviation")Z.PartAbbreviation=ne.value;else if(ne.name==="score-instrument"){const se=new SubInstrument(Z);se.idString=ne.firstAttribute.value,Z.SubInstruments.push(se);const re=ne.element("instrument-name");re&&(se.name=re.value,se.setMidiInstrument(re.value))}else if(ne.name==="midi-instrument"){let se=Z.getSubInstrument(ne.firstAttribute.value);for(let ae=0,le=Z.SubInstruments.length;ae<le;++ae){const ce=Z.SubInstruments[ae];if(ce.idString===ne.value){se=ce;break}}const re=ne.elements();for(let ae=0,le=re.length;ae<le;++ae){const ce=re[ae];try{if(ce.name==="midi-channel")parseInt(ce.value,10)===10&&(Z.MidiInstrumentId=MidiInstrument.Percussion);else if(ce.name==="midi-program")Z.SubInstruments.length>0&&Z.MidiInstrumentId!==MidiInstrument.Percussion&&(se.midiInstrumentID=Math.max(0,parseInt(ce.value,10)-1));else if(ce.name==="midi-unpitched")se.fixedKey=Math.max(0,parseInt(ce.value,10));else if(ce.name==="volume")try{const he=parseFloat(ce.value);se.volume=he/127}catch(he){log$2.debug("ExpressionReader.readExpressionParameters","read volume",he)}else if(ce.name==="pan")try{const he=parseFloat(ce.value);se.pan=he/64}catch(he){log$2.debug("ExpressionReader.readExpressionParameters","read pan",he)}}catch(he){log$2.info("MusicSheetReader.createInstrumentGroups midi settings: ",he)}}}}catch(se){log$2.info("MusicSheetReader.createInstrumentGroups: ",se)}}if(Z.SubInstruments.length===0){const J=new SubInstrument(Z);Z.SubInstruments.push(J)}D[Q]=Z,G?(G.InstrumentalGroups.push(Z),this.musicSheet.Instruments.push(Z)):(this.musicSheet.InstrumentalGroups.push(Z),this.musicSheet.Instruments.push(Z))}else if(Y.name==="part-group"&&Y.attribute("type").value==="start"){const Q=new InstrumentalGroup("group",this.musicSheet,G);G?G.InstrumentalGroups.push(Q):this.musicSheet.InstrumentalGroups.push(Q),G=Q}else if(Y.name==="part-group"&&Y.attribute("type").value==="stop"&&G){if(G.InstrumentalGroups.length===1){const Q=G.InstrumentalGroups[0];G.Parent?(G.Parent.InstrumentalGroups.push(Q),this._removeFromArray(G.Parent.InstrumentalGroups,G)):(this.musicSheet.InstrumentalGroups.push(Q),this._removeFromArray(this.musicSheet.InstrumentalGroups,G))}G=G.Parent}}}catch(U){const W=ITextTranslation.translateText("ReaderErrorMessages/InstrumentError","Error while reading Instruments");throw new MusicSheetReadingException(W,U)}for(let U=0,W=this.musicSheet.Instruments.length;U<W;++U){const q=this.musicSheet.Instruments[U];q.Name||(q.Name="Instr. "+q.IdString)}return D}getCompleteNumberOfStavesFromXml(R){let F=0;for(const D of R){const G=D.elements("measure");if(G.length>0){const U=G[0];if(U){let W=U.element("attributes");W&&(W=W.element("staves")),W?F+=parseInt(W.value,10):F++}}}if(isNaN(F)||F<=0){const D=ITextTranslation.translateText("ReaderErrorMessages/StaffError","Invalid number of staves.");throw new MusicSheetReadingException(D)}return F}getInstrumentNumberOfStavesFromXml(R){let F=0;const D=R.element("measure");if(D){const G=D.element("attributes");let U;G&&(U=G.element("staves")),!G||!U?F=1:F=parseInt(U.value,10)}if(isNaN(F)||F<=0){const G=ITextTranslation.translateText("ReaderErrorMessages/StaffError","Invalid number of Staves.");throw new MusicSheetReadingException(G)}return F}}var jszip_min={exports:{}};/*!
- JSZip v3.7.1 - A JavaScript class for generating and reading zip files
- <http://stuartk.com/jszip>
- (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
- Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
- JSZip uses the library pako released under the MIT license :
- https://github.com/nodeca/pako/blob/master/LICENSE
- */(function(B,R){(function(F){B.exports=F()})(function(){return function F(D,G,U){function W(Q,Z){if(!G[Q]){if(!D[Q]){var K=typeof commonjsRequire$1=="function"&&commonjsRequire$1;if(!Z&&K)return K(Q,!0);if(q)return q(Q,!0);var J=new Error("Cannot find module '"+Q+"'");throw J.code="MODULE_NOT_FOUND",J}var ie=G[Q]={exports:{}};D[Q][0].call(ie.exports,function(ne){var se=D[Q][1][ne];return W(se||ne)},ie,ie.exports,F,D,G,U)}return G[Q].exports}for(var q=typeof commonjsRequire$1=="function"&&commonjsRequire$1,Y=0;Y<U.length;Y++)W(U[Y]);return W}({1:[function(F,D,G){var U=F("./utils"),W=F("./support"),q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";G.encode=function(Y){for(var Q,Z,K,J,ie,ne,se,re=[],ae=0,le=Y.length,ce=le,he=U.getTypeOf(Y)!=="string";ae<Y.length;)ce=le-ae,K=he?(Q=Y[ae++],Z=ae<le?Y[ae++]:0,ae<le?Y[ae++]:0):(Q=Y.charCodeAt(ae++),Z=ae<le?Y.charCodeAt(ae++):0,ae<le?Y.charCodeAt(ae++):0),J=Q>>2,ie=(3&Q)<<4|Z>>4,ne=1<ce?(15&Z)<<2|K>>6:64,se=2<ce?63&K:64,re.push(q.charAt(J)+q.charAt(ie)+q.charAt(ne)+q.charAt(se));return re.join("")},G.decode=function(Y){var Q,Z,K,J,ie,ne,se=0,re=0,ae="data:";if(Y.substr(0,ae.length)===ae)throw new Error("Invalid base64 input, it looks like a data url.");var le,ce=3*(Y=Y.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(Y.charAt(Y.length-1)===q.charAt(64)&&ce--,Y.charAt(Y.length-2)===q.charAt(64)&&ce--,ce%1!=0)throw new Error("Invalid base64 input, bad content length.");for(le=W.uint8array?new Uint8Array(0|ce):new Array(0|ce);se<Y.length;)Q=q.indexOf(Y.charAt(se++))<<2|(J=q.indexOf(Y.charAt(se++)))>>4,Z=(15&J)<<4|(ie=q.indexOf(Y.charAt(se++)))>>2,K=(3&ie)<<6|(ne=q.indexOf(Y.charAt(se++))),le[re++]=Q,ie!==64&&(le[re++]=Z),ne!==64&&(le[re++]=K);return le}},{"./support":30,"./utils":32}],2:[function(F,D,G){var U=F("./external"),W=F("./stream/DataWorker"),q=F("./stream/Crc32Probe"),Y=F("./stream/DataLengthProbe");function Q(Z,K,J,ie,ne){this.compressedSize=Z,this.uncompressedSize=K,this.crc32=J,this.compression=ie,this.compressedContent=ne}Q.prototype={getContentWorker:function(){var Z=new W(U.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new Y("data_length")),K=this;return Z.on("end",function(){if(this.streamInfo.data_length!==K.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),Z},getCompressedWorker:function(){return new W(U.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},Q.createWorkerFrom=function(Z,K,J){return Z.pipe(new q).pipe(new Y("uncompressedSize")).pipe(K.compressWorker(J)).pipe(new Y("compressedSize")).withStreamInfo("compression",K)},D.exports=Q},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(F,D,G){var U=F("./stream/GenericWorker");G.STORE={magic:"\0\0",compressWorker:function(W){return new U("STORE compression")},uncompressWorker:function(){return new U("STORE decompression")}},G.DEFLATE=F("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(F,D,G){var U=F("./utils"),W=function(){for(var q,Y=[],Q=0;Q<256;Q++){q=Q;for(var Z=0;Z<8;Z++)q=1&q?3988292384^q>>>1:q>>>1;Y[Q]=q}return Y}();D.exports=function(q,Y){return q!==void 0&&q.length?U.getTypeOf(q)!=="string"?function(Q,Z,K,J){var ie=W,ne=J+K;Q^=-1;for(var se=J;se<ne;se++)Q=Q>>>8^ie[255&(Q^Z[se])];return-1^Q}(0|Y,q,q.length,0):function(Q,Z,K,J){var ie=W,ne=J+K;Q^=-1;for(var se=J;se<ne;se++)Q=Q>>>8^ie[255&(Q^Z.charCodeAt(se))];return-1^Q}(0|Y,q,q.length,0):0}},{"./utils":32}],5:[function(F,D,G){G.base64=!1,G.binary=!1,G.dir=!1,G.createFolders=!0,G.date=null,G.compression=null,G.compressionOptions=null,G.comment=null,G.unixPermissions=null,G.dosPermissions=null},{}],6:[function(F,D,G){var U=null;U=typeof Promise!="undefined"?Promise:F("lie"),D.exports={Promise:U}},{lie:37}],7:[function(F,D,G){var U=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Uint32Array!="undefined",W=F("pako"),q=F("./utils"),Y=F("./stream/GenericWorker"),Q=U?"uint8array":"array";function Z(K,J){Y.call(this,"FlateWorker/"+K),this._pako=null,this._pakoAction=K,this._pakoOptions=J,this.meta={}}G.magic="\b\0",q.inherits(Z,Y),Z.prototype.processChunk=function(K){this.meta=K.meta,this._pako===null&&this._createPako(),this._pako.push(q.transformTo(Q,K.data),!1)},Z.prototype.flush=function(){Y.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},Z.prototype.cleanUp=function(){Y.prototype.cleanUp.call(this),this._pako=null},Z.prototype._createPako=function(){this._pako=new W[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var K=this;this._pako.onData=function(J){K.push({data:J,meta:K.meta})}},G.compressWorker=function(K){return new Z("Deflate",K)},G.uncompressWorker=function(){return new Z("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(F,D,G){function U(ie,ne){var se,re="";for(se=0;se<ne;se++)re+=String.fromCharCode(255&ie),ie>>>=8;return re}function W(ie,ne,se,re,ae,le){var ce,he,de=ie.file,me=ie.compression,fe=le!==Q.utf8encode,ge=q.transformTo("string",le(de.name)),Se=q.transformTo("string",Q.utf8encode(de.name)),Ee=de.comment,ve=q.transformTo("string",le(Ee)),xe=q.transformTo("string",Q.utf8encode(Ee)),Pe=Se.length!==de.name.length,ye=xe.length!==Ee.length,Te="",Le="",we="",Ae=de.dir,Me=de.date,ke={crc32:0,compressedSize:0,uncompressedSize:0};ne&&!se||(ke.crc32=ie.crc32,ke.compressedSize=ie.compressedSize,ke.uncompressedSize=ie.uncompressedSize);var Ne=0;ne&&(Ne|=8),fe||!Pe&&!ye||(Ne|=2048);var Ie=0,Ge=0;Ae&&(Ie|=16),ae==="UNIX"?(Ge=798,Ie|=function(Ve,Ye){var et=Ve;return Ve||(et=Ye?16893:33204),(65535&et)<<16}(de.unixPermissions,Ae)):(Ge=20,Ie|=function(Ve){return 63&(Ve||0)}(de.dosPermissions)),ce=Me.getUTCHours(),ce<<=6,ce|=Me.getUTCMinutes(),ce<<=5,ce|=Me.getUTCSeconds()/2,he=Me.getUTCFullYear()-1980,he<<=4,he|=Me.getUTCMonth()+1,he<<=5,he|=Me.getUTCDate(),Pe&&(Le=U(1,1)+U(Z(ge),4)+Se,Te+="up"+U(Le.length,2)+Le),ye&&(we=U(1,1)+U(Z(ve),4)+xe,Te+="uc"+U(we.length,2)+we);var ze="";return ze+=`
- \0`,ze+=U(Ne,2),ze+=me.magic,ze+=U(ce,2),ze+=U(he,2),ze+=U(ke.crc32,4),ze+=U(ke.compressedSize,4),ze+=U(ke.uncompressedSize,4),ze+=U(ge.length,2),ze+=U(Te.length,2),{fileRecord:K.LOCAL_FILE_HEADER+ze+ge+Te,dirRecord:K.CENTRAL_FILE_HEADER+U(Ge,2)+ze+U(ve.length,2)+"\0\0\0\0"+U(Ie,4)+U(re,4)+ge+Te+ve}}var q=F("../utils"),Y=F("../stream/GenericWorker"),Q=F("../utf8"),Z=F("../crc32"),K=F("../signature");function J(ie,ne,se,re){Y.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=ne,this.zipPlatform=se,this.encodeFileName=re,this.streamFiles=ie,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}q.inherits(J,Y),J.prototype.push=function(ie){var ne=ie.meta.percent||0,se=this.entriesCount,re=this._sources.length;this.accumulate?this.contentBuffer.push(ie):(this.bytesWritten+=ie.data.length,Y.prototype.push.call(this,{data:ie.data,meta:{currentFile:this.currentFile,percent:se?(ne+100*(se-re-1))/se:100}}))},J.prototype.openedSource=function(ie){this.currentSourceOffset=this.bytesWritten,this.currentFile=ie.file.name;var ne=this.streamFiles&&!ie.file.dir;if(ne){var se=W(ie,ne,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:se.fileRecord,meta:{percent:0}})}else this.accumulate=!0},J.prototype.closedSource=function(ie){this.accumulate=!1;var ne=this.streamFiles&&!ie.file.dir,se=W(ie,ne,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(se.dirRecord),ne)this.push({data:function(re){return K.DATA_DESCRIPTOR+U(re.crc32,4)+U(re.compressedSize,4)+U(re.uncompressedSize,4)}(ie),meta:{percent:100}});else for(this.push({data:se.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},J.prototype.flush=function(){for(var ie=this.bytesWritten,ne=0;ne<this.dirRecords.length;ne++)this.push({data:this.dirRecords[ne],meta:{percent:100}});var se=this.bytesWritten-ie,re=function(ae,le,ce,he,de){var me=q.transformTo("string",de(he));return K.CENTRAL_DIRECTORY_END+"\0\0\0\0"+U(ae,2)+U(ae,2)+U(le,4)+U(ce,4)+U(me.length,2)+me}(this.dirRecords.length,se,ie,this.zipComment,this.encodeFileName);this.push({data:re,meta:{percent:100}})},J.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},J.prototype.registerPrevious=function(ie){this._sources.push(ie);var ne=this;return ie.on("data",function(se){ne.processChunk(se)}),ie.on("end",function(){ne.closedSource(ne.previous.streamInfo),ne._sources.length?ne.prepareNextSource():ne.end()}),ie.on("error",function(se){ne.error(se)}),this},J.prototype.resume=function(){return!!Y.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},J.prototype.error=function(ie){var ne=this._sources;if(!Y.prototype.error.call(this,ie))return!1;for(var se=0;se<ne.length;se++)try{ne[se].error(ie)}catch{}return!0},J.prototype.lock=function(){Y.prototype.lock.call(this);for(var ie=this._sources,ne=0;ne<ie.length;ne++)ie[ne].lock()},D.exports=J},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(F,D,G){var U=F("../compressions"),W=F("./ZipFileWorker");G.generateWorker=function(q,Y,Q){var Z=new W(Y.streamFiles,Q,Y.platform,Y.encodeFileName),K=0;try{q.forEach(function(J,ie){K++;var ne=function(le,ce){var he=le||ce,de=U[he];if(!de)throw new Error(he+" is not a valid compression method !");return de}(ie.options.compression,Y.compression),se=ie.options.compressionOptions||Y.compressionOptions||{},re=ie.dir,ae=ie.date;ie._compressWorker(ne,se).withStreamInfo("file",{name:J,dir:re,date:ae,comment:ie.comment||"",unixPermissions:ie.unixPermissions,dosPermissions:ie.dosPermissions}).pipe(Z)}),Z.entriesCount=K}catch(J){Z.error(J)}return Z}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(F,D,G){function U(){if(!(this instanceof U))return new U;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var W=new U;for(var q in this)typeof this[q]!="function"&&(W[q]=this[q]);return W}}(U.prototype=F("./object")).loadAsync=F("./load"),U.support=F("./support"),U.defaults=F("./defaults"),U.version="3.7.1",U.loadAsync=function(W,q){return new U().loadAsync(W,q)},U.external=F("./external"),D.exports=U},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(F,D,G){var U=F("./utils"),W=F("./external"),q=F("./utf8"),Y=F("./zipEntries"),Q=F("./stream/Crc32Probe"),Z=F("./nodejsUtils");function K(J){return new W.Promise(function(ie,ne){var se=J.decompressed.getContentWorker().pipe(new Q);se.on("error",function(re){ne(re)}).on("end",function(){se.streamInfo.crc32!==J.decompressed.crc32?ne(new Error("Corrupted zip : CRC32 mismatch")):ie()}).resume()})}D.exports=function(J,ie){var ne=this;return ie=U.extend(ie||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:q.utf8decode}),Z.isNode&&Z.isStream(J)?W.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):U.prepareContent("the loaded zip file",J,!0,ie.optimizedBinaryString,ie.base64).then(function(se){var re=new Y(ie);return re.load(se),re}).then(function(se){var re=[W.Promise.resolve(se)],ae=se.files;if(ie.checkCRC32)for(var le=0;le<ae.length;le++)re.push(K(ae[le]));return W.Promise.all(re)}).then(function(se){for(var re=se.shift(),ae=re.files,le=0;le<ae.length;le++){var ce=ae[le];ne.file(ce.fileNameStr,ce.decompressed,{binary:!0,optimizedBinaryString:!0,date:ce.date,dir:ce.dir,comment:ce.fileCommentStr.length?ce.fileCommentStr:null,unixPermissions:ce.unixPermissions,dosPermissions:ce.dosPermissions,createFolders:ie.createFolders})}return re.zipComment.length&&(ne.comment=re.zipComment),ne})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(F,D,G){var U=F("../utils"),W=F("../stream/GenericWorker");function q(Y,Q){W.call(this,"Nodejs stream input adapter for "+Y),this._upstreamEnded=!1,this._bindStream(Q)}U.inherits(q,W),q.prototype._bindStream=function(Y){var Q=this;(this._stream=Y).pause(),Y.on("data",function(Z){Q.push({data:Z,meta:{percent:0}})}).on("error",function(Z){Q.isPaused?this.generatedError=Z:Q.error(Z)}).on("end",function(){Q.isPaused?Q._upstreamEnded=!0:Q.end()})},q.prototype.pause=function(){return!!W.prototype.pause.call(this)&&(this._stream.pause(),!0)},q.prototype.resume=function(){return!!W.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},D.exports=q},{"../stream/GenericWorker":28,"../utils":32}],13:[function(F,D,G){var U=F("readable-stream").Readable;function W(q,Y,Q){U.call(this,Y),this._helper=q;var Z=this;q.on("data",function(K,J){Z.push(K)||Z._helper.pause(),Q&&Q(J)}).on("error",function(K){Z.emit("error",K)}).on("end",function(){Z.push(null)})}F("../utils").inherits(W,U),W.prototype._read=function(){this._helper.resume()},D.exports=W},{"../utils":32,"readable-stream":16}],14:[function(F,D,G){D.exports={isNode:typeof Buffer!="undefined",newBufferFrom:function(U,W){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(U,W);if(typeof U=="number")throw new Error('The "data" argument must not be a number');return new Buffer(U,W)},allocBuffer:function(U){if(Buffer.alloc)return Buffer.alloc(U);var W=new Buffer(U);return W.fill(0),W},isBuffer:function(U){return Buffer.isBuffer(U)},isStream:function(U){return U&&typeof U.on=="function"&&typeof U.pause=="function"&&typeof U.resume=="function"}}},{}],15:[function(F,D,G){function U(de,me,fe){var ge,Se=q.getTypeOf(me),Ee=q.extend(fe||{},Z);Ee.date=Ee.date||new Date,Ee.compression!==null&&(Ee.compression=Ee.compression.toUpperCase()),typeof Ee.unixPermissions=="string"&&(Ee.unixPermissions=parseInt(Ee.unixPermissions,8)),Ee.unixPermissions&&16384&Ee.unixPermissions&&(Ee.dir=!0),Ee.dosPermissions&&16&Ee.dosPermissions&&(Ee.dir=!0),Ee.dir&&(de=ae(de)),Ee.createFolders&&(ge=re(de))&&le.call(this,ge,!0);var ve=Se==="string"&&Ee.binary===!1&&Ee.base64===!1;fe&&fe.binary!==void 0||(Ee.binary=!ve),(me instanceof K&&me.uncompressedSize===0||Ee.dir||!me||me.length===0)&&(Ee.base64=!1,Ee.binary=!0,me="",Ee.compression="STORE",Se="string");var xe=null;xe=me instanceof K||me instanceof Y?me:ne.isNode&&ne.isStream(me)?new se(de,me):q.prepareContent(de,me,Ee.binary,Ee.optimizedBinaryString,Ee.base64);var Pe=new J(de,xe,Ee);this.files[de]=Pe}var W=F("./utf8"),q=F("./utils"),Y=F("./stream/GenericWorker"),Q=F("./stream/StreamHelper"),Z=F("./defaults"),K=F("./compressedObject"),J=F("./zipObject"),ie=F("./generate"),ne=F("./nodejsUtils"),se=F("./nodejs/NodejsStreamInputAdapter"),re=function(de){de.slice(-1)==="/"&&(de=de.substring(0,de.length-1));var me=de.lastIndexOf("/");return 0<me?de.substring(0,me):""},ae=function(de){return de.slice(-1)!=="/"&&(de+="/"),de},le=function(de,me){return me=me!==void 0?me:Z.createFolders,de=ae(de),this.files[de]||U.call(this,de,null,{dir:!0,createFolders:me}),this.files[de]};function ce(de){return Object.prototype.toString.call(de)==="[object RegExp]"}var he={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(de){var me,fe,ge;for(me in this.files)ge=this.files[me],(fe=me.slice(this.root.length,me.length))&&me.slice(0,this.root.length)===this.root&&de(fe,ge)},filter:function(de){var me=[];return this.forEach(function(fe,ge){de(fe,ge)&&me.push(ge)}),me},file:function(de,me,fe){if(arguments.length!==1)return de=this.root+de,U.call(this,de,me,fe),this;if(ce(de)){var ge=de;return this.filter(function(Ee,ve){return!ve.dir&&ge.test(Ee)})}var Se=this.files[this.root+de];return Se&&!Se.dir?Se:null},folder:function(de){if(!de)return this;if(ce(de))return this.filter(function(Se,Ee){return Ee.dir&&de.test(Se)});var me=this.root+de,fe=le.call(this,me),ge=this.clone();return ge.root=fe.name,ge},remove:function(de){de=this.root+de;var me=this.files[de];if(me||(de.slice(-1)!=="/"&&(de+="/"),me=this.files[de]),me&&!me.dir)delete this.files[de];else for(var fe=this.filter(function(Se,Ee){return Ee.name.slice(0,de.length)===de}),ge=0;ge<fe.length;ge++)delete this.files[fe[ge].name];return this},generate:function(de){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(de){var me,fe={};try{if((fe=q.extend(de||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:W.utf8encode})).type=fe.type.toLowerCase(),fe.compression=fe.compression.toUpperCase(),fe.type==="binarystring"&&(fe.type="string"),!fe.type)throw new Error("No output type specified.");q.checkSupport(fe.type),fe.platform!=="darwin"&&fe.platform!=="freebsd"&&fe.platform!=="linux"&&fe.platform!=="sunos"||(fe.platform="UNIX"),fe.platform==="win32"&&(fe.platform="DOS");var ge=fe.comment||this.comment||"";me=ie.generateWorker(this,fe,ge)}catch(Se){(me=new Y("error")).error(Se)}return new Q(me,fe.type||"string",fe.mimeType)},generateAsync:function(de,me){return this.generateInternalStream(de).accumulate(me)},generateNodeStream:function(de,me){return(de=de||{}).type||(de.type="nodebuffer"),this.generateInternalStream(de).toNodejsStream(me)}};D.exports=he},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(F,D,G){D.exports=F("stream")},{stream:void 0}],17:[function(F,D,G){var U=F("./DataReader");function W(q){U.call(this,q);for(var Y=0;Y<this.data.length;Y++)q[Y]=255&q[Y]}F("../utils").inherits(W,U),W.prototype.byteAt=function(q){return this.data[this.zero+q]},W.prototype.lastIndexOfSignature=function(q){for(var Y=q.charCodeAt(0),Q=q.charCodeAt(1),Z=q.charCodeAt(2),K=q.charCodeAt(3),J=this.length-4;0<=J;--J)if(this.data[J]===Y&&this.data[J+1]===Q&&this.data[J+2]===Z&&this.data[J+3]===K)return J-this.zero;return-1},W.prototype.readAndCheckSignature=function(q){var Y=q.charCodeAt(0),Q=q.charCodeAt(1),Z=q.charCodeAt(2),K=q.charCodeAt(3),J=this.readData(4);return Y===J[0]&&Q===J[1]&&Z===J[2]&&K===J[3]},W.prototype.readData=function(q){if(this.checkOffset(q),q===0)return[];var Y=this.data.slice(this.zero+this.index,this.zero+this.index+q);return this.index+=q,Y},D.exports=W},{"../utils":32,"./DataReader":18}],18:[function(F,D,G){var U=F("../utils");function W(q){this.data=q,this.length=q.length,this.index=0,this.zero=0}W.prototype={checkOffset:function(q){this.checkIndex(this.index+q)},checkIndex:function(q){if(this.length<this.zero+q||q<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+q+"). Corrupted zip ?")},setIndex:function(q){this.checkIndex(q),this.index=q},skip:function(q){this.setIndex(this.index+q)},byteAt:function(q){},readInt:function(q){var Y,Q=0;for(this.checkOffset(q),Y=this.index+q-1;Y>=this.index;Y--)Q=(Q<<8)+this.byteAt(Y);return this.index+=q,Q},readString:function(q){return U.transformTo("string",this.readData(q))},readData:function(q){},lastIndexOfSignature:function(q){},readAndCheckSignature:function(q){},readDate:function(){var q=this.readInt(4);return new Date(Date.UTC(1980+(q>>25&127),(q>>21&15)-1,q>>16&31,q>>11&31,q>>5&63,(31&q)<<1))}},D.exports=W},{"../utils":32}],19:[function(F,D,G){var U=F("./Uint8ArrayReader");function W(q){U.call(this,q)}F("../utils").inherits(W,U),W.prototype.readData=function(q){this.checkOffset(q);var Y=this.data.slice(this.zero+this.index,this.zero+this.index+q);return this.index+=q,Y},D.exports=W},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(F,D,G){var U=F("./DataReader");function W(q){U.call(this,q)}F("../utils").inherits(W,U),W.prototype.byteAt=function(q){return this.data.charCodeAt(this.zero+q)},W.prototype.lastIndexOfSignature=function(q){return this.data.lastIndexOf(q)-this.zero},W.prototype.readAndCheckSignature=function(q){return q===this.readData(4)},W.prototype.readData=function(q){this.checkOffset(q);var Y=this.data.slice(this.zero+this.index,this.zero+this.index+q);return this.index+=q,Y},D.exports=W},{"../utils":32,"./DataReader":18}],21:[function(F,D,G){var U=F("./ArrayReader");function W(q){U.call(this,q)}F("../utils").inherits(W,U),W.prototype.readData=function(q){if(this.checkOffset(q),q===0)return new Uint8Array(0);var Y=this.data.subarray(this.zero+this.index,this.zero+this.index+q);return this.index+=q,Y},D.exports=W},{"../utils":32,"./ArrayReader":17}],22:[function(F,D,G){var U=F("../utils"),W=F("../support"),q=F("./ArrayReader"),Y=F("./StringReader"),Q=F("./NodeBufferReader"),Z=F("./Uint8ArrayReader");D.exports=function(K){var J=U.getTypeOf(K);return U.checkSupport(J),J!=="string"||W.uint8array?J==="nodebuffer"?new Q(K):W.uint8array?new Z(U.transformTo("uint8array",K)):new q(U.transformTo("array",K)):new Y(K)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(F,D,G){G.LOCAL_FILE_HEADER="PK",G.CENTRAL_FILE_HEADER="PK",G.CENTRAL_DIRECTORY_END="PK",G.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",G.ZIP64_CENTRAL_DIRECTORY_END="PK",G.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(F,D,G){var U=F("./GenericWorker"),W=F("../utils");function q(Y){U.call(this,"ConvertWorker to "+Y),this.destType=Y}W.inherits(q,U),q.prototype.processChunk=function(Y){this.push({data:W.transformTo(this.destType,Y.data),meta:Y.meta})},D.exports=q},{"../utils":32,"./GenericWorker":28}],25:[function(F,D,G){var U=F("./GenericWorker"),W=F("../crc32");function q(){U.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}F("../utils").inherits(q,U),q.prototype.processChunk=function(Y){this.streamInfo.crc32=W(Y.data,this.streamInfo.crc32||0),this.push(Y)},D.exports=q},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(F,D,G){var U=F("../utils"),W=F("./GenericWorker");function q(Y){W.call(this,"DataLengthProbe for "+Y),this.propName=Y,this.withStreamInfo(Y,0)}U.inherits(q,W),q.prototype.processChunk=function(Y){if(Y){var Q=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=Q+Y.data.length}W.prototype.processChunk.call(this,Y)},D.exports=q},{"../utils":32,"./GenericWorker":28}],27:[function(F,D,G){var U=F("../utils"),W=F("./GenericWorker");function q(Y){W.call(this,"DataWorker");var Q=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,Y.then(function(Z){Q.dataIsReady=!0,Q.data=Z,Q.max=Z&&Z.length||0,Q.type=U.getTypeOf(Z),Q.isPaused||Q._tickAndRepeat()},function(Z){Q.error(Z)})}U.inherits(q,W),q.prototype.cleanUp=function(){W.prototype.cleanUp.call(this),this.data=null},q.prototype.resume=function(){return!!W.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,U.delay(this._tickAndRepeat,[],this)),!0)},q.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(U.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},q.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var Y=null,Q=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":Y=this.data.substring(this.index,Q);break;case"uint8array":Y=this.data.subarray(this.index,Q);break;case"array":case"nodebuffer":Y=this.data.slice(this.index,Q)}return this.index=Q,this.push({data:Y,meta:{percent:this.max?this.index/this.max*100:0}})},D.exports=q},{"../utils":32,"./GenericWorker":28}],28:[function(F,D,G){function U(W){this.name=W||"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}U.prototype={push:function(W){this.emit("data",W)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(W){this.emit("error",W)}return!0},error:function(W){return!this.isFinished&&(this.isPaused?this.generatedError=W:(this.isFinished=!0,this.emit("error",W),this.previous&&this.previous.error(W),this.cleanUp()),!0)},on:function(W,q){return this._listeners[W].push(q),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(W,q){if(this._listeners[W])for(var Y=0;Y<this._listeners[W].length;Y++)this._listeners[W][Y].call(this,q)},pipe:function(W){return W.registerPrevious(this)},registerPrevious:function(W){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=W.streamInfo,this.mergeStreamInfo(),this.previous=W;var q=this;return W.on("data",function(Y){q.processChunk(Y)}),W.on("end",function(){q.end()}),W.on("error",function(Y){q.error(Y)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var W=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),W=!0),this.previous&&this.previous.resume(),!W},flush:function(){},processChunk:function(W){this.push(W)},withStreamInfo:function(W,q){return this.extraStreamInfo[W]=q,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var W in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(W)&&(this.streamInfo[W]=this.extraStreamInfo[W])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var W="Worker "+this.name;return this.previous?this.previous+" -> "+W:W}},D.exports=U},{}],29:[function(F,D,G){var U=F("../utils"),W=F("./ConvertWorker"),q=F("./GenericWorker"),Y=F("../base64"),Q=F("../support"),Z=F("../external"),K=null;if(Q.nodestream)try{K=F("../nodejs/NodejsStreamOutputAdapter")}catch{}function J(ne,se){return new Z.Promise(function(re,ae){var le=[],ce=ne._internalType,he=ne._outputType,de=ne._mimeType;ne.on("data",function(me,fe){le.push(me),se&&se(fe)}).on("error",function(me){le=[],ae(me)}).on("end",function(){try{var me=function(fe,ge,Se){switch(fe){case"blob":return U.newBlob(U.transformTo("arraybuffer",ge),Se);case"base64":return Y.encode(ge);default:return U.transformTo(fe,ge)}}(he,function(fe,ge){var Se,Ee=0,ve=null,xe=0;for(Se=0;Se<ge.length;Se++)xe+=ge[Se].length;switch(fe){case"string":return ge.join("");case"array":return Array.prototype.concat.apply([],ge);case"uint8array":for(ve=new Uint8Array(xe),Se=0;Se<ge.length;Se++)ve.set(ge[Se],Ee),Ee+=ge[Se].length;return ve;case"nodebuffer":return Buffer.concat(ge);default:throw new Error("concat : unsupported type '"+fe+"'")}}(ce,le),de);re(me)}catch(fe){ae(fe)}le=[]}).resume()})}function ie(ne,se,re){var ae=se;switch(se){case"blob":case"arraybuffer":ae="uint8array";break;case"base64":ae="string"}try{this._internalType=ae,this._outputType=se,this._mimeType=re,U.checkSupport(ae),this._worker=ne.pipe(new W(ae)),ne.lock()}catch(le){this._worker=new q("error"),this._worker.error(le)}}ie.prototype={accumulate:function(ne){return J(this,ne)},on:function(ne,se){var re=this;return ne==="data"?this._worker.on(ne,function(ae){se.call(re,ae.data,ae.meta)}):this._worker.on(ne,function(){U.delay(se,arguments,re)}),this},resume:function(){return U.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(ne){if(U.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new K(this,{objectMode:this._outputType!=="nodebuffer"},ne)}},D.exports=ie},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(F,D,G){if(G.base64=!0,G.array=!0,G.string=!0,G.arraybuffer=typeof ArrayBuffer!="undefined"&&typeof Uint8Array!="undefined",G.nodebuffer=typeof Buffer!="undefined",G.uint8array=typeof Uint8Array!="undefined",typeof ArrayBuffer=="undefined")G.blob=!1;else{var U=new ArrayBuffer(0);try{G.blob=new Blob([U],{type:"application/zip"}).size===0}catch{try{var W=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);W.append(U),G.blob=W.getBlob("application/zip").size===0}catch{G.blob=!1}}}try{G.nodestream=!!F("readable-stream").Readable}catch{G.nodestream=!1}},{"readable-stream":16}],31:[function(F,D,G){for(var U=F("./utils"),W=F("./support"),q=F("./nodejsUtils"),Y=F("./stream/GenericWorker"),Q=new Array(256),Z=0;Z<256;Z++)Q[Z]=252<=Z?6:248<=Z?5:240<=Z?4:224<=Z?3:192<=Z?2:1;Q[254]=Q[254]=1;function K(){Y.call(this,"utf-8 decode"),this.leftOver=null}function J(){Y.call(this,"utf-8 encode")}G.utf8encode=function(ie){return W.nodebuffer?q.newBufferFrom(ie,"utf-8"):function(ne){var se,re,ae,le,ce,he=ne.length,de=0;for(le=0;le<he;le++)(64512&(re=ne.charCodeAt(le)))==55296&&le+1<he&&(64512&(ae=ne.charCodeAt(le+1)))==56320&&(re=65536+(re-55296<<10)+(ae-56320),le++),de+=re<128?1:re<2048?2:re<65536?3:4;for(se=W.uint8array?new Uint8Array(de):new Array(de),le=ce=0;ce<de;le++)(64512&(re=ne.charCodeAt(le)))==55296&&le+1<he&&(64512&(ae=ne.charCodeAt(le+1)))==56320&&(re=65536+(re-55296<<10)+(ae-56320),le++),re<128?se[ce++]=re:(re<2048?se[ce++]=192|re>>>6:(re<65536?se[ce++]=224|re>>>12:(se[ce++]=240|re>>>18,se[ce++]=128|re>>>12&63),se[ce++]=128|re>>>6&63),se[ce++]=128|63&re);return se}(ie)},G.utf8decode=function(ie){return W.nodebuffer?U.transformTo("nodebuffer",ie).toString("utf-8"):function(ne){var se,re,ae,le,ce=ne.length,he=new Array(2*ce);for(se=re=0;se<ce;)if((ae=ne[se++])<128)he[re++]=ae;else if(4<(le=Q[ae]))he[re++]=65533,se+=le-1;else{for(ae&=le===2?31:le===3?15:7;1<le&&se<ce;)ae=ae<<6|63&ne[se++],le--;1<le?he[re++]=65533:ae<65536?he[re++]=ae:(ae-=65536,he[re++]=55296|ae>>10&1023,he[re++]=56320|1023&ae)}return he.length!==re&&(he.subarray?he=he.subarray(0,re):he.length=re),U.applyFromCharCode(he)}(ie=U.transformTo(W.uint8array?"uint8array":"array",ie))},U.inherits(K,Y),K.prototype.processChunk=function(ie){var ne=U.transformTo(W.uint8array?"uint8array":"array",ie.data);if(this.leftOver&&this.leftOver.length){if(W.uint8array){var se=ne;(ne=new Uint8Array(se.length+this.leftOver.length)).set(this.leftOver,0),ne.set(se,this.leftOver.length)}else ne=this.leftOver.concat(ne);this.leftOver=null}var re=function(le,ce){var he;for((ce=ce||le.length)>le.length&&(ce=le.length),he=ce-1;0<=he&&(192&le[he])==128;)he--;return he<0||he===0?ce:he+Q[le[he]]>ce?he:ce}(ne),ae=ne;re!==ne.length&&(W.uint8array?(ae=ne.subarray(0,re),this.leftOver=ne.subarray(re,ne.length)):(ae=ne.slice(0,re),this.leftOver=ne.slice(re,ne.length))),this.push({data:G.utf8decode(ae),meta:ie.meta})},K.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:G.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},G.Utf8DecodeWorker=K,U.inherits(J,Y),J.prototype.processChunk=function(ie){this.push({data:G.utf8encode(ie.data),meta:ie.meta})},G.Utf8EncodeWorker=J},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(F,D,G){var U=F("./support"),W=F("./base64"),q=F("./nodejsUtils"),Y=F("set-immediate-shim"),Q=F("./external");function Z(re){return re}function K(re,ae){for(var le=0;le<re.length;++le)ae[le]=255&re.charCodeAt(le);return ae}G.newBlob=function(re,ae){G.checkSupport("blob");try{return new Blob([re],{type:ae})}catch{try{var le=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return le.append(re),le.getBlob(ae)}catch{throw new Error("Bug : can't construct the Blob.")}}};var J={stringifyByChunk:function(re,ae,le){var ce=[],he=0,de=re.length;if(de<=le)return String.fromCharCode.apply(null,re);for(;he<de;)ae==="array"||ae==="nodebuffer"?ce.push(String.fromCharCode.apply(null,re.slice(he,Math.min(he+le,de)))):ce.push(String.fromCharCode.apply(null,re.subarray(he,Math.min(he+le,de)))),he+=le;return ce.join("")},stringifyByChar:function(re){for(var ae="",le=0;le<re.length;le++)ae+=String.fromCharCode(re[le]);return ae},applyCanBeUsed:{uint8array:function(){try{return U.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}}(),nodebuffer:function(){try{return U.nodebuffer&&String.fromCharCode.apply(null,q.allocBuffer(1)).length===1}catch{return!1}}()}};function ie(re){var ae=65536,le=G.getTypeOf(re),ce=!0;if(le==="uint8array"?ce=J.applyCanBeUsed.uint8array:le==="nodebuffer"&&(ce=J.applyCanBeUsed.nodebuffer),ce)for(;1<ae;)try{return J.stringifyByChunk(re,le,ae)}catch{ae=Math.floor(ae/2)}return J.stringifyByChar(re)}function ne(re,ae){for(var le=0;le<re.length;le++)ae[le]=re[le];return ae}G.applyFromCharCode=ie;var se={};se.string={string:Z,array:function(re){return K(re,new Array(re.length))},arraybuffer:function(re){return se.string.uint8array(re).buffer},uint8array:function(re){return K(re,new Uint8Array(re.length))},nodebuffer:function(re){return K(re,q.allocBuffer(re.length))}},se.array={string:ie,array:Z,arraybuffer:function(re){return new Uint8Array(re).buffer},uint8array:function(re){return new Uint8Array(re)},nodebuffer:function(re){return q.newBufferFrom(re)}},se.arraybuffer={string:function(re){return ie(new Uint8Array(re))},array:function(re){return ne(new Uint8Array(re),new Array(re.byteLength))},arraybuffer:Z,uint8array:function(re){return new Uint8Array(re)},nodebuffer:function(re){return q.newBufferFrom(new Uint8Array(re))}},se.uint8array={string:ie,array:function(re){return ne(re,new Array(re.length))},arraybuffer:function(re){return re.buffer},uint8array:Z,nodebuffer:function(re){return q.newBufferFrom(re)}},se.nodebuffer={string:ie,array:function(re){return ne(re,new Array(re.length))},arraybuffer:function(re){return se.nodebuffer.uint8array(re).buffer},uint8array:function(re){return ne(re,new Uint8Array(re.length))},nodebuffer:Z},G.transformTo=function(re,ae){if(ae=ae||"",!re)return ae;G.checkSupport(re);var le=G.getTypeOf(ae);return se[le][re](ae)},G.getTypeOf=function(re){return typeof re=="string"?"string":Object.prototype.toString.call(re)==="[object Array]"?"array":U.nodebuffer&&q.isBuffer(re)?"nodebuffer":U.uint8array&&re instanceof Uint8Array?"uint8array":U.arraybuffer&&re instanceof ArrayBuffer?"arraybuffer":void 0},G.checkSupport=function(re){if(!U[re.toLowerCase()])throw new Error(re+" is not supported by this platform")},G.MAX_VALUE_16BITS=65535,G.MAX_VALUE_32BITS=-1,G.pretty=function(re){var ae,le,ce="";for(le=0;le<(re||"").length;le++)ce+="\\x"+((ae=re.charCodeAt(le))<16?"0":"")+ae.toString(16).toUpperCase();return ce},G.delay=function(re,ae,le){Y(function(){re.apply(le||null,ae||[])})},G.inherits=function(re,ae){function le(){}le.prototype=ae.prototype,re.prototype=new le},G.extend=function(){var re,ae,le={};for(re=0;re<arguments.length;re++)for(ae in arguments[re])arguments[re].hasOwnProperty(ae)&&le[ae]===void 0&&(le[ae]=arguments[re][ae]);return le},G.prepareContent=function(re,ae,le,ce,he){return Q.Promise.resolve(ae).then(function(de){return U.blob&&(de instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(de))!==-1)&&typeof FileReader!="undefined"?new Q.Promise(function(me,fe){var ge=new FileReader;ge.onload=function(Se){me(Se.target.result)},ge.onerror=function(Se){fe(Se.target.error)},ge.readAsArrayBuffer(de)}):de}).then(function(de){var me=G.getTypeOf(de);return me?(me==="arraybuffer"?de=G.transformTo("uint8array",de):me==="string"&&(he?de=W.decode(de):le&&ce!==!0&&(de=function(fe){return K(fe,U.uint8array?new Uint8Array(fe.length):new Array(fe.length))}(de))),de):Q.Promise.reject(new Error("Can't read the data of '"+re+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(F,D,G){var U=F("./reader/readerFor"),W=F("./utils"),q=F("./signature"),Y=F("./zipEntry"),Q=(F("./utf8"),F("./support"));function Z(K){this.files=[],this.loadOptions=K}Z.prototype={checkSignature:function(K){if(!this.reader.readAndCheckSignature(K)){this.reader.index-=4;var J=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+W.pretty(J)+", expected "+W.pretty(K)+")")}},isSignature:function(K,J){var ie=this.reader.index;this.reader.setIndex(K);var ne=this.reader.readString(4)===J;return this.reader.setIndex(ie),ne},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var K=this.reader.readData(this.zipCommentLength),J=Q.uint8array?"uint8array":"array",ie=W.transformTo(J,K);this.zipComment=this.loadOptions.decodeFileName(ie)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var K,J,ie,ne=this.zip64EndOfCentralSize-44;0<ne;)K=this.reader.readInt(2),J=this.reader.readInt(4),ie=this.reader.readData(J),this.zip64ExtensibleData[K]={id:K,length:J,value:ie}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var K,J;for(K=0;K<this.files.length;K++)J=this.files[K],this.reader.setIndex(J.localHeaderOffset),this.checkSignature(q.LOCAL_FILE_HEADER),J.readLocalPart(this.reader),J.handleUTF8(),J.processAttributes()},readCentralDir:function(){var K;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(q.CENTRAL_FILE_HEADER);)(K=new Y({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(K);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var K=this.reader.lastIndexOfSignature(q.CENTRAL_DIRECTORY_END);if(K<0)throw this.isSignature(0,q.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(K);var J=K;if(this.checkSignature(q.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===W.MAX_VALUE_16BITS||this.diskWithCentralDirStart===W.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===W.MAX_VALUE_16BITS||this.centralDirRecords===W.MAX_VALUE_16BITS||this.centralDirSize===W.MAX_VALUE_32BITS||this.centralDirOffset===W.MAX_VALUE_32BITS){if(this.zip64=!0,(K=this.reader.lastIndexOfSignature(q.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(K),this.checkSignature(q.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,q.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(q.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(q.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var ie=this.centralDirOffset+this.centralDirSize;this.zip64&&(ie+=20,ie+=12+this.zip64EndOfCentralSize);var ne=J-ie;if(0<ne)this.isSignature(J,q.CENTRAL_FILE_HEADER)||(this.reader.zero=ne);else if(ne<0)throw new Error("Corrupted zip: missing "+Math.abs(ne)+" bytes.")},prepareReader:function(K){this.reader=U(K)},load:function(K){this.prepareReader(K),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},D.exports=Z},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(F,D,G){var U=F("./reader/readerFor"),W=F("./utils"),q=F("./compressedObject"),Y=F("./crc32"),Q=F("./utf8"),Z=F("./compressions"),K=F("./support");function J(ie,ne){this.options=ie,this.loadOptions=ne}J.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(ie){var ne,se;if(ie.skip(22),this.fileNameLength=ie.readInt(2),se=ie.readInt(2),this.fileName=ie.readData(this.fileNameLength),ie.skip(se),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((ne=function(re){for(var ae in Z)if(Z.hasOwnProperty(ae)&&Z[ae].magic===re)return Z[ae];return null}(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+W.pretty(this.compressionMethod)+" unknown (inner file : "+W.transformTo("string",this.fileName)+")");this.decompressed=new q(this.compressedSize,this.uncompressedSize,this.crc32,ne,ie.readData(this.compressedSize))},readCentralPart:function(ie){this.versionMadeBy=ie.readInt(2),ie.skip(2),this.bitFlag=ie.readInt(2),this.compressionMethod=ie.readString(2),this.date=ie.readDate(),this.crc32=ie.readInt(4),this.compressedSize=ie.readInt(4),this.uncompressedSize=ie.readInt(4);var ne=ie.readInt(2);if(this.extraFieldsLength=ie.readInt(2),this.fileCommentLength=ie.readInt(2),this.diskNumberStart=ie.readInt(2),this.internalFileAttributes=ie.readInt(2),this.externalFileAttributes=ie.readInt(4),this.localHeaderOffset=ie.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");ie.skip(ne),this.readExtraFields(ie),this.parseZIP64ExtraField(ie),this.fileComment=ie.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var ie=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),ie==0&&(this.dosPermissions=63&this.externalFileAttributes),ie==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(ie){if(this.extraFields[1]){var ne=U(this.extraFields[1].value);this.uncompressedSize===W.MAX_VALUE_32BITS&&(this.uncompressedSize=ne.readInt(8)),this.compressedSize===W.MAX_VALUE_32BITS&&(this.compressedSize=ne.readInt(8)),this.localHeaderOffset===W.MAX_VALUE_32BITS&&(this.localHeaderOffset=ne.readInt(8)),this.diskNumberStart===W.MAX_VALUE_32BITS&&(this.diskNumberStart=ne.readInt(4))}},readExtraFields:function(ie){var ne,se,re,ae=ie.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});ie.index+4<ae;)ne=ie.readInt(2),se=ie.readInt(2),re=ie.readData(se),this.extraFields[ne]={id:ne,length:se,value:re};ie.setIndex(ae)},handleUTF8:function(){var ie=K.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=Q.utf8decode(this.fileName),this.fileCommentStr=Q.utf8decode(this.fileComment);else{var ne=this.findExtraFieldUnicodePath();if(ne!==null)this.fileNameStr=ne;else{var se=W.transformTo(ie,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(se)}var re=this.findExtraFieldUnicodeComment();if(re!==null)this.fileCommentStr=re;else{var ae=W.transformTo(ie,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(ae)}}},findExtraFieldUnicodePath:function(){var ie=this.extraFields[28789];if(ie){var ne=U(ie.value);return ne.readInt(1)!==1||Y(this.fileName)!==ne.readInt(4)?null:Q.utf8decode(ne.readData(ie.length-5))}return null},findExtraFieldUnicodeComment:function(){var ie=this.extraFields[25461];if(ie){var ne=U(ie.value);return ne.readInt(1)!==1||Y(this.fileComment)!==ne.readInt(4)?null:Q.utf8decode(ne.readData(ie.length-5))}return null}},D.exports=J},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(F,D,G){function U(ne,se,re){this.name=ne,this.dir=re.dir,this.date=re.date,this.comment=re.comment,this.unixPermissions=re.unixPermissions,this.dosPermissions=re.dosPermissions,this._data=se,this._dataBinary=re.binary,this.options={compression:re.compression,compressionOptions:re.compressionOptions}}var W=F("./stream/StreamHelper"),q=F("./stream/DataWorker"),Y=F("./utf8"),Q=F("./compressedObject"),Z=F("./stream/GenericWorker");U.prototype={internalStream:function(ne){var se=null,re="string";try{if(!ne)throw new Error("No output type specified.");var ae=(re=ne.toLowerCase())==="string"||re==="text";re!=="binarystring"&&re!=="text"||(re="string"),se=this._decompressWorker();var le=!this._dataBinary;le&&!ae&&(se=se.pipe(new Y.Utf8EncodeWorker)),!le&&ae&&(se=se.pipe(new Y.Utf8DecodeWorker))}catch(ce){(se=new Z("error")).error(ce)}return new W(se,re,"")},async:function(ne,se){return this.internalStream(ne).accumulate(se)},nodeStream:function(ne,se){return this.internalStream(ne||"nodebuffer").toNodejsStream(se)},_compressWorker:function(ne,se){if(this._data instanceof Q&&this._data.compression.magic===ne.magic)return this._data.getCompressedWorker();var re=this._decompressWorker();return this._dataBinary||(re=re.pipe(new Y.Utf8EncodeWorker)),Q.createWorkerFrom(re,ne,se)},_decompressWorker:function(){return this._data instanceof Q?this._data.getContentWorker():this._data instanceof Z?this._data:new q(this._data)}};for(var K=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],J=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},ie=0;ie<K.length;ie++)U.prototype[K[ie]]=J;D.exports=U},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(F,D,G){(function(U){var W,q,Y=U.MutationObserver||U.WebKitMutationObserver;if(Y){var Q=0,Z=new Y(ne),K=U.document.createTextNode("");Z.observe(K,{characterData:!0}),W=function(){K.data=Q=++Q%2}}else if(U.setImmediate||U.MessageChannel===void 0)W="document"in U&&"onreadystatechange"in U.document.createElement("script")?function(){var se=U.document.createElement("script");se.onreadystatechange=function(){ne(),se.onreadystatechange=null,se.parentNode.removeChild(se),se=null},U.document.documentElement.appendChild(se)}:function(){setTimeout(ne,0)};else{var J=new U.MessageChannel;J.port1.onmessage=ne,W=function(){J.port2.postMessage(0)}}var ie=[];function ne(){var se,re;q=!0;for(var ae=ie.length;ae;){for(re=ie,ie=[],se=-1;++se<ae;)re[se]();ae=ie.length}q=!1}D.exports=function(se){ie.push(se)!==1||q||W()}}).call(this,typeof commonjsGlobal$2!="undefined"?commonjsGlobal$2:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],37:[function(F,D,G){var U=F("immediate");function W(){}var q={},Y=["REJECTED"],Q=["FULFILLED"],Z=["PENDING"];function K(ae){if(typeof ae!="function")throw new TypeError("resolver must be a function");this.state=Z,this.queue=[],this.outcome=void 0,ae!==W&&se(this,ae)}function J(ae,le,ce){this.promise=ae,typeof le=="function"&&(this.onFulfilled=le,this.callFulfilled=this.otherCallFulfilled),typeof ce=="function"&&(this.onRejected=ce,this.callRejected=this.otherCallRejected)}function ie(ae,le,ce){U(function(){var he;try{he=le(ce)}catch(de){return q.reject(ae,de)}he===ae?q.reject(ae,new TypeError("Cannot resolve promise with itself")):q.resolve(ae,he)})}function ne(ae){var le=ae&&ae.then;if(ae&&(typeof ae=="object"||typeof ae=="function")&&typeof le=="function")return function(){le.apply(ae,arguments)}}function se(ae,le){var ce=!1;function he(fe){ce||(ce=!0,q.reject(ae,fe))}function de(fe){ce||(ce=!0,q.resolve(ae,fe))}var me=re(function(){le(de,he)});me.status==="error"&&he(me.value)}function re(ae,le){var ce={};try{ce.value=ae(le),ce.status="success"}catch(he){ce.status="error",ce.value=he}return ce}(D.exports=K).prototype.finally=function(ae){if(typeof ae!="function")return this;var le=this.constructor;return this.then(function(ce){return le.resolve(ae()).then(function(){return ce})},function(ce){return le.resolve(ae()).then(function(){throw ce})})},K.prototype.catch=function(ae){return this.then(null,ae)},K.prototype.then=function(ae,le){if(typeof ae!="function"&&this.state===Q||typeof le!="function"&&this.state===Y)return this;var ce=new this.constructor(W);return this.state!==Z?ie(ce,this.state===Q?ae:le,this.outcome):this.queue.push(new J(ce,ae,le)),ce},J.prototype.callFulfilled=function(ae){q.resolve(this.promise,ae)},J.prototype.otherCallFulfilled=function(ae){ie(this.promise,this.onFulfilled,ae)},J.prototype.callRejected=function(ae){q.reject(this.promise,ae)},J.prototype.otherCallRejected=function(ae){ie(this.promise,this.onRejected,ae)},q.resolve=function(ae,le){var ce=re(ne,le);if(ce.status==="error")return q.reject(ae,ce.value);var he=ce.value;if(he)se(ae,he);else{ae.state=Q,ae.outcome=le;for(var de=-1,me=ae.queue.length;++de<me;)ae.queue[de].callFulfilled(le)}return ae},q.reject=function(ae,le){ae.state=Y,ae.outcome=le;for(var ce=-1,he=ae.queue.length;++ce<he;)ae.queue[ce].callRejected(le);return ae},K.resolve=function(ae){return ae instanceof this?ae:q.resolve(new this(W),ae)},K.reject=function(ae){var le=new this(W);return q.reject(le,ae)},K.all=function(ae){var le=this;if(Object.prototype.toString.call(ae)!=="[object Array]")return this.reject(new TypeError("must be an array"));var ce=ae.length,he=!1;if(!ce)return this.resolve([]);for(var de=new Array(ce),me=0,fe=-1,ge=new this(W);++fe<ce;)Se(ae[fe],fe);return ge;function Se(Ee,ve){le.resolve(Ee).then(function(xe){de[ve]=xe,++me!==ce||he||(he=!0,q.resolve(ge,de))},function(xe){he||(he=!0,q.reject(ge,xe))})}},K.race=function(ae){var le=this;if(Object.prototype.toString.call(ae)!=="[object Array]")return this.reject(new TypeError("must be an array"));var ce=ae.length,he=!1;if(!ce)return this.resolve([]);for(var de=-1,me=new this(W);++de<ce;)fe=ae[de],le.resolve(fe).then(function(ge){he||(he=!0,q.resolve(me,ge))},function(ge){he||(he=!0,q.reject(me,ge))});var fe;return me}},{immediate:36}],38:[function(F,D,G){var U={};(0,F("./lib/utils/common").assign)(U,F("./lib/deflate"),F("./lib/inflate"),F("./lib/zlib/constants")),D.exports=U},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(F,D,G){var U=F("./zlib/deflate"),W=F("./utils/common"),q=F("./utils/strings"),Y=F("./zlib/messages"),Q=F("./zlib/zstream"),Z=Object.prototype.toString,K=0,J=-1,ie=0,ne=8;function se(ae){if(!(this instanceof se))return new se(ae);this.options=W.assign({level:J,method:ne,chunkSize:16384,windowBits:15,memLevel:8,strategy:ie,to:""},ae||{});var le=this.options;le.raw&&0<le.windowBits?le.windowBits=-le.windowBits:le.gzip&&0<le.windowBits&&le.windowBits<16&&(le.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Q,this.strm.avail_out=0;var ce=U.deflateInit2(this.strm,le.level,le.method,le.windowBits,le.memLevel,le.strategy);if(ce!==K)throw new Error(Y[ce]);if(le.header&&U.deflateSetHeader(this.strm,le.header),le.dictionary){var he;if(he=typeof le.dictionary=="string"?q.string2buf(le.dictionary):Z.call(le.dictionary)==="[object ArrayBuffer]"?new Uint8Array(le.dictionary):le.dictionary,(ce=U.deflateSetDictionary(this.strm,he))!==K)throw new Error(Y[ce]);this._dict_set=!0}}function re(ae,le){var ce=new se(le);if(ce.push(ae,!0),ce.err)throw ce.msg||Y[ce.err];return ce.result}se.prototype.push=function(ae,le){var ce,he,de=this.strm,me=this.options.chunkSize;if(this.ended)return!1;he=le===~~le?le:le===!0?4:0,typeof ae=="string"?de.input=q.string2buf(ae):Z.call(ae)==="[object ArrayBuffer]"?de.input=new Uint8Array(ae):de.input=ae,de.next_in=0,de.avail_in=de.input.length;do{if(de.avail_out===0&&(de.output=new W.Buf8(me),de.next_out=0,de.avail_out=me),(ce=U.deflate(de,he))!==1&&ce!==K)return this.onEnd(ce),!(this.ended=!0);de.avail_out!==0&&(de.avail_in!==0||he!==4&&he!==2)||(this.options.to==="string"?this.onData(q.buf2binstring(W.shrinkBuf(de.output,de.next_out))):this.onData(W.shrinkBuf(de.output,de.next_out)))}while((0<de.avail_in||de.avail_out===0)&&ce!==1);return he===4?(ce=U.deflateEnd(this.strm),this.onEnd(ce),this.ended=!0,ce===K):he!==2||(this.onEnd(K),!(de.avail_out=0))},se.prototype.onData=function(ae){this.chunks.push(ae)},se.prototype.onEnd=function(ae){ae===K&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=W.flattenChunks(this.chunks)),this.chunks=[],this.err=ae,this.msg=this.strm.msg},G.Deflate=se,G.deflate=re,G.deflateRaw=function(ae,le){return(le=le||{}).raw=!0,re(ae,le)},G.gzip=function(ae,le){return(le=le||{}).gzip=!0,re(ae,le)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(F,D,G){var U=F("./zlib/inflate"),W=F("./utils/common"),q=F("./utils/strings"),Y=F("./zlib/constants"),Q=F("./zlib/messages"),Z=F("./zlib/zstream"),K=F("./zlib/gzheader"),J=Object.prototype.toString;function ie(se){if(!(this instanceof ie))return new ie(se);this.options=W.assign({chunkSize:16384,windowBits:0,to:""},se||{});var re=this.options;re.raw&&0<=re.windowBits&&re.windowBits<16&&(re.windowBits=-re.windowBits,re.windowBits===0&&(re.windowBits=-15)),!(0<=re.windowBits&&re.windowBits<16)||se&&se.windowBits||(re.windowBits+=32),15<re.windowBits&&re.windowBits<48&&(15&re.windowBits)==0&&(re.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Z,this.strm.avail_out=0;var ae=U.inflateInit2(this.strm,re.windowBits);if(ae!==Y.Z_OK)throw new Error(Q[ae]);this.header=new K,U.inflateGetHeader(this.strm,this.header)}function ne(se,re){var ae=new ie(re);if(ae.push(se,!0),ae.err)throw ae.msg||Q[ae.err];return ae.result}ie.prototype.push=function(se,re){var ae,le,ce,he,de,me,fe=this.strm,ge=this.options.chunkSize,Se=this.options.dictionary,Ee=!1;if(this.ended)return!1;le=re===~~re?re:re===!0?Y.Z_FINISH:Y.Z_NO_FLUSH,typeof se=="string"?fe.input=q.binstring2buf(se):J.call(se)==="[object ArrayBuffer]"?fe.input=new Uint8Array(se):fe.input=se,fe.next_in=0,fe.avail_in=fe.input.length;do{if(fe.avail_out===0&&(fe.output=new W.Buf8(ge),fe.next_out=0,fe.avail_out=ge),(ae=U.inflate(fe,Y.Z_NO_FLUSH))===Y.Z_NEED_DICT&&Se&&(me=typeof Se=="string"?q.string2buf(Se):J.call(Se)==="[object ArrayBuffer]"?new Uint8Array(Se):Se,ae=U.inflateSetDictionary(this.strm,me)),ae===Y.Z_BUF_ERROR&&Ee===!0&&(ae=Y.Z_OK,Ee=!1),ae!==Y.Z_STREAM_END&&ae!==Y.Z_OK)return this.onEnd(ae),!(this.ended=!0);fe.next_out&&(fe.avail_out!==0&&ae!==Y.Z_STREAM_END&&(fe.avail_in!==0||le!==Y.Z_FINISH&&le!==Y.Z_SYNC_FLUSH)||(this.options.to==="string"?(ce=q.utf8border(fe.output,fe.next_out),he=fe.next_out-ce,de=q.buf2string(fe.output,ce),fe.next_out=he,fe.avail_out=ge-he,he&&W.arraySet(fe.output,fe.output,ce,he,0),this.onData(de)):this.onData(W.shrinkBuf(fe.output,fe.next_out)))),fe.avail_in===0&&fe.avail_out===0&&(Ee=!0)}while((0<fe.avail_in||fe.avail_out===0)&&ae!==Y.Z_STREAM_END);return ae===Y.Z_STREAM_END&&(le=Y.Z_FINISH),le===Y.Z_FINISH?(ae=U.inflateEnd(this.strm),this.onEnd(ae),this.ended=!0,ae===Y.Z_OK):le!==Y.Z_SYNC_FLUSH||(this.onEnd(Y.Z_OK),!(fe.avail_out=0))},ie.prototype.onData=function(se){this.chunks.push(se)},ie.prototype.onEnd=function(se){se===Y.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=W.flattenChunks(this.chunks)),this.chunks=[],this.err=se,this.msg=this.strm.msg},G.Inflate=ie,G.inflate=ne,G.inflateRaw=function(se,re){return(re=re||{}).raw=!0,ne(se,re)},G.ungzip=ne},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(F,D,G){var U=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";G.assign=function(Y){for(var Q=Array.prototype.slice.call(arguments,1);Q.length;){var Z=Q.shift();if(Z){if(typeof Z!="object")throw new TypeError(Z+"must be non-object");for(var K in Z)Z.hasOwnProperty(K)&&(Y[K]=Z[K])}}return Y},G.shrinkBuf=function(Y,Q){return Y.length===Q?Y:Y.subarray?Y.subarray(0,Q):(Y.length=Q,Y)};var W={arraySet:function(Y,Q,Z,K,J){if(Q.subarray&&Y.subarray)Y.set(Q.subarray(Z,Z+K),J);else for(var ie=0;ie<K;ie++)Y[J+ie]=Q[Z+ie]},flattenChunks:function(Y){var Q,Z,K,J,ie,ne;for(Q=K=0,Z=Y.length;Q<Z;Q++)K+=Y[Q].length;for(ne=new Uint8Array(K),Q=J=0,Z=Y.length;Q<Z;Q++)ie=Y[Q],ne.set(ie,J),J+=ie.length;return ne}},q={arraySet:function(Y,Q,Z,K,J){for(var ie=0;ie<K;ie++)Y[J+ie]=Q[Z+ie]},flattenChunks:function(Y){return[].concat.apply([],Y)}};G.setTyped=function(Y){Y?(G.Buf8=Uint8Array,G.Buf16=Uint16Array,G.Buf32=Int32Array,G.assign(G,W)):(G.Buf8=Array,G.Buf16=Array,G.Buf32=Array,G.assign(G,q))},G.setTyped(U)},{}],42:[function(F,D,G){var U=F("./common"),W=!0,q=!0;try{String.fromCharCode.apply(null,[0])}catch{W=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{q=!1}for(var Y=new U.Buf8(256),Q=0;Q<256;Q++)Y[Q]=252<=Q?6:248<=Q?5:240<=Q?4:224<=Q?3:192<=Q?2:1;function Z(K,J){if(J<65537&&(K.subarray&&q||!K.subarray&&W))return String.fromCharCode.apply(null,U.shrinkBuf(K,J));for(var ie="",ne=0;ne<J;ne++)ie+=String.fromCharCode(K[ne]);return ie}Y[254]=Y[254]=1,G.string2buf=function(K){var J,ie,ne,se,re,ae=K.length,le=0;for(se=0;se<ae;se++)(64512&(ie=K.charCodeAt(se)))==55296&&se+1<ae&&(64512&(ne=K.charCodeAt(se+1)))==56320&&(ie=65536+(ie-55296<<10)+(ne-56320),se++),le+=ie<128?1:ie<2048?2:ie<65536?3:4;for(J=new U.Buf8(le),se=re=0;re<le;se++)(64512&(ie=K.charCodeAt(se)))==55296&&se+1<ae&&(64512&(ne=K.charCodeAt(se+1)))==56320&&(ie=65536+(ie-55296<<10)+(ne-56320),se++),ie<128?J[re++]=ie:(ie<2048?J[re++]=192|ie>>>6:(ie<65536?J[re++]=224|ie>>>12:(J[re++]=240|ie>>>18,J[re++]=128|ie>>>12&63),J[re++]=128|ie>>>6&63),J[re++]=128|63&ie);return J},G.buf2binstring=function(K){return Z(K,K.length)},G.binstring2buf=function(K){for(var J=new U.Buf8(K.length),ie=0,ne=J.length;ie<ne;ie++)J[ie]=K.charCodeAt(ie);return J},G.buf2string=function(K,J){var ie,ne,se,re,ae=J||K.length,le=new Array(2*ae);for(ie=ne=0;ie<ae;)if((se=K[ie++])<128)le[ne++]=se;else if(4<(re=Y[se]))le[ne++]=65533,ie+=re-1;else{for(se&=re===2?31:re===3?15:7;1<re&&ie<ae;)se=se<<6|63&K[ie++],re--;1<re?le[ne++]=65533:se<65536?le[ne++]=se:(se-=65536,le[ne++]=55296|se>>10&1023,le[ne++]=56320|1023&se)}return Z(le,ne)},G.utf8border=function(K,J){var ie;for((J=J||K.length)>K.length&&(J=K.length),ie=J-1;0<=ie&&(192&K[ie])==128;)ie--;return ie<0||ie===0?J:ie+Y[K[ie]]>J?ie:J}},{"./common":41}],43:[function(F,D,G){D.exports=function(U,W,q,Y){for(var Q=65535&U|0,Z=U>>>16&65535|0,K=0;q!==0;){for(q-=K=2e3<q?2e3:q;Z=Z+(Q=Q+W[Y++]|0)|0,--K;);Q%=65521,Z%=65521}return Q|Z<<16|0}},{}],44:[function(F,D,G){D.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(F,D,G){var U=function(){for(var W,q=[],Y=0;Y<256;Y++){W=Y;for(var Q=0;Q<8;Q++)W=1&W?3988292384^W>>>1:W>>>1;q[Y]=W}return q}();D.exports=function(W,q,Y,Q){var Z=U,K=Q+Y;W^=-1;for(var J=Q;J<K;J++)W=W>>>8^Z[255&(W^q[J])];return-1^W}},{}],46:[function(F,D,G){var U,W=F("../utils/common"),q=F("./trees"),Y=F("./adler32"),Q=F("./crc32"),Z=F("./messages"),K=0,J=4,ie=0,ne=-2,se=-1,re=4,ae=2,le=8,ce=9,he=286,de=30,me=19,fe=2*he+1,ge=15,Se=3,Ee=258,ve=Ee+Se+1,xe=42,Pe=113,ye=1,Te=2,Le=3,we=4;function Ae(_e,je){return _e.msg=Z[je],je}function Me(_e){return(_e<<1)-(4<_e?9:0)}function ke(_e){for(var je=_e.length;0<=--je;)_e[je]=0}function Ne(_e){var je=_e.state,Ze=je.pending;Ze>_e.avail_out&&(Ze=_e.avail_out),Ze!==0&&(W.arraySet(_e.output,je.pending_buf,je.pending_out,Ze,_e.next_out),_e.next_out+=Ze,je.pending_out+=Ze,_e.total_out+=Ze,_e.avail_out-=Ze,je.pending-=Ze,je.pending===0&&(je.pending_out=0))}function Ie(_e,je){q._tr_flush_block(_e,0<=_e.block_start?_e.block_start:-1,_e.strstart-_e.block_start,je),_e.block_start=_e.strstart,Ne(_e.strm)}function Ge(_e,je){_e.pending_buf[_e.pending++]=je}function ze(_e,je){_e.pending_buf[_e.pending++]=je>>>8&255,_e.pending_buf[_e.pending++]=255&je}function Ve(_e,je){var Ze,De,Oe=_e.max_chain_length,Xe=_e.strstart,tt=_e.prev_length,nt=_e.nice_match,Ke=_e.strstart>_e.w_size-ve?_e.strstart-(_e.w_size-ve):0,ct=_e.window,ut=_e.w_mask,ht=_e.prev,vt=_e.strstart+Ee,xt=ct[Xe+tt-1],gt=ct[Xe+tt];_e.prev_length>=_e.good_match&&(Oe>>=2),nt>_e.lookahead&&(nt=_e.lookahead);do if(ct[(Ze=je)+tt]===gt&&ct[Ze+tt-1]===xt&&ct[Ze]===ct[Xe]&&ct[++Ze]===ct[Xe+1]){Xe+=2,Ze++;do;while(ct[++Xe]===ct[++Ze]&&ct[++Xe]===ct[++Ze]&&ct[++Xe]===ct[++Ze]&&ct[++Xe]===ct[++Ze]&&ct[++Xe]===ct[++Ze]&&ct[++Xe]===ct[++Ze]&&ct[++Xe]===ct[++Ze]&&ct[++Xe]===ct[++Ze]&&Xe<vt);if(De=Ee-(vt-Xe),Xe=vt-Ee,tt<De){if(_e.match_start=je,nt<=(tt=De))break;xt=ct[Xe+tt-1],gt=ct[Xe+tt]}}while((je=ht[je&ut])>Ke&&--Oe!=0);return tt<=_e.lookahead?tt:_e.lookahead}function Ye(_e){var je,Ze,De,Oe,Xe,tt,nt,Ke,ct,ut,ht=_e.w_size;do{if(Oe=_e.window_size-_e.lookahead-_e.strstart,_e.strstart>=ht+(ht-ve)){for(W.arraySet(_e.window,_e.window,ht,ht,0),_e.match_start-=ht,_e.strstart-=ht,_e.block_start-=ht,je=Ze=_e.hash_size;De=_e.head[--je],_e.head[je]=ht<=De?De-ht:0,--Ze;);for(je=Ze=ht;De=_e.prev[--je],_e.prev[je]=ht<=De?De-ht:0,--Ze;);Oe+=ht}if(_e.strm.avail_in===0)break;if(tt=_e.strm,nt=_e.window,Ke=_e.strstart+_e.lookahead,ct=Oe,ut=void 0,ut=tt.avail_in,ct<ut&&(ut=ct),Ze=ut===0?0:(tt.avail_in-=ut,W.arraySet(nt,tt.input,tt.next_in,ut,Ke),tt.state.wrap===1?tt.adler=Y(tt.adler,nt,ut,Ke):tt.state.wrap===2&&(tt.adler=Q(tt.adler,nt,ut,Ke)),tt.next_in+=ut,tt.total_in+=ut,ut),_e.lookahead+=Ze,_e.lookahead+_e.insert>=Se)for(Xe=_e.strstart-_e.insert,_e.ins_h=_e.window[Xe],_e.ins_h=(_e.ins_h<<_e.hash_shift^_e.window[Xe+1])&_e.hash_mask;_e.insert&&(_e.ins_h=(_e.ins_h<<_e.hash_shift^_e.window[Xe+Se-1])&_e.hash_mask,_e.prev[Xe&_e.w_mask]=_e.head[_e.ins_h],_e.head[_e.ins_h]=Xe,Xe++,_e.insert--,!(_e.lookahead+_e.insert<Se)););}while(_e.lookahead<ve&&_e.strm.avail_in!==0)}function et(_e,je){for(var Ze,De;;){if(_e.lookahead<ve){if(Ye(_e),_e.lookahead<ve&&je===K)return ye;if(_e.lookahead===0)break}if(Ze=0,_e.lookahead>=Se&&(_e.ins_h=(_e.ins_h<<_e.hash_shift^_e.window[_e.strstart+Se-1])&_e.hash_mask,Ze=_e.prev[_e.strstart&_e.w_mask]=_e.head[_e.ins_h],_e.head[_e.ins_h]=_e.strstart),Ze!==0&&_e.strstart-Ze<=_e.w_size-ve&&(_e.match_length=Ve(_e,Ze)),_e.match_length>=Se)if(De=q._tr_tally(_e,_e.strstart-_e.match_start,_e.match_length-Se),_e.lookahead-=_e.match_length,_e.match_length<=_e.max_lazy_match&&_e.lookahead>=Se){for(_e.match_length--;_e.strstart++,_e.ins_h=(_e.ins_h<<_e.hash_shift^_e.window[_e.strstart+Se-1])&_e.hash_mask,Ze=_e.prev[_e.strstart&_e.w_mask]=_e.head[_e.ins_h],_e.head[_e.ins_h]=_e.strstart,--_e.match_length!=0;);_e.strstart++}else _e.strstart+=_e.match_length,_e.match_length=0,_e.ins_h=_e.window[_e.strstart],_e.ins_h=(_e.ins_h<<_e.hash_shift^_e.window[_e.strstart+1])&_e.hash_mask;else De=q._tr_tally(_e,0,_e.window[_e.strstart]),_e.lookahead--,_e.strstart++;if(De&&(Ie(_e,!1),_e.strm.avail_out===0))return ye}return _e.insert=_e.strstart<Se-1?_e.strstart:Se-1,je===J?(Ie(_e,!0),_e.strm.avail_out===0?Le:we):_e.last_lit&&(Ie(_e,!1),_e.strm.avail_out===0)?ye:Te}function Je(_e,je){for(var Ze,De,Oe;;){if(_e.lookahead<ve){if(Ye(_e),_e.lookahead<ve&&je===K)return ye;if(_e.lookahead===0)break}if(Ze=0,_e.lookahead>=Se&&(_e.ins_h=(_e.ins_h<<_e.hash_shift^_e.window[_e.strstart+Se-1])&_e.hash_mask,Ze=_e.prev[_e.strstart&_e.w_mask]=_e.head[_e.ins_h],_e.head[_e.ins_h]=_e.strstart),_e.prev_length=_e.match_length,_e.prev_match=_e.match_start,_e.match_length=Se-1,Ze!==0&&_e.prev_length<_e.max_lazy_match&&_e.strstart-Ze<=_e.w_size-ve&&(_e.match_length=Ve(_e,Ze),_e.match_length<=5&&(_e.strategy===1||_e.match_length===Se&&4096<_e.strstart-_e.match_start)&&(_e.match_length=Se-1)),_e.prev_length>=Se&&_e.match_length<=_e.prev_length){for(Oe=_e.strstart+_e.lookahead-Se,De=q._tr_tally(_e,_e.strstart-1-_e.prev_match,_e.prev_length-Se),_e.lookahead-=_e.prev_length-1,_e.prev_length-=2;++_e.strstart<=Oe&&(_e.ins_h=(_e.ins_h<<_e.hash_shift^_e.window[_e.strstart+Se-1])&_e.hash_mask,Ze=_e.prev[_e.strstart&_e.w_mask]=_e.head[_e.ins_h],_e.head[_e.ins_h]=_e.strstart),--_e.prev_length!=0;);if(_e.match_available=0,_e.match_length=Se-1,_e.strstart++,De&&(Ie(_e,!1),_e.strm.avail_out===0))return ye}else if(_e.match_available){if((De=q._tr_tally(_e,0,_e.window[_e.strstart-1]))&&Ie(_e,!1),_e.strstart++,_e.lookahead--,_e.strm.avail_out===0)return ye}else _e.match_available=1,_e.strstart++,_e.lookahead--}return _e.match_available&&(De=q._tr_tally(_e,0,_e.window[_e.strstart-1]),_e.match_available=0),_e.insert=_e.strstart<Se-1?_e.strstart:Se-1,je===J?(Ie(_e,!0),_e.strm.avail_out===0?Le:we):_e.last_lit&&(Ie(_e,!1),_e.strm.avail_out===0)?ye:Te}function st(_e,je,Ze,De,Oe){this.good_length=_e,this.max_lazy=je,this.nice_length=Ze,this.max_chain=De,this.func=Oe}function pt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=le,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new W.Buf16(2*fe),this.dyn_dtree=new W.Buf16(2*(2*de+1)),this.bl_tree=new W.Buf16(2*(2*me+1)),ke(this.dyn_ltree),ke(this.dyn_dtree),ke(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new W.Buf16(ge+1),this.heap=new W.Buf16(2*he+1),ke(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new W.Buf16(2*he+1),ke(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function dt(_e){var je;return _e&&_e.state?(_e.total_in=_e.total_out=0,_e.data_type=ae,(je=_e.state).pending=0,je.pending_out=0,je.wrap<0&&(je.wrap=-je.wrap),je.status=je.wrap?xe:Pe,_e.adler=je.wrap===2?0:1,je.last_flush=K,q._tr_init(je),ie):Ae(_e,ne)}function yt(_e){var je=dt(_e);return je===ie&&function(Ze){Ze.window_size=2*Ze.w_size,ke(Ze.head),Ze.max_lazy_match=U[Ze.level].max_lazy,Ze.good_match=U[Ze.level].good_length,Ze.nice_match=U[Ze.level].nice_length,Ze.max_chain_length=U[Ze.level].max_chain,Ze.strstart=0,Ze.block_start=0,Ze.lookahead=0,Ze.insert=0,Ze.match_length=Ze.prev_length=Se-1,Ze.match_available=0,Ze.ins_h=0}(_e.state),je}function Fe(_e,je,Ze,De,Oe,Xe){if(!_e)return ne;var tt=1;if(je===se&&(je=6),De<0?(tt=0,De=-De):15<De&&(tt=2,De-=16),Oe<1||ce<Oe||Ze!==le||De<8||15<De||je<0||9<je||Xe<0||re<Xe)return Ae(_e,ne);De===8&&(De=9);var nt=new pt;return(_e.state=nt).strm=_e,nt.wrap=tt,nt.gzhead=null,nt.w_bits=De,nt.w_size=1<<nt.w_bits,nt.w_mask=nt.w_size-1,nt.hash_bits=Oe+7,nt.hash_size=1<<nt.hash_bits,nt.hash_mask=nt.hash_size-1,nt.hash_shift=~~((nt.hash_bits+Se-1)/Se),nt.window=new W.Buf8(2*nt.w_size),nt.head=new W.Buf16(nt.hash_size),nt.prev=new W.Buf16(nt.w_size),nt.lit_bufsize=1<<Oe+6,nt.pending_buf_size=4*nt.lit_bufsize,nt.pending_buf=new W.Buf8(nt.pending_buf_size),nt.d_buf=1*nt.lit_bufsize,nt.l_buf=3*nt.lit_bufsize,nt.level=je,nt.strategy=Xe,nt.method=Ze,yt(_e)}U=[new st(0,0,0,0,function(_e,je){var Ze=65535;for(Ze>_e.pending_buf_size-5&&(Ze=_e.pending_buf_size-5);;){if(_e.lookahead<=1){if(Ye(_e),_e.lookahead===0&&je===K)return ye;if(_e.lookahead===0)break}_e.strstart+=_e.lookahead,_e.lookahead=0;var De=_e.block_start+Ze;if((_e.strstart===0||_e.strstart>=De)&&(_e.lookahead=_e.strstart-De,_e.strstart=De,Ie(_e,!1),_e.strm.avail_out===0)||_e.strstart-_e.block_start>=_e.w_size-ve&&(Ie(_e,!1),_e.strm.avail_out===0))return ye}return _e.insert=0,je===J?(Ie(_e,!0),_e.strm.avail_out===0?Le:we):(_e.strstart>_e.block_start&&(Ie(_e,!1),_e.strm.avail_out),ye)}),new st(4,4,8,4,et),new st(4,5,16,8,et),new st(4,6,32,32,et),new st(4,4,16,16,Je),new st(8,16,32,32,Je),new st(8,16,128,128,Je),new st(8,32,128,256,Je),new st(32,128,258,1024,Je),new st(32,258,258,4096,Je)],G.deflateInit=function(_e,je){return Fe(_e,je,le,15,8,0)},G.deflateInit2=Fe,G.deflateReset=yt,G.deflateResetKeep=dt,G.deflateSetHeader=function(_e,je){return _e&&_e.state?_e.state.wrap!==2?ne:(_e.state.gzhead=je,ie):ne},G.deflate=function(_e,je){var Ze,De,Oe,Xe;if(!_e||!_e.state||5<je||je<0)return _e?Ae(_e,ne):ne;if(De=_e.state,!_e.output||!_e.input&&_e.avail_in!==0||De.status===666&&je!==J)return Ae(_e,_e.avail_out===0?-5:ne);if(De.strm=_e,Ze=De.last_flush,De.last_flush=je,De.status===xe)if(De.wrap===2)_e.adler=0,Ge(De,31),Ge(De,139),Ge(De,8),De.gzhead?(Ge(De,(De.gzhead.text?1:0)+(De.gzhead.hcrc?2:0)+(De.gzhead.extra?4:0)+(De.gzhead.name?8:0)+(De.gzhead.comment?16:0)),Ge(De,255&De.gzhead.time),Ge(De,De.gzhead.time>>8&255),Ge(De,De.gzhead.time>>16&255),Ge(De,De.gzhead.time>>24&255),Ge(De,De.level===9?2:2<=De.strategy||De.level<2?4:0),Ge(De,255&De.gzhead.os),De.gzhead.extra&&De.gzhead.extra.length&&(Ge(De,255&De.gzhead.extra.length),Ge(De,De.gzhead.extra.length>>8&255)),De.gzhead.hcrc&&(_e.adler=Q(_e.adler,De.pending_buf,De.pending,0)),De.gzindex=0,De.status=69):(Ge(De,0),Ge(De,0),Ge(De,0),Ge(De,0),Ge(De,0),Ge(De,De.level===9?2:2<=De.strategy||De.level<2?4:0),Ge(De,3),De.status=Pe);else{var tt=le+(De.w_bits-8<<4)<<8;tt|=(2<=De.strategy||De.level<2?0:De.level<6?1:De.level===6?2:3)<<6,De.strstart!==0&&(tt|=32),tt+=31-tt%31,De.status=Pe,ze(De,tt),De.strstart!==0&&(ze(De,_e.adler>>>16),ze(De,65535&_e.adler)),_e.adler=1}if(De.status===69)if(De.gzhead.extra){for(Oe=De.pending;De.gzindex<(65535&De.gzhead.extra.length)&&(De.pending!==De.pending_buf_size||(De.gzhead.hcrc&&De.pending>Oe&&(_e.adler=Q(_e.adler,De.pending_buf,De.pending-Oe,Oe)),Ne(_e),Oe=De.pending,De.pending!==De.pending_buf_size));)Ge(De,255&De.gzhead.extra[De.gzindex]),De.gzindex++;De.gzhead.hcrc&&De.pending>Oe&&(_e.adler=Q(_e.adler,De.pending_buf,De.pending-Oe,Oe)),De.gzindex===De.gzhead.extra.length&&(De.gzindex=0,De.status=73)}else De.status=73;if(De.status===73)if(De.gzhead.name){Oe=De.pending;do{if(De.pending===De.pending_buf_size&&(De.gzhead.hcrc&&De.pending>Oe&&(_e.adler=Q(_e.adler,De.pending_buf,De.pending-Oe,Oe)),Ne(_e),Oe=De.pending,De.pending===De.pending_buf_size)){Xe=1;break}Xe=De.gzindex<De.gzhead.name.length?255&De.gzhead.name.charCodeAt(De.gzindex++):0,Ge(De,Xe)}while(Xe!==0);De.gzhead.hcrc&&De.pending>Oe&&(_e.adler=Q(_e.adler,De.pending_buf,De.pending-Oe,Oe)),Xe===0&&(De.gzindex=0,De.status=91)}else De.status=91;if(De.status===91)if(De.gzhead.comment){Oe=De.pending;do{if(De.pending===De.pending_buf_size&&(De.gzhead.hcrc&&De.pending>Oe&&(_e.adler=Q(_e.adler,De.pending_buf,De.pending-Oe,Oe)),Ne(_e),Oe=De.pending,De.pending===De.pending_buf_size)){Xe=1;break}Xe=De.gzindex<De.gzhead.comment.length?255&De.gzhead.comment.charCodeAt(De.gzindex++):0,Ge(De,Xe)}while(Xe!==0);De.gzhead.hcrc&&De.pending>Oe&&(_e.adler=Q(_e.adler,De.pending_buf,De.pending-Oe,Oe)),Xe===0&&(De.status=103)}else De.status=103;if(De.status===103&&(De.gzhead.hcrc?(De.pending+2>De.pending_buf_size&&Ne(_e),De.pending+2<=De.pending_buf_size&&(Ge(De,255&_e.adler),Ge(De,_e.adler>>8&255),_e.adler=0,De.status=Pe)):De.status=Pe),De.pending!==0){if(Ne(_e),_e.avail_out===0)return De.last_flush=-1,ie}else if(_e.avail_in===0&&Me(je)<=Me(Ze)&&je!==J)return Ae(_e,-5);if(De.status===666&&_e.avail_in!==0)return Ae(_e,-5);if(_e.avail_in!==0||De.lookahead!==0||je!==K&&De.status!==666){var nt=De.strategy===2?function(Ke,ct){for(var ut;;){if(Ke.lookahead===0&&(Ye(Ke),Ke.lookahead===0)){if(ct===K)return ye;break}if(Ke.match_length=0,ut=q._tr_tally(Ke,0,Ke.window[Ke.strstart]),Ke.lookahead--,Ke.strstart++,ut&&(Ie(Ke,!1),Ke.strm.avail_out===0))return ye}return Ke.insert=0,ct===J?(Ie(Ke,!0),Ke.strm.avail_out===0?Le:we):Ke.last_lit&&(Ie(Ke,!1),Ke.strm.avail_out===0)?ye:Te}(De,je):De.strategy===3?function(Ke,ct){for(var ut,ht,vt,xt,gt=Ke.window;;){if(Ke.lookahead<=Ee){if(Ye(Ke),Ke.lookahead<=Ee&&ct===K)return ye;if(Ke.lookahead===0)break}if(Ke.match_length=0,Ke.lookahead>=Se&&0<Ke.strstart&&(ht=gt[vt=Ke.strstart-1])===gt[++vt]&&ht===gt[++vt]&&ht===gt[++vt]){xt=Ke.strstart+Ee;do;while(ht===gt[++vt]&&ht===gt[++vt]&&ht===gt[++vt]&&ht===gt[++vt]&&ht===gt[++vt]&&ht===gt[++vt]&&ht===gt[++vt]&&ht===gt[++vt]&&vt<xt);Ke.match_length=Ee-(xt-vt),Ke.match_length>Ke.lookahead&&(Ke.match_length=Ke.lookahead)}if(Ke.match_length>=Se?(ut=q._tr_tally(Ke,1,Ke.match_length-Se),Ke.lookahead-=Ke.match_length,Ke.strstart+=Ke.match_length,Ke.match_length=0):(ut=q._tr_tally(Ke,0,Ke.window[Ke.strstart]),Ke.lookahead--,Ke.strstart++),ut&&(Ie(Ke,!1),Ke.strm.avail_out===0))return ye}return Ke.insert=0,ct===J?(Ie(Ke,!0),Ke.strm.avail_out===0?Le:we):Ke.last_lit&&(Ie(Ke,!1),Ke.strm.avail_out===0)?ye:Te}(De,je):U[De.level].func(De,je);if(nt!==Le&&nt!==we||(De.status=666),nt===ye||nt===Le)return _e.avail_out===0&&(De.last_flush=-1),ie;if(nt===Te&&(je===1?q._tr_align(De):je!==5&&(q._tr_stored_block(De,0,0,!1),je===3&&(ke(De.head),De.lookahead===0&&(De.strstart=0,De.block_start=0,De.insert=0))),Ne(_e),_e.avail_out===0))return De.last_flush=-1,ie}return je!==J?ie:De.wrap<=0?1:(De.wrap===2?(Ge(De,255&_e.adler),Ge(De,_e.adler>>8&255),Ge(De,_e.adler>>16&255),Ge(De,_e.adler>>24&255),Ge(De,255&_e.total_in),Ge(De,_e.total_in>>8&255),Ge(De,_e.total_in>>16&255),Ge(De,_e.total_in>>24&255)):(ze(De,_e.adler>>>16),ze(De,65535&_e.adler)),Ne(_e),0<De.wrap&&(De.wrap=-De.wrap),De.pending!==0?ie:1)},G.deflateEnd=function(_e){var je;return _e&&_e.state?(je=_e.state.status)!==xe&&je!==69&&je!==73&&je!==91&&je!==103&&je!==Pe&&je!==666?Ae(_e,ne):(_e.state=null,je===Pe?Ae(_e,-3):ie):ne},G.deflateSetDictionary=function(_e,je){var Ze,De,Oe,Xe,tt,nt,Ke,ct,ut=je.length;if(!_e||!_e.state||(Xe=(Ze=_e.state).wrap)===2||Xe===1&&Ze.status!==xe||Ze.lookahead)return ne;for(Xe===1&&(_e.adler=Y(_e.adler,je,ut,0)),Ze.wrap=0,ut>=Ze.w_size&&(Xe===0&&(ke(Ze.head),Ze.strstart=0,Ze.block_start=0,Ze.insert=0),ct=new W.Buf8(Ze.w_size),W.arraySet(ct,je,ut-Ze.w_size,Ze.w_size,0),je=ct,ut=Ze.w_size),tt=_e.avail_in,nt=_e.next_in,Ke=_e.input,_e.avail_in=ut,_e.next_in=0,_e.input=je,Ye(Ze);Ze.lookahead>=Se;){for(De=Ze.strstart,Oe=Ze.lookahead-(Se-1);Ze.ins_h=(Ze.ins_h<<Ze.hash_shift^Ze.window[De+Se-1])&Ze.hash_mask,Ze.prev[De&Ze.w_mask]=Ze.head[Ze.ins_h],Ze.head[Ze.ins_h]=De,De++,--Oe;);Ze.strstart=De,Ze.lookahead=Se-1,Ye(Ze)}return Ze.strstart+=Ze.lookahead,Ze.block_start=Ze.strstart,Ze.insert=Ze.lookahead,Ze.lookahead=0,Ze.match_length=Ze.prev_length=Se-1,Ze.match_available=0,_e.next_in=nt,_e.input=Ke,_e.avail_in=tt,Ze.wrap=Xe,ie},G.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(F,D,G){D.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(F,D,G){D.exports=function(U,W){var q,Y,Q,Z,K,J,ie,ne,se,re,ae,le,ce,he,de,me,fe,ge,Se,Ee,ve,xe,Pe,ye,Te;q=U.state,Y=U.next_in,ye=U.input,Q=Y+(U.avail_in-5),Z=U.next_out,Te=U.output,K=Z-(W-U.avail_out),J=Z+(U.avail_out-257),ie=q.dmax,ne=q.wsize,se=q.whave,re=q.wnext,ae=q.window,le=q.hold,ce=q.bits,he=q.lencode,de=q.distcode,me=(1<<q.lenbits)-1,fe=(1<<q.distbits)-1;e:do{ce<15&&(le+=ye[Y++]<<ce,ce+=8,le+=ye[Y++]<<ce,ce+=8),ge=he[le&me];t:for(;;){if(le>>>=Se=ge>>>24,ce-=Se,(Se=ge>>>16&255)===0)Te[Z++]=65535≥else{if(!(16&Se)){if((64&Se)==0){ge=he[(65535&ge)+(le&(1<<Se)-1)];continue t}if(32&Se){q.mode=12;break e}U.msg="invalid literal/length code",q.mode=30;break e}Ee=65535&ge,(Se&=15)&&(ce<Se&&(le+=ye[Y++]<<ce,ce+=8),Ee+=le&(1<<Se)-1,le>>>=Se,ce-=Se),ce<15&&(le+=ye[Y++]<<ce,ce+=8,le+=ye[Y++]<<ce,ce+=8),ge=de[le&fe];i:for(;;){if(le>>>=Se=ge>>>24,ce-=Se,!(16&(Se=ge>>>16&255))){if((64&Se)==0){ge=de[(65535&ge)+(le&(1<<Se)-1)];continue i}U.msg="invalid distance code",q.mode=30;break e}if(ve=65535&ge,ce<(Se&=15)&&(le+=ye[Y++]<<ce,(ce+=8)<Se&&(le+=ye[Y++]<<ce,ce+=8)),ie<(ve+=le&(1<<Se)-1)){U.msg="invalid distance too far back",q.mode=30;break e}if(le>>>=Se,ce-=Se,(Se=Z-K)<ve){if(se<(Se=ve-Se)&&q.sane){U.msg="invalid distance too far back",q.mode=30;break e}if(Pe=ae,(xe=0)===re){if(xe+=ne-Se,Se<Ee){for(Ee-=Se;Te[Z++]=ae[xe++],--Se;);xe=Z-ve,Pe=Te}}else if(re<Se){if(xe+=ne+re-Se,(Se-=re)<Ee){for(Ee-=Se;Te[Z++]=ae[xe++],--Se;);if(xe=0,re<Ee){for(Ee-=Se=re;Te[Z++]=ae[xe++],--Se;);xe=Z-ve,Pe=Te}}}else if(xe+=re-Se,Se<Ee){for(Ee-=Se;Te[Z++]=ae[xe++],--Se;);xe=Z-ve,Pe=Te}for(;2<Ee;)Te[Z++]=Pe[xe++],Te[Z++]=Pe[xe++],Te[Z++]=Pe[xe++],Ee-=3;Ee&&(Te[Z++]=Pe[xe++],1<Ee&&(Te[Z++]=Pe[xe++]))}else{for(xe=Z-ve;Te[Z++]=Te[xe++],Te[Z++]=Te[xe++],Te[Z++]=Te[xe++],2<(Ee-=3););Ee&&(Te[Z++]=Te[xe++],1<Ee&&(Te[Z++]=Te[xe++]))}break}}break}}while(Y<Q&&Z<J);Y-=Ee=ce>>3,le&=(1<<(ce-=Ee<<3))-1,U.next_in=Y,U.next_out=Z,U.avail_in=Y<Q?Q-Y+5:5-(Y-Q),U.avail_out=Z<J?J-Z+257:257-(Z-J),q.hold=le,q.bits=ce}},{}],49:[function(F,D,G){var U=F("../utils/common"),W=F("./adler32"),q=F("./crc32"),Y=F("./inffast"),Q=F("./inftrees"),Z=1,K=2,J=0,ie=-2,ne=1,se=852,re=592;function ae(xe){return(xe>>>24&255)+(xe>>>8&65280)+((65280&xe)<<8)+((255&xe)<<24)}function le(){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 U.Buf16(320),this.work=new U.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ce(xe){var Pe;return xe&&xe.state?(Pe=xe.state,xe.total_in=xe.total_out=Pe.total=0,xe.msg="",Pe.wrap&&(xe.adler=1&Pe.wrap),Pe.mode=ne,Pe.last=0,Pe.havedict=0,Pe.dmax=32768,Pe.head=null,Pe.hold=0,Pe.bits=0,Pe.lencode=Pe.lendyn=new U.Buf32(se),Pe.distcode=Pe.distdyn=new U.Buf32(re),Pe.sane=1,Pe.back=-1,J):ie}function he(xe){var Pe;return xe&&xe.state?((Pe=xe.state).wsize=0,Pe.whave=0,Pe.wnext=0,ce(xe)):ie}function de(xe,Pe){var ye,Te;return xe&&xe.state?(Te=xe.state,Pe<0?(ye=0,Pe=-Pe):(ye=1+(Pe>>4),Pe<48&&(Pe&=15)),Pe&&(Pe<8||15<Pe)?ie:(Te.window!==null&&Te.wbits!==Pe&&(Te.window=null),Te.wrap=ye,Te.wbits=Pe,he(xe))):ie}function me(xe,Pe){var ye,Te;return xe?(Te=new le,(xe.state=Te).window=null,(ye=de(xe,Pe))!==J&&(xe.state=null),ye):ie}var fe,ge,Se=!0;function Ee(xe){if(Se){var Pe;for(fe=new U.Buf32(512),ge=new U.Buf32(32),Pe=0;Pe<144;)xe.lens[Pe++]=8;for(;Pe<256;)xe.lens[Pe++]=9;for(;Pe<280;)xe.lens[Pe++]=7;for(;Pe<288;)xe.lens[Pe++]=8;for(Q(Z,xe.lens,0,288,fe,0,xe.work,{bits:9}),Pe=0;Pe<32;)xe.lens[Pe++]=5;Q(K,xe.lens,0,32,ge,0,xe.work,{bits:5}),Se=!1}xe.lencode=fe,xe.lenbits=9,xe.distcode=ge,xe.distbits=5}function ve(xe,Pe,ye,Te){var Le,we=xe.state;return we.window===null&&(we.wsize=1<<we.wbits,we.wnext=0,we.whave=0,we.window=new U.Buf8(we.wsize)),Te>=we.wsize?(U.arraySet(we.window,Pe,ye-we.wsize,we.wsize,0),we.wnext=0,we.whave=we.wsize):(Te<(Le=we.wsize-we.wnext)&&(Le=Te),U.arraySet(we.window,Pe,ye-Te,Le,we.wnext),(Te-=Le)?(U.arraySet(we.window,Pe,ye-Te,Te,0),we.wnext=Te,we.whave=we.wsize):(we.wnext+=Le,we.wnext===we.wsize&&(we.wnext=0),we.whave<we.wsize&&(we.whave+=Le))),0}G.inflateReset=he,G.inflateReset2=de,G.inflateResetKeep=ce,G.inflateInit=function(xe){return me(xe,15)},G.inflateInit2=me,G.inflate=function(xe,Pe){var ye,Te,Le,we,Ae,Me,ke,Ne,Ie,Ge,ze,Ve,Ye,et,Je,st,pt,dt,yt,Fe,_e,je,Ze,De,Oe=0,Xe=new U.Buf8(4),tt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!xe||!xe.state||!xe.output||!xe.input&&xe.avail_in!==0)return ie;(ye=xe.state).mode===12&&(ye.mode=13),Ae=xe.next_out,Le=xe.output,ke=xe.avail_out,we=xe.next_in,Te=xe.input,Me=xe.avail_in,Ne=ye.hold,Ie=ye.bits,Ge=Me,ze=ke,je=J;e:for(;;)switch(ye.mode){case ne:if(ye.wrap===0){ye.mode=13;break}for(;Ie<16;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if(2&ye.wrap&&Ne===35615){Xe[ye.check=0]=255&Ne,Xe[1]=Ne>>>8&255,ye.check=q(ye.check,Xe,2,0),Ie=Ne=0,ye.mode=2;break}if(ye.flags=0,ye.head&&(ye.head.done=!1),!(1&ye.wrap)||(((255&Ne)<<8)+(Ne>>8))%31){xe.msg="incorrect header check",ye.mode=30;break}if((15&Ne)!=8){xe.msg="unknown compression method",ye.mode=30;break}if(Ie-=4,_e=8+(15&(Ne>>>=4)),ye.wbits===0)ye.wbits=_e;else if(_e>ye.wbits){xe.msg="invalid window size",ye.mode=30;break}ye.dmax=1<<_e,xe.adler=ye.check=1,ye.mode=512&Ne?10:12,Ie=Ne=0;break;case 2:for(;Ie<16;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if(ye.flags=Ne,(255&ye.flags)!=8){xe.msg="unknown compression method",ye.mode=30;break}if(57344&ye.flags){xe.msg="unknown header flags set",ye.mode=30;break}ye.head&&(ye.head.text=Ne>>8&1),512&ye.flags&&(Xe[0]=255&Ne,Xe[1]=Ne>>>8&255,ye.check=q(ye.check,Xe,2,0)),Ie=Ne=0,ye.mode=3;case 3:for(;Ie<32;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}ye.head&&(ye.head.time=Ne),512&ye.flags&&(Xe[0]=255&Ne,Xe[1]=Ne>>>8&255,Xe[2]=Ne>>>16&255,Xe[3]=Ne>>>24&255,ye.check=q(ye.check,Xe,4,0)),Ie=Ne=0,ye.mode=4;case 4:for(;Ie<16;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}ye.head&&(ye.head.xflags=255&Ne,ye.head.os=Ne>>8),512&ye.flags&&(Xe[0]=255&Ne,Xe[1]=Ne>>>8&255,ye.check=q(ye.check,Xe,2,0)),Ie=Ne=0,ye.mode=5;case 5:if(1024&ye.flags){for(;Ie<16;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}ye.length=Ne,ye.head&&(ye.head.extra_len=Ne),512&ye.flags&&(Xe[0]=255&Ne,Xe[1]=Ne>>>8&255,ye.check=q(ye.check,Xe,2,0)),Ie=Ne=0}else ye.head&&(ye.head.extra=null);ye.mode=6;case 6:if(1024&ye.flags&&(Me<(Ve=ye.length)&&(Ve=Me),Ve&&(ye.head&&(_e=ye.head.extra_len-ye.length,ye.head.extra||(ye.head.extra=new Array(ye.head.extra_len)),U.arraySet(ye.head.extra,Te,we,Ve,_e)),512&ye.flags&&(ye.check=q(ye.check,Te,Ve,we)),Me-=Ve,we+=Ve,ye.length-=Ve),ye.length))break e;ye.length=0,ye.mode=7;case 7:if(2048&ye.flags){if(Me===0)break e;for(Ve=0;_e=Te[we+Ve++],ye.head&&_e&&ye.length<65536&&(ye.head.name+=String.fromCharCode(_e)),_e&&Ve<Me;);if(512&ye.flags&&(ye.check=q(ye.check,Te,Ve,we)),Me-=Ve,we+=Ve,_e)break e}else ye.head&&(ye.head.name=null);ye.length=0,ye.mode=8;case 8:if(4096&ye.flags){if(Me===0)break e;for(Ve=0;_e=Te[we+Ve++],ye.head&&_e&&ye.length<65536&&(ye.head.comment+=String.fromCharCode(_e)),_e&&Ve<Me;);if(512&ye.flags&&(ye.check=q(ye.check,Te,Ve,we)),Me-=Ve,we+=Ve,_e)break e}else ye.head&&(ye.head.comment=null);ye.mode=9;case 9:if(512&ye.flags){for(;Ie<16;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if(Ne!==(65535&ye.check)){xe.msg="header crc mismatch",ye.mode=30;break}Ie=Ne=0}ye.head&&(ye.head.hcrc=ye.flags>>9&1,ye.head.done=!0),xe.adler=ye.check=0,ye.mode=12;break;case 10:for(;Ie<32;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}xe.adler=ye.check=ae(Ne),Ie=Ne=0,ye.mode=11;case 11:if(ye.havedict===0)return xe.next_out=Ae,xe.avail_out=ke,xe.next_in=we,xe.avail_in=Me,ye.hold=Ne,ye.bits=Ie,2;xe.adler=ye.check=1,ye.mode=12;case 12:if(Pe===5||Pe===6)break e;case 13:if(ye.last){Ne>>>=7&Ie,Ie-=7&Ie,ye.mode=27;break}for(;Ie<3;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}switch(ye.last=1&Ne,Ie-=1,3&(Ne>>>=1)){case 0:ye.mode=14;break;case 1:if(Ee(ye),ye.mode=20,Pe!==6)break;Ne>>>=2,Ie-=2;break e;case 2:ye.mode=17;break;case 3:xe.msg="invalid block type",ye.mode=30}Ne>>>=2,Ie-=2;break;case 14:for(Ne>>>=7&Ie,Ie-=7&Ie;Ie<32;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if((65535&Ne)!=(Ne>>>16^65535)){xe.msg="invalid stored block lengths",ye.mode=30;break}if(ye.length=65535&Ne,Ie=Ne=0,ye.mode=15,Pe===6)break e;case 15:ye.mode=16;case 16:if(Ve=ye.length){if(Me<Ve&&(Ve=Me),ke<Ve&&(Ve=ke),Ve===0)break e;U.arraySet(Le,Te,we,Ve,Ae),Me-=Ve,we+=Ve,ke-=Ve,Ae+=Ve,ye.length-=Ve;break}ye.mode=12;break;case 17:for(;Ie<14;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if(ye.nlen=257+(31&Ne),Ne>>>=5,Ie-=5,ye.ndist=1+(31&Ne),Ne>>>=5,Ie-=5,ye.ncode=4+(15&Ne),Ne>>>=4,Ie-=4,286<ye.nlen||30<ye.ndist){xe.msg="too many length or distance symbols",ye.mode=30;break}ye.have=0,ye.mode=18;case 18:for(;ye.have<ye.ncode;){for(;Ie<3;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}ye.lens[tt[ye.have++]]=7&Ne,Ne>>>=3,Ie-=3}for(;ye.have<19;)ye.lens[tt[ye.have++]]=0;if(ye.lencode=ye.lendyn,ye.lenbits=7,Ze={bits:ye.lenbits},je=Q(0,ye.lens,0,19,ye.lencode,0,ye.work,Ze),ye.lenbits=Ze.bits,je){xe.msg="invalid code lengths set",ye.mode=30;break}ye.have=0,ye.mode=19;case 19:for(;ye.have<ye.nlen+ye.ndist;){for(;st=(Oe=ye.lencode[Ne&(1<<ye.lenbits)-1])>>>16&255,pt=65535&Oe,!((Je=Oe>>>24)<=Ie);){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if(pt<16)Ne>>>=Je,Ie-=Je,ye.lens[ye.have++]=pt;else{if(pt===16){for(De=Je+2;Ie<De;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if(Ne>>>=Je,Ie-=Je,ye.have===0){xe.msg="invalid bit length repeat",ye.mode=30;break}_e=ye.lens[ye.have-1],Ve=3+(3&Ne),Ne>>>=2,Ie-=2}else if(pt===17){for(De=Je+3;Ie<De;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}Ie-=Je,_e=0,Ve=3+(7&(Ne>>>=Je)),Ne>>>=3,Ie-=3}else{for(De=Je+7;Ie<De;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}Ie-=Je,_e=0,Ve=11+(127&(Ne>>>=Je)),Ne>>>=7,Ie-=7}if(ye.have+Ve>ye.nlen+ye.ndist){xe.msg="invalid bit length repeat",ye.mode=30;break}for(;Ve--;)ye.lens[ye.have++]=_e}}if(ye.mode===30)break;if(ye.lens[256]===0){xe.msg="invalid code -- missing end-of-block",ye.mode=30;break}if(ye.lenbits=9,Ze={bits:ye.lenbits},je=Q(Z,ye.lens,0,ye.nlen,ye.lencode,0,ye.work,Ze),ye.lenbits=Ze.bits,je){xe.msg="invalid literal/lengths set",ye.mode=30;break}if(ye.distbits=6,ye.distcode=ye.distdyn,Ze={bits:ye.distbits},je=Q(K,ye.lens,ye.nlen,ye.ndist,ye.distcode,0,ye.work,Ze),ye.distbits=Ze.bits,je){xe.msg="invalid distances set",ye.mode=30;break}if(ye.mode=20,Pe===6)break e;case 20:ye.mode=21;case 21:if(6<=Me&&258<=ke){xe.next_out=Ae,xe.avail_out=ke,xe.next_in=we,xe.avail_in=Me,ye.hold=Ne,ye.bits=Ie,Y(xe,ze),Ae=xe.next_out,Le=xe.output,ke=xe.avail_out,we=xe.next_in,Te=xe.input,Me=xe.avail_in,Ne=ye.hold,Ie=ye.bits,ye.mode===12&&(ye.back=-1);break}for(ye.back=0;st=(Oe=ye.lencode[Ne&(1<<ye.lenbits)-1])>>>16&255,pt=65535&Oe,!((Je=Oe>>>24)<=Ie);){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if(st&&(240&st)==0){for(dt=Je,yt=st,Fe=pt;st=(Oe=ye.lencode[Fe+((Ne&(1<<dt+yt)-1)>>dt)])>>>16&255,pt=65535&Oe,!(dt+(Je=Oe>>>24)<=Ie);){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}Ne>>>=dt,Ie-=dt,ye.back+=dt}if(Ne>>>=Je,Ie-=Je,ye.back+=Je,ye.length=pt,st===0){ye.mode=26;break}if(32&st){ye.back=-1,ye.mode=12;break}if(64&st){xe.msg="invalid literal/length code",ye.mode=30;break}ye.extra=15&st,ye.mode=22;case 22:if(ye.extra){for(De=ye.extra;Ie<De;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}ye.length+=Ne&(1<<ye.extra)-1,Ne>>>=ye.extra,Ie-=ye.extra,ye.back+=ye.extra}ye.was=ye.length,ye.mode=23;case 23:for(;st=(Oe=ye.distcode[Ne&(1<<ye.distbits)-1])>>>16&255,pt=65535&Oe,!((Je=Oe>>>24)<=Ie);){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if((240&st)==0){for(dt=Je,yt=st,Fe=pt;st=(Oe=ye.distcode[Fe+((Ne&(1<<dt+yt)-1)>>dt)])>>>16&255,pt=65535&Oe,!(dt+(Je=Oe>>>24)<=Ie);){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}Ne>>>=dt,Ie-=dt,ye.back+=dt}if(Ne>>>=Je,Ie-=Je,ye.back+=Je,64&st){xe.msg="invalid distance code",ye.mode=30;break}ye.offset=pt,ye.extra=15&st,ye.mode=24;case 24:if(ye.extra){for(De=ye.extra;Ie<De;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}ye.offset+=Ne&(1<<ye.extra)-1,Ne>>>=ye.extra,Ie-=ye.extra,ye.back+=ye.extra}if(ye.offset>ye.dmax){xe.msg="invalid distance too far back",ye.mode=30;break}ye.mode=25;case 25:if(ke===0)break e;if(Ve=ze-ke,ye.offset>Ve){if((Ve=ye.offset-Ve)>ye.whave&&ye.sane){xe.msg="invalid distance too far back",ye.mode=30;break}Ye=Ve>ye.wnext?(Ve-=ye.wnext,ye.wsize-Ve):ye.wnext-Ve,Ve>ye.length&&(Ve=ye.length),et=ye.window}else et=Le,Ye=Ae-ye.offset,Ve=ye.length;for(ke<Ve&&(Ve=ke),ke-=Ve,ye.length-=Ve;Le[Ae++]=et[Ye++],--Ve;);ye.length===0&&(ye.mode=21);break;case 26:if(ke===0)break e;Le[Ae++]=ye.length,ke--,ye.mode=21;break;case 27:if(ye.wrap){for(;Ie<32;){if(Me===0)break e;Me--,Ne|=Te[we++]<<Ie,Ie+=8}if(ze-=ke,xe.total_out+=ze,ye.total+=ze,ze&&(xe.adler=ye.check=ye.flags?q(ye.check,Le,ze,Ae-ze):W(ye.check,Le,ze,Ae-ze)),ze=ke,(ye.flags?Ne:ae(Ne))!==ye.check){xe.msg="incorrect data check",ye.mode=30;break}Ie=Ne=0}ye.mode=28;case 28:if(ye.wrap&&ye.flags){for(;Ie<32;){if(Me===0)break e;Me--,Ne+=Te[we++]<<Ie,Ie+=8}if(Ne!==(4294967295&ye.total)){xe.msg="incorrect length check",ye.mode=30;break}Ie=Ne=0}ye.mode=29;case 29:je=1;break e;case 30:je=-3;break e;case 31:return-4;case 32:default:return ie}return xe.next_out=Ae,xe.avail_out=ke,xe.next_in=we,xe.avail_in=Me,ye.hold=Ne,ye.bits=Ie,(ye.wsize||ze!==xe.avail_out&&ye.mode<30&&(ye.mode<27||Pe!==4))&&ve(xe,xe.output,xe.next_out,ze-xe.avail_out)?(ye.mode=31,-4):(Ge-=xe.avail_in,ze-=xe.avail_out,xe.total_in+=Ge,xe.total_out+=ze,ye.total+=ze,ye.wrap&&ze&&(xe.adler=ye.check=ye.flags?q(ye.check,Le,ze,xe.next_out-ze):W(ye.check,Le,ze,xe.next_out-ze)),xe.data_type=ye.bits+(ye.last?64:0)+(ye.mode===12?128:0)+(ye.mode===20||ye.mode===15?256:0),(Ge==0&&ze===0||Pe===4)&&je===J&&(je=-5),je)},G.inflateEnd=function(xe){if(!xe||!xe.state)return ie;var Pe=xe.state;return Pe.window&&(Pe.window=null),xe.state=null,J},G.inflateGetHeader=function(xe,Pe){var ye;return xe&&xe.state?(2&(ye=xe.state).wrap)==0?ie:((ye.head=Pe).done=!1,J):ie},G.inflateSetDictionary=function(xe,Pe){var ye,Te=Pe.length;return xe&&xe.state?(ye=xe.state).wrap!==0&&ye.mode!==11?ie:ye.mode===11&&W(1,Pe,Te,0)!==ye.check?-3:ve(xe,Pe,Te,Te)?(ye.mode=31,-4):(ye.havedict=1,J):ie},G.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(F,D,G){var U=F("../utils/common"),W=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],q=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Y=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Q=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];D.exports=function(Z,K,J,ie,ne,se,re,ae){var le,ce,he,de,me,fe,ge,Se,Ee,ve=ae.bits,xe=0,Pe=0,ye=0,Te=0,Le=0,we=0,Ae=0,Me=0,ke=0,Ne=0,Ie=null,Ge=0,ze=new U.Buf16(16),Ve=new U.Buf16(16),Ye=null,et=0;for(xe=0;xe<=15;xe++)ze[xe]=0;for(Pe=0;Pe<ie;Pe++)ze[K[J+Pe]]++;for(Le=ve,Te=15;1<=Te&&ze[Te]===0;Te--);if(Te<Le&&(Le=Te),Te===0)return ne[se++]=20971520,ne[se++]=20971520,ae.bits=1,0;for(ye=1;ye<Te&&ze[ye]===0;ye++);for(Le<ye&&(Le=ye),xe=Me=1;xe<=15;xe++)if(Me<<=1,(Me-=ze[xe])<0)return-1;if(0<Me&&(Z===0||Te!==1))return-1;for(Ve[1]=0,xe=1;xe<15;xe++)Ve[xe+1]=Ve[xe]+ze[xe];for(Pe=0;Pe<ie;Pe++)K[J+Pe]!==0&&(re[Ve[K[J+Pe]]++]=Pe);if(fe=Z===0?(Ie=Ye=re,19):Z===1?(Ie=W,Ge-=257,Ye=q,et-=257,256):(Ie=Y,Ye=Q,-1),xe=ye,me=se,Ae=Pe=Ne=0,he=-1,de=(ke=1<<(we=Le))-1,Z===1&&852<ke||Z===2&&592<ke)return 1;for(;;){for(ge=xe-Ae,Ee=re[Pe]<fe?(Se=0,re[Pe]):re[Pe]>fe?(Se=Ye[et+re[Pe]],Ie[Ge+re[Pe]]):(Se=96,0),le=1<<xe-Ae,ye=ce=1<<we;ne[me+(Ne>>Ae)+(ce-=le)]=ge<<24|Se<<16|Ee|0,ce!==0;);for(le=1<<xe-1;Ne≤)le>>=1;if(le!==0?(Ne&=le-1,Ne+=le):Ne=0,Pe++,--ze[xe]==0){if(xe===Te)break;xe=K[J+re[Pe]]}if(Le<xe&&(Ne&de)!==he){for(Ae===0&&(Ae=Le),me+=ye,Me=1<<(we=xe-Ae);we+Ae<Te&&!((Me-=ze[we+Ae])<=0);)we++,Me<<=1;if(ke+=1<<we,Z===1&&852<ke||Z===2&&592<ke)return 1;ne[he=Ne&de]=Le<<24|we<<16|me-se|0}}return Ne!==0&&(ne[me+Ne]=xe-Ae<<24|64<<16|0),ae.bits=Le,0}},{"../utils/common":41}],51:[function(F,D,G){D.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(F,D,G){var U=F("../utils/common"),W=0,q=1;function Y(Oe){for(var Xe=Oe.length;0<=--Xe;)Oe[Xe]=0}var Q=0,Z=29,K=256,J=K+1+Z,ie=30,ne=19,se=2*J+1,re=15,ae=16,le=7,ce=256,he=16,de=17,me=18,fe=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ge=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Se=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ee=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ve=new Array(2*(J+2));Y(ve);var xe=new Array(2*ie);Y(xe);var Pe=new Array(512);Y(Pe);var ye=new Array(256);Y(ye);var Te=new Array(Z);Y(Te);var Le,we,Ae,Me=new Array(ie);function ke(Oe,Xe,tt,nt,Ke){this.static_tree=Oe,this.extra_bits=Xe,this.extra_base=tt,this.elems=nt,this.max_length=Ke,this.has_stree=Oe&&Oe.length}function Ne(Oe,Xe){this.dyn_tree=Oe,this.max_code=0,this.stat_desc=Xe}function Ie(Oe){return Oe<256?Pe[Oe]:Pe[256+(Oe>>>7)]}function Ge(Oe,Xe){Oe.pending_buf[Oe.pending++]=255&Xe,Oe.pending_buf[Oe.pending++]=Xe>>>8&255}function ze(Oe,Xe,tt){Oe.bi_valid>ae-tt?(Oe.bi_buf|=Xe<<Oe.bi_valid&65535,Ge(Oe,Oe.bi_buf),Oe.bi_buf=Xe>>ae-Oe.bi_valid,Oe.bi_valid+=tt-ae):(Oe.bi_buf|=Xe<<Oe.bi_valid&65535,Oe.bi_valid+=tt)}function Ve(Oe,Xe,tt){ze(Oe,tt[2*Xe],tt[2*Xe+1])}function Ye(Oe,Xe){for(var tt=0;tt|=1&Oe,Oe>>>=1,tt<<=1,0<--Xe;);return tt>>>1}function et(Oe,Xe,tt){var nt,Ke,ct=new Array(re+1),ut=0;for(nt=1;nt<=re;nt++)ct[nt]=ut=ut+tt[nt-1]<<1;for(Ke=0;Ke<=Xe;Ke++){var ht=Oe[2*Ke+1];ht!==0&&(Oe[2*Ke]=Ye(ct[ht]++,ht))}}function Je(Oe){var Xe;for(Xe=0;Xe<J;Xe++)Oe.dyn_ltree[2*Xe]=0;for(Xe=0;Xe<ie;Xe++)Oe.dyn_dtree[2*Xe]=0;for(Xe=0;Xe<ne;Xe++)Oe.bl_tree[2*Xe]=0;Oe.dyn_ltree[2*ce]=1,Oe.opt_len=Oe.static_len=0,Oe.last_lit=Oe.matches=0}function st(Oe){8<Oe.bi_valid?Ge(Oe,Oe.bi_buf):0<Oe.bi_valid&&(Oe.pending_buf[Oe.pending++]=Oe.bi_buf),Oe.bi_buf=0,Oe.bi_valid=0}function pt(Oe,Xe,tt,nt){var Ke=2*Xe,ct=2*tt;return Oe[Ke]<Oe[ct]||Oe[Ke]===Oe[ct]&&nt[Xe]<=nt[tt]}function dt(Oe,Xe,tt){for(var nt=Oe.heap[tt],Ke=tt<<1;Ke<=Oe.heap_len&&(Ke<Oe.heap_len&&pt(Xe,Oe.heap[Ke+1],Oe.heap[Ke],Oe.depth)&&Ke++,!pt(Xe,nt,Oe.heap[Ke],Oe.depth));)Oe.heap[tt]=Oe.heap[Ke],tt=Ke,Ke<<=1;Oe.heap[tt]=nt}function yt(Oe,Xe,tt){var nt,Ke,ct,ut,ht=0;if(Oe.last_lit!==0)for(;nt=Oe.pending_buf[Oe.d_buf+2*ht]<<8|Oe.pending_buf[Oe.d_buf+2*ht+1],Ke=Oe.pending_buf[Oe.l_buf+ht],ht++,nt===0?Ve(Oe,Ke,Xe):(Ve(Oe,(ct=ye[Ke])+K+1,Xe),(ut=fe[ct])!==0&&ze(Oe,Ke-=Te[ct],ut),Ve(Oe,ct=Ie(--nt),tt),(ut=ge[ct])!==0&&ze(Oe,nt-=Me[ct],ut)),ht<Oe.last_lit;);Ve(Oe,ce,Xe)}function Fe(Oe,Xe){var tt,nt,Ke,ct=Xe.dyn_tree,ut=Xe.stat_desc.static_tree,ht=Xe.stat_desc.has_stree,vt=Xe.stat_desc.elems,xt=-1;for(Oe.heap_len=0,Oe.heap_max=se,tt=0;tt<vt;tt++)ct[2*tt]!==0?(Oe.heap[++Oe.heap_len]=xt=tt,Oe.depth[tt]=0):ct[2*tt+1]=0;for(;Oe.heap_len<2;)ct[2*(Ke=Oe.heap[++Oe.heap_len]=xt<2?++xt:0)]=1,Oe.depth[Ke]=0,Oe.opt_len--,ht&&(Oe.static_len-=ut[2*Ke+1]);for(Xe.max_code=xt,tt=Oe.heap_len>>1;1<=tt;tt--)dt(Oe,ct,tt);for(Ke=vt;tt=Oe.heap[1],Oe.heap[1]=Oe.heap[Oe.heap_len--],dt(Oe,ct,1),nt=Oe.heap[1],Oe.heap[--Oe.heap_max]=tt,Oe.heap[--Oe.heap_max]=nt,ct[2*Ke]=ct[2*tt]+ct[2*nt],Oe.depth[Ke]=(Oe.depth[tt]>=Oe.depth[nt]?Oe.depth[tt]:Oe.depth[nt])+1,ct[2*tt+1]=ct[2*nt+1]=Ke,Oe.heap[1]=Ke++,dt(Oe,ct,1),2<=Oe.heap_len;);Oe.heap[--Oe.heap_max]=Oe.heap[1],function(gt,Pt){var kt,Yt,fi,Jt,ii,ui,Qt=Pt.dyn_tree,Ai=Pt.max_code,Qi=Pt.stat_desc.static_tree,In=Pt.stat_desc.has_stree,cn=Pt.stat_desc.extra_bits,_t=Pt.stat_desc.extra_base,oi=Pt.stat_desc.max_length,$i=0;for(Jt=0;Jt<=re;Jt++)gt.bl_count[Jt]=0;for(Qt[2*gt.heap[gt.heap_max]+1]=0,kt=gt.heap_max+1;kt<se;kt++)oi<(Jt=Qt[2*Qt[2*(Yt=gt.heap[kt])+1]+1]+1)&&(Jt=oi,$i++),Qt[2*Yt+1]=Jt,Ai<Yt||(gt.bl_count[Jt]++,ii=0,_t<=Yt&&(ii=cn[Yt-_t]),ui=Qt[2*Yt],gt.opt_len+=ui*(Jt+ii),In&&(gt.static_len+=ui*(Qi[2*Yt+1]+ii)));if($i!==0){do{for(Jt=oi-1;gt.bl_count[Jt]===0;)Jt--;gt.bl_count[Jt]--,gt.bl_count[Jt+1]+=2,gt.bl_count[oi]--,$i-=2}while(0<$i);for(Jt=oi;Jt!==0;Jt--)for(Yt=gt.bl_count[Jt];Yt!==0;)Ai<(fi=gt.heap[--kt])||(Qt[2*fi+1]!==Jt&&(gt.opt_len+=(Jt-Qt[2*fi+1])*Qt[2*fi],Qt[2*fi+1]=Jt),Yt--)}}(Oe,Xe),et(ct,xt,Oe.bl_count)}function _e(Oe,Xe,tt){var nt,Ke,ct=-1,ut=Xe[1],ht=0,vt=7,xt=4;for(ut===0&&(vt=138,xt=3),Xe[2*(tt+1)+1]=65535,nt=0;nt<=tt;nt++)Ke=ut,ut=Xe[2*(nt+1)+1],++ht<vt&&Ke===ut||(ht<xt?Oe.bl_tree[2*Ke]+=ht:Ke!==0?(Ke!==ct&&Oe.bl_tree[2*Ke]++,Oe.bl_tree[2*he]++):ht<=10?Oe.bl_tree[2*de]++:Oe.bl_tree[2*me]++,ct=Ke,xt=(ht=0)===ut?(vt=138,3):Ke===ut?(vt=6,3):(vt=7,4))}function je(Oe,Xe,tt){var nt,Ke,ct=-1,ut=Xe[1],ht=0,vt=7,xt=4;for(ut===0&&(vt=138,xt=3),nt=0;nt<=tt;nt++)if(Ke=ut,ut=Xe[2*(nt+1)+1],!(++ht<vt&&Ke===ut)){if(ht<xt)for(;Ve(Oe,Ke,Oe.bl_tree),--ht!=0;);else Ke!==0?(Ke!==ct&&(Ve(Oe,Ke,Oe.bl_tree),ht--),Ve(Oe,he,Oe.bl_tree),ze(Oe,ht-3,2)):ht<=10?(Ve(Oe,de,Oe.bl_tree),ze(Oe,ht-3,3)):(Ve(Oe,me,Oe.bl_tree),ze(Oe,ht-11,7));ct=Ke,xt=(ht=0)===ut?(vt=138,3):Ke===ut?(vt=6,3):(vt=7,4)}}Y(Me);var Ze=!1;function De(Oe,Xe,tt,nt){ze(Oe,(Q<<1)+(nt?1:0),3),function(Ke,ct,ut,ht){st(Ke),ht&&(Ge(Ke,ut),Ge(Ke,~ut)),U.arraySet(Ke.pending_buf,Ke.window,ct,ut,Ke.pending),Ke.pending+=ut}(Oe,Xe,tt,!0)}G._tr_init=function(Oe){Ze||(function(){var Xe,tt,nt,Ke,ct,ut=new Array(re+1);for(Ke=nt=0;Ke<Z-1;Ke++)for(Te[Ke]=nt,Xe=0;Xe<1<<fe[Ke];Xe++)ye[nt++]=Ke;for(ye[nt-1]=Ke,Ke=ct=0;Ke<16;Ke++)for(Me[Ke]=ct,Xe=0;Xe<1<<ge[Ke];Xe++)Pe[ct++]=Ke;for(ct>>=7;Ke<ie;Ke++)for(Me[Ke]=ct<<7,Xe=0;Xe<1<<ge[Ke]-7;Xe++)Pe[256+ct++]=Ke;for(tt=0;tt<=re;tt++)ut[tt]=0;for(Xe=0;Xe<=143;)ve[2*Xe+1]=8,Xe++,ut[8]++;for(;Xe<=255;)ve[2*Xe+1]=9,Xe++,ut[9]++;for(;Xe<=279;)ve[2*Xe+1]=7,Xe++,ut[7]++;for(;Xe<=287;)ve[2*Xe+1]=8,Xe++,ut[8]++;for(et(ve,J+1,ut),Xe=0;Xe<ie;Xe++)xe[2*Xe+1]=5,xe[2*Xe]=Ye(Xe,5);Le=new ke(ve,fe,K+1,J,re),we=new ke(xe,ge,0,ie,re),Ae=new ke(new Array(0),Se,0,ne,le)}(),Ze=!0),Oe.l_desc=new Ne(Oe.dyn_ltree,Le),Oe.d_desc=new Ne(Oe.dyn_dtree,we),Oe.bl_desc=new Ne(Oe.bl_tree,Ae),Oe.bi_buf=0,Oe.bi_valid=0,Je(Oe)},G._tr_stored_block=De,G._tr_flush_block=function(Oe,Xe,tt,nt){var Ke,ct,ut=0;0<Oe.level?(Oe.strm.data_type===2&&(Oe.strm.data_type=function(ht){var vt,xt=4093624447;for(vt=0;vt<=31;vt++,xt>>>=1)if(1&xt&&ht.dyn_ltree[2*vt]!==0)return W;if(ht.dyn_ltree[18]!==0||ht.dyn_ltree[20]!==0||ht.dyn_ltree[26]!==0)return q;for(vt=32;vt<K;vt++)if(ht.dyn_ltree[2*vt]!==0)return q;return W}(Oe)),Fe(Oe,Oe.l_desc),Fe(Oe,Oe.d_desc),ut=function(ht){var vt;for(_e(ht,ht.dyn_ltree,ht.l_desc.max_code),_e(ht,ht.dyn_dtree,ht.d_desc.max_code),Fe(ht,ht.bl_desc),vt=ne-1;3<=vt&&ht.bl_tree[2*Ee[vt]+1]===0;vt--);return ht.opt_len+=3*(vt+1)+5+5+4,vt}(Oe),Ke=Oe.opt_len+3+7>>>3,(ct=Oe.static_len+3+7>>>3)<=Ke&&(Ke=ct)):Ke=ct=tt+5,tt+4<=Ke&&Xe!==-1?De(Oe,Xe,tt,nt):Oe.strategy===4||ct===Ke?(ze(Oe,2+(nt?1:0),3),yt(Oe,ve,xe)):(ze(Oe,4+(nt?1:0),3),function(ht,vt,xt,gt){var Pt;for(ze(ht,vt-257,5),ze(ht,xt-1,5),ze(ht,gt-4,4),Pt=0;Pt<gt;Pt++)ze(ht,ht.bl_tree[2*Ee[Pt]+1],3);je(ht,ht.dyn_ltree,vt-1),je(ht,ht.dyn_dtree,xt-1)}(Oe,Oe.l_desc.max_code+1,Oe.d_desc.max_code+1,ut+1),yt(Oe,Oe.dyn_ltree,Oe.dyn_dtree)),Je(Oe),nt&&st(Oe)},G._tr_tally=function(Oe,Xe,tt){return Oe.pending_buf[Oe.d_buf+2*Oe.last_lit]=Xe>>>8&255,Oe.pending_buf[Oe.d_buf+2*Oe.last_lit+1]=255&Xe,Oe.pending_buf[Oe.l_buf+Oe.last_lit]=255&tt,Oe.last_lit++,Xe===0?Oe.dyn_ltree[2*tt]++:(Oe.matches++,Xe--,Oe.dyn_ltree[2*(ye[tt]+K+1)]++,Oe.dyn_dtree[2*Ie(Xe)]++),Oe.last_lit===Oe.lit_bufsize-1},G._tr_align=function(Oe){ze(Oe,2,3),Ve(Oe,ce,ve),function(Xe){Xe.bi_valid===16?(Ge(Xe,Xe.bi_buf),Xe.bi_buf=0,Xe.bi_valid=0):8<=Xe.bi_valid&&(Xe.pending_buf[Xe.pending++]=255&Xe.bi_buf,Xe.bi_buf>>=8,Xe.bi_valid-=8)}(Oe)}},{"../utils/common":41}],53:[function(F,D,G){D.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(F,D,G){D.exports=typeof setImmediate=="function"?setImmediate:function(){var U=[].slice.apply(arguments);U.splice(1,0,0),setTimeout.apply(null,U)}},{}]},{},[10])(10)})})(jszip_min);var JSZip=jszip_min.exports;class MXLHelper{static MXLtoIXmlElement(R){const F=new JSZip;return F.loadAsync(R).then(U=>F.file("META-INF/container.xml").async("text"),U=>{throw U}).then(U=>{const Y=new DOMParser().parseFromString(U,"text/xml").getElementsByTagName("rootfile")[0].getAttribute("full-path");return F.file(Y).async("text")},U=>{throw U}).then(U=>{const q=new DOMParser().parseFromString(U,"text/xml"),Y=new IXmlElement(q.documentElement);return Promise.resolve(Y)},U=>{throw U}).then(U=>U,U=>{throw new Error("extractSheetFromMxl: "+U.message)})}static MXLtoXMLstring(R){const F=new JSZip;return F.loadAsync(R).then(D=>F.file("META-INF/container.xml").async("text"),D=>{throw log$2.error(D),D}).then(D=>{const W=new DOMParser().parseFromString(D,"text/xml").getElementsByTagName("rootfile")[0].getAttribute("full-path");return F.file(W).async("text")},D=>{throw D})}}class PlaybackNoteGenerator{calculate(R){const F=new MusicPartManagerIterator(R);for(;!F.EndReached;){const D=F.CurrentEnrolledTimestamp,G=F.CurrentAudibleVoiceEntries();for(const U of G)this.handleVoiceEntry(R,U,D);F.moveToNext()}}handleVoiceEntry(R,F,D){if(F.IsGrace)return;const G=F.ParentVoice;let U;R.PlaybackDataDict.containsKey(G)?U=R.PlaybackDataDict.getValue(G):(U=[],R.PlaybackDataDict.setValue(G,U));for(const W of F.PlaybackEntries)if(W.HasNotes){for(const Y of W.Notes)Y.setLength();const q=Fraction$1.plus(D,W.TimestampShift);PlaybackNoteGenerator.addEntrySorted(U,W,q)}}static addEntrySorted(R,F,D){if(R.length===0)R.push({enrolledTimestamp:D,playbackEntry:F});else for(let G=R.length-1;G>=0;G--){const U=R[G];if(D.RealValue>U.enrolledTimestamp.RealValue)if(G===R.length-1){R.push({enrolledTimestamp:D,playbackEntry:F});break}else{R.splice(G+1,0,{enrolledTimestamp:D,playbackEntry:F});break}}}}class ScreenViewingRegion{constructor(R,F,D,G){this.psi=new BoundingBox$1(void 0),this.displaySizeInPixel=R,this.RelativeDisplaySize=F,this.RelativeDisplayPosition=D,this.WidthInUnits=G}static createWithRelativeDefaults(R,F){return new ScreenViewingRegion(R,new SizeF2D(1,1),new PointF2D(0,0),F)}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(R){this.psi.AbsolutePosition=R}get DisplaySizeInPixel(){return this.displaySizeInPixel}set DisplaySizeInPixel(R){this.displaySizeInPixel=R,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(R){this.relativeRegionSize=R,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(R){this.psi.BorderRight=R,this.recalculateDependentVariables()}get ViewRegionInUnits(){return new SizeF2D(this.psi.BorderRight,this.psi.BorderBottom)}isVisible(R,F){const D=this.psi.collisionDetection(R);return this.psi.liesInsideBorders(R),D}isInsideDisplayArea(R,F){return this.RelativeDisplayPosition.x<=R&&R<=this.RelativeDisplayPosition.x+this.RelativeDisplaySize.width&&this.RelativeDisplayPosition.y<=F&&F<=this.RelativeDisplayPosition.y+this.RelativeDisplaySize.height}transformToUnitCoordinates(R){return new PointF2D(this.UpperLeftPositionInUnits.x+this.ViewRegionInUnits.width*((R.x-this.RelativeDisplayPosition.x)/this.RelativeDisplaySize.width),this.UpperLeftPositionInUnits.y+this.ViewRegionInUnits.height*((R.y-this.RelativeDisplayPosition.y)/this.RelativeDisplaySize.height))}transformLengthXToUnitCoordinates(R){return R/this.horizontalUnitToPixelRatio}transformLengthYToUnitCoordinates(R){return R/this.verticalUnitToPixelRatio}recalculateDependentVariables(){const R=this.regionSizeInPixel.width/this.regionSizeInPixel.height;this.psi.BorderBottom=this.psi.BorderRight/R,this.horizontalUnitToPixelRatio=this.regionSizeInPixel.width/this.ViewRegionInUnits.width,this.verticalUnitToPixelRatio=this.regionSizeInPixel.height/this.ViewRegionInUnits.height}}class AbstractZoomView{constructor(R){this.aspectRatio=1,this.zoomViews=[],this.mouseZoomMode=!1,this.autoScrollY=!0,this.displayInteractionManager=R,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(R,F){if(!this.convertToUnitsReady())return;const D=this.getPositionInUnits(R,F);this.unitPosTouched(D,R,F)}get TouchActive(){return this.displayInteractionManager.TouchActive}get TouchMoving(){return this.displayInteractionManager.TouchMoving}positionDoubleTouched(R,F){if(!this.convertToUnitsReady())return;const D=this.getPositionInUnits(R,F);this.unitPosDoubleTouched(D,R,F)}get UsesManuallyControlledZoomMode(){return this.usesManuallyControlledZoomMode}set UsesManuallyControlledZoomMode(R){this.usesManuallyControlledZoomMode=R}mouseDown(R,F,D=!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 G=this.getPositionInUnits(R,F);this.unitPosTouchDown(G,R,F),this.usesManuallyControlledZoomMode||(D?this.mouseZoomMode=!0:this.mouseZoomMode=!1)}mouseUp(R,F){const D=this.getPositionInUnits(R,F);this.unitPosTouchUp(D,R,F)}mouseMove(R,F,D,G){this.mouseZoomMode?(Math.abs(D-0)>1e-8&&(this.RangeX=Math.abs(this.lastRangeX/(1+D))),!this.lockRanges&&Math.abs(G-0)>1e-8&&(this.RangeY=Math.abs(this.lastRangeY/(1-G)))):(Math.abs(D-0)>1e-8&&(this.OffsetX=this.lastOffsetX-D*this.RangeX),Math.abs(G-0)>1e-8&&(this.OffsetY=this.lastOffsetY-G*this.RangeY));const U=this.getPositionInUnits(R,F);this.unitPosMove(U,R,F)}zoom(R){this.RangeX=Math.abs(this.lastRangeX/R)}addZoomView(R){this.zoomViews.push(R)}get OffsetX(){return this.offsetX}set OffsetX(R){this.offsetX=Math.min(this.offsetXMax,Math.max(this.offsetXMin,R));for(const F of this.zoomViews)F.viewportXChanged(this.offsetX,this.RangeX)}get OffsetY(){return this.offsetY}set OffsetY(R){this.offsetY=R,this.offsetY>this.offsetYMax?this.offsetY=this.offsetYMax:this.offsetY<this.offsetYMin&&(this.offsetY=this.offsetYMin);for(const F of this.zoomViews)F.viewportYChanged(this.offsetY,this.RangeY)}get RangeX(){return this.rangeX}set RangeX(R){if(this.rangeX=Math.min(this.rangeXMax,Math.max(this.rangeXMin,R)),this.lockRanges){this.RangeY=this.RangeX/this.aspectRatio;for(const F of this.zoomViews)F.viewportXChanged(this.OffsetX,this.RangeX),F.viewportYChanged(this.OffsetY,this.RangeY)}else for(const F of this.zoomViews)F.viewportXChanged(this.OffsetX,this.RangeX)}get RangeY(){return this.rangeY}set RangeY(R){this.rangeY=Math.min(this.rangeYMax,Math.max(this.rangeYMin,R));for(const F of this.zoomViews)F.viewportYChanged(this.OffsetY,this.RangeY)}set AspectRatio(R){this.aspectRatio=R}initialize(R,F,D,G){this.setVerticalViewport(D,G),this.setHorizontalViewport(R,F)}setHorizontalViewport(R,F){this.RangeX=F,this.OffsetX=R,this.lastRangeX=this.RangeX,this.lastOffsetX=this.OffsetX}setVerticalViewport(R,F){this.RangeY=F,this.OffsetY=R,this.lastRangeY=this.RangeY,this.lastOffsetY=this.OffsetY}viewSizeChanged(R,F){this.lockRanges&&(this.aspectRatio=R/F,this.RangeY=this.RangeX/this.aspectRatio,this.lastRangeY=this.RangeY)}outputChanged(R,F,D){this.OffsetY=F}setOffsetXValueOnly(R){this.offsetX=Math.min(this.offsetXMax,Math.max(this.offsetXMin,R))}setXOffset(R,F){this.displayInteractionManager.TouchActive||this.XScrollingEnabled}setOffsetYValueOnly(R){this.offsetY=Math.min(this.offsetYMax,Math.max(this.offsetYMin,R))}setYOffset(R,F){this.displayInteractionManager.TouchActive||!this.YScrollingEnabled||F&&this.selectScrollControllerY(!0)}selectScrollControllerY(R){this.autoScrollY!==R&&(this.autoScrollY=R)}displaySizeChanged(R,F){throw new Error("Method not implemented.")}}var InteractionType=(B=>(B[B.SingleTouch=0]="SingleTouch",B[B.DoubleTouch=1]="DoubleTouch",B[B.TouchUp=2]="TouchUp",B[B.TouchDown=3]="TouchDown",B[B.Move=4]="Move",B))(InteractionType||{});class VoiceEntryInteractionListener{constructor(R){this.renderingManager=R}userDisplayInteraction(R,F,D){var G,U;switch(D){case InteractionType.TouchDown:case InteractionType.SingleTouch:case InteractionType.DoubleTouch:{const W=this.renderingManager.GraphicalMusicSheet.GetNearestVoiceEntry(F);W&&W.parentStaffEntry.parentVerticalContainer!==void 0&&((G=W.notes[0])==null?void 0:G.sourceNote.Pitch)!==void 0&&((U=this.renderingManager.PlaybackManager)==null||U.playVoiceEntry(W.parentVoiceEntry));break}}}}class SheetRenderingManager extends AbstractZoomView{constructor(R,F){super(R),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=F,this.addZoomView(this),this.lockRanges=!0,this.TopBarHeightInPixel=70,this.BottomBarHeightInPixel=0,this.rules.UseDefaultVoiceInteractionListener&&this.listeners.push(new VoiceEntryInteractionListener(this))}addListener(R){this.listeners.push(R)}get Listeners(){return this.listeners}convertToUnitsReady(){return this.graphicalMusicSheet!==void 0}unitPosTouched(R,F,D){if(!this.SingleTouchDisabled){const G=new PointF2D(F,D);this.handleUserDisplayInteraction(G,R,InteractionType.SingleTouch)}}unitPosDoubleTouched(R,F,D){if(!this.DoubleTouchDisabled){const G=new PointF2D(F,D);this.handleUserDisplayInteraction(G,R,InteractionType.DoubleTouch)}}unitPosTouchDown(R,F,D){const G=new PointF2D(F,D);this.handleUserDisplayInteraction(G,R,InteractionType.TouchDown),this.yOffsetMouseDown=R.y}unitPosTouchUp(R,F,D){const G=new PointF2D(F,D);this.handleUserDisplayInteraction(G,R,InteractionType.TouchUp),this.displayInteractionManager.WasZoomGestureActive===!1&&this.unlockFromCursorIfNecessary(R),this.yOffsetMouseDown=Number.MIN_VALUE}unitPosMove(R,F,D){const G=new PointF2D(F,D);this.handleUserDisplayInteraction(G,R,InteractionType.Move),this.unlockFromCursorIfNecessary(R)}get MainViewingRegion(){return this.mainViewingRegion}setMusicSheet(R){this.graphicalMusicSheet=R,this.adaptDisplayLimitsToSheet(),this.setYOffset(0,!0)}viewportXChanged(R,F){this.graphicalMusicSheet!==void 0&&this.horizontalViewportChanged(R,F)}viewportYChanged(R,F){this.graphicalMusicSheet!==void 0&&(this.yOffsetMouseDown<=Number.MIN_VALUE+.5&&(this.yOffsetMouseDown=R),this.verticalViewportChanged(R,F))}displaySizeChanged(R,F){super.viewSizeChanged(R,F),!(Math.abs(R-0)<1e-7||Math.abs(F-0)<1e-7)&&(this.graphicalMusicSheet!==void 0&&this.graphicalMusicSheet.EnforceRedrawOfMusicSystems(),this.mainViewingRegion.DisplaySizeInPixel=new SizeF2D(R,F),this.adaptDisplayLimitsToSheet())}calcDisplayYPosition(R){return R.PositionAndShape.AbsolutePosition.y+R.PositionAndShape.BorderMarginTop-this.topBarHeightInUnits()-this.relativeTopPosition*this.heightWithoutTopBottomBarsInUnits()}yPositionForLastSystem(R){return R.PositionAndShape.AbsolutePosition.y+R.PositionAndShape.BorderMarginBottom-this.topBarHeightInUnits()-(1-this.relativeTopPosition)*this.heightWithoutTopBottomBarsInUnits()}scorePositionChanged(R,F,D,G,U,W){const q=this.calcDisplayYPosition(G);this.setYPosition(q,W)}setXPosition(R,F){this.LockDisplayToCursor&&this.setXOffset(R,F)}setYPosition(R,F){this.LockDisplayToCursor&&this.setYOffset(R,F)}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(R,F){return this.mainViewingRegion.transformToUnitCoordinates(new PointF2D(R,F))}graphicalObjectIsVisible(R){return this.mainViewingRegion.isVisible(R,!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 R=this.graphicalMusicSheet.MusicPages.last().PositionAndShape;this.offsetYMax=Math.max(0,R.BorderMarginBottom-.7*this.RangeY),this.OffsetY>this.offsetYMax&&this.setYOffset(this.offsetYMax,!0)}horizontalViewportChanged(R,F){this.mainViewingRegion.WidthInUnits!==F&&(this.mainViewingRegion.WidthInUnits=F)}verticalViewportChanged(R,F){this.mainViewingRegion.UpperLeftPositionInUnits=new PointF2D(this.mainViewingRegion.UpperLeftPositionInUnits.x,R)}unlockFromCursorIfNecessary(R){if(this.LockDisplayToCursor===!1||this.ZoomActive||this.displayInteractionManager.ZoomGestureActive||this.displayInteractionManager.WasZoomGestureActive)return;Math.abs((R.y-this.yOffsetMouseDown)*this.mainViewingRegion.RegionSizeInPixel.height/this.mainViewingRegion.ViewRegionInUnits.height)>this.unlockCursorDistancePixel&&(this.LockDisplayToCursor=!1)}getPositionInUnits(R,F){return this.mainViewingRegion.transformToUnitCoordinates(new PointF2D(R,F))}handleUserDisplayInteraction(R,F,D){switch(D){case InteractionType.TouchDown:case InteractionType.SingleTouch:case InteractionType.DoubleTouch:{const G=this.graphicalMusicSheet.GetNearestVoiceEntry(F);if(G){const U=new CustomEvent("note-click",{detail:{...G,setAvtivePlay:()=>{var W,q;if(G.parentStaffEntry.parentVerticalContainer!==void 0){const Y=G.parentStaffEntry.parentVerticalContainer.AbsoluteTimestamp;this.setStartPosition(Y),((W=G.notes[0])==null?void 0:W.sourceNote.Pitch)!==void 0&&(console.log("playback clicked note",G.parentVoiceEntry),(q=this.PlaybackManager)==null||q.playVoiceEntry(G.parentVoiceEntry))}}}});window.dispatchEvent(U)}}case InteractionType.TouchUp:case InteractionType.TouchDown:case InteractionType.Move:for(const G of this.listeners)G.userDisplayInteraction(R,F,D);break;default:throw new Error("type")}}setStartPosition(R){var F;this.graphicalMusicSheet!==void 0&&(this.graphicalMusicSheet.ParentMusicSheet.SelectionStart=R,(F=this.PlaybackManager)==null||F.reset())}get GraphicalMusicSheet(){return this.graphicalMusicSheet}}class WebSheetRenderingManager extends SheetRenderingManager{mouseMove(R,F,D,G){const U=this.getPositionInUnits(R,F);this.unitPosMove(U,R,F)}}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(R){this.listeners.push(R)}get ZoomGestureActive(){return this.zoomGestureActive}get WasZoomGestureActive(){return this.interactionWasZoomGesture}displaySizeChanged(R,F){this.displayWidth=R,this.displayHeight=F;for(const D of this.listeners)D.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(R,F,D){this.interactionWasZoomGesture=!1;const G=R/this.displayWidth,U=F/this.displayHeight;this.lastRelPosX=G,this.lastRelPosY=U,this.lastPixelX=R,this.lastPixelY=F,this.touchActive=!0,this.touchMoving=!1,this.touchCount=Math.min(this.touchCount+1,this.maxNumerOfFingers);for(const W of this.listeners)W.mouseDown(G,U,!D)}move(R,F){if(this.touchActive&&!this.zoomGestureActive){const D=R/this.displayWidth,G=F/this.displayHeight,U=D-this.lastRelPosX,W=G-this.lastRelPosY;this.touchMoving=!0;for(const q of this.listeners)q.mouseMove(D,G,U,W)}}zoomGestureStarted(){this.zoomGestureActive=!0}zoomGestureCompleted(){this.zoomGestureActive=!1,this.interactionWasZoomGesture=!0}zoomGestureMove(R){this.zoomGestureActive&&this.listeners.forEach(function(F){F.zoom(R)})}touchUp(R,F){this.touchActive=!1,this.touchMoving=!1,this.touchCount=Math.max(0,this.touchCount-1);const D=R/this.displayWidth,G=F/this.displayHeight;for(const U of this.listeners)U.mouseUp(D,G)}click(R,F){if(!this.mouseDidMove(this.lastPixelX,R,this.lastPixelY,F)&&!this.ZoomGestureActive){const D=R/this.displayWidth,G=F/this.displayHeight;for(const U of this.listeners)U.positionTouched(D,G)}}doubleClick(R,F){if(!this.mouseDidMove(this.lastPixelX,R,this.lastPixelY,F)&&!this.ZoomGestureActive){const D=R/this.displayWidth,G=F/this.displayHeight;for(const U of this.listeners)U.positionDoubleTouched(D,G)}}mouseDidMove(R,F,D,G){const U=Math.abs(R-F)/this.displayDpi,W=Math.abs(D-G)/this.displayDpi;return U>this.movementThreshInch||W>this.movementThreshInch}}class WebDisplayInteractionManager extends AbstractDisplayInteractionManager{constructor(R){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=R,this.listenForInteractions()}get FullOffsetTop(){return this.fullOffsetTop}get FullScrollTop(){return this.fullScrollTop}get FullOffsetLeft(){return this.fullOffsetLeft}get FullScrollLeft(){return this.fullScrollLeft}static resizeCallback(R,F){clearTimeout(F.timeout),F.timeout=setTimeout(()=>{F.fullOffsetLeft=0,F.fullOffsetTop=0;let D=F.osmdSheetMusicContainer;for(;D;)F.fullOffsetLeft+=D.offsetLeft,F.fullOffsetTop+=D.offsetTop,D=D.offsetParent;F.resizeEventListener(),F.deregisterScrollOffsets(),F.registerScrollOffsets()},500)}registerScrollOffsets(){let R=this.osmdSheetMusicContainer;this.fullScrollTop=0,this.fullScrollLeft=0;const F=this;for(;R&&R!==document.documentElement;){if(this.parentScrollMap.set(R,[R.scrollTop,R.scrollLeft]),this.fullScrollLeft+=R.scrollLeft,this.fullScrollTop+=R.scrollTop,R.scrollHeight>R.clientHeight){const D=function(G){const U=F.parentScrollMap.get(this),W=U[0],q=U[1];F.fullScrollTop=F.fullScrollTop-W+this.scrollTop,F.fullScrollLeft=F.fullScrollLeft-q+this.scrollLeft,F.parentScrollMap.set(this,[this.scrollTop,this.scrollLeft])};this.scrollCallbackMap.set(R,D),R.addEventListener("scroll",D)}R=R.parentElement}}deregisterScrollOffsets(){for(const R of this.scrollCallbackMap.keys())R.removeEventListener("scroll",this.scrollCallbackMap.get(R));this.scrollCallbackMap.clear()}initialize(){this.fullOffsetLeft=0,this.fullOffsetTop=0;let R=this.osmdSheetMusicContainer;const F=[],D=this;for(window.ResizeObserver&&(this.resizeObserver=new ResizeObserver(G=>{WebDisplayInteractionManager.resizeCallback(G,D)}));R;)this.fullOffsetLeft+=R.offsetLeft,this.fullOffsetTop+=R.offsetTop,this.resizeObserver?this.resizeObserver.observe(R):F.push(R),R=R.offsetParent;if(this.resizeObserver)this.disposeResizeListener=()=>{D.resizeObserver.disconnect(),D.resizeObserver=void 0};else{let G=()=>{WebDisplayInteractionManager.resizeCallback(F,D)};window.addEventListener("resize",G),this.disposeResizeListener=()=>{window.removeEventListener("resize",G),G=void 0}}D.registerScrollOffsets()}dispose(){this.disposeResizeListener();for(const R of this.EventCallbackMap.keys()){const F=this.EventCallbackMap.getValue(R);F[0].removeEventListener(R,F[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 F=["(",["-webkit-","-moz-","-o-","-ms-"].join("touch-enabled),("),"heartz",")"].join("");return window.matchMedia(F).matches}get downEventName(){return this.isTouch()?"touchstart":"mousedown"}get moveEventName(){return this.isTouch()?"touchmove":"mousemove"}listenForInteractions(){const R=this.downEventListener.bind(this),F=this.touchEndEventListener.bind(this),D=this.moveEventListener.bind(this);this.osmdSheetMusicContainer.addEventListener("mousedown",R),this.osmdSheetMusicContainer.addEventListener("touchend",F),document.addEventListener(this.moveEventName,D),this.EventCallbackMap.setValue("mousedown",[this.osmdSheetMusicContainer,R]),this.EventCallbackMap.setValue("touchend",[this.osmdSheetMusicContainer,F]),this.EventCallbackMap.setValue(this.moveEventName,[document,D])}downEventListener(R){const F=new Date().getTime(),D=F-this.lastClick;clearTimeout(this.clickTimeout);let G=0,U=0;this.isTouch()&&R instanceof TouchEvent?(G=R.touches[0].pageX,U=R.touches[0].pageY):R instanceof MouseEvent&&(G=R.pageX,U=R.pageY);const W=this.getOffsetCoordinates(G,U);if(D<this.DOUBLE_CLICK_WINDOW&&D>0)this.doubleClick(W.x,W.y);else{const q=this;this.clickTimeout=setTimeout(function(){clearTimeout(this.clickTimeout),q.isTouch()?q.touchDown(W.x,W.y,void 0):q.click(W.x,W.y)},this.DOUBLE_CLICK_WINDOW)}this.lastClick=F}moveEventListener(R){let F=0,D=0;if(this.isTouch()&&R instanceof TouchEvent){let U;R.touches&&R.touches.length>0?U=R.touches[0]:R.changedTouches&&R.changedTouches.length>0&&(U=R.changedTouches[0]),F=U==null?void 0:U.clientX,D=U==null?void 0:U.clientY}else R instanceof MouseEvent&&(F=R.clientX,D=R.clientY);const G=this.getOffsetCoordinates(F,D);this.move(G.x,G.y)}touchEndEventListener(R){let F;R.touches&&R.touches.length>0?F=R.touches[0]:R.changedTouches&&R.changedTouches.length>0&&(F=R.changedTouches[0]);const D=this.getOffsetCoordinates(F==null?void 0:F.pageX,F==null?void 0:F.pageY);this.touchUp(D.x,D.y)}resizeEventListener(){this.displaySizeChanged(this.osmdSheetMusicContainer.clientWidth,this.osmdSheetMusicContainer.clientHeight)}getOffsetCoordinates(R,F){const D=R-this.fullOffsetLeft+this.fullScrollLeft,G=F-this.fullOffsetTop+this.fullScrollTop;return new PointF2D(D,G)}}class DynamicsCalculator{static fillDynamicsList(R,F,D){for(let G=0;G<F.StaffLinkedExpressions.length;G++)for(let U=0,W=F.StaffLinkedExpressions[G].length;U<W;++U){const q=F.StaffLinkedExpressions[G][U];if(!(q.InstantaneousDynamic===void 0&&q.StartingContinuousDynamic===void 0)){if(q.StaffNumber=G,q.StartingContinuousDynamic!==void 0&&q.StartingContinuousDynamic.isWedge()&&q.StartingContinuousDynamic.EndMultiExpression!==void 0){const Y=q.AbsoluteTimestamp,Q=q.StartingContinuousDynamic.EndMultiExpression.AbsoluteTimestamp;if(Y.Equals(Q))continue}if(q.InstantaneousDynamic!==void 0){D[G].push(new DynamicsContainer(q.InstantaneousDynamic,q.StaffNumber));const Y=this.getOtherStaffIndexIfLinkedStavesAreDetected(R,G,q.InstantaneousDynamic.Placement);Y>=0&&D[Y].push(new DynamicsContainer(q.InstantaneousDynamic,Y))}if(q.StartingContinuousDynamic!==void 0){D[G].push(new DynamicsContainer(q.StartingContinuousDynamic,q.StaffNumber));const Y=this.getOtherStaffIndexIfLinkedStavesAreDetected(R,G,q.StartingContinuousDynamic.Placement);Y>=0&&D[Y].push(new DynamicsContainer(q.StartingContinuousDynamic,Y))}}}}static getOtherStaffIndexIfLinkedStavesAreDetected(R,F,D){const G=R.getStaffFromIndex(F),U=G.ParentInstrument.Staves.indexOf(G),W=G.ParentInstrument.Staves.length;return W>1&&U===0&&D===PlacementEnum.Below?F+1:W>1&&U===1&&D===PlacementEnum.Above?F-1:-1}static fillDynamicExpressions(R){const F=R.DynListStaves,D=R.getCompleteNumberOfStaves(),G=R.TimestampSortedDynamicExpressionsList;for(let U=0;U<D;U++)F.push([]);for(let U=0,W=R.SourceMeasures.length;U<W;++U){const q=R.SourceMeasures[U];DynamicsCalculator.fillDynamicsList(R,q,F)}for(let U=0;U<F.length;U++)for(let W=0,q=F[U].length;W<q;++W){const Y=F[U][W];Y.instantaneousDynamicExpression!==void 0&&!InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.containsKey(Y.instantaneousDynamicExpression.DynEnum)||G.push(Y)}G.sort(DynamicsContainer.Compare)}calculate(R){DynamicsCalculator.fillDynamicExpressions(R)}}const _OpenSheetMusicDisplay=class{constructor(B,R=OSMDOptions.OSMDOptionsStandard(),F=new EngravingRules){if(this.version="1.4.5-audio-extended",this.cursorsOptions=[],this.cursors=[],this.zoom=1,this.zoomUpdated=!1,this.loadUrlTimeout=5e3,this.rules=F,typeof B=="string"?this.container=document.getElementById(B):B&&"appendChild"in B&&(this.container=B),!this.container)throw new Error("Please pass a valid div container to OpenSheetMusicDisplay");R.autoResize===void 0&&(R.autoResize=!0),this.backendType=BackendType.SVG,this.setOptions(R),this.interactionManager=new WebDisplayInteractionManager(this.container),this.renderingManager=new WebSheetRenderingManager(this.interactionManager,this.rules)}get cursor(){return this.cursors[0]}get RenderingManager(){return this.renderingManager}set PlaybackManager(B){this.renderingManager&&(this.renderingManager.PlaybackManager=B)}get PlaybackManager(){var B;return(B=this.renderingManager)==null?void 0:B.PlaybackManager}isUrl(B){return B.length<2083}isMxl(B){return B.substr(0,4)==="PK"}processMxl(B,R,F){MXLHelper.MXLtoXMLstring(B).then(D=>{R(this.processStringXml(D))},D=>{log$2.error(new Error("[OSMD] Invalid MXL file: "+D)),F(new Error("[OSMD] Invalid MXL file: "+D))})}processStringXml(B){const R=new DOMParser;if(B.substr(0,3)==="\uF7EF\uF7BB\uF7BF")return log$2.debug("[OSMD] UTF with BOM detected, truncate first three bytes and pass along: "+B),R.parseFromString(B.substr(3),"application/xml");if(B.substr(0,6).includes("<?xml")){const F=this.OnXMLRead(B);return log$2.debug("[OSMD] Finally parsing XML content, length: "+F.length),R.parseFromString(F,"application/xml")}}load(B,R){this.reset();const F=this;return new Promise(function(G,U){new Promise(function(q,Y){if(typeof B=="string"){const Q=B.trim();if(F.isMxl(Q))log$2.debug("[OSMD] This is a zip file, unpack it first: "+Q),F.processMxl(Q,q,Y);else{const Z=F.processStringXml(Q);if(Z)q(Z);else if(F.isUrl(Q))AJAX.ajax(Q).then(K=>{F.isMxl(K)?F.processMxl(K,q,Y):q(F.processStringXml(K))},K=>{throw Y(K),K});else{const K=new Error("[OSMD] osmd.load(string): Could not process string. Did not find <?xml at beginning.");console.error(K.message),Y(K)}}}else if(B instanceof Document)q(B);else{const Q=new Error("[OSMD] osmd.load(): content is not string or Document. Could not load.");console.error(Q.message),Y(Q)}}).then(function(q){(!q||!q.nodeName)&&U(new Error("OpenSheetMusicDisplay: The document which was provided is invalid"));const Y=q.childNodes;log$2.debug("[OSMD] load(), Document url: "+q.URL);let Q;for(let ne=0,se=Y.length;ne<se;ne+=1){const re=Y[ne];if(re.nodeType===Node.ELEMENT_NODE&&re.nodeName.toLowerCase()==="score-partwise"){Q=re;break}}Q||(console.error("Could not parse MusicXML, no valid partwise element found"),U(new Error("OpenSheetMusicDisplay: Document is not a valid 'partwise' MusicXML")));const Z=new IXmlElement(Q),K=new DynamicsCalculator,J=new PlaybackNoteGenerator,ie=new MusicSheetReader([K,J],F.rules);F.sheet=ie.createMusicSheet(Z,"Untitled Score"),F.sheet===void 0&&U(new Error("given music sheet was incomplete or could not be loaded.")),log$2.info(`[OSMD] Loaded sheet ${F.sheet.TitleString} successfully.`),F.needBackendUpdate=!0,F.updateGraphic(),G()}).catch(function(q){log$2.debug("Content XML Promise was rejected"),U(q)})})}updateGraphic(){const B=new VexFlowMusicSheetCalculator(this.rules);this.graphic=new GraphicalMusicSheet(this.sheet,B),this.drawingParameters.drawCursors&&this.cursors.forEach(R=>{R.init(this.sheet.MusicPartManager,this.graphic)}),this.renderingManager.setMusicSheet(this.graphic),this.interactionManager.Initialize()}render(){var R;if(!this.graphic)throw new Error("OpenSheetMusicDisplay: Before rendering a music sheet, please load a MusicXML file");(R=this.drawer)==null||R.clear();let B=this.container.offsetWidth;this.rules.RenderSingleHorizontalStaffline&&(B=this.rules.SheetMaximumWidth),this.sheet.pageWidth=B/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,log$2.debug("[OSMD] PageHeight: "+this.rules.PageHeight)):(log$2.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),this.drawer.drawSheet(this.graphic),this.enableOrDisableCursors(this.drawingParameters.drawCursors),this.drawingParameters.drawCursors&&this.cursors.forEach(F=>{F.update()}),this.zoomUpdated=!1,this.interactionManager.displaySizeChanged(this.container.clientWidth,this.container.clientHeight)}createOrRefreshRenderBackend(){this.drawer&&this.drawer.Backends&&(this.drawer.Backends[0]&&this.drawer.Backends[0].removeAllChildrenFromContainer(this.container),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 B=this.container.offsetWidth;this.rules.RenderSingleHorizontalStaffline&&(B=this.graphic.MusicPages[0].PositionAndShape.Size.width*10*this.zoom);let R;const F=32767;for(const D of this.graphic.MusicPages){if(D.PageNumber>this.rules.MaxPageToDrawNumber)break;const G=this.createBackend(this.backendType,D),U=" exceeds CanvasBackend limit of 32767. Cutting off score.";G.getOSMDBackendType()===BackendType.Canvas&&B>F&&(log$2.warn("[OSMD] Warning: width of "+B+U),B=F),this.rules.PageFormat&&!this.rules.PageFormat.IsUndefined?R=B/this.rules.PageFormat.aspectRatio:(R=D.PositionAndShape.Size.height,R+=this.rules.PageBottomMargin,R+=this.rules.CompactMode?this.rules.PageTopMarginNarrow:this.rules.PageTopMargin,this.rules.RenderTitle&&(R+=this.rules.TitleTopDistance),R*=this.zoom*10),G.getOSMDBackendType()===BackendType.Canvas&&R>F&&(log$2.warn("[OSMD] Warning: height of "+R+U),R=Math.min(R,F)),G.resize(B,R),G.clear(),this.drawer.Backends.push(G),this.graphic.drawer=this.drawer}}exportSVG(){var B;for(const R of(B=this.drawer)==null?void 0:B.Backends)R instanceof SvgVexFlowBackend&&R.export()}IsReadyToRender(){return this.graphic!==void 0}clear(){var B;(B=this.drawer)==null||B.clear(),this.reset()}dispose(){this.disposeResizeListener&&this.disposeResizeListener(),this.InteractionManager&&this.InteractionManager.Dispose()}setOptions(B){if(this.rules||(this.rules=new EngravingRules),this.drawingParameters||(this.drawingParameters=new DrawingParameters,this.drawingParameters.Rules=this.rules),B==null){log$2.warn(`warning: osmd.setOptions() called without an options parameter, has no effect.
- example usage: osmd.setOptions({drawCredits: false, drawPartNames: false})`);return}this.OnXMLRead=function(G){return G},B.onXMLRead&&(this.OnXMLRead=B.onXMLRead),B.drawingParameters&&(this.drawingParameters.DrawingParametersEnum=DrawingParametersEnum[B.drawingParameters.toLowerCase()]);let F=!this.drawer||!this.drawer.Backends||this.drawer.Backends.length<1;if(B.backend!==void 0){const G=OSMDOptions.BackendTypeFromString(B.backend);F=F||this.backendType!==G,this.backendType=G}this.needBackendUpdate=F,B.autoBeam!==void 0&&(this.rules.AutoBeamNotes=B.autoBeam);const D=B.autoBeamOptions;if(D&&(D.maintain_stem_directions===void 0&&(D.maintain_stem_directions=!1),this.rules.AutoBeamOptions=D,D.groups&&D.groups.length)){for(const G of D.groups)if(G.length!==2)throw new Error("Each fraction in autoBeamOptions.groups must be of length 2, e.g. [3,4] for beaming three fourths")}B.percussionOneLineCutoff!==void 0&&(this.rules.PercussionOneLineCutoff=B.percussionOneLineCutoff),this.rules.PercussionOneLineCutoff!==0&&B.percussionForceVoicesOneLineCutoff!==void 0&&(this.rules.PercussionForceVoicesOneLineCutoff=B.percussionForceVoicesOneLineCutoff),B.alignRests!==void 0&&(this.rules.AlignRests=B.alignRests),B.coloringMode!==void 0&&this.setColoringMode(B),B.coloringEnabled!==void 0&&(this.rules.ColoringEnabled=B.coloringEnabled),B.colorStemsLikeNoteheads!==void 0&&(this.rules.ColorStemsLikeNoteheads=B.colorStemsLikeNoteheads),B.disableCursor&&(this.drawingParameters.drawCursors=!1),B.drawHiddenNotes&&(this.drawingParameters.drawHiddenNotes=!0),B.drawCredits!==void 0&&(this.drawingParameters.DrawCredits=B.drawCredits),B.drawComposer!==void 0&&(this.drawingParameters.DrawComposer=B.drawComposer),B.drawTitle!==void 0&&(this.drawingParameters.DrawTitle=B.drawTitle),B.drawSubtitle!==void 0&&(this.drawingParameters.DrawSubtitle=B.drawSubtitle),B.drawLyricist!==void 0&&(this.drawingParameters.DrawLyricist=B.drawLyricist),B.drawMetronomeMarks!==void 0&&(this.rules.MetronomeMarksDrawn=B.drawMetronomeMarks),B.drawPartNames!==void 0&&(this.drawingParameters.DrawPartNames=B.drawPartNames,B.drawPartAbbreviations||(this.rules.RenderPartAbbreviations=B.drawPartNames)),B.drawPartAbbreviations!==void 0&&(this.rules.RenderPartAbbreviations=B.drawPartAbbreviations),B.drawFingerings===!1&&(this.rules.RenderFingerings=!1),B.drawMeasureNumbers!==void 0&&(this.rules.RenderMeasureNumbers=B.drawMeasureNumbers),B.drawMeasureNumbersOnlyAtSystemStart&&(this.rules.RenderMeasureNumbersOnlyAtSystemStart=B.drawMeasureNumbersOnlyAtSystemStart),B.drawLyrics!==void 0&&(this.rules.RenderLyrics=B.drawLyrics),B.drawTimeSignatures!==void 0&&(this.rules.RenderTimeSignatures=B.drawTimeSignatures),B.drawSlurs!==void 0&&(this.rules.RenderSlurs=B.drawSlurs),B.measureNumberInterval!==void 0&&(this.rules.MeasureNumberLabelOffset=B.measureNumberInterval),B.useXMLMeasureNumbers!==void 0&&(this.rules.UseXMLMeasureNumbers=B.useXMLMeasureNumbers),B.fingeringPosition!==void 0&&(this.rules.FingeringPosition=AbstractExpression.PlacementEnumFromString(B.fingeringPosition)),B.fingeringInsideStafflines!==void 0&&(this.rules.FingeringInsideStafflines=B.fingeringInsideStafflines),B.newSystemFromXML!==void 0&&(this.rules.NewSystemAtXMLNewSystemAttribute=B.newSystemFromXML),B.newPageFromXML!==void 0&&(this.rules.NewPageAtXMLNewPageAttribute=B.newPageFromXML),B.fillEmptyMeasuresWithWholeRest!==void 0&&(this.rules.FillEmptyMeasuresWithWholeRest=B.fillEmptyMeasuresWithWholeRest),B.followCursor!==void 0&&(this.FollowCursor=B.followCursor),B.setWantedStemDirectionByXml!==void 0&&(this.rules.SetWantedStemDirectionByXml=B.setWantedStemDirectionByXml),B.darkMode?(this.rules.applyDefaultColorMusic("#FFFFFF"),this.rules.PageBackgroundColor="#000000"):B.darkMode===!1&&(this.rules.applyDefaultColorMusic("#000000"),this.rules.PageBackgroundColor=void 0),B.defaultColorMusic&&this.rules.applyDefaultColorMusic(B.defaultColorMusic),B.defaultColorNotehead&&(this.rules.DefaultColorNotehead=B.defaultColorNotehead),B.defaultColorRest&&(this.rules.DefaultColorRest=B.defaultColorRest),B.defaultColorStem&&(this.rules.DefaultColorStem=B.defaultColorStem),B.defaultColorLabel&&(this.rules.DefaultColorLabel=B.defaultColorLabel),B.defaultColorTitle&&(this.rules.DefaultColorTitle=B.defaultColorTitle),B.defaultFontFamily&&(this.rules.DefaultFontFamily=B.defaultFontFamily),B.defaultFontStyle&&(this.rules.DefaultFontStyle=B.defaultFontStyle),B.drawUpToMeasureNumber&&(this.rules.MaxMeasureToDrawIndex=B.drawUpToMeasureNumber-1),B.drawFromMeasureNumber&&(this.rules.MinMeasureToDrawIndex=B.drawFromMeasureNumber-1),B.drawUpToPageNumber&&(this.rules.MaxPageToDrawNumber=B.drawUpToPageNumber),B.drawUpToSystemNumber&&(this.rules.MaxSystemToDrawNumber=B.drawUpToSystemNumber),B.tupletsRatioed&&(this.rules.TupletsRatioed=!0),B.tupletsBracketed&&(this.rules.TupletsBracketed=!0),B.tripletsBracketed&&(this.rules.TripletsBracketed=!0),B.autoResize?(this.resizeHandlerAttached||this.autoResize(),this.autoResizeEnabled=!0):B.autoResize===!1&&(this.autoResizeEnabled=!1),B.pageFormat!==void 0&&this.setPageFormat(B.pageFormat),B.pageBackgroundColor!==void 0&&(this.rules.PageBackgroundColor=B.pageBackgroundColor),B.performanceMode!==void 0&&(this.rules.PerformanceMode=B.performanceMode),B.renderSingleHorizontalStaffline!==void 0&&(this.rules.RenderSingleHorizontalStaffline=B.renderSingleHorizontalStaffline),B.spacingFactorSoftmax!==void 0&&(this.rules.SoftmaxFactorVexFlow=B.spacingFactorSoftmax),B.spacingBetweenTextLines!==void 0&&(this.rules.SpacingBetweenTextLines=B.spacingBetweenTextLines),B.stretchLastSystemLine!==void 0&&(this.rules.StretchLastSystemLine=B.stretchLastSystemLine),B.autoGenerateMutipleRestMeasuresFromRestMeasures!==void 0&&(this.rules.AutoGenerateMutipleRestMeasuresFromRestMeasures=B.autoGenerateMutipleRestMeasuresFromRestMeasures),B.cursorsOptions!==void 0?this.cursorsOptions=B.cursorsOptions:this.cursorsOptions=[{type:0,color:this.EngravingRules.DefaultColorCursor,alpha:.5,follow:!0}]}setColoringMode(B){if(B.coloringMode===ColoringModes.XML){this.rules.ColoringMode=ColoringModes.XML;return}const R=[NoteEnum.C,NoteEnum.D,NoteEnum.E,NoteEnum.F,NoteEnum.G,NoteEnum.A,NoteEnum.B,-1];let F;if(B.coloringMode===ColoringModes.CustomColorSet){if(!B.coloringSetCustom||B.coloringSetCustom.length!==8)throw new Error("Invalid amount of colors: With coloringModes.customColorSet, you have to provide a coloringSetCustom parameter with 8 strings (C to B, rest note).");for(const G of B.coloringSetCustom)if(!/^\#[0-9a-fA-F]{6}$/.test(G))throw new Error(`One of the color strings in options.coloringSetCustom was not a valid HTML Hex color:
- `+G);F=B.coloringSetCustom}else if(B.coloringMode===ColoringModes.AutoColoring){F=[];const G=Object.keys(AutoColorSet);for(let U=0;U<G.length;U++)F.push(AutoColorSet[G[U]])}const D=new Dictionary;for(let G=0;G<R.length;G++)D.setValue(R[G],F[G]);D.setValue(-1,F[7]),this.rules.ColoringSetCurrent=D,this.rules.ColoringMode=B.coloringMode}setLogLevel(B){switch(B){case"trace":log$2.setLevel(log$2.levels.TRACE);break;case"debug":log$2.setLevel(log$2.levels.DEBUG);break;case"info":log$2.setLevel(log$2.levels.INFO);break;case"warn":log$2.setLevel(log$2.levels.WARN);break;case"error":log$2.setLevel(log$2.levels.ERROR);break;case"silent":log$2.setLevel(log$2.levels.SILENT);break;default:log$2.warn(`Could not set log level to ${B}. Using warn instead.`),log$2.setLevel(log$2.levels.WARN);break}}getLogLevel(){return log$2.getLevel()}reset(){this.drawingParameters.drawCursors&&this.cursors.forEach(B=>{B.hide()}),this.sheet=void 0,this.graphic=void 0,this.zoom=1}autoResize(){const B=this;this.handleResize(()=>{},()=>{var R;((R=this.graphic)==null?void 0:R.GetCalculator)instanceof VexFlowMusicSheetCalculator&&(this.graphic.GetCalculator.beamsNeedUpdate=!0),B.IsReadyToRender()&&B.render()})}handleResize(B,R){let F,D;const U=this;function W(){!U.AutoResizeEnabled||(F=new Date().getTime(),D||(B(),F=new Date().getTime(),D=window.setTimeout(q,200)))}function q(){D=void 0,window.clearTimeout(D),new Date().getTime()-F<200?D=window.setTimeout(q,200):R()}window.attachEvent?window.attachEvent("onresize",W):window.addEventListener("resize",W),this.disposeResizeListener=()=>{window.detachEvent?window.detachEvent("onresize",W):window.removeEventListener("resize",W),this.resizeHandlerAttached=!1},this.resizeHandlerAttached=!0,window.setTimeout(B,0),window.setTimeout(R,1)}enableOrDisableCursors(B){var R,F,D,G,U,W;if(this.drawingParameters.drawCursors=B,B){for(let q=0;q<this.cursorsOptions.length;q++){const Y=(F=(R=this.cursors[q])==null?void 0:R.Hidden)!=null?F:!1,Q=(D=this.cursors[q])==null?void 0:D.Iterator;(G=this.cursors[q])==null||G.hide();let Z=(U=this.drawer)==null?void 0:U.Backends[0];if(Z&&this.rules.RestoreCursorAfterRerender&&this.cursors[q]){const K=this.cursors[q].updateCurrentPage();Z=this.drawer.Backends[K-1]}Z&&Z.getRenderElement()&&(this.cursors[q]=new Cursor$1(Z.getRenderElement(),this,this.cursorsOptions[q])),this.sheet&&this.graphic&&this.cursors[q]&&this.cursors[q].init(this.sheet.MusicPartManager,this.graphic),this.rules.RestoreCursorAfterRerender&&(Q&&(this.cursors[q].iterator=Q),Y?this.cursors[q].hide():this.cursors[q].show())}(W=this.renderingManager.PlaybackManager)==null||W.addListener(this.cursor)}else this.cursors.forEach(q=>{q.hide()})}createBackend(B,R){let F;return B===void 0||B===BackendType.SVG?F=new SvgVexFlowBackend(this.rules):F=new CanvasVexFlowBackend(this.rules),F.graphicalMusicPage=R,F.initialize(this.container,this.zoom),F.getContext().setFillStyle(this.rules.DefaultColorMusic),F.getContext().setStrokeStyle(this.rules.DefaultColorMusic),F}static StringToPageFormat(B){let R=PageFormat.UndefinedPageFormat;if(B.match("^[0-9]+x[0-9]+$")){const F=B.split("x"),D=Number.parseInt(F[0],10),G=Number.parseInt(F[1],10);D>0&&D<32768&&G>0&&G<32768&&(R=new PageFormat(D,G,`customPageFormat${B}`))}return B=B.replace(" ","_"),B=B.replace("Landscape","L"),B=B.replace("Portrait","P"),_OpenSheetMusicDisplay.PageFormatStandards.hasOwnProperty(B)&&(R=_OpenSheetMusicDisplay.PageFormatStandards[B]),R}setPageFormat(B){const R=_OpenSheetMusicDisplay.StringToPageFormat(B);this.needBackendUpdate=!R.Equals(this.rules.PageFormat),this.rules.PageFormat=R}setCustomPageFormat(B,R){if(B>0&&R>0){const F=new PageFormat(B,R);this.rules.PageFormat=F}}set DrawSkyLine(B){this.drawSkyLine=B,this.drawer&&(this.drawer.skyLineVisible=B)}get DrawSkyLine(){return this.drawer.skyLineVisible}set DrawBottomLine(B){this.drawBottomLine=B,this.drawer&&(this.drawer.bottomLineVisible=B)}get DrawBottomLine(){return this.drawer.bottomLineVisible}set DrawBoundingBox(B){this.setDrawBoundingBox(B,!0)}get DrawBoundingBox(){return this.drawBoundingBox}setDrawBoundingBox(B,R=!1){this.drawBoundingBox=B,this.drawer&&(this.drawer.drawableBoundingBoxElement=B),R&&this.render()}get AutoResizeEnabled(){return this.autoResizeEnabled}set AutoResizeEnabled(B){this.autoResizeEnabled=B}get Zoom(){return this.zoom}set Zoom(B){var R;this.zoom=B,this.zoomUpdated=!0,((R=this.graphic)==null?void 0:R.GetCalculator)instanceof VexFlowMusicSheetCalculator&&(this.graphic.GetCalculator.beamsNeedUpdate=this.zoomUpdated)}set FollowCursor(B){this.followCursor=B}get FollowCursor(){return this.followCursor}set TransposeCalculator(B){MusicSheetCalculator.transposeCalculator=B}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 handlebars={exports:{}},handlebars_runtime={exports:{}},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(B){return escape$1[B]}function extend(B){for(var R=1;R<arguments.length;R++)for(var F in arguments[R])Object.prototype.hasOwnProperty.call(arguments[R],F)&&(B[F]=arguments[R][F]);return B}var toString=Object.prototype.toString;utils.toString=toString;var isFunction=function B(R){return typeof R=="function"};isFunction(/x/)&&(utils.isFunction=isFunction=function(B){return typeof B=="function"&&toString.call(B)==="[object Function]"});utils.isFunction=isFunction;var isArray=Array.isArray||function(B){return B&&typeof B=="object"?toString.call(B)==="[object Array]":!1};utils.isArray=isArray;function indexOf(B,R){for(var F=0,D=B.length;F<D;F++)if(B[F]===R)return F;return-1}function escapeExpression(B){if(typeof B!="string"){if(B&&B.toHTML)return B.toHTML();if(B==null)return"";if(!B)return B+"";B=""+B}return possible.test(B)?B.replace(badChars,escapeChar):B}function isEmpty(B){return!B&&B!==0?!0:!!(isArray(B)&&B.length===0)}function createFrame(B){var R=extend({},B);return R._parent=B,R}function blockParams(B,R){return B.path=R,B}function appendContextPath(B,R){return(B?B+".":"")+R}var exception={exports:{}};(function(B,R){R.__esModule=!0;var F=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function D(G,U){var W=U&&U.loc,q=void 0,Y=void 0,Q=void 0,Z=void 0;W&&(q=W.start.line,Y=W.end.line,Q=W.start.column,Z=W.end.column,G+=" - "+q+":"+Q);for(var K=Error.prototype.constructor.call(this,G),J=0;J<F.length;J++)this[F[J]]=K[F[J]];Error.captureStackTrace&&Error.captureStackTrace(this,D);try{W&&(this.lineNumber=q,this.endLineNumber=Y,Object.defineProperty?(Object.defineProperty(this,"column",{value:Q,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:Z,enumerable:!0})):(this.column=Q,this.endColumn=Z))}catch{}}D.prototype=new Error,R.default=D,B.exports=R.default})(exception,exception.exports);var helpers$1={},blockHelperMissing={exports:{}};(function(B,R){R.__esModule=!0;var F=utils;R.default=function(D){D.registerHelper("blockHelperMissing",function(G,U){var W=U.inverse,q=U.fn;if(G===!0)return q(this);if(G===!1||G==null)return W(this);if(F.isArray(G))return G.length>0?(U.ids&&(U.ids=[U.name]),D.helpers.each(G,U)):W(this);if(U.data&&U.ids){var Y=F.createFrame(U.data);Y.contextPath=F.appendContextPath(U.data.contextPath,U.name),U={data:Y}}return q(G,U)})},B.exports=R.default})(blockHelperMissing,blockHelperMissing.exports);var each={exports:{}};(function(B,R){R.__esModule=!0;function F(W){return W&&W.__esModule?W:{default:W}}var D=utils,G=exception.exports,U=F(G);R.default=function(W){W.registerHelper("each",function(q,Y){if(!Y)throw new U.default("Must pass iterator to #each");var Q=Y.fn,Z=Y.inverse,K=0,J="",ie=void 0,ne=void 0;Y.data&&Y.ids&&(ne=D.appendContextPath(Y.data.contextPath,Y.ids[0])+"."),D.isFunction(q)&&(q=q.call(this)),Y.data&&(ie=D.createFrame(Y.data));function se(he,de,me){ie&&(ie.key=he,ie.index=de,ie.first=de===0,ie.last=!!me,ne&&(ie.contextPath=ne+he)),J=J+Q(q[he],{data:ie,blockParams:D.blockParams([q[he],he],[ne+he,null])})}if(q&&typeof q=="object")if(D.isArray(q))for(var re=q.length;K<re;K++)K in q&&se(K,K,K===q.length-1);else if(typeof Symbol=="function"&&q[Symbol.iterator]){for(var ae=[],le=q[Symbol.iterator](),ce=le.next();!ce.done;ce=le.next())ae.push(ce.value);q=ae;for(var re=q.length;K<re;K++)se(K,K,K===q.length-1)}else(function(){var he=void 0;Object.keys(q).forEach(function(de){he!==void 0&&se(he,K-1),he=de,K++}),he!==void 0&&se(he,K-1,!0)})();return K===0&&(J=Z(this)),J})},B.exports=R.default})(each,each.exports);var helperMissing={exports:{}};(function(B,R){R.__esModule=!0;function F(U){return U&&U.__esModule?U:{default:U}}var D=exception.exports,G=F(D);R.default=function(U){U.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new G.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},B.exports=R.default})(helperMissing,helperMissing.exports);var _if={exports:{}};(function(B,R){R.__esModule=!0;function F(W){return W&&W.__esModule?W:{default:W}}var D=utils,G=exception.exports,U=F(G);R.default=function(W){W.registerHelper("if",function(q,Y){if(arguments.length!=2)throw new U.default("#if requires exactly one argument");return D.isFunction(q)&&(q=q.call(this)),!Y.hash.includeZero&&!q||D.isEmpty(q)?Y.inverse(this):Y.fn(this)}),W.registerHelper("unless",function(q,Y){if(arguments.length!=2)throw new U.default("#unless requires exactly one argument");return W.helpers.if.call(this,q,{fn:Y.inverse,inverse:Y.fn,hash:Y.hash})})},B.exports=R.default})(_if,_if.exports);var log$1={exports:{}};(function(B,R){R.__esModule=!0,R.default=function(F){F.registerHelper("log",function(){for(var D=[void 0],G=arguments[arguments.length-1],U=0;U<arguments.length-1;U++)D.push(arguments[U]);var W=1;G.hash.level!=null?W=G.hash.level:G.data&&G.data.level!=null&&(W=G.data.level),D[0]=W,F.log.apply(F,D)})},B.exports=R.default})(log$1,log$1.exports);var lookup={exports:{}};(function(B,R){R.__esModule=!0,R.default=function(F){F.registerHelper("lookup",function(D,G,U){return D&&U.lookupProperty(D,G)})},B.exports=R.default})(lookup,lookup.exports);var _with={exports:{}};(function(B,R){R.__esModule=!0;function F(W){return W&&W.__esModule?W:{default:W}}var D=utils,G=exception.exports,U=F(G);R.default=function(W){W.registerHelper("with",function(q,Y){if(arguments.length!=2)throw new U.default("#with requires exactly one argument");D.isFunction(q)&&(q=q.call(this));var Q=Y.fn;if(D.isEmpty(q))return Y.inverse(this);var Z=Y.data;return Y.data&&Y.ids&&(Z=D.createFrame(Y.data),Z.contextPath=D.appendContextPath(Y.data.contextPath,Y.ids[0])),Q(q,{data:Z,blockParams:D.blockParams([q],[Z&&Z.contextPath])})})},B.exports=R.default})(_with,_with.exports);helpers$1.__esModule=!0;helpers$1.registerDefaultHelpers=registerDefaultHelpers;helpers$1.moveHelperToHooks=moveHelperToHooks;function _interopRequireDefault$7(B){return B&&B.__esModule?B:{default:B}}var _helpersBlockHelperMissing=blockHelperMissing.exports,_helpersBlockHelperMissing2=_interopRequireDefault$7(_helpersBlockHelperMissing),_helpersEach=each.exports,_helpersEach2=_interopRequireDefault$7(_helpersEach),_helpersHelperMissing=helperMissing.exports,_helpersHelperMissing2=_interopRequireDefault$7(_helpersHelperMissing),_helpersIf=_if.exports,_helpersIf2=_interopRequireDefault$7(_helpersIf),_helpersLog=log$1.exports,_helpersLog2=_interopRequireDefault$7(_helpersLog),_helpersLookup=lookup.exports,_helpersLookup2=_interopRequireDefault$7(_helpersLookup),_helpersWith=_with.exports,_helpersWith2=_interopRequireDefault$7(_helpersWith);function registerDefaultHelpers(B){_helpersBlockHelperMissing2.default(B),_helpersEach2.default(B),_helpersHelperMissing2.default(B),_helpersIf2.default(B),_helpersLog2.default(B),_helpersLookup2.default(B),_helpersWith2.default(B)}function moveHelperToHooks(B,R,F){B.helpers[R]&&(B.hooks[R]=B.helpers[R],F||delete B.helpers[R])}var decorators={},inline={exports:{}};(function(B,R){R.__esModule=!0;var F=utils;R.default=function(D){D.registerDecorator("inline",function(G,U,W,q){var Y=G;return U.partials||(U.partials={},Y=function(Q,Z){var K=W.partials;W.partials=F.extend({},K,U.partials);var J=G(Q,Z);return W.partials=K,J}),U.partials[q.args[0]]=q.fn,Y})},B.exports=R.default})(inline,inline.exports);decorators.__esModule=!0;decorators.registerDefaultDecorators=registerDefaultDecorators;function _interopRequireDefault$6(B){return B&&B.__esModule?B:{default:B}}var _decoratorsInline=inline.exports,_decoratorsInline2=_interopRequireDefault$6(_decoratorsInline);function registerDefaultDecorators(B){_decoratorsInline2.default(B)}var logger={exports:{}};(function(B,R){R.__esModule=!0;var F=utils,D={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(U){if(typeof U=="string"){var W=F.indexOf(D.methodMap,U.toLowerCase());W>=0?U=W:U=parseInt(U,10)}return U},log:function(U){if(U=D.lookupLevel(U),typeof console!="undefined"&&D.lookupLevel(D.level)<=U){var W=D.methodMap[U];console[W]||(W="log");for(var q=arguments.length,Y=Array(q>1?q-1:0),Q=1;Q<q;Q++)Y[Q-1]=arguments[Q];console[W].apply(console,Y)}}};R.default=D,B.exports=R.default})(logger,logger.exports);var protoAccess={},createNewLookupObject$1={};createNewLookupObject$1.__esModule=!0;createNewLookupObject$1.createNewLookupObject=createNewLookupObject;var _utils$4=utils;function createNewLookupObject(){for(var B=arguments.length,R=Array(B),F=0;F<B;F++)R[F]=arguments[F];return _utils$4.extend.apply(void 0,[Object.create(null)].concat(R))}protoAccess.__esModule=!0;protoAccess.createProtoAccessControl=createProtoAccessControl;protoAccess.resultIsAllowed=resultIsAllowed;protoAccess.resetLoggedProperties=resetLoggedProperties;function _interopRequireDefault$5(B){return B&&B.__esModule?B:{default:B}}var _createNewLookupObject=createNewLookupObject$1,_logger$1=logger.exports,_logger2$1=_interopRequireDefault$5(_logger$1),loggedProperties=Object.create(null);function createProtoAccessControl(B){var R=Object.create(null);R.constructor=!1,R.__defineGetter__=!1,R.__defineSetter__=!1,R.__lookupGetter__=!1;var F=Object.create(null);return F.__proto__=!1,{properties:{whitelist:_createNewLookupObject.createNewLookupObject(F,B.allowedProtoProperties),defaultValue:B.allowProtoPropertiesByDefault},methods:{whitelist:_createNewLookupObject.createNewLookupObject(R,B.allowedProtoMethods),defaultValue:B.allowProtoMethodsByDefault}}}function resultIsAllowed(B,R,F){return checkWhiteList(typeof B=="function"?R.methods:R.properties,F)}function checkWhiteList(B,R){return B.whitelist[R]!==void 0?B.whitelist[R]===!0:B.defaultValue!==void 0?B.defaultValue:(logUnexpecedPropertyAccessOnce(R),!1)}function logUnexpecedPropertyAccessOnce(B){loggedProperties[B]!==!0&&(loggedProperties[B]=!0,_logger2$1.default.log("error",'Handlebars: Access has been denied to resolve the property "'+B+`" because it is not an "own property" of its parent.
- You can add a runtime option to disable the check or this warning:
- See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function resetLoggedProperties(){Object.keys(loggedProperties).forEach(function(B){delete loggedProperties[B]})}base$1.__esModule=!0;base$1.HandlebarsEnvironment=HandlebarsEnvironment;function _interopRequireDefault$4(B){return B&&B.__esModule?B:{default:B}}var _utils$3=utils,_exception$3=exception.exports,_exception2$3=_interopRequireDefault$4(_exception$3),_helpers$2=helpers$1,_decorators=decorators,_logger=logger.exports,_logger2=_interopRequireDefault$4(_logger),_internalProtoAccess$1=protoAccess,VERSION="4.7.8";base$1.VERSION=VERSION;var COMPILER_REVISION=8;base$1.COMPILER_REVISION=COMPILER_REVISION;var LAST_COMPATIBLE_COMPILER_REVISION=7;base$1.LAST_COMPATIBLE_COMPILER_REVISION=LAST_COMPATIBLE_COMPILER_REVISION;var REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 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(B,R,F){this.helpers=B||{},this.partials=R||{},this.decorators=F||{},_helpers$2.registerDefaultHelpers(this),_decorators.registerDefaultDecorators(this)}HandlebarsEnvironment.prototype={constructor:HandlebarsEnvironment,logger:_logger2.default,log:_logger2.default.log,registerHelper:function B(R,F){if(_utils$3.toString.call(R)===objectType){if(F)throw new _exception2$3.default("Arg not supported with multiple helpers");_utils$3.extend(this.helpers,R)}else this.helpers[R]=F},unregisterHelper:function B(R){delete this.helpers[R]},registerPartial:function B(R,F){if(_utils$3.toString.call(R)===objectType)_utils$3.extend(this.partials,R);else{if(typeof F=="undefined")throw new _exception2$3.default('Attempting to register a partial called "'+R+'" as undefined');this.partials[R]=F}},unregisterPartial:function B(R){delete this.partials[R]},registerDecorator:function B(R,F){if(_utils$3.toString.call(R)===objectType){if(F)throw new _exception2$3.default("Arg not supported with multiple decorators");_utils$3.extend(this.decorators,R)}else this.decorators[R]=F},unregisterDecorator:function B(R){delete this.decorators[R]},resetLoggedPropertyAccesses:function B(){_internalProtoAccess$1.resetLoggedProperties()}};var log=_logger2.default.log;base$1.log=log;base$1.createFrame=_utils$3.createFrame;base$1.logger=_logger2.default;var safeString={exports:{}};(function(B,R){R.__esModule=!0;function F(D){this.string=D}F.prototype.toString=F.prototype.toHTML=function(){return""+this.string},R.default=F,B.exports=R.default})(safeString,safeString.exports);var runtime={},wrapHelper$1={};wrapHelper$1.__esModule=!0;wrapHelper$1.wrapHelper=wrapHelper;function wrapHelper(B,R){if(typeof B!="function")return B;var F=function(){var G=arguments[arguments.length-1];return arguments[arguments.length-1]=R(G),B.apply(this,arguments)};return F}runtime.__esModule=!0;runtime.checkRevision=checkRevision;runtime.template=template;runtime.wrapProgram=wrapProgram;runtime.resolvePartial=resolvePartial;runtime.invokePartial=invokePartial;runtime.noop=noop;function _interopRequireDefault$3(B){return B&&B.__esModule?B:{default:B}}function _interopRequireWildcard$1(B){if(B&&B.__esModule)return B;var R={};if(B!=null)for(var F in B)Object.prototype.hasOwnProperty.call(B,F)&&(R[F]=B[F]);return R.default=B,R}var _utils$2=utils,Utils=_interopRequireWildcard$1(_utils$2),_exception$2=exception.exports,_exception2$2=_interopRequireDefault$3(_exception$2),_base=base$1,_helpers$1=helpers$1,_internalWrapHelper=wrapHelper$1,_internalProtoAccess=protoAccess;function checkRevision(B){var R=B&&B[0]||1,F=_base.COMPILER_REVISION;if(!(R>=_base.LAST_COMPATIBLE_COMPILER_REVISION&&R<=_base.COMPILER_REVISION))if(R<_base.LAST_COMPATIBLE_COMPILER_REVISION){var D=_base.REVISION_CHANGES[F],G=_base.REVISION_CHANGES[R];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 ("+D+") or downgrade your runtime to an older version ("+G+").")}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 ("+B[1]+").")}function template(B,R){if(!R)throw new _exception2$2.default("No environment passed to template");if(!B||!B.main)throw new _exception2$2.default("Unknown template object: "+typeof B);B.main.decorator=B.main_d,R.VM.checkRevision(B.compiler);var F=B.compiler&&B.compiler[0]===7;function D(W,q,Y){Y.hash&&(q=Utils.extend({},q,Y.hash),Y.ids&&(Y.ids[0]=!0)),W=R.VM.resolvePartial.call(this,W,q,Y);var Q=Utils.extend({},Y,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),Z=R.VM.invokePartial.call(this,W,q,Q);if(Z==null&&R.compile&&(Y.partials[Y.name]=R.compile(W,B.compilerOptions,R),Z=Y.partials[Y.name](q,Q)),Z!=null){if(Y.indent){for(var K=Z.split(`
- `),J=0,ie=K.length;J<ie&&!(!K[J]&&J+1===ie);J++)K[J]=Y.indent+K[J];Z=K.join(`
- `)}return Z}else throw new _exception2$2.default("The partial "+Y.name+" could not be compiled when running in runtime-only mode")}var G={strict:function(q,Y,Q){if(!q||!(Y in q))throw new _exception2$2.default('"'+Y+'" not defined in '+q,{loc:Q});return G.lookupProperty(q,Y)},lookupProperty:function(q,Y){var Q=q[Y];if(Q==null||Object.prototype.hasOwnProperty.call(q,Y)||_internalProtoAccess.resultIsAllowed(Q,G.protoAccessControl,Y))return Q},lookup:function(q,Y){for(var Q=q.length,Z=0;Z<Q;Z++){var K=q[Z]&&G.lookupProperty(q[Z],Y);if(K!=null)return q[Z][Y]}},lambda:function(q,Y){return typeof q=="function"?q.call(Y):q},escapeExpression:Utils.escapeExpression,invokePartial:D,fn:function(q){var Y=B[q];return Y.decorator=B[q+"_d"],Y},programs:[],program:function(q,Y,Q,Z,K){var J=this.programs[q],ie=this.fn(q);return Y||K||Z||Q?J=wrapProgram(this,q,ie,Y,Q,Z,K):J||(J=this.programs[q]=wrapProgram(this,q,ie)),J},data:function(q,Y){for(;q&&Y--;)q=q._parent;return q},mergeIfNeeded:function(q,Y){var Q=q||Y;return q&&Y&&q!==Y&&(Q=Utils.extend({},Y,q)),Q},nullContext:Object.seal({}),noop:R.VM.noop,compilerInfo:B.compiler};function U(W){var q=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],Y=q.data;U._setup(q),!q.partial&&B.useData&&(Y=initData(W,Y));var Q=void 0,Z=B.useBlockParams?[]:void 0;B.useDepths&&(q.depths?Q=W!=q.depths[0]?[W].concat(q.depths):q.depths:Q=[W]);function K(J){return""+B.main(G,J,G.helpers,G.partials,Y,Z,Q)}return K=executeDecorators(B.main,K,G,q.depths||[],Y,Z),K(W,q)}return U.isTop=!0,U._setup=function(W){if(W.partial)G.protoAccessControl=W.protoAccessControl,G.helpers=W.helpers,G.partials=W.partials,G.decorators=W.decorators,G.hooks=W.hooks;else{var q=Utils.extend({},R.helpers,W.helpers);wrapHelpersToPassLookupProperty(q,G),G.helpers=q,B.usePartial&&(G.partials=G.mergeIfNeeded(W.partials,R.partials)),(B.usePartial||B.useDecorators)&&(G.decorators=Utils.extend({},R.decorators,W.decorators)),G.hooks={},G.protoAccessControl=_internalProtoAccess.createProtoAccessControl(W);var Y=W.allowCallsToHelperMissing||F;_helpers$1.moveHelperToHooks(G,"helperMissing",Y),_helpers$1.moveHelperToHooks(G,"blockHelperMissing",Y)}},U._child=function(W,q,Y,Q){if(B.useBlockParams&&!Y)throw new _exception2$2.default("must pass block params");if(B.useDepths&&!Q)throw new _exception2$2.default("must pass parent depths");return wrapProgram(G,W,B[W],q,0,Y,Q)},U}function wrapProgram(B,R,F,D,G,U,W){function q(Y){var Q=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],Z=W;return W&&Y!=W[0]&&!(Y===B.nullContext&&W[0]===null)&&(Z=[Y].concat(W)),F(B,Y,B.helpers,B.partials,Q.data||D,U&&[Q.blockParams].concat(U),Z)}return q=executeDecorators(F,q,B,W,D,U),q.program=R,q.depth=W?W.length:0,q.blockParams=G||0,q}function resolvePartial(B,R,F){return B?!B.call&&!F.name&&(F.name=B,B=F.partials[B]):F.name==="@partial-block"?B=F.data["partial-block"]:B=F.partials[F.name],B}function invokePartial(B,R,F){var D=F.data&&F.data["partial-block"];F.partial=!0,F.ids&&(F.data.contextPath=F.ids[0]||F.data.contextPath);var G=void 0;if(F.fn&&F.fn!==noop&&function(){F.data=_base.createFrame(F.data);var U=F.fn;G=F.data["partial-block"]=function(q){var Y=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return Y.data=_base.createFrame(Y.data),Y.data["partial-block"]=D,U(q,Y)},U.partials&&(F.partials=Utils.extend({},F.partials,U.partials))}(),B===void 0&&G&&(B=G),B===void 0)throw new _exception2$2.default("The partial "+F.name+" could not be found");if(B instanceof Function)return B(R,F)}function noop(){return""}function initData(B,R){return(!R||!("root"in R))&&(R=R?_base.createFrame(R):{},R.root=B),R}function executeDecorators(B,R,F,D,G,U){if(B.decorator){var W={};R=B.decorator(R,W,F,D&&D[0],G,U,D),Utils.extend(R,W)}return R}function wrapHelpersToPassLookupProperty(B,R){Object.keys(B).forEach(function(F){var D=B[F];B[F]=passLookupPropertyOption(D,R)})}function passLookupPropertyOption(B,R){var F=R.lookupProperty;return _internalWrapHelper.wrapHelper(B,function(D){return Utils.extend({lookupProperty:F},D)})}var noConflict={exports:{}};(function(B,R){R.__esModule=!0,R.default=function(F){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var D=globalThis.Handlebars;F.noConflict=function(){return globalThis.Handlebars===F&&(globalThis.Handlebars=D),F}},B.exports=R.default})(noConflict,noConflict.exports);(function(B,R){R.__esModule=!0;function F(le){return le&&le.__esModule?le:{default:le}}function D(le){if(le&&le.__esModule)return le;var ce={};if(le!=null)for(var he in le)Object.prototype.hasOwnProperty.call(le,he)&&(ce[he]=le[he]);return ce.default=le,ce}var G=base$1,U=D(G),W=safeString.exports,q=F(W),Y=exception.exports,Q=F(Y),Z=utils,K=D(Z),J=runtime,ie=D(J),ne=noConflict.exports,se=F(ne);function re(){var le=new U.HandlebarsEnvironment;return K.extend(le,U),le.SafeString=q.default,le.Exception=Q.default,le.Utils=K,le.escapeExpression=K.escapeExpression,le.VM=ie,le.template=function(ce){return ie.template(ce,le)},le}var ae=re();ae.create=re,se.default(ae),ae.default=ae,R.default=ae,B.exports=R.default})(handlebars_runtime,handlebars_runtime.exports);var ast={exports:{}};(function(B,R){R.__esModule=!0;var F={helpers:{helperExpression:function(G){return G.type==="SubExpression"||(G.type==="MustacheStatement"||G.type==="BlockStatement")&&!!(G.params&&G.params.length||G.hash)},scopedId:function(G){return/^\.|this\b/.test(G.original)},simpleId:function(G){return G.parts.length===1&&!F.helpers.scopedId(G)&&!G.depth}}};R.default=F,B.exports=R.default})(ast,ast.exports);var base={},parser$2={exports:{}};(function(B,R){R.__esModule=!0;var F=function(){var D={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(q,Y,Q,Z,K,J,ie){var ne=J.length-1;switch(K){case 1:return J[ne-1];case 2:this.$=Z.prepareProgram(J[ne]);break;case 3:this.$=J[ne];break;case 4:this.$=J[ne];break;case 5:this.$=J[ne];break;case 6:this.$=J[ne];break;case 7:this.$=J[ne];break;case 8:this.$=J[ne];break;case 9:this.$={type:"CommentStatement",value:Z.stripComment(J[ne]),strip:Z.stripFlags(J[ne],J[ne]),loc:Z.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:J[ne],value:J[ne],loc:Z.locInfo(this._$)};break;case 11:this.$=Z.prepareRawBlock(J[ne-2],J[ne-1],J[ne],this._$);break;case 12:this.$={path:J[ne-3],params:J[ne-2],hash:J[ne-1]};break;case 13:this.$=Z.prepareBlock(J[ne-3],J[ne-2],J[ne-1],J[ne],!1,this._$);break;case 14:this.$=Z.prepareBlock(J[ne-3],J[ne-2],J[ne-1],J[ne],!0,this._$);break;case 15:this.$={open:J[ne-5],path:J[ne-4],params:J[ne-3],hash:J[ne-2],blockParams:J[ne-1],strip:Z.stripFlags(J[ne-5],J[ne])};break;case 16:this.$={path:J[ne-4],params:J[ne-3],hash:J[ne-2],blockParams:J[ne-1],strip:Z.stripFlags(J[ne-5],J[ne])};break;case 17:this.$={path:J[ne-4],params:J[ne-3],hash:J[ne-2],blockParams:J[ne-1],strip:Z.stripFlags(J[ne-5],J[ne])};break;case 18:this.$={strip:Z.stripFlags(J[ne-1],J[ne-1]),program:J[ne]};break;case 19:var se=Z.prepareBlock(J[ne-2],J[ne-1],J[ne],J[ne],!1,this._$),re=Z.prepareProgram([se],J[ne-1].loc);re.chained=!0,this.$={strip:J[ne-2].strip,program:re,chain:!0};break;case 20:this.$=J[ne];break;case 21:this.$={path:J[ne-1],strip:Z.stripFlags(J[ne-2],J[ne])};break;case 22:this.$=Z.prepareMustache(J[ne-3],J[ne-2],J[ne-1],J[ne-4],Z.stripFlags(J[ne-4],J[ne]),this._$);break;case 23:this.$=Z.prepareMustache(J[ne-3],J[ne-2],J[ne-1],J[ne-4],Z.stripFlags(J[ne-4],J[ne]),this._$);break;case 24:this.$={type:"PartialStatement",name:J[ne-3],params:J[ne-2],hash:J[ne-1],indent:"",strip:Z.stripFlags(J[ne-4],J[ne]),loc:Z.locInfo(this._$)};break;case 25:this.$=Z.preparePartialBlock(J[ne-2],J[ne-1],J[ne],this._$);break;case 26:this.$={path:J[ne-3],params:J[ne-2],hash:J[ne-1],strip:Z.stripFlags(J[ne-4],J[ne])};break;case 27:this.$=J[ne];break;case 28:this.$=J[ne];break;case 29:this.$={type:"SubExpression",path:J[ne-3],params:J[ne-2],hash:J[ne-1],loc:Z.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:J[ne],loc:Z.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:Z.id(J[ne-2]),value:J[ne],loc:Z.locInfo(this._$)};break;case 32:this.$=Z.id(J[ne-1]);break;case 33:this.$=J[ne];break;case 34:this.$=J[ne];break;case 35:this.$={type:"StringLiteral",value:J[ne],original:J[ne],loc:Z.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(J[ne]),original:Number(J[ne]),loc:Z.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:J[ne]==="true",original:J[ne]==="true",loc:Z.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:Z.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:Z.locInfo(this._$)};break;case 40:this.$=J[ne];break;case 41:this.$=J[ne];break;case 42:this.$=Z.preparePath(!0,J[ne],this._$);break;case 43:this.$=Z.preparePath(!1,J[ne],this._$);break;case 44:J[ne-2].push({part:Z.id(J[ne]),original:J[ne],separator:J[ne-1]}),this.$=J[ne-2];break;case 45:this.$=[{part:Z.id(J[ne]),original:J[ne]}];break;case 46:this.$=[];break;case 47:J[ne-1].push(J[ne]);break;case 48:this.$=[];break;case 49:J[ne-1].push(J[ne]);break;case 50:this.$=[];break;case 51:J[ne-1].push(J[ne]);break;case 58:this.$=[];break;case 59:J[ne-1].push(J[ne]);break;case 64:this.$=[];break;case 65:J[ne-1].push(J[ne]);break;case 70:this.$=[];break;case 71:J[ne-1].push(J[ne]);break;case 78:this.$=[];break;case 79:J[ne-1].push(J[ne]);break;case 82:this.$=[];break;case 83:J[ne-1].push(J[ne]);break;case 86:this.$=[];break;case 87:J[ne-1].push(J[ne]);break;case 90:this.$=[];break;case 91:J[ne-1].push(J[ne]);break;case 94:this.$=[];break;case 95:J[ne-1].push(J[ne]);break;case 98:this.$=[J[ne]];break;case 99:J[ne-1].push(J[ne]);break;case 100:this.$=[J[ne]];break;case 101:J[ne-1].push(J[ne]);break}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function(q,Y){throw new Error(q)},parse:function(q){var Y=this,Q=[0],Z=[null],K=[],J=this.table,ie="",ne=0,se=0;this.lexer.setInput(q),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={});var re=this.lexer.yylloc;K.push(re);var ae=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);function le(){var Pe;return Pe=Y.lexer.lex()||1,typeof Pe!="number"&&(Pe=Y.symbols_[Pe]||Pe),Pe}for(var ce,he,de,me,fe={},ge,Se,Ee,ve;;){if(he=Q[Q.length-1],this.defaultActions[he]?de=this.defaultActions[he]:((ce===null||typeof ce=="undefined")&&(ce=le()),de=J[he]&&J[he][ce]),typeof de=="undefined"||!de.length||!de[0]){var xe="";{ve=[];for(ge in J[he])this.terminals_[ge]&&ge>2&&ve.push("'"+this.terminals_[ge]+"'");this.lexer.showPosition?xe="Parse error on line "+(ne+1)+`:
- `+this.lexer.showPosition()+`
- Expecting `+ve.join(", ")+", got '"+(this.terminals_[ce]||ce)+"'":xe="Parse error on line "+(ne+1)+": Unexpected "+(ce==1?"end of input":"'"+(this.terminals_[ce]||ce)+"'"),this.parseError(xe,{text:this.lexer.match,token:this.terminals_[ce]||ce,line:this.lexer.yylineno,loc:re,expected:ve})}}if(de[0]instanceof Array&&de.length>1)throw new Error("Parse Error: multiple actions possible at state: "+he+", token: "+ce);switch(de[0]){case 1:Q.push(ce),Z.push(this.lexer.yytext),K.push(this.lexer.yylloc),Q.push(de[1]),ce=null,se=this.lexer.yyleng,ie=this.lexer.yytext,ne=this.lexer.yylineno,re=this.lexer.yylloc;break;case 2:if(Se=this.productions_[de[1]][1],fe.$=Z[Z.length-Se],fe._$={first_line:K[K.length-(Se||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(Se||1)].first_column,last_column:K[K.length-1].last_column},ae&&(fe._$.range=[K[K.length-(Se||1)].range[0],K[K.length-1].range[1]]),me=this.performAction.call(fe,ie,se,ne,this.yy,de[1],Z,K),typeof me!="undefined")return me;Se&&(Q=Q.slice(0,-1*Se*2),Z=Z.slice(0,-1*Se),K=K.slice(0,-1*Se)),Q.push(this.productions_[de[1]][0]),Z.push(fe.$),K.push(fe._$),Ee=J[Q[Q.length-2]][Q[Q.length-1]],Q.push(Ee);break;case 3:return!0}}return!0}},G=function(){var W={EOF:1,parseError:function(Y,Q){if(this.yy.parser)this.yy.parser.parseError(Y,Q);else throw new Error(Y)},setInput:function(Y){return this._input=Y,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 Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var Q=Y.match(/(?:\r\n?|\n).*/g);return Q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},unput:function(Y){var Q=Y.length,Z=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Q-1),this.offset-=Q;var K=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),Z.length-1&&(this.yylineno-=Z.length-1);var J=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:Z?(Z.length===K.length?this.yylloc.first_column:0)+K[K.length-Z.length].length-Z[0].length:this.yylloc.first_column-Q},this.options.ranges&&(this.yylloc.range=[J[0],J[0]+this.yyleng-Q]),this},more:function(){return this._more=!0,this},less:function(Y){this.unput(this.match.slice(Y))},pastInput:function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Y=this.pastInput(),Q=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+`
- `+Q+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,Q,Z,K,J;this._more||(this.yytext="",this.match="");for(var ie=this._currentRules(),ne=0;ne<ie.length&&(Z=this._input.match(this.rules[ie[ne]]),!(Z&&(!Q||Z[0].length>Q[0].length)&&(Q=Z,K=ne,!this.options.flex)));ne++);return Q?(J=Q[0].match(/(?:\r\n?|\n).*/g),J&&(this.yylineno+=J.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:J?J[J.length-1].length-J[J.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Q[0].length},this.yytext+=Q[0],this.match+=Q[0],this.matches=Q,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(Q[0].length),this.matched+=Q[0],Y=this.performAction.call(this,this.yy,this,ie[K],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Y||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 Y=this.next();return typeof Y!="undefined"?Y:this.lex()},begin:function(Y){this.conditionStack.push(Y)},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(Y){this.begin(Y)}};return W.options={},W.performAction=function(Y,Q,Z,K){function J(ie,ne){return Q.yytext=Q.yytext.substring(ie,Q.yyleng-ne+ie)}switch(Z){case 0:if(Q.yytext.slice(-2)==="\\\\"?(J(0,1),this.begin("mu")):Q.yytext.slice(-1)==="\\"?(J(0,1),this.begin("emu")):this.begin("mu"),Q.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:(J(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(Q.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 Q.yytext=J(1,2).replace(/\\"/g,'"'),80;case 32:return Q.yytext=J(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 Q.yytext=Q.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},W.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\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],W.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}},W}();D.lexer=G;function U(){this.yy={}}return U.prototype=D,D.Parser=U,new U}();R.default=F,B.exports=R.default})(parser$2,parser$2.exports);var whitespaceControl={exports:{}},visitor={exports:{}};(function(B,R){R.__esModule=!0;function F(Q){return Q&&Q.__esModule?Q:{default:Q}}var D=exception.exports,G=F(D);function U(){this.parents=[]}U.prototype={constructor:U,mutating:!1,acceptKey:function(Z,K){var J=this.accept(Z[K]);if(this.mutating){if(J&&!U.prototype[J.type])throw new G.default('Unexpected node type "'+J.type+'" found when accepting '+K+" on "+Z.type);Z[K]=J}},acceptRequired:function(Z,K){if(this.acceptKey(Z,K),!Z[K])throw new G.default(Z.type+" requires "+K)},acceptArray:function(Z){for(var K=0,J=Z.length;K<J;K++)this.acceptKey(Z,K),Z[K]||(Z.splice(K,1),K--,J--)},accept:function(Z){if(!!Z){if(!this[Z.type])throw new G.default("Unknown type: "+Z.type,Z);this.current&&this.parents.unshift(this.current),this.current=Z;var K=this[Z.type](Z);if(this.current=this.parents.shift(),!this.mutating||K)return K;if(K!==!1)return Z}},Program:function(Z){this.acceptArray(Z.body)},MustacheStatement:W,Decorator:W,BlockStatement:q,DecoratorBlock:q,PartialStatement:Y,PartialBlockStatement:function(Z){Y.call(this,Z),this.acceptKey(Z,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:W,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(Z){this.acceptArray(Z.pairs)},HashPair:function(Z){this.acceptRequired(Z,"value")}};function W(Q){this.acceptRequired(Q,"path"),this.acceptArray(Q.params),this.acceptKey(Q,"hash")}function q(Q){W.call(this,Q),this.acceptKey(Q,"program"),this.acceptKey(Q,"inverse")}function Y(Q){this.acceptRequired(Q,"name"),this.acceptArray(Q.params),this.acceptKey(Q,"hash")}R.default=U,B.exports=R.default})(visitor,visitor.exports);(function(B,R){R.__esModule=!0;function F(Z){return Z&&Z.__esModule?Z:{default:Z}}var D=visitor.exports,G=F(D);function U(){var Z=arguments.length<=0||arguments[0]===void 0?{}:arguments[0];this.options=Z}U.prototype=new G.default,U.prototype.Program=function(Z){var K=!this.options.ignoreStandalone,J=!this.isRootSeen;this.isRootSeen=!0;for(var ie=Z.body,ne=0,se=ie.length;ne<se;ne++){var re=ie[ne],ae=this.accept(re);if(!!ae){var le=W(ie,ne,J),ce=q(ie,ne,J),he=ae.openStandalone&&le,de=ae.closeStandalone&&ce,me=ae.inlineStandalone&&le&&ce;ae.close&&Y(ie,ne,!0),ae.open&&Q(ie,ne,!0),K&&me&&(Y(ie,ne),Q(ie,ne)&&re.type==="PartialStatement"&&(re.indent=/([ \t]+$)/.exec(ie[ne-1].original)[1])),K&&he&&(Y((re.program||re.inverse).body),Q(ie,ne)),K&&de&&(Y(ie,ne),Q((re.inverse||re.program).body))}}return Z},U.prototype.BlockStatement=U.prototype.DecoratorBlock=U.prototype.PartialBlockStatement=function(Z){this.accept(Z.program),this.accept(Z.inverse);var K=Z.program||Z.inverse,J=Z.program&&Z.inverse,ie=J,ne=J;if(J&&J.chained)for(ie=J.body[0].program;ne.chained;)ne=ne.body[ne.body.length-1].program;var se={open:Z.openStrip.open,close:Z.closeStrip.close,openStandalone:q(K.body),closeStandalone:W((ie||K).body)};if(Z.openStrip.close&&Y(K.body,null,!0),J){var re=Z.inverseStrip;re.open&&Q(K.body,null,!0),re.close&&Y(ie.body,null,!0),Z.closeStrip.open&&Q(ne.body,null,!0),!this.options.ignoreStandalone&&W(K.body)&&q(ie.body)&&(Q(K.body),Y(ie.body))}else Z.closeStrip.open&&Q(K.body,null,!0);return se},U.prototype.Decorator=U.prototype.MustacheStatement=function(Z){return Z.strip},U.prototype.PartialStatement=U.prototype.CommentStatement=function(Z){var K=Z.strip||{};return{inlineStandalone:!0,open:K.open,close:K.close}};function W(Z,K,J){K===void 0&&(K=Z.length);var ie=Z[K-1],ne=Z[K-2];if(!ie)return J;if(ie.type==="ContentStatement")return(ne||!J?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(ie.original)}function q(Z,K,J){K===void 0&&(K=-1);var ie=Z[K+1],ne=Z[K+2];if(!ie)return J;if(ie.type==="ContentStatement")return(ne||!J?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(ie.original)}function Y(Z,K,J){var ie=Z[K==null?0:K+1];if(!(!ie||ie.type!=="ContentStatement"||!J&&ie.rightStripped)){var ne=ie.value;ie.value=ie.value.replace(J?/^\s+/:/^[ \t]*\r?\n?/,""),ie.rightStripped=ie.value!==ne}}function Q(Z,K,J){var ie=Z[K==null?Z.length-1:K-1];if(!(!ie||ie.type!=="ContentStatement"||!J&&ie.leftStripped)){var ne=ie.value;return ie.value=ie.value.replace(J?/\s+$/:/[ \t]+$/,""),ie.leftStripped=ie.value!==ne,ie.leftStripped}}R.default=U,B.exports=R.default})(whitespaceControl,whitespaceControl.exports);var helpers={};helpers.__esModule=!0;helpers.SourceLocation=SourceLocation;helpers.id=id;helpers.stripFlags=stripFlags;helpers.stripComment=stripComment;helpers.preparePath=preparePath;helpers.prepareMustache=prepareMustache;helpers.prepareRawBlock=prepareRawBlock;helpers.prepareBlock=prepareBlock;helpers.prepareProgram=prepareProgram;helpers.preparePartialBlock=preparePartialBlock;function _interopRequireDefault$2(B){return B&&B.__esModule?B:{default:B}}var _exception$1=exception.exports,_exception2$1=_interopRequireDefault$2(_exception$1);function validateClose(B,R){if(R=R.path?R.path.original:R,B.path.original!==R){var F={loc:B.path.loc};throw new _exception2$1.default(B.path.original+" doesn't match "+R,F)}}function SourceLocation(B,R){this.source=B,this.start={line:R.first_line,column:R.first_column},this.end={line:R.last_line,column:R.last_column}}function id(B){return/^\[.*\]$/.test(B)?B.substring(1,B.length-1):B}function stripFlags(B,R){return{open:B.charAt(2)==="~",close:R.charAt(R.length-3)==="~"}}function stripComment(B){return B.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function preparePath(B,R,F){F=this.locInfo(F);for(var D=B?"@":"",G=[],U=0,W=0,q=R.length;W<q;W++){var Y=R[W].part,Q=R[W].original!==Y;if(D+=(R[W].separator||"")+Y,!Q&&(Y===".."||Y==="."||Y==="this")){if(G.length>0)throw new _exception2$1.default("Invalid path: "+D,{loc:F});Y===".."&&U++}else G.push(Y)}return{type:"PathExpression",data:B,depth:U,parts:G,original:D,loc:F}}function prepareMustache(B,R,F,D,G,U){var W=D.charAt(3)||D.charAt(2),q=W!=="{"&&W!=="&",Y=/\*/.test(D);return{type:Y?"Decorator":"MustacheStatement",path:B,params:R,hash:F,escaped:q,strip:G,loc:this.locInfo(U)}}function prepareRawBlock(B,R,F,D){validateClose(B,F),D=this.locInfo(D);var G={type:"Program",body:R,strip:{},loc:D};return{type:"BlockStatement",path:B.path,params:B.params,hash:B.hash,program:G,openStrip:{},inverseStrip:{},closeStrip:{},loc:D}}function prepareBlock(B,R,F,D,G,U){D&&D.path&&validateClose(B,D);var W=/\*/.test(B.open);R.blockParams=B.blockParams;var q=void 0,Y=void 0;if(F){if(W)throw new _exception2$1.default("Unexpected inverse block on decorator",F);F.chain&&(F.program.body[0].closeStrip=D.strip),Y=F.strip,q=F.program}return G&&(G=q,q=R,R=G),{type:W?"DecoratorBlock":"BlockStatement",path:B.path,params:B.params,hash:B.hash,program:R,inverse:q,openStrip:B.strip,inverseStrip:Y,closeStrip:D&&D.strip,loc:this.locInfo(U)}}function prepareProgram(B,R){if(!R&&B.length){var F=B[0].loc,D=B[B.length-1].loc;F&&D&&(R={source:F.source,start:{line:F.start.line,column:F.start.column},end:{line:D.end.line,column:D.end.column}})}return{type:"Program",body:B,strip:{},loc:R}}function preparePartialBlock(B,R,F,D){return validateClose(B,F),{type:"PartialBlockStatement",name:B.path,params:B.params,hash:B.hash,program:R,openStrip:B.strip,closeStrip:F&&F.strip,loc:this.locInfo(D)}}base.__esModule=!0;base.parseWithoutProcessing=parseWithoutProcessing;base.parse=parse$2;function _interopRequireWildcard(B){if(B&&B.__esModule)return B;var R={};if(B!=null)for(var F in B)Object.prototype.hasOwnProperty.call(B,F)&&(R[F]=B[F]);return R.default=B,R}function _interopRequireDefault$1(B){return B&&B.__esModule?B:{default:B}}var _parser=parser$2.exports,_parser2=_interopRequireDefault$1(_parser),_whitespaceControl=whitespaceControl.exports,_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(B,R){if(B.type==="Program")return B;_parser2.default.yy=yy,yy.locInfo=function(D){return new yy.SourceLocation(R&&R.srcName,D)};var F=_parser2.default.parse(B);return F}function parse$2(B,R){var F=parseWithoutProcessing(B,R),D=new _whitespaceControl2.default(R);return D.accept(F)}var compiler={};compiler.__esModule=!0;compiler.Compiler=Compiler;compiler.precompile=precompile;compiler.compile=compile;function _interopRequireDefault(B){return B&&B.__esModule?B:{default:B}}var _exception=exception.exports,_exception2=_interopRequireDefault(_exception),_utils=utils,_ast=ast.exports,_ast2=_interopRequireDefault(_ast),slice=[].slice;function Compiler(){}Compiler.prototype={compiler:Compiler,equals:function B(R){var F=this.opcodes.length;if(R.opcodes.length!==F)return!1;for(var D=0;D<F;D++){var G=this.opcodes[D],U=R.opcodes[D];if(G.opcode!==U.opcode||!argEquals(G.args,U.args))return!1}F=this.children.length;for(var D=0;D<F;D++)if(!this.children[D].equals(R.children[D]))return!1;return!0},guid:0,compile:function B(R,F){return this.sourceNode=[],this.opcodes=[],this.children=[],this.options=F,this.stringParams=F.stringParams,this.trackIds=F.trackIds,F.blockParams=F.blockParams||[],F.knownHelpers=_utils.extend(Object.create(null),{helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},F.knownHelpers),this.accept(R)},compileProgram:function B(R){var F=new this.compiler,D=F.compile(R,this.options),G=this.guid++;return this.usePartial=this.usePartial||D.usePartial,this.children[G]=D,this.useDepths=this.useDepths||D.useDepths,G},accept:function B(R){if(!this[R.type])throw new _exception2.default("Unknown type: "+R.type,R);this.sourceNode.unshift(R);var F=this[R.type](R);return this.sourceNode.shift(),F},Program:function B(R){this.options.blockParams.unshift(R.blockParams);for(var F=R.body,D=F.length,G=0;G<D;G++)this.accept(F[G]);return this.options.blockParams.shift(),this.isSimple=D===1,this.blockParams=R.blockParams?R.blockParams.length:0,this},BlockStatement:function B(R){transformLiteralToPath(R);var F=R.program,D=R.inverse;F=F&&this.compileProgram(F),D=D&&this.compileProgram(D);var G=this.classifySexpr(R);G==="helper"?this.helperSexpr(R,F,D):G==="simple"?(this.simpleSexpr(R),this.opcode("pushProgram",F),this.opcode("pushProgram",D),this.opcode("emptyHash"),this.opcode("blockValue",R.path.original)):(this.ambiguousSexpr(R,F,D),this.opcode("pushProgram",F),this.opcode("pushProgram",D),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function B(R){var F=R.program&&this.compileProgram(R.program),D=this.setupFullMustacheParams(R,F,void 0),G=R.path;this.useDecorators=!0,this.opcode("registerDecorator",D.length,G.original)},PartialStatement:function B(R){this.usePartial=!0;var F=R.program;F&&(F=this.compileProgram(R.program));var D=R.params;if(D.length>1)throw new _exception2.default("Unsupported number of partial arguments: "+D.length,R);D.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):D.push({type:"PathExpression",parts:[],depth:0}));var G=R.name.original,U=R.name.type==="SubExpression";U&&this.accept(R.name),this.setupFullMustacheParams(R,F,void 0,!0);var W=R.indent||"";this.options.preventIndent&&W&&(this.opcode("appendContent",W),W=""),this.opcode("invokePartial",U,G,W),this.opcode("append")},PartialBlockStatement:function B(R){this.PartialStatement(R)},MustacheStatement:function B(R){this.SubExpression(R),R.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function B(R){this.DecoratorBlock(R)},ContentStatement:function B(R){R.value&&this.opcode("appendContent",R.value)},CommentStatement:function B(){},SubExpression:function B(R){transformLiteralToPath(R);var F=this.classifySexpr(R);F==="simple"?this.simpleSexpr(R):F==="helper"?this.helperSexpr(R):this.ambiguousSexpr(R)},ambiguousSexpr:function B(R,F,D){var G=R.path,U=G.parts[0],W=F!=null||D!=null;this.opcode("getContext",G.depth),this.opcode("pushProgram",F),this.opcode("pushProgram",D),G.strict=!0,this.accept(G),this.opcode("invokeAmbiguous",U,W)},simpleSexpr:function B(R){var F=R.path;F.strict=!0,this.accept(F),this.opcode("resolvePossibleLambda")},helperSexpr:function B(R,F,D){var G=this.setupFullMustacheParams(R,F,D),U=R.path,W=U.parts[0];if(this.options.knownHelpers[W])this.opcode("invokeKnownHelper",G.length,W);else{if(this.options.knownHelpersOnly)throw new _exception2.default("You specified knownHelpersOnly, but used the unknown helper "+W,R);U.strict=!0,U.falsy=!0,this.accept(U),this.opcode("invokeHelper",G.length,U.original,_ast2.default.helpers.simpleId(U))}},PathExpression:function B(R){this.addDepth(R.depth),this.opcode("getContext",R.depth);var F=R.parts[0],D=_ast2.default.helpers.scopedId(R),G=!R.depth&&!D&&this.blockParamIndex(F);G?this.opcode("lookupBlockParam",G,R.parts):F?R.data?(this.options.data=!0,this.opcode("lookupData",R.depth,R.parts,R.strict)):this.opcode("lookupOnContext",R.parts,R.falsy,R.strict,D):this.opcode("pushContext")},StringLiteral:function B(R){this.opcode("pushString",R.value)},NumberLiteral:function B(R){this.opcode("pushLiteral",R.value)},BooleanLiteral:function B(R){this.opcode("pushLiteral",R.value)},UndefinedLiteral:function B(){this.opcode("pushLiteral","undefined")},NullLiteral:function B(){this.opcode("pushLiteral","null")},Hash:function B(R){var F=R.pairs,D=0,G=F.length;for(this.opcode("pushHash");D<G;D++)this.pushParam(F[D].value);for(;D--;)this.opcode("assignToHash",F[D].key);this.opcode("popHash")},opcode:function B(R){this.opcodes.push({opcode:R,args:slice.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function B(R){!R||(this.useDepths=!0)},classifySexpr:function B(R){var F=_ast2.default.helpers.simpleId(R.path),D=F&&!!this.blockParamIndex(R.path.parts[0]),G=!D&&_ast2.default.helpers.helperExpression(R),U=!D&&(G||F);if(U&&!G){var W=R.path.parts[0],q=this.options;q.knownHelpers[W]?G=!0:q.knownHelpersOnly&&(U=!1)}return G?"helper":U?"ambiguous":"simple"},pushParams:function B(R){for(var F=0,D=R.length;F<D;F++)this.pushParam(R[F])},pushParam:function B(R){var F=R.value!=null?R.value:R.original||"";if(this.stringParams)F.replace&&(F=F.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),R.depth&&this.addDepth(R.depth),this.opcode("getContext",R.depth||0),this.opcode("pushStringParam",F,R.type),R.type==="SubExpression"&&this.accept(R);else{if(this.trackIds){var D=void 0;if(R.parts&&!_ast2.default.helpers.scopedId(R)&&!R.depth&&(D=this.blockParamIndex(R.parts[0])),D){var G=R.parts.slice(1).join(".");this.opcode("pushId","BlockParam",D,G)}else F=R.original||F,F.replace&&(F=F.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",R.type,F)}this.accept(R)}},setupFullMustacheParams:function B(R,F,D,G){var U=R.params;return this.pushParams(U),this.opcode("pushProgram",F),this.opcode("pushProgram",D),R.hash?this.accept(R.hash):this.opcode("emptyHash",G),U},blockParamIndex:function B(R){for(var F=0,D=this.options.blockParams.length;F<D;F++){var G=this.options.blockParams[F],U=G&&_utils.indexOf(G,R);if(G&&U>=0)return[F,U]}}};function precompile(B,R,F){if(B==null||typeof B!="string"&&B.type!=="Program")throw new _exception2.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+B);R=R||{},"data"in R||(R.data=!0),R.compat&&(R.useDepths=!0);var D=F.parse(B,R),G=new F.Compiler().compile(D,R);return new F.JavaScriptCompiler().compile(G,R)}function compile(B,R,F){if(R===void 0&&(R={}),B==null||typeof B!="string"&&B.type!=="Program")throw new _exception2.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+B);R=_utils.extend({},R),"data"in R||(R.data=!0),R.compat&&(R.useDepths=!0);var D=void 0;function G(){var W=F.parse(B,R),q=new F.Compiler().compile(W,R),Y=new F.JavaScriptCompiler().compile(q,R,void 0,!0);return F.template(Y)}function U(W,q){return D||(D=G()),D.call(this,W,q)}return U._setup=function(W){return D||(D=G()),D._setup(W)},U._child=function(W,q,Y,Q){return D||(D=G()),D._child(W,q,Y,Q)},U}function argEquals(B,R){if(B===R)return!0;if(_utils.isArray(B)&&_utils.isArray(R)&&B.length===R.length){for(var F=0;F<B.length;F++)if(!argEquals(B[F],R[F]))return!1;return!0}}function transformLiteralToPath(B){if(!B.path.parts){var R=B.path;B.path={type:"PathExpression",data:!1,depth:0,parts:[R.original+""],original:R.original+"",loc:R.loc}}}var javascriptCompiler={exports:{}},codeGen={exports:{}};(function(B,R){R.__esModule=!0;var F=utils,D=void 0;try{var G=require("source-map");D=G.SourceNode}catch{}D||(D=function(q,Y,Q,Z){this.src="",Z&&this.add(Z)},D.prototype={add:function(Y){F.isArray(Y)&&(Y=Y.join("")),this.src+=Y},prepend:function(Y){F.isArray(Y)&&(Y=Y.join("")),this.src=Y+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}});function U(q,Y,Q){if(F.isArray(q)){for(var Z=[],K=0,J=q.length;K<J;K++)Z.push(Y.wrap(q[K],Q));return Z}else if(typeof q=="boolean"||typeof q=="number")return q+"";return q}function W(q){this.srcFile=q,this.source=[]}W.prototype={isEmpty:function(){return!this.source.length},prepend:function(Y,Q){this.source.unshift(this.wrap(Y,Q))},push:function(Y,Q){this.source.push(this.wrap(Y,Q))},merge:function(){var Y=this.empty();return this.each(function(Q){Y.add([" ",Q,`
- `])}),Y},each:function(Y){for(var Q=0,Z=this.source.length;Q<Z;Q++)Y(this.source[Q])},empty:function(){var Y=this.currentLocation||{start:{}};return new D(Y.start.line,Y.start.column,this.srcFile)},wrap:function(Y){var Q=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return Y instanceof D?Y:(Y=U(Y,this,Q),new D(Q.start.line,Q.start.column,this.srcFile,Y))},functionCall:function(Y,Q,Z){return Z=this.generateList(Z),this.wrap([Y,Q?"."+Q+"(":"(",Z,")"])},quotedString:function(Y){return'"'+(Y+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(Y){var Q=this,Z=[];Object.keys(Y).forEach(function(J){var ie=U(Y[J],Q);ie!=="undefined"&&Z.push([Q.quotedString(J),":",ie])});var K=this.generateList(Z);return K.prepend("{"),K.add("}"),K},generateList:function(Y){for(var Q=this.empty(),Z=0,K=Y.length;Z<K;Z++)Z&&Q.add(","),Q.add(U(Y[Z],this));return Q},generateArray:function(Y){var Q=this.generateList(Y);return Q.prepend("["),Q.add("]"),Q}},R.default=W,B.exports=R.default})(codeGen,codeGen.exports);(function(B,R){R.__esModule=!0;function F(J){return J&&J.__esModule?J:{default:J}}var D=base$1,G=exception.exports,U=F(G),W=utils,q=codeGen.exports,Y=F(q);function Q(J){this.value=J}function Z(){}Z.prototype={nameLookup:function(ie,ne){return this.internalNameLookup(ie,ne)},depthedLookup:function(ie){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(ie),")"]},compilerInfo:function(){var ie=D.COMPILER_REVISION,ne=D.REVISION_CHANGES[ie];return[ie,ne]},appendToBuffer:function(ie,ne,se){return W.isArray(ie)||(ie=[ie]),ie=this.source.wrap(ie,ne),this.environment.isSimple?["return ",ie,";"]:se?["buffer += ",ie,";"]:(ie.appendToBuffer=!0,ie)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(ie,ne){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",ie,",",JSON.stringify(ne),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(ie,ne,se,re){this.environment=ie,this.options=ne,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!re,this.name=this.environment.name,this.isChild=!!se,this.context=se||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(ie,ne),this.useDepths=this.useDepths||ie.useDepths||ie.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||ie.useBlockParams;var ae=ie.opcodes,le=void 0,ce=void 0,he=void 0,de=void 0;for(he=0,de=ae.length;he<de;he++)le=ae[he],this.source.currentLocation=le.loc,ce=ce||le.loc,this[le.opcode].apply(this,le.args);if(this.source.currentLocation=ce,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new U.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
- `]),this.decorators.push("return fn;"),re?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
- `),this.decorators.push(`}
- `),this.decorators=this.decorators.merge()));var me=this.createFunctionContext(re);if(this.isChild)return me;var fe={compiler:this.compilerInfo(),main:me};this.decorators&&(fe.main_d=this.decorators,fe.useDecorators=!0);var ge=this.context,Se=ge.programs,Ee=ge.decorators;for(he=0,de=Se.length;he<de;he++)Se[he]&&(fe[he]=Se[he],Ee[he]&&(fe[he+"_d"]=Ee[he],fe.useDecorators=!0));return this.environment.usePartial&&(fe.usePartial=!0),this.options.data&&(fe.useData=!0),this.useDepths&&(fe.useDepths=!0),this.useBlockParams&&(fe.useBlockParams=!0),this.options.compat&&(fe.compat=!0),re?fe.compilerOptions=this.options:(fe.compiler=JSON.stringify(fe.compiler),this.source.currentLocation={start:{line:1,column:0}},fe=this.objectLiteral(fe),ne.srcName?(fe=fe.toStringWithSourceMap({file:ne.destName}),fe.map=fe.map&&fe.map.toString()):fe=fe.toString()),fe},preamble:function(){this.lastContext=0,this.source=new Y.default(this.options.srcName),this.decorators=new Y.default(this.options.srcName)},createFunctionContext:function(ie){var ne=this,se="",re=this.stackVars.concat(this.registers.list);re.length>0&&(se+=", "+re.join(", "));var ae=0;Object.keys(this.aliases).forEach(function(he){var de=ne.aliases[he];de.children&&de.referenceCount>1&&(se+=", alias"+ ++ae+"="+he,de.children[0]="alias"+ae)}),this.lookupPropertyFunctionIsUsed&&(se+=", "+this.lookupPropertyFunctionVarDeclaration());var le=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&le.push("blockParams"),this.useDepths&&le.push("depths");var ce=this.mergeSource(se);return ie?(le.push(ce),Function.apply(this,le)):this.source.wrap(["function(",le.join(","),`) {
- `,ce,"}"])},mergeSource:function(ie){var ne=this.environment.isSimple,se=!this.forceBuffer,re=void 0,ae=void 0,le=void 0,ce=void 0;return this.source.each(function(he){he.appendToBuffer?(le?he.prepend(" + "):le=he,ce=he):(le&&(ae?le.prepend("buffer += "):re=!0,ce.add(";"),le=ce=void 0),ae=!0,ne||(se=!1))}),se?le?(le.prepend("return "),ce.add(";")):ae||this.source.push('return "";'):(ie+=", buffer = "+(re?"":this.initializeBuffer()),le?(le.prepend("return buffer + "),ce.add(";")):this.source.push("return buffer;")),ie&&this.source.prepend("var "+ie.substring(2)+(re?"":`;
- `)),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(ie){var ne=this.aliasable("container.hooks.blockHelperMissing"),se=[this.contextName(0)];this.setupHelperArgs(ie,0,se);var re=this.popStack();se.splice(1,0,re),this.push(this.source.functionCall(ne,"call",se))},ambiguousBlockValue:function(){var ie=this.aliasable("container.hooks.blockHelperMissing"),ne=[this.contextName(0)];this.setupHelperArgs("",0,ne,!0),this.flushInline();var se=this.topStack();ne.splice(1,0,se),this.pushSource(["if (!",this.lastHelper,") { ",se," = ",this.source.functionCall(ie,"call",ne),"}"])},appendContent:function(ie){this.pendingContent?ie=this.pendingContent+ie:this.pendingLocation=this.source.currentLocation,this.pendingContent=ie},append:function(){if(this.isInline())this.replaceStack(function(ne){return[" != null ? ",ne,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var ie=this.popStack();this.pushSource(["if (",ie," != null) { ",this.appendToBuffer(ie,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(ie){this.lastContext=ie},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(ie,ne,se,re){var ae=0;!re&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(ie[ae++])):this.pushContext(),this.resolvePath("context",ie,ae,ne,se)},lookupBlockParam:function(ie,ne){this.useBlockParams=!0,this.push(["blockParams[",ie[0],"][",ie[1],"]"]),this.resolvePath("context",ne,1)},lookupData:function(ie,ne,se){ie?this.pushStackLiteral("container.data(data, "+ie+")"):this.pushStackLiteral("data"),this.resolvePath("data",ne,0,!0,se)},resolvePath:function(ie,ne,se,re,ae){var le=this;if(this.options.strict||this.options.assumeObjects){this.push(K(this.options.strict&&ae,this,ne,se,ie));return}for(var ce=ne.length;se<ce;se++)this.replaceStack(function(he){var de=le.nameLookup(he,ne[se],ie);return re?[" && ",de]:[" != null ? ",de," : ",he]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(ie,ne){this.pushContext(),this.pushString(ne),ne!=="SubExpression"&&(typeof ie=="string"?this.pushString(ie):this.pushStackLiteral(ie))},emptyHash:function(ie){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(ie?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var ie=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(ie.ids)),this.stringParams&&(this.push(this.objectLiteral(ie.contexts)),this.push(this.objectLiteral(ie.types))),this.push(this.objectLiteral(ie.values))},pushString:function(ie){this.pushStackLiteral(this.quotedString(ie))},pushLiteral:function(ie){this.pushStackLiteral(ie)},pushProgram:function(ie){ie!=null?this.pushStackLiteral(this.programExpression(ie)):this.pushStackLiteral(null)},registerDecorator:function(ie,ne){var se=this.nameLookup("decorators",ne,"decorator"),re=this.setupHelperArgs(ne,ie);this.decorators.push(["fn = ",this.decorators.functionCall(se,"",["fn","props","container",re])," || fn;"])},invokeHelper:function(ie,ne,se){var re=this.popStack(),ae=this.setupHelper(ie,ne),le=[];se&&le.push(ae.name),le.push(re),this.options.strict||le.push(this.aliasable("container.hooks.helperMissing"));var ce=["(",this.itemsSeparatedBy(le,"||"),")"],he=this.source.functionCall(ce,"call",ae.callParams);this.push(he)},itemsSeparatedBy:function(ie,ne){var se=[];se.push(ie[0]);for(var re=1;re<ie.length;re++)se.push(ne,ie[re]);return se},invokeKnownHelper:function(ie,ne){var se=this.setupHelper(ie,ne);this.push(this.source.functionCall(se.name,"call",se.callParams))},invokeAmbiguous:function(ie,ne){this.useRegister("helper");var se=this.popStack();this.emptyHash();var re=this.setupHelper(0,ie,ne),ae=this.lastHelper=this.nameLookup("helpers",ie,"helper"),le=["(","(helper = ",ae," || ",se,")"];this.options.strict||(le[0]="(helper = ",le.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",le,re.paramsInit?["),(",re.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",re.callParams)," : helper))"])},invokePartial:function(ie,ne,se){var re=[],ae=this.setupParams(ne,1,re);ie&&(ne=this.popStack(),delete ae.name),se&&(ae.indent=JSON.stringify(se)),ae.helpers="helpers",ae.partials="partials",ae.decorators="container.decorators",ie?re.unshift(ne):re.unshift(this.nameLookup("partials",ne,"partial")),this.options.compat&&(ae.depths="depths"),ae=this.objectLiteral(ae),re.push(ae),this.push(this.source.functionCall("container.invokePartial","",re))},assignToHash:function(ie){var ne=this.popStack(),se=void 0,re=void 0,ae=void 0;this.trackIds&&(ae=this.popStack()),this.stringParams&&(re=this.popStack(),se=this.popStack());var le=this.hash;se&&(le.contexts[ie]=se),re&&(le.types[ie]=re),ae&&(le.ids[ie]=ae),le.values[ie]=ne},pushId:function(ie,ne,se){ie==="BlockParam"?this.pushStackLiteral("blockParams["+ne[0]+"].path["+ne[1]+"]"+(se?" + "+JSON.stringify("."+se):"")):ie==="PathExpression"?this.pushString(ne):ie==="SubExpression"?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:Z,compileChildren:function(ie,ne){for(var se=ie.children,re=void 0,ae=void 0,le=0,ce=se.length;le<ce;le++){re=se[le],ae=new this.compiler;var he=this.matchExistingProgram(re);if(he==null){this.context.programs.push("");var de=this.context.programs.length;re.index=de,re.name="program"+de,this.context.programs[de]=ae.compile(re,ne,this.context,!this.precompile),this.context.decorators[de]=ae.decorators,this.context.environments[de]=re,this.useDepths=this.useDepths||ae.useDepths,this.useBlockParams=this.useBlockParams||ae.useBlockParams,re.useDepths=this.useDepths,re.useBlockParams=this.useBlockParams}else re.index=he.index,re.name="program"+he.index,this.useDepths=this.useDepths||he.useDepths,this.useBlockParams=this.useBlockParams||he.useBlockParams}},matchExistingProgram:function(ie){for(var ne=0,se=this.context.environments.length;ne<se;ne++){var re=this.context.environments[ne];if(re&&re.equals(ie))return re}},programExpression:function(ie){var ne=this.environment.children[ie],se=[ne.index,"data",ne.blockParams];return(this.useBlockParams||this.useDepths)&&se.push("blockParams"),this.useDepths&&se.push("depths"),"container.program("+se.join(", ")+")"},useRegister:function(ie){this.registers[ie]||(this.registers[ie]=!0,this.registers.list.push(ie))},push:function(ie){return ie instanceof Q||(ie=this.source.wrap(ie)),this.inlineStack.push(ie),ie},pushStackLiteral:function(ie){this.push(new Q(ie))},pushSource:function(ie){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),ie&&this.source.push(ie)},replaceStack:function(ie){var ne=["("],se=void 0,re=void 0,ae=void 0;if(!this.isInline())throw new U.default("replaceStack on non-inline");var le=this.popStack(!0);if(le instanceof Q)se=[le.value],ne=["(",se],ae=!0;else{re=!0;var ce=this.incrStack();ne=["((",this.push(ce)," = ",le,")"],se=this.topStack()}var he=ie.call(this,se);ae||this.popStack(),re&&this.stackSlot--,this.push(ne.concat(he,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var ie=this.inlineStack;this.inlineStack=[];for(var ne=0,se=ie.length;ne<se;ne++){var re=ie[ne];if(re instanceof Q)this.compileStack.push(re);else{var ae=this.incrStack();this.pushSource([ae," = ",re,";"]),this.compileStack.push(ae)}}},isInline:function(){return this.inlineStack.length},popStack:function(ie){var ne=this.isInline(),se=(ne?this.inlineStack:this.compileStack).pop();if(!ie&&se instanceof Q)return se.value;if(!ne){if(!this.stackSlot)throw new U.default("Invalid stack pop");this.stackSlot--}return se},topStack:function(){var ie=this.isInline()?this.inlineStack:this.compileStack,ne=ie[ie.length-1];return ne instanceof Q?ne.value:ne},contextName:function(ie){return this.useDepths&&ie?"depths["+ie+"]":"depth"+ie},quotedString:function(ie){return this.source.quotedString(ie)},objectLiteral:function(ie){return this.source.objectLiteral(ie)},aliasable:function(ie){var ne=this.aliases[ie];return ne?(ne.referenceCount++,ne):(ne=this.aliases[ie]=this.source.wrap(ie),ne.aliasable=!0,ne.referenceCount=1,ne)},setupHelper:function(ie,ne,se){var re=[],ae=this.setupHelperArgs(ne,ie,re,se),le=this.nameLookup("helpers",ne,"helper"),ce=this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : (container.nullContext || {})");return{params:re,paramsInit:ae,name:le,callParams:[ce].concat(re)}},setupParams:function(ie,ne,se){var re={},ae=[],le=[],ce=[],he=!se,de=void 0;he&&(se=[]),re.name=this.quotedString(ie),re.hash=this.popStack(),this.trackIds&&(re.hashIds=this.popStack()),this.stringParams&&(re.hashTypes=this.popStack(),re.hashContexts=this.popStack());var me=this.popStack(),fe=this.popStack();(fe||me)&&(re.fn=fe||"container.noop",re.inverse=me||"container.noop");for(var ge=ne;ge--;)de=this.popStack(),se[ge]=de,this.trackIds&&(ce[ge]=this.popStack()),this.stringParams&&(le[ge]=this.popStack(),ae[ge]=this.popStack());return he&&(re.args=this.source.generateArray(se)),this.trackIds&&(re.ids=this.source.generateArray(ce)),this.stringParams&&(re.types=this.source.generateArray(le),re.contexts=this.source.generateArray(ae)),this.options.data&&(re.data="data"),this.useBlockParams&&(re.blockParams="blockParams"),re},setupHelperArgs:function(ie,ne,se,re){var ae=this.setupParams(ie,ne,se);return ae.loc=JSON.stringify(this.source.currentLocation),ae=this.objectLiteral(ae),re?(this.useRegister("options"),se.push("options"),["options=",ae]):se?(se.push(ae),""):ae}},function(){for(var J="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),ie=Z.RESERVED_WORDS={},ne=0,se=J.length;ne<se;ne++)ie[J[ne]]=!0}(),Z.isValidJavaScriptVariableName=function(J){return!Z.RESERVED_WORDS[J]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(J)};function K(J,ie,ne,se,re){var ae=ie.popStack(),le=ne.length;for(J&&le--;se<le;se++)ae=ie.nameLookup(ae,ne[se],re);return J?[ie.aliasable("container.strict"),"(",ae,", ",ie.quotedString(ne[se]),", ",JSON.stringify(ie.source.currentLocation)," )"]:ae}R.default=Z,B.exports=R.default})(javascriptCompiler,javascriptCompiler.exports);(function(B,R){R.__esModule=!0;function F(le){return le&&le.__esModule?le:{default:le}}var D=handlebars_runtime.exports,G=F(D),U=ast.exports,W=F(U),q=base,Y=compiler,Q=javascriptCompiler.exports,Z=F(Q),K=visitor.exports,J=F(K),ie=noConflict.exports,ne=F(ie),se=G.default.create;function re(){var le=se();return le.compile=function(ce,he){return Y.compile(ce,he,le)},le.precompile=function(ce,he){return Y.precompile(ce,he,le)},le.AST=W.default,le.Compiler=Y.Compiler,le.JavaScriptCompiler=Z.default,le.Parser=q.parser,le.parse=q.parse,le.parseWithoutProcessing=q.parseWithoutProcessing,le}var ae=re();ae.create=re,ne.default(ae),ae.Visitor=J.default,ae.default=ae,R.default=ae,B.exports=R.default})(handlebars,handlebars.exports);const createIsSecureContext=B=>B!==null&&B.isSecureContext,createNativeAudioBufferConstructor=B=>B===null?null:B.hasOwnProperty("AudioBuffer")?B.AudioBuffer:null,createNativeAudioContextConstructor=B=>B===null?null:B.hasOwnProperty("AudioContext")?B.AudioContext:B.hasOwnProperty("webkitAudioContext")?B.webkitAudioContext:null,createNativeAudioWorkletNodeConstructor=B=>B===null?null:B.hasOwnProperty("AudioWorkletNode")?B.AudioWorkletNode:null,createNativeOfflineAudioContextConstructor=B=>B===null?null:B.hasOwnProperty("OfflineAudioContext")?B.OfflineAudioContext:B.hasOwnProperty("webkitOfflineAudioContext")?B.webkitOfflineAudioContext:null,createWindow=()=>typeof window=="undefined"?null:window,window$1=createWindow();createNativeOfflineAudioContextConstructor(window$1);createNativeAudioContextConstructor(window$1);createNativeAudioWorkletNodeConstructor(window$1);createNativeAudioBufferConstructor(window$1);createIsSecureContext(window$1);var lib$2={exports:{}},lib$1={exports:{}};function b64ToUint6(B){return B>64&&B<91?B-65:B>96&&B<123?B-71:B>47&&B<58?B+4:B===43?62:B===47?63:0}function decode(B,R){for(var F=B.replace(/[^A-Za-z0-9\+\/]/g,""),D=F.length,G=R?Math.ceil((D*3+1>>2)/R)*R:D*3+1>>2,U=new Uint8Array(G),W,q,Y=0,Q=0,Z=0;Z<D;Z++)if(q=Z&3,Y|=b64ToUint6(F.charCodeAt(Z))<<18-6*q,q===3||D-Z===1){for(W=0;W<3&&Q<G;W++,Q++)U[Q]=Y>>>(16>>>W&24)&255;Y=0}return U}var base64={decode},fetch$1=function(B,R){return new Promise(function(F,D){var G=new XMLHttpRequest;R&&(G.responseType=R),G.open("GET",B),G.onload=function(){G.status===200?F(G.response):D(Error(G.statusText))},G.onerror=function(){D(Error("Network Error"))},G.send()})};(function(B){var R=base64,F=fetch$1;function D(fe){return function(ge){return typeof ge=="string"&&fe.test(ge)}}function G(fe,ge){return typeof fe=="string"?fe+ge:typeof fe=="function"?fe(ge):ge}function U(fe,ge,Se,Ee){var ve=W(ge)?q:Y(ge)?Q:Z(ge)?K:J(ge)?ie:ne(ge)?se:re(ge)?ae:le(ge)?ce:he(ge)?de:null,xe=Se||{};return ve?ve(fe,ge,xe):Ee?Promise.resolve(Ee):Promise.reject("Source not valid ("+ge+")")}U.fetch=F;function W(fe){return fe instanceof ArrayBuffer}function q(fe,ge,Se){return new Promise(function(Ee,ve){fe.decodeAudioData(ge,function(xe){Ee(xe)},function(){ve("Can't decode audio data ("+ge.slice(0,30)+"...)")})})}var Y=D(/\.(mp3|wav|ogg)(\?.*)?$/i);function Q(fe,ge,Se){var Ee=G(Se.from,ge);return U(fe,U.fetch(Ee,"arraybuffer"),Se)}function Z(fe){return fe&&typeof fe.then=="function"}function K(fe,ge,Se){return ge.then(function(Ee){return U(fe,Ee,Se)})}var J=Array.isArray;function ie(fe,ge,Se){return Promise.all(ge.map(function(Ee){return U(fe,Ee,Se,Ee)}))}function ne(fe){return fe&&typeof fe=="object"}function se(fe,ge,Se){var Ee={},ve=Object.keys(ge).map(function(xe){if(Se.only&&Se.only.indexOf(xe)===-1)return null;var Pe=ge[xe];return U(fe,Pe,Se,Pe).then(function(ye){Ee[xe]=ye})});return Promise.all(ve).then(function(){return Ee})}var re=D(/\.json(\?.*)?$/i);function ae(fe,ge,Se){var Ee=G(Se.from,ge);return U(fe,U.fetch(Ee,"text").then(JSON.parse),Se)}var le=D(/^data:audio/);function ce(fe,ge,Se){var Ee=ge.indexOf(",");return U(fe,R.decode(ge.slice(Ee+1)).buffer,Se)}var he=D(/\.js(\?.*)?$/i);function de(fe,ge,Se){var Ee=G(Se.from,ge);return U(fe,U.fetch(Ee,"text").then(me),Se)}function me(fe){var ge=fe.indexOf("MIDI.Soundfont.");if(ge<0)throw Error("Invalid MIDI.js Soundfont format");ge=fe.indexOf("=",ge)+2;var Se=fe.lastIndexOf(",");return JSON.parse(fe.slice(ge,Se)+"}")}B.exports&&(B.exports=U),typeof window!="undefined"&&(window.loadAudio=U)})(lib$1);var lib={exports:{}},adsr=ADSR$1;function ADSR$1(B){var R=B.createGain(),F=R._voltage=getVoltage(B),D=scale(F),G=scale(F),U=scale(F);return R._startAmount=scale(G),R._endAmount=scale(U),R._multiplier=scale(D),R._multiplier.connect(R),R._startAmount.connect(R),R._endAmount.connect(R),R.value=D.gain,R.startValue=G.gain,R.endValue=U.gain,R.startValue.value=0,R.endValue.value=0,Object.defineProperties(R,props),R}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(B){var R=this._multiplier.gain,F=this._startAmount.gain,D=this._endAmount.gain;this._voltage.start(B),this._decayFrom=this._decayFrom=B+this.attack,this._startedAt=B;var G=this.sustain;R.cancelScheduledValues(B),F.cancelScheduledValues(B),D.cancelScheduledValues(B),D.setValueAtTime(0,B),this.attack?(R.setValueAtTime(0,B),R.linearRampToValueAtTime(1,B+this.attack),F.setValueAtTime(1,B),F.linearRampToValueAtTime(0,B+this.attack)):(R.setValueAtTime(1,B),F.setValueAtTime(0,B)),this.decay&&R.setTargetAtTime(G,this._decayFrom,getTimeConstant(this.decay))}},stop:{value:function(B,R){R&&(B=B-this.release);var F=B+this.release;if(this.release){var D=this._multiplier.gain,G=this._startAmount.gain,U=this._endAmount.gain;D.cancelScheduledValues(B),G.cancelScheduledValues(B),U.cancelScheduledValues(B);var W=getTimeConstant(this.release);if(this.attack&&B<this._decayFrom){var q=getValue(0,1,this._startedAt,this._decayFrom,B);D.linearRampToValueAtTime(q,B),G.linearRampToValueAtTime(1-q,B),G.setTargetAtTime(0,B,W)}U.setTargetAtTime(1,B,W),D.setTargetAtTime(0,B,W)}return this._voltage.stop(F),F}},onended:{get:function(){return this._voltage.onended},set:function(B){this._voltage.onended=B}}},flat=new Float32Array([1,1]);function getVoltage(B){var R=B.createBufferSource(),F=B.createBuffer(1,2,B.sampleRate);return F.getChannelData(0).set(flat),R.buffer=F,R.loop=!0,R}function scale(B){var R=B.context.createGain();return B.connect(R),R}function getTimeConstant(B){return Math.log(B+1)/Math.log(100)}function getValue(B,R,F,D,G){var U=R-B,W=D-F,q=G-F,Y=q/W,Q=B+Y*U;return Q<=B&&(Q=B),Q>=R&&(Q=R),Q}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(B,R,F){var D=!1,G=0,U={},W=B.createGain();W.gain.value=1;var q=Object.assign({},DEFAULTS,F),Y={context:B,out:W,opts:q};return R instanceof AudioBuffer?Y.buffer=R:Y.buffers=R,Y.start=function(K,J,ie){if(Y.buffer&&K!==null)return Y.start(null,K,J);var ne=K?Y.buffers[K]:Y.buffer;if(ne){if(!D){console.warn("SamplePlayer not connected to any node.");return}}else{console.warn("Buffer "+K+" not found.");return}var se=ie||EMPTY;J=Math.max(B.currentTime,J||0),Y.emit("start",J,K,se);var re=Z(K,ne,se);return re.id=Q(K,re),re.env.start(J),re.source.start(J),Y.emit("started",J,re.id,re),se.duration&&re.stop(J+se.duration),re},Y.play=function(K,J,ie){return Y.start(K,J,ie)},Y.stop=function(K,J){var ie;return J=J||Object.keys(U),J.map(function(ne){return ie=U[ne],ie?(ie.stop(K),ie.id):null})},Y.connect=function(K){return D=!0,W.connect(K),Y},Y.emit=function(K,J,ie,ne){Y.onevent&&Y.onevent(K,J,ie,ne);var se=Y["on"+K];se&&se(J,ie,ne)},Y;function Q(K,J){return J.id=G++,U[J.id]=J,J.source.onended=function(){var ie=B.currentTime;J.source.disconnect(),J.env.disconnect(),J.disconnect(),Y.emit("ended",ie,J.id,J)},J.id}function Z(K,J,ie){var ne=B.createGain();return ne.gain.value=0,ne.connect(W),ne.env=envelope(B,ie,q),ne.env.connect(ne.gain),ne.source=B.createBufferSource(),ne.source.buffer=J,ne.source.connect(ne),ne.source.loop=ie.loop||q.loop,ne.source.playbackRate.value=centsToRate(ie.cents||q.cents),ne.source.loopStart=ie.loopStart||q.loopStart,ne.source.loopEnd=ie.loopEnd||q.loopEnd,ne.stop=function(se){var re=se||B.currentTime;Y.emit("stop",re,K);var ae=ne.env.stop(re);ne.source.stop(ae)},ne}}function isNum$1(B){return typeof B=="number"}var PARAMS=["attack","decay","sustain","release"];function envelope(B,R,F){var D=ADSR(B),G=R.adsr||F.adsr;return PARAMS.forEach(function(U,W){G?D[U]=G[W]:D[U]=R[U]||F[U]}),D.value.value=isNum$1(R.gain)?R.gain:isNum$1(F.gain)?F.gain:1,D}function centsToRate(B){return B?Math.pow(2,B/1200):1}var player=SamplePlayer,events=function(B){return B.on=function(R,F){if(arguments.length===1&&typeof R=="function")return B.on("event",R);var D="on"+R,G=B[D];return B[D]=G?chain(G,F):F,B},B};function chain(B,R){return function(F,D,G,U){B(F,D,G,U),R(F,D,G,U)}}var 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(B,R,F){if(typeof B!="string")return null;var D=REGEX$1.exec(B);if(!D||!R&&D[4])return null;var G={letter:D[1].toUpperCase(),acc:D[2].replace(/x/g,"##")};return G.pc=G.letter+G.acc,G.step=(G.letter.charCodeAt(0)+3)%7,G.alt=G.acc[0]==="b"?-G.acc.length:G.acc.length,G.chroma=SEMITONES$1[G.step]+G.alt,D[3]&&(G.oct=+D[3],G.midi=G.chroma+12*(G.oct+1),G.freq=midiToFreq$1(G.midi,F)),R&&(G.tonicOf=D[4]),G}function midiToFreq$1(B,R){return Math.pow(2,(B-69)/12)*(R||440)}var parser$1={parse:parse$1,regex:regex$1,midiToFreq:midiToFreq$1},FNS=["letter","acc","pc","step","alt","chroma","oct","midi","freq"];FNS.forEach(function(B){parser$1[B]=function(R){var F=parse$1(R);return F&&typeof F[B]!="undefined"?F[B]:null}});var noteParser$1=parser$1,note=noteParser$1,isMidi=function(B){return B!==null&&B!==[]&&B>=0&&B<129},toMidi=function(B){return isMidi(B)?+B:note.midi(B)},notes=function(B){if(B.buffers){var R=B.opts.map,F=typeof R=="function"?R:toMidi,D=function(U){return U?F(U)||U:null};B.buffers=mapBuffers(B.buffers,D);var G=B.start;B.start=function(U,W,q){var Y=D(U),Q=Y%1;return Q&&(Y=Math.floor(Y),q=Object.assign(q||{},{cents:Math.floor(Q*100)})),G(Y,W,q)}}return B};function mapBuffers(B,R){return Object.keys(B).reduce(function(F,D){return F[R(D)]=B[D],F},{})}var isArr=Array.isArray,isObj=function(B){return B&&typeof B=="object"},OPTS={},scheduler=function(B){return B.schedule=function(R,F){var D=B.context.currentTime,G=R<D?D:R;B.emit("schedule",G,F);var U,W,q,Y;return F.map(function(Q){if(Q)isArr(Q)?(U=Q[0],W=Q[1]):(U=Q.time,W=Q);else return null;return isObj(W)?(q=W.name||W.key||W.note||W.midi||null,Y=W):(q=W,Y=OPTS),B.start(q,G+(U||0),Y)})},B},index_min={exports:{}};(function(B,R){(function(F){B.exports=F()})(function(){return function F(D,G,U){function W(Q,Z){if(!G[Q]){if(!D[Q]){var K=typeof commonjsRequire$1=="function"&&commonjsRequire$1;if(!Z&&K)return K(Q,!0);if(q)return q(Q,!0);var J=new Error("Cannot find module '"+Q+"'");throw J.code="MODULE_NOT_FOUND",J}var ie=G[Q]={exports:{}};D[Q][0].call(ie.exports,function(ne){var se=D[Q][1][ne];return W(se||ne)},ie,ie.exports,F,D,G,U)}return G[Q].exports}for(var q=typeof commonjsRequire$1=="function"&&commonjsRequire$1,Y=0;Y<U.length;Y++)W(U[Y]);return W}({1:[function(F,D,G){Object.defineProperty(G,"__esModule",{value:!0}),G.default=function(U){function W(q){if(this._event=q,this._data=q.data,this.receivedTime=q.receivedTime,this._data&&this._data.length<2){console.warn("Illegal MIDI message of length",this._data.length);return}switch(this._messageCode=q.data[0]&240,this.channel=q.data[0]&15,this._messageCode){case 128:this.messageType="noteoff",this.key=q.data[1]&127,this.velocity=q.data[2]&127;break;case 144:this.messageType="noteon",this.key=q.data[1]&127,this.velocity=q.data[2]&127;break;case 160:this.messageType="keypressure",this.key=q.data[1]&127,this.pressure=q.data[2]&127;break;case 176:this.messageType="controlchange",this.controllerNumber=q.data[1]&127,this.controllerValue=q.data[2]&127,this.controllerNumber===120&&this.controllerValue===0?this.channelModeMessage="allsoundoff":this.controllerNumber===121?this.channelModeMessage="resetallcontrollers":this.controllerNumber===122?this.controllerValue===0?this.channelModeMessage="localcontroloff":this.channelModeMessage="localcontrolon":this.controllerNumber===123&&this.controllerValue===0?this.channelModeMessage="allnotesoff":this.controllerNumber===124&&this.controllerValue===0?this.channelModeMessage="omnimodeoff":this.controllerNumber===125&&this.controllerValue===0?this.channelModeMessage="omnimodeon":this.controllerNumber===126?this.channelModeMessage="monomodeon":this.controllerNumber===127&&(this.channelModeMessage="polymodeon");break;case 192:this.messageType="programchange",this.program=q.data[1];break;case 208:this.messageType="channelpressure",this.pressure=q.data[1]&127;break;case 224:this.messageType="pitchbendchange";var Y=q.data[2]&127,Q=q.data[1]&127;this.pitchBend=(Y<<8)+Q;break}}return new W(U)},D.exports=G.default},{}]},{},[1])(1)})})(index_min);var midimessage=index_min.exports,midi$1=function(B){return B.listenToMidi=function(R,F){var D={},G=F||{},U=G.gain||function(W){return W/127};return R.onmidimessage=function(W){var q=W.messageType?W:midimessage(W);if(q.messageType==="noteon"&&q.velocity===0&&(q.messageType="noteoff"),!(G.channel&&q.channel!==G.channel))switch(q.messageType){case"noteon":D[q.key]=B.play(q.key,0,{gain:U(q.velocity)});break;case"noteoff":D[q.key]&&(D[q.key].stop(),delete D[q.key]);break}},B},B};(function(B){var R=player,F=events,D=notes,G=scheduler,U=midi$1;function W(q,Y,Q){return U(G(D(F(R(q,Y,Q)))))}B.exports&&(B.exports=W),typeof window!="undefined"&&(window.SamplePlayer=W)})(lib);function fillStr(B,R){return Array(R+1).join(B)}function isNum(B){return typeof B=="number"}function isStr(B){return typeof B=="string"}function isDef(B){return typeof B!="undefined"}function midiToFreq(B,R){return Math.pow(2,(B-69)/12)*(R||440)}var REGEX=/^([a-gA-G])(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)\s*$/;function regex(){return REGEX}var SEMITONES=[0,2,4,5,7,9,11];function parse(B,R,F){if(typeof B!="string")return null;var D=REGEX.exec(B);if(!D||!R&&D[4])return null;var G={letter:D[1].toUpperCase(),acc:D[2].replace(/x/g,"##")};G.pc=G.letter+G.acc,G.step=(G.letter.charCodeAt(0)+3)%7,G.alt=G.acc[0]==="b"?-G.acc.length:G.acc.length;var U=SEMITONES[G.step]+G.alt;return G.chroma=U<0?12+U:U%12,D[3]&&(G.oct=+D[3],G.midi=U+12*(G.oct+1),G.freq=midiToFreq(G.midi,F)),R&&(G.tonicOf=D[4]),G}var LETTERS="CDEFGAB";function accStr(B){return isNum(B)?B<0?fillStr("b",-B):fillStr("#",B):""}function octStr(B){return isNum(B)?""+B:""}function build(B,R,F){return B===null||typeof B=="undefined"?null:B.step?build(B.step,B.alt,B.oct):B<0||B>6?null:LETTERS.charAt(B)+accStr(R)+octStr(F)}function midi(B){if((isNum(B)||isStr(B))&&B>=0&&B<128)return+B;var R=parse(B);return R&&isDef(R.midi)?R.midi:null}function freq(B,R){var F=midi(B);return F===null?null:midiToFreq(F,R)}function letter(B){return(parse(B)||{}).letter}function acc(B){return(parse(B)||{}).acc}function pc(B){return(parse(B)||{}).pc}function step(B){return(parse(B)||{}).step}function alt(B){return(parse(B)||{}).alt}function chroma(B){return(parse(B)||{}).chroma}function oct(B){return(parse(B)||{}).oct}var noteParser=Object.freeze(Object.defineProperty({__proto__:null,regex,parse,build,midi,freq,letter,acc,pc,step,alt,chroma,oct},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(noteParser),parser=require$$0;function Soundfont(B,R){if(console.warn("new Soundfont() is deprected"),console.log("Please use Soundfont.instrument() instead of new Soundfont().instrument()"),!(this instanceof Soundfont))return new Soundfont(B);this.nameToUrl=R||Soundfont.nameToUrl,this.ctx=B,this.instruments={},this.promises=[]}Soundfont.prototype.onready=function(B){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(B)};Soundfont.prototype.instrument=function(B,R){console.warn("new Soundfont().instrument() is deprecated."),console.log("Please use Soundfont.instrument() instead.");var F=this.ctx;if(B=B||"default",B in this.instruments)return this.instruments[B];var D={name:B,play:oscillatorPlayer(F,R)};if(this.instruments[B]=D,B!=="default"){var G=Soundfont.instrument(F,B,R).then(function(U){return D.play=U.play,D});this.promises.push(G),D.onready=function(U){console.warn("onready is deprecated. Use Soundfont.instrument().then()"),G.then(U)}}else D.onready=function(U){console.warn("onready is deprecated. Use Soundfont.instrument().then()"),U()};return D};function loadBuffers(B,R,F){return console.warn("Soundfont.loadBuffers is deprecate."),console.log("Use Soundfont.instrument(..) and get buffers properties from the result."),Soundfont.instrument(B,R,F).then(function(D){return D.buffers})}Soundfont.loadBuffers=loadBuffers;function oscillatorPlayer(B,R){return R=R||{},function(F,D,G,U){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 W=F>0&&F<129?+F:parser.midi(F),q=W?parser.midiToFreq(W,440):null;if(!!q){G=G||.2,U=U||{};var Y=U.destination||R.destination||B.destination,Q=U.vcoType||R.vcoType||"sine",Z=U.gain||R.gain||.4,K=B.createOscillator();K.type=Q,K.frequency.value=q;var J=B.createGain();return J.gain.value=Z,K.connect(J),J.connect(Y),K.start(D),G>0&&K.stop(D+G),K}}}Soundfont.noteToMidi=parser.midi;var legacy=Soundfont;(function(B){var R=lib$1.exports,F=lib.exports;function D(q,Y,Q){if(arguments.length===1)return function(ne,se){return D(q,ne,se)};var Z=Q||{},K=Z.isSoundfontURL||G,J=Z.nameToUrl||U,ie=K(Y)?Y:J(Y,Z.soundfont,Z.format);return R(q,ie,{only:Z.only||Z.notes}).then(function(ne){var se=F(q,ne,Z).connect(Z.destination?Z.destination:q.destination);return se.url=ie,se.name=Y,se})}function G(q){return/\.js(\?.*)?$/i.test(q)}function U(q,Y,Q){return Q=Q==="ogg"?Q:"mp3",Y=Y==="FluidR3_GM"?Y:"MusyngKite","https://gleitz.github.io/midi-js-soundfonts/"+Y+"/"+q+"-"+Q+".js"}var W=legacy;W.instrument=D,W.nameToUrl=U,B.exports&&(B.exports=W),typeof window!="undefined"&&(window.Soundfont=W)})(lib$2);NoteEnum.C,NoteEnum.D,NoteEnum.E,NoteEnum.F,NoteEnum.G,NoteEnum.A,NoteEnum.B;var dayjs_min={exports:{}};(function(B,R){(function(F,D){B.exports=D()})(commonjsGlobal$2,function(){var F=1e3,D=6e4,G=36e5,U="millisecond",W="second",q="minute",Y="hour",Q="day",Z="week",K="month",J="quarter",ie="year",ne="date",se="Invalid Date",re=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ae=/\[([^\]]+)]|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,le={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("_")},ce=function(Pe,ye,Te){var Le=String(Pe);return!Le||Le.length>=ye?Pe:""+Array(ye+1-Le.length).join(Te)+Pe},he={s:ce,z:function(Pe){var ye=-Pe.utcOffset(),Te=Math.abs(ye),Le=Math.floor(Te/60),we=Te%60;return(ye<=0?"+":"-")+ce(Le,2,"0")+":"+ce(we,2,"0")},m:function Pe(ye,Te){if(ye.date()<Te.date())return-Pe(Te,ye);var Le=12*(Te.year()-ye.year())+(Te.month()-ye.month()),we=ye.clone().add(Le,K),Ae=Te-we<0,Me=ye.clone().add(Le+(Ae?-1:1),K);return+(-(Le+(Te-we)/(Ae?we-Me:Me-we))||0)},a:function(Pe){return Pe<0?Math.ceil(Pe)||0:Math.floor(Pe)},p:function(Pe){return{M:K,y:ie,w:Z,d:Q,D:ne,h:Y,m:q,s:W,ms:U,Q:J}[Pe]||String(Pe||"").toLowerCase().replace(/s$/,"")},u:function(Pe){return Pe===void 0}},de="en",me={};me[de]=le;var fe=function(Pe){return Pe instanceof ve},ge=function Pe(ye,Te,Le){var we;if(!ye)return de;if(typeof ye=="string"){var Ae=ye.toLowerCase();me[Ae]&&(we=Ae),Te&&(me[Ae]=Te,we=Ae);var Me=ye.split("-");if(!we&&Me.length>1)return Pe(Me[0])}else{var ke=ye.name;me[ke]=ye,we=ke}return!Le&&we&&(de=we),we||!Le&&de},Se=function(Pe,ye){if(fe(Pe))return Pe.clone();var Te=typeof ye=="object"?ye:{};return Te.date=Pe,Te.args=arguments,new ve(Te)},Ee=he;Ee.l=ge,Ee.i=fe,Ee.w=function(Pe,ye){return Se(Pe,{locale:ye.$L,utc:ye.$u,x:ye.$x,$offset:ye.$offset})};var ve=function(){function Pe(Te){this.$L=ge(Te.locale,null,!0),this.parse(Te)}var ye=Pe.prototype;return ye.parse=function(Te){this.$d=function(Le){var we=Le.date,Ae=Le.utc;if(we===null)return new Date(NaN);if(Ee.u(we))return new Date;if(we instanceof Date)return new Date(we);if(typeof we=="string"&&!/Z$/i.test(we)){var Me=we.match(re);if(Me){var ke=Me[2]-1||0,Ne=(Me[7]||"0").substring(0,3);return Ae?new Date(Date.UTC(Me[1],ke,Me[3]||1,Me[4]||0,Me[5]||0,Me[6]||0,Ne)):new Date(Me[1],ke,Me[3]||1,Me[4]||0,Me[5]||0,Me[6]||0,Ne)}}return new Date(we)}(Te),this.$x=Te.x||{},this.init()},ye.init=function(){var Te=this.$d;this.$y=Te.getFullYear(),this.$M=Te.getMonth(),this.$D=Te.getDate(),this.$W=Te.getDay(),this.$H=Te.getHours(),this.$m=Te.getMinutes(),this.$s=Te.getSeconds(),this.$ms=Te.getMilliseconds()},ye.$utils=function(){return Ee},ye.isValid=function(){return this.$d.toString()!==se},ye.isSame=function(Te,Le){var we=Se(Te);return this.startOf(Le)<=we&&we<=this.endOf(Le)},ye.isAfter=function(Te,Le){return Se(Te)<this.startOf(Le)},ye.isBefore=function(Te,Le){return this.endOf(Le)<Se(Te)},ye.$g=function(Te,Le,we){return Ee.u(Te)?this[Le]:this.set(we,Te)},ye.unix=function(){return Math.floor(this.valueOf()/1e3)},ye.valueOf=function(){return this.$d.getTime()},ye.startOf=function(Te,Le){var we=this,Ae=!!Ee.u(Le)||Le,Me=Ee.p(Te),ke=function(Je,st){var pt=Ee.w(we.$u?Date.UTC(we.$y,st,Je):new Date(we.$y,st,Je),we);return Ae?pt:pt.endOf(Q)},Ne=function(Je,st){return Ee.w(we.toDate()[Je].apply(we.toDate("s"),(Ae?[0,0,0,0]:[23,59,59,999]).slice(st)),we)},Ie=this.$W,Ge=this.$M,ze=this.$D,Ve="set"+(this.$u?"UTC":"");switch(Me){case ie:return Ae?ke(1,0):ke(31,11);case K:return Ae?ke(1,Ge):ke(0,Ge+1);case Z:var Ye=this.$locale().weekStart||0,et=(Ie<Ye?Ie+7:Ie)-Ye;return ke(Ae?ze-et:ze+(6-et),Ge);case Q:case ne:return Ne(Ve+"Hours",0);case Y:return Ne(Ve+"Minutes",1);case q:return Ne(Ve+"Seconds",2);case W:return Ne(Ve+"Milliseconds",3);default:return this.clone()}},ye.endOf=function(Te){return this.startOf(Te,!1)},ye.$set=function(Te,Le){var we,Ae=Ee.p(Te),Me="set"+(this.$u?"UTC":""),ke=(we={},we[Q]=Me+"Date",we[ne]=Me+"Date",we[K]=Me+"Month",we[ie]=Me+"FullYear",we[Y]=Me+"Hours",we[q]=Me+"Minutes",we[W]=Me+"Seconds",we[U]=Me+"Milliseconds",we)[Ae],Ne=Ae===Q?this.$D+(Le-this.$W):Le;if(Ae===K||Ae===ie){var Ie=this.clone().set(ne,1);Ie.$d[ke](Ne),Ie.init(),this.$d=Ie.set(ne,Math.min(this.$D,Ie.daysInMonth())).$d}else ke&&this.$d[ke](Ne);return this.init(),this},ye.set=function(Te,Le){return this.clone().$set(Te,Le)},ye.get=function(Te){return this[Ee.p(Te)]()},ye.add=function(Te,Le){var we,Ae=this;Te=Number(Te);var Me=Ee.p(Le),ke=function(Ge){var ze=Se(Ae);return Ee.w(ze.date(ze.date()+Math.round(Ge*Te)),Ae)};if(Me===K)return this.set(K,this.$M+Te);if(Me===ie)return this.set(ie,this.$y+Te);if(Me===Q)return ke(1);if(Me===Z)return ke(7);var Ne=(we={},we[q]=D,we[Y]=G,we[W]=F,we)[Me]||1,Ie=this.$d.getTime()+Te*Ne;return Ee.w(Ie,this)},ye.subtract=function(Te,Le){return this.add(-1*Te,Le)},ye.format=function(Te){var Le=this,we=this.$locale();if(!this.isValid())return we.invalidDate||se;var Ae=Te||"YYYY-MM-DDTHH:mm:ssZ",Me=Ee.z(this),ke=this.$H,Ne=this.$m,Ie=this.$M,Ge=we.weekdays,ze=we.months,Ve=function(st,pt,dt,yt){return st&&(st[pt]||st(Le,Ae))||dt[pt].slice(0,yt)},Ye=function(st){return Ee.s(ke%12||12,st,"0")},et=we.meridiem||function(st,pt,dt){var yt=st<12?"AM":"PM";return dt?yt.toLowerCase():yt},Je={YY:String(this.$y).slice(-2),YYYY:this.$y,M:Ie+1,MM:Ee.s(Ie+1,2,"0"),MMM:Ve(we.monthsShort,Ie,ze,3),MMMM:Ve(ze,Ie),D:this.$D,DD:Ee.s(this.$D,2,"0"),d:String(this.$W),dd:Ve(we.weekdaysMin,this.$W,Ge,2),ddd:Ve(we.weekdaysShort,this.$W,Ge,3),dddd:Ge[this.$W],H:String(ke),HH:Ee.s(ke,2,"0"),h:Ye(1),hh:Ye(2),a:et(ke,Ne,!0),A:et(ke,Ne,!1),m:String(Ne),mm:Ee.s(Ne,2,"0"),s:String(this.$s),ss:Ee.s(this.$s,2,"0"),SSS:Ee.s(this.$ms,3,"0"),Z:Me};return Ae.replace(ae,function(st,pt){return pt||Je[st]||Me.replace(":","")})},ye.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},ye.diff=function(Te,Le,we){var Ae,Me=Ee.p(Le),ke=Se(Te),Ne=(ke.utcOffset()-this.utcOffset())*D,Ie=this-ke,Ge=Ee.m(this,ke);return Ge=(Ae={},Ae[ie]=Ge/12,Ae[K]=Ge,Ae[J]=Ge/3,Ae[Z]=(Ie-Ne)/6048e5,Ae[Q]=(Ie-Ne)/864e5,Ae[Y]=Ie/G,Ae[q]=Ie/D,Ae[W]=Ie/F,Ae)[Me]||Ie,we?Ge:Ee.a(Ge)},ye.daysInMonth=function(){return this.endOf(K).$D},ye.$locale=function(){return me[this.$L]},ye.locale=function(Te,Le){if(!Te)return this.$L;var we=this.clone(),Ae=ge(Te,Le,!0);return Ae&&(we.$L=Ae),we},ye.clone=function(){return Ee.w(this.$d,this)},ye.toDate=function(){return new Date(this.valueOf())},ye.toJSON=function(){return this.isValid()?this.toISOString():null},ye.toISOString=function(){return this.$d.toISOString()},ye.toString=function(){return this.$d.toUTCString()},Pe}(),xe=ve.prototype;return Se.prototype=xe,[["$ms",U],["$s",W],["$m",q],["$H",Y],["$W",Q],["$M",K],["$y",ie],["$D",ne]].forEach(function(Pe){xe[Pe[1]]=function(ye){return this.$g(ye,Pe[0],Pe[1])}}),Se.extend=function(Pe,ye){return Pe.$i||(Pe(ye,ve,Se),Pe.$i=!0),Se},Se.locale=ge,Se.isDayjs=fe,Se.unix=function(Pe){return Se(1e3*Pe)},Se.en=me[de],Se.Ls=me,Se.p={},Se})})(dayjs_min);var dayjs=dayjs_min.exports;const browserInfo$1=browser(),getLinkId=()=>location.hash.split("?")[0].split("/").pop()||"",retain=B=>Math.ceil(B*1e6)/1e6;function formatBeatUnit(B){let R=4;switch(B){case"1024th":R=1024;break;case"512th":R=512;break;case"256th":R=256;break;case"128th":R=128;break;case"64th":R=64;break;case"32nd":R=32;break;case"16th":R=16;break;case"eighth":R=8;break;case"quarter":R=4;break;case"half":R=2;break;case"whole":R=1;break;case"breve":R=.5;break;case"long":R=.25;break;case"maxima":R=.125;break}return R}const formatLyricsEntries=B=>{var D,G;const R=((D=B.parentStaffEntry)==null?void 0:D.voiceEntries)||[],F=[];for(const U of R)if((G=U.lyricsEntries)!=null&&G.table){const W=Object.values(U.lyricsEntries.table);for(const q of W)F.push(q==null?void 0:q.value.text)}return F},speedInfo$1={"rall.":1.333333333,"poco rit.":1.333333333,"rit.":1.333333333,"molto rit.":1.333333333,"molto rall":1.333333333,lentando:1.333333333,allargando:1.333333333,morendo:1.333333333,"accel.":.8,calando:2,"poco accel.":.8},createSpeedInfo=(B,R)=>{var F,D;if(B&&speedInfo$1[(F=B.startWord)==null?void 0:F.toLocaleLowerCase()]){const G=Math.max(B.endXmlNoteIndex,3),U=[],W=R,q=R/speedInfo$1[(D=B.startWord)==null?void 0:D.toLocaleLowerCase()];for(let Y=0;Y<G;Y++){const Q=W+(q-W)/G*(Y+1);U.push(Q)}return U}},tranTime=(B="")=>{let R=B;const F=B.split(":");return F.length===1?R=`00:${F[0]}:00`:F.length===2&&(R=`00:${F[0]}:${F[1]}`),`1970-01-01 00:${R}0`},getAllNodes=B=>{var Q,Z,K,J,ie,ne,se,re,ae,le,ce,he,de,me,fe,ge,Se,Ee,ve,xe,Pe,ye,Te,Le,we,Ae,Me,ke,Ne,Ie,Ge,ze,Ve,Ye,et,Je,st,pt,dt,yt,Fe,_e,je,Ze;console.log(9999,B);const R=getLinkId();let F=browserInfo$1.huawei?.08:0;const D=[],G=[],U=[],{baseSpeed:W=100}=state$2,q=(De,Oe)=>{var Ke,ct,ut,ht,vt,xt;return["906"].includes(R)?((Ke=Oe.measures[0])==null?void 0:Ke.realKey)||De:["782","784"].includes(R)&&[14,16,30,32].includes((ct=Oe.firstVerticalMeasure)==null?void 0:ct.measureNumber)?((ut=D[D.length-1])==null?void 0:ut.realKey)||De:["900","901","640","641","739","740","800","801","773","774","869","872","714","715"].includes(R)&&(((ht=Oe.firstVerticalMeasure)==null?void 0:ht.measureNumber)===3||((vt=Oe.firstVerticalMeasure)==null?void 0:vt.measureNumber)===9)&&((xt=Oe.measures[0])==null?void 0:xt.realKey)||De};if(state$2.gradualTimes&&console.log("\u5408\u594F\u901F\u5EA6",state$2.gradual,state$2.gradualTimes),B!=null&&B.cursor){try{B.cursor.reset()}catch{}const De=B.cursor.iterator;let Oe=0,Xe=0,tt=[],nt=[],Ke=0,ct=0,ut=0,ht="quarter",vt,xt,gt=0,Pt=1,kt=0,Yt=0,fi=0,Jt=0,ii=!1;for(;!De.endReached;){const ui=B.cursor.cursorElement,Qt={move:!1};ui&&(Qt.move=!0,Qt.x=ui.offsetLeft,Qt.y=ui.offsetTop,Qt.w=ui.offsetWidth,Qt.h=ui.offsetHeight);const Ai=(Q=De.currentVoiceEntries)!=null&&Q[0]?[(Z=De.currentVoiceEntries)==null?void 0:Z[0]]:[],Qi=(K=De.currentVoiceEntries)==null?void 0:K[1];let In=!1;for(const cn of Ai){let _t=cn.notes[0];if(["Piano"].includes((J=state$2.activeDetail)==null?void 0:J.code)||((ie=state$2.activeDetail)==null?void 0:ie.musicSheetType)=="CONCERT"){let oi=[];try{oi=(ne=De.currentVoiceEntries)==null?void 0:ne.map($i=>$i.notes).flat().sort(($i,Ui)=>$i.Length.realValue-Ui.Length.realValue),_t=oi[0]}catch{}}if(_t){if(Xe===0&&U.push(_t.sourceMeasure),Xe===0&&state$2.isSpecialBookCategory)for(const ei of(se=_t.sourceMeasure)==null?void 0:se.TempoExpressions)(re=ei==null?void 0:ei.InstantaneousTempo)!=null&&re.beatUnit&&(ht=ei.InstantaneousTempo.beatUnit);Pt=(ae=_t.sourceMeasure)==null?void 0:ae.MeasureNumberXML,Yt==((le=_t.sourceMeasure)==null?void 0:le.MeasureNumberXML)?fi++:(Yt=(ce=_t.sourceMeasure)==null?void 0:ce.MeasureNumberXML,fi=0);let oi=_t.sourceMeasure.tempoInBPM;const{metronomeNoteIndex:$i}=De.currentMeasure;$i!==0&&$i>Xe&&(oi=((he=D[D.length-1])==null?void 0:he.speed)||100);const Ui=[(de=_t.sourceMeasure.verticalMeasureList)==null?void 0:de[0]],{realValue:Nr}=De.currentTimeStamp,{RealValue:On,Denominator:Jn}=formatDuration(De.currentMeasure.activeTimeSignature,De.currentMeasure.duration);let{wholeValue:Lr,numerator:Vn,denominator:kr,realValue:rs}=_t.length,mr=Ke,Gn=(state$2.isSpecialBookCategory?oi:W)||1,$n=(state$2.isSpecialBookCategory?oi:W)||1;xt=De.currentMeasure.speedInfo||xt,vt=((me=B.sheet.soundTempos)==null?void 0:me.get(_t.sourceMeasure.measureListIndex))||vt,(!vt||vt.length<2)&&(vt=createSpeedInfo(xt,$n));let er=0;const Nn=De.currentMeasure.measureListIndex;if(state$2.gradualTimes&&Object.keys(state$2.gradualTimes).length>0){const ei=state$2.gradual.find((Ni,mi)=>{var fn;const Li=state$2.gradual[mi+1];return Ni[0].measureIndex<=Nn&&((fn=Ni[1])==null?void 0:fn.measureIndex)>=Nn&&(!Li||(Li==null?void 0:Li[0].measureIndex)!==Nn)}),[Fi,Ei]=ei||[];if(Fi&&Ei){const Ni=Ei.measureIndex-Fi.measureIndex,mi=Fi.closedMeasureIndex==Nn&&Xe>=Fi.noteInMeasureIndex,Li=Ei.closedMeasureIndex===Nn&&Xe<Ei.noteInMeasureIndex,fn=Fi.closedMeasureIndex!==Nn&&Ei.closedMeasureIndex!==Nn;if(mi||Li||fn){const Rn=state$2.gradualTimes[Fi.measureIndex],zn=state$2.gradualTimes[Ei.measureIndex];if(Rn&&zn){const Rr=Ni-Fi.leftDuration/Fi.allDuration+Ei.leftDuration/Ei.allDuration,gr=dayjs(tranTime(zn)).diff(dayjs(tranTime(Rn)),"millisecond");er=rs/On/Rr*gr/1e3}}}}else if(xt&&vt&&(xt.startXmlNoteIndex===Xe||gt>0)){const ei=vt[0]-(vt[1]-vt[0]),{resetXmlNoteIndex:Fi,endXmlNoteIndex:Ei}=xt,Ni=Ei;let mi=(vt[vt.length-1]-ei)/Ni;if(mi=_t.DotsXml?mi/1.5:mi,gt<Ni){const fn=Math.ceil($n+mi*gt);let Rn=getTimeByBeatUnit(ht,fn,De.currentMeasure.activeTimeSignature.Denominator);const zn=(Lr+Vn/kr)*Jn*(60/Rn);$n+=Math.ceil(mi*(gt+1)),Rn=getTimeByBeatUnit(ht,$n,De.currentMeasure.activeTimeSignature.Denominator);const Rr=(Lr+Vn/kr)*Jn*(60/Rn);er=(zn+Rr)/2}else Fi>gt&&($n=(fe=D[Oe-1])==null?void 0:fe.speed);Gn=(state$2.isSpecialBookCategory?getTimeByBeatUnit(ht,$n,De.currentMeasure.activeTimeSignature.Denominator):W)||1;const Li=!(gt<Ni)&&!(Fi>gt);gt++,Li&&(gt=0,xt=void 0,vt=void 0,nt=[])}Oe===0&&(F+=getFixTime(Gn));let hn=er||Math.min(On,rs)*formatBeatUnit(ht)*(60/Gn);const Sn=On*Jn*(60/Gn);["Piano"].includes((ge=state$2.activeDetail)==null?void 0:ge.code)&&(hn=(De.currentTimeStamp.realValue-Jt||(Vn===0?On:(Lr+Vn)/kr))*Jn*(60/Gn)),_t.isRestFlag&&hn>Sn&&(hn=Sn),_t.DotsXml&&_t.tuplet&&(console.log("\u5904\u7406\u9644\u70B9\u65F6\u957F\u4E0D\u6B63\u786E\u95EE\u9898"),hn=hn*1.5),ii&&(hn=1e-7,ii=!1,In=!0);const Aa=(Se=_t.sourceMeasure.staffLinkedExpressions)==null?void 0:Se[0];for(const ei of Aa||[])if(ei&&((Ee=ei.expressions)==null?void 0:Ee.find(Ei=>Ei.label==="\u8DF3\u8FC7\u4E0B\u4E00\u4E2A"))&&Fraction$1.Equal((ve=_t.voiceEntry)==null?void 0:ve.Timestamp,ei.Timestamp)){ii=!0;break}Jt=De.currentTimeStamp.realValue,Ke+=hn,ct+=hn;let Us=hn+mr;const ys=_t.ParentVoiceEntry.ParentVoice.Parent.SubInstruments[0].fixedKey||0,xn=(Pe=(xe=Ui[0])==null?void 0:xe.vfVoices["1"])==null?void 0:Pe.tickables[fi];if(D.length&&D[D.length-1].relativeTime===mr)continue;if(Oe===0){let ei=0;(((Te=(ye=_t.sourceMeasure.verticalMeasureList)==null?void 0:ye[0])==null?void 0:Te.staffEntries)||[]).forEach(Ei=>{var Ni,mi,Li,fn,Rn,zn;(zn=(Rn=(fn=(Li=(mi=(Ni=Ei==null?void 0:Ei.sourceStaffEntry)==null?void 0:Ni.voiceEntries)==null?void 0:mi[0])==null?void 0:Li.notes)==null?void 0:fn[0])==null?void 0:Rn.length)!=null&&zn.realValue&&(ei+=Ei.sourceStaffEntry.voiceEntries[0].notes[0].length.realValue)}),ei<On&&(ut=Sn-hn),((Le=state$2.activeDetail)==null?void 0:Le.audioType)==="MIDI"&&(ut=0),F+=ut}const Ln={fixtime:F,skipMode:In,NoteToGraphicalNoteObjectId:_t.NoteToGraphicalNoteObjectId,cursorBox:Qt,skipNextNote:ii,measureNumberPrinted:Pt,difftime:ut,octaveOffset:(we=Ui[0])==null?void 0:we.octaveOffset,frequency:(Ae=_t.pitch)==null?void 0:Ae.frequency,speed:$n,beatSpeed:Gn,i:Oe,si:Xe,stepSpeeds:nt,indexOfMeasures:kt,measureOpenIndex:U.length-1,measures:tt,tempoInBPM:_t.sourceMeasure.tempoInBPM,measureLength:Sn,relaMeasureLength:ct,id:xn==null?void 0:xn.attrs.id,note:_t.halfTone+12,relativeTime:retain(mr),time:retain(mr+F),endtime:retain(Us+F),relaEndtime:retain(Us),realValue:Nr,halfTone:_t.halfTone,voiceEntry:{isStaccato:_t.voiceEntry.isStaccato(),Timestamp:{..._t.voiceEntry.Timestamp},ornamentContainer:_t.voiceEntry.ornamentContainer?{..._t.voiceEntry.ornamentContainer}:""},noteElement:{NoteToGraphicalNoteObjectId:_t.NoteToGraphicalNoteObjectId,notehead:_t.notehead?{filled:_t.notehead.filled,shape:_t.notehead.shape,sourceNote:(Me=_t.notehead.sourceNote)==null?void 0:Me.NoteToGraphicalNoteObjectId}:"",noteheadColor:_t.noteheadColor,isRestFlag:_t.isRestFlag,sourceMeasure:{measureListIndex:(ke=_t==null?void 0:_t.SourceMeasure)==null?void 0:ke.measureListIndex,MeasureNumberXML:(Ne=_t==null?void 0:_t.SourceMeasure)==null?void 0:Ne.MeasureNumberXML,allRests:(Ie=_t==null?void 0:_t.SourceMeasure)==null?void 0:Ie.allRests,isRestFlag:(Ge=_t==null?void 0:_t.SourceMeasure)==null?void 0:Ge.isRestFlag,multipleRestMeasures:(ze=_t==null?void 0:_t.SourceMeasure)==null?void 0:ze.multipleRestMeasures,verticalMeasureList:Array.isArray((Ve=_t==null?void 0:_t.SourceMeasure)==null?void 0:Ve.verticalMeasureList)?_t.SourceMeasure.verticalMeasureList.map(ei=>{const{x:Fi,y:Ei,width:Ni,height:mi,start_x:Li,end_x:fn}=(ei==null?void 0:ei.stave)||{};return ei?{stave:{x:Fi,y:Ei,width:Ni,height:mi,start_x:Li,end_x:fn},boundingBox:ei&&ei.boundingBox?{absolutePosition:{...ei.boundingBox.absolutePosition},size:{...ei.boundingBox.size}}:""}:void 0}):[],activeTimeSignature:{..._t.activeTimeSignature}},tie:_t.tie?{StartNote:{NoteToGraphicalNoteObjectId:_t.tie.StartNote.NoteToGraphicalNoteObjectId},notes:Array.isArray(_t.tie.notes)&&((Ye=_t.tie.notes)==null?void 0:Ye.map(ei=>({NoteToGraphicalNoteObjectId:ei.NoteToGraphicalNoteObjectId})))||[]}:"",slurs:Array.isArray(_t.slurs)?_t.slurs.map(ei=>({startNote:{NoteToGraphicalNoteObjectId:ei.startNote.NoteToGraphicalNoteObjectId},endNote:{NoteToGraphicalNoteObjectId:ei.endNote.NoteToGraphicalNoteObjectId}})):[],pitch:{prevFrequency:(et=_t.pitch)==null?void 0:et.prevFrequency,nextFrequency:(Je=_t.pitch)==null?void 0:Je.nextFrequency,frequency:(st=_t.pitch)==null?void 0:st.frequency},Length:{..._t.Length}},svgElelent:xn?{bbox:((pt=xn.getBoundingBox)==null?void 0:pt.call(xn))||"",top_y:xn.top_y,note_height:xn.note_height}:"",fixedKey:ys,realKey:0,duration:0,formatLyricsEntries:formatLyricsEntries(_t),stave:Ui[0]&&Ui[0].stave?{attrs:Ui[0].stave?{...Ui[0].stave.attrs}:{}}:"",firstVerticalMeasure:{measureNumber:(dt=Ui==null?void 0:Ui[0])==null?void 0:dt.measureNumber},noteLength:1,halfTone1:Array.isArray(cn.notes)?cn.notes.map(ei=>ei.halfTone+12).filter(Boolean):[],halfTone2:Qi&&Array.isArray(Qi.notes)?Qi.notes.map(ei=>ei.halfTone+12).filter(Boolean):[]};Ln.realKey=q(_t.halfTone-ys*12,Ln),Ln.duration=Ln.endtime-Ln.time;const kn=((Fe=(yt=Ui[0])==null?void 0:yt.vfVoices["1"])==null?void 0:Fe.tickables)||[],Hs=((Ze=(je=(_e=_t.sourceMeasure.verticalMeasureList)==null?void 0:_e[0])==null?void 0:je.staffEntries)==null?void 0:Ze.length)||kn.length;Ln.noteLength=Hs||1,D.push(Ln),G.push(Ln.id),tt.push({realKey:Ln.realKey,NoteToGraphicalNoteObjectId:_t.NoteToGraphicalNoteObjectId}),Xe<Hs-1?Xe++:(Xe=0,ct=0,tt=[])}}B.cursor.next(),Oe++}try{B.cursor.reset()}catch{}}return D.sort((De,Oe)=>De.relativeTime-Oe.relativeTime).map((De,Oe)=>({...De,i:Oe}))},setStepIndex=(B,R,F)=>{if(B.product){if(R||R===0)if(F&&R-F===1)B.cursor.setPosition({...state$2.times[R].cursorBox});else if(F&&R-F>0)for(;R-F>0;)F++,B.cursor.setPosition({...state$2.times[F].cursorBox});else B.cursor.setPosition({...state$2.times[R].cursorBox})}else if(R||R===0)if(F&&R-F===1)B.cursor.next();else if(F&&R-F>0)for(;R-F>0;)F++,B.cursor.next();else{let D=0;for(B.cursor.reset();D<R;)D++,B.cursor.hidden!==!1?B.cursor.show():B.cursor.next()}},getIndex=(B,R)=>{if(R>state$2.times[state$2.times.length-1].endtime)return-1;let F=0;const D=B.filter((G,U)=>{const W=B[U-1];return(W==null?void 0:W.skipNextNote)===!1});for(let G=0;G<D.length;G++){const U=D[G],W=D[G-1];if(R>=U.time)(!W||U.time!=W.time)&&(F=U.i);else break}if(state$2.sectionStatus&&state$2.section.length===2){const G=state$2.befireSection||state$2.section[0];F=Math.min(Math.max(F,G.i),state$2.section[1].i)}return F},getSlursNote=(B,R)=>{var G,U;const F=state$2.times.find(W=>W.NoteToGraphicalNoteObjectId==B.NoteToGraphicalNoteObjectId)||{};let D=R==="end"?(G=F.noteElement.slurs[0])==null?void 0:G.endNote:(U=F.noteElement.slurs[0])==null?void 0:U.startNote;if(!!D)return state$2.times.find(W=>W.NoteToGraphicalNoteObjectId==D.NoteToGraphicalNoteObjectId)},getNoteBySlursStart=(B,R,F)=>{let D=B,G=getSlursNote(D,F);if(!G&&R)for(const U of D.measures){const W=state$2.times.find(q=>q.NoteToGraphicalNoteObjectId==U.NoteToGraphicalNoteObjectId);W.noteElement.slurs.length&&(G=getSlursNote(W,F),D=W)}if(D&&G!==D.noteElement){for(const U of state$2.times)if(G===U.noteElement)return U}return D},getParentNote=B=>{let R;if(B){for(const F of state$2.times)if(B.NoteToGraphicalNoteObjectId===F.noteElement.NoteToGraphicalNoteObjectId)return F}return R},getNoteByMeasuresSlursStart=B=>{let R=B,F;if(B.noteElement.tie&&B.noteElement.tie.StartNote&&(F=B.noteElement.tie.StartNote),R&&F&&F!==R.noteElement){for(const D of state$2.times)if(F.NoteToGraphicalNoteObjectId===D.noteElement.NoteToGraphicalNoteObjectId)return D}return R},getActtiveNoteByTimes=B=>{var G;const R=(G=B.target)==null?void 0:G.dataset,F={};for(const U of state$2.times)U.id&&(F[U.id]=U);return F[R.id||""]},getPrevHasSourceNote=B=>{const R=Math.max(state$2.times.indexOf(B)-1,0);for(let F=R;F>=0;F--){const D=state$2.times[F];if(D!=null&&D.stave)return D}},getBoundingBoxByverticalNote=B=>{var D,G,U,W,q,Y,Q,Z,K;let R=(G=(D=B==null?void 0:B.noteElement)==null?void 0:D.sourceMeasure)==null?void 0:G.verticalMeasureList;R=!R||!R[0]?((U=B==null?void 0:B.noteElement)==null?void 0:U.isRestFlag)&&((Y=(q=(W=getPrevHasSourceNote(B))==null?void 0:W.noteElement)==null?void 0:q.sourceMeasure)==null?void 0:Y.verticalMeasureList):R;let F=0;if(R){const J=R[state.partIndex];for(let ie=0;ie<R.length;ie++){const ne=R[ie];if(ne!=null&&ne.stave){const{height:se}=ne==null?void 0:ne.stave;ie>0&&(F+=(Q=R[ie-1])==null?void 0:Q.stave.height),F+=se;const{x:re,y:ae,width:le,context:ce,start_x:he,end_x:de}=J==null?void 0:J.stave;return{measureIndex:((Z=B==null?void 0:B.noteElement)==null?void 0:Z.sourceMeasure.measureListIndex)||0,MeasureNumberXML:((K=B==null?void 0:B.noteElement)==null?void 0:K.sourceMeasure.MeasureNumberXML)||1,start_x:he,end_x:de,height:F,x:re,y:ae,width:le,context:ce}}}}return{measureIndex:0,height:F,start_x:0,end_x:0,x:0,y:0,width:0,context:{element:null}}},getDuration=B=>{var R;if(B){const F=(R=B==null?void 0:B.graphic)==null?void 0:R.measureList[0][0];if(F){const{duration:D,tempoInBPM:G,activeTimeSignature:U,TempoExpressions:W}=F==null?void 0:F.parentSourceMeasure;if(D){let q="quarter";for(const Y of W)q=Y.InstantaneousTempo.beatUnit||"quarter";return{...formatDuration(U),tempoInBPM:G,beatUnit:q}}}}return{}},formatDuration=(B,R)=>B,getTimeByBeatUnit=(B,R,F)=>{let D=4;switch(B){case"1024th":D=1024;break;case"512th":D=512;break;case"256th":D=256;break;case"128th":D=128;break;case"64th":D=64;break;case"32nd":D=32;break;case"16th":D=16;break;case"eighth":D=8;break;case"quarter":D=4;break;case"half":D=2;break;case"whole":D=1;break;case"breve":D=.5;break;case"long":D=.25;break;case"maxima":D=.125;break}return F/D*R},getEnvHostname=()=>location.origin.indexOf("online")>-1?"https://mstuonline.dayaedu.com":location.origin.indexOf("dev")>-1?"http://mstudev.dayaedu.com":"https://mstutest.dayaedu.com",getTvIconUrl=()=>location.origin.indexOf("online")>-1?"https://mteaonline.dayaedu.com/#/guide":location.origin.indexOf("dev")>-1?"http://mteadev.dayaedu.com/#/guide":"https://mteatest.dayaedu.com/#/guide",setPrefix=B=>B?"?"+B:"",formatXML=(B,R)=>{var W,q;if(!B)return"";const F=new DOMParser().parseFromString(B,"text/xml"),D=F.getElementsByTagName("measure");let G=-1,U=-1;for(const Y of D){G===-1&&Y.getElementsByTagName("beats").length&&(G=parseInt(Y.getElementsByTagName("beats")[0].textContent||"4")),U===-1&&Y.getElementsByTagName("beat-type").length&&(U=parseInt(Y.getElementsByTagName("beat-type")[0].textContent||"4"));const Q=parseInt(((W=Y.getElementsByTagName("divisions")[0])==null?void 0:W.textContent)||"256");if(Y.getElementsByTagName("note").length===0){const Z=(q=Y.getElementsByTagName("forward")[0])==null?void 0:q.getElementsByTagName("duration")[0];Z&&(Z.textContent="0"),Y.innerHTML=Y.innerHTML+`
- <note>
- <rest measure="yes"/>
- <duration>${Q*G}</duration>
- <voice>1</voice>
- <type>whole</type>
- </note>`}}if(R){const Y=F.querySelector("work-title");Y&&R.title&&(Y.textContent=R.title)}return new XMLSerializer().serializeToString(F)},getCustomInfo=B=>{var G,U,W;const R={showSpeed:!0,parsedXML:B,code:""},F=new DOMParser().parseFromString(B,"text/xml"),D=F.getElementsByTagName("words");for(const q of D)q&&((G=q.textContent)==null?void 0:G.trim())==="\u9690\u85CF\u901F\u5EA6"&&(R.showSpeed=!1,q.textContent=""),q&&((U=q.textContent)==null?void 0:U.trim())==="@"&&(q.textContent="segno");return R.parsedXML=new XMLSerializer().serializeToString(F),R.code=((W=F.querySelector("part-name"))==null?void 0:W.innerHTML)||"",R},setElementNoteBefore=(B,R,F)=>{let D=0;if(!!R){for(let G=0;G<R.childNodes.length;G++){const U=R.childNodes[G];if(U.nodeName==="note"&&D++,U===B)break}if(D===0&&F){F.insertBefore(B,F.childNodes[0]);return}if(F&&F.childNodes.length>0){let G=0;for(let U=0;U<F.childNodes.length;U++){const W=F.childNodes[U];if(W.nodeName==="note"&&(G=G+1,G===D)){F.insertBefore(B,W);break}}}}},isRepeatWord=B=>{if(B){const R=B.toLocaleLowerCase(),F="d\\s?\\.s\\.",D="d\\.\\s?c\\.";return R==="@"||StringUtil.StringContainsSeparatedWord(R,F+" al fine",!0)||StringUtil.StringContainsSeparatedWord(R,F+" al coda",!0)||StringUtil.StringContainsSeparatedWord(R,D+" al fine",!0)||StringUtil.StringContainsSeparatedWord(R,D+" al coda",!0)||StringUtil.StringContainsSeparatedWord(R,D)||StringUtil.StringContainsSeparatedWord(R,"da\\s?capo",!0)||StringUtil.StringContainsSeparatedWord(R,F,!0)||StringUtil.StringContainsSeparatedWord(R,"dal\\s?segno",!0)||StringUtil.StringContainsSeparatedWord(R,"al\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(R,"to\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(R,"a (la )?coda",!0)||StringUtil.StringContainsSeparatedWord(R,"fine",!0)||StringUtil.StringContainsSeparatedWord(R,"coda",!0)||StringUtil.StringContainsSeparatedWord(R,"segno",!0)}return!1},onlyVisible=(B,R)=>{var K,J,ie,ne,se,re,ae,le;if(!B)return"";const F=new DOMParser().parseFromString(B,"text/xml"),D=((J=(K=F.getElementsByTagName("part-list"))==null?void 0:K[0])==null?void 0:J.getElementsByTagName("score-part"))||[],G=Array.from(D).map(ce=>{var he;return((he=ce.getElementsByTagName("part-name"))==null?void 0:he[0].textContent)||""}),U=F.getElementsByTagName("part")||[];if(!U.length)return"";const W=[...(ie=U[0])==null?void 0:ie.getElementsByTagName("measure")],q=[...(ne=U[0])==null?void 0:ne.getElementsByTagName("metronome")],Y=[...(se=U[0])==null?void 0:se.getElementsByTagName("words")],Q=[...(re=U[0])==null?void 0:re.getElementsByTagName("rehearsal")];((le=(ae=G[0])==null?void 0:ae.toLocaleUpperCase)==null?void 0:le.call(ae))==="COMMON"&&(R++,G.shift());const Z=D[R];if(state$2.partListNames=G,Z){const ce=Z.getAttribute("id");Array.from(U).forEach(me=>{var fe,ge,Se,Ee,ve;if(me&&me.getAttribute("id")!==ce)(fe=me.parentNode)==null||fe.removeChild(me);else if(me&&me.getAttribute("id")!=="P1"){const xe={};for(let Pe=0;Pe<q.length;Pe++){const ye=q[Pe],Te=(Se=(ge=ye.parentElement)==null?void 0:ge.parentElement)==null?void 0:Se.parentElement;if(Te){const Le=W.indexOf(Te);xe[Le]=ye}}Object.values(xe).forEach(Pe=>{var Ae;const ye=(Ae=Pe.parentElement)==null?void 0:Ae.parentElement,Te=ye==null?void 0:ye.parentElement,Le=[...(Te==null?void 0:Te.childNodes)||[]],we=ye?Le.indexOf(ye):-1;if(Te&&we>-1){const Me=W.indexOf(Te),ke=me.getElementsByTagName("measure")[Me];setElementNoteBefore(ye,Te,ke)}}),Y.forEach(Pe=>{var Te;const ye=Pe.textContent||"";if((isSpecialMark(ye)||isSpeedKeyword(ye)||isGradientWords(ye)||isRepeatWord(ye)||GRADIENT_SPEED_RESET_TAG)&&ye){const Le=(Te=Pe.parentElement)==null?void 0:Te.parentElement,we=Le==null?void 0:Le.parentElement,Ae=[...(we==null?void 0:we.childNodes)||[]],Me=Le?Ae.indexOf(Le):-1;if(Le&&we&&Me>-1){const ke=W.indexOf(we),Ne=me.getElementsByTagName("measure")[ke];setElementNoteBefore(Le,we,Ne)}}}),Q.forEach(Pe=>{var Le,we;const ye=(Le=Pe.parentElement)==null?void 0:Le.parentElement,Te=ye==null?void 0:ye.parentElement;if(Te){const Ae=W.indexOf(Te);(we=me.getElementsByTagName("measure")[Ae])==null||we.appendChild(ye.cloneNode(!0))}})}if(me&&me.getAttribute("id")===ce){const xe=me.getElementsByTagName("barline"),Pe=(Ee=xe[xe.length-1])==null?void 0:Ee.parentElement;if(((ve=Pe==null?void 0:Pe.lastElementChild)==null?void 0:ve.tagName)!=="barline"){const ye=(Pe==null?void 0:Pe.children)||[];for(let Te of ye)if(Te.tagName==="barline"){Pe==null||Pe.appendChild(Te);break}}}}),Array.from(D).forEach(me=>{var fe;me&&me.getAttribute("id")!==ce&&((fe=me.parentNode)==null||fe.removeChild(me))});const he=F.getElementsByTagName("note"),de=me=>{var Se;let fe=he[me+1];for(let Ee=me;Ee<he.length;Ee++){const ve=he[Ee];if(!((Se=ve.getElementsByTagName("grace"))!=null&&Se.length)){fe=ve;break}}return fe==null?void 0:fe.getElementsByTagName("duration")[0]};Array.from(he).forEach((me,fe)=>{var Se;const ge=me.getElementsByTagName("grace");ge&&ge.length&&me.appendChild((Se=de(fe))==null?void 0:Se.cloneNode(!0))})}return new XMLSerializer().serializeToString(F)},appoggianceFormate=B=>{var G,U,W,q;if(!B)return B;const R=new DOMParser().parseFromString(B,"text/xml"),F=R.querySelectorAll("grace");if(!F.length)return B;const D=Y=>Y.querySelector("grace")?D(Y==null?void 0:Y.nextElementSibling):Y;for(let Y of F){const Q=(G=Y.parentElement)==null?void 0:G.querySelector("notations");if(Q&&Q.querySelectorAll("slur").length>1){let Z=D((U=Y.parentElement)==null?void 0:U.nextElementSibling);if(Z&&Z.querySelectorAll("slur").length>0){const K=Array.from(((W=Z.querySelector("notations"))==null?void 0:W.children)||[]).map(ie=>ie.getAttribute("number")),J=Q.querySelectorAll("slur");for(let ie of J)K.includes(ie.getAttribute("number"))||(q=Z.querySelector("notations"))==null||q.appendChild(ie)}}}return new XMLSerializer().serializeToString(R)},getVoicePartInfo=()=>{const{MusicalInstrumentClassification:B,chinesePartName:R}=state$4;let F=-1;const{partListNames:D,partIndex:G}=state$2;if(D.filter(W=>(W||"").trim()!=="").length)for(const W of Object.entries(B)){const[q,Y]=W,Q=D[G],Z=Y.filter(K=>K&&Q.indexOf(K||"")>-1);if(Q&&(Z.length||Y.includes(Q)))return isNaN(+q)||(F=+q),{realPartListNames:D,subjectId:F,partListNames:Y,partName:Q,chinesePartName:R[Q]||Q}}return{subjectId:F,partListNames:[]}},classids$1=[1,30],idIsInClassIds=(B,R,F=!1)=>{if(!B)return!1;let D=!1;for(const G of B){if(G.id===R&&(F||classids$1.includes(G.id))){D=!0;break}if(G.sysMusicScoreCategoriesList&&(D=idIsInClassIds(G.sysMusicScoreCategoriesList,R,F||classids$1.includes(G.id)),D))break}return D},useMidi=(B,R)=>{const F=ref(!1);return R&&(console.log("\u66F2\u8C31\u4E3Amidi,\u4F7F\u7528app\u64AD\u653E"),F.value=!0,state$2.midiPlayIniting=!0,postMessage$1({api:"cloudDestroy"}),postMessage$1({api:"cloudDetail",content:{midi:R,denominator:getDuration(state.osmd).denominator,numerator:getDuration(state.osmd).numerator,originalSpeed:state$2.activeDetail.originalSpeed,interval:50,duration:B*1e3}},()=>{state$2.midiPlayIniting=!1,F.value=!1,R&&changeMode("music")}),state.durationNum=B),{initial:F}},getFeature=B=>B.feature?B.feature:B.lessonTrainingId?"LESSON_TRAINING":"PRACTICE",useOriginSearch=()=>{const B=location.search||location.hash.replaceAll("#/",""),R=queryString.parse(B);return R.Authorization&&sessionStorage.setItem("Authorization",R.Authorization||""),R.feature=getFeature(R),R},useReload=()=>{const B=useOriginSearch(),R=queryString.stringify({...B,_t:Date.now()},{});location.search="?"+R},useMenu=()=>{const B=ref(!0);return useEventListener("click",R=>{const F=R.path||R.composedPath(),D=F[0];if(D){const G=D.dataset.id&&D.dataset.id.indexOf("auto")>-1,U=F.find(W=>{var q;return W.tagName==="BUTTON"||((q=W.getAttribute)==null?void 0:q.call(W,"role"))==="button"});if(G||U)return}B.value=!B.value},{target:document.body.querySelector("#colexiu-detail-music-sheet")}),watch(()=>state.playState,(R,F)=>{let D=F;D==="suspend"&&(D="pause"),B.value=D!=="pause"}),[B]},box="_box_eceij_1",button$1="_button_eceij_14",iconSound$1="_iconSound_eceij_31",skepBtn="_skepBtn_eceij_37",skepItems="_skepItems_eceij_59",bottom="_bottom_eceij_78",wrap$3="_wrap_eceij_85",staff="_staff_eceij_98",des="_des_eceij_111",lampWrap="_lampWrap_eceij_116",lamp="_lamp_eceij_116",flickerAnimate="_flickerAnimate_eceij_131",flicker$1="_flicker_eceij_131";var styles$e={box,button:button$1,iconSound:iconSound$1,skepBtn,skepItems,bottom,wrap:wrap$3,staff,des,lampWrap,lamp,flickerAnimate,flicker:flicker$1},iconArrow="/orchestra-music-score/assets/icon-arrow.15f5e430.svg",iconBottom="/orchestra-music-score/assets/icon-bottom.91b813f9.png",iconRed="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAABGtJREFUSEu1ls1vVFUYxn/n494z93amH1CQ1jIEiJoYaCREIFEgwSiSxrjQGAQEU4OsNNEQwcQ/wIVBWRkWRl0oxoUi0QVI0PC1c4c1LMB0WhqEKDQt7czce+4x585MoRSIC5nNTGZu3t95nud93zOC+7wuXbq0RCm1VQixSQjxuHNugX9cCHHNOTfknDtprf1m2bJlw/cqI+72w9jYWDlN0w+BVwB1v0MAFvhWa72/t7e3cuezcwCVSuVVIcQh51yp9bAJQ8IwRKkGy1pLvV6nVq/P1BNCTDjn9pTL5cO3Q2YBRkdH382y7CPvgn+oVCwST0+RnTtLeuECWXUapwLkvPmoFSvQ/f1MKcXE5GSrppNS7u3r6zvQ+mIG4E8OfOWL+5POLxiyzz8jOXmCJIBUK5I4QjqNkAZZbCcICpgNG9DPbuLviYlcGeCA7S0lOcB7bq09723xxbvThPp7e7H/XGaqU+GcAqdJozakVSANdl4nZsHDxIuX4JQiHtjCtep0DvF2KaVW+ExyQKVS+RrwClgYxyS7B0luXiYtQSoNwhfNNKmJEZnOAaq/n3mvD3q5OGupnj6HGdjM1evXW+4cLpfL24RvRa31Rd8t3nPzycfUf/mBrNvhrMYSIFLlSdgwanwWIYVdO4jWr2/EFWhqv55FdXVRW72ylYlN03S5GB4e3ieE8C3JosxSffEF7HKHQ+FSSeZ8AB6gsIFXo3OA3rCe0q7X/FDgpGTiu58IpmpEb27nyo0buQrn3H5RqVSOAc/5Vmw/eoT0y4OkvSIv6JIGQCSyAdAGckBA2tlBYfWT6EcfofbXVez1CcJCRDywifHO9lYLHxcjIyMjzrm+3J7392H/PEVWUpDIBiDTOcBZhSPIs3AiIIuLCGUgjLCLe1AmQreVMGv7qa19IrdJCDHqFVQB09nRgRocJKudxxYk1BsW+cIkKg86cxpckANssYTQBYiKRHt2IIKQ+pnfMI8txT7zFDfGx71LtdmANwbJqr83AE0FeEBd4t+d0zjCBqDUDtogy0vo+OAdhJBM/niCsLsLu3HdLcBci06TlQQuadrkAbkSf3qN8wrQZG2lHEAYE7y0BRkWyIYuYtbMtWgm5I6jR0i+OIj1ITcV5IXTpgKCXAWE2KLPoAAmIlvcgzRxHnLh5ecZn991K+R7tqlrds5MF0ky73nmF16Yd5HPQJgYW+5BF9ooGEO0e8fsNp07aAdIfv4eu8hP6B1z4D1vdpFt70DIEBE2FBihiZ9eR3VNo4P80s0Hbe6qiEh27iSdHsO2SzIRzliUhjGyOclegWwCZM9CooUPEe7cytXxxpABjVVx12WX1Km//Rbp+BWq3WEear6LCs1dpAy2qwslQow2hMuXEm/beu9l11Qxe10bQ3boU5Ljx0gLfg8FJG0xwmkkIbKtiA4jzMaNqIHN91/XLU13vXAmJ8nOnMIO/UE2NQUqQCzoRq3sR69axc0w+G8XTgvyQK/MFuSBXvq3X9j/x9+WfwGl6lzvWSMVSAAAAABJRU5ErkJggg==",iconGreen="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAABAZJREFUSEu1lk1oHGUYx3/vzOzmi91s6qZt4jIJqRpsS2lj0IMHxYMeqigIYlqkByuC3kRIQHrqpYp6UxAVRKgRoQehl3jwJtHSlhZLxTYJ7mabahNMatr9yO7MI887s0nWfOjBLiyzzLzz/N7///l417DNZ2Zmps913ZeNMU8ZY/aKSLcuN8bMi8hVEfk+CIKvBwYG8luFMZs9mJub8+v1+ingJcDdbhNAAHzjed5Yb29v4Z9rNwAKhcKIMeYTEUnp4pqEnFu+zaW7y/y+UrXv7062cLAjxaOpThLGsfeMMcsi8rrv++PrIU2AYrH4VhiG7+v6ahjy+R9FPlu4wYITgBhMwkNqAnXAM2RD4Xh3L6/uytHiWJA4jvN2Lpf7sAFZBejOgdMa/LdKmdemrvCrW8a0u1AVqIK4HlQUYKA1CTUgrDHY7vHpnr30t7ZZCHC0ocQC1PMgCK6oLRr8xalLzKdr2IfiRkFXAeEq4IFkB/vSGSbv3EYqS5wZPGAhapfruvs1JzZGoVD4ChhRW5795SLXdpSw0dXy0IGywIpqcxFVUzcM7+zmi6FhPGNYlJDnz52nK1jm7MOHGnaN+75/xGgpep43rdXy8c0C75ZnIA1U4q/aoQoUooBypOCdoQO80t8fWe0YRq9e59u5PGO5nbzR4+vdoF6v7zH5fH7UGHNKq+Wxn3/kT7+K2KBx4Fp8rQiiaqwCONzn88HwIRtfl78weZGpUoVs611+2j9sq0tExkyhUJgAnv7hr0VG5i/jZAWxQYl2rb9LYlVIaCLbNLktCQ739HIwex8TS4ucX1oGx4X2FcZzfTye7lL2d2Z2dnZWRHIf3SzwXjiN6QDRIA2A/a2AKLCsxFDPjeBiINMeXbUnuxxGd2d4s8fXZBdVgb7aciJ/nS/bi5iEBjHR7sua6Gj39msBsYJEAgKDa1xOPvGIVgAnLl8jSDkcyyQ52fegKqg2AzqKGI/IIguIytNaVJVImTaZPk96FtCXTjPx3JNWwTOTF8hLlWMpbw2wqUW6S919AxBfrT0NBV4EQByODg9awOnpG9C50aK1JN+Kk9wA2AZbq6Imi9YByLRZkJYxOwLG/f61JG8s0xVEbbBJjv1WBQoLnajRbBUlIwU4UZL16jhkk3eay/RfG02Dxcle7QO9l0xE+dDeUICWsFNlzN/V3GgbR8UFrmVKUYc2BpvtakG0DO29WIFOVrWmUwEBg611zu4bah4VWw27hbRuM96hAtQax0MUoNaoRdrCOrTaPLrDEmce2mLYxSo2jmtTisd1PPhcBYRRmdpxrXmpMZhKbj+uG4fDpgfOreLqgYPrRmUaRk2bDeF4z/3/7cBpQO7pkdmA3NNDf/2B/X/8bfkbLfmH7810f6kAAAAASUVORK5CYII=",iconWhite="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAAAXNSR0IArs4c6QAAA5xJREFUSEu1lr9uG0cQxr+5I++OPMkULTuNcIAaIbADOAHSJoXhwlWqwHa6AHoIdzEEd4YfIGXKFO4MA0bgB7A7AwaSIta/I+mjREuiFDEUySNvg2+jIY4UCbnxAgSWu7fz25n5Zu4El4xGo/F1lmX3AXwvIl8aY6oikgJoGmPeOY7zhzHmWRRFR/NMybyNJEm+HY1GT40xty+7CIAugF/DMHy8vLz8z/TzFyDGGKnVao9E5BcALg+ICHzfh1cswnEca2M4HKI/GCBN6dR41LMse7C6uvo6vzgBIaBer/8G4Gc+RIOLi4souC7+7XQwSFNkxqBYLMJ1XZR8H0XPQ6fTQffsTO2eiciPURS91IUJSBzHT0TkITc9z8PVpSXst1ro9fv2v3rFeZZl9j+9K5dKdn7YbsMYw2nXdd3vVlZW3tozSms0GneyLHvFNYYmLJXwodm0xnjzeRA+y3DS22KhgI+Hhwr6u9/v31pbW+tbyMbGhrO+vv4OwFeu46BSqWBnd9caZ8gIyEMKhYKFB0GAcrls7zkajWyeYAyO2m31+mEURU8tJI7jH0TkOedXq1UcHBwgHQ6tAcaeRgnUwTUapRfc42CY+gxroYD2yYmdG2P2tre3Iwup1Wq/A/iJh5cqFbzf3MTCwgJKpdIYQGMMC40phGCF07Ner2c9d0Vs2M7HXQup1+v7xpgvFsIQp6enOD45sZAwDMeQvCeE0RPNF8GUMtc5ykGAvVbL7ovIE2k2m9fTNG1xc7latWqiTPOe0AveUD1RCEF5oNYQFdc+PrYhE5EXEsfxTRH5k5Dr165hN45tOBSiIeGaQjTRhOicz9EjrlFlp6ydbpdn3kiSJDeGw+FfCtnc2rIhYhEy8SpfQnhTGuKPSlIIz1IEXGde6MkEZDpce/v7YDkxH0w8IYTO80TDpaFiHi6EazrxZ72ebRP0RNVFSF6q0zmx9XHe47gXeN5k4i9I+MoVvN/amlAXCzEvYd6aodLE8/YMlZWv686W8HQxHh4d2ZhP14kWHQ3RMCE0rBCuB74/VtZEMU63lWq1iiRJ4Pm+vZnmRdWlbYXG82IggGsz2wpvON0gtaB421m967zb2ktwTgATPrdBav3PavUMHcVAEI3Rm3yrZ01Q6ibLLm/15/Ge+dLyPc8W1mAw+L+VeB4cqigIrCDYij75paWgz/r6HfdygIn/fB8SeRDnOzs737iuey//ScTvCBFJPvWT6D9cJW2Lx33GagAAAABJRU5ErkJggg==",iconSound="/orchestra-music-score/assets/icon-sound.12d833d8.png",score=B=>B==12||B==4?{xml:`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
- <score-partwise version="3.1">
- <movement-title>Click to add Title</movement-title>
- <identification>
- <creator type="composer">Click to add Composer</creator>
- <rights>Click to add Copyright</rights>
- <encoding>
- <encoding-date>2021-08-27</encoding-date>
- <software>SmartMusic</software>
- <supports element="accidental" type="yes"/>
- <supports element="beam" type="yes"/>
- <supports element="stem" type="yes"/>
- <supports element="print" attribute="new-system" type="yes" value="yes"/>
- <supports element="print" attribute="new-page" type="yes" value="yes"/>
- </encoding>
- </identification>
- <defaults>
- <scaling>
- <millimeters>6.5000</millimeters>
- <tenths>40</tenths>
- </scaling>
- <page-layout>
- <page-height>1827.3</page-height>
- <page-width>1292</page-width>
- <page-margins type="both">
- <left-margin>61.2</left-margin>
- <right-margin>61.5</right-margin>
- <top-margin>379.6</top-margin>
- <bottom-margin>61.3</bottom-margin>
- </page-margins>
- </page-layout>
- <appearance>
- <line-width type="staff">1.0000</line-width>
- <line-width type="stem">1.0000</line-width>
- <line-width type="beam">5.0000</line-width>
- <line-width type="leger">1.0000</line-width>
- <line-width type="light barline">1.0000</line-width>
- <line-width type="heavy barline">3.4199</line-width>
- <line-width type="wedge">1.0000</line-width>
- <note-size type="cue">60</note-size>
- <note-size type="grace">50</note-size>
- </appearance>
- <music-font font-family="Maestro,engraved"/>
- <word-font font-family="Times New Roman" font-size="8"/>
- <lyric-font font-family="Times New Roman" font-size="9"/>
- </defaults>
- <part-list>
- <score-part id="P1">
- <part-name print-object="no">Music</part-name>
- <score-instrument id="P1-I1">
- <instrument-name>Music</instrument-name>
- <instrument-sound>wind.flutes.flute</instrument-sound>
- <virtual-instrument>
- <virtual-library>Finale Default Bank</virtual-library>
- </virtual-instrument>
- </score-instrument>
- <?SmartMusic instrument-id="2" staff="1"?>
- </score-part>
- </part-list>
- <part id="P1">
- <measure number="1" width="1109.2">
- <print>
- <system-layout>
- <system-margins>
- <left-margin>60</left-margin>
- <right-margin>0</right-margin>
- </system-margins>
- <top-system-distance>40</top-system-distance>
- </system-layout>
- <measure-numbering>system</measure-numbering>
- </print>
- <attributes>
- <divisions>3840</divisions>
- <key>
- <fifths>0</fifths>
- <mode>major</mode>
- </key>
- <time>
- <beats>4</beats>
- <beat-type>4</beat-type>
- </time>
- <clef>
- <sign>G</sign>
- <line>2</line>
- </clef>
- </attributes>
- <sound tempo="100"/>
- <note>
- <pitch>
- <step>C</step>
- <octave>5</octave>
- </pitch>
- <duration>15360</duration>
- <voice>1</voice>
- <type>whole</type>
- </note>
- </measure>
- </part>
- </score-partwise>
- `,text:""}:B==5||B==6?{xml:`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
- <score-partwise version="3.1">
- <movement-title>Click to add Title</movement-title>
- <identification>
- <creator type="composer">Click to add Composer</creator>
- <rights>Click to add Copyright</rights>
- <encoding>
- <encoding-date>2021-08-27</encoding-date>
- <software>SmartMusic</software>
- <supports element="accidental" type="yes"/>
- <supports element="beam" type="yes"/>
- <supports element="stem" type="yes"/>
- <supports element="print" attribute="new-system" type="yes" value="yes"/>
- <supports element="print" attribute="new-page" type="yes" value="yes"/>
- </encoding>
- </identification>
- <defaults>
- <scaling>
- <millimeters>6.5000</millimeters>
- <tenths>40</tenths>
- </scaling>
- <page-layout>
- <page-height>1827.4</page-height>
- <page-width>1292.1</page-width>
- <page-margins type="both">
- <left-margin>61.3</left-margin>
- <right-margin>61.5</right-margin>
- <top-margin>355.6</top-margin>
- <bottom-margin>61.4</bottom-margin>
- </page-margins>
- </page-layout>
- <appearance>
- <line-width type="staff">1.0000</line-width>
- <line-width type="stem">1.0000</line-width>
- <line-width type="beam">5.0000</line-width>
- <line-width type="leger">1.0000</line-width>
- <line-width type="light barline">1.0000</line-width>
- <line-width type="heavy barline">3.4199</line-width>
- <line-width type="wedge">1.0000</line-width>
- <note-size type="cue">60</note-size>
- <note-size type="grace">50</note-size>
- </appearance>
- <music-font font-family="Maestro,engraved"/>
- <word-font font-family="Times New Roman" font-size="8"/>
- <lyric-font font-family="Times New Roman" font-size="9"/>
- </defaults>
- <part-list>
- <score-part id="P1">
- <part-name print-object="no">Music</part-name>
- <score-instrument id="P1-I1">
- <instrument-name>Music</instrument-name>
- <instrument-sound>wind.flutes.flute</instrument-sound>
- <virtual-instrument>
- <virtual-library>Finale Default Bank</virtual-library>
- </virtual-instrument>
- </score-instrument>
- <?SmartMusic instrument-id="2" staff="1"?>
- </score-part>
- </part-list>
- <part id="P1">
- <measure number="1" width="1109.2">
- <print>
- <system-layout>
- <system-margins>
- <left-margin>60</left-margin>
- <right-margin>0</right-margin>
- </system-margins>
- <top-system-distance>40</top-system-distance>
- </system-layout>
- <measure-numbering>system</measure-numbering>
- </print>
- <attributes>
- <divisions>3840</divisions>
- <key>
- <fifths>1</fifths>
- <mode>major</mode>
- </key>
- <time>
- <beats>4</beats>
- <beat-type>4</beat-type>
- </time>
- <clef>
- <sign>G</sign>
- <line>2</line>
- </clef>
- </attributes>
- <sound tempo="100"/>
- <note>
- <pitch>
- <step>C</step>
- <octave>5</octave>
- </pitch>
- <duration>15360</duration>
- <voice>1</voice>
- <type>whole</type>
- </note>
- </measure>
- </part>
- </score-partwise>
- `,text:"C"}:B==13?{xml:`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
- <score-partwise version="3.1">
- <movement-title>Click to add Title</movement-title>
- <identification>
- <creator type="composer">Click to add Composer</creator>
- <rights>Click to add Copyright</rights>
- <encoding>
- <encoding-date>2021-08-27</encoding-date>
- <software>SmartMusic</software>
- <supports element="accidental" type="yes"/>
- <supports element="beam" type="yes"/>
- <supports element="stem" type="yes"/>
- <supports element="print" attribute="new-system" type="yes" value="yes"/>
- <supports element="print" attribute="new-page" type="yes" value="yes"/>
- </encoding>
- </identification>
- <defaults>
- <scaling>
- <millimeters>6.5000</millimeters>
- <tenths>40</tenths>
- </scaling>
- <page-layout>
- <page-height>1827.4</page-height>
- <page-width>1292.1</page-width>
- <page-margins type="both">
- <left-margin>61.3</left-margin>
- <right-margin>61.5</right-margin>
- <top-margin>355.6</top-margin>
- <bottom-margin>61.4</bottom-margin>
- </page-margins>
- </page-layout>
- <appearance>
- <line-width type="staff">1.0000</line-width>
- <line-width type="stem">1.0000</line-width>
- <line-width type="beam">5.0000</line-width>
- <line-width type="leger">1.0000</line-width>
- <line-width type="light barline">1.0000</line-width>
- <line-width type="heavy barline">3.4199</line-width>
- <line-width type="wedge">1.0000</line-width>
- <note-size type="cue">60</note-size>
- <note-size type="grace">50</note-size>
- </appearance>
- <music-font font-family="Maestro,engraved"/>
- <word-font font-family="Times New Roman" font-size="8"/>
- <lyric-font font-family="Times New Roman" font-size="9"/>
- </defaults>
- <part-list>
- <score-part id="P1">
- <part-name print-object="no">Music</part-name>
- <score-instrument id="P1-I1">
- <instrument-name>Music</instrument-name>
- <instrument-sound>wind.flutes.flute</instrument-sound>
- <virtual-instrument>
- <virtual-library>Finale Default Bank</virtual-library>
- </virtual-instrument>
- </score-instrument>
- <?SmartMusic instrument-id="2" staff="1"?>
- </score-part>
- </part-list>
- <part id="P1">
- <measure number="1" width="1109.2">
- <print>
- <system-layout>
- <system-margins>
- <left-margin>60</left-margin>
- <right-margin>0</right-margin>
- </system-margins>
- <top-system-distance>40</top-system-distance>
- </system-layout>
- <measure-numbering>system</measure-numbering>
- </print>
- <attributes>
- <divisions>3840</divisions>
- <key>
- <fifths>-1</fifths>
- <mode>major</mode>
- </key>
- <time>
- <beats>4</beats>
- <beat-type>4</beat-type>
- </time>
- <clef>
- <sign>G</sign>
- <line>2</line>
- </clef>
- </attributes>
- <sound tempo="100"/>
- <note>
- <pitch>
- <step>F</step>
- <octave>4</octave>
- </pitch>
- <duration>15360</duration>
- <voice>1</voice>
- <type>whole</type>
- </note>
- </measure>
- </part>
- </score-partwise>
- `,text:"F"}:B==14||B==15?{xml:`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
- <score-partwise version="3.1">
- <movement-title>Click to add Title</movement-title>
- <identification>
- <creator type="composer">Click to add Composer</creator>
- <rights>Click to add Copyright</rights>
- <encoding>
- <encoding-date>2021-08-27</encoding-date>
- <software>SmartMusic</software>
- <supports element="accidental" type="yes"/>
- <supports element="beam" type="yes"/>
- <supports element="stem" type="yes"/>
- <supports element="print" attribute="new-system" type="yes" value="yes"/>
- <supports element="print" attribute="new-page" type="yes" value="yes"/>
- </encoding>
- </identification>
- <defaults>
- <scaling>
- <millimeters>6.5000</millimeters>
- <tenths>40</tenths>
- </scaling>
- <page-layout>
- <page-height>1827.4</page-height>
- <page-width>1292.1</page-width>
- <page-margins type="both">
- <left-margin>61.3</left-margin>
- <right-margin>61.5</right-margin>
- <top-margin>355.6</top-margin>
- <bottom-margin>61.4</bottom-margin>
- </page-margins>
- </page-layout>
- <appearance>
- <line-width type="staff">1.0000</line-width>
- <line-width type="stem">1.0000</line-width>
- <line-width type="beam">5.0000</line-width>
- <line-width type="leger">1.0000</line-width>
- <line-width type="light barline">1.0000</line-width>
- <line-width type="heavy barline">3.4199</line-width>
- <line-width type="wedge">1.0000</line-width>
- <note-size type="cue">60</note-size>
- <note-size type="grace">50</note-size>
- </appearance>
- <music-font font-family="Maestro,engraved"/>
- <word-font font-family="Times New Roman" font-size="8"/>
- <lyric-font font-family="Times New Roman" font-size="9"/>
- </defaults>
- <part-list>
- <score-part id="P1">
- <part-name print-object="no">Music</part-name>
- <score-instrument id="P1-I1">
- <instrument-name>Music</instrument-name>
- <instrument-sound>wind.flutes.flute</instrument-sound>
- <virtual-instrument>
- <virtual-library>Finale Default Bank</virtual-library>
- </virtual-instrument>
- </score-instrument>
- <?SmartMusic instrument-id="2" staff="1"?>
- </score-part>
- </part-list>
- <part id="P1">
- <measure number="1" width="1109.2">
- <print>
- <system-layout>
- <system-margins>
- <left-margin>60</left-margin>
- <right-margin>0</right-margin>
- </system-margins>
- <top-system-distance>40</top-system-distance>
- </system-layout>
- <measure-numbering>system</measure-numbering>
- </print>
- <attributes>
- <divisions>3840</divisions>
- <key>
- <fifths>-2</fifths>
- <mode>major</mode>
- </key>
- <time>
- <beats>4</beats>
- <beat-type>4</beat-type>
- </time>
- <clef>
- <sign>F</sign>
- <line>4</line>
- </clef>
- </attributes>
- <sound tempo="100"/>
- <note>
- <pitch>
- <step>B</step>
- <alter>-1</alter>
- <octave>2</octave>
- </pitch>
- <duration>15360</duration>
- <voice>1</voice>
- <type>whole</type>
- </note>
- </measure>
- </part>
- </score-partwise>
- `,text:"S"}:B==120?{xml:`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
- <score-partwise version="3.1">
- <movement-title>Click to add Title</movement-title>
- <identification>
- <creator type="composer">Click to add Composer</creator>
- <rights>Click to add Copyright</rights>
- <encoding>
- <encoding-date>2021-08-27</encoding-date>
- <software>SmartMusic</software>
- <supports element="accidental" type="yes"/>
- <supports element="beam" type="yes"/>
- <supports element="stem" type="yes"/>
- <supports element="print" attribute="new-system" type="yes" value="yes"/>
- <supports element="print" attribute="new-page" type="yes" value="yes"/>
- </encoding>
- </identification>
- <defaults>
- <scaling>
- <millimeters>6.5000</millimeters>
- <tenths>40</tenths>
- </scaling>
- <page-layout>
- <page-height>1827.3</page-height>
- <page-width>1292</page-width>
- <page-margins type="both">
- <left-margin>61.2</left-margin>
- <right-margin>61.5</right-margin>
- <top-margin>379.6</top-margin>
- <bottom-margin>61.3</bottom-margin>
- </page-margins>
- </page-layout>
- <appearance>
- <line-width type="staff">1.0000</line-width>
- <line-width type="stem">1.0000</line-width>
- <line-width type="beam">5.0000</line-width>
- <line-width type="leger">1.0000</line-width>
- <line-width type="light barline">1.0000</line-width>
- <line-width type="heavy barline">3.4199</line-width>
- <line-width type="wedge">1.0000</line-width>
- <note-size type="cue">60</note-size>
- <note-size type="grace">50</note-size>
- </appearance>
- <music-font font-family="Maestro,engraved"/>
- <word-font font-family="Times New Roman" font-size="8"/>
- <lyric-font font-family="Times New Roman" font-size="9"/>
- </defaults>
- <part-list>
- <score-part id="P1">
- <part-name print-object="no">Music</part-name>
- <score-instrument id="P1-I1">
- <instrument-name>Music</instrument-name>
- <instrument-sound>wind.flutes.flute</instrument-sound>
- <virtual-instrument>
- <virtual-library>Finale Default Bank</virtual-library>
- </virtual-instrument>
- </score-instrument>
- <?SmartMusic instrument-id="2" staff="1"?>
- </score-part>
- </part-list>
- <part id="P1">
- <measure number="1" width="1109.2">
- <print>
- <system-layout>
- <system-margins>
- <left-margin>60</left-margin>
- <right-margin>0</right-margin>
- </system-margins>
- <top-system-distance>40</top-system-distance>
- </system-layout>
- <measure-numbering>system</measure-numbering>
- </print>
- <attributes>
- <divisions>3840</divisions>
- <key>
- <fifths>0</fifths>
- <mode>major</mode>
- </key>
- <time>
- <beats>4</beats>
- <beat-type>4</beat-type>
- </time>
- <clef>
- <sign>G</sign>
- <line>2</line>
- </clef>
- </attributes>
- <sound tempo="100"/>
- <note>
- <pitch>
- <step>A</step>
- <octave>5</octave>
- </pitch>
- <duration>15360</duration>
- <voice>1</voice>
- <type>whole</type>
- </note>
- </measure>
- </part>
- </score-partwise>
- `,text:"A"}:{xml:`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
- <score-partwise version="3.1">
- <movement-title>Click to add Title</movement-title>
- <identification>
- <creator type="composer">Click to add Composer</creator>
- <rights>Click to add Copyright</rights>
- <encoding>
- <encoding-date>2021-08-27</encoding-date>
- <software>SmartMusic</software>
- <supports element="accidental" type="yes"/>
- <supports element="beam" type="yes"/>
- <supports element="stem" type="yes"/>
- <supports element="print" attribute="new-system" type="yes" value="yes"/>
- <supports element="print" attribute="new-page" type="yes" value="yes"/>
- </encoding>
- </identification>
- <defaults>
- <scaling>
- <millimeters>6.5000</millimeters>
- <tenths>40</tenths>
- </scaling>
- <page-layout>
- <page-height>1827.4</page-height>
- <page-width>1292.1</page-width>
- <page-margins type="both">
- <left-margin>61.3</left-margin>
- <right-margin>61.5</right-margin>
- <top-margin>355.6</top-margin>
- <bottom-margin>61.4</bottom-margin>
- </page-margins>
- </page-layout>
- <appearance>
- <line-width type="staff">1.0000</line-width>
- <line-width type="stem">1.0000</line-width>
- <line-width type="beam">5.0000</line-width>
- <line-width type="leger">1.0000</line-width>
- <line-width type="light barline">1.0000</line-width>
- <line-width type="heavy barline">3.4199</line-width>
- <line-width type="wedge">1.0000</line-width>
- <note-size type="cue">60</note-size>
- <note-size type="grace">50</note-size>
- </appearance>
- <music-font font-family="Maestro,engraved"/>
- <word-font font-family="Times New Roman" font-size="8"/>
- <lyric-font font-family="Times New Roman" font-size="9"/>
- </defaults>
- <part-list>
- <score-part id="P1">
- <part-name print-object="no">Music</part-name>
- <score-instrument id="P1-I1">
- <instrument-name>Music</instrument-name>
- <instrument-sound>wind.flutes.flute</instrument-sound>
- <virtual-instrument>
- <virtual-library>Finale Default Bank</virtual-library>
- </virtual-instrument>
- </score-instrument>
- <?SmartMusic instrument-id="2" staff="1"?>
- </score-part>
- </part-list>
- <part id="P1">
- <measure number="1" width="1109.2">
- <print>
- <system-layout>
- <system-margins>
- <left-margin>60</left-margin>
- <right-margin>0</right-margin>
- </system-margins>
- <top-system-distance>40</top-system-distance>
- </system-layout>
- <measure-numbering>system</measure-numbering>
- </print>
- <attributes>
- <divisions>3840</divisions>
- <key>
- <fifths>-2</fifths>
- <mode>major</mode>
- </key>
- <time>
- <beats>4</beats>
- <beat-type>4</beat-type>
- </time>
- <clef>
- <sign>G</sign>
- <line>2</line>
- </clef>
- </attributes>
- <sound tempo="100"/>
- <note>
- <pitch>
- <step>B</step>
- <alter>-1</alter>
- <octave>4</octave>
- </pitch>
- <duration>15360</duration>
- <voice>1</voice>
- <type>whole</type>
- </note>
- </measure>
- </part>
- </score-partwise>
- `,text:"Bb"};const storeKeys={lastCheckTime:"lastCheckTime"};var contentSound="/orchestra-music-score/assets/sound.a2da33e9.svg";const checkStatus=ref("checking"),checkFrequency=ref(417.19244620530856),dotIcons=ref([iconWhite,iconWhite,iconWhite]),trend=ref(-1),time=ref(0),useStart=()=>{postMessage$1({api:"proxyServiceMessage",content:{header:{status:200,commond:"xmlInfo",type:"SOUND_CHECK"},body:{frequency:checkFrequency.value}}}),postMessage$1({api:"startSoundCheck"},()=>{checkStatus.value="checking"}),localStorage.setItem(storeKeys.lastCheckTime,""+new Date().valueOf())},useEnd=()=>{postMessage$1({api:"endSoundCheck"})},useLister=()=>{const B=R=>{var D;const F=(D=R==null?void 0:R.content)==null?void 0:D.body.frequency;console.log("frequency",F,checkFrequency.value),trend.value=Math.abs(F-checkFrequency.value)<=5?0:F-checkFrequency.value>0?1:-1,dotIcons.value=[iconWhite,iconWhite,iconWhite],dotIcons.value[trend.value+1]=trend.value===0?iconGreen:iconRed,trend.value!==0&&(time.value=new Date().getTime()),new Date().getTime()-time.value>3e3&&(useEnd(),checkStatus.value="success",dotIcons.value=[iconGreen,iconGreen,iconGreen],setTimeout(()=>{soundEffectShow.value=!1},1e3))};onMounted(()=>{useStart(),listenerMessage("sendResult",B)}),onBeforeUnmount(()=>{removeListenerMessage("sendResult",B)})},soundEffectShow=ref(!1);var SoundEffect=defineComponent({name:"ColexiuSoundEffect",setup(){const B=ref(!1),R=F=>{F.text==="\u5173\u95ED\u6821\u97F3"&&(state$3.sett.tuning=!1),soundEffectShow.value=!1};return useLister(),watch(soundEffectShow,()=>{soundEffectShow.value===!1&&useEnd()}),()=>{const F=score(2);return F!=null&&F.xml,createVNode("div",{class:styles$e.box},[createVNode("img",{class:styles$e.iconSound,src:iconSound},null),createVNode("div",{class:styles$e.wrap},[createVNode("div",{class:styles$e.staff},[createVNode("img",{src:contentSound},null)]),createVNode("div",{class:styles$e.des},[createTextVNode("\u8BF7\u6F14\u594F "),createVNode("span",{style:{color:"var(--primary-color)"}},[createTextVNode("Ab")]),createTextVNode("\u76F4\u5230\u7EFF\u706F\u5168\u90E8\u4EAE\u8D77")]),createVNode("div",{class:styles$e.lampWrap},[dotIcons.value.map((D,G)=>createVNode("div",{class:styles$e.lamp,key:G},[createVNode("img",{class:[checkStatus.value==="checking"&&styles$e.flickerAnimate],src:D},null)]))])]),createVNode("img",{class:styles$e.bottom,src:iconBottom},null),createVNode(Button,{class:styles$e.button,icon:iconBack,onClick:()=>soundEffectShow.value=!1},null),createVNode(Popover,{class:styles$e.skepItems,show:B.value,"onUpdate:show":D=>B.value=D,actions:[{text:"\u8DF3\u8FC7\u672C\u6B21"},{text:"\u5173\u95ED\u6821\u97F3"}],onSelect:D=>R(D)},{reference:()=>createVNode(Button,{class:styles$e.skepBtn,icon:iconArrow,iconPosition:"right"},{default:()=>[createTextVNode("\u8DF3\u8FC7")]})})])}}});const soundNeedShow=()=>{state.evaluatingStatus&&state$3.sett.tuning&&(soundEffectShow.value=!0)},handleCheckEvaluatStatus=()=>{soundNeedShow(),postMessage$1({api:"isWiredHeadsetOn"},B=>{permissionPopup.active="earphone",permissionPopup.show=!(B!=null&&B.content.checkIsWired)})},useWiredHeadsetCheck=()=>{const B=ref(!1);return watch([()=>state.evaluatingStatus],()=>{state$3.sett.fingering}),watch([()=>state.evaluatingStatus,()=>permissionPopup.show,()=>soundEffectShow.value],([R,F,D])=>{}),[B]},gotoMemberCenter=()=>{const R=getDevelopment()?"https://ponline.colexiu.com/orchestra-student/#/memberCenter":`${location.origin}/orchestra-student/#/memberCenter`;postMessage$1({api:"back"}),postMessage$1({api:"openWebView",content:{url:R,orientation:1}})},useFee=async()=>{if(browser().isStudent){let R="";try{const F=await request.get("/student/member");R=F==null?void 0:F.data}catch{}if(!R)return;if(!R.membershipDays&&R.purchaseMemberRecord){Dialog.alert({title:"\u6E29\u99A8\u63D0\u793A",message:"\u60A8\u7684\u56E2\u7EC3\u5B9D\u6682\u672A\u6FC0\u6D3B\uFF0C\u8BF7\u6FC0\u6D3B\u540E\u4F7F\u7528",className:"noVip"}).then(F=>{gotoMemberCenter()});return}if(!R.vipMember){Dialog.alert({title:"\u6E29\u99A8\u63D0\u793A",message:"\u60A8\u6682\u672A\u5F00\u901A\u56E2\u7EC3\u5B9D\uFF0C\u8BF7\u5F00\u901A\u540E\u4F7F\u7528",className:"noVip"}).then(()=>{gotoMemberCenter()});return}}},useCamera=()=>{watch(()=>state$3.sett.camera,B=>{postMessage$1(B?{api:"openCamera"}:{api:"closeCamera"})},{immediate:!0})};useOriginSearch();const browserInfo=browser(),useClientType=()=>{const B=useOriginSearch();if(B.client)return B.client;let R=location.pathname.indexOf("/orchestra-student/")===0||browserInfo.isStudent,F=location.pathname.indexOf("/orchestra-teacher/")===0||browserInfo.isTeacher;return R?"student":F?"teacher":"web"},typeById={2:{name:"flute",direction:"transverse"},4:{name:"clarinet",direction:"vertical",width:"1rem",paddingLeft:"0rem"},5:{name:"saxophone",direction:"vertical",width:"2rem"},6:{name:"saxophone",direction:"vertical",width:"2rem"},12:{name:"trumpet",direction:"transverse",height:"80px"},13:{name:"horn",direction:"vertical",width:"3.5rem"},14:{name:"trombone",direction:"transverse",height:"80px"},15:{name:"up-bass-horn",direction:"vertical",width:"3rem"},17:{name:"tuba",direction:"vertical",width:"3rem"},120:{name:"piccolo",direction:"vertical",width:"1rem"},136:{name:"hulusi-flute",direction:"vertical",width:"1.2rem"},135:{name:"pan-flute",direction:"vertical",width:"2.5rem"},134:{name:"ocarina",direction:"vertical",width:"2rem"},137:{name:"melodica",direction:"transverse"},130:{name:"ukulele",direction:"vertical",width:"2rem"},140:{name:"mouthorgan",direction:"transverse",height:"80px"},150:{name:"piano",direction:"transverse",height:"80px"}},relationships={flute17:{59:[27,26,25,15,24,22,17,20],60:[1,2,3,5,7,9,11,12,13,15],1060:[1,2,3,5,7,9,1011,12,13,15],61:[1,2,3,5,7,9,13,15],1061:[1,2,3,5,7,9,1013,15],62:[1,2,3,5,7,9,15],1062:[1,2,3,5,7,9,1010,15],63:[1,2,3,5,7,9,10,15],1063:[1,2,3,5,7,1009,10,15],64:[1,2,3,5,7,10,15],1064:[1,2,3,5,1007,10,15],65:[1,2,3,5,10,15],1065:[1,2,3,1005,9,10,15],66:[1,2,3,9,10,15],1066:[1,2,3,1009,10,15],67:[1,2,3,10,15],1067:[1,2,3,1004,10,15],68:[1,2,3,4,10,15],1068:[[1,2,1003,4,10,15],[1,2,1003,1004,10,15]],69:[1,2,10,15],1069:[1,1002,10,14],70:[[1,5,10,15],[1,10,14]],1070:[1,1005,10,15],71:[1,10,15],1071:[1,10,1015],72:[1,10],1072:[1001,10],73:[13],1073:[1006,13],74:[2,3,5,7,9,15],1074:[2,3,5,7,9,1013,15],75:[2,3,5,7,9,10,15],1075:[2,3,5,7,9,10,15],76:[1,2,3,5,7,10,15],1076:[1,2,3,5,1007,10,15],77:[1,2,3,5,10,15],1077:[1,2,3,1005,9,10,15],78:[1,2,3,9,10,15],1078:[1,2,3,1009,10,15],79:[1,2,3,10,15],1079:[1,2,3,4,10,15],80:[1,2,3,4,10,15],1080:[1,2,1003,4,10,15],81:[1,2,10,15],1081:[1,1002,10,15],82:[[1,5,10],[1,10,14]],1082:[1,1005,10,15],83:[1,10,15],1083:[1,10,1015],84:[1,10],1084:[1001,10],85:[10],1085:[1006,10],86:[2,3,10,15],1086:[2,3,1008,10,15],87:[1,2,3,4,5,7,8,10,15],1087:[1,2,1003,4,5,7,8,10,15],88:[1,2,5,7,10,15],1088:[1,1002,5,7,10,15],89:[1,3,5,10,15],1089:[1,3,1005,9,10,15],90:[1,3,9,10,15],1090:[1,3,9,10,1015],91:[1,2,3,10],1091:[1,2,3,1006,10],92:[2,3,4,10],1092:[2,3,4,1006,10],93:[2,5,10,15],1093:[1002,5,10,15],94:[5,6,15],1094:[1,3,1005,1006,8,15],95:[1,3,8,15],1095:[1,3,8,10,1015],96:[1,2,3,4,5,11],1096:[1001,2,3,4,5,11]},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]},upBassHorn:{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:[1,5,3],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:{72:[11,2,33,4,5,6,7,8],73:[11,2,33,4,5,6,7,88],74:[11,2,33,4,5,6,7],75:[11,2,33,4,5,6,77],76:[11,2,33,4,5,6],77:[11,2,33,4,5,7,8],78:[11,2,33,4,6,7],79:[11,2,33,4],80:[11,2,33,5,6,77],81:[11,2,33],82:[[11,2,4,5],[11,3,4,5]],83:[[11,2],[11,33,4]],84:[11,33],85:[[2,33],[11]],86:[33],87:[33,4,5,6,7],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]},smallDrum:{0:["active","active-left","active-right"],64:["left","right"]},hulusi:{59:[7,6,5,4,3,2,1],60:[7,6,5,4,3,2],61:[7,6,5,4,3],62:[7,6,5,4],63:[7,6,5],64:[7,6],65:[[7,5,4,3,2,1],[7,5,4,3,2],[7,66]],66:[7]},pan:{54:[21],56:[20],58:[19],60:[18],62:[17],64:[16],66:[15],68:[14],70:[13],72:[12],74:[11],76:[10],78:[9],80:[8],82:[7],84:[6],86:[5],88:[4],90:[3],92:[2],94:[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,8,9,10,11,12],60:[1,2,4,5,6,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,8,10,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,2,6,9,11,12],71:[1,6,9,11,12],72:[6,11,12],73:[2,6,12],74:[6,12],75:[2,6],76:[6],77:[]},melodica:{56:[1],57:[2],58:[3],59:[4],60:[5],61:[6],62:[7],63:[8],64:[9],65:[10],66:[11],67:[12],68:[13],69:[14],70:[15],71:[16],72:[17],73:[18],74:[19],75:[20],76:[21],77:[22],78:[23],79:[24],80:[25],81:[26],82:[27],83:[28],84:[29],85:[30],86:[31],87:[32]},ukulele:{60:[3,300],61:[3,301],62:[3,302],63:[3,303],64:[2,200],65:[2,201],66:[2,202],67:[2,203],68:[2,204],69:[1,100],70:[1,101],71:[1,102],72:[1,103],73:[1,104],74:[1,105],75:[1,106],76:[1,107],77:[1,108],78:[1,109],79:[1,110],80:[1,111],81:[1,112],82:[1,113],83:[1,114],84:[1,115],85:[1,116],86:[1,117]},mouthorgan:{53:[101],54:[1],55:[102],56:[2],57:[103],58:[3],59:[104],60:[105],61:[4],62:[106],63:[5],64:[107],65:[108],66:[6],67:[109],68:[7],69:[110],70:[8],71:[111],72:[112],73:[9],74:[113],75:[10],76:[114],77:[115],78:[11],79:[116],80:[12],81:[117],82:[13],83:[118],84:[119],85:[14],86:[120],87:[15],88:[121],89:[122]},piano:{21:[101],22:[1],23:[102],24:[103],25:[2],26:[104],27:[3],28:[105],29:[106],30:[4],31:[107],32:[5],33:[108],34:[6],35:[109],36:[110],37:[7],38:[111],39:[8],40:[112],41:[113],42:[9],43:[114],44:[10],45:[115],46:[11],47:[116],48:[117],49:[12],50:[118],51:[13],52:[119],53:[120],54:[14],55:[121],56:[15],57:[122],58:[16],59:[123],60:[124],61:[17],62:[125],63:[18],64:[126],65:[127],66:[19],67:[128],68:[20],69:[129],70:[21],71:[130],72:[131],73:[22],74:[132],75:[23],76:[133],77:[134],78:[24],79:[135],80:[25],81:[136],82:[26],83:[137],84:[138],85:[27],86:[139],87:[28],88:[140],89:[141],90:[29],91:[142],92:[30],93:[143],94:[31],95:[144],96:[145],97:[32],98:[146],99:[33],100:[147],101:[148],102:[34],103:[149],104:[35],105:[150],106:[36],107:[151],108:[152]}};var getTypes=async B=>{switch(B){case"flute":return{json:(await __vitePreload(()=>import("./index.9827614a.js"),[])).default,relationship:relationships.flute,height:"60px",styles:{}};case"clarinet":return{json:(await __vitePreload(()=>import("./index.81bcab95.js"),[])).default,relationship:relationships.clarinet,styles:{marginLeft:".4rem",marginRight:".7rem"}};case"trumpet":return{json:(await __vitePreload(()=>import("./index.562e6907.js"),[])).default,relationship:relationships.trumpet};case"horn":return{json:(await __vitePreload(()=>import("./index.677031cc.js"),[])).default,relationship:relationships.horn,height:"212px",width:"252px"};case"tuba":return{json:(await __vitePreload(()=>import("./index.5c50a9f0.js"),[])).default,relationship:relationships.tuba};case"piccolo":return{json:(await __vitePreload(()=>import("./index.f292a388.js"),[])).default,relationship:relationships.piccolo};case"up-bass-horn":return{json:(await __vitePreload(()=>import("./index.50d887bb.js"),[])).default,relationship:relationships.upBassHorn};case"trombone":return{json:(await __vitePreload(()=>import("./index.65d4cb1f.js"),[])).default,relationship:relationships.trombone};case"saxophone":return{json:(await __vitePreload(()=>import("./index.66139d6f.js"),[])).default,relationship:relationships.saxophone,styles:{marginLeft:".2rem",marginRight:".3rem"}};case"small-drum":return{json:(await __vitePreload(()=>import("./index.c980c934.js"),[])).default,relationship:relationships.smallDrum,width:"180px"};case"hulusi-flute":return{json:(await __vitePreload(()=>import("./index.1c832d4b.js"),[])).default,relationship:relationships.hulusi,styles:{marginLeft:".6rem",marginRight:".7rem"}};case"pan-flute":return{json:(await __vitePreload(()=>import("./index.065f17dc.js"),[])).default,relationship:relationships.pan,width:"240px",styles:{marginTop:"auto",marginLeft:".6rem",marginRight:".7rem"}};case"ocarina":return{json:(await __vitePreload(()=>import("./index.b1ee2f73.js"),[])).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"melodica":return{json:(await __vitePreload(()=>import("./index.150cabd9.js"),[])).default,relationship:relationships.melodica,height:"80px",styles:{marginTop:"auto"}};case"ukulele":return{json:(await __vitePreload(()=>import("./index.db14ec83.js"),[])).default,relationship:relationships.ukulele};case"mouthorgan":return{json:(await __vitePreload(()=>import("./index.3b668adc.js"),[])).default,relationship:relationships.mouthorgan};case"piano":return{json:(await __vitePreload(()=>import("./index.b7f1e2a7.js"),[])).default,relationship:relationships.piano};default:return null}};const container$4="_container_ajal8_1",changeIndex$1="_changeIndex_ajal8_6",activeopacity$1="_activeopacity_ajal8_1",leftrotates$1="_leftrotates_ajal8_1",rightrotates$1="_rightrotates_ajal8_1";var styles$d={container:container$4,changeIndex:changeIndex$1,activeopacity:activeopacity$1,leftrotates:leftrotates$1,rightrotates:rightrotates$1};const getImageSize=B=>new Promise((R,F)=>{const D=new Image;D.src=B,D.onload=()=>{R(D)},D.onerror=G=>R(D)}),formatFixedKey$1=(B,R)=>B==="piccolo"&&state$2.times[0]?ref(R+(1-state$2.times[0].octaveOffset)*12):ref(R),formatRelationship$1=(B,R)=>{let F=B[R]||B[0]||[];return typeof F[0]=="number"||typeof F[0]=="string"?[F]:typeof F[0]=="object"?F:[[]]},useFingeringSrc=(B,R,F)=>{const D=ref("");return B&&R==="trombone"&&!B.relationship[F]?(D.value=B.json.full2,D):(D.value=B.json.full,D)};var FingeringComponent=defineComponent({name:"fingering",props:{type:{type:String,default:""},fixedKey:{type:Number,default:0},fingeringInfo:{type:Object},loaded:{type:Function,default:()=>{}},viewInfo:{type:Object}},setup(B,{expose:R}){const F=toRefs(B),D=ref(null),G=ref(null),U=ref(0),W=ref(0);return R({container:D,containerWidth:U}),()=>{var K,J,ie,ne,se,re,ae,le,ce,he,de,me,fe,ge,Se;if(!((K=F.viewInfo.value)!=null&&K.activeType))return null;const q=formatFixedKey$1((J=B.fingeringInfo)==null?void 0:J.name,F.fixedKey.value).value,Y=formatRelationship$1((ne=(ie=F.viewInfo.value)==null?void 0:ie.activeType)==null?void 0:ne.relationship,q||0),Q=()=>{let Ee=W.value===Y.length-1?0:W.value+1;W.value=Ee},Z=Y[W.value]||[];return createVNode("div",{ref:D,class:classnames((se=B.fingeringInfo)==null?void 0:se.name,styles$d.container),style:{width:((re=B.fingeringInfo)==null?void 0:re.direction)==="vertical"?(ae=B.fingeringInfo)==null?void 0:ae.width:"",height:((le=B.fingeringInfo)==null?void 0:le.direction)==="transverse"?((ce=B.fingeringInfo)==null?void 0:ce.height)||"":"100%",display:"flex",paddingLeft:((he=B.fingeringInfo)==null?void 0:he.direction)==="vertical"?(de=B.fingeringInfo)==null?void 0:de.paddingLeft:"",paddingRight:((me=B.fingeringInfo)==null?void 0:me.direction)==="vertical"?(fe=B.fingeringInfo)==null?void 0:fe.paddingRight:""}},[Z.includes(0)?createVNode("span",{style:{position:"absolute",top:".5vh",right:".5vw",color:"rgb(1, 193, 181)",fontWeight:"bold"}},[createTextVNode("\u8F6C\u8C03")]):null,createVNode("img",{ref:G,src:(ge=F.viewInfo.value)==null?void 0:ge.fullsrc,style:{width:"auto",maxWidth:"100%",maxHeight:((Se=B.fingeringInfo)==null?void 0:Se.name)=="ukulele"?"110%":"100%"}},null),Z.map((Ee,ve)=>{var Pe,ye,Te,Le,we,Ae,Me,ke;const xe=typeof Ee=="string"?Ee.replace("active-",""):String(Ee);return createVNode("img",{"data-index":xe,style:{position:"absolute",top:((Pe=G.value)==null?void 0:Pe.offsetTop)+"px",left:((ye=G.value)==null?void 0:ye.offsetLeft)+"px",zIndex:ve,height:((Te=G.value)==null?void 0:Te.height)+"px",width:((Le=G.value)==null?void 0:Le.width)+"px",maxWidth:"100%",maxHeight:((we=B.fingeringInfo)==null?void 0:we.name)=="ukulele"?"110%":"100%"},src:(ke=(Me=(Ae=F.viewInfo.value)==null?void 0:Ae.activeType)==null?void 0:Me.json)==null?void 0:ke[xe]},null)}),Y.length>1?createVNode("div",{role:"button",onClick:Q,class:["substituteFinger",styles$d.changeIndex]},[createTextVNode("\u66FF\u6307")]):null])}}});const formatdata={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},subjectTypes={1:"SmallDrum",2:"Flute",3:"Saxophone",4:"Clarinet",5:"Trumpet",6:"Trombone",7:"Horn",8:"UpBassHorn",9:"Tuba"},getSubjectIdCode=B=>subjectTypes[B]||"";var formatId=B=>formatdata[B]||-1;const fingeringWidth$1=ref(0),fingeringStatus$1=ref("hidden"),fingeringViewInfo$1=async B=>{var F;const R=B;if(R){const D=await getTypes(R.name);if(D){const G=formatFixedKey$1(R.name,state$2.fixedKey),U=useFingeringSrc(D,R.name,G.value),{width:W,height:q}=await getImageSize(U.value),Y=((F=document.getElementById("colexiu-detail-music-sheet"))==null?void 0:F.clientHeight)||0,Q=state.evaluatingStatus?0:W,Z=Y/q;return fingeringWidth$1.value=Y?Z*Q:Q,W&&(fingeringStatus$1.value="show"),reactive({width:W,height:q,scale:Z,usedFixedKey:G.value,fullsrc:U.value,activeType:D,detail:R})}}else fingeringStatus$1.value="hidden"},useFingering=async(B="")=>{const R=ref({}),F=ref({}),D=await fingeringViewInfo$1(typeById[formatId(B)]);return R.value=(D==null?void 0:D.activeType)||{},F.value=(D==null?void 0:D.detail)||{},[fingeringStatus$1,fingeringWidth$1,R,F]},ee=new EventEmitter;let playStartTime=0;class MultipleAudio{constructor(R){this.audios={},this.audioList=[],this.length=0,this.status="init",this.speed=90,this.muted=!1,this.audio=null,this.event=ee,this.currentTime=0,this.duration=0,this.timer=null,this.accelerateRefreshPlayer=()=>{if(this.timer)return;const F=this.currentTime;let D=new Date().getTime();this.timer=setInterval(()=>{this.currentTime=(new Date().getTime()-D)/1e3+F,this.event.emit("timeupdate",this)},10)},this.clearAccelerateRefreshPlayer=()=>{clearInterval(this.timer),this.timer=null},this.setVolume=(F,D)=>{let G=setInterval(()=>{Object.values(this.audios).map(U=>{F?(U.volume-=.01,U.volume<=.01&&(U.volume=0,clearInterval(G),D&&D())):(U.volume+=.01,U.volume>=1&&(U.volume=1,clearInterval(G),D&&D())),console.log(U.volume)})},16.7)},this.setSongs(R)}async setSongs(R){this.audioList=R.filter(G=>!!G).map(G=>G),this.audio=null,this.event.removeAllListeners(),this.audios={};const F=R.filter(G=>!!G).map(async G=>({url:G})),D=await Promise.all(F);for(const G of D){const U=new Audio(G.url);U.load(),this.audios[G.url]=U,this.audio||(this.audio=U)}this.length=F.length,this.audio&&(this.audio.addEventListener("loadedmetadata",G=>{this.setDuration()}),this.audio.addEventListener("timeupdate",G=>{var W;this.currentTime=((W=this.audio)==null?void 0:W.currentTime)||0,this.event.emit("timeupdate",G);let U=!1;this.currentTime===this.duration&&!U&&(U=!0)})),R.length&&(this.status=this.getStatus()),this.event.on("allWaiting",()=>{this.hasWaitng()&&this.event.emit("waiting")}),this.event.on("allPlaying",()=>{this.hasWaitng()||this.event.emit("playing")}),this.syncEvent()}setDuration(R){var D;const F=Object.values(R||this.audios||{});if(F.length){const G=[];for(const W of F){const q=W.duration;q>0&&G.push(q)}const U=Math.floor(Math.max(...G)-Math.min(...G));U>=1&&console.log("\u8BE5\u6559\u7A0B\u539F\u97F3\u4E0E\u4F34\u594F\u65F6\u957F\u8D85\u8FC7"+U+"\u79D2\uFF0C\u8BF7\u4FEE\u6539\u540E\u4F7F\u7528"),this.duration=Math.min(...G),this.duration>0&&((D=this.event)==null||D.emit("loadedmetadata",null,this.duration))}}destroyed(){this.pause(),this.event.removeAllListeners(),this.audio=null,this.audios={}}hasWaitng(){let R=!1;for(const F of Object.values(this.audios))if(F.dataset.status==="waiting"){R=!0;break}return R}syncEvent(){let R=!1;const F=q=>{var Y;R=!1,this.event.emit("play",q),((Y=q.target)==null?void 0:Y.src)===this.audioList[0]&&(playStartTime=new Date().getTime())},D=async q=>{var Y;if(await this.pause(),this.event.emit("pause",q),((Y=q.target)==null?void 0:Y.src)===this.audioList[0]){const Q=new Date().getTime()-playStartTime;this.event.emit("updatePlayTime",Q/1e3)}},G=q=>{this.status==="play"&&(q.target.dataset.status="waiting"),this.event.emit("allWaiting")},U=q=>{q.target.dataset.status="",this.event.emit("allPlaying")},W=async q=>{R||(R=!0,await this.pause());for(const Y in this.audios)Object.prototype.hasOwnProperty.call(this.audios,Y)&&this.event.emit("ended",{target:this.audios[Y]})};for(const q of Object.values(this.audios))q.addEventListener("loadedmetadata",()=>this.setDuration(this.audios)),q.addEventListener("play",F),q.addEventListener("pause",D),q.addEventListener("waiting",G),q.addEventListener("playing",U),q.addEventListener("ended",W)}getStatus(){var R;return this.audio?(R=this.audio)!=null&&R.paused?"pause":"play":"init"}play(R){return this.getStatus()!=="play"?new Promise(F=>{setTimeout(()=>{new Date().getTime(),Object.values(this.audios).map(async(D,G)=>{await D.play()}),F(this.audios)},R||100)}):(this.status=this.getStatus(),Promise.resolve())}pause(){return this.status=this.getStatus(),Promise.all(Object.values(this.audios).map(async R=>await R.pause())).then(R=>(this.status=this.getStatus(),R))}setMute(R,F){F?this.audios[F]&&(this.audios[F].muted=R):(this.muted=R,Object.values(this.audios).map(D=>D.muted=R))}setSpeed(R,F){F?this.audios[F]&&(this.audios[F].playbackRate=R):(this.speed=R,Object.values(this.audios).map(D=>(D.playbackRate=R,D)))}setCurrentTime(R){this.currentTime=R,Object.values(this.audios).map(F=>F.currentTime=R)}toggleMute(R){R?this.audios[R]&&(this.audios[R].muted=!this.audios[R].muted):(Object.values(this.audios).map(F=>F.muted=!this.muted),this.muted=!this.muted)}async togglePlay(R){if(this.getStatus()==="pause")return await this.play(R);if(this.getStatus()==="play")return this.setMute(!0),await this.pause()}}const 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=(B,R)=>{var q;let F=0;const D=B.closest(R);let G=D;const U=D==null?void 0:D.closest("measure");let W=null;for(;!W&&F<((U==null?void 0:U.childNodes.length)||50);)F++,((q=G==null?void 0:G.nextElementSibling)==null?void 0:q.tagName)==="note"&&(W=G==null?void 0:G.nextElementSibling),G=G==null?void 0:G.nextElementSibling;return W},getGradualLengthByXml=B=>{var Z,K,J,ie;const R=onlyVisible(B,0),F=new DOMParser().parseFromString(R,"text/xml"),D=Array.from(F.querySelectorAll("measure")),G=Array.from(F.querySelectorAll("note")),U=Array.from(F.querySelectorAll("words")),W=Array.from(F.querySelectorAll("metronome")),q=[];for(const ne of[...U,...W]){const se=getNextNote(ne,"direction");if(se){const re=se==null?void 0:se.closest("measure"),ae=Array.from(re.querySelectorAll("note")),le=Array.from(re.childNodes).filter(de=>de.nodeName==="note").findIndex(de=>de===se);let ce=0,he=0;for(let de=0;de<ae.length;de++)ce+=+(((Z=ae[de].querySelector("duration"))==null?void 0:Z.textContent)||"0"),de<le&&(he=ce);q.push({ele:ne,index:G.indexOf(se),noteInMeasureIndex:le,textContent:ne.textContent,measureIndex:D.indexOf(re),type:ne.tagName,allDuration:ce,leftDuration:he})}}q.push({ele:G[G.length-1],index:G.length,noteInMeasureIndex:0,textContent:"",type:"metronome",allDuration:1,leftDuration:1,measureIndex:D.length});const Y=[];q.sort((ne,se)=>ne.index-se.index);const Q=Object.keys(speedInfo).map(ne=>ne.toLocaleLowerCase());for(const ne of q){let se=!1,re=0;const ae=(K=ne.textContent)==null?void 0:K.toLocaleLowerCase().trim();ne===q[q.length-1]&&((J=Y[Y.length-1])==null?void 0:J.length)===1&&(se=!0);const le=Q.find(ce=>{const he=ce.split(" ");return ae&&he.includes(ae)});if(ne.type==="metronome"||ne.type==="words"&&(ae.startsWith("a tempo")||le)||se){const ce=Y.findIndex(he=>he.length===1);ce>-1&&ne.index>((ie=Y[ce])==null?void 0:ie[0].start)&&(re=-1,Y[ce][1]={start:ne.index,measureIndex:ne.measureIndex,closedMeasureIndex:ne.measureIndex,noteInMeasureIndex:ne.noteInMeasureIndex,allDuration:ne.allDuration,leftDuration:ne.leftDuration,type:ae})}ne.type==="words"&&le&&Y.push([{start:ne.index,measureIndex:ne.measureIndex,closedMeasureIndex:ne.measureIndex+re,noteInMeasureIndex:ne.noteInMeasureIndex,allDuration:ne.allDuration,leftDuration:ne.leftDuration,type:ae}])}return Y},storeData=reactive({platformType:"STUDENT"}),musicInfo=reactive({id:"",audioFileUrl:"",musicId:"",musicSubject:"",musicSvg:"",speed:null,track:""});reactive({loading:"initail",mode:"exercise"});const search=useOriginSearch(),skpList=["Ukulele"],classids=[1,2,6,7,8,9,3,10,11,12,13,4,14,15,16,17,30,31,35,36,108],useXml=async(B,R)=>{const F=Number(search["part-index"])||0;let D=ref("");try{const G=await request$1$1(B),U=getCustomInfo(G);skpList.includes(U.code)?D.value=G:(D.value=formatXML(U.parsedXML,{title:R.musicSheetName}),D.value=onlyVisible(D.value,F),state$2.partIndex=F),state$2.gradual=getGradualLengthByXml(G)}catch{}return D},useMp3s=async B=>{var Z;const F=useOriginSearch()["part-index"]||0,D=(Z=B.background)==null?void 0:Z[F];if(Object.assign(musicInfo,D),musicInfo.musicSvg)try{musicInfo.musicSvg=typeof musicInfo.musicSvg=="string"&&musicInfo.musicSvg?JSON.parse(musicInfo.musicSvg):""}catch{}const G=encodeURI(B.metronomeUrl||""),U=encodeURI((D==null?void 0:D.audioFileUrl)||"");state.songs={background:G?G+"?t=background":"",music:U?U+"?t=music":""},state$2.isAppPlay=B.audioType==="MIDI",state$2.isPercussion=musicInfo.musicSubject=="1";let W={skipTick:!1,repeatedBeats:!1,scoreSize:"middle"},q={};state$2.activeDetail={...B,examSongId:B.id,originalSpeed:90,isAppPlay:B.audioType==="MIDI",extConfigJson:{...W}};try{q=JSON.parse((B==null?void 0:B.extConfigJson)||"")}catch{}state$2.activeDetail.extConfigJson={...state$2.activeDetail.extConfigJson,...q};const Y=state$2.activeDetail.extConfigJson.scoreSize,Q=store_legacy.get("zooms")||{};Y&&!Q[""+B.id]&&(store_legacy.set("zooms",{...Q,[""+B.id]:Y}),state$3.sett.scoreSize=Y),state$2.needTick=B.audioType==="MP3"&&B.mp3Type==="MP3"&&B.musicSheetType!="CONCERT"||B.audioType==="MIDI",state$2.skipTick=state$2.activeDetail.extConfigJson.skipTick,state$2.repeatedBeats=state$2.activeDetail.extConfigJson.repeatedBeats,state.songs.music||changeMode("background"),state.audiosInstance||(state.audiosInstance=new MultipleAudio(Object.values(state.songs)))},useSpecialShapedScreen=()=>{const B=ref(0);return postMessage$1({api:"isSpecialShapedScreen"},R=>{const F=R==null?void 0:R.content.notchHeight;state$2.notchHeight=(browser().ios?F*2:F)||((R==null?void 0:R.content.isSpecialShapedScreen)&&browser().ios?100:0),B.value=state$2.notchHeight,state$2.isSpecialShapedScreen=R==null?void 0:R.content.isSpecialShapedScreen,document.documentElement.style.setProperty("--popup-loading",state$2.notchHeight/4+"px")}),[B]},useDetail=B=>{const R=getRequestHostname(),F=ref("loading"),D=ref({});return F.value="loading",request.get(`/musicSheet/detail/${B}`,{prefix:R}).then(G=>{var W,q,Y,Q,Z,K,J,ie;useMp3s(G.data),D.value={...G.data,code:Array.isArray((W=G==null?void 0:G.data)==null?void 0:W.background)&&G.data.background.length?getSubjectIdCode(G.data.background[0].musicSubject):""},(D.value.notation==0||!sessionStorage.getItem("notation"))&&(state$3.sett.type="staff"),state$2.isSpecialBookCategory=!classids.includes(G.data.musicSheetCategoriesId),state$2.subjectId=Number(musicInfo.musicSubject),window.DYSubjectId=formatId(D.value.code),F.value="success";let U={gradualTimes:{}};try{(q=D.value)!=null&&q.extConfigJson&&(U={...U,...JSON.parse(D.value.extConfigJson)})}catch{}if(state$2.gradualTimes=U.gradualTimes,((Y=G==null?void 0:G.data)==null?void 0:Y.musicSheetType)=="CONCERT"){const ne=((Q=G==null?void 0:G.data)==null?void 0:Q.background)||[],se=Number(search["part-index"])||0;let re=(Z=ne[se])==null?void 0:Z.track;((J=(K=ne[0])==null?void 0:K.track)==null?void 0:J.toLocaleUpperCase())=="COMMON"&&(re=(ie=ne[se+1])==null?void 0:ie.track);const ae=getInstrumentName(re);console.log("\u{1F680} ~ track:",re),state$2.partName=re+(ae?`(${ae})`:"");const le=Object.keys(formatdata).filter(ce=>ce.includes(re)||re.includes(ce))[0];D.value.code=le}}).catch(()=>F.value="error"),[F,D]},useSuspendPlay=()=>{listenerMessage("suspendPlay",()=>{state$2.activeTick>-1&&stopTick(),console.log(state.playState),state.playState==="play"&&(resetPlayStatus(),state.evaluatingStatus&&evaluatStopPlay())})},useActivity=()=>{const B=ref(!0),R=ref(!1),F=ref(!1);try{const G=useOriginSearch().setting||{};G.mode==="EVALUATING"&&(F.value=!0,B.value=!1,R.value=!0),G.difficulty&&(state$3.eva.difficulty=G.difficulty),state$2.setting=G}catch(D){console.error("\u8BBE\u7F6E\u6D3B\u52A8\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u914D\u7F6E\u662F\u5426\u6B63\u786E"),console.error(D)}return{showFingering:B,frozenMode:R,compulsionEvaluating:F}};var event=new EventEmitter;const setEngravingRules=B=>{var R;B.EngravingRules.CompactMode=!0,B.EngravingRules.DYMinNoteWidth=3,B.EngravingRules.VoiceSpacingMultiplierVexflow=.65,B.EngravingRules.VoiceSpacingAddendVexflow=2,B.EngravingRules.MinSkyBottomDistBetweenStaves=2,B.EngravingRules.MinSkyBottomDistBetweenSystems=2,B.EngravingRules.MinimumStaffLineDistance=4,B.EngravingRules.BetweenStaffDistance=2.5,B.EngravingRules.StaffDistance=3.5,B.EngravingRules.MinimumDistanceBetweenSystems=1,B.EngravingRules.PageBottomMargin=0,B.EngravingRules.PageLeftMargin=2,B.EngravingRules.PageRightMargin=2,B.EngravingRules.PageTopMarginNarrow=3,B.EngravingRules.WedgeEndDistanceBetweenTimestampsFactor=1,B.EngravingRules.RehearsalMarkXOffset=-18,B.EngravingRules.RehearsalMarkYOffset=10,B.EngravingRules.DYWorkId=((R=state$2.activeDetail)==null?void 0:R.parentCategoriesId)||0},useEngravingRules=(B,R)=>{onMounted(()=>{setEngravingRules(B);for(const F in R)if(Object.prototype.hasOwnProperty.call(R,F)){let D=F;const G=R[D];B.EngravingRules[D]=G}})},useOsmd=(B,R,F={})=>{const D=ref();if(B.value){const G=new EngravingRules;for(const[U,W]of Object.entries(F))G[U]=W;D.value=new OpenSheetMusicDisplay(B.value,{followCursor:!1,autoResize:!0,drawSubtitle:!1,drawTitle:!1,autoBeam:!0,drawMetronomeMarks:!1,drawMeasureNumbers:!1,drawComposer:!1,drawLyricist:!1,...R},G)}return D},useOsmdLoader=async(B,R)=>{if(!R)throw"score is required";try{R&&B&&(await B.load(R),B.zoom=formatZoom(),await B.render())}catch{}},container$3="_container_5btb7_1",eyeProtection="_eyeProtection_5btb7_25";var styles$c={container:container$3,eyeProtection};const section="_section_fxysl_1",measure="_measure_fxysl_1",dontTransition="_dontTransition_fxysl_5",after="_after_fxysl_5",img$1="_img_fxysl_22",font="_font_fxysl_30",bad="_bad_fxysl_35",good="_good_fxysl_43",great="_great_fxysl_51",perfect="_perfect_fxysl_58",noteWrap="_noteWrap_fxysl_80",noteBase="_noteBase_fxysl_86",noteRight="_noteRight_fxysl_89",noteError="_noteError_fxysl_92",flash="_flash_fxysl_124",restFlag="_restFlag_fxysl_127",restFlagActive="_restFlagActive_fxysl_141",flicker="_flicker_fxysl_1";var styles$b={section,measure,dontTransition,after,img:img$1,font,bad,good,great,perfect,noteWrap,noteBase,noteRight,noteError,flash,restFlag,restFlagActive,flicker};const restPromptData=reactive({list:[]}),restPromptMain=B=>{calculateMergeRest(B)};function calculateMergeRest(B){var U,W,q,Y,Q,Z,K,J,ie;const R=[],F=document.querySelector("#osmdSvgPage1"),D=((U=F.getAttribute("viewBox"))==null?void 0:U.split(" "))||[];let G=Number(F.getAttribute("width"))/Number(D[2]);G=isNaN(G)?1:G;for(let ne=0;ne<B.length;ne++){const se=B[ne],re=((q=(W=se==null?void 0:se.noteElement)==null?void 0:W.sourceMeasure)==null?void 0:q.MeasureNumberXML)||-1,ae=((Q=(Y=se==null?void 0:se.noteElement)==null?void 0:Y.sourceMeasure)==null?void 0:Q.multipleRestMeasures)||0,le=((K=(Z=se==null?void 0:se.noteElement)==null?void 0:Z.sourceMeasure)==null?void 0:K.allRests)||!1;if(!R.find(he=>he.measureNumberXML===re)&&le&&ae>1){const he=getStaveBox((ie=(J=se==null?void 0:se.stave)==null?void 0:J.attrs)==null?void 0:ie.id,G);R.push({measureNumberXML:re,allRests:le,multipleRestMeasures:ae,staveBox:he})}}restPromptData.list=R}function getStaveBox(B,R){var D;if(!B)return{};const F=document.querySelector("#"+B);if(F){const G=(D=F==null?void 0:F.nextElementSibling)==null?void 0:D.getBBox();return{left:G.x*R+"px",top:G.y*R+"px",width:G.width*R+"px",height:G.height*R+"px"}}return{}}function _isSlot$1(B){return typeof B=="function"||Object.prototype.toString.call(B)==="[object Object]"&&!isVNode(B)}const sectionRef=ref(null),noteInfoItems=reactive({duration:!1,numerator:!1,denominator:!1,i:!1,time:!1,speed:!1});window.setNoteInfoItems=B=>{for(const R in B)Object.prototype.hasOwnProperty.call(B,R)&&(noteInfoItems[R]=B[R])};const uniqueByPosition=B=>{const R={};for(const F of B)F&&F.start_x&&(R[`${F.x}-${F.y}`]=F);return R};watchEffect(()=>{state$2.sectionStatus?state$2.section.length?state$2.section.length===1&&(Toast.clear(),Toast({duration:0,message:"\u8BF7\u9009\u62E9\u7ED3\u675F\u8282\u70B9",position:"top"})):(state$2.befireSection=null,Toast.clear(),Toast({duration:0,message:"\u8BF7\u9009\u62E9\u5F00\u59CB\u8282\u70B9",position:"top"})):(state$2.section=[],state$2.sectionBoundingBoxs=[],Toast.clear())});var Section=defineComponent({name:"section-box",props:{type:{type:String,default:"evaluating"},top:{type:Number,default:0},left:{type:Number,default:0}},data(){return{sectionTop:0,sectionLeft:0}},methods:{getBoundingBoxByNote(B,R){var G,U,W,q,Y,Q,Z,K,J,ie,ne;const F=(W=(U=(G=B.sourceMeasure)==null?void 0:G.verticalMeasureList)==null?void 0:U[0])==null?void 0:W.boundingBox;if(!F)return null;const D={...F.absolutePosition,...F.size,...R};return D.x=D.x*10,D.y=D.y*10,D.width=D.width*10,D.height=D.height*10,(Z=(Q=(Y=(q=B==null?void 0:B.sourceMeasure)==null?void 0:q.verticalMeasureList)==null?void 0:Y[0])==null?void 0:Q.stave)!=null&&Z.height&&(D.height=(ne=(ie=(J=(K=B.sourceMeasure)==null?void 0:K.verticalMeasureList)==null?void 0:J[0])==null?void 0:ie.stave)==null?void 0:ne.height),D},setSettionBackground(){state$2.sectionBoundingBoxs=[];const[B,R]=state$2.section.sort((U,W)=>U.i-W.i),F=Math.abs(R.i-B.i)+1;R.noteLength;const D=[],G=[];for(let U=0;U<F;U++){const W=U+B.i,Y=state$2.times[W].noteElement,Q=Y.sourceMeasure.measureListIndex;if(!D.includes(Q)){D.push(Q);const Z=this.getBoundingBoxByNote(Y);Z&&(state$2.sectionBoundingBoxs.push(Z),G.push(Z.height))}}state$2.sectionBoundingBoxs.map(U=>(U.height=Math.max(...G),U))},setSection(B){const R=getActtiveNoteByTimes(B);if(R&&state$2.section.length<2){const F=state$2.section.length;if(F===0){const D=getNoteBySlursStart(R,!0);state$2.section.push(state$2.times[D.i-D.si])}if(F===1){const D=getNoteBySlursStart(R,!0,"end");state$2.section.push(state$2.times[D.i-D.si+D.noteLength-1])}}state$2.section.length===2&&(Toast.clear(),this.setSettionBackground())},sectionClick(B){if(state$2.sectionStatus)this.setSection(B);else{if(state$2.mode!=="contact"||state.evaluatingStatus)return;event.emit("section-click",B)}},filterTimes(B){const R=[];return B.filter(F=>{const D=R.includes(F.id);return R.push(F.id),!D})}},mounted(){var B,R;Toast.clear(),state$2.section=[],this.sectionTop=(B=sectionRef.value)==null?void 0:B.getBoundingClientRect().top,this.sectionLeft=(R=sectionRef.value)==null?void 0:R.getBoundingClientRect().left},beforeUnmount(){Toast.clear(),state$2.sectionStatus=!1,state$2.section=[]},render(){var W,q,Y;let B;const R=state$3.sett.eyeProtection?"var(--eye-section-border-color)":"var(--section-border-color)",F=Q=>state$3.sett.eyeProtection?Q.before?"var(--section-background-color)":"var(--eye-section-background-color)":Q.before?"var(--eye-section-background-color)":"var(--section-background-color)",D=((Y=(q=(W=state$2.times[state.activeIndex])==null?void 0:W.noteElement)==null?void 0:q.sourceMeasure)==null?void 0:Y.MeasureNumberXML)||-2,G=restPromptData.list.find(Q=>{const Z=D-Q.measureNumberXML;return Q.allRests&&Z>=0&&Z<Q.multipleRestMeasures}),U=G?D-G.measureNumberXML+1:0;return createVNode("div",{class:styles$b.section,ref:sectionRef},[this.filterTimes(state$2.times).map(Q=>{var re,ae,le,ce,he,de,me,fe,ge,Se,Ee,ve,xe;if(!Q.svgElelent)return null;let Z;try{Z=Q.svgElelent.bbox||((ae=(re=Q.svgElelent).getBoundingBox)==null?void 0:ae.call(re)),!Z&&((ce=(le=Q.svgElelent)==null?void 0:le.attrs)==null?void 0:ce.el)&&(Z=Q.svgElelent.attrs.el.getBBox(),Z.w=Z.width<15?15:Z.width,Z.h=Z.height<11?11:Z.height)}catch(Pe){console.log(Pe)}if(!Z)return null;state$3.sett.type==="jianpu"&&Q.svgElelent&&Q.svgElelent.top_y&&Q.svgElelent.note_height&&(Z.y=Q.svgElelent.top_y-Q.svgElelent.note_height);let{x:K,y:J,h:ie,w:ne}=Z,se=null;return Q.si===0&&(se=this.getBoundingBoxByNote(Q.noteElement)),createVNode(Fragment,null,[Q.si===0&&se&&createVNode("div",{"data-id":Q.id,"data-num":Q.noteElement.sourceMeasure.MeasureNumberXML,style:{position:"absolute",top:formatZoom(se.y)+"px",left:formatZoom(se.x)+"px",height:formatZoom(se.height)+"px",width:formatZoom(se.width)+"px",background:unitTestData.isSelectMeasureMode&&state$2.sectionStatus?`${((de=(he=Q==null?void 0:Q.noteElement)==null?void 0:he.sourceMeasure)==null?void 0:de.MeasureNumberXML)<((ge=(fe=(me=state$2.section[0])==null?void 0:me.noteElement)==null?void 0:fe.sourceMeasure)==null?void 0:ge.MeasureNumberXML)||((Ee=(Se=Q==null?void 0:Q.noteElement)==null?void 0:Se.sourceMeasure)==null?void 0:Ee.MeasureNumberXML)>((xe=(ve=state$2.section[1])==null?void 0:ve.noteElement)==null?void 0:xe.sourceMeasure.MeasureNumberXML)?"rgba(0, 0, 0,.28)":"var(--section-background-color)"}`:""},onClick:state$2.sectionStatus?this.sectionClick:void 0},null),createVNode("div",{"data-id":Q.id,"data-vf":"vf"+Q.id,class:styles$b.noteWrap,style:{position:"absolute",top:formatZoom(J)+"px",left:formatZoom(K)+"px",height:formatZoom(ie)+"px",width:formatZoom(ne)+"px",background:Object.values(noteInfoItems).find(Pe=>Pe===!0)?"rgba(255, 255, 255, 0.8)":""},onClick:this.sectionClick},[noteInfoItems.duration&&createVNode(Fragment,null,[parseInt(Q.duration*100+"")/100,createVNode("br",null,null)]),noteInfoItems.time&&createVNode(Fragment,null,[Q.time.toFixed(2),createVNode("br",null,null)]),noteInfoItems.numerator&&createVNode(Fragment,null,[Q.noteElement.sourceMeasure.activeTimeSignature.numerator,createVNode("br",null,null),createVNode("br",null,null)]),noteInfoItems.denominator&&createVNode(Fragment,null,[Q.noteElement.sourceMeasure.activeTimeSignature.denominator,createVNode("br",null,null),createVNode("br",null,null)]),noteInfoItems.i&&createVNode(Fragment,null,[Q.i,createVNode("br",null,null),createVNode("br",null,null)]),noteInfoItems.speed&&createVNode(Fragment,null,[Q.speed.toFixed(0),createVNode("br",null,null),createVNode("br",null,null)]),createVNode("div",{class:[styles$b.noteBase,styles$b.noteRight]},[createVNode(Icon,{name:"success",size:"16",color:"var(--primary-color)"},null)]),createVNode("div",{class:[styles$b.noteBase,styles$b.noteError]},[createVNode(Icon,{name:"cross",size:"16",color:"red"},null)])])])}),state$2.section.map((Q,Z)=>{var ie;const K=getBoundingBoxByverticalNote(Q);let J;try{const ne=Q.svgElelent.bbox||((ie=Q.svgElelent)==null?void 0:ie.getBoundingBox());J=formatZoom((ne==null?void 0:ne.x)||(Z===0?K.start_x:K.end_x))}catch(ne){console.log(ne)}return J?Z===0&&K?createVNode("div",{style:{position:"absolute",top:formatZoom(K.y)-5+"px",left:formatZoom(K.x)+"px",height:formatZoom(K.height)+"px",border:`5px solid ${R}`,borderColor:`${R} transparent ${R} ${R}`,borderRight:"none",width:"5px"}},null):Z===1&&K?createVNode("div",{style:{position:"absolute",top:formatZoom(K.y-5)+"px",left:formatZoom(K.end_x)+"px",height:formatZoom(K.height)+"px",border:`5px solid ${R}`,borderColor:`${R} ${R} ${R} transparent`,borderLeft:"none",width:"5px"}},null):null:null}),state$2.sectionBoundingBoxs.map(Q=>{var Z;return createVNode("div",{class:{[styles$b.flash]:Q.before&&state$2.sectionFlash&&state.playState==="play"},style:{position:"absolute",top:formatZoom(Q.y)+"px",left:formatZoom(Q.x)+"px",height:formatZoom((Z=getBoundingBoxByverticalNote(state$2.section[0]))==null?void 0:Z.height)+"px",width:formatZoom(Q.width)+"px",backgroundColor:F(Q)}},null)}),createVNode(TransitionGroup,{name:"list",duration:800},_isSlot$1(B=Object.values(uniqueByPosition(Object.values(state$2.evaluatings))).map(Q=>Q?createVNode("div",{key:Q.y+Q.x+Q.text,class:classnames(styles$b[Q.text],styles$b.measure,{[styles$b.dontTransition]:Q.dontTransition}),style:{position:"absolute",top:formatZoom(Q.y)+this.top+"px",left:formatZoom(Q.x)+this.left+"px",height:formatZoom(Q.height)+"px",width:formatZoom(Q.width)+"px"}},[this.type==="evaluating"?createVNode("span",{class:styles$b.after},[createVNode("span",{class:styles$b.img},null),createVNode("span",{class:styles$b.font},[Q.score])]):null]):createVNode("span",null,null)))?B:{default:()=>[B]}),G&&createVNode("div",{class:["dotWrap",styles$b.restMeasure],style:G.staveBox},[createVNode("div",{class:"dot"},[U])])])}});class Cursor{constructor(R){this.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAABCAYAAAASC7TOAAAAAXNSR0IArs4c6QAAABdJREFUGFdj3Pp5c0Ptm2oGdNAs0soAAHslBd3n2kNUAAAAAElFTkSuQmCC",this.x=R.x,this.y=R.y,this.width=R.w,this.height=R.h,this.img=document.createElement("img"),this.img.src=this.src,this.img.style.position="absolute",this.img.style.zIndex="-1",this.setValue()}reset(){var F,D;const R=(D=(F=state$2.times)==null?void 0:F[0])==null?void 0:D.cursorBox;R&&this.setPosition(R)}show(){this.img.style.display=""}hide(){this.img.style.display="none"}setPosition({x:R,y:F,w:D,h:G}){this.x=R,this.y=F,this.width=D,this.height=G,this.setValue()}setValue(){this.img.style.left=this.x+"px",this.img.style.top=this.y+"px",this.img.style.width=this.width+"px",this.img.style.height=this.height+"px",this.show()}}const rendered=ref(!1);var MusicSheet=defineComponent({name:"music-score",props:{isSoundEffect:{type:Boolean,default:!1},score:{type:String,default:""},showPartNames:{type:Boolean,default:!1},opotions:{type:Object,default:()=>{}},EngravingRules:{type:Object,default:()=>{}},showSection:{type:Boolean,default:!0}},emits:["rerender","startRender","renderError","loaddingEnd"],setup(B,{emit:R,expose:F}){const D=async le=>{var he;event.off("section-click",noteClick),R("startRender");const ce=await request$1$1.get(le);if(Z.value){let de=document.createElement("div");de.innerHTML=ce,(he=Z.value)==null||he.appendChild(de.firstElementChild);let me=document.querySelector("#osmdSvgPage1");const fe=document.getElementById("svgContainer");let ge=me==null?void 0:me.getAttribute("width"),Se=me==null?void 0:me.getAttribute("height");if(ge=isNaN(Number(ge))?0:Number(ge),Se=isNaN(Number(Se))?0:Number(Se),ge&&Se){let Ee=Se/ge,ve=(fe==null?void 0:fe.offsetWidth)||document.body.clientWidth;state$2.zoom=ve/ge,me==null||me.setAttribute("width",ve),me==null||me.setAttribute("height",ve*Ee+"")}}},G=le=>{var ce,he,de,me,fe,ge,Se,Ee,ve,xe;for(let Pe=0;Pe<le.length;Pe++){const ye=le[Pe];(ce=ye==null?void 0:ye.svgElelent)!=null&&ce.bbox&&(ye.svgElelent.bbox.x*=state$2.zoom,ye.svgElelent.bbox.y*=state$2.zoom,ye.svgElelent.bbox.w*=state$2.zoom,ye.svgElelent.bbox.h*=state$2.zoom),(fe=(me=(de=(he=ye.noteElement)==null?void 0:he.sourceMeasure)==null?void 0:de.verticalMeasureList)==null?void 0:me[0])!=null&&fe.boundingBox&&(ye.noteElement.sourceMeasure.verticalMeasureList[0].boundingBox.absolutePosition.x*=state$2.zoom,ye.noteElement.sourceMeasure.verticalMeasureList[0].boundingBox.absolutePosition.y*=state$2.zoom,ye.noteElement.sourceMeasure.verticalMeasureList[0].boundingBox.size.width*=state$2.zoom,ye.noteElement.sourceMeasure.verticalMeasureList[0].boundingBox.size.height*=state$2.zoom),(ve=(Ee=(Se=(ge=ye.noteElement)==null?void 0:ge.sourceMeasure)==null?void 0:Se.verticalMeasureList)==null?void 0:Ee[0])!=null&&ve.stave&&(ye.noteElement.sourceMeasure.verticalMeasureList[0].stave.x*=state$2.zoom,ye.noteElement.sourceMeasure.verticalMeasureList[0].stave.y*=state$2.zoom,ye.noteElement.sourceMeasure.verticalMeasureList[0].stave.width*=state$2.zoom,ye.noteElement.sourceMeasure.verticalMeasureList[0].stave.height*=state$2.zoom,ye.noteElement.sourceMeasure.verticalMeasureList[0].stave.start_x*=state$2.zoom,ye.noteElement.sourceMeasure.verticalMeasureList[0].stave.end_x*=state$2.zoom),(xe=ye==null?void 0:ye.cursorBox)!=null&&xe.move&&(ye.cursorBox.x*=state$2.zoom,ye.cursorBox.y=ye.cursorBox.y*state$2.zoom+10,ye.cursorBox.w*=state$2.zoom,ye.cursorBox.h*=state$2.zoom)}return le},U=async le=>{var he,de,me,fe,ge,Se,Ee;const ce=await request$1$1.get(le);state$3.sett.scoreSize=((he=ce==null?void 0:ce.osmd)==null?void 0:he.scoreSize)||"middle",ce&&Array.isArray(ce.times)&&(state$2.times=G(ce.times),(fe=(me=(de=state$2.times)==null?void 0:de[0])==null?void 0:me.cursorBox)!=null&&fe.move&&(ce.osmd.cursor=new Cursor({...(Se=(ge=state$2.times)==null?void 0:ge[0])==null?void 0:Se.cursorBox}),(Ee=Z.value)==null||Ee.appendChild(ce.osmd.cursor.img)),state$2.renderType="cache",R("rerender",ce.osmd),state.isFirstPlay=!1,event.on("section-click",noteClick))},{EngravingRules:W,opotions:q,showPartNames:Y,score:Q}=toRefs(B),Z=ref();let K=ref();const J=()=>{event.off("section-click",noteClick),R("startRender"),K.value=useOsmd(Z,{...q.value,drawPartNames:Y.value},W.value).value,K.value&&(useEngravingRules(K.value,W.value),state.isFirstPlay=!1,event.on("section-click",noteClick))},ie=ref(),ne=async le=>{await D(le.svg),U(le.json)};onMounted(async()=>{rendered.value||J()}),onUnmounted(()=>{event.off("section-click",noteClick)}),watch([Q,K],async()=>{if(K&&K.value&&Q.value)try{R("startRender"),await useOsmdLoader(K.value,Q.value),R("rerender",K.value),event.emit("loaded"),se()}catch(le){console.error(le),R("renderError")}},{immediate:!0});const se=()=>{};return F({setRender:async({score:le}={})=>{const ce=le||Q.value;setTimeout(async()=>{if(K&&K.value&&ce){await K.value.clear(),J();try{state$2.section=[],state$2.sectionStatus=!1,await useOsmdLoader(K.value,ce),R("rerender",K.value),event.emit("loaded"),se()}catch(he){console.error(he),R("renderError")}}},100)},reRender:async()=>{var le;state$2.renderType=="native"?((le=K.value)==null||le.render(),state$2.times=getAllNodes(K.value)):(Z.value&&(Z.value.innerHTML=""),ne(ie.value))}}),()=>createVNode("div",{id:"svgContainer",class:styles$c.container,style:{position:"relative"}},[createVNode("div",{ref:Z},null),B.showSection&&createVNode(Section,{style:{position:"absolute",width:"100%",height:"100%",zIndex:1,top:0,left:0}},null)])}}),ButtonsPlayer=defineComponent({name:"ButtonsPlayer",setup(){useWiredHeadsetCheck();const B=()=>{state$2.activeTick>-1||(setCurrentTime(0),ended(new Event("ended")))},R=Math.floor(2*Math.PI*16),F=D=>{var G;((G=D==null?void 0:D.data)==null?void 0:G.api)==="setPlayState"&&(console.log("\u7236\u9875\u9762\u7684\u5207\u6362\u4E8B\u4EF6\u5173\u95ED\u64AD\u653E"),state.playState=="play"&&setPlayState(),stopTick(),setCurrentTime(0),setTimeout(()=>{state.playState=="play"&&setPlayState()},300))};return onMounted(()=>{window.addEventListener("message",F)}),onUnmounted(()=>{window.removeEventListener("message",F)}),()=>{const D=state.currentTimeNum/state.durationNum*R;return createVNode(Teleport,{to:"body"},{default:()=>{var G;return[createVNode("div",{style:state$2.chenkuang?{top:0,left:"0",right:"initial",bottom:"initial"}:"",class:styles$k.player,id:"globalPlayer"},[!state.evaluatingStatus&&createVNode(Fragment,null,[(state.playState==="pause"||state.playState==="suspend")&&state.currentTimeNum>0&&!state$2.sectionStatus&&createVNode(Button,{class:[styles$k.button,styles$k.fullbtn],onClick:B},{default:()=>[createVNode(ButtonIcon,{key:"reset",name:"reset"},null)]}),createVNode(Button,{class:[styles$k.button,styles$k.fullbtn],style:{marginLeft:"14px"},disabled:((G=state$2.activeDetail)==null?void 0:G.isAppPlay)&&state$2.midiPlayIniting,onClick:()=>{setPlayState()}},{default:()=>[createVNode("div",{class:styles$k.schedule},[createVNode("div",{class:styles$k.schedule},[state.playState==="play"?createVNode(ButtonIcon,{key:"pause",name:"pause",onClick:()=>{console.log("\u6682\u505C\u64AD\u653E"),sendParentMessage("pause")}},null):createVNode(ButtonIcon,{key:"play",name:"play",onClick:()=>{console.log("\u5F00\u59CB\u64AD\u653E"),sendParentMessage("play")}},null),state.currentTimeNum>0&&!state$2.sectionStatus&&createVNode("svg",{class:styles$k.ring,width:"40",height:"40",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/200/svg"},[createVNode("circle",{cx:"20",cy:"20",r:"16",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round"},null),createVNode("circle",{class:styles$k.fillring,cx:"20",cy:"20",r:"16",fill:"none",stroke:"#FFC459","stroke-width":"2","stroke-linecap":"round","stroke-dasharray":D+",10000"},null)])])])]})])])]}})}}});const popup="_popup_6gl7n_1",wrap$2="_wrap_6gl7n_6",image="_image_6gl7n_11",title$1="_title_6gl7n_16",andTitle="_andTitle_6gl7n_23",sub="_sub_6gl7n_26",andSub="_andSub_6gl7n_32",btnWrap="_btnWrap_6gl7n_35",btn$1="_btn_6gl7n_35",cancelBtn="_cancelBtn_6gl7n_49",confirmBtn="_confirmBtn_6gl7n_52",tryoutBtn="_tryoutBtn_6gl7n_55",discounts="_discounts_6gl7n_58",membershipBtn="_membershipBtn_6gl7n_74",demandBtn="_demandBtn_6gl7n_77",demandBtnFree="_demandBtnFree_6gl7n_80",earphoneBtn="_earphoneBtn_6gl7n_83",closeBtn="_closeBtn_6gl7n_86";var styles$a={popup,wrap:wrap$2,image,title:title$1,andTitle,sub,andSub,btnWrap,btn:btn$1,cancelBtn,confirmBtn,tryoutBtn,discounts,membershipBtn,demandBtn,demandBtnFree,earphoneBtn,closeBtn},iconMicrophone="/orchestra-music-score/assets/microphone.7e50c915.svg",Microphone=defineComponent({name:"ColexiuMicrophone",setup(B,{expose:R}){return()=>createVNode("div",null,[createVNode("img",{class:styles$a.image,src:iconMicrophone},null),createVNode("div",{class:styles$a.wrap},[createVNode("div",{class:styles$a.des},[createVNode("div",{class:styles$a.title},[createTextVNode("\u5F00\u542F\u6743\u9650")]),createVNode("div",{class:styles$a.sub},[createTextVNode("\u8BF7\u5F00\u542F\u9EA6\u514B\u98CE\u8BBF\u95EE\u6743\u9650")])]),createVNode("div",{class:styles$a.btnWrap},[createVNode(Button,{class:classnames(styles$a.btn,styles$a.cancelBtn)},null),createVNode(Button,{class:classnames(styles$a.btn,styles$a.confirmBtn)},null)])])])}}),iconCamera="/orchestra-music-score/assets/camera.ad45a2ea.svg",Camera=defineComponent({name:"ColexiuMicrophone",setup(B,{expose:R}){return()=>createVNode("div",null,[createVNode("img",{class:styles$a.image,src:iconCamera},null),createVNode("div",{class:styles$a.wrap},[createVNode("div",{class:styles$a.des},[createVNode("div",{class:styles$a.title},[createTextVNode("\u5F00\u542F\u6743\u9650")]),createVNode("div",{class:styles$a.sub},[createTextVNode("\u8BF7\u5F00\u542F\u76F8\u673A\u8BBF\u95EE\u6743\u9650")])]),createVNode("div",{class:styles$a.btnWrap},[createVNode(Button,{class:classnames(styles$a.btn,styles$a.cancelBtn)},null),createVNode(Button,{class:classnames(styles$a.btn,styles$a.confirmBtn)},null)])])])}}),iconMembership="/orchestra-music-score/assets/membership.78b7ec9a.png",Member=defineComponent({name:"ColexiuMember",setup(){const B=useOriginSearch(),R=useClientType(),F=()=>{delete B.Authorization,postMessage$1({api:"openWebView",content:{url:location.origin+"/"+R+"/#/memberCenter?"+queryString.stringify({...B}),orientation:1}})},D=()=>{permissionPopup.show=!1,setCurrentTime(0),refreshIndex(0)};return()=>createVNode("div",null,[createVNode("img",{class:styles$a.image,src:iconMembership},null),createVNode("div",{class:styles$a.wrap},[createVNode("div",{class:styles$a.des},[createVNode("div",{class:styles$a.title},[createTextVNode("\u8BF7\u5F00\u901A\u4F1A\u5458")]),createVNode("div",{class:styles$a.sub},[createTextVNode("\u5F00\u901A\u4F1A\u5458\u540E\u53EF\u5B8C\u6574\u4F7F\u7528\u8BE5\u66F2\u76EE")])]),createVNode("div",{class:styles$a.btnWrap},[createVNode(Button,{class:classnames(styles$a.btn,styles$a.tryoutBtn),onClick:D},null),createVNode(Button,{class:classnames([styles$a.btn,styles$a.membershipBtn,{[styles$a.discounts]:B.discounts==1}]),onClick:F},null)])])])}}),iconDemand="/orchestra-music-score/assets/demand.14944949.svg";ref(!1);var Demand=defineComponent({name:"ColexiuDemand",setup(){const B=useOriginSearch(),R=useClientType(),F=async()=>{delete B.Authorization,postMessage$1({api:"openWebView",content:{url:location.origin+"/"+R+"/#/orderDetail?"+queryString.stringify({orderType:"MUSIC",...B}),orientation:1}})},D=()=>{permissionPopup.show=!1,setCurrentTime(0),refreshIndex(0)};return()=>{var G;return createVNode("div",{style:{position:"relative"}},[createVNode("img",{class:styles$a.image,src:iconDemand},null),createVNode("div",{class:styles$a.wrap},[createVNode("div",{class:styles$a.des},[createVNode("div",{class:styles$a.title},[createTextVNode("\u8BE5\u66F2\u76EE\u4E3A\u70B9\u64AD\u66F2\u76EE")]),createVNode("div",{class:styles$a.sub},[createTextVNode("\u70B9\u64AD\u4EF7\u683C "),createVNode("span",{style:{color:"#FF4E19"}},[createTextVNode("\xA5"),(G=state$2.activeDetail)==null?void 0:G.musicPrice]),createTextVNode("\uFF0C\u70B9\u64AD\u540E\u53EF\u6C38\u4E45\u4F7F\u7528")])]),createVNode("div",{class:styles$a.btnWrap},[createVNode(Button,{class:classnames(styles$a.btn,styles$a.tryoutBtn),onClick:D},null),createVNode(Button,{class:classnames(styles$a.btn,styles$a.demandBtn),onClick:F},null)])])])}}}),iconEarphone="/orchestra-music-score/assets/earphone.47c00320.png",Earphone=defineComponent({name:"ColexiuEarphone",setup(){return()=>createVNode("div",null,[createVNode("img",{class:styles$a.image,src:iconEarphone},null),createVNode("div",{class:styles$a.wrap},[createVNode("div",{class:styles$a.des},[createVNode("div",{class:styles$a.title},[createTextVNode("\u8BF7\u4F69\u6234\u8033\u673A")]),createVNode("div",{class:styles$a.sub},[createTextVNode("\u4F69\u6234\u8033\u673A\u53EF\u4EE5\u4FDD\u8BC1\u6D4B\u8BC4\u51C6\u786E\u7387\u54E6\uFF5E")])]),createVNode("div",{class:styles$a.btnWrap},[createVNode(Button,{class:classnames(styles$a.btn,styles$a.earphoneBtn),onClick:()=>{permissionPopup.show=!1}},null)])])])}});ref(!1);var MemberAndDemand=defineComponent({name:"memberAndDemand",setup(){const B=useOriginSearch(),R=useClientType(),F=async()=>{delete B.Authorization,postMessage$1({api:"openWebView",content:{url:location.origin+"/"+R+"/#/orderDetail?"+queryString.stringify({orderType:"MUSIC",...B}),orientation:1}})},D=()=>{delete B.Authorization,postMessage$1({api:"openWebView",content:{url:location.origin+"/"+R+"/#/memberCenter",orientation:1}})},G=()=>{permissionPopup.show=!1,setCurrentTime(0),refreshIndex(0)};return()=>{var U;return createVNode("div",{style:{position:"relative"}},[createVNode("img",{class:styles$a.closeBtn,src:iconColse,onClick:G},null),createVNode("img",{class:styles$a.image,src:iconDemand},null),createVNode("div",{class:styles$a.wrap},[createVNode("div",{class:styles$a.des},[createVNode("div",{class:[styles$a.title,styles$a.andTitle]},[createTextVNode("\u8BE5\u66F2\u76EE\u4E3A\u4F1A\u5458\u66F2\u76EE\uFF0C\u53EF\u4EE5\u5355\u66F2\u8D2D\u4E70\u54E6")]),createVNode("div",{class:[styles$a.sub,styles$a.andSub]},[createTextVNode("\u5F00\u901A\u9177\u4E50\u79C0\u4F1A\u5458\u6D77\u91CF\u66F2\u76EE\u5C3D\u60C5\u7EC3\u4E60"),createVNode("br",null,null),createTextVNode("\u5355\u66F2\u70B9\u64AD\u4EC5\u9700 "),createVNode("span",{style:{color:"#FF4E19"}},[createTextVNode("\xA5"),(U=state$2.activeDetail)==null?void 0:U.musicPrice]),createTextVNode("\uFF0C\u70B9\u64AD\u540E\u53EF\u6C38\u4E45\u4F7F\u7528")])]),createVNode("div",{class:styles$a.btnWrap},[createVNode(Button,{class:classnames(styles$a.btn,styles$a.membershipBtn),onClick:D},null),createVNode(Button,{class:classnames(styles$a.btn,styles$a.demandBtn),onClick:F},null)])])])}}}),Permission=defineComponent({name:"ColexiuPermission",setup(B,{expose:R}){return R({toggle:()=>{permissionPopup.show=!permissionPopup.show}}),()=>createVNode(Popup,{class:styles$a.popup,show:permissionPopup.show,"onUpdate:show":D=>permissionPopup.show=D,teleport:"body",onClosed:()=>{setCurrentTime(0)}},{default:()=>[permissionPopup.active==="microphone"?createVNode(Microphone,null,null):permissionPopup.active==="camera"?createVNode(Camera,null,null):permissionPopup.active==="member"?createVNode(Member,null,null):permissionPopup.active==="demand"?createVNode(Demand,null,null):permissionPopup.active==="earphone"?createVNode(Earphone,null,null):permissionPopup.active==="memberAndDemand"?createVNode(MemberAndDemand,null,null):null]})}}),ErrorIcon="/orchestra-music-score/assets/error.4d7eb6c9.svg",Empty=defineComponent({name:"ColexiuEmpty",props:{description:{type:String,default:"\u7F51\u7EDC\u9519\u8BEF"},imageSize:{type:Number,default:200},image:{type:String,default:ErrorIcon}},setup(B,{slots:R}){const F=()=>postMessage$1({api:"back"}),{image:D,imageSize:G,description:U}=toRefs(B);return()=>createVNode(Empty$1,{image:D.value,imageSize:G.value,description:U.value},{default:()=>[R.default?R.default():createVNode(Button,{type:"primary",onClick:F},{default:()=>[createTextVNode("\u8FD4\u56DE")]})]})}});const item$1="_item_6tre7_1",tag="_tag_6tre7_23",tabs="_tabs_6tre7_60",list="_list_6tre7_105",tab="_tab_6tre7_60";var styles$9={item:item$1,tag,tabs,list,tab};const chargeType={VIP:"\u4F1A\u5458",CHARGE:"\u70B9\u64AD",FREE:"\u514D\u8D39"},SwitchTag=defineComponent({name:"SwitchTag",props:{type:String},setup(B){return()=>createVNode(Tag,{plain:!0,class:[styles$9.tag,B.type,"van-hairline--surround"]},{default:()=>[chargeType[B.type]]})}});var Item=defineComponent({name:"MusicList-MusicScore-Item",props:{item:{type:Object}},setup(B){const R=useOriginSearch(),F=sessionStorage.getItem("behaviorId")||""+new Date().valueOf(),D=()=>{var G;pause(),postMessage$1({api:"cloudDestroy"}),postMessage$1({api:"cloudLoading",content:{show:!0,type:"fullscreen"}}),location.href=location.origin+location.pathname+"?"+queryString.stringify({...R,behaviorId:F,id:(G=B.item)==null?void 0:G.id,_t:new Date().valueOf()})};return()=>{var G,U,W;return createVNode("div",{class:[styles$9.item,{active:((G=B.item)==null?void 0:G.id)==R.id}],onClick:()=>D()},[createVNode("div",{style:{display:"flex"}},[(((U=B.item)==null?void 0:U.paymentType)||"").split(",").map(q=>createVNode(SwitchTag,{key:q,type:q},null))]),createVNode("p",null,[(W=B.item)==null?void 0:W.musicSheetName])])}}});function _isSlot(B){return typeof B=="function"||Object.prototype.toString.call(B)==="[object Object]"&&!isVNode(B)}var List=defineComponent({name:"MusicList-MusicScore-List",props:{list:{type:Array,default:()=>[]},url:{type:String,default:""},moreSearch:{type:Object,default:()=>({})}},emits:["refresh"],setup(B,{emit:R}){const F=ref(!1),D=ref(!1),G=ref(1),U=ref([]),W=ref(),q=async()=>{if(!!B.url){F.value=!0;try{const Q=await request(B.url,{params:{page:G.value,...B.moreSearch}});U.value=[...U.value,...Q.data.rows],D.value=Q.data.totalPage<G.value}catch{}F.value=!1}};onMounted(q);const Y=()=>{!F.value&&!D.value&&(G.value=G.value+1,q())};return()=>{let Q;return!U.value.length&&!F.value?createVNode(Empty,{description:"\u6682\u65E0\u66F2\u76EE"},{default:()=>[createVNode("span",null,null)]}):createVNode("div",{class:styles$9.tab},[createVNode(List$1,{ref:W,class:styles$9.list,loading:F.value,finished:D.value,onLoad:Y},_isSlot(Q=U.value.map(Z=>createVNode(Item,{item:Z,key:Z.id},null)))?Q:{default:()=>[Q]})])}}}),MusicScore=defineComponent({name:"MusicList-MusicScore",setup(){const B=useOriginSearch();return()=>createVNode(List,{url:"/music/sheet/queryRelatedList",moreSearch:{albumId:B.albumId,musicSheetId:B.id}},null)}}),Collection=defineComponent({name:"MusicList-MusicScore",setup(){return()=>createVNode(List,{url:"/music/sheet/favorite"},null)}}),Practice=defineComponent({name:"MusicList-Practice",setup(){return()=>createVNode(List,{url:"/music/sheet/practice"},null)}}),Content=defineComponent({name:"MusicListContent",setup(){return()=>createVNode(Tabs,{class:styles$9.tabs},{default:()=>[createVNode(Tab,{title:"\u5176\u4ED6\u66F2\u8C31"},{default:()=>[createVNode(MusicScore,null,null)]}),createVNode(Tab,{title:"\u6700\u8FD1\u7EC3\u4E60"},{default:()=>[createVNode(Practice,null,null)]}),createVNode(Tab,{class:styles$9.tab,title:"\u6211\u7684\u6536\u85CF"},{default:()=>[createVNode(Collection,null,null)]})]})}});const visible=ref(!1),survive=ref(!1),close=()=>{visible.value=!1},closed=()=>{survive.value=!1};var MusicList=defineComponent({name:"MusicList",setup(B){return()=>createVNode(Popup,{show:visible.value,onClickOverlay:close,onClosed:closed,position:"right",teleport:"body",style:{height:"100vh",width:"55vw",borderRadius:"5px 0 0 5px",overflow:"hidden"}},{default:()=>[survive.value&&createVNode(Content,B,null)]})}});const dot="_dot_1cv1i_1",active="_active_1cv1i_9",container$2="_container_1cv1i_12";var styles$8={dot,active,container:container$2},Tick=B=>createVNode("div",{class:styles$8.container},[Array(B.dots*(B.repeat||1)).fill(0).map((R,F)=>createVNode("div",{class:classnames(styles$8.dot,{[styles$8.first]:F%B.dots===0},{[styles$8.active]:state$2.activeTick>=0&&state$2.activeTick===F})},null))]);const tickWrap="_tickWrap_1ouif_1";var styles$7={tickWrap},TickPopup=defineComponent({name:"DetailTick",props:{show:{type:Boolean,default:!1},score:{default:""}},methods:{sendMessage:()=>{window.parent.postMessage({api:"headerTogge",playState:state.playState,show:!0},"*")}},render(){return this.score&&state.osmd||this.show?createVNode(Popup,{class:styles$7.tickWrap,show:state$2.activeTick>-1,closeable:!0,onClickCloseIcon:()=>{stopTick(),this.sendMessage()},style:{width:"100%",height:"100%",display:"flex",background:"transparent"}},{default:()=>{var B;return[createVNode(Tick,{dots:((B=state==null?void 0:state.osmd)==null?void 0:B.numerator)||getDuration(state.osmd).numerator||0,repeat:state$2.activeTickRepeat},null)]}}):null}});const container$1="_container_hiwv0_1",changeIndex="_changeIndex_hiwv0_6",activeopacity="_activeopacity_hiwv0_1",leftrotates="_leftrotates_hiwv0_1",rightrotates="_rightrotates_hiwv0_1";var styles$6={container:container$1,changeIndex,activeopacity,leftrotates,rightrotates};const formatFixedKey=(B,R)=>B==="piccolo"&&state$2.times[0]?ref(R+(1-state$2.times[0].octaveOffset)*12):ref(R),formatRelationship=(B,R)=>{let F=B[R]||B[0]||[];return typeof F[0]=="number"||typeof F[0]=="string"?[F]:typeof F[0]=="object"?F:[[]]};var FingeringComponentSvg=defineComponent({name:"fingering",props:{type:{type:String,default:""},fixedKey:{type:Number,default:0},fingeringInfo:{type:Object},loaded:{type:Function,default:()=>{}},viewInfo:{type:Object}},setup(B,{expose:R}){const F=toRefs(B),D=ref(null);ref(null);const G=ref(0),U=ref(0);return R({container:D,containerWidth:G}),()=>{var K,J,ie,ne,se,re,ae,le,ce,he,de,me,fe,ge,Se,Ee,ve;if(!((K=F.viewInfo.value)!=null&&K.activeType))return null;const W=formatFixedKey((J=B.fingeringInfo)==null?void 0:J.name,F.fixedKey.value).value,q=formatRelationship((ne=(ie=F.viewInfo.value)==null?void 0:ie.activeType)==null?void 0:ne.relationship,W||0),Y=[];state$2.activeNote&&((se=state$2.activeNote)==null||se.halfTone1.forEach(xe=>{var ye,Te,Le;let Pe=((Le=(Te=(ye=F.viewInfo.value)==null?void 0:ye.activeType)==null?void 0:Te.relationship)==null?void 0:Le[xe])||[];Pe=Pe.map(we=>"right"+we),Y.push(...Pe)}),(re=state$2.activeNote)==null||re.halfTone2.forEach(xe=>{var ye,Te,Le;let Pe=((Le=(Te=(ye=F.viewInfo.value)==null?void 0:ye.activeType)==null?void 0:Te.relationship)==null?void 0:Le[xe])||[];Pe=Pe.map(we=>"left"+we),Y.push(...Pe)}));const Q=()=>{let xe=U.value===q.length-1?0:U.value+1;U.value=xe},Z=q[U.value]||[];return createVNode("div",{ref:D,class:classnames((ae=B.fingeringInfo)==null?void 0:ae.name,styles$6.container),style:{width:((le=B.fingeringInfo)==null?void 0:le.direction)==="vertical"?(ce=B.fingeringInfo)==null?void 0:ce.width:"",height:((he=B.fingeringInfo)==null?void 0:he.direction)==="transverse"?((de=B.fingeringInfo)==null?void 0:de.height)||"":"100%",display:"flex",paddingLeft:((me=B.fingeringInfo)==null?void 0:me.direction)==="vertical"?(fe=B.fingeringInfo)==null?void 0:fe.paddingLeft:"",paddingRight:((ge=B.fingeringInfo)==null?void 0:ge.direction)==="vertical"?(Se=B.fingeringInfo)==null?void 0:Se.paddingRight:""}},[Z.includes(0)?createVNode("span",{style:{position:"absolute",top:".5vh",right:".5vw",color:"rgb(1, 193, 181)",fontWeight:"bold"}},[createTextVNode("\u8F6C\u8C03")]):null,createVNode("div",{style:{width:"100%",height:"100%"},class:Y,innerHTML:(ve=(Ee=F.viewInfo.value)==null?void 0:Ee.activeType)==null?void 0:ve.json.full2},null),q.length>1?createVNode("div",{role:"button",onClick:Q,class:["substituteFinger",styles$6.changeIndex]},[createTextVNode("\u66FF\u6307")]):null])}}});const fingering="_fingering_y2dbu_1";var styles$5={fingering};const subjectsSvg=["piano"],fingeringWidth=ref(0),fingeringStatus=ref("hidden"),fingeringViewInfo=async B=>{var F;const R=B;if(R){const D=await getTypes(R.name);if(D){const G=formatFixedKey$1(R.name,state$2.fixedKey),U=useFingeringSrc(D,R.name,G.value),{width:W,height:q}=await getImageSize(U.value),Y=((F=document.getElementById("colexiu-detail-music-sheet"))==null?void 0:F.clientHeight)||0,Q=state.evaluatingStatus?0:W,Z=Y/q;return fingeringWidth.value=Y?Z*Q:Q,W&&(fingeringStatus.value="show"),reactive({width:W,height:q,scale:Z,usedFixedKey:G.value,fullsrc:U.value,activeType:D,detail:R})}}else fingeringStatus.value="hidden"};var Fingering=defineComponent({name:"ColexiuFingering",props:{code:{type:String,default:-1}},setup(B){const{code:R}=toRefs(B),F=ref(null),D=ref(-1);return watch([R],async([G],[U])=>{if(D.value=formatId(R.value),G!==U){const W=await fingeringViewInfo(typeById[D.value]);W&&(F.value=W)}},{immediate:!0,deep:!0}),()=>{if(D.value<0||!F.value)return null;const G=typeById[D.value];return createVNode("div",{class:[styles$5.fingering,G.name,G.direction,"fingering"],style:{left:G.direction==="vertical"?state$2.notchHeight/2+"px":""}},[subjectsSvg.includes(G==null?void 0:G.name)?createVNode(FingeringComponentSvg,{viewInfo:F.value,type:G==null?void 0:G.name,fingeringInfo:G,fixedKey:state$2.fixedKey},null):createVNode(FingeringComponent,{viewInfo:F.value,type:G==null?void 0:G.name,fingeringInfo:G,fixedKey:state$2.fixedKey},null)])}}});const wrap$1="_wrap_1a32j_1",wrapItem="_wrapItem_1a32j_7",clearItem="_clearItem_1a32j_24",saveItem="_saveItem_1a32j_25";var styles$4={wrap:wrap$1,wrapItem,clearItem,saveItem};const getHasCache=()=>{var R,F,D;let B=!1;return state$3.sett.type==="staff"?B=!((R=musicInfo.musicSvg)!=null&&R.staff):B=state$3.sett.keySignature?!((F=musicInfo.musicSvg)!=null&&F.fixedTone):!((D=musicInfo.musicSvg)!=null&&D.firstTone),B};defineComponent({name:"productJson",setup(B,{expose:R}){const F=useOriginSearch();R({autoProduct:Y=>{var Q;F.modeType!=="json"&&(musicJSON.svg||(musicJSON.svg=((Q=document.getElementById("osmdSvgPage1"))==null?void 0:Q.outerHTML)||""),musicJSON.svg&&U(!1))}});const G=async()=>{await W({id:musicInfo.id,musicSvg:""}),Toast("\u6E05\u9664\u6210\u529F"),setTimeout(()=>{history.go(0)},500)},U=async(Y=!0)=>{var ne,se;if(!musicJSON.json){Y&&Toast("\u6CA1\u6709\u751F\u6210json\u6570\u636E,\u8054\u7CFB\u5F00\u53D1\u4EBA\u5458");return}if(!musicJSON.svg){Y&&Toast("\u6CA1\u6709\u751F\u6210svg\u6570\u636E,\u8054\u7CFB\u5F00\u53D1\u4EBA\u5458");return}let Q=null;Y&&(Q=Toast.loading({message:"\u4E0A\u4F20\u6570\u636E\u4E2D 1/2",duration:0}));const Z={svg:"",json:""};if(Z.json=await q(`${(ne=state$2.activeDetail)==null?void 0:ne.id}.json`,musicJSON.json),Q&&(Q.message="\u4E0A\u4F20\u6570\u636E\u4E2D 2/2"),Z.svg=await q(`${(se=state$2.activeDetail)==null?void 0:se.id}.svg`,musicJSON.svg),!Z.json||!Z.svg){Y&&Toast("\u4E0A\u4F20\u7F13\u5B58\u6570\u636E\u5931\u8D25");return}let K={id:musicInfo.id,musicSvg:""};const J={};state$3.sett.type==="staff"?J.staff=Z:state$3.sett.keySignature?J.fixedTone=Z:J.firstTone=Z,K.musicSvg=JSON.stringify(J),Q&&(Q.message="\u4FDD\u5B58\u6570\u636E\u4E2D"),console.log("\u{1F680} ~ body:",K);const ie=await W(K);(ie==null?void 0:ie.code)==200?Q&&(Q.message="\u4FDD\u5B58\u6210\u529F"):Q&&(Q.message="\u4FDD\u5B58\u5931\u8D25"),setTimeout(()=>{Q&&Q.close()},300)},W=async Y=>{const Q=await request.post("/musicSheet/updateRenderFile",{requestType:"json",data:Y});return Q.code===200&&Y.musicSvg&&(musicInfo.musicSvg=JSON.parse(Y.musicSvg)),Q},q=async(Y,Q)=>{const Z="cloud-coach",K=`https://${Z}.ks3-cn-beijing.ksyuncs.com/`;let J=Date.now()+"_"+Y,ie={filename:Y,bucketName:Z,postData:{filename:Y,acl:"public-read",key:J}};const ne=await request.post("/open/getUploadSign",{requestType:"json",data:ie}),se=new FormData,re={policy:ne.data.policy,signature:ne.data.signature,key:J,KSSAccessKeyId:ne.data.kssAccessKeyId,acl:"public-read",name:Y};for(let ae in re)se.append(ae,re[ae]);return se.append("file",new Blob([Q])),await request$1$1.post(K,{data:se}),K+J};return()=>createVNode(Fragment,null,[F.modeType==="json"&&createVNode("div",{class:styles$4.wrap},[createVNode(CellGroup,null,{default:()=>[createVNode(Cell,{center:!0},{title:()=>{var Y,Q,Z;return createVNode("div",{class:styles$4.wrapItem},[createVNode("span",null,[createTextVNode("\u7F13\u5B58\u72B6\u6001: ")]),createVNode("span",null,[createTextVNode("\u4E94\u7EBF\u8C31\xA0"),(Y=musicInfo.musicSvg)!=null&&Y.staff?createVNode(Icon,{name:"success",color:"rgba(103,201,176,1)"},null):createVNode(Icon,{name:"cross",color:"#ff6868"},null)]),createVNode("span",null,[createTextVNode("\u9996\u8C03\xA0"),(Q=musicInfo.musicSvg)!=null&&Q.firstTone?createVNode(Icon,{name:"success",color:"rgba(103,201,176,1)"},null):createVNode(Icon,{name:"cross",color:"#ff6868"},null)]),createVNode("span",null,[createTextVNode("\u56FA\u5B9A\u8C03\xA0"),(Z=musicInfo.musicSvg)!=null&&Z.fixedTone?createVNode(Icon,{name:"checked",color:"rgba(103,201,176,1)"},null):createVNode(Icon,{name:"cross",color:"#ff6868"},null)])])}}),createVNode(Cell,{class:styles$4.clearItem,title:"\u6E05\u9664\u7F13\u5B58\u6570\u636E",clickable:!0,onClick:G},null),createVNode(Cell,{class:styles$4.saveItem,title:"\u4FDD\u5B58\u7F13\u5B58\u6570\u636E",clickable:!0,onClick:U},null)]})])])}});const container="_container_11x1u_1",headTitle="_headTitle_11x1u_8",musicSheet="_musicSheet_11x1u_24",skeleton="_skeleton_11x1u_54",tips="_tips_11x1u_62",errorWrap="_errorWrap_11x1u_86",partName="_partName_11x1u_98";var styles$3={container,headTitle,musicSheet,skeleton,tips,errorWrap,partName};const tipsContainer="_tipsContainer_1tygt_1",backBtn="_backBtn_1tygt_7",content="_content_1tygt_21",parent="_parent_1tygt_26",myscale="_myscale_1tygt_1",item="_item_1tygt_37",img="_img_1tygt_42",iconHead="_iconHead_1tygt_46",btns="_btns_1tygt_52",btn="_btn_1tygt_52";var styles$2={tipsContainer,backBtn,content,parent,myscale,item,img,iconHead,btns,btn},iconHand2="data:image/png;base64,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",__glob_0_0=Object.freeze(Object.defineProperty({__proto__:null,default:iconHand2},Symbol.toStringTag,{value:"Module"})),iconHeader="data:image/png;base64,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",__glob_0_1=Object.freeze(Object.defineProperty({__proto__:null,default:iconHeader},Symbol.toStringTag,{value:"Module"})),m1="/orchestra-music-score/assets/m1.37a4864c.png",__glob_0_3=Object.freeze(Object.defineProperty({__proto__:null,default:m1},Symbol.toStringTag,{value:"Module"})),m2="/orchestra-music-score/assets/m2.54eec470.png",__glob_0_4=Object.freeze(Object.defineProperty({__proto__:null,default:m2},Symbol.toStringTag,{value:"Module"})),m3="/orchestra-music-score/assets/m3.e37e9821.png",__glob_0_5=Object.freeze(Object.defineProperty({__proto__:null,default:m3},Symbol.toStringTag,{value:"Module"})),m4="/orchestra-music-score/assets/m4.b4d55e79.png",__glob_0_6=Object.freeze(Object.defineProperty({__proto__:null,default:m4},Symbol.toStringTag,{value:"Module"})),m5="/orchestra-music-score/assets/m5.a57ac942.png",__glob_0_7=Object.freeze(Object.defineProperty({__proto__:null,default:m5},Symbol.toStringTag,{value:"Module"})),step0="/orchestra-music-score/assets/step0.bd130092.png",__glob_0_8=Object.freeze(Object.defineProperty({__proto__:null,default:step0},Symbol.toStringTag,{value:"Module"})),step1="/orchestra-music-score/assets/step1.e7319562.png",__glob_0_9=Object.freeze(Object.defineProperty({__proto__:null,default:step1},Symbol.toStringTag,{value:"Module"})),step2="/orchestra-music-score/assets/step2.498f7723.png",__glob_0_10=Object.freeze(Object.defineProperty({__proto__:null,default:step2},Symbol.toStringTag,{value:"Module"}));const modules={"../images/icon-hand2.png":__glob_0_0,"../images/icon-header.png":__glob_0_1,"../images/index.ts":__glob_0_2,"../images/m1.png":__glob_0_3,"../images/m2.png":__glob_0_4,"../images/m3.png":__glob_0_5,"../images/m4.png":__glob_0_6,"../images/m5.png":__glob_0_7,"../images/step0.png":__glob_0_8,"../images/step1.png":__glob_0_9,"../images/step2.png":__glob_0_10},getImage=B=>{var R;return((R=modules[`../images/${B}`])==null?void 0:R.default)||""};var Tip1=defineComponent({name:"tips-tip1",emits:["hanldeStop"],setup(B,{emit:R}){const F=ref(),D=reactive({show:!1,steps:[{ele:"",eleRect:{},img:getImage("step0.png"),btnsStyle:{top:"-2.13333rem"},handStyle:{top:"-0.42667rem"},imgStyle:{top:"-2.4rem"}},{ele:"",img:getImage("step1.png"),btnsStyle:{top:"-2.2rem"},handStyle:{top:"-0.42667rem"},imgStyle:{top:"-2.4rem"}},{ele:"",img:getImage("step2.png"),btnsStyle:{top:"-0.7rem",left:"-2.5rem","justify-content":"space-evenly",padding:0},handStyle:{top:"-0.42667rem"},imgStyle:{top:"-2.7rem",left:"-2.3rem"}}],step:0}),G=()=>{for(let q=0;q<D.steps.length;q++){const Y=document.querySelector(`[data-step='step${q}']`);if(Y){const Q=Y.cloneNode(!0),Z=Y.getBoundingClientRect(),K=document.createElement("div");K.classList.add(styles$2.parent),K.style.left=(Z==null?void 0:Z.left)-10+"px",K.style.top=(Z==null?void 0:Z.top)-10+"px",K.style.width=(Z==null?void 0:Z.width)+20+"px",K.style.height=(Z==null?void 0:Z.height)+20+"px",K.appendChild(Q),D.steps[q].ele=K.outerHTML,D.steps[q].eleRect=Z}}};onMounted(()=>{G()});const U=q=>{if(q!==void 0)D.step=q;else{if(D.step+1>=D.steps.length){W();return}D.step+=1}},W=()=>{R("hanldeStop")};return()=>createVNode("div",{class:styles$2.content,ref:F,onClick:()=>U()},[createVNode("div",{class:styles$2.backBtn,onClick:q=>{q.stopPropagation(),W()}},[createTextVNode("\u8DF3\u8FC7\u5F15\u5BFC")]),D.steps.map((q,Y)=>{var Q,Z;return createVNode("div",{style:{display:Y===D.step?"block":"none"},onClick:K=>K.stopPropagation()},[createVNode("div",{class:styles$2.item,style:{left:`${(Q=q.eleRect)==null?void 0:Q.left}px`,top:`${(Z=q.eleRect)==null?void 0:Z.top}px`}},[createVNode("img",{class:styles$2.img,style:q.imgStyle,src:q.img},null),createVNode("img",{class:styles$2.iconHead,style:q.handStyle,src:getImage("icon-header.png")},null),createVNode("div",{class:styles$2.btns,style:q.btnsStyle},[D.step+1==D.steps.length?createVNode(Fragment,null,[createVNode(Button,{class:styles$2.btn,round:!0,color:"transparent",style:{"border-color":"#fff"},type:"primary",onClick:()=>U(0)},{default:()=>[createTextVNode("\u518D\u770B\u4E00\u904D")]}),createVNode(Button,{class:styles$2.btn,round:!0,type:"primary",onClick:()=>W()},{default:()=>[createTextVNode("\u5B8C\u6210")]})]):createVNode(Button,{class:styles$2.btn,round:!0,type:"primary",onClick:()=>U()},{default:()=>[createTextVNode("\u4E0B\u4E00\u6B65 ("),D.step+1,createTextVNode("/"),D.steps.length,createTextVNode(")")]})])]),createVNode("div",{innerHTML:q.ele},null)])})])}}),Tip2=defineComponent({name:"tips-tip1",emits:["hanldeStop"],setup(B,{emit:R}){const F=ref(),D=reactive({show:!1,step:0,steps:[{ele:"",eleRect:{},img:getImage("m1.png"),btnsStyle:{top:"2.4rem",left:"-0.1rem"},handStyle:{top:"0.6rem",left:"0.1rem"},imgStyle:{top:"0.6rem",left:"-0.2rem"}},{ele:"",eleRect:{},img:getImage("m2.png"),btnsStyle:{top:"2.2rem"},handStyle:{top:"0.6rem",left:"0.1rem"},imgStyle:{width:"2.6rem",top:"0.6rem",left:"-0.2rem"}},{img:getImage("m3.png"),btnsStyle:{top:"2.6rem"},handStyle:{top:"0.6rem",left:"0.1rem"},imgStyle:{width:"2.45333rem",top:"0.6rem",left:"-0.2rem"}},{ele:"",eleRect:{},img:getImage("m4.png"),btnsStyle:{top:"2.5rem",left:"-1.5rem"},handStyle:{top:"0.6rem",left:"0.1rem"},imgStyle:{width:"2.45333rem",top:"0.6rem",left:"-1.7rem"}},{ele:"",eleRect:{},img:getImage("m5.png"),btnsStyle:{top:"2.2rem",left:"-2rem",width:"2.93333rem","justify-content":"space-evenly",padding:0},handStyle:{top:"0.6rem",left:"0.1rem"},imgStyle:{top:"0.4rem",left:"-2rem",width:"2.93333rem"}}]}),G=()=>{for(let q=0;q<D.steps.length;q++){const Y=document.querySelector(`[data-step='m${q}']`);if(Y){const Q=Y.cloneNode(!0),Z=Y.getBoundingClientRect(),K=document.createElement("div");K.classList.add(styles$2.parent),K.style.left=(Z==null?void 0:Z.left)-10+"px",K.style.top="0",K.style.borderRadius="0.1rem",K.appendChild(Q),D.steps[q].ele=K.outerHTML,D.steps[q].eleRect=Z}}};onMounted(()=>{G()});const U=q=>{if(q!==void 0)D.step=q;else{if(D.step+1>=D.steps.length){W();return}D.step+=1}},W=()=>{R("hanldeStop")};return()=>createVNode("div",{class:styles$2.content,ref:F,onClick:()=>U()},[createVNode("div",{class:styles$2.backBtn,onClick:q=>{q.stopPropagation(),W()}},[createTextVNode("\u8DF3\u8FC7\u5F15\u5BFC")]),D.steps.map((q,Y)=>{var Q;return createVNode("div",{style:{display:Y===D.step?"block":"none"},onClick:Z=>Z.stopPropagation()},[createVNode("div",{onClick:Z=>Z.stopPropagation(),class:styles$2.item,style:{width:"2.18667rem",left:`${(Q=q.eleRect)==null?void 0:Q.left}px`}},[createVNode("img",{class:styles$2.img,style:q.imgStyle,src:q.img},null),createVNode("img",{class:styles$2.iconHead,style:q.handStyle,src:getImage("icon-hand2.png")},null),createVNode("div",{class:styles$2.btns,style:q.btnsStyle},[D.step+1==D.steps.length?createVNode(Fragment,null,[createVNode(Button,{class:styles$2.btn,round:!0,color:"transparent",style:{"border-color":"#fff"},type:"primary",onClick:()=>U(0)},{default:()=>[createTextVNode("\u518D\u770B\u4E00\u904D")]}),createVNode(Button,{class:styles$2.btn,round:!0,type:"primary",onClick:()=>W()},{default:()=>[createTextVNode("\u5B8C\u6210")]})]):createVNode(Button,{class:styles$2.btn,round:!0,type:"primary",onClick:()=>U()},{default:()=>[createTextVNode("\u4E0B\u4E00\u6B65 ("),D.step+1,createTextVNode("/"),D.steps.length,createTextVNode(")")]})])]),createVNode("div",{innerHTML:q.ele},null)])})])}}),Tips=defineComponent({name:"tips-step",setup(B,R){const F=ref(!1),D=reactive({tipStep:1,tip1:!1,tip2:!1});watch(modelType,()=>{modelType.value==="practice"&&U()});const G=W=>{localStorage.setItem(W,"ok")},U=()=>{const W=useOriginSearch();if(W.questionId||W.lessonTrainingId)return;const q=localStorage.getItem("isFirstTip"),Y=localStorage.getItem("isFirstModel");modelType.value=="init"&&!q?(F.value=!0,D.tipStep=1):modelType.value=="practice"&&!Y&&(F.value=!0,D.tipStep=2)};return onMounted(()=>{U()}),()=>createVNode(Popup,{teleport:"body",closeOnClickOverlay:!1,class:styles$2.tipsContainer,show:F.value,"onUpdate:show":W=>F.value=W},{default:()=>[D.tipStep==1&&createVNode(Tip1,{onHanldeStop:()=>{F.value=!1,G("isFirstTip")}},null),D.tipStep==2&&createVNode(Tip2,{onHanldeStop:()=>{F.value=!1,G("isFirstModel")}},null)]})}}),AfterClassTraining=defineComponent({name:"afterClassTraining",setup(){return watch(()=>state$2.initRendered,()=>{var B,R;state$2.initRendered&&window.parent.postMessage({api:"admin-selectMusicMeasure",start:(B=state$2.times[0])==null?void 0:B.measureNumberPrinted,end:(R=state$2.times[state$2.times.length-1])==null?void 0:R.measureNumberPrinted,speed:state$2.activeSpeed},"*")}),watch(()=>state$2.section.length,()=>{var B,R;state$2.section.length===2&&window.parent.postMessage({api:"admin-selectMusicMeasure",start:(B=state$2.section[0])==null?void 0:B.measureNumberPrinted,end:(R=state$2.section[1])==null?void 0:R.measureNumberPrinted,speed:state$2.activeSpeed,change:!0},"*")}),()=>""}});const modelWraper="_modelWraper_xj35j_1",wrap="_wrap_xj35j_8";var styles$1={modelWraper,wrap},model1="/orchestra-music-score/assets/model-1.b93fcb09.png",model2="/orchestra-music-score/assets/model-2.b9e6613b.png",model3="/orchestra-music-score/assets/model-3.6da5a4f0.png",ModelWraper=defineComponent({name:"modelWraper",props:{onChangeModelType:{type:Function,default:()=>{}}},setup(B,R){return()=>createVNode("div",{class:styles$1.modelWraper,onClick:F=>F.stopPropagation()},[createVNode("div",{class:styles$1.wrap},[createVNode("img",{"data-step":"step0",onClick:()=>B.onChangeModelType("practice"),src:model1},null),createVNode("img",{"data-step":"step1",onClick:()=>B.onChangeModelType("follow"),src:model3},null),createVNode("img",{"data-step":"step2",onClick:()=>B.onChangeModelType("evaluation"),src:model2},null)])])}});const follow="_follow_1hnxg_4",title="_title_1hnxg_12",endBtns="_endBtns_1hnxg_16",button="_button_1hnxg_21",hasText="_hasText_1hnxg_29",bigIcon="_bigIcon_1hnxg_52",start="_start_1hnxg_59";var styles={follow,title,endBtns,button,hasText,bigIcon,start},iconFollwBtn="/orchestra-music-score/assets/icon-follwBtn.9fb45e5d.png";const togglePlayer=(B=!1)=>{let R=document.querySelector("#globalPlayer");R&&(R.style.display=B?"":"none")},data=reactive({list:[],index:0,start:!1,times:[],endIndex:0});useToggle(!0);const noteFrequency=ref(0),audioFrequency=ref(0),followTime=ref(0),openToggleRecord=(B=!0)=>{if(postMessage$1({api:"cloudToggleFollow",content:{state:B?"start":"end"}}),B)followTime.value=Date.now();else{const R=Date.now()-followTime.value;followTime.value!==0&&R>0&&(followTime.value=0)}};""+new Date().valueOf();const onClear=()=>{state$2.times.forEach(B=>{const R=document.querySelector(`div[data-vf=vf${B.id}]`);R&&(R.classList.remove("follow-error"),R.classList.remove("follow-success"))})},getDefaultIndex=()=>{if(unitTestData.isSelectMeasureMode){data.endIndex=state$2.times.findIndex(R=>R.NoteToGraphicalNoteObjectId==state$2.section[1].NoteToGraphicalNoteObjectId);const B=state$2.times.findIndex(R=>R.NoteToGraphicalNoteObjectId==state$2.section[0].NoteToGraphicalNoteObjectId);return B>-1?B:0}return 0},handleStart=()=>{onClear(),data.start=!0,openToggleRecord(!0),data.index=getDefaultIndex(),data.list=[],setStepIndex(state.osmd,data.index),getNoteIndex(),refreshView()},handleEnd=()=>{data.start=!1,openToggleRecord(!1),data.index=getDefaultIndex(),setStepIndex(state.osmd,data.index),getNoteIndex()},next=()=>{state.osmd.product?state.osmd.cursor.setPosition(state$2.times[data.index].cursorBox):state.osmd.cursor.next(),refreshView()},getNoteIndex=()=>{const B=state$2.times[data.index];return B.frequency?(noteFrequency.value=B.frequency,state$2.fixedKey=B.realKey,{id:B.id,min:B.frequency-(B.frequency-B.noteElement.pitch.prevFrequency)*.1,max:B.frequency+(B.noteElement.pitch.nextFrequency-B.frequency)*.1}):(data.index=data.index+1,next(),getNoteIndex())};let checking=!1;const onFollowTime=B=>{var F;if(unitTestData.isSelectMeasureMode&&data.index>=data.endIndex){handleEnd();return}const R=(F=B==null?void 0:B.content)==null?void 0:F.frequency;audioFrequency.value=R,data.list.push(R),checked()},checked=()=>{if(checking)return;checking=!0;const B=getNoteIndex();for(let R=0;R<data.list.length;R++){const F=data.list[R];if(F>B.min&&F<B.max){console.log(B.min,F,B.max),next(),data.index+=1,data.list=data.list.slice(R+1),setColor(B,!0),checking=!1;return}}setColor(B),checking=!1},setColor=(B,R=!1)=>{const F=document.querySelector(`div[data-vf=vf${B.id}]`);F&&(R?(F.classList.remove("follow-error"),F.classList.add("follow-success")):(F.classList.remove("follow-success"),F.classList.add("follow-error")))};var Follow=defineComponent({name:"follow",setup(B,{expose:R}){return onMounted(()=>{togglePlayer(),listenerMessage("cloudFollowTime",onFollowTime)}),onUnmounted(()=>{removeListenerMessage("cloudFollowTime",onFollowTime),togglePlayer(!0),onClear(),setStepIndex(state.osmd,0)}),R({data,handleEnd}),()=>createVNode(Teleport,{to:"#colexiu-detail-music-sheet"},{default:()=>[createVNode("div",{class:styles.follow},[createVNode(Transition,{name:"start",duration:300},{default:()=>[!data.start&&createVNode(Button,{style:{backgroundImage:`url(${iconFollwBtn})`,marginLeft:state$2.isSpecialShapedScreen?`${state$2.notchHeight/4}px`:""},class:[styles.button,styles.start,styles.followBtn],onClick:()=>handleStart()},null)]})])]})}});const musicJSON=reactive({json:"",svg:"",rended:!1}),MusicSheetRef=ref();var HomeIndex=defineComponent({name:"Colexiu",setup(){const B=useOriginSearch(),R=browser(),F=ref(!1);state$2.midiPlayIniting=!0;const D=ref(!0),G=ref(!1),U=ref(""),W=ref("init"),q=ref(""),Y=ref({}),Q=ref({}),[Z,K]=useDetail(B.id);watch(Z,async()=>{if(Z.value==="success"&&K.value.xmlFileUrl){Q.value=typeById[formatId(K.value.code||"")]||{};const{showFingering:ce,frozenMode:he,compulsionEvaluating:de}=useActivity(),[me,fe,ge]=await useFingering(ce.value?K.value.code:void 0);W.value=me.value,q.value=fe.value,Y.value=ge.value,state$2.frozenMode=he.value,G.value=de.value;const Se=await useXml(K.value.xmlFileUrl,K.value);if(Se.value)U.value=Se.value;else{D.value=!1,renderError.value=!0;return}}Z.value==="error"&&(renderError.value=!0)}),onMounted(()=>{window.appName="colexiu",event$1.on("settingFingeringChange",ie),postMessage$1({api:"setEventTracking",content:{type:"klx_xiaokuAI"}}),B.chenkuang&&(state$2.chenkuang=!0)}),onUnmounted(()=>{var ce,he;event$1.off("settingFingeringChange",ie),typeof((ce=state==null?void 0:state.audiosInstance)==null?void 0:ce.destroy)=="function"&&((he=state.audiosInstance)==null||he.destroy())});function J(ce,he){let de=!0;return function(){if(!de)return!1;de=!1,setTimeout(()=>{ce(),de=!0},he)}}const ie=J(()=>{const{direction:ce}=Q.value;ce==="vertical"&&(Toast("\u52A0\u8F7D\u4E2D\uFF0C\u8BF7\u7A0D\u540E..."),setTimeout(()=>{MusicSheetRef.value.reRender()},16))},300);useSpecialShapedScreen(),useSuspendPlay();const ne=()=>{window.isLoading=!1,postMessage$1({api:"cloudLoading",content:{show:!1,type:"fullscreen"}})},se=async ce=>new Promise(he=>{let de=[];request.get(`/musicSheetCategories/queryTree?page=1&rows=999&parentId=${ce}`).then(me=>{(me==null?void 0:me.code)==200?(de=me.data.map(fe=>fe.id),he(de)):he([])}).catch(me=>{he([])})});ref();const re=async ce=>{var Ee,ve,xe,Pe;ne(),state$2.initRendered=!0,console.time("\u83B7\u53D6\u6570\u636E"),state.osmd=ce;const he=(store_legacy.get("speeds")||{})[B.id],de=ce.bpm||ce.Sheet.userStartTempoInBPM;state$2.activeSpeed=he||K.value.playSpeed||de||100,state$2.baseSpeed=K.value.playSpeed||de||100,state$2.code=((Ee=K.value)==null?void 0:Ee.code)||"",state$2.activeDetail.originalSpeed=state$2.baseSpeed;const me=await se(49),{musicSheetCategoriesId:fe}=state$2.activeDetail;state$2.skipTick=me.includes(fe),console.log("\u{1F62F}\uFF5E",ce,state$2),state$2.renderType==="native"&&(state$2.times=getAllNodes(ce)),B.modeType==="json"||getHasCache(),console.timeEnd("\u83B7\u53D6\u6570\u636E"),console.log("\u{1F680} \uFF5E\u{1F440}~ detailState.times",state$2.times);const ge=((ve=state$2.times[state$2.times.length-1||0])==null?void 0:ve.endtime)||0;state$2.isAppPlay&&useMidi(ge,K.value.midiUrl),state.durationNum||(state.durationNum=ge),useCamera(),changeSpeed(state$2.activeSpeed),(((xe=state$2.setting)==null?void 0:xe.resets)||[]).includes("SPEED")&&state$2.activeDetail&&changeSpeed((Pe=state$2.activeDetail)==null?void 0:Pe.originalSpeed),setAudioInit();const Se=B.modelType;Se&&(modelType.value=Se),D.value=!1;try{restPromptMain(state$2.times)}catch{}Se&&Se=="evaluation"&&(state.evaluatingStatus=!0,nextTick(()=>{onChangeModelType(Se)})),nextTick(()=>{useFee(),B.chenkuang&&refreshView()})},ae=async()=>{D.value=!0},le=()=>{ne(),renderError.value=!0,D.value=!1};return watch(()=>state.evaluatingStatus,()=>{var ce;state$3.sett.fingering&&((ce=Q.value)==null?void 0:ce.direction)==="vertical"&&nextTick(()=>{MusicSheetRef.value.reRender()})}),()=>{D.value||Z.value;const ce=renderError.value||Z.value==="error",{width:he,paddingRight:de,paddingLeft:me,direction:fe}=Q.value,ge=W.value!=="init",Se=he||"0px",Ee=de||"0px",ve=me||"0px",xe=fe==="vertical",Pe=fe==="vertical"?"20px":"0px",ye=W.value==="show"&&state$3.sett.fingering&&!state.evaluatingStatus,Te=fe==="vertical"&&ye,Le={...xe&&{margin:"auto",marginRight:0},width:Q.value&&Te?`calc(100% - ${Se} - ${Ee} - ${ve} - ${Pe})`:""};return createVNode(Fragment,null,[createVNode("div",{class:[styles$3.container,state$3.sett.eyeProtection&&"eyeProtection",R.android&&"android"]},[createVNode(Transition,{name:"van-slide-down"},{default:()=>[!D.value&&createVNode(Buttons,{class:styles$3.buttons},null)]}),createVNode("div",{id:"colexiu-detail-music-sheet",class:[styles$3.musicSheet,{evaluating:state.evaluatingStatus||modelType.value==="follow"}],style:{paddingLeft:state$2.isSpecialShapedScreen?state$2.notchHeight/2+"px":"auto",paddingBottom:ye&&Q.value.height?Q.value.height:"40px",background:state$3.sett.camera?`rgba(${state$3.sett.eyeProtection?"253,244,229":"255,255,255"} ,${state$3.sett.opacity/100}) !important`:""}},[!!K.value.musicSheetName&&createVNode("div",{style:{width:D.value?"":Le.width},class:styles$3.headTitle},[K.value.musicSheetName]),state$2.partName?createVNode("div",{style:{width:D.value?"":Le.width},class:styles$3.partName},[state$2.partName]):null,createVNode(Skeleton,{class:styles$3.skeleton,rowWidth:"80%",title:!0,loading:Z.value==="loading"},null),createVNode(Skeleton,{class:styles$3.skeleton,row:6,loading:D.value},null),U.value&&ge&&createVNode(Fragment,null,[createVNode(MusicSheet,{ref:MusicSheetRef,style:Le,score:U.value,EngravingRules:{DYMusicScoreType:state$3.sett.type},opotions:{drawTitle:!1,drawComposer:!0,drawLyricist:!1,drawMetronomeMarks:!0,drawMeasureNumbers:!0,autoResize:!1},onStartRender:ae,onRenderError:le,onRerender:re},null),ye&&createVNode(Fingering,{code:K.value.code},null)]),modelType.value==="follow"&&createVNode(Follow,{ref:followRef},null),state$2.chenkuang&&createVNode("div",{style:{height:"100px"}},null)]),!D.value&&createVNode(ButtonsPlayer,null,null),createVNode(TickPopup,{score:U.value},null),createVNode(Permission,null,null),createVNode(HelperPopup,null,null),createVNode(MusicList,null,null),createVNode(AfterClassTraining,null,null),createVNode(Transition,{name:"van-slide-up",onAfterEnter:()=>{F.value=!0}},{default:()=>[!D.value&&modelType.value=="init"&&createVNode(ModelWraper,{onChangeModelType},null)]}),F.value&&!ce&&createVNode(Tips,null,null)]),createVNode(Transition,{name:"van-slide-up"},{default:()=>[soundEffectShow.value&&createVNode(SoundEffect,null,null)]}),!D.value&&createVNode(UnitTest,null,null),!B.lessonTrainingId&&!B.questionId&&K.value.musicSheetType=="CONCERT"&&createVNode(ToggleMusicSheet,null,null)])}}});let startTime=Date.now(),timer=null;const initBehaviorId=""+Date.now(),recordTotalTime=()=>{const B=useClientType();if(B=="web")return;const R=useOriginSearch(),F=getRequestHostname(),D=(Date.now()-startTime)/1e3;if(startTime=Date.now(),!(D<0))if(R.lessonTrainingId){const G=browser();request.post("/studentLessonTraining/lessonTrainingRecord",{prefix:F,requestType:"json",data:{materialType:"SONG",record:{clientType:B==null?void 0:B.toLocaleUpperCase(),practiceSource:"LESSON_TRAINING",feature:"PRACTICE",deviceType:G.android?"ANDROID":G.isApp?"IOS":"WEB",behaviorId:initBehaviorId,playTime:D,musicSheetId:R.id},courseScheduleId:R.courseScheduleId,lessonTrainingId:R.lessonTrainingId,materialId:R.materialId}})}else request.post("/musicPracticeRecord/save",{prefix:F,requestType:"json",data:{musicSheetId:R.id,sysMusicScoreId:R.id,feature:"PRACTICE",practiceSource:"PRACTICE",playTime:D,deviceType:getPlatform(),behaviorId:initBehaviorId}})},sendBackRecordTotalTime=()=>{clearInterval(timer),recordTotalTime()},userInfo=reactive({id:"",membershipDays:0,purchaseMemberRecord:!1,vipMember:!1}),renderError=ref(!1);var App=defineComponent({setup(){const B=async()=>{var F,D;if(!sessionStorage.getItem("Authorization")){const G=await promisefiyPostMessage({api:"getToken"});(F=G==null?void 0:G.content)!=null&&F.accessToken&&sessionStorage.setItem("Authorization",G.content.tokenType+" "+G.content.accessToken)}try{const G=await request.get("/user/getUserInfo");Object.assign(userInfo,(G==null?void 0:G.data)||{}),(D=G.data)!=null&&D.clientType&&(storeData.platformType=G.data.clientType)}catch(G){console.log(G),renderError.value=!0,window.isLoading=!1,postMessage$1({api:"cloudLoading",content:{show:!1,type:"fullscreen"}})}};return onMounted(()=>{B(),clearInterval(timer),timer=setInterval(()=>{recordTotalTime()},60*1e3)}),()=>createVNode(Fragment,null,[!!userInfo.id&&createVNode(Fragment,null,[createVNode(HomeIndex,null,null)]),renderError.value&&createVNode("div",{class:styles$3.errorWrap},[createVNode(Empty,null,null)])])}});export{promisefiyPostMessage as $,App as A,Button as B,getLeveByScoreMeasure as C,close$2 as D,Empty as E,Fragment as F,Grid as G,postMessage$1 as H,classnames as I,getVoiceChinesName as J,Empty$1 as K,Section as L,MusicSheet as M,reactive as N,store_legacy as O,Popup as P,NoticeBar as Q,event as R,Skeleton as S,Toast as T,OpenSheetMusicDisplay as U,styles$c as V,mergeProps as W,computed as X,BackIcon as Y,queryString as Z,nextTick as _,createVNode as a,changeSpeed as a$,index as a0,Canvg as a1,PageFormat as a2,Dialog as a3,getRequestHostname as a4,startRun as a5,truthProp as a6,getCurrentInstance as a7,inBrowser$1 as a8,onBeforeUnmount as a9,extend$2 as aA,mountComponent as aB,usePopupState as aC,Field as aD,Tabs as aE,Tab as aF,getTvIconUrl as aG,getEnvHostname as aH,score as aI,Popover as aJ,Player as aK,changeAllMode as aL,changeMode as aM,setPlayState as aN,resetPlayStatus as aO,setCurrentTime as aP,getFixTime as aQ,setCaptureMode as aR,clearIntervalTimeline as aS,event$1 as aT,getNoteByMeasuresSlursStart as aU,listenerMessage as aV,removeListenerMessage as aW,getLeveByScore as aX,Cell as aY,Switch as aZ,getDuration as a_,createNamespace as aa,isDef$1 as ab,addUnit as ac,withDirectives as ad,resolveDirective as ae,Icon as af,withInstall as ag,useXml as ah,svgtopng as ai,getRandomKey as aj,setTongjiTag as ak,cancelRaf as al,raf$2 as am,getSizeStyle as an,isObject$1 as ao,useTouch as ap,SwipeItem as aq,preventDefault as ar,clamp as as,Loading as at,unknownProp as au,useWindowSize as av,useExpose as aw,pick as ax,Swipe as ay,callInterceptor as az,browser as b,setAudioInit as b0,noteClick as b1,sectionChange as b2,ended as b3,Speed as b4,EventEmitter as b5,stopTick as b6,resolveComponent as b7,setPrefix as b8,List$1 as b9,CellGroup as ba,isVNode as bb,useReload as bc,noop$4 as bd,__vitePreload as be,relationships as bf,getVoicePartInfo as bg,MultipleAudio as bh,idIsInClassIds as bi,appoggianceFormate as bj,TickPopup as bk,Picker as bl,useChildren as bm,useScrollParent as bn,useClickAway as bo,useEventListener as bp,useRect as bq,useParent as br,Teleport as bs,getZIndexStyle as bt,vShow as bu,fieldProps as bv,lodash$1 as bw,toNext as bx,Sticky as by,Vex as bz,createApp as c,defineComponent as d,GridItem as e,formatZoom as f,createTextVNode as g,useSpecialShapedScreen as h,styles$3 as i,state$2 as j,state$3 as k,request as l,state as m,getAllNodes as n,onMounted as o,getParentNote as p,request$1$1 as q,ref as r,state$4 as s,toRefs as t,useOriginSearch as u,getCustomInfo as v,watch as w,formatXML as x,onlyVisible as y,getBoundingBoxByverticalNote as z};
|