{"version":3,"mappings":"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","names":["makeMap","str","map","Object","create","key","split","val","doc","win","docEl","documentElement","resizeEvt","window","recalc","clientWidth","style","fontSize","addEventListener","document","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","charCodeAt","isModelListener","startsWith","extend","assign","remove","arr","el","i","indexOf","splice","hasOwnProperty","prototype","hasOwn","call","isArray","Array","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","then","catch","objectToString","toString","value","toRawType","slice","isPlainObject","isIntegerKey","parseInt","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","replace","_","c","toUpperCase","hyphenateRE","hyphenate","toLowerCase","capitalize","charAt","toHandlerKey","hasChanged","oldValue","is","invokeArrayFns","fns","arg","length","def","obj","writable","defineProperty","configurable","enumerable","looseToNumber","n","parseFloat","isNaN","toNumber","Number","NaN","_globalThis","getGlobalThis","globalThis","self","global","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","forEach","tmp","trim","stringifyStyle","styles","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","getTime","keys","aHasKey","bHasKey","String","looseIndexOf","findIndex","isRef","toDisplayString","JSON","stringify","replacer","_key","size","entries","reduce","val2","stringifySymbol","values","v","_a","description","activeEffectScope","activeSub","EffectScope","detached","this","_active","effects","cleanups","_isPaused","parent","index","scopes","push","active","l","pause","resume","currentEffectScope","on","off","fromParent","stop","last","pop","effectScope","getCurrentScope","onScopeDispose","failSilently","pausedQueueEffects","WeakSet","ReactiveEffect","deps","depsTail","flags","next","cleanup","scheduler","has","delete","trigger","notify","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","nextDep","removeSub","onStop","add","runIfDirty","isDirty","run","dirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","error","err","version","prevActiveLink","dep","activeLink","head","tail","prev","prevDep","removeDep","computed","refreshComputed","_dirty","globalVersion","isSSR","prevSub","_value","soft","nextSub","subs","sc","trackStack","pauseTracking","resetTracking","Link","Dep","debugInfo","addSub","currentTail","targetMap","WeakMap","ITERATE_KEY","Symbol","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","target","type","depsMap","get","set","Map","newValue","oldTarget","targetIsArray","isArrayIndex","newLength","key2","getDepFromReactive","object","depMap","reactiveReadArray","array","raw","toRaw","isShallow","toReactive","shallowReadArray","arrayInstrumentations","__proto__","iterator","args","concat","x","thisArg","apply","arguments","searchProxy","separator","join","noTracking","shift","toReversed","comparer","toSorted","toSpliced","method","wrapValue","iter","_next","result","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","acc","isProxy","isNonTrackableKeys","builtInSymbols","Set","getOwnPropertyNames","filter","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","getPrototypeOf","Reflect","readonly","reactive","MutableReactiveHandler","super","isOldValueReadonly","isReadonly","hadKey","deleteProperty","ownKeys","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","toReadonly","done","t","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","callback","observed","clear","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","Proxy","isReactive","markRaw","r","ref","createRef","shallowRef","rawValue","RefImpl","_rawValue","useDirectValue","unref","ref2","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","newVal","source","defaultValue","ComputedRefImpl","setter","__v_isRef","effect","getterOrOptions","debugOptions","getter","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","onWatcherCleanup","cleanupFn","owner","watch","cb","options","immediate","deep","once","augmentJob","reactiveGetter","source2","traverse","boundCleanup","forceTrigger","isMultiSource","some","s","currentEffect","baseGetter","depth","Infinity","scope","watchHandle","_cb","fill","job","immediateFirstRun","currentWatcher","cleanup2","bind","seen","getOwnPropertySymbols","propertyIsEnumerable","stack","isWarning","warn$1","msg","instance","component","appWarnHandler","appContext","config","warnHandler","trace","getComponentTrace","callWithErrorHandling","_b","vnode","formatComponentName","warnArgs","formatTrace","console","warn","currentVNode","normalizedStack","recurseCount","parentInstance","logs","entry","formatTraceEntry","postfix","isRoot","open","close","props","formatProps","formatProp","handleError","callWithAsyncErrorHandling","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","resolve","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","uid","flushPostFlushCbs","deduped","sort","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","__scopeId","withCtx","ctx","isNonScopedSlot","_n","renderFnWithContext","_d","setBlockTracking","prevInstance","_c","withDirectives","directives","getComponentPublicInstance","bindings","dirs","dir","modifiers","mounted","updated","invokeDirectiveHook","prevVNode","oldBindings","binding","hook","TeleportEndKey","isTeleport","__isTeleport","isTeleportDisabled","disabled","isTeleportDeferred","defer","isTargetSVG","SVGElement","isTargetMathML","MathMLElement","resolveTarget","select","targetSelector","to","TeleportImpl","n1","n2","container","anchor","parentComponent","parentSuspense","namespace","slotScopeIds","optimized","internals","mc","mountChildren","pc","patchChildren","pbc","patchBlockChildren","o","insert","querySelector","createText","createComment","shapeFlag","children","dynamicChildren","placeholder","mainAnchor","mount","container2","anchor2","isCE","ce","_teleportTarget","mountToTarget","targetAnchor","prepareAnchor","updateCssVars","queuePostRenderEffect","__isMounted","process","targetStart","wasDisabled","currentContainer","currentAnchor","traverseStaticChildren","moveTeleport","nextTarget","um","unmount","hostRemove","doRemove","shouldRemove","child","move","hydrate","hydrateTeleport","parentAnchor","m","moveType","isReorder","node","nextSibling","parentNode","hydrateChildren","targetNode","_lpa","firstChild","nodeType","data","Teleport","isDisabled","ut","setAttribute","leaveCbKey","enterCbKey","useTransitionState","state","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","Function","BaseTransitionPropsValidators","mode","appear","Boolean","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","recursiveGetSubtree","subTree","BaseTransitionImpl","slots","getCurrentInstance","default","getTransitionRawChildren","findNonCommentChild","rawProps","emptyPlaceholder","innerChild","getInnerChild$1","enterHooks","resolveTransitionHooks","hooks","Comment","setTransitionHooks","oldInnerChild","isSameVNodeType","leavingHooks","afterLeave","update","delayLeave","earlyRemove","delayedLeave","getLeavingNodesForType","BaseTransition","leavingVNodesCache","postClone","callHook","callAsyncHook","every","hook2","leavingVNode","afterHook","cancelHook","called","cancelled","vnode2","hooks2","isKeepAlive","cloneVNode","transition","ssContent","clone","ssFallback","keepComment","parentKey","keyedFragmentCount","Fragment","patchFlag","defineComponent","extraOptions","setup","markAsyncBoundary","ids","setRef","rawRef","oldRawRef","isUnmount","isAsyncWrapper","__asyncResolved","refValue","oldRef","refs","setupState","rawSetupState","canSetSetupRef","_isString","_isRef","doSet","f","existing","includes","k","requestIdleCallback","cancelIdleCallback","__asyncLoader","__isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","currentInstance","wrappedHook","__wdc","current","isDeactivated","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","__weh","reset","setCurrentInstance","unshift","createHook","lifecycle","isInSSRComponentSetup","onBeforeMount","onBeforeUpdate","onUpdated","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","for","warnMissing","Component","selfName","getComponentName","registry","renderList","renderItem","cached","sourceIsArray","from","getPublicInstance","isStatefulComponent","publicPropertiesMap","$","$el","$data","$props","$attrs","attrs","$slots","$refs","$parent","$root","root","$host","$emit","emit","$options","resolveMergedOptions","$forceUpdate","$nextTick","$watch","instanceWatch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","propsOptions","shouldCacheAccess","publicGetter","cssModule","globalProperties","__cssModules","descriptor","normalizePropsOrEmits","applyOptions","publicThis","beforeCreate","dataOptions","computedOptions","methods","watchOptions","provide","provideOptions","inject","injectOptions","created","beforeMount","beforeUpdate","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","resolveInjections","methodHandler","opt","createWatcher","provides","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","createPathGetter","handler","base","mixins","extends","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","resolved","mergeOptions","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","emits","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","app","isNativeTag","performance","compilerOptions","propsCache","emitsCache","uid$1","createAppAPI","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","_uid","_component","_props","_container","_context","_instance","use","plugin","install","mixin","directive","rootContainer","isHydrate","_ceVNode","createVNode","__vue_app__","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","initProps","isStateful","propsDefaults","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","dynamicProps","isEmitListener","emitsOptions","camelizedKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","skipFactory","_setProp","mixinPropsCache","normalizePropsOptions","comp","hasExtends","extendProps","raw2","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeVNode","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","$stable","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","__VUE__","hostInsert","patchProp","hostPatchProp","createElement","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","patch","getNextHostNode","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","mountElement","patchElement","vnodeHook","resolveChildrenNamespace","scopeId","onVnodeBeforeMount","invokeVNodeHook","needCallTransitionHooks","needTransition","beforeEnter","onVnodeMounted","enter","isSuspense","parentVNode","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","innerHTML","textContent","patchProps","class","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","activate","mountComponent","updateComponent","initialVNode","createComponentInstance","renderer","setupComponent","asyncDep","registerDep","setupRenderEffect","shouldUpdateComponent","asyncResolved","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","isUnmounted","originNext","nextTree","renderComponentRoot","prevTree","updateHOCHostEl","bm","isAsyncWrapperVNode","_injectChildStyle","scopedInitialVNode","nextVNode","prevProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","Math","min","nextChild","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","suspense","leave","remove2","performLeave","cacheIndex","renderCache","deactivate","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","hasOnce","onVnodeUnmounted","removeFragment","performRemove","bum","invalidateMount","pendingBranch","suspenseId","pendingId","teleportEnd","isFlushing","_vnode","mt","createApp","currentNamespace","encoding","allowed","ch1","ch2","len","arrI","subComponent","ssrContextKey","useSSRContext","watchEffect","doWatch","flush","baseWatchOptions","runsImmediately","ssrCleanup","__watcherHandles","watchStopHandle","isPre","isFirstRun","watch$1","path","segments","getModelModifiers","modelName","modelModifiers","event","rawArgs","handlerName","number","onceHandler","emitted","normalizeEmitsOptions","extendEmits","normalizedFromExtend","markAttrsAccessed","withProxy","fallthroughAttrs","proxyToUse","thisProxy","render2","getFunctionalFallthrough","blockStack","filterModelListeners","prevChildren","nextProps","nextChildren","hasPropsChanged","nextKeys","activeBranch","__isSuspense","currentBlock","openBlock","disableTracking","closeBlock","isBlockTreeEnabled","inVOnce","setupBlock","createElementBlock","createBaseVNode","createBlock","isVNode","__v_isVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","staticCount","normalizeChildren","normalize","_createVNode","cloned","isClassComponent","__vccOpts","guardReactiveProps","klass","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","memo","slot","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","setupContext","bc","da","rtg","rtc","sp","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","compile","setupResult","setupStatefulComponent","createSetupContext","isAsyncSetup","resolvedResult","handleSetupResult","finishComponentSetup","__ssrInlineRender","ssrRender","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","classifyRE","classify","includeInferred","displayName","__name","__file","match","inferFromRegistry","computed$1","propsOrChildren","policy","tt","trustedTypes","createPolicy","createHTML","unsafeToTrustedHTML","svgNS","mathmlNS","templateContainer","nodeOps","insertBefore","removeChild","tag","createElementNS","multiple","createTextNode","nodeValue","selector","before","previousSibling","lastChild","cloneNode","wrapper","appendChild","TRANSITION","ANIMATION","vtcKey","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","decorate$1","Transition","resolveTransitionProps","h2","hasExplicitCallback","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","isCancelled","_enterCancelled","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","classList","_vtc","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","setTimeout","timeout","propCount","getTransitionInfo","endEvent","ended","removeEventListener","onEnd","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","max","hasTransform","test","delays","d","toMs","body","offsetHeight","patchClass","isSVG","transitionClasses","removeAttribute","className","vShowOriginalDisplay","vShowHidden","vShow","display","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","setProperty","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","removeAttributeNS","setAttributeNS","patchDOMProp","attrName","tagName","getAttribute","needRemove","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","createInvoker","optionsModifierRE","cachedNow","getNow","Date","now","initialValue","invoker","_vts","attached","patchStopImmediatePropagation","originalStop","stopImmediatePropagation","_stopped","isNativeOn","shouldSetAsProp","_isVueCE","_trueValue","_falseValue","camelize$1","getModelAssigner","onCompositionStart","composing","onCompositionEnd","dispatchEvent","Event","assignKey","vModelText","lazy","castToNumber","domValue","activeElement","vModelCheckbox","modelValue","_modelValue","elementValue","getValue","checked","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","_assigning","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","selectedIndex","vModelDynamic","callModelHook","resolveDynamicModel","systemModifiers","modifierGuards","stopPropagation","prevent","preventDefault","currentTarget","ctrl","ctrlKey","shiftKey","alt","altKey","meta","metaKey","left","button","right","exact","withModifiers","_withMods","cacheKey","guard","keyNames","esc","space","up","down","withKeys","_withKeys","eventKey","rendererOptions","ensureRenderer","containerOrSelector","normalizeContainer","resolveRootNamespace","Element","isVue2","activePinia","setActivePinia","pinia","piniaSymbol","toJSON","MutationType","createPinia","_p","toBeInstalled","$pinia","_e","_s","noop","addSubscription","subscriptions","onCleanup","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","subPatch","targetValue","skipHydrateSymbol","shouldHydrate","createOptionsStore","hot","actions","getters","initialState","store","createSetupStore","localState","computedGetters","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","debuggerEvents","actionSubscriptions","activeListener","$patch","partialStateOrMutator","subscriptionMutation","patchFunction","storeId","events","patchObject","payload","myListenerId","$reset","newState","$state","action","wrappedAction","afterCallbackList","onErrorCallbackList","after","onError","Promise","reject","$onAction","stopWatcher","direct","$dispose","setupStore","runWithContext","actionValue","extender","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","mapState","keysOrMapper","reduced","storeKey","mapActions","_defineProperty","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","load","url","getElementsByTagName","script","async","src","preconnectOrigin","href","rel","onload","onerror","mergeDeep","_len","sources","isBrowser","validateScreenviewShape","app_name","screen_name","getPathWithBase","pathAsArray","baseAsArray","getDefaultParams","bootstrap","onReady","onBeforeTrack","onAfterTrack","pageTrackerTemplate","customResourceURL","customPreconnectOrigin","deferScriptLoad","pageTrackerExcludedRoutes","pageTrackerEnabled","enabled","disableScriptLoad","pageTrackerScreenviewEnabled","appName","pageTrackerUseFullPath","pageTrackerPrependBase","pageTrackerSkipSamePath","globalDataLayerName","globalObjectName","defaultGroupName","params","send_page_view","setOptions","defaultParams","getOptions","query","_window","_getOptions","domain","assignGlobalProperty","disable","optOut","optIn","router","setRouter","getRouter","send_to","pageview","param","page_path","fullPath","useFullPath","useBase","page_title","page_location","location","screenview","exception","linker","time","refund","purchase","customMap","custom_map","api","freeze","attachApi","$gtag","registerGlobals","mergeDefaultParams","addConfiguration","useScreenview","isRouteExcluded","route","routes","addRoutesTracker","_getOptions2","isReady","currentRoute","afterEach","isPageTrackerEnabled","obfuscate","fromCharCode","deobfuscate","MGTag","VueGtag","executeScript","reportGtag","event_category","event_label","gtag","REPORT_EVENT","REGISTER","R1_COMPLETED","R1_ACCOUNT_NUMBER","NEXT","R2_COMPLETED","R2_VERIFICATION_CODE","R2_NEXT","R2_BACK","R3_BACK","R3_PASSWORD","SHOW_PASSWORD","CONCEAL_PASSWORD","R2_REGISTER","R1_CLOSE","R2_CLOSE","R3_CLOSE","CUSTOMER_SERVICE","TC","DEPOSIT","LOAD_COMPLETE","OPTIONAL_AMOUNT","AMOUNT_1","AMOUNT_2","AMOUNT_3","AMOUNT_4","AMOUNT_5","AMOUNT_6","CHANNEL_SANTIMPAY","CHANNEL_ARIFPAY","ENVELOPE","POCKET_MONEY_index_TG","POCKET_MONEY_index_FB","POCKET_MONEY_index_whatapp","POCKET_MONEY_index_sms","POCKET_MONEY_index_copy","POCKET_MONEY_withdraw_TG","POCKET_MONEY_withdraw_FB","POCKET_MONEY_withdraw_whatapp","POCKET_MONEY_withdraw_sms","POCKET_MONEY_Prompt_TG","inBrowser","isDef","isNumeric","isIOS","navigator","userAgent","pick","ignoreUndefined","toArray","unknownProp","numericProp","truthProp","makeRequiredProp","required","makeArrayProp","makeNumberProp","defaultVal","makeNumericProp","makeStringProp","raf","doubleRaf","isWindow","makeDOMRect","width2","height2","top","bottom","width","height","useRect","elementOrRef","element","innerWidth","innerHeight","getBoundingClientRect","useToggle","useParent","unlink","internalChildren","flattenVNodes","children2","findVNodeIndex","vnodes","sortChildren","publicChildren","orderedPublicChildren","useChildren","getCurrentInstance2","linkChildren","onMountedOrActivated","onActivated2","useEventListener","listener","passive","capture","cleaned","target2","unref2","stopWatch","onUnmounted2","onDeactivated2","oldVal","useClickAway","eventName","unref3","contains","useWindowSize","ref4","overflowScrollReg","defaultRoot","visibility","isElement","getScrollParent","overflowY","useScrollParent","scrollParent","ref5","onMounted2","usePageVisibility","ref6","hidden","CUSTOM_FIELD_INJECTION_KEY","getScrollTop","scrollTop","pageYOffset","setScrollTop","scrollTo","scrollX","getRootScrollTop","setRootScrollTop","checkIsIOS","resetScroll","isStopPropagation","cancelable","isHidden","elementRef","parentHidden","offsetParent","position","windowWidth","windowHeight","addUnit","getSizeStyle","originSize","getZIndexStyle","zIndex","rootFontSize","getRootFontSize","convertRem","convertVw","convertVh","unitToPx","clamp","num","trimExtraChar","char","regExp","formatNumber","allowDot","allowMinus","deepAssign","stdin_default","tel","save","cancel","confirm","loading","noCoupon","nameEmpty","addContact","telInvalid","vanCalendar","title","weekdays","monthTitle","year","month","rangePrompt","maxRange","vanCascader","vanPagination","vanPullRefresh","pulling","loosing","vanSubmitBar","label","vanCoupon","unlimited","discount","condition","vanCouponCell","count","vanCouponList","exchange","enable","vanAddressEdit","area","areaEmpty","addressEmpty","addressDetail","defaultAddress","vanAddressList","lang","messages","defaultMessages","Locale","newLang","newMessages","createTranslate","prefix","locale","message","genBem","mods","createBEM","createNamespace","prefixedName","BORDER","BORDER_TOP","BORDER_LEFT","BORDER_RIGHT","BORDER_BOTTOM","BORDER_SURROUND","BORDER_TOP_BOTTOM","HAPTICS_FEEDBACK","FORM_KEY","TAP_OFFSET","callInterceptor","interceptor","canceled","returnVal","withInstall","POPUP_TOGGLE_KEY","onPopupReopen","popupToggleStatus","show","useHeight","withSafeArea","setHeight","usePlaceholder","contentRef","bem","renderContent","ACTION_BAR_KEY","actionBarProps","safeAreaInsetBottom","renderPlaceholder","renderActionBar","ActionBar","_ActionBar","useExpose","apis","routeProps","$router","useRoute","vm","badgeProps","dot","color","offset","showZero","hasContent","getOffsetWithMinusString","style2","background","y","offsetY","offsetX","marginTop","marginLeft","renderBadge","fixed","Badge","_Badge","globalZIndex","useGlobalZIndex","CONFIG_PROVIDER_KEY","isImage","name2","iconProps","badge","classPrefix","iconPrefix","isImageIcon","_mergeProps","Icon","_Icon","SpinIcon","CircularIcon","viewBox","cx","cy","loadingProps","vertical","textSize","textColor","spinnerStyle","renderIcon","DefaultIcon","icon","renderText","Loading","_Loading","buttonProps","block","plain","round","square","hairline","nativeType","loadingSize","loadingText","loadingType","iconPosition","getStyle","border","borderColor","onClick","classes","Button","_Button","actionBarButtonProps","isFirst","isLast","isButton","first","ActionBarButton","_ActionBarButton","popupSharedProps","overlay","teleport","lockScroll","lazyRender","beforeClose","overlayStyle","overlayClass","transitionAppear","closeOnClickOverlay","popupSharedPropKeys","getDirection","useTouch","startX","startY","deltaX","deltaY","direction","isTap","touch","touches","clientX","clientY","abs","isVertical","isHorizontal","totalLockCount","BODY_LOCK_CLASS","useLockScroll","rootRef","shouldLock","onTouchMove","scrollHeight","status","lock","unlock","destroy","useLazyRender","inited","useScopeId","overlayProps","customStyle","renderOverlay","animationDuration","_withDirectives","_vShow","Content","Overlay","_Overlay","popupProps","closeIcon","closeable","closeOnPopstate","closeIconPosition","safeAreaInsetTop","opened","shouldReopen","popupRef","onClickOverlay","role","tabindex","onClickCloseIcon","renderCloseIcon","timer","onOpened","clearTimeout","onClosed","onKeydown","renderPopup","renderTransition","focus","_Fragment","Popup","_Popup","actionSheetProps","cancelText","closeOnClickAction","popupInheritKeys","updateShow","onCancel","renderHeader","renderCancel","renderActionContent","subname","renderAction","renderDescription","ActionSheet","_ActionSheet","pickerToolbarProps","cancelButtonText","confirmButtonText","useSyncPropRef","getProp","setProp","propRef","useId","useRefs","useVisibilityChange","onChange","IntersectionObserver","observer","intersectionRatio","unobserve","observe","stickyProps","offsetTop","offsetBottom","transform","isReset","rootStyle","stickyStyle","onScroll","rootRect","containerRect","difference","clientHeight","isFixed","Sticky","_Sticky","swipeProps","loop","autoplay","touchable","initialSwipe","indicatorColor","showIndicators","SWIPE_KEY","rect","swiping","dragging","delta","minOffset","maxCount","ceil","trackSize","activeIndicator","isCorrectDirection","expect","trackStyle","transitionDuration","toFixed","mainAxis","crossAxis","getTargetOffset","targetActive","currentPosition","targetOffset","pace","emitChange","outRightBound","setOffset","outLeftBound","correctPosition","autoplayTimer","stopAutoplay","initialize","offsetWidth","swipe","resize","touchStartTime","onTouchStart","onTouchEnd","speed","renderDot","backgroundColor","swipeTo","targetIndex","visible","onTouchstartPassive","onTouchend","onTouchcancel","indicator","total","Swipe","_Swipe","TABS_KEY","TAB_STATUS_KEY","useTabStatus","TabTitle","shrink","isActive","controls","scrollable","activeColor","inactiveColor","showZeroBadge","titleColor","ellipsis","grow","rendered","shouldRender","maxActive","prevActive","nextActive","SwipeItem","_SwipeItem","tabProps","titleClass","titleStyle","getName","currentName","onRendered","parsedClass","parsedStyle","hasInactiveClass","setLine","scrollIntoView","renderTitle","onClickTab","setTitleRefs","titleActiveColor","titleInactiveColor","animated","swipeable","scrollspy","inactive","_a2","Tab","_Tab","pickerSharedProps","allowHtml","optionHeight","showToolbar","swipeDuration","visibleOptionNum","columns","toolbarPosition","columnsFieldNames","cellSharedProps","center","isLink","valueClass","labelClass","arrowDirection","clickable","cellProps","renderLabel","titleSlot","renderValue","renderRightIcon","borderless","extra","Cell","_Cell","formProps","colon","showError","labelWidth","labelAlign","inputAlign","scrollToError","scrollToErrorPosition","validateFirst","submitOnEnter","showErrorMessage","errorMessageAlign","validateTrigger","getFieldsByNames","names","field","validate","matched","find","errors","promise","fields","all","validateAll","scrollToField","getValues","form","formValue","submit","onSubmit","resetValidation","getValidationStatus","Form","_Form","isEmptyValue","runSyncRule","rule","validateEmpty","pattern","runRuleValidator","validator","getRuleMessage","startComposing","endComposing","resizeTextarea","input","autosize","maxHeight","minHeight","mapInputType","inputmode","getStringLength","cutString","maxlength","fieldSharedProps","leftIcon","rightIcon","autofocus","clearable","formatter","clearIcon","autocomplete","autocapitalize","autocorrect","errorMessage","enterkeyhint","clearTrigger","formatTrigger","spellcheck","fieldProps","rows","rules","showWordLimit","focused","validateMessage","inputRef","clearIconRef","customValue","getModelValue","showClear","hasValue","showRequiredMark","endValidate","validateWithTrigger","defaultTrigger","updateValue","originalValue","selectionEnd","valueArr","exceededLength","limitDiffLen","isNumber","formatterDiffLen","bcoVal","selectionStart","valueLen","setSelectionRange","onInput","blur","adjustTextareaSize","onFocus","onBlur","onClickInput","onClickLeftIcon","onClickRightIcon","labelStyle","onKeypress","keyCode","getInputId","renderInput","controlClass","custom","inputAttrs","onCompositionend","onCompositionstart","rightIconSlot","renderWordLimit","_createTextVNode","renderMessage","renderFieldBody","LeftIcon","leftIconSlot","Label","Field","_Field","lockCount","lockClick","popupInheritProps","toastProps","iconSize","wordBreak","forbidClick","closeOnClick","toggleClickable","clearTimer","usePopupState","toggle","RootComponent","defaultOptions","onClose","allowMultiple","currentOptions","defaultOptionsMap","parseOptions","createInstance","VanToast","getInstance","showToast","toast","parsedOptions","createMethod","showLoadingToast","showSuccessToast","showFailToast","closeToast","Toast","_Toast","__async","__this","__arguments","generator","fulfilled","step","rejected","throw","barrageProps","autoPlay","delay","barrageWrapper","barrageItems","isInitBarrage","isPlay","appendBarrageItem","innerText","animationDelay","animationName","animationTimingFunction","animationPlayState","append","dataset","updateBarrages","span","play","Barrage","_Barrage","formatMonthTitle","date","getFullYear","getMonth","compareMonth","date1","date2","year1","year2","month1","month2","compareDay","day1","day2","compareMonthResult","getDate","cloneDate","cloneDates","dates","getDayByOffset","setDate","getMonthByOffset","setMonth","getYearByOffset","setFullYear","getPrevDay","getNextDay","getPrevMonth","getNextMonth","getPrevYear","getNextYear","getToday","today","setHours","calcDateNum","getMonthEndDay","rowHeight","marginBottom","renderTopInfo","topInfo","renderBottomInfo","bottomInfo","Nodes","calendarMonthProps","minDate","maxDate","showMark","currentDate","allowSameDay","showSubtitle","showMonthTitle","firstDayOfWeek","setVisible","daysRef","monthRef","realDay","getDay","totalDay","getDayType","day","isSelected","prevDay","nextDay","prevSelected","nextSelected","startDay","endDay","compareToStart","compareToEnd","getBottomInfo","dayType","renderMark","placeholders","days","days2","disabledDays","renderDay","CalendarDay","item2","onClickDisabledDate","getTitle","getHeight","scrollToDate","targetDate","daysRect","totalRows","rowOffset","subtitle","showTitle","switchMode","prevMonthDisabled","prevYearDisabled","nextMonthDisabled","nextYearDisabled","onClickSubtitle","onPanelChange","isNext","showYearAction","monthSlot","yearSlot","monthDisabled","yearDisabled","monthIconName","yearIconName","MonthAction","YearAction","renderSubtitle","canSwitch","renderWeekDays","renderWeekDays2","calendarProps","poppable","confirmText","showConfirm","defaultDate","showRangePrompt","confirmDisabledText","limitDateRange","getInitialDate","bodyHeight","bodyRef","currentPanelDate","getInitialPanelDate","currentMonthRef","monthRefs","setMonthRefs","dayOffset","months","months2","cursor","buttonDisabled","heights","currentMonth","visibleRange","showed","scrollToCurrentDate","init","floor","onConfirm","complete","setCurrentDate","valid","onClickDay","disabledDay","disabledDays2","endDay2","dateItem","unselectedDate","renderMonth","CalendarMonth","renderFooterButton","footer","renderCalendar","CalendarHeader","getSelectedDate","Calendar","_Calendar","cellGroupProps","inset","renderGroup","CellGroup","_CellGroup","dialogProps","theme","messageAlign","showCancelButton","cancelButtonColor","cancelButtonDisabled","confirmButtonColor","confirmButtonDisabled","showConfirmButton","keyboardEnabled","getActionHandler","Enter","Escape","isolated","hasTitle","classNames","renderFooter","DEFAULT_OPTIONS","initInstance","Dialog","showDialog","showConfirmDialog","_Dialog","gridProps","gutter","reverse","columnNum","GRID_KEY","paddingLeft","Grid","_Grid","gridItemProps","iconColor","percent","flexBasis","paddingTop","gutterValue","paddingRight","contentStyle","surround","GridItem","_GridItem","listProps","finished","scroller","errorText","finishedText","immediateCheck","tabStatus","check","scrollParentRect","isReachEdge","placeholderRect","renderFinishedText","clickErrorText","renderErrorText","renderLoading","tabActive","Placeholder","List","_List","notifyProps","Notify","_Notify","getWindow","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","offsetLeft","getWindowScroll","scrollLeft","pageXOffset","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","getDocumentElement","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","scroll","offsets","clientLeft","clientTop","getLayoutRect","getParentNode","assignedSlot","host","listScrollParents","list","_element$ownerDocumen","isBody","updatedList","isTableElement","getTrueOffsetParent","getContainingBlock","isFirefox","currentNode","perspective","contain","willChange","getOffsetParent","window2","auto","basePlacements","placements","placement","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","visited","modifier","requires","requiresIfExists","depModifier","orderModifiers","orderedModifiers","phase","debounce","fn2","pending","format","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","requirement","mod","uniqueBy","identifiers","identifier","getBasePlacement","mergeByName","merged2","getVariation","getMainAxisFromPlacement","computeOffsets","_ref","reference","basePlacement","variation","commonX","commonY","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","strategy","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","defaultModifiers2","_generatorOptions$def2","popper","modifiersData","elements","attributes","effectCleanupFns","isDestroyed","setOptionsAction","options2","cleanupModifierEffects","scrollParents","contextElement","_ref2","marginRight","margin","_ref3","_ref3$options","effect3","noopFn","forceUpdate","_state$elements","reference2","popper2","rects","__debug_loops__","_state$orderedModifie","_state$orderedModifie2","_options","state2","onFirstUpdate","_options$scroll","_options$resize","eventListeners_default","popperOffsets","popperOffsets_default","unsetSides","roundOffsetsByDPR","dpr","devicePixelRatio","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","transitionProperty","property","arrow","computeStyles_default","applyStyles","effect2","initialStyles","attribute","applyStyles_default","createPopper","distanceAndSkiddingToXY","offset2","invertDistance","skidding","distance","_options$offset","_data$state$placement","offset_default","popoverProps","actionsDirection","showArrow","closeOnClickOutside","wrapperRef","popoverRef","getPopoverOptions","offsetModifier","updateLocation","onClickWrapper","Popover","_Popover","VantResolve","enUS","eventBus","eventBus$1","$bus","bridge","Key","Token","Country","isBonus","StickyBanner","ShowBonusTips","cid","channel","shared","currentReward","clickShareIcon","clickInviteBtn","clickEnvlopePopup","todayShowed","BonusGamesID","isEnvelope","localFrom","agentcode","firstdepositpopup","PerksPlay","setLocalStorage","localStorage","setItem","getLocalStorage","getItem","removeLocalStorage","removeItem","resBaseUrl","hideHeaderPages","hideFooterPages","selfDevelopedGameDomain","game","categories","favorite","records","lobby","banners","batchBanners","promotionsBanners","ping","user","balance","getUserInfo","login","logout","sms","usernameSms","bindPhone","restPwd","checkBindViaUser","changePassWord","usc","recharge","prepay","querypay","orders","depositActivity","paymentMethods","withdraw","fetchTaxExemptAmount","notice","bonus","ncf","redpackage","claimed","collected","envelope","share","claim","guide","finishGuide","latestCollected","displayReward","totalClaimedReward","popup","cashback","collect","record","marquee","VpsExchange","buy","dailyTask","Million","spin","cost","myCode","rewards","history","limited","defaultCountry","localCountry","hostname","country","log","defaultLanguage","localLanguage","languageu","AIRBRIDEG","WEB_TOKEN","APP_NAME","API_TOKEN","BET_LINKS_API_TOKEN","BUS","SHOW_MENU","SHOW_POPUP","FULL_SCREEN","SCROLL_TO_TOP","UPDATE_GAME","SHOW_DEPOSIT_IN_GAME","REFRESH_PAGE","CHECK_INPUT_VALUE","PAY_SUCCESS","PAY_INVALID","UPDATE_GAME_LIST","PUSH_NOTIFICATION","CLOSE_DEPOSIT_IN_GAME","SHOW_CHAT","SHOW_GAME_FOOTER","HIDE_DEPOSIT_IN_GAME","CHECK_DEPOSIT_STATUS","SHOW_TOP_BUTTON","CHANGE_IPUTfIELD_ERROR_TIPS","SHOW_SYSTEM_LOADING","UPDATE_BALANCE","SHOW_SHARE_POPUP","SHOW_REWARD_POPUP","BACK_IN_GAME","SHOW_ACTIVE_BOX","SHOW_ENVELOPE_NOTIFY","UPDATE_DEEPLINK","POPUP","MENU","LOGIN","BINDING_PHONE","SELECT_COUNTRY","RESET_PASSWORD","CHANGE_PASSWORD","FIRST_DEPOSIT_POPUP","PERKS_PLAY_POPUP","makeSymbol","shareable","generateFormatCacheKey","friendlyJSONstringify","json","isFinite","isRegExp","isEmptyObject","escapeHtml","rawText","proto","constructor","items","incrementer","code","isNotObjectOrIsArray","deepCopy","des","Error","createPosition","line","column","createLocation","RE_ARGS","CompileWarnCodes","USE_MODULO_SYNTAX","__EXTEND_POINT__","warnMessages","createCompileWarn","loc","CompileErrorCodes","EXPECTED_TOKEN","INVALID_TOKEN_IN_PLACEHOLDER","UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER","UNKNOWN_ESCAPE_SEQUENCE","INVALID_UNICODE_ESCAPE_SEQUENCE","UNBALANCED_CLOSING_BRACE","UNTERMINATED_CLOSING_BRACE","EMPTY_PLACEHOLDER","NOT_ALLOW_NEST_PLACEHOLDER","INVALID_LINKED_FORMAT","MUST_HAVE_MESSAGES_IN_PLURAL","UNEXPECTED_EMPTY_LINKED_MODIFIER","UNEXPECTED_EMPTY_LINKED_KEY","UNEXPECTED_LEXICAL_ANALYSIS","UNHANDLED_CODEGEN_NODE_TYPE","UNHANDLED_MINIFIER_NODE_TYPE","errorMessages","createCompileError","SyntaxError","defaultOnError","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isPS","isLS","isLineEnd","peekOffset","currentChar","currentPeek","peek","resetPeek","skipToPeek","EOF","undefined","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","_scnr","currentOffset","_initLoc","_initOffset","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","emitError","pos","getToken","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isListIdentifierStart","isNumberStart","isPluralStart","isTextStart","hasSpace","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","readText","isLiteral","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","isInvalidIdentifier","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","literal","isModulo","spaces","nextToken","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","fromCodePoint","createParser","onWarn","tokenzer","emitWarn","startNode","endNode","parseText","tokenizer","parseList","parseNamed","modulo","parseLiteral","parseLinked","linkedNode","parsed","nextConsumeToken","getTokenCaption","nextContext","emptyLinkedKeyNode","parseMessage","parseResource","msgNode","hasEmptyMessage","cases","parse","onCacheKey","createTransformer","ast","helpers","helper","traverseNodes","nodes","transformer","traverseNode","optimize","optimizeMessageNode","static","ERROR_DOMAIN$1","minify","resource","valueNode","linked","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","indentLevel","_newline","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generateNode","generateMessageNode","generatePluralNode","generateResource","generate","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","__INTLIFY_PROD_DEVTOOLS__","__INTLIFY_JIT_COMPILATION__","__INTLIFY_DROP_MESSAGE_COMPILER__","pathStateMachine","w","literalValueRE","exp","stripQuotes","getPathCharType","formatSubPath","trimmed","newChar","typeMap","subPathDepth","maybeUnescapeQuote","nextChar","resolveWithKeyValue","resolveValue","hit","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","pluralIndex","normalizeNamed","createMessageContext","pluralRule","pluralRules","orgPluralRule","_list","_named","processor","interpolate","arg1","arg2","_modifier","devtools","setDevToolsHook","initI18nDevTools","i18n","timestamp","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","NOT_SUPPORT_NON_STRING_MESSAGE","NOT_SUPPORT_LOCALE_PROMISE_VALUE","NOT_SUPPORT_LOCALE_ASYNC_FUNCTION","NOT_SUPPORT_LOCALE_TYPE","createCoreError","getLocale","resolveLocale","_resolveLocale","resolvedOnce","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","chain","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","toLocaleUpperCase","substr","getDefaultLinkedModifiers","upper","lower","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","registerMessageResolver","resolver","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","_locale","fallbackLocale","datetimeFormats","numberFormats","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","handleMissing","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","formatParts","formatMessageParts","_static","acm","formatMessagePart","linkedKey","linkedModifier","defaultOnCacheKey","compileCache","isMessageAST","detectError","baseCompile$1","compileToFunction","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","messaged","evaluateMessage","getMessageContextOptions","missingRet","getCompileContext","msgCtx","arg3","ctxOptions","datetime","overrides","parseDateTimeArgs","part","Intl","DateTimeFormat","datetimeFormat","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","toISOString","clearDateTimeFormat","parseNumberArgs","NumberFormat","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","__VUE_I18N_FULL_INSTALL__","__VUE_I18N_LEGACY_API__","I18nErrorCodes","UNEXPECTED_RETURN_TYPE","MUST_BE_CALL_SETUP_TOP","NOT_INSTALLED","NOT_AVAILABLE_IN_LEGACY_MODE","REQUIRED_VALUE","INVALID_VALUE","CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN","NOT_INSTALLED_WITH_PROVIDE","UNEXPECTED_ERROR","NOT_COMPATIBLE_LEGACY_VUE_I18N","BRIDGE_SUPPORT_VUE_2_ONLY","MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION","NOT_AVAILABLE_COMPOSITION_IN_LEGACY","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","getComponentOptions","adjustI18nResources","gl","componentOptions","__i18nGlobal","mergeLocaleMessage","mergeDateTimeFormat","mergeNumberFormat","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","VueI18nLegacy","__root","__injectWithOption","_isGlobal","translateExistCompatible","_inheritLocale","inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","framework","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","getLocaleMessage","composer","setLocaleMessage","_message","locale2","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","rt","te","tm","targetLocaleMessages","messageValue","getDateTimeFormat","setDateTimeFormat","getNumberFormat","setNumberFormat","convertComposerOptions","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","createVueI18n","__extender","vueI18n","availableLocales","__composer","getChoiceIndex","baseFormatProps","getInterpolateArg","getFragmentableTag","TranslationImpl","keypath","useI18n","useScope","__useComponent","assignedAttrs","Translation","renderFormatter","slotKeys","partFormatter","parts","NumberFormatImpl","DatetimeFormatImpl","DatetimeFormat","getComposer$2","i18nInternal","__getInstance","vTDirective","_process","parsedValue","parseValue","makeParams","__i18nWatcher","getSSRProps","pluginOptions","useI18nComponentName","globalInstall","defineMixin","vuei18n","optionsI18n","$i18n","mergeToGlobal","__vueI18nExtend","_vueI18n","__disposer","$t","$rt","$tc","tc","$te","$d","$n","$tm","__setInstance","__deleteInstance","I18nInjectionKey","createI18n","__legacyMode","legacy","__globalInjection","globalInjection","__allowComposition","allowComposition","__instances","globalScope","__global","createGlobal","symbol","__VUE_I18N_SYMBOL__","opts","__composerExtend","globalReleaseHandler","injectGlobalFields","unmountApp","dispose","getI18nInstance","getGlobalComposer","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","useComponent","getParentComponentInstance","_composer","isLocalScope","warpWithDeps","C","isGlobal","globalExportProps","globalExportMethods","desc","__INTLIFY__","__INTLIFY_DEVTOOLS_GLOBAL_HOOK__","getLocalLanguage","setLocale","setupI18n","setI18nLanguage","loadLocaleMessages","response","fetch","language","ok","__variableDynamicImportRuntimeHelper","import","__vitePreload","__VITE_PRELOAD__","__VITE_IS_MODERN__","VERSION_JSON_URL","useLanguagesStore","languages","phone","currentLanguageCode","currentPhoneCode","currentPhone","reload","airbridge_loader","load_airbridge","a_","i_","r_","_r","_i","q","readyState","__spreadArray","pack","ar","flat_keys","FlatKeys","flatKeys_1","flatKey","build","airbridge_loader_1","require$$0","flat_keys_1","require$$1","throwOnServerSide","AirbridgeMock","airbridge","isSDKEnabled","startTracking","stopTracking","fetchResource","openBanner","setBanner","setDownloads","setDeeplinks","openDeeplink","sendWeb","createTouchpoint","setUserID","clearUserID","setUserEmail","clearUserEmail","setUserPhone","clearUserPhone","setUserAttribute","removeUserAttribute","clearUserAttributes","setUserAlias","removeUserAlias","clearUserAlias","clearUser","setUserId","setUserAttributes","setDeviceAlias","removeDeviceAlias","clearDeviceAlias","send","signIn","signUp","signOut","purchased","addedToCart","productDetailsViewEvent","homeViewEvent","productListViewEvent","searchResultViewEvent","wait","prepare","_loop_1","member","_default","AIRBRIDEG_EVENT","VIEWED","SIGNUP","SIGNIN","SIGNOUT","ADDED_TO_CART","ORDER_COMPLETED","airbrideg_init","hash","pageParam","URLSearchParams","webToken","utmParsing","urlQueryMapping","campaign","sub_id","term","airbrideg_report","eventData","socket","SocketService","useUserStore","io","transports","isLogin","connected","disconnect","SocketService$1","createCapacitorPlatforms","defaultPlatformMap","capPlatforms","CapacitorPlatforms","currentPlatform","platforms","addPlatform","platform","setPlatform","initPlatforms","ExceptionCode","CapacitorException","getPlatformId","androidBridge","webkit","messageHandlers","createCapacitor","capCustomPlatform","CapacitorCustomPlatform","cap","Capacitor","Plugins","getPlatform","isNativePlatform","isPluginAvailable","pluginName","registeredPlugins","getPluginHeader","PluginHeaders","registerPlugin","jsImplementations","registeredPlugin","pluginHeader","jsImplementation","createPluginMethodWrapper","impl","Unimplemented","methodHeader","rtype","nativePromise","nativeCallback","addListener","removeListener","addListenerNative","callbackId","convertFileSrc","filePath","pluginMethodNoop","_target","Exception","DEBUG","isLoggingEnabled","isNative","initCapacitorGlobal","WebPlugin","listeners","retainedEventArguments","windowListeners","listenerFunc","firstListener","windowListener","registered","addWindowListener","sendRetainedArgumentsForEvent","removeWindowListener","retainUntilConsumed","windowEventName","pluginEventName","notifyListeners","Unavailable","handle","encode","encodeURIComponent","decodeURIComponent","escape","decode","CapacitorCookiesPluginWeb","cookies","cookie","cookieMap","setCookie","encodedKey","encodedValue","expires","toUTCString","clearAllCookies","clearCookies","web","readBlobAsBase64","blob","reader","FileReader","base64String","readAsDataURL","normalizeHttpHeaders","headers","originalKeys","toLocaleLowerCase","buildUrlParams","shouldEncode","accumulator","buildRequestInit","output","FormData","Headers","CapacitorHttpPluginWeb","requestInit","webFetchExtra","urlParams","shouldEncodeUrlParams","contentType","responseType","request","Directory","Encoding","Filesystem","FilesystemWeb","checkForUpdate","currentVersionCode","staging","production","compareVersion","versionName","apkUrl","version1","version2","v1","v2","part1","part2","downloadAndSaveAPK","base64","onloadend","fileName","writeFile","directory","External","_hasBuffer","Buffer","_TD","TextDecoder","_TE","TextEncoder","b64ch","b64chs","b64tab","tab","b64re","_fromCC","_U8Afrom","Uint8Array","it","_mkUriSafe","m0","_tidyB64","btoaPolyfill","bin","u32","c0","asc","pad","TypeError","substring","_btoa","btoa","_fromUint8Array","u8a","strs","subarray","fromUint8Array","urlsafe","cb_utob","re_utob","utob","_encode","encodeURI","re_btou","cb_btou","cccc","btou","atobPolyfill","u24","r1","r2","_atob","atob","_toUint8Array","toUint8Array","_unURI","_decode","isValid","_noEnum","extendString","_add","extendUint8Array","extendBuiltins","gBase64","fromBase64","toBase64","encodeURL","checkAndUpdateApp","download","click","downloadAPK","savePWA","deferredPrompt","prompt","userChoice","outcome","encodeBase64","Base64","decodeBase64","encoded","copy","textarea","execCommand","fillterLongID","decimal","fillterLongUserName","formatMoney","amount","decimalCount","thousands","negativeSign","removeThousandSeparatorWithDecimal","chunkArray","chunkSize","needComplete","chunk","getRandomIntInclusive","random","parseUrl","parsedUrl","URL","search","splitText","unitConversion","formatNavTab","truncateText","maxLength","formatDate","hour","getHours","getMinutes","second","getSeconds","getMobileOperatingSystem","vendor","opera","MSStream","IOS","ANDROID","isNativeApp","findValueIn2DArray","targetObj","flatMap","row","rowIndex","col","colIndex","currentPage","HOME","WITHDRAW","ACTIVE","setSEO","seo","home","ET","GH","TZ","CI","KE","deposit","defaultCurrencyAlias","checkCountry","defaultHostname","localHostName","checkCid","activeCanvasAnimation","canvas","COLORS","Confetti","PI_2","confetti","drawCircle","range","resizeWindow","xpos","PI","getContext","clearRect","beginPath","arc","fillStyle","onmousemove","pageX","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","rgb","opacity","dop","xmax","ymax","vx","vy","results","draw","enterEnvelop","envelopeUrl","formatPayChannelName","routing","paymentMethod","payChannel","checkLuckywheel","accept","pragma","referrer","referrerPolicy","credentials","spinNum","M","ordinal","z","utcOffset","D","ms","Q","S","O","$L","utc","$u","$x","$offset","UTC","$y","$M","$D","$W","$H","$m","$s","$ms","getMilliseconds","$utils","isSame","startOf","endOf","isAfter","isBefore","$g","unix","valueOf","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","$i","isDayjs","en","Ls","countries","userInfo","methodConfig","rechargeCount","username","password","verificationCode","envelopeId","inviteUserId","post","updateUserInfo","setToken","phoneNumber","oldPassword","configs","withdrawPayMentMethods","dayjs","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","ArrayBuffer","isView","buffer","toStringTag","isFile","isBlob","isFileList","isStream","pipe","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","_global","isContextDefined","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","descriptors","toFlatObject","sourceObj","destObj","propFilter","endsWith","searchString","isTypedArray","TypedArray","forEachEntry","pair","matchAll","exec","isHTMLForm","toCamelCase","p1","p2","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","callbacks","asap","queueMicrotask","utils$1","hasOwnProp","AxiosError","captureStackTrace","utils","lineNumber","columnNumber","customProps","axiosError","cause","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","buildURL","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","synchronous","runWhen","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams$1","FormData$1","Blob$1","platform$1","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","toURLEncodedForm","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","stringifySafely","parser","transitional","adapter","transformRequest","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","ignoreDuplicateOf","parseHeaders","rawHeaders","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","buildAccessors","accessorName","methodName","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","targets","asStrings","accessors","defineAccessor","transformData","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","parseProtocol","speedometer","samplesCount","bytes","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","throttle","freq","lastArgs","threshold","invoke","accessor","mapped","headerValue","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","loaded","lengthComputable","progressBytes","rate","progress","estimated","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","protocol","port","secure","toGMTString","RegExp","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","unescape","xsrfValue","isXHRAdapterSupported","XMLHttpRequest","xhrAdapter","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","responseHeaders","getAllResponseHeaders","responseText","statusText","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","abort","subscribe","aborted","composeSignals","signals","controller","AbortController","reason","streamChunk","byteLength","readBytes","iterable","readStream","stream","asyncIterator","getReader","trackStream","onProgress","onFinish","_onFinish","ReadableStream","pull","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","Request","Response","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","getBodyLength","resolveBodyLength","getContentLength","fetchAdapter","fetchOptions","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","_request","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","knownAdapters","http","xhr","renderReason","isResolvedHandle","adapters","getAdapter","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","formatMessage","ERR_DEPRECATED","spelling","correctSpelling","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","responseInterceptorChain","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","spread","isAxiosError","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","defaultConfig","axios","Cancel","promises","formToJSON","myTimestamp","success","useEnvelopeStore","reward","inviteUserName","isFinishGuide","noticeRecords","browserId","visitorId","_sfc_main","resbaseurl","newvalue","checkNotice","setInterval","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_createElementBlock","_component_van_notify","_cache","$event","padding","_withCtx","_createElementVNode","_toDisplayString","nickname","currency","currencyAlias","selectLanguage","showPopover","languagesCI","languagesET","languagesKE","languagesTZ","setLanguage","currentLanguage","_openBlock","_component_van_popover","onSelect","_normalizeClass","isRouteComponent","isESModule","__esModule","applyToParams","newParams","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","aliasOf","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","toPosition","segment","START_LOCATION_NORMALIZED","redirectedFrom","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","behavior","computeScrollPosition","scrollY","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getElementById","getScrollKey","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","teardowns","pauseState","popStateHandler","fromState","forward","back","unknown","beforeUnloadListener","replaceState","pauseListeners","listen","teardown","buildState","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","routerHistory","go","triggerListeners","isRouteLocation","isRouteName","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","sensitive","strict","REGEX_CHARS_RE","tokensToParser","score","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","re","subPattern","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","alias","createRouterMatcher","globalOptions","matchers","matcherMap","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","isMatchable","insertMatcher","matcherRef","paramsFromLocation","parentMatcher","mergeMetaFields","clearRoutes","getRoutes","getRecordMatcher","redirect","normalizeRecordProps","instances","leaveGuards","updateGuards","enterCallbacks","propsObject","partialOptions","mid","insertionAncestor","getInsertionAncestor","lastIndexOf","ancestor","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","enterCallbackArray","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","componentPromise","resolvedComponent","useLink","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","viewTransition","startViewTransition","preferSingleVNode","RouterLinkImpl","compatConfig","MODE","activeClass","exactActiveClass","ariaCurrentValue","elClass","getLinkClass","linkActiveClass","linkExactActiveClass","RouterLink","defaultPrevented","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","ViewComponent","routePropsOption","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","scrollBehavior","scrollRestoration","normalizeParams","paramValue","encodeParams","decodeParams","rawLocation","locationNormalized","matcherLocation","targetParams","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","newTargetLocation","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","isPush","isFirstNavigation","removeHistoryListener","ready","readyHandlers","errorListeners","_from","info","listening","started","parentOrRoute","recordMatcher","hasRoute","routeMatcher","beforeEach","beforeResolve","reactiveRoute","recordFrom","recordTo","_name","useLobbyStore","bannersHomeTop","recommend","functionTabs","functionTabIndex","collectGameId","bonusGamecategory","currentGameIsBonus","hasPopup","hasStickyBanner","allBanner","showdownloadBen","app_env","functionList","fillterGameList","itme","hotitem","cover","localName","functionWeight","updateLobby","getBannersHomeTop","getCategories","isRecommend","recommendWeight","banner","getBannerByCountryAndPOsition","nowTime","getUTCFullYear","getUTCMonth","getUTCDate","sticky_banner","hideStickyBanners","gameplayTag","pageNum","pageSize","category","gameId","endDate","startDate","system","terminal","popUps","DhLanguage","showDrawer","updateAnimation","menuList","bannersTop","bannersBottom","$on","boo","enterGame","onLogin","currentGameUrl","menu","luckywheel","LiveChatWidget","cmd","cmdValue","_hoisted_13","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","float","_hoisted_26","_hoisted_27","_createBlock","_component_van_popup","_hoisted_12","_hoisted_14","_hoisted_15","userId","onRegister","cash","onUpdateMoney","_createCommentVNode","onDeposit","onWithdraw","onBonus","_renderList","onClickBanner","onClickMenu","_hoisted_25","_component_DhLanguage","onLogout","menus","iconClass","iconUrl","selectUrl","showTips","bonusAmount","cd","onShowRegister","enterSportGame","onTouchFooter","onTouch","getCurrentRouter","onShowLogin","validateUsername","validatePassword","onShowSelectCountry","DhCountrySelectMenu","isPhone","minlength","inputType","errMsg","showpassword","keyboardEnterCallback","isFocus","setCustomDoneButton","_component_DhCountrySelectMenu","handleEnter","handleBlur","onShowPossWord","InputField","showValue","newPassword","usernameFocus","passwordFocus","onForget","onChat","_component_InputField","bannerUrl","isloading","_component_van_form","onOpenRegister","isLoading","btnName","lockBtn","setBtnName","onSend","finally","clearInterval","onHide","PIXEL_EVENT","VIEW_CONTENT","COMPLETE_REGISTRATION","SUBMIT_APPlICATION","START_TRIAL","ADD_TO_CART","INITIATE_CHECKOUT","PURCHASE","CUSTOMIZE_PRODUCT","mfbq","fbq","verify","changeStep","verifkStep","initUsername","initPassword","userNameKey","canClickNext","showCode","onTryAgain","onNext","_normalizeStyle","onChangeCode","LobbyVerify","verifyKey","onSignup","onFocusUserName","onJumpTC","_component_LobbyVerify","onOpenLogin","updateCountry","passwordKey","codeKey","addNum","showAnimation","totalReward","newCurrentReward","oldcurrentReward","ShareProgress","boostList","onShare","onWitchDraw","boostNames","collectType","collectNickname","onShareTG","_component_ShareProgress","telebirr","cbebirr","mpesa","other","isShowMore","selectChannel","seleceBankCode","rechargeChannel","parsePayMentDethods","paymentMethodGroups","groupPaymentMethods","cleanNumber","defaultChannel","fallbackChannels","onSelectBankCode","onUpdatePayMethod","payMethods","useDepositStore","requestConfig","createOrder","account","bankCode","otpCode","createOrderForKE","fee","queryPay","depositOrders","updateData","selectMethod","payChannels","selectBankCodeKey","omCode","withdrawChannel","onSelectMethod","__assign","qrcodegen","SuppressedError","QrCode","errorCorrectionLevel","dataCodewords","msk","modules","MIN_VERSION","MAX_VERSION","RangeError","drawFunctionPatterns","allCodewords","addEccAndInterleave","drawCodewords","minPenalty","applyMask","drawFormatBits","penalty","getPenaltyScore","assert","mask","ecl","segs","QrSegment","makeSegments","encodeSegments","encodeBinary","seg","makeBytes","minVersion","maxVersion","boostEcl","dataUsedBits","dataCapacityBits_1","getNumDataCodewords","usedBits","getTotalBits","Ecc","MEDIUM","QUARTILE","HIGH","newEcl","bb","segs_1","appendBits","modeBits","numChars","numCharCountBits","getData","dataCapacityBits","padByte","getModule","getModules","setFunctionModule","drawFinderPattern","alignPatPos","getAlignmentPatternPositions","numAlign","drawAlignmentPattern","drawVersion","formatBits","rem","bits","getBit","dy","dx","dist","xx","yy","isDark","ver","numBlocks","NUM_ERROR_CORRECTION_BLOCKS","blockEccLen","ECC_CODEWORDS_PER_BLOCK","rawCodewords","getNumRawDataModules","numShortBlocks","shortBlockLen","rsDiv","reedSolomonComputeDivisor","dat","ecc","reedSolomonComputeRemainder","vert","invert","runColor","runX","runHistory","PENALTY_N1","finderPenaltyAddHistory","finderPenaltyCountPatterns","PENALTY_N3","finderPenaltyTerminateAndCount","runY","PENALTY_N2","dark","sum","PENALTY_N4","degree","reedSolomonMultiply","divisor","_loop_2","factor","coef","data_1","core","currentRunColor","currentRunLength","cond","bitData","data_2","Mode","BYTE","makeNumeric","NUMERIC","makeAlphanumeric","isAlphanumeric","temp","ALPHANUMERIC_CHARSET","ALPHANUMERIC","toUtf8ByteArray","makeEci","assignVal","ECI","NUMERIC_REGEX","ALPHANUMERIC_REGEX","segs_2","ccbits","LOW","numBitsCharCount","KANJI","QR","defaultErrorCorrectLevel","ErrorCorrectLevelMap","L","H","SUPPORTS_PATH2D","Path2D","addPath","validErrorCorrectLevel","generatePath","ops","cell","getImageSettings","cells","imageSettings","imageX","imageY","numCells","defaultSize","scale","excavation","excavate","floorX","floorY","excavateModules","QRCodeProps","foreground","gradient","gradientType","gradientStartColor","gradientEndColor","QRCodeVueProps","renderAs","as","QrcodeSvg","imageProps","fgPath","_level","renderGradient","gradientProps","x1","y1","x2","y2","fx","fy","stopColor","xmlns","QrcodeCanvas","canvasEl","imageRef","_margin","image","showImage","naturalWidth","naturalHeight","fillRect","grad","createLinearGradient","createRadialGradient","addColorStop","rdx","cdx","drawImage","onLoad","QrcodeVue","QRCodeVue","PaymentMethod","isInGame","showWait","btnState","listData","inputAmount","showQRInfo","qrCode","currentAmount","currenReceived","statusTimer","showIfram","iframUrl","payStatus","payAmount","orderId","showHelp","qureypaymsg","enableviewtransaction","enableviewtransactionCD","interval","retryCode","showCredited","Configs","rechargeConfig","rechargeRecommendId","reqPrepay","queryOrderStatus","queryOrder","payUrl","getCurrentBonus","minimumRecharge","maximumReward","rewardPercent","tryagain","onTest","par","gototrancation","onCredited","_hoisted_28","_hoisted_33","_hoisted_34","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_36","_component_QRCodeVue","onCopiar","_hoisted_29","_hoisted_30","_hoisted_31","onConfitmer","_hoisted_32","_hoisted_35","onReTry","_component_PaymentMethod","onSelectAmount","rewardType","onRecharge","scrolling","frameborder","getPayerPar","SelectPayMethodsComponent","depositViewForKE","DepositViewForCI","isShowTips","selectBank","defaultType","bonusReward","recommendChannel","recommentConfig","amountObj","isNotRegisterOrActive","isNotBalance","showDepositKEPage","resetKey","bannerUrlForTz","minimum","mathBonus","getConfig","parseErrorTips","checkBannerForTz","bank","isMpesa","maximum","addAmount","adjustSelect","depositAmount","isClose","onSelectBank","isDefault","checkPhonePaymentType","isOther","redirectType","_component_select_pay_methods_component","reduceAmount","isShowFailTips","selectBankAndDeposit","getPayMentMethodStr","_component_van_action_sheet","_component_deposit_view_for_k_e","fromPageCallback","_component_deposit_view_for_c_i","useMillionStore","ccc","spinRequest","winnerRrcord","useCashBackStore","configId","poolType","showTop","checkTopStatus","promotionsKey","promotions","superTopBanner","superLeftBanner","superRightBanner","loadConfig","getBannersByPosition","pigLoad","bigGlobal","BigGlobal","spinType","rewardVal","pageHistory","hasOpened","_component_van_grid","_component_van_grid_item","onNavigate","showBindingPhone","showRegister","showLogin","showSelectCountry","showResetPassword","showChangePassword","nextRouter","changepasswordKey","bindKey","userBarKey","showBoostListPopup","showFirstDepositPopup","showFirstPopup","DhPhoneBinding","Register","Login","SelectCountry","ChangePassWord","ResetPassword","ActiveBoostList","FirstDepositPopup","FirstPopup","updatecollectGameId","onShowMenu","addList","hidePopup","onCancelRegisterPopup","onHideResetPassword","_component_DhPhoneBinding","_component_Register","_component_Login","_component_SelectCountry","_component_ResetPassword","onResetPassword","_component_ChangePassWord","closeChangePassword","_component_ActiveBoostList","_component_first_deposit_popup","_component_first_popup","balanceWidth","_component_van_overlay","$route","onUseBonus","vps","onUseVps","BalanceTips","showBalanceTips","sticky_banners","hideDownloadAppBanner","onDownLoadAPk","showBalanceInfo","balanceRef","checkShowAPPDownloadBanner","_component_van_swipe","_component_van_swipe_item","_component_BalanceTips","factory","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","getWebWorker","setLocationHref","getLocationHref","createTag","extendPrototype","destination","sourcePrototype","attr","getDescriptor","createProxyFunction","ProxyFunction","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","seek","playing","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","createTypedArray","createRegularArray","Uint8ClampedArray","Float32Array","Int16Array","createSizedArray","_typeof$6","subframeEnabled","expressionsPlugin","expressionsInterfaces","idPrefix$1","isSafari","bmPow","pow","bmSqrt","sqrt","bmFloor","bmMax","bmMin","BMMath","propertyNames","absArr","defaultCurveSegments","degToRads","roundCorner","styleDiv","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setExpressionInterfaces","getExpressionInterfaces","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","createNS","_typeof$5","dataManager","workerFn","workerInstance","_counterId","processes","workerProxy","onmessage","_workerSelf","setupWorker","Worker","createObjectURL","completeLayers","layers","comps","layerData","jLen","kLen","completed","hasMask","maskProps","masksProperties","pt","convertPathsToAbsoluteValues","ty","findCompLayers","refId","completeShapes","shapes","completeText","__used","ks","checkVersion","animVersionString","animVersion","minimumVersion","checkText","iterateLayers","textLayer","documentData","animationData","assets","checkChars","chars","charData","ip","op","st","sr","sk","sa","checkPathProperties","pathData","checkColors","iterateShapes","checkShapes","completeClosingShapes","closed","cl","moduleOb","__complete","assetLoader","formatResponse","getResponseHeader","errorCallback","completeData","animation","onComplete","createProcess","loadAnimation","processId","loadData","completeAnimation","anim","ImagePreloader","proxyImage","imageLoaded","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","footageLoaded","getAssetsPath","assetData","assetsPath","originalPath","imagePath","testImageLoaded","img","intervalId","getBBox","_imageLoaded","createFootageData","ob","footageData","_footageLoaded","ImagePreloaderFactory","images","loadAssets","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","getAsset","createImgData","crossOrigin","createImageData","_elementHelper","setCacheType","elementHelper","BaseEvent","triggerEvent","_cbs","markerParser","parsePayloadLines","lines","keysCount","_markers","markers","_marker","markerData","dr","cm","__","ProjectInterface","registerComposition","compositions","_thisProjectFunction","nm","prepareFrame","xt","currentFrame","compInterface","renderers","registerRenderer","getRenderer","getRegisteredRenderer","_typeof$4","AnimationItem","isLoaded","currentRawFrame","frameRate","frameMult","playSpeed","playDirection","playCount","isPaused","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","projectInterface","imagePreloader","audioController","configAnimation","onSetupError","onSegmentComplete","drawnFrameEvent","setParams","animType","RendererClass","rendererSettings","globalData","defs","setProjectInterface","autoloadSegments","initialSegment","setupAnimation","setData","wrapperAttributes","getNamedItem","prerender","includeLayers","newLayers","fonts","fontManager","addChars","addFonts","initExpressions","loadNextSegment","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","animData","fr","searchExtraCompositions","updaFrameModifier","waitForFontsLoaded","triggerConfigError","rendererType","initItems","gotoFrame","_width","_height","updateContainerSize","setSubframe","renderFrame","resetFrame","triggerRenderFrameError","togglePause","setCurrentRawFrameValue","getMarkerData","markerName","marker","goToAndStop","isFrame","numValue","frameModifier","goToAndPlay","playSegments","advanceTime","_isComplete","checkSegments","adjustSegment","setSpeed","setDirection","setSegment","pendingFrame","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","setLoop","isLooping","getPath","getAssetData","hide","getDuration","updateDocumentData","getElementByPath","animationManager","registeredAnimations","initTime","playingAnimationsNum","_isFrozen","removeElement","ev","animItem","subtractPlayingCount","registerAnimation","elem","addPlayingCount","elapsedTime","searchAnimations","standalone","animElements","getElementsByClassName","lenAnims","div","unfreeze","getRegisteredAnimations","animations","BezierFactory","beziers","bezEasing","BezierEasing","kSplineTableSize","kSampleStepSize","float32ArraySupported","A","aA1","aA2","B","calcBezier","aT","getSlope","points","_mSampleValues","_precomputed","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","lastSample","guessForT","initialSlope","aGuessT","currentSlope","aA","aB","currentX","currentT","pooling","double","poolFactory","initialLength","_create","_release","_length","_maxLength","pool","newElement","release","bezierLengthPool","addedLength","percents","lengths","segmentsLengthPool","totalLength","bezFunction","math","pointOnLine2D","x3","y3","det1","getBezierLength","pt1","pt2","pt3","pt4","ptCoord","perc","ptDistance","curveSegments","point","lastPoint","lengthData","BezierData","segmentLength","PointData","partial","partialLength","storedData","buildBezierData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","bezierSegmentPoints","getSegmentsLength","shapeData","segmentsLength","pathV","pathO","pathI","getNewSegment","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","bez","initFrame","mathAbs","interpolateValue","frameNum","caching","offsetTime","pv","keyData","nextKeyData","keyframeMetadata","fnc","iterationIndex","keyframes","keyframesMetadata","endValue","nextKeyTime","keyTime","ti","ind","__fnct","getBezierEasing","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","sh","quaternionToEuler","slerp","createQuaternion","omega","cosom","sinom","scale0","scale1","out","ax","ay","az","aw","bx","by","bz","bw","acos","sin","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","cos","c3","s3","getValueAtCurrentTime","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","_mdf","processEffectsSequence","frameId","effectsSequence","_isFirstFrame","finalValue","kf","addEffect","effectFunction","addDynamicProperty","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","arrLen","PropertyFactory","sid","slotManager","DynamicPropertyContainer","dynamicProperties","_isAnimated","iterateDynamicProperties","initDynamicPropertyContainer","pointPool","ShapePath","setPathData","setLength","doubleArrayLength","setXYAt","setTripleAt","vX","vY","oX","oY","iX","iY","newPath","vertices","outPoints","inPoints","cnt","shapePool","shapePath","shape","ShapeCollection","addShape","releaseShapes","shapeCollectionPool","newShapeCollection","shapeCollection","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","paths","localShapeCollection","shape1","shape2","ShapeProperty","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","convertEllToPath","p0","s0","_cw","_v","StarShapeProperty","StarShapePropertyFactory","sy","ir","convertToPath","convertStarToPath","convertPolygonToPath","or","os","rad","roundness","perimSegment","numPts","angle","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","convertRectToPath","v0","Matrix","_cos","_sin","_tan","tan","_rnd","rotate","mCos","mSin","_t","rotateX","rotateY","rotateZ","shear","sx","skew","skewFromAxis","sz","setTransform","tx","tz","a2","b2","d2","f2","g2","i2","j2","k2","m2","o2","_identityCalculated","a1","b1","d1","f1","g1","h1","i1","j1","k1","l1","m1","o1","multiply","matrix","matrixProps","isIdentity","_identity","equals","matr","cloneFromProps","applyToPoint","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","_typeof$3","lottie","setLocation","setSubframeRendering","setPrefix","setQuality","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","variable","vars","queryString","useWebWorker","setIDPrefix","__getFactory","scripts","myScript","exports","bodymovin","ShapeModifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","PuckerAndBloatModifier","initModifierProperties","addShapeToModifier","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","processShapes","shapePaths","totalShapeLength","edges","newShapesData","addShapes","lastShape","addPaths","newPaths","addSegment","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","processPath","centerPoint","pathLength","clonedPath","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","px","py","pz","rx","ry","rz","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","RepeaterModifier","RoundCornersModifier","floatEqual","floatZero","lerp","lerpPoint","quadRoots","singleRoot","polynomialCoefficients","p3","singlePoint","PolynomialBezier","linearize","pointEqual","coeffx","coeffy","extrema","intersectData","t2","box","boundingBox","splitData","boxIntersect","intersectsImpl","tolerance","intersections","maxRecursion","d1s","d2s","crossProduct","lineIntersection","start1","end1","start2","end2","v3","v4","polarOffset","pointDistance","hypot","ZigZagModifier","setPoint","outputBezier","amplitude","outAmplitude","inAmplitude","angO","angI","getPerpendicularVector","vector","rot","getProjectingAngle","prevIndex","pVector","zigZagCorner","frequency","pointType","prevPoint","nextPoint","prevDist","nextDist","zigZagSegment","normalAngle","linearOffset","offsetSegment","p1a","p1b","p2b","p2a","joinLines","seg1","seg2","lineJoin","miterLimit","angleOut","tangentAngle","angleIn","radius","intersection","getIntersection","intersect","pruneSegmentIntersection","outa","outb","pruneIntersections","offsetSegmentSplit","flex","inflectionPoints","OffsetPathModifier","getFontProperties","fontData","fStyle","fWeight","weight","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","applyTransforms","inv","elemsData","_currentCopies","_elements","_groups","resetElements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","itemsTransform","cont","hasReloaded","copies","group","ix","reloadShapes","elems","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","rd","currentV","currentI","currentO","closerV","newPosPerc","derivative","denom","tcusp","p10","p11","p20","p21","bounds","shapeSegmentInverted","pointsType","ml","lj","inputBezier","multiSegments","lastSeg","multiSegment","FontManager","emptyChar","combinedCharacters","BLACK_FLAG_CODE_POINT","surrogateModifiers","setUpNode","font","family","fontFamily","fontVariant","fontStyle","fontWeight","letterSpacing","familyArray","enabledFamilies","createHelper","engine","fontProps","tHelper","fFamily","fClass","tCanvasHelper","OffscreenCanvas","measureText","getComputedTextLength","getCodePoint","string","isRegionalCode","Font","typekitLoaded","_warned","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","firstCharCode","secondCharCode","isZeroWidthJoiner","charCode","isFlagEmoji","isCombinedCharacter","_char3","isRegionalFlag","isVariationSelector","fontPrototype","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","monoCase","sansCase","fPath","fOrigin","querySelectorAll","getCharData","_char","getFontByName","fName","_char2","fontName","doubleSize","singleSize","loadedCount","SlotManager","slotFactory","RenderableElement","initRenderable","isInRange","isTransparent","renderableComponents","addRenderableComponent","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","finalTransform","mProp","renderConfig","hideOnTransparent","renderRenderable","sourceRectAtTime","getLayerSize","textData","getBlendMode","blendModeEnums","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","EffectsManager","ef","effectElements","effectItem","GroupEffect","BaseElement","FrameElement","FootageElement","imageLoader","initBaseData","AudioElement","_isPlaying","_canPlay","_currentTime","_volumeMultiplier","_previousVolume","_placeholder","lv","au","BaseRenderer","eff","checkMasks","LayerExpressionInterface","EffectsExpressionInterface","ShapeExpressionInterface","TextExpressionInterface","CompExpressionInterface","layerInterface","maskManager","registerMaskInterface","effectsInterface","createEffectsInterface","registerEffectsInterface","shapeInterface","shapesData","itemsData","textInterface","setBlendMode","blendModeValue","baseElement","layerElement","layerId","effectsManager","getType","prepareProperties","isVisible","_isParent","getBaseElement","FootageInterface","getFootageData","timeRemapped","totalVolume","volumeValue","checkLayers","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createCamera","createFootage","buildAllItems","pInterface","progressiveLoad","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","pendingElements","pathValue","setupGlobalData","fontsContainer","animationItem","compSize","effectTypes","TRANSFORM_EFFECT","TransformElement","MaskElement","maskElement","viewData","solidPath","expansor","feMorph","properties","currentMasks","maskType","maskRef","getShapeProp","lastPath","filterID","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","initTransform","_matMdf","_localMatMdf","_opMdf","localMat","localOpacity","ao","renderTransform","finalMat","renderLocalTransform","localTransforms","lmat","localOp","searchEffectTransforms","renderableEffectsManager","transformEffects","getEffects","globalToLocal","transforms","ptNew","mHelper","getMaskProperty","isFirstFrame","getMaskelement","pathNodes","pathString","pathShapeValue","filtersFactory","filId","skipCoordinates","fil","feColorMatrix","featureSupport","svgLumaHidden","offscreenCanvas","registeredEffects$1","idPrefix","SVGEffects","filterManager","createFilter","countsAsEffect","registerEffect$1","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","matteElement","transformedElement","_sizeChanged","layerElementParent","td","matteMasks","gg","ln","hd","cp","clipId","cpGroup","renderElement","destroyBaseElement","createRenderableComponents","getMatte","matteType","useElement","masker","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","setMatte","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","pr","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","transformers","caches","lStr","lvl","SVGStyleData","pElem","msElem","DashProperty","dataProps","dashStr","dashArray","dashoffset","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGNoStyleData","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","SVGTransformData","comparePoints","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","gf","cst","opacityId","maskId","opFill","lc","of","ost","buildShapeString","_o","shapeString","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderNoop","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","createRenderFunction","SVGShapeElement","stylesList","animatedContents","LetterProps","sw","fc","TextProperty","_frameId","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","currentTransform","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentIndex","textKeys","buildFinalText","charactersArray","shouldCombine","shouldCombineNext","currentChars","newLineFlag","letters","anchorGrouping","currentSize","currentPos","currentLine","lineWidth","maxLineWidth","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","uncollapsedSpaces","an","anIndexes","animatorJustifyOffset","animatorData","letterData","based","animators","fh","fs","fb","rn","totalChars","newInd","currentInd","newData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","TextSelectorProp","TextSelectorPropFactory","_currentTextLength","finalS","finalE","xe","ne","sm","getMult","textProperty","easer","tot","smoothness","newCharsFlag","getTextSelectorProp","TextAnimatorDataProperty","animatorProps","defaultData","textAnimatorAnimatables","TextAnimatorProperty","renderType","_hasMaskedPath","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","ITextElement","searchProperties","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","tanAngle","matrixHelper","renderedLettersCount","tLength","pi","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","letterM","letterP","defaultPropsArray","animatorFirstCharOffset","justifyOffsetMult","isNewLine","animatorOffset","atan","textAnimator","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","buildColor","colorData","emptyProp","validateText","buildNewText","emptyShapeData","SVGTextLottieElement","textSpans","ISolidElement","NullElement","SVGRendererBase","ICompElement","SVGCompElement","supports3d","SVGRenderer","svgElement","ariaLabel","titleElement","titleId","descElement","descId","preserveAspectRatio","contentVisibility","viewBoxOnly","viewBoxSize","focusable","filterSize","runExpressions","ShapeTransformManager","sequences","sequenceList","transform_key_count","singleShape","textContainer","buildTextContents","textArray","textContents","currentTextContent","buildShapeData","shapeItem","tSpan","usesGlyphs","cachedSpansLength","childSpan","glyph","glyphElement","_debug","tElement","justify","textBox","bbox","renderedLetter","textSpan","findIndexByInd","appendElementInPos","elementIndex","tp","matteMask","nextElement","setElements","getElements","destroyElements","addTransformSequence","processSequence","processSequences","getNewKey","lumaLoader","lumaBuffer","lumaBufferCtx","svg","loadLuma","_svg","createCanvas","loadLumaCanvas","getLumaCanvas","registeredEffects","CVEffects","registerEffect","CVMaskElement","hasMasks","CVBaseElement","canvasContext","moveTo","lineTo","bezierCurveTo","clip","operationsMap","CVShapeData","transformsManager","styledShapes","styledShape","trNodes","CVShapeElement","CVTextElement","stroke","currentRender","sWidth","fValue","CVImageElement","CVSolidElement","CanvasRendererBase","CanvasContext","strokeStyle","lineCap","CVContextData","cArrPos","cTr","nativeContext","transformMat","currentOpacity","currentFillStyle","appliedFillStyle","currentStrokeStyle","appliedStrokeStyle","currentLineWidth","appliedLineWidth","currentLineCap","appliedLineCap","currentLineJoin","appliedLineJoin","appliedMiterLimit","currentMiterLimit","CVCompElement","CanvasRenderer","clearCanvas","currentGlobalAlpha","contextData","ctxTransform","ctxOpacity","ctxFillStyle","ctxStrokeStyle","ctxLineWidth","ctxLineCap","ctxLineJoin","ctxMiterLimit","ctxFill","ctxFillRect","ctxStroke","HBaseElement","HSolidElement","HShapeElement","shapesContainer","currentBBox","HTextElement","textPaths","isMasked","HCameraElement","pe","_prevMat","HImageElement","HybridRendererBase","threeDElements","camera","HCompElement","HybridRenderer","createElements","buffers","bufferCanvas","bufferCanvas2","_isProxy","transformCanvas","blendMode","globalCompositeOperation","hideElement","showElement","prepareLayer","bufferCtx","getTransform","exitLayer","forceRealStack","restore","transformHelper","dashResetter","preTransforms","co","wi","addTransformToStyleList","removeTransformFromStyleList","closeStyles","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","currentStyle","coOp","grd","setLineDash","lineDashOffset","closePath","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","hasFill","hasStroke","commands","pathArr","commandsCounter","lastFill","lastStroke","lastStrokeW","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","globalAlpha","actionFlag","containerStyle","mozTransformOrigin","setContext","isDashed","elementWidth","elementHeight","elementRel","animationRel","fillType","duplicate","forceRestore","currentContext","prevStack","saveOnNativeFlag","currentStack","newStack","setOpacity","trProps","checkBlendMode","tg","transformedElementStyle","matrixValue","webkitTransform","addEffects","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","yMax","tempBoundingBox","b2ac","calculateF","calculateBoundingBox","expandStrokeBoundingBox","widthProperty","kfw","currentBoxContains","changed","shapeStyle","shapeTransform","compW","compH","innerElemStyle","strokeWidth","lineHeight","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","svgTransform","perspectiveStyle","perspectiveElem","webkitPerspective","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","Image","imageElem","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","startPos","endPos","createThreeDContainer","threeDContainerData","build3dContainers","lastThreeDContainerData","resizerElem","cWidth","cHeight","floatingContainer","_createBaseContainerElements","_thisLayerFunction","pixelAspect","frameDuration","displayStartTime","numLayers","_typeof$2","seedRandom","rngname","startdenom","significance","ARC4","keylen","me","flatten","typ","mixkey","seed","smear","stringseed","tostring","shortseed","entropy","crypto","msCrypto","getRandomValues","browser","plugins","screen","arc4","prng","int32","quick","pass","is_math_call","initialize$2","propTypes","SHAPE","_typeof$1","ExpressionManager","frames","_lottieGlobal","$bm_isInstanceOfArray","isNumerable","tOfV","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","tOfB","lenB","mul","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","mm","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","arr1","arr2","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","noOp","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","valueAtTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","scoped_bm_rt","expression_function","eval","numKeys","wiggle","amp","iWiggle","lenWiggle","addedAmps","periods","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","easeOut","val1","applyEase","easeIn","ease","iKey","lenKey","nearestKey","obKey","framesToTime","fps","timeToFrames","seedrandom","randSeed","posterizeTime","framesPerSecond","hasParent","executeExpression","frameExpressionId","__preventDeadCodeRemoval","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","MaskManagerInterface","MaskInterface","_mask","_data","_masksInterfaces","ExpressionPropertyInterface","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","speedAtTime","getSpeedAtTime","propertyGroup","defaultGetter","arrValue","TransformExpressionInterface","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_px","_py","_pz","_transformFactory","getMatrix","toWorldMat","toWorldVec","applyPoint","fromWorldVec","invertPoint","sampleImage","transformInterface","anchorPointDescriptor","anchor_point","startTime","propertyGroupFactory","interfaceFunction","parentPropertyGroup","PropertyInterface","propertyName","effectsData","createGroupInterface","groupInterface","mn","_propertyGroup","createValueInterface","numProperties","np","expressionProperty","setGroupProperty","ShapePathInterface","view","propertyIndex","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","gradientFillInterfaceFactory","interfaces","transformInterfaceFactory","cix","startPoint","endPoint","_dashPropertyGroup","dashOb","addPropertyToDashOb","dash","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","_interfaceFunction","_sourceText","sourceText","stringValue","fillColor","_typeof","dataInterfaceFactory","outlineInterface","currentPropertyName","currentProperty","propertyNameIndex","dataInterface","footage","getInterface","expressionHelpers","searchExpressions","_cachingAtTime","getStaticValueAtTime","addPropertyDecorator","durationFlag","cycleDuration","firstKeyFrame","lastKeyFrame","initV","endV","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","lastTime","propertyGetShapeProp","trims","initialize$1","addDecorator","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","SVGComposableEffect","createMergeNode","resultId","ins","feMergeNode","feMerge","linearFilterValue","SVGTintFilter","linearFilter","matrixFilter","SVGFillFilter","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","globalFilterSize","feGaussianBlur","feOffset","feFlood","feComposite","colorBlack","colorWhite","groupPath","elemChildren","childNodes","pathMasker","dasharrayValue","getTotalLength","lineLength","units","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","_svgMatteSymbols","SVGMatte3Effect","filterElem","SVGGaussianBlurEffect","TransformEffect","SVGTransformEffect","CVTransformEffect","findSymbol","replaceInParent","symbolId","useElem","setElementAsMask","sigma","dimensions","sigmaX","sigmaY","edgeMode","forceFrame","isUniformScale","scaleHeight","scaleWidth","module","years","hours","minutes","seconds","milliseconds","weeks","$l","negative","parseFromMilliseconds","calMilliseconds","Y","YY","YYYY","MM","DD","HH","ss","SSS","humanize","fromNow","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","isDuration","inviteUser","showProgress","boxStatus","envelopeData","totleAmount","envelopValue","cooldownStr","cooldown","openBox","updateReward","onBackVivaGame","onClickClose","superSimple","mitt","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arr","minLen","_arrayLikeToArray","scriptRef","createJSApi","_scriptRef$current","_h","_q","assignConfiguration","license","chatBetweenGroups","sessionVariables","customIdentityProvider","__lc","chat_between_groups","custom_identity_provider","assignEventHandlers","eventHandlers","onAvailabilityChanged","onVisibilityChanged","onCustomerStatusChanged","onNewEvent","onFormSubmitted","onRatingSubmitted","onGreetingDisplayed","onGreetingHidden","onRichMessageButtonClicked","assignCustomerData","customerData","email","assignVisibility","emitter","lifecycleEmit","createWidget","desiredState","currentEventHandlers","customerName","customerEmail","integration_name","_this","LC_API","on_after_load","updateVisibility","updateEventHandlers","eventHabndlers","updateSessionVariables","hideGreeting","updateCustomerData","widget","_visibility","_this$widget","_this$widget2","_this$widget3","_sessionVariables","_this$widget4","setupWidget","_this$widget5","rating","greeting","availability","reinitialize","_this$widget6","currentTop","showChat","oldScrollTop","itemWidth","itemHeight","gapWidth","coefficientHeight","floatButton","targetTouches","bodyScroll","onBtnClicked","_component_LiveChatWidget","handleNewEvent","onChatOpened","swipeKey","App","AppWeb","imgSrc","getBannerUrl","linksET","linksCI","linksKE","linksTZ","linksGH","onAllGames","onSearchGames","onShowTC","currentLinks","tabItem","rightName","isBig","iscollect","isHot","person","isCollect","hotGame","randomPerson","getRandomValue","changeMin","changeMax","limitMin","limitMax","changeValue","getPersonValue","needRecharge","getIcon","getColor","backColor","getCover","onGame","_withModifiers","onCollect","jackpots","getNameSize","getBackgroundColor","getNameMinSize","GameCard","games","showicon","hideRecommend","getGameList","_component_GameCard","DhGameTitle","Empty","funTab","onReload","categorie","isfirst","_component_DhGameTitle","_component_Empty","isHome","rowslist","navType","navValue","countrys","PersonComponents","mtag","_createStaticVNode","getGameUrl","_component_PersonComponents","requestNotice","startMarquee","isInit","phone_number","unitconversion","getCurrency","game_name","offSetTop","oldvalue","selectFunctionTab","_component_van_sticky","onSelectTab","onSavePwa","useSystemStore","backTimestamp","frontTimestamp","useDailyTaskStore","tasklist","DhMarquee","DhNavTab","DhGridGames","DhListGames","DhFootContent","DhGridListGames","DhLazyBanner","HelpComponents","bannerKey","checkEnvelop","gameListKey","showLuckywheelTips","envelopColor","frontTooth","nologinbanners","scrollableDiv","checkDailytask","getFrontTooth","getNoLogin","taskEvery1","taskEvery2","_component_DhMarquee","_component_DhNavTab","_component_DhGridGames","haveDownBanner","_component_DhLazyBanner","_component_DhGridListGames","_component_DhListGames","_component_DhFootContent","_component_HelpComponents","inviteIcon","offX","guidHand","shareLink","shareText","shareImage","telegramLink","facebookLink","whatsappLink","smsLink","randomNum","srcset","onCopy","openNewBox","onGetNewBox","onFocusPassWord","hostUrl","onCancelLogin","inviteFriends","depositCollected","InviteIcon","withdrawSuccess","collectedList","getList","_component_InviteIcon","getCollectType","ActiveRulePopup","ActiveSuccessPopup","ActiveSharePopup","ActiveRewardPopup","ActiveWithdrawPopup","ActiveUserBar","ActiveMarquee","EnvelopeBoxComponent","Banner","showCanvas","tabs","allGame","showRewardPopup","showSharePopup","showBox","showWithdrawPopup","showSuccessPopup","showRulePopup","animationTotalAmount","countdown","checkBox","expiredAt","invite","gamelist","mathTotalAmount","updateInvite","onBack","localHost","selectTab","_component_ActiveUserBar","onShowRule","_component_ActiveMarquee","_component_Banner","_hoisted_44","_component_EnvelopeBoxComponent","_component_ActiveRewardPopup","_component_ActiveSharePopup","_component_ActiveWithdrawPopup","_component_ActiveSuccessPopup","_component_ActiveRulePopup","EnvelopeHome","DepositViewForKE","useEventDepositStore","NavBar","UserBar","DhMenu","FloatingButton","PopupHome","SystemPopupComponents","EnvelopeNotify","RushDepositButton","resbaseUrl","fullscreen","notifyStr","showNotify","isPaySucess","showInstallPrompt","isShowTop","deeplink","userStatus","race","routeHistory","lastPage","exitApp","cidParam","setOgImage","navigatorByDeepLink","semanticAttributes","transactionID","checkCurrentPage","initCountry","ogimageTag","isFirstLoad","MAX_HISTORY_LENGTH","existingIndex","_component_UserBar","_component_RouterView","_component_NavBar","_component_DhMenu","onTop","_component_FloatingButton","_component_RushDepositButton","_component_PopupHome","_component_SystemPopupComponents","_component_EnvelopeNotify","lastTouchEnd"],"ignoreList":[0,2,3,4,5,6,7,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,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,111,112,113,114,117,118,119,122,123,124,126,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,183,203,214,215,217,218,219,222],"sources":["../../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../src/common/flexible.js","../../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../node_modules/pinia/node_modules/vue-demi/lib/index.mjs","../../../node_modules/pinia/dist/pinia.mjs","../../../node_modules/vue-gtag/dist/vue-gtag.esm.js","../../../src/common/mgtag.js","../../../node_modules/vant/es/utils/basic.mjs","../../../node_modules/vant/es/utils/props.mjs","../../../node_modules/@vant/use/dist/index.esm.mjs","../../../node_modules/vant/es/utils/dom.mjs","../../../node_modules/vant/es/utils/format.mjs","../../../node_modules/vant/es/utils/deep-assign.mjs","../../../node_modules/vant/es/locale/lang/zh-CN.mjs","../../../node_modules/vant/es/locale/index.mjs","../../../node_modules/vant/es/utils/create.mjs","../../../node_modules/vant/es/utils/constant.mjs","../../../node_modules/vant/es/utils/interceptor.mjs","../../../node_modules/vant/es/utils/with-install.mjs","../../../node_modules/vant/es/composables/on-popup-reopen.mjs","../../../node_modules/vant/es/composables/use-height.mjs","../../../node_modules/vant/es/composables/use-placeholder.mjs","../../../node_modules/vant/es/action-bar/ActionBar.mjs","../../../node_modules/vant/es/action-bar/index.mjs","../../../node_modules/vant/es/composables/use-expose.mjs","../../../node_modules/vant/es/composables/use-route.mjs","../../../node_modules/vant/es/badge/Badge.mjs","../../../node_modules/vant/es/badge/index.mjs","../../../node_modules/vant/es/composables/use-global-z-index.mjs","../../../node_modules/vant/es/config-provider/ConfigProvider.mjs","../../../node_modules/vant/es/icon/Icon.mjs","../../../node_modules/vant/es/icon/index.mjs","../../../node_modules/vant/es/loading/Loading.mjs","../../../node_modules/vant/es/loading/index.mjs","../../../node_modules/vant/es/button/Button.mjs","../../../node_modules/vant/es/button/index.mjs","../../../node_modules/vant/es/action-bar-button/ActionBarButton.mjs","../../../node_modules/vant/es/action-bar-button/index.mjs","../../../node_modules/vant/es/popup/shared.mjs","../../../node_modules/vant/es/composables/use-touch.mjs","../../../node_modules/vant/es/composables/use-lock-scroll.mjs","../../../node_modules/vant/es/composables/use-lazy-render.mjs","../../../node_modules/vant/es/composables/use-scope-id.mjs","../../../node_modules/vant/es/overlay/Overlay.mjs","../../../node_modules/vant/es/overlay/index.mjs","../../../node_modules/vant/es/popup/Popup.mjs","../../../node_modules/vant/es/popup/index.mjs","../../../node_modules/vant/es/action-sheet/ActionSheet.mjs","../../../node_modules/vant/es/action-sheet/index.mjs","../../../node_modules/vant/es/picker/PickerToolbar.mjs","../../../node_modules/vant/es/composables/use-sync-prop-ref.mjs","../../../node_modules/vant/es/composables/use-id.mjs","../../../node_modules/vant/es/composables/use-refs.mjs","../../../node_modules/vant/es/composables/use-visibility-change.mjs","../../../node_modules/vant/es/sticky/Sticky.mjs","../../../node_modules/vant/es/sticky/index.mjs","../../../node_modules/vant/es/swipe/Swipe.mjs","../../../node_modules/vant/es/swipe/index.mjs","../../../node_modules/vant/es/tabs/Tabs.mjs","../../../node_modules/vant/es/composables/use-tab-status.mjs","../../../node_modules/vant/es/tab/TabTitle.mjs","../../../node_modules/vant/es/swipe-item/SwipeItem.mjs","../../../node_modules/vant/es/swipe-item/index.mjs","../../../node_modules/vant/es/tab/Tab.mjs","../../../node_modules/vant/es/tab/index.mjs","../../../node_modules/vant/es/picker/Picker.mjs","../../../node_modules/vant/es/cell/Cell.mjs","../../../node_modules/vant/es/cell/index.mjs","../../../node_modules/vant/es/form/Form.mjs","../../../node_modules/vant/es/form/index.mjs","../../../node_modules/vant/es/field/utils.mjs","../../../node_modules/vant/es/field/Field.mjs","../../../node_modules/vant/es/field/index.mjs","../../../node_modules/vant/es/toast/lock-click.mjs","../../../node_modules/vant/es/toast/Toast.mjs","../../../node_modules/vant/es/utils/mount-component.mjs","../../../node_modules/vant/es/toast/function-call.mjs","../../../node_modules/vant/es/toast/index.mjs","../../../node_modules/vant/es/barrage/Barrage.mjs","../../../node_modules/vant/es/barrage/index.mjs","../../../node_modules/vant/es/calendar/utils.mjs","../../../node_modules/vant/es/date-picker/utils.mjs","../../../node_modules/vant/es/calendar/CalendarDay.mjs","../../../node_modules/vant/es/calendar/CalendarMonth.mjs","../../../node_modules/vant/es/calendar/CalendarHeader.mjs","../../../node_modules/vant/es/calendar/Calendar.mjs","../../../node_modules/vant/es/calendar/index.mjs","../../../node_modules/vant/es/cell-group/CellGroup.mjs","../../../node_modules/vant/es/cell-group/index.mjs","../../../node_modules/vant/es/dialog/Dialog.mjs","../../../node_modules/vant/es/dialog/function-call.mjs","../../../node_modules/vant/es/dialog/index.mjs","../../../node_modules/vant/es/grid/Grid.mjs","../../../node_modules/vant/es/grid/index.mjs","../../../node_modules/vant/es/grid-item/GridItem.mjs","../../../node_modules/vant/es/grid-item/index.mjs","../../../node_modules/vant/es/list/List.mjs","../../../node_modules/vant/es/list/index.mjs","../../../node_modules/vant/es/notify/Notify.mjs","../../../node_modules/vant/es/notify/index.mjs","../../../node_modules/@vant/popperjs/dist/index.esm.mjs","../../../node_modules/vant/es/popover/Popover.mjs","../../../node_modules/vant/es/popover/index.mjs","../../../node_modules/vant/es/locale/lang/en-US.mjs","../../../src/common/vant.js","../../../src/event/EventBus.js","../../../src/common/localStorage.js","../../../src/common/config.js","../../../src/event/EventCenter.js","../../../node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../node_modules/vue-i18n/dist/vue-i18n.mjs","../../../src/locales/index.js","../../../src/stores/languages.js","../../../node_modules/airbridge-web-sdk-loader/build/library/airbridge_loader.js","../../../node_modules/airbridge-web-sdk-loader/build/library/flat_keys.js","../../../node_modules/airbridge-web-sdk-loader/build/index.js","../../../src/common/airbridge.js","../../../src/server/socket.js","../../../node_modules/@capacitor/core/dist/index.js","../../../node_modules/@capacitor/filesystem/dist/esm/definitions.js","../../../node_modules/@capacitor/filesystem/dist/esm/index.js","../../../src/common/updateService.js","../../../node_modules/js-base64/base64.mjs","../../../src/utils/helper.js","../../../node_modules/dayjs/dayjs.min.js","../../../src/stores/user.js","../../../node_modules/axios/lib/helpers/bind.js","../../../node_modules/axios/lib/utils.js","../../../node_modules/axios/lib/core/AxiosError.js","../../../node_modules/axios/lib/helpers/null.js","../../../node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/axios/lib/defaults/transitional.js","../../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../../node_modules/axios/lib/platform/browser/index.js","../../../node_modules/axios/lib/platform/common/utils.js","../../../node_modules/axios/lib/platform/index.js","../../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../node_modules/axios/lib/helpers/formDataToJSON.js","../../../node_modules/axios/lib/defaults/index.js","../../../node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/axios/lib/core/AxiosHeaders.js","../../../node_modules/axios/lib/core/transformData.js","../../../node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/axios/lib/core/settle.js","../../../node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/axios/lib/helpers/speedometer.js","../../../node_modules/axios/lib/helpers/throttle.js","../../../node_modules/axios/lib/helpers/progressEventReducer.js","../../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/axios/lib/helpers/cookies.js","../../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/axios/lib/helpers/resolveConfig.js","../../../node_modules/axios/lib/adapters/xhr.js","../../../node_modules/axios/lib/helpers/composeSignals.js","../../../node_modules/axios/lib/helpers/trackStream.js","../../../node_modules/axios/lib/adapters/fetch.js","../../../node_modules/axios/lib/adapters/adapters.js","../../../node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/axios/lib/env/data.js","../../../node_modules/axios/lib/helpers/validator.js","../../../node_modules/axios/lib/core/Axios.js","../../../node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/axios/lib/helpers/spread.js","../../../node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../../node_modules/axios/lib/axios.js","../../../src/common/request.js","../../../src/stores/envelope.js","../../../src/components/EnvelopeNotify.vue","../../../src/components/ChangeLanguage.vue","../../../node_modules/vue-router/dist/vue-router.mjs","../../../src/stores/lobby.js","../../../src/components/Menu.vue","../../../src/components/NavBar.vue","../../../src/common/valiadate.js","../../../src/components/CountrySelectMenu.vue","../../../src/components/InputField.vue","../../../src/components/ChangePassWord.vue","../../../src/components/Login.vue","../../../src/components/PhoneBinding.vue","../../../src/common/mFbq.js","../../../src/components/LobbyVerify.vue","../../../src/components/Register.vue","../../../src/components/SelectCountry.vue","../../../src/components/ResetPassword.vue","../../../src/components/active/ShareProgress.vue","../../../src/components/active/ActiveBoostList.vue","../../../src/components/deposit/SelectPayMethodsComponent.vue","../../../src/stores/deposit.js","../../../src/components/PaymentMethodForKE.vue","../../../node_modules/qrcode.vue/dist/qrcode.vue.esm.js","../../../src/views/DepositViewForKE.vue","../../../src/components/PaymentMethodForCI.vue","../../../src/views/DepositViewForCI.vue","../../../src/components/FirstDepositPopup.vue","../../../src/stores/million.js","../../../src/stores/cashback.js","../../../src/components/FirstPopup.vue","../../../src/components/SystemPopupComponents.vue","../../../src/components/BalanceTipsComponent.vue","../../../src/components/UserBar.vue","../../../node_modules/lottie-web/build/player/lottie.js","../../../node_modules/dayjs/plugin/duration.js","../../../src/components/EnvelopeBoxComponent.vue","../../../node_modules/mitt/dist/mitt.mjs","../../../node_modules/@livechat/widget-core/dist/widget-core.esm.js","../../../node_modules/@livechat/widget-vue/dist/widget-vue.esm.js","../../../src/components/FloatingButton.vue","../../../src/components/PopupHome.vue","../../../node_modules/@capacitor/app/dist/esm/index.js","../../../src/components/DhLazyBanner.vue","../../../src/components/FootContent.vue","../../../src/components/GameTitle.vue","../../../src/components/GameCard.vue","../../../src/components/Empty.vue","../../../src/components/GridGames.vue","../../../src/components/GridListGames.vue","../../../src/components/HelpComponents.vue","../../../src/components/PersonComponents.vue","../../../src/components/ListGames.vue","../../../src/components/Marquee.vue","../../../src/components/NavTab.vue","../../../src/stores/system.js","../../../src/stores/dailyTask.js","../../../src/views/HomeView.vue","../../../src/components/active/ActiveMarquee.vue","../../../src/components/active/ActiveRewardPopup.vue","../../../src/components/active/ActiveRulePopup.vue","../../../src/components/active/ActiveSharePopup.vue","../../../src/components/active/ActiveSuccessPopup.vue","../../../src/components/active/ActiveInputField.vue","../../../src/components/active/ActiveLogin.vue","../../../src/components/active/ActiveLobbyVerify.vue","../../../src/components/active/ActiveRegister.vue","../../../src/components/active/ActiveSelectCountry.vue","../../../src/components/active/ActiveResetPassword.vue","../../../src/components/active/ActiveUserBar.vue","../../../src/components/active/InviteIcon.vue","../../../src/components/active/ActiveWithdrawPopup.vue","../../../src/views/envelope/EnvelopeHome.vue","../../../src/router/index.js","../../../src/components/RushDepositButton.vue","../../../src/stores/eventdeposit.js","../../../src/App.vue","../../../src/main.js"],"sourcesContent":["/**\n* @vue/shared v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n",";(function (doc, win) {\r\n let docEl = doc.documentElement,\r\n resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',\r\n recalc = function () {\r\n let clientWidth = docEl.clientWidth\r\n if (!clientWidth) return\r\n docEl.style.fontSize = 100 * (clientWidth / 750) + 'px'\r\n }\r\n\r\n if (!doc.addEventListener) return\r\n win.addEventListener(resizeEvt, recalc, false)\r\n doc.addEventListener('DOMContentLoaded', recalc, false)\r\n})(document, window)\r\n","/**\n* @vue/reactivity v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(() => {\n mountToTarget();\n n2.el.__isMounted = true;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n delete n1.el.__isMounted;\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*!\n * vue-router v4.5.0\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof document !== 'undefined';\n\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\nfunction isESModule(obj) {\n return (obj.__esModule ||\n obj[Symbol.toStringTag] === 'Module' ||\n // support CF with dynamic imports that do not\n // add the Module string tag\n (obj.default && isRouteComponent(obj.default)));\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\n/**\n * Encoding Rules (␣ = Space)\n * - Path: ␣ \" < > # ? { }\n * - Query: ␣ \" < > # & =\n * - Hash: ␣ \" < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash: decode(hash),\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments.slice(toPosition).join('/'));\n}\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n // TODO: could we use a symbol in the future?\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.scrollX,\n top: window.scrollY,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [START];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push(location);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // TODO: should be kept in queue\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to);\n },\n push(to, data) {\n setLocation(to);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [START];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\n/**\n * Creates a typed NavigationFailure object.\n * @internal\n * @param type - NavigationFailureType\n * @param params - { from, to }\n */\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if (to.path != null)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict && !pattern.endsWith('/'))\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [mainNormalizedRecord];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(\n // we need to normalize again to ensure the `mods` property\n // being non enumerable\n normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n })));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher)) {\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameNameAsAncestor(record, parent);\n }\n removeRoute(record.name);\n }\n }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if (isMatchable(matcher)) {\n insertMatcher(matcher);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n const index = findInsertionIndex(matcher, matchers);\n matchers.splice(index, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n matcher.keys\n .filter(k => !k.optional)\n .concat(matcher.parent ? matcher.parent.keys.filter(k => k.optional) : [])\n .map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if (location.path != null) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n function clearRoutes() {\n matchers.length = 0;\n matcherMap.clear();\n }\n return {\n addRoute,\n resolve,\n removeRoute,\n clearRoutes,\n getRoutes,\n getRecordMatcher,\n };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n const normalized = {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: record.aliasOf,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n // must be declared afterwards\n // mods: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n // mods contain modules and shouldn't be copied,\n // logged or anything. It's just used for internal\n // advanced use cases like data loaders\n Object.defineProperty(normalized, 'mods', {\n value: {},\n });\n return normalized;\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkSameNameAsAncestor(record, parent) {\n for (let ancestor = parent; ancestor; ancestor = ancestor.parent) {\n if (ancestor.record.name === record.name) {\n throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? 'child' : 'descendant'} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n }\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\n/**\n * Performs a binary search to find the correct insertion index for a new matcher.\n *\n * Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n * with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n *\n * @param matcher - new matcher to be inserted\n * @param matchers - existing matchers\n */\nfunction findInsertionIndex(matcher, matchers) {\n // First phase: binary search based on score\n let lower = 0;\n let upper = matchers.length;\n while (lower !== upper) {\n const mid = (lower + upper) >> 1;\n const sortOrder = comparePathParserScore(matcher, matchers[mid]);\n if (sortOrder < 0) {\n upper = mid;\n }\n else {\n lower = mid + 1;\n }\n }\n // Second phase: check for an ancestor with the same score\n const insertionAncestor = getInsertionAncestor(matcher);\n if (insertionAncestor) {\n upper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n if ((process.env.NODE_ENV !== 'production') && upper < 0) {\n // This should never happen\n warn(`Finding ancestor route \"${insertionAncestor.record.path}\" failed for \"${matcher.record.path}\"`);\n }\n }\n return upper;\n}\nfunction getInsertionAncestor(matcher) {\n let ancestor = matcher;\n while ((ancestor = ancestor.parent)) {\n if (isMatchable(ancestor) &&\n comparePathParserScore(matcher, ancestor) === 0) {\n return ancestor;\n }\n }\n return;\n}\n/**\n * Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n * a component, or name, or redirect, are just used to group other routes.\n * @param matcher\n * @param matcher.record record of the matcher\n * @returns\n */\nfunction isMatchable({ record }) {\n return !!(record.name ||\n (record.components && Object.keys(record.components).length) ||\n record.redirect);\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = fn => fn()) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next));\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = fn => fn()) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard &&\n guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // keep the resolved module for plugins like data loaders\n record.mods[name] = resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return (guard &&\n guardToPromiseFn(guard, to, from, record, name, runWithContext)());\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to ``.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // keep the resolved module for plugins like data loaders\n record.mods[name] = resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\n/**\n * Returns the internal behavior of a {@link RouterLink} without the rendering part.\n *\n * @param props - a `to` location and an optional `replace` flag\n */\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n let hasPrevious = false;\n let previousTo = null;\n const route = computed(() => {\n const to = unref(props.to);\n if ((process.env.NODE_ENV !== 'production') && (!hasPrevious || to !== previousTo)) {\n if (!isRouteLocation(to)) {\n if (hasPrevious) {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n }\n else {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n }\n }\n previousTo = to;\n hasPrevious = true;\n }\n return router.resolve(to);\n });\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n const p = router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n if (props.viewTransition &&\n typeof document !== 'undefined' &&\n 'startViewTransition' in document) {\n document.startViewTransition(() => p);\n }\n return p;\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n error: null,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n linkContextDevtools.error = isRouteLocation(unref(props.to))\n ? null\n : 'Invalid \"to\" value';\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nfunction preferSingleVNode(vnodes) {\n return vnodes.length === 1 ? vnodes[0] : vnodes;\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && preferSingleVNode(slots.default(link));\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with & \n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(` can no longer be used directly inside or .\\n` +\n `Use slot props instead:\\n\\n` +\n `\\n` +\n ` <${comp}>\\n` +\n ` \\n` +\n ` \\n` +\n ``);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let label = devtoolsData.route.path;\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n let textColor = 0;\n if (devtoolsData.error) {\n label = devtoolsData.error;\n backgroundColor = RED_100;\n textColor = RED_700;\n }\n else if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label,\n textColor,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nconst RED_100 = 0xfee2e2;\nconst RED_700 = 0xb91c1c;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://router.vuejs.org/api/interfaces/RouterOptions.html#history');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n if ((process.env.NODE_ENV !== 'production') && !parent) {\n warn(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n }\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const resolve: Router['resolve'] = (rawLocation: RouteLocationRaw, currentLocation) => {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n if ((process.env.NODE_ENV !== 'production') && !isRouteLocation(rawLocation)) {\n warn(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n return resolve({});\n }\n let matcherLocation;\n // path could be relative in object as well\n if (rawLocation.path != null) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n newTargetLocation.path == null &&\n !('name' in newTargetLocation)) {\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: newTargetLocation.path != null ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from, runWithContext);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true, force: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(assign(locationAsObject(error.to), {\n force: true,\n }), toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n clearRoutes: matcher.clearRoutes,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute(_name) {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","/*\r\n * @Author: guojia 66291979@qq.com\r\n * @Date: 2024-05-08 23:33:24\r\n * @LastEditors: pluto.guo 66291979@qq.com\r\n * @LastEditTime: 2025-02-10 17:10:21\r\n * @FilePath: /lobby/src/stores/lobby.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport { url } from '@/common/config.js'\r\nimport { Key, setLocalStorage } from '@/common/localStorage'\r\nimport { post } from '@/common/request.js'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { getMobileOperatingSystem } from '@/utils/helper'\r\nimport { defineStore } from 'pinia'\r\nimport { showLoadingToast } from 'vant'\r\nimport { useRoute } from 'vue-router'\r\n\r\nexport const useLobbyStore = defineStore('lobby', {\r\n state: () => {\r\n return {\r\n bannersHomeTop: [],\r\n categories: [],\r\n recommend: [],\r\n functionTabs: [],\r\n functionTabIndex: 0,\r\n collectGameId: -1,\r\n bonusGamecategory: null,\r\n currentGameIsBonus: null,\r\n hasPopup: false,\r\n hasStickyBanner: false,\r\n allBanner: {},\r\n showdownloadBen: true\r\n }\r\n },\r\n getters: {\r\n checkShowAPPDownloadBanner() {\r\n const checkCid = localStorage.getItem('cid')\r\n if (checkCid && (checkCid == 'etAPP16' || checkCid == 'keAPP16')) {\r\n return false\r\n }\r\n const route = useRoute()\r\n if (route && route.name !== 'home') {\r\n return false\r\n }\r\n return (\r\n (this.country == 'ET' || this.country == 'KE') &&\r\n __APP_ENV__ !== 'app' &&\r\n __APP_ENV__ !== 'app_staging' &&\r\n this.showdownloadBen\r\n )\r\n },\r\n country() {\r\n return useUserStore().country\r\n },\r\n app_env() {\r\n return import.meta.env.VITE_APP_ENV == 'app' ? 'app' : 'h5'\r\n },\r\n functionList() {\r\n if (this.categories.length > 0) {\r\n console.log('functionList', this.categories)\r\n /**排序 */\r\n //Home\r\n // var list = [{ name: 'Home', cover: 'bi-house' }]\r\n const fillterGameList = this.categories.filter((itme) => {\r\n return itme.isFunction\r\n })\r\n const hotitem = fillterGameList.find((item) => {\r\n return item.name == 'Hot'\r\n })\r\n var list = [\r\n { name: 'Home', cover: 'bi-house', id: hotitem.id, localName: hotitem.localName }\r\n ]\r\n return list.concat(\r\n fillterGameList.sort((a, b) => {\r\n return b.functionWeight - a.functionWeight\r\n })\r\n )\r\n }\r\n return []\r\n },\r\n hotGame() {\r\n if (this.categories.length > 0) {\r\n console.log('functionList', this.categories)\r\n const fillterGameList = this.categories.filter((item) => {\r\n return item.name == 'HOT' || item.name == 'Hot'\r\n })\r\n return fillterGameList[0]\r\n }\r\n return null\r\n },\r\n bonusGamesID() {\r\n if (this.bonusGamecategory) {\r\n return this.bonusGamecategory.id\r\n } else {\r\n return localStorage.getItem(Key.BonusGamesID)\r\n }\r\n }\r\n },\r\n actions: {\r\n updatecollectGameId(id) {\r\n this.collectGameId = id\r\n },\r\n updateLobby() {\r\n return new Promise((resolve, reject) => {\r\n this.getBannersHomeTop()\r\n .then((r) => {\r\n this.bannersHomeTop = r.banners\r\n this.getCategories()\r\n .then((r) => {\r\n this.categories = r.categories\r\n this.functionTabIndex = 0\r\n this.functionTabs = this.categories\r\n .filter((value) => {\r\n return value.isFunction\r\n })\r\n .sort((a, b) => {\r\n return b.functionWeight - a.functionWeight\r\n })\r\n\r\n this.recommend = this.categories\r\n .filter((value) => {\r\n return value.isRecommend\r\n })\r\n .sort((a, b) => {\r\n return b.recommendWeight - a.recommendWeight\r\n })\r\n\r\n this.bonusGamecategory = this.categories.find((item) => {\r\n return item.name == 'Bonus'\r\n })\r\n localStorage.setItem(Key.BonusGamesID, this.bonusGamecategory.id)\r\n resolve()\r\n })\r\n .catch(() => {\r\n reject()\r\n })\r\n })\r\n .catch(() => {\r\n reject()\r\n })\r\n })\r\n },\r\n selectFunctionTab(index = 0) {\r\n this.functionTabIndex = index\r\n },\r\n batchBanners() {\r\n return post(url.lobby.batchBanners, {\r\n country: this.country\r\n }).then((r) => {\r\n // 将横幅广告按照 position 分类存储到 allBanner 对象中\r\n const allBanner = {}\r\n r.banners.forEach((banner) => {\r\n if (!allBanner[banner.position]) {\r\n allBanner[banner.position] = []\r\n }\r\n allBanner[banner.position].push(banner)\r\n })\r\n // 将分类后的横幅广告存储到 state 中\r\n this.allBanner = allBanner\r\n return this.allBanner\r\n })\r\n },\r\n /**\r\n * 根据位置获取横幅广告\r\n * @param {string} position - 横幅广告的位置标识\r\n * @returns {Array} - 返回指定位置的横幅广告数组,如果没有则返回空数组\r\n */\r\n getBannersByPosition(position) {\r\n // 如果allBanner为空,则先获取横幅广告数据\r\n return new Promise((resolve, reject) => {\r\n if (!this.allBanner || !this.allBanner[position]) {\r\n this.batchBanners()\r\n .then(() => {\r\n resolve(this.allBanner[position] || [])\r\n })\r\n .catch(() => {\r\n reject()\r\n })\r\n } else {\r\n resolve(this.allBanner[position] || [])\r\n }\r\n })\r\n },\r\n getBannerByCountryAndPOsition(country, position) {\r\n return post(url.lobby.banners, { country, position }).then((r) => {\r\n return r.banners || []\r\n })\r\n },\r\n getBannersHomeTop(position = 'home_top') {\r\n if (position == 'sticky_banner') {\r\n const nowTime = new Date()\r\n let time =\r\n nowTime.getUTCFullYear().toString() +\r\n nowTime.getUTCMonth().toString() +\r\n nowTime.getUTCDate().toString()\r\n if (time != localStorage.getItem(Key.StickyBanner)) {\r\n const sticky_banner = this.allBanner[position] || []\r\n this.hasStickyBanner = sticky_banner.length > 0\r\n }\r\n }\r\n return Promise.resolve({ banners: this.allBanner[position] || [] })\r\n // else {\r\n // console.log('getBannersHomeTop', position, this.allBanner)\r\n // return this.batchBanners().then((r) => {\r\n // if (position == 'sticky_banner') {\r\n // const nowTime = new Date()\r\n // let time =\r\n // nowTime.getUTCFullYear().toString() +\r\n // nowTime.getUTCMonth().toString() +\r\n // nowTime.getUTCDate().toString()\r\n // if (time != localStorage.getItem(Key.StickyBanner)) {\r\n // const sticky_banner = r[position] || []\r\n // this.hasStickyBanner = sticky_banner.length > 0\r\n // }\r\n // }\r\n // return { banners: r[position] || [] }\r\n // })\r\n // }\r\n // return post(url.lobby.banners, {\r\n // country: this.country,\r\n // position\r\n // }).then((r) => {\r\n // if (position == 'sticky_banner') {\r\n // const nowTime = new Date()\r\n // let time =\r\n // nowTime.getUTCFullYear().toString() +\r\n // nowTime.getUTCMonth().toString() +\r\n // nowTime.getUTCDate().toString()\r\n // if (time != localStorage.getItem(Key.StickyBanner)) {\r\n // this.hasStickyBanner = r.banners && r.banners.length > 0\r\n // }\r\n // }\r\n // return r\r\n // })\r\n },\r\n hideStickyBanners() {\r\n this.hasStickyBanner = false\r\n const nowTime = new Date()\r\n let time =\r\n nowTime.getUTCFullYear().toString() +\r\n nowTime.getUTCMonth().toString() +\r\n nowTime.getUTCDate().toString()\r\n localStorage.setItem(Key.StickyBanner, time)\r\n },\r\n hideDownloadAppBanner() {\r\n this.showdownloadBen = false\r\n },\r\n getCategories() {\r\n return post(url.game.categories, {\r\n country: this.country\r\n })\r\n },\r\n /**\r\n * 获取游戏列表\r\n * @param {*} category 分类\r\n * @param {*} gameplayTag 游戏玩法标签,用于筛选,全部玩法传空字符串\r\n * @param {*} pageNum 页号\r\n * @param {*} pageSize 每页大小\r\n * @returns\r\n */\r\n getGameList(id = 0, gameplayTag = '', pageNum = 1, pageSize = 20) {\r\n return post(url.game.list, {\r\n country: this.country,\r\n category: parseInt(id),\r\n gameplayTag,\r\n pageNum,\r\n pageSize\r\n })\r\n },\r\n enterGame(gameId) {\r\n showLoadingToast({\r\n message: '',\r\n forbidClick: true,\r\n duration: 10000\r\n })\r\n return new Promise((resolve, reject) => {\r\n post(url.game.enter, { gameId })\r\n .then((res) => {\r\n this.currentGameIsBonus = res.isBonus\r\n setLocalStorage(Key.isBonus, res.isBonus)\r\n resolve(res)\r\n })\r\n .catch((reason) => {\r\n reject(reason)\r\n })\r\n })\r\n },\r\n favorite(gameId, opt) {\r\n if (!gameId) {\r\n gameId = this.collectGameId\r\n }\r\n if (gameId >= 0) {\r\n return post(url.game.favorite, { gameId, opt })\r\n } else {\r\n return Promise.resolve()\r\n }\r\n },\r\n /**\r\n * 下注记录\r\n * @param {Boolean} isBonus 是否查询bonus下注\r\n * @param {Number} pageNum\r\n * @param {Number} pageSize\r\n * @returns\r\n */\r\n records(isBonus = false, pageNum = 1, pageSize = 999, endDate = '', startDate = '') {\r\n return post(url.game.records, { isBonus, pageNum, pageSize, endDate, startDate })\r\n },\r\n notice() {\r\n return post(url.notice.list, { country: this.country })\r\n },\r\n popup() {\r\n return post(url.popup, {\r\n country: this.country,\r\n system: getMobileOperatingSystem(),\r\n terminal: this.app_env\r\n }).then((r) => {\r\n this.hasPopup = r.popUps && r.popUps.length > 0\r\n console.log('11111=>>>>>>>>', this.hasPopup)\r\n return r\r\n })\r\n },\r\n hidePopup() {\r\n this.hasPopup = false\r\n },\r\n getPromotionsBanners() {\r\n return post(url.lobby.promotionsBanners, {\r\n country: this.country\r\n })\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: Pluto 66291979@qq.com\r\n * @Date: 2024-05-27 11:30:29\r\n * @LastEditors: Pluto 66291979@qq.com\r\n * @LastEditTime: 2024-06-13 11:03:38\r\n * @FilePath: \\lobby\\src\\common\\valiadate.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\n// function validateEmail(email) {\r\n// // 邮箱正则表达式\r\n// var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n// var emailRegex = !/^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/.test(value);\r\n// // 使用正则表达式进行验证\r\n// return emailRegex.test(email);\r\n// }\r\n\r\n// 巴西账号校验 BRA\r\n//· 巴西手机号位数和号段规则\r\n//1.手机号可以是10位,也可以是11位;\r\n//2.前两位可输入内容:11~99;\r\n//3.第三位和以后不会进行限制;\r\n// ok, err := regexp.MatchString(\"^([11-99]{2})(\\\\d{8,9})$\", req.Username)\r\n\r\n// 肯尼亚账号校验 KE\r\n//· 肯尼亚手机号位数和号段规则\r\n//1.手机号为10位;\r\n//2.前两位可输入内容:07:Safaricom、06:Airtel、01:Telkom、05:Equitel、02:Faiba;\r\n//3.第三位和以后不会进行限制;\r\n// ok, err := regexp.MatchString(\"^(07|06|01|05|02)(\\\\d{8})$\", req.Username)\r\nimport { i18n } from '@/locales/index.js'\r\n\r\nfunction validateUsername(username) {\r\n console.log(`validateUsername: ${username}`)\r\n const pattern = '^(\\\\d{9,10})$'\r\n const regex = new RegExp(pattern)\r\n if (regex.test(username)) {\r\n return ''\r\n }\r\n return i18n.global.t('register.username-error')\r\n}\r\n\r\n// CheckPasswordRules 校验密码规则\r\n// 1.密码位数为6~24位,如果超过24位无法继续输入;\r\n// 2.密码区域可输入内容为:数字、字母、英文符号;\r\n// 3.密码不可以输入:“空格”;\r\n// ok, _ := regexp.MatchString(\"^[A-Za-z\\\\d!@#$%^&*()-_]{6,24}$\", password)\r\nfunction validatePassword(password) {\r\n console.log(`validatePassword: ${password}`)\r\n const pattern = '^[A-Za-z\\\\d!@#$%^&*()-_]{6,24}$'\r\n const regex = new RegExp(pattern)\r\n if (regex.test(password)) {\r\n return ''\r\n }\r\n return i18n.global.t('register.password-error')\r\n}\r\n\r\nexport { validateUsername, validatePassword }\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: guojia 66291979@qq.com\r\n * @Date: 2024-08-20 14:48:33\r\n * @LastEditors: guojia 66291979@qq.com\r\n * @LastEditTime: 2024-08-20 15:20:29\r\n * @FilePath: /lobby/src/common/mFbq.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nexport const PIXEL_EVENT = {\r\n /** 查看内容_ViewContent*/\r\n VIEW_CONTENT: 'ViewContent',\r\n /** 完成注册_CompleteRegistration*/\r\n COMPLETE_REGISTRATION: 'CompleteRegistration',\r\n /** 登陆-SubmitApplication*/\r\n SUBMIT_APPlICATION: 'SubmitApplication',\r\n /** 开始试用游戏-StartTrial*/\r\n START_TRIAL: 'StartTrial',\r\n /** 加入购物车 -AddToCart*/\r\n ADD_TO_CART: 'AddToCart',\r\n /** 拉起订单-InitiateCheckout*/\r\n INITIATE_CHECKOUT: 'InitiateCheckout',\r\n /** 首充事件-Purchase*/\r\n PURCHASE: 'Purchase',\r\n /** 点击安装PWA-CustomizeProduct*/\r\n CUSTOMIZE_PRODUCT: 'CustomizeProduct'\r\n}\r\n\r\nexport const mfbq = (eventName, eventData) => {\r\n fbq('trackCustom', eventName, eventData)\r\n return\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: guojia 66291979@qq.com\r\n * @Date: 2024-08-21 17:38:48\r\n * @LastEditors: game.pluto.com 66291979@qq.com\r\n * @LastEditTime: 2024-09-19 18:01:59\r\n * @FilePath: /lobby/src/stores/deposit.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request.js'\r\nimport { url } from '@/common/config.js'\r\n\r\nexport const useDepositStore = defineStore('deposit', {\r\n state: () => {\r\n return {\r\n bannersHomeTop: []\r\n }\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n },\r\n userInfo() {\r\n return useUserStore().userInfo\r\n }\r\n },\r\n actions: {\r\n requestConfig() {\r\n return post(url.recharge.config)\r\n },\r\n createOrder(param, account, bankCode, otpCode, routing) {\r\n return new Promise((resolve, reject) => {\r\n post(url.recharge.create, param)\r\n .then(({ id }) => {\r\n // account, bankCode, id, payChannel\r\n post(url.recharge.prepay, {\r\n account,\r\n bankCode, //: 'cbebirr',\r\n id,\r\n payChannel: param.payChannel, //: 'santimPay',\r\n otpCode,\r\n routing\r\n })\r\n .then((response) => {\r\n resolve({ response, id })\r\n })\r\n .catch((err) => {\r\n reject(err)\r\n })\r\n })\r\n .catch((err) => {\r\n reject(err)\r\n })\r\n })\r\n },\r\n createOrderForKE(param) {\r\n return new Promise((resolve, reject) => {\r\n post(url.recharge.create, param)\r\n .then(({ id, fee }) => {\r\n // account, bankCode, id, payChannel\r\n resolve({ id, fee })\r\n })\r\n .catch((err) => {\r\n reject(err)\r\n })\r\n })\r\n },\r\n prepay({ id, payChannel, account, bankCode, otpCode, routing }) {\r\n return post(url.recharge.prepay, {\r\n account,\r\n bankCode, //: 'cbebirr',\r\n id,\r\n payChannel, //: 'santimPay',\r\n otpCode,\r\n routing\r\n })\r\n // .then((response) => {\r\n // resolve(response)\r\n // })\r\n // .catch((err) => {\r\n // reject(err)\r\n // })\r\n },\r\n queryPay(id) {\r\n return post(url.recharge.querypay, { id: parseInt(id) })\r\n },\r\n depositOrders(pageNum, pageSize) {\r\n return post(url.recharge.orders, { pageNum, pageSize })\r\n },\r\n depositActivity() {\r\n return post(url.recharge.depositActivity)\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*!\n * qrcode.vue v3.6.0\n * A Vue.js component to generate QRCode. Both support Vue 2 and Vue 3\n * © 2017-PRESENT @scopewu(https://github.com/scopewu)\n * MIT License.\n */\nimport { defineComponent, ref, onUpdated, h, onMounted, Fragment } from 'vue';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\n/*\n * QR Code generator library (TypeScript)\n *\n * Copyright (c) Project Nayuki. (MIT License)\n * https://www.nayuki.io/page/qr-code-generator-library\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n * - The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * - The Software is provided \"as is\", without warranty of any kind, express or\n * implied, including but not limited to the warranties of merchantability,\n * fitness for a particular purpose and noninfringement. In no event shall the\n * authors or copyright holders be liable for any claim, damages or other\n * liability, whether in an action of contract, tort or otherwise, arising from,\n * out of or in connection with the Software or the use or other dealings in the\n * Software.\n */\nvar qrcodegen;\n(function (qrcodegen) {\n /*---- QR Code symbol class ----*/\n /*\n * A QR Code symbol, which is a type of two-dimension barcode.\n * Invented by Denso Wave and described in the ISO/IEC 18004 standard.\n * Instances of this class represent an immutable square grid of dark and light cells.\n * The class provides static factory functions to create a QR Code from text or binary data.\n * The class covers the QR Code Model 2 specification, supporting all versions (sizes)\n * from 1 to 40, all 4 error correction levels, and 4 character encoding modes.\n *\n * Ways to create a QR Code object:\n * - High level: Take the payload data and call QrCode.encodeText() or QrCode.encodeBinary().\n * - Mid level: Custom-make the list of segments and call QrCode.encodeSegments().\n * - Low level: Custom-make the array of data codeword bytes (including\n * segment headers and final padding, excluding error correction codewords),\n * supply the appropriate version number, and call the QrCode() constructor.\n * (Note that all ways require supplying the desired error correction level.)\n */\n var QrCode = /** @class */ (function () {\n /*-- Constructor (low level) and fields --*/\n // Creates a new QR Code with the given version number,\n // error correction level, data codeword bytes, and mask number.\n // This is a low-level API that most users should not use directly.\n // A mid-level API is the encodeSegments() function.\n function QrCode(\n // The version number of this QR Code, which is between 1 and 40 (inclusive).\n // This determines the size of this barcode.\n version, \n // The error correction level used in this QR Code.\n errorCorrectionLevel, dataCodewords, msk) {\n this.version = version;\n this.errorCorrectionLevel = errorCorrectionLevel;\n // The modules of this QR Code (false = light, true = dark).\n // Immutable after constructor finishes. Accessed through getModule().\n this.modules = [];\n // Indicates function modules that are not subjected to masking. Discarded when constructor finishes.\n this.isFunction = [];\n // Check scalar arguments\n if (version < QrCode.MIN_VERSION || version > QrCode.MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n // Initialize both grids to be size*size arrays of Boolean false\n var row = [];\n for (var i = 0; i < this.size; i++)\n row.push(false);\n for (var i = 0; i < this.size; i++) {\n this.modules.push(row.slice()); // Initially all light\n this.isFunction.push(row.slice());\n }\n // Compute ECC, draw modules\n this.drawFunctionPatterns();\n var allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n // Do masking\n if (msk == -1) { // Automatically choose best mask\n var minPenalty = 1000000000;\n for (var i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n var penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i); // Undoes the mask due to XOR\n }\n }\n assert(0 <= msk && msk <= 7);\n this.mask = msk;\n this.applyMask(msk); // Apply the final choice of mask\n this.drawFormatBits(msk); // Overwrite old format bits\n this.isFunction = [];\n }\n /*-- Static factory functions (high level) --*/\n // Returns a QR Code representing the given Unicode text string at the given error correction level.\n // As a conservative upper bound, this function is guaranteed to succeed for strings that have 738 or fewer\n // Unicode code points (not UTF-16 code units) if the low error correction level is used. The smallest possible\n // QR Code version is automatically chosen for the output. The ECC level of the result may be higher than the\n // ecl argument if it can be done without increasing the version.\n QrCode.encodeText = function (text, ecl) {\n var segs = qrcodegen.QrSegment.makeSegments(text);\n return QrCode.encodeSegments(segs, ecl);\n };\n // Returns a QR Code representing the given binary data at the given error correction level.\n // This function always encodes using the binary segment mode, not any text mode. The maximum number of\n // bytes allowed is 2953. The smallest possible QR Code version is automatically chosen for the output.\n // The ECC level of the result may be higher than the ecl argument if it can be done without increasing the version.\n QrCode.encodeBinary = function (data, ecl) {\n var seg = qrcodegen.QrSegment.makeBytes(data);\n return QrCode.encodeSegments([seg], ecl);\n };\n /*-- Static factory functions (mid level) --*/\n // Returns a QR Code representing the given segments with the given encoding parameters.\n // The smallest possible QR Code version within the given range is automatically\n // chosen for the output. Iff boostEcl is true, then the ECC level of the result\n // may be higher than the ecl argument if it can be done without increasing the\n // version. The mask number is either between 0 to 7 (inclusive) to force that\n // mask, or -1 to automatically choose an appropriate mask (which may be slow).\n // This function allows the user to create a custom sequence of segments that switches\n // between modes (such as alphanumeric and byte) to encode text in less space.\n // This is a mid-level API; the high-level API is encodeText() and encodeBinary().\n QrCode.encodeSegments = function (segs, ecl, minVersion, maxVersion, mask, boostEcl) {\n if (minVersion === void 0) { minVersion = 1; }\n if (maxVersion === void 0) { maxVersion = 40; }\n if (mask === void 0) { mask = -1; }\n if (boostEcl === void 0) { boostEcl = true; }\n if (!(QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= QrCode.MAX_VERSION)\n || mask < -1 || mask > 7)\n throw new RangeError(\"Invalid value\");\n // Find the minimal version number to use\n var version;\n var dataUsedBits;\n for (version = minVersion;; version++) {\n var dataCapacityBits_1 = QrCode.getNumDataCodewords(version, ecl) * 8; // Number of data bits available\n var usedBits = QrSegment.getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits_1) {\n dataUsedBits = usedBits;\n break; // This version number is found to be suitable\n }\n if (version >= maxVersion) // All versions in the range could not fit the given data\n throw new RangeError(\"Data too long\");\n }\n // Increase the error correction level while the data still fits in the current version number\n for (var _i = 0, _a = [QrCode.Ecc.MEDIUM, QrCode.Ecc.QUARTILE, QrCode.Ecc.HIGH]; _i < _a.length; _i++) { // From low to high\n var newEcl = _a[_i];\n if (boostEcl && dataUsedBits <= QrCode.getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n // Concatenate all segments to create the data bit string\n var bb = [];\n for (var _b = 0, segs_1 = segs; _b < segs_1.length; _b++) {\n var seg = segs_1[_b];\n appendBits(seg.mode.modeBits, 4, bb);\n appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);\n for (var _c = 0, _d = seg.getData(); _c < _d.length; _c++) {\n var b = _d[_c];\n bb.push(b);\n }\n }\n assert(bb.length == dataUsedBits);\n // Add terminator and pad up to a byte if applicable\n var dataCapacityBits = QrCode.getNumDataCodewords(version, ecl) * 8;\n assert(bb.length <= dataCapacityBits);\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n assert(bb.length % 8 == 0);\n // Pad with alternating bytes until data capacity is reached\n for (var padByte = 0xEC; bb.length < dataCapacityBits; padByte ^= 0xEC ^ 0x11)\n appendBits(padByte, 8, bb);\n // Pack bits into bytes in big endian\n var dataCodewords = [];\n while (dataCodewords.length * 8 < bb.length)\n dataCodewords.push(0);\n bb.forEach(function (b, i) {\n return dataCodewords[i >>> 3] |= b << (7 - (i & 7));\n });\n // Create the QR Code object\n return new QrCode(version, ecl, dataCodewords, mask);\n };\n /*-- Accessor methods --*/\n // Returns the color of the module (pixel) at the given coordinates, which is false\n // for light or true for dark. The top left corner has the coordinates (x=0, y=0).\n // If the given coordinates are out of bounds, then false (light) is returned.\n QrCode.prototype.getModule = function (x, y) {\n return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];\n };\n QrCode.prototype.getModules = function () {\n return this.modules;\n };\n /*-- Private helper methods for constructor: Drawing function modules --*/\n // Reads this object's version field, and draws and marks all function modules.\n QrCode.prototype.drawFunctionPatterns = function () {\n // Draw horizontal and vertical timing patterns\n for (var i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 == 0);\n this.setFunctionModule(i, 6, i % 2 == 0);\n }\n // Draw 3 finder patterns (all corners except bottom right; overwrites some timing modules)\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n // Draw numerous alignment patterns\n var alignPatPos = this.getAlignmentPatternPositions();\n var numAlign = alignPatPos.length;\n for (var i = 0; i < numAlign; i++) {\n for (var j = 0; j < numAlign; j++) {\n // Don't draw on the three finder corners\n if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n // Draw configuration data\n this.drawFormatBits(0); // Dummy mask value; overwritten later in the constructor\n this.drawVersion();\n };\n // Draws two copies of the format bits (with its own error correction code)\n // based on the given mask and this object's error correction level field.\n QrCode.prototype.drawFormatBits = function (mask) {\n // Calculate error correction code and pack bits\n var data = this.errorCorrectionLevel.formatBits << 3 | mask; // errCorrLvl is uint2, mask is uint3\n var rem = data;\n for (var i = 0; i < 10; i++)\n rem = (rem << 1) ^ ((rem >>> 9) * 0x537);\n var bits = (data << 10 | rem) ^ 0x5412; // uint15\n assert(bits >>> 15 == 0);\n // Draw first copy\n for (var i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (var i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n // Draw second copy\n for (var i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (var i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true); // Always dark\n };\n // Draws two copies of the version bits (with its own error correction code),\n // based on this object's version field, iff 7 <= version <= 40.\n QrCode.prototype.drawVersion = function () {\n if (this.version < 7)\n return;\n // Calculate error correction code and pack bits\n var rem = this.version; // version is uint6, in the range [7, 40]\n for (var i = 0; i < 12; i++)\n rem = (rem << 1) ^ ((rem >>> 11) * 0x1F25);\n var bits = this.version << 12 | rem; // uint18\n assert(bits >>> 18 == 0);\n // Draw two copies\n for (var i = 0; i < 18; i++) {\n var color = getBit(bits, i);\n var a = this.size - 11 + i % 3;\n var b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n };\n // Draws a 9*9 finder pattern including the border separator,\n // with the center module at (x, y). Modules can be out of bounds.\n QrCode.prototype.drawFinderPattern = function (x, y) {\n for (var dy = -4; dy <= 4; dy++) {\n for (var dx = -4; dx <= 4; dx++) {\n var dist = Math.max(Math.abs(dx), Math.abs(dy)); // Chebyshev/infinity norm\n var xx = x + dx;\n var yy = y + dy;\n if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)\n this.setFunctionModule(xx, yy, dist != 2 && dist != 4);\n }\n }\n };\n // Draws a 5*5 alignment pattern, with the center module\n // at (x, y). All modules must be in bounds.\n QrCode.prototype.drawAlignmentPattern = function (x, y) {\n for (var dy = -2; dy <= 2; dy++) {\n for (var dx = -2; dx <= 2; dx++)\n this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);\n }\n };\n // Sets the color of a module and marks it as a function module.\n // Only used by the constructor. Coordinates must be in bounds.\n QrCode.prototype.setFunctionModule = function (x, y, isDark) {\n this.modules[y][x] = isDark;\n this.isFunction[y][x] = true;\n };\n /*-- Private helper methods for constructor: Codewords and masking --*/\n // Returns a new byte string representing the given data with the appropriate error correction\n // codewords appended to it, based on this object's version and error correction level.\n QrCode.prototype.addEccAndInterleave = function (data) {\n var ver = this.version;\n var ecl = this.errorCorrectionLevel;\n if (data.length != QrCode.getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n // Calculate parameter numbers\n var numBlocks = QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n var blockEccLen = QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];\n var rawCodewords = Math.floor(QrCode.getNumRawDataModules(ver) / 8);\n var numShortBlocks = numBlocks - rawCodewords % numBlocks;\n var shortBlockLen = Math.floor(rawCodewords / numBlocks);\n // Split data into blocks and append ECC to each block\n var blocks = [];\n var rsDiv = QrCode.reedSolomonComputeDivisor(blockEccLen);\n for (var i = 0, k = 0; i < numBlocks; i++) {\n var dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n var ecc = QrCode.reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n // Interleave (not concatenate) the bytes from every block into a single sequence\n var result = [];\n var _loop_1 = function (i) {\n blocks.forEach(function (block, j) {\n // Skip the padding byte in short blocks\n if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n };\n for (var i = 0; i < blocks[0].length; i++) {\n _loop_1(i);\n }\n assert(result.length == rawCodewords);\n return result;\n };\n // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire\n // data area of this QR Code. Function modules need to be marked off before this is called.\n QrCode.prototype.drawCodewords = function (data) {\n if (data.length != Math.floor(QrCode.getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n var i = 0; // Bit index into the data\n // Do the funny zigzag scan\n for (var right = this.size - 1; right >= 1; right -= 2) { // Index of right column in each column pair\n if (right == 6)\n right = 5;\n for (var vert = 0; vert < this.size; vert++) { // Vertical counter\n for (var j = 0; j < 2; j++) {\n var x = right - j; // Actual x coordinate\n var upward = ((right + 1) & 2) == 0;\n var y = upward ? this.size - 1 - vert : vert; // Actual y coordinate\n if (!this.isFunction[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n // If this QR Code has any remainder bits (0 to 7), they were assigned as\n // 0/false/light by the constructor and are left unchanged by this method\n }\n }\n }\n assert(i == data.length * 8);\n };\n // XORs the codeword modules in this QR Code with the given mask pattern.\n // The function modules must be marked and the codeword bits must be drawn\n // before masking. Due to the arithmetic of XOR, calling applyMask() with\n // the same mask value a second time will undo the mask. A final well-formed\n // QR Code needs exactly one (not zero, two, etc.) mask applied.\n QrCode.prototype.applyMask = function (mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (var y = 0; y < this.size; y++) {\n for (var x = 0; x < this.size; x++) {\n var invert = void 0;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 == 0;\n break;\n case 1:\n invert = y % 2 == 0;\n break;\n case 2:\n invert = x % 3 == 0;\n break;\n case 3:\n invert = (x + y) % 3 == 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 == 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 == 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 == 0;\n break;\n default: throw new Error(\"Unreachable\");\n }\n if (!this.isFunction[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n };\n // Calculates and returns the penalty score based on state of this QR Code's current modules.\n // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.\n QrCode.prototype.getPenaltyScore = function () {\n var result = 0;\n // Adjacent modules in row having same color, and finder-like patterns\n for (var y = 0; y < this.size; y++) {\n var runColor = false;\n var runX = 0;\n var runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (var x = 0; x < this.size; x++) {\n if (this.modules[y][x] == runColor) {\n runX++;\n if (runX == 5)\n result += QrCode.PENALTY_N1;\n else if (runX > 5)\n result++;\n }\n else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * QrCode.PENALTY_N3;\n }\n // Adjacent modules in column having same color, and finder-like patterns\n for (var x = 0; x < this.size; x++) {\n var runColor = false;\n var runY = 0;\n var runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (var y = 0; y < this.size; y++) {\n if (this.modules[y][x] == runColor) {\n runY++;\n if (runY == 5)\n result += QrCode.PENALTY_N1;\n else if (runY > 5)\n result++;\n }\n else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * QrCode.PENALTY_N3;\n }\n // 2*2 blocks of modules having same color\n for (var y = 0; y < this.size - 1; y++) {\n for (var x = 0; x < this.size - 1; x++) {\n var color = this.modules[y][x];\n if (color == this.modules[y][x + 1] &&\n color == this.modules[y + 1][x] &&\n color == this.modules[y + 1][x + 1])\n result += QrCode.PENALTY_N2;\n }\n }\n // Balance of dark and light modules\n var dark = 0;\n for (var _i = 0, _a = this.modules; _i < _a.length; _i++) {\n var row = _a[_i];\n dark = row.reduce(function (sum, color) { return sum + (color ? 1 : 0); }, dark);\n }\n var total = this.size * this.size; // Note that size is odd, so dark/total != 1/2\n // Compute the smallest integer k >= 0 such that (45-5k)% <= dark/total <= (55+5k)%\n var k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n assert(0 <= k && k <= 9);\n result += k * QrCode.PENALTY_N4;\n assert(0 <= result && result <= 2568888); // Non-tight upper bound based on default values of PENALTY_N1, ..., N4\n return result;\n };\n /*-- Private helper functions --*/\n // Returns an ascending list of positions of alignment patterns for this version number.\n // Each position is in the range [0,177), and are used on both the x and y axes.\n // This could be implemented as lookup table of 40 variable-length lists of integers.\n QrCode.prototype.getAlignmentPatternPositions = function () {\n if (this.version == 1)\n return [];\n else {\n var numAlign = Math.floor(this.version / 7) + 2;\n var step = Math.floor((this.version * 8 + numAlign * 3 + 5) / (numAlign * 4 - 4)) * 2;\n var result = [6];\n for (var pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n };\n // Returns the number of data bits that can be stored in a QR Code of the given version number, after\n // all function modules are excluded. This includes remainder bits, so it might not be a multiple of 8.\n // The result is in the range [208, 29648]. This could be implemented as a 40-entry lookup table.\n QrCode.getNumRawDataModules = function (ver) {\n if (ver < QrCode.MIN_VERSION || ver > QrCode.MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n var result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n var numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n assert(208 <= result && result <= 29648);\n return result;\n };\n // Returns the number of 8-bit data (i.e. not error correction) codewords contained in any\n // QR Code of the given version number and error correction level, with remainder bits discarded.\n // This stateless pure function could be implemented as a (40*4)-cell lookup table.\n QrCode.getNumDataCodewords = function (ver, ecl) {\n return Math.floor(QrCode.getNumRawDataModules(ver) / 8) -\n QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] *\n QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n };\n // Returns a Reed-Solomon ECC generator polynomial for the given degree. This could be\n // implemented as a lookup table over all possible parameter values, instead of as an algorithm.\n QrCode.reedSolomonComputeDivisor = function (degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n // Polynomial coefficients are stored from highest to lowest power, excluding the leading term which is always 1.\n // For example the polynomial x^3 + 255x^2 + 8x + 93 is stored as the uint8 array [255, 8, 93].\n var result = [];\n for (var i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1); // Start off with the monomial x^0\n // Compute the product polynomial (x - r^0) * (x - r^1) * (x - r^2) * ... * (x - r^{degree-1}),\n // and drop the highest monomial term which is always 1x^degree.\n // Note that r = 0x02, which is a generator element of this field GF(2^8/0x11D).\n var root = 1;\n for (var i = 0; i < degree; i++) {\n // Multiply the current product by (x - r^i)\n for (var j = 0; j < result.length; j++) {\n result[j] = QrCode.reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = QrCode.reedSolomonMultiply(root, 0x02);\n }\n return result;\n };\n // Returns the Reed-Solomon error correction codeword for the given data and divisor polynomials.\n QrCode.reedSolomonComputeRemainder = function (data, divisor) {\n var result = divisor.map(function (_) { return 0; });\n var _loop_2 = function (b) {\n var factor = b ^ result.shift();\n result.push(0);\n divisor.forEach(function (coef, i) {\n return result[i] ^= QrCode.reedSolomonMultiply(coef, factor);\n });\n };\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var b = data_1[_i];\n _loop_2(b);\n }\n return result;\n };\n // Returns the product of the two given field elements modulo GF(2^8/0x11D). The arguments and result\n // are unsigned 8-bit integers. This could be implemented as a lookup table of 256*256 entries of uint8.\n QrCode.reedSolomonMultiply = function (x, y) {\n if (x >>> 8 != 0 || y >>> 8 != 0)\n throw new RangeError(\"Byte out of range\");\n // Russian peasant multiplication\n var z = 0;\n for (var i = 7; i >= 0; i--) {\n z = (z << 1) ^ ((z >>> 7) * 0x11D);\n z ^= ((y >>> i) & 1) * x;\n }\n assert(z >>> 8 == 0);\n return z;\n };\n // Can only be called immediately after a light run is added, and\n // returns either 0, 1, or 2. A helper function for getPenaltyScore().\n QrCode.prototype.finderPenaltyCountPatterns = function (runHistory) {\n var n = runHistory[1];\n assert(n <= this.size * 3);\n var core = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0)\n + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n };\n // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().\n QrCode.prototype.finderPenaltyTerminateAndCount = function (currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) { // Terminate dark run\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size; // Add light border to final run\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n };\n // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().\n QrCode.prototype.finderPenaltyAddHistory = function (currentRunLength, runHistory) {\n if (runHistory[0] == 0)\n currentRunLength += this.size; // Add light border to initial run\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n };\n /*-- Constants and tables --*/\n // The minimum version number supported in the QR Code Model 2 standard.\n QrCode.MIN_VERSION = 1;\n // The maximum version number supported in the QR Code Model 2 standard.\n QrCode.MAX_VERSION = 40;\n // For use in getPenaltyScore(), when evaluating which mask is best.\n QrCode.PENALTY_N1 = 3;\n QrCode.PENALTY_N2 = 3;\n QrCode.PENALTY_N3 = 40;\n QrCode.PENALTY_N4 = 10;\n QrCode.ECC_CODEWORDS_PER_BLOCK = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n //0, 1, 2, 3, 4, 5, 6, 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 Error correction level\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // Low\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], // Medium\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // Quartile\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // High\n ];\n QrCode.NUM_ERROR_CORRECTION_BLOCKS = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n //0, 1, 2, 3, 4, 5, 6, 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 Error correction level\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25], // Low\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49], // Medium\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68], // Quartile\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81], // High\n ];\n return QrCode;\n }());\n qrcodegen.QrCode = QrCode;\n // Appends the given number of low-order bits of the given value\n // to the given buffer. Requires 0 <= len <= 31 and 0 <= val < 2^len.\n function appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len != 0)\n throw new RangeError(\"Value out of range\");\n for (var i = len - 1; i >= 0; i--) // Append bit by bit\n bb.push((val >>> i) & 1);\n }\n // Returns true iff the i'th bit of x is set to 1.\n function getBit(x, i) {\n return ((x >>> i) & 1) != 0;\n }\n // Throws an exception if the given condition is false.\n function assert(cond) {\n if (!cond)\n throw new Error(\"Assertion error\");\n }\n /*---- Data segment class ----*/\n /*\n * A segment of character/binary/control data in a QR Code symbol.\n * Instances of this class are immutable.\n * The mid-level way to create a segment is to take the payload data\n * and call a static factory function such as QrSegment.makeNumeric().\n * The low-level way to create a segment is to custom-make the bit buffer\n * and call the QrSegment() constructor with appropriate values.\n * This segment class imposes no length restrictions, but QR Codes have restrictions.\n * Even in the most favorable conditions, a QR Code can only hold 7089 characters of data.\n * Any segment longer than this is meaningless for the purpose of generating QR Codes.\n */\n var QrSegment = /** @class */ (function () {\n /*-- Constructor (low level) and fields --*/\n // Creates a new QR Code segment with the given attributes and data.\n // The character count (numChars) must agree with the mode and the bit buffer length,\n // but the constraint isn't checked. The given bit buffer is cloned and stored.\n function QrSegment(\n // The mode indicator of this segment.\n mode, \n // The length of this segment's unencoded data. Measured in characters for\n // numeric/alphanumeric/kanji mode, bytes for byte mode, and 0 for ECI mode.\n // Always zero or positive. Not the same as the data's bit length.\n numChars, \n // The data bits of this segment. Accessed through getData().\n bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice(); // Make defensive copy\n }\n /*-- Static factory functions (mid level) --*/\n // Returns a segment representing the given binary data encoded in\n // byte mode. All input byte arrays are acceptable. Any text string\n // can be converted to UTF-8 bytes and encoded as a byte mode segment.\n QrSegment.makeBytes = function (data) {\n var bb = [];\n for (var _i = 0, data_2 = data; _i < data_2.length; _i++) {\n var b = data_2[_i];\n appendBits(b, 8, bb);\n }\n return new QrSegment(QrSegment.Mode.BYTE, data.length, bb);\n };\n // Returns a segment representing the given string of decimal digits encoded in numeric mode.\n QrSegment.makeNumeric = function (digits) {\n if (!QrSegment.isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n var bb = [];\n for (var i = 0; i < digits.length;) { // Consume up to 3 digits per iteration\n var n = Math.min(digits.length - i, 3);\n appendBits(parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new QrSegment(QrSegment.Mode.NUMERIC, digits.length, bb);\n };\n // Returns a segment representing the given text string encoded in alphanumeric mode.\n // The characters allowed are: 0 to 9, A to Z (uppercase only), space,\n // dollar, percent, asterisk, plus, hyphen, period, slash, colon.\n QrSegment.makeAlphanumeric = function (text) {\n if (!QrSegment.isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n var bb = [];\n var i;\n for (i = 0; i + 2 <= text.length; i += 2) { // Process groups of 2\n var temp = QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length) // 1 character remaining\n appendBits(QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new QrSegment(QrSegment.Mode.ALPHANUMERIC, text.length, bb);\n };\n // Returns a new mutable list of zero or more segments to represent the given Unicode text string.\n // The result may use various segment modes and switch modes to optimize the length of the bit stream.\n QrSegment.makeSegments = function (text) {\n // Select the most efficient segment encoding automatically\n if (text == \"\")\n return [];\n else if (QrSegment.isNumeric(text))\n return [QrSegment.makeNumeric(text)];\n else if (QrSegment.isAlphanumeric(text))\n return [QrSegment.makeAlphanumeric(text)];\n else\n return [QrSegment.makeBytes(QrSegment.toUtf8ByteArray(text))];\n };\n // Returns a segment representing an Extended Channel Interpretation\n // (ECI) designator with the given assignment value.\n QrSegment.makeEci = function (assignVal) {\n var bb = [];\n if (assignVal < 0)\n throw new RangeError(\"ECI assignment value out of range\");\n else if (assignVal < (1 << 7))\n appendBits(assignVal, 8, bb);\n else if (assignVal < (1 << 14)) {\n appendBits(2, 2, bb);\n appendBits(assignVal, 14, bb);\n }\n else if (assignVal < 1000000) {\n appendBits(6, 3, bb);\n appendBits(assignVal, 21, bb);\n }\n else\n throw new RangeError(\"ECI assignment value out of range\");\n return new QrSegment(QrSegment.Mode.ECI, 0, bb);\n };\n // Tests whether the given string can be encoded as a segment in numeric mode.\n // A string is encodable iff each character is in the range 0 to 9.\n QrSegment.isNumeric = function (text) {\n return QrSegment.NUMERIC_REGEX.test(text);\n };\n // Tests whether the given string can be encoded as a segment in alphanumeric mode.\n // A string is encodable iff each character is in the following set: 0 to 9, A to Z\n // (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.\n QrSegment.isAlphanumeric = function (text) {\n return QrSegment.ALPHANUMERIC_REGEX.test(text);\n };\n /*-- Methods --*/\n // Returns a new copy of the data bits of this segment.\n QrSegment.prototype.getData = function () {\n return this.bitData.slice(); // Make defensive copy\n };\n // (Package-private) Calculates and returns the number of bits needed to encode the given segments at\n // the given version. The result is infinity if a segment has too many characters to fit its length field.\n QrSegment.getTotalBits = function (segs, version) {\n var result = 0;\n for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {\n var seg = segs_2[_i];\n var ccbits = seg.mode.numCharCountBits(version);\n if (seg.numChars >= (1 << ccbits))\n return Infinity; // The segment's length doesn't fit the field's bit width\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n };\n // Returns a new array of bytes representing the given string encoded in UTF-8.\n QrSegment.toUtf8ByteArray = function (str) {\n str = encodeURI(str);\n var result = [];\n for (var i = 0; i < str.length; i++) {\n if (str.charAt(i) != \"%\")\n result.push(str.charCodeAt(i));\n else {\n result.push(parseInt(str.substring(i + 1, i + 3), 16));\n i += 2;\n }\n }\n return result;\n };\n /*-- Constants --*/\n // Describes precisely all strings that are encodable in numeric mode.\n QrSegment.NUMERIC_REGEX = /^[0-9]*$/;\n // Describes precisely all strings that are encodable in alphanumeric mode.\n QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\\/:-]*$/;\n // The set of all legal characters in alphanumeric mode,\n // where each character value maps to the index in the string.\n QrSegment.ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\n return QrSegment;\n }());\n qrcodegen.QrSegment = QrSegment;\n})(qrcodegen || (qrcodegen = {}));\n/*---- Public helper enumeration ----*/\n(function (qrcodegen) {\n (function (QrCode) {\n /*\n * The error correction level in a QR Code symbol. Immutable.\n */\n var Ecc = /** @class */ (function () {\n /*-- Constructor and fields --*/\n function Ecc(\n // In the range 0 to 3 (unsigned 2-bit integer).\n ordinal, \n // (Package-private) In the range 0 to 3 (unsigned 2-bit integer).\n formatBits) {\n this.ordinal = ordinal;\n this.formatBits = formatBits;\n }\n /*-- Constants --*/\n Ecc.LOW = new Ecc(0, 1); // The QR Code can tolerate about 7% erroneous codewords\n Ecc.MEDIUM = new Ecc(1, 0); // The QR Code can tolerate about 15% erroneous codewords\n Ecc.QUARTILE = new Ecc(2, 3); // The QR Code can tolerate about 25% erroneous codewords\n Ecc.HIGH = new Ecc(3, 2); // The QR Code can tolerate about 30% erroneous codewords\n return Ecc;\n }());\n QrCode.Ecc = Ecc;\n })(qrcodegen.QrCode || (qrcodegen.QrCode = {}));\n})(qrcodegen || (qrcodegen = {}));\n/*---- Public helper enumeration ----*/\n(function (qrcodegen) {\n (function (QrSegment) {\n /*\n * Describes how a segment's data bits are interpreted. Immutable.\n */\n var Mode = /** @class */ (function () {\n /*-- Constructor and fields --*/\n function Mode(\n // The mode indicator bits, which is a uint4 value (range 0 to 15).\n modeBits, \n // Number of character count bits for three different version ranges.\n numBitsCharCount) {\n this.modeBits = modeBits;\n this.numBitsCharCount = numBitsCharCount;\n }\n /*-- Method --*/\n // (Package-private) Returns the bit width of the character count field for a segment in\n // this mode in a QR Code at the given version number. The result is in the range [0, 16].\n Mode.prototype.numCharCountBits = function (ver) {\n return this.numBitsCharCount[Math.floor((ver + 7) / 17)];\n };\n /*-- Constants --*/\n Mode.NUMERIC = new Mode(0x1, [10, 12, 14]);\n Mode.ALPHANUMERIC = new Mode(0x2, [9, 11, 13]);\n Mode.BYTE = new Mode(0x4, [8, 16, 16]);\n Mode.KANJI = new Mode(0x8, [8, 10, 12]);\n Mode.ECI = new Mode(0x7, [0, 0, 0]);\n return Mode;\n }());\n QrSegment.Mode = Mode;\n })(qrcodegen.QrSegment || (qrcodegen.QrSegment = {}));\n})(qrcodegen || (qrcodegen = {}));\nvar QR = qrcodegen;\n\nvar defaultErrorCorrectLevel = 'L';\nvar ErrorCorrectLevelMap = {\n L: QR.QrCode.Ecc.LOW,\n M: QR.QrCode.Ecc.MEDIUM,\n Q: QR.QrCode.Ecc.QUARTILE,\n H: QR.QrCode.Ecc.HIGH,\n};\n// Thanks the `qrcode.react`\nvar SUPPORTS_PATH2D = (function () {\n try {\n new Path2D().addPath(new Path2D());\n }\n catch (e) {\n return false;\n }\n return true;\n})();\nfunction validErrorCorrectLevel(level) {\n return level in ErrorCorrectLevelMap;\n}\nfunction generatePath(modules, margin) {\n if (margin === void 0) { margin = 0; }\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n }\n // end of row, clean up or skip\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n }\n else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n return;\n }\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n}\nfunction getImageSettings(cells, size, margin, imageSettings) {\n var width = imageSettings.width, height = imageSettings.height, imageX = imageSettings.x, imageY = imageSettings.y;\n var numCells = cells.length + margin * 2;\n var defaultSize = Math.floor(size * 0.1);\n var scale = numCells / size;\n var w = (width || defaultSize) * scale;\n var h = (height || defaultSize) * scale;\n var x = imageX == null ? cells.length / 2 - w / 2 : imageX * scale;\n var y = imageY == null ? cells.length / 2 - h / 2 : imageY * scale;\n var excavation = null;\n if (imageSettings.excavate) {\n var floorX = Math.floor(x);\n var floorY = Math.floor(y);\n var ceilW = Math.ceil(w + x - floorX);\n var ceilH = Math.ceil(h + y - floorY);\n excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };\n }\n return { x: x, y: y, h: h, w: w, excavation: excavation };\n}\nfunction excavateModules(modules, excavation) {\n return modules.slice().map(function (row, y) {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n return row.map(function (cell, x) {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n return false;\n });\n });\n}\nvar QRCodeProps = {\n value: {\n type: String,\n required: true,\n default: '',\n },\n size: {\n type: Number,\n default: 100,\n },\n level: {\n type: String,\n default: defaultErrorCorrectLevel,\n validator: function (l) { return validErrorCorrectLevel(l); },\n },\n background: {\n type: String,\n default: '#fff',\n },\n foreground: {\n type: String,\n default: '#000',\n },\n margin: {\n type: Number,\n required: false,\n default: 0,\n },\n imageSettings: {\n type: Object,\n required: false,\n default: function () { return ({}); },\n },\n gradient: {\n type: Boolean,\n required: false,\n default: false,\n },\n gradientType: {\n type: String,\n required: false,\n default: 'linear',\n validator: function (t) { return ['linear', 'radial'].indexOf(t) > -1; },\n },\n gradientStartColor: {\n type: String,\n required: false,\n default: '#000',\n },\n gradientEndColor: {\n type: String,\n required: false,\n default: '#fff',\n },\n};\nvar QRCodeVueProps = __assign(__assign({}, QRCodeProps), { renderAs: {\n type: String,\n required: false,\n default: 'canvas',\n validator: function (as) { return ['canvas', 'svg'].indexOf(as) > -1; },\n } });\nvar QrcodeSvg = defineComponent({\n name: 'QRCodeSvg',\n props: QRCodeProps,\n setup: function (props) {\n var numCells = ref(0);\n var fgPath = ref('');\n var imageProps;\n var generate = function () {\n var value = props.value, _level = props.level, _margin = props.margin;\n var margin = _margin >>> 0;\n var level = validErrorCorrectLevel(_level) ? _level : defaultErrorCorrectLevel;\n var cells = QR.QrCode.encodeText(value, ErrorCorrectLevelMap[level]).getModules();\n numCells.value = cells.length + margin * 2;\n if (props.imageSettings.src) {\n var imageSettings = getImageSettings(cells, props.size, margin, props.imageSettings);\n imageProps = {\n x: imageSettings.x + margin,\n y: imageSettings.y + margin,\n width: imageSettings.w,\n height: imageSettings.h,\n };\n if (imageSettings.excavation) {\n cells = excavateModules(cells, imageSettings.excavation);\n }\n }\n // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n fgPath.value = generatePath(cells, margin);\n };\n var renderGradient = function () {\n if (!props.gradient)\n return null;\n var gradientProps = props.gradientType === 'linear'\n ? {\n x1: '0%',\n y1: '0%',\n x2: '100%',\n y2: '100%',\n }\n : {\n cx: '50%',\n cy: '50%',\n r: '50%',\n fx: '50%',\n fy: '50%',\n };\n return h(props.gradientType === 'linear' ? 'linearGradient' : 'radialGradient', __assign({ id: 'qr-gradient' }, gradientProps), [\n h('stop', {\n offset: '0%',\n style: { stopColor: props.gradientStartColor },\n }),\n h('stop', {\n offset: '100%',\n style: { stopColor: props.gradientEndColor },\n }),\n ]);\n };\n generate();\n onUpdated(generate);\n return function () { return h('svg', {\n width: props.size,\n height: props.size,\n 'shape-rendering': \"crispEdges\",\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: \"0 0 \".concat(numCells.value, \" \").concat(numCells.value),\n }, [\n h('defs', {}, [renderGradient()]),\n h('rect', {\n width: '100%',\n height: '100%',\n fill: props.background,\n }),\n h('path', {\n fill: props.gradient ? 'url(#qr-gradient)' : props.foreground,\n d: fgPath.value,\n }),\n props.imageSettings.src && h('image', __assign({ href: props.imageSettings.src }, imageProps)),\n ]); };\n },\n});\nvar QrcodeCanvas = defineComponent({\n name: 'QRCodeCanvas',\n props: QRCodeProps,\n setup: function (props, ctx) {\n var canvasEl = ref(null);\n var imageRef = ref(null);\n var generate = function () {\n var value = props.value, _level = props.level, size = props.size, _margin = props.margin, background = props.background, foreground = props.foreground, gradient = props.gradient, gradientType = props.gradientType, gradientStartColor = props.gradientStartColor, gradientEndColor = props.gradientEndColor;\n var margin = _margin >>> 0;\n var level = validErrorCorrectLevel(_level) ? _level : defaultErrorCorrectLevel;\n var canvas = canvasEl.value;\n if (!canvas) {\n return;\n }\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return;\n }\n var cells = QR.QrCode.encodeText(value, ErrorCorrectLevelMap[level]).getModules();\n var numCells = cells.length + margin * 2;\n var image = imageRef.value;\n var imageProps = { x: 0, y: 0, width: 0, height: 0 };\n var showImage = props.imageSettings.src && image != null && image.naturalWidth !== 0 && image.naturalHeight !== 0;\n if (showImage) {\n var imageSettings = getImageSettings(cells, props.size, margin, props.imageSettings);\n imageProps = {\n x: imageSettings.x + margin,\n y: imageSettings.y + margin,\n width: imageSettings.w,\n height: imageSettings.h,\n };\n if (imageSettings.excavation) {\n cells = excavateModules(cells, imageSettings.excavation);\n }\n }\n var devicePixelRatio = window.devicePixelRatio || 1;\n var scale = (size / numCells) * devicePixelRatio;\n canvas.height = canvas.width = size * devicePixelRatio;\n ctx.scale(scale, scale);\n ctx.fillStyle = background;\n ctx.fillRect(0, 0, numCells, numCells);\n if (gradient) {\n var grad = void 0;\n if (gradientType === 'linear') {\n grad = ctx.createLinearGradient(0, 0, numCells, numCells);\n }\n else {\n grad = ctx.createRadialGradient(numCells / 2, numCells / 2, 0, numCells / 2, numCells / 2, numCells / 2);\n }\n grad.addColorStop(0, gradientStartColor);\n grad.addColorStop(1, gradientEndColor);\n ctx.fillStyle = grad;\n }\n else {\n ctx.fillStyle = foreground;\n }\n if (SUPPORTS_PATH2D) {\n ctx.fill(new Path2D(generatePath(cells, margin)));\n }\n else {\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n if (showImage) {\n ctx.drawImage(image, imageProps.x, imageProps.y, imageProps.width, imageProps.height);\n }\n };\n onMounted(generate);\n onUpdated(generate);\n var style = ctx.attrs.style;\n return function () { return h(Fragment, [\n h('canvas', __assign(__assign({}, ctx.attrs), { ref: canvasEl, style: __assign(__assign({}, style), { width: \"\".concat(props.size, \"px\"), height: \"\".concat(props.size, \"px\") }) })),\n props.imageSettings.src && h('img', {\n ref: imageRef,\n src: props.imageSettings.src,\n style: { display: 'none' },\n onLoad: generate,\n })\n ]); };\n },\n});\nvar QrcodeVue = defineComponent({\n name: 'Qrcode',\n render: function () {\n var _a = this.$props, renderAs = _a.renderAs, value = _a.value, size = _a.size, margin = _a.margin, level = _a.level, background = _a.background, foreground = _a.foreground, imageSettings = _a.imageSettings, gradient = _a.gradient, gradientType = _a.gradientType, gradientStartColor = _a.gradientStartColor, gradientEndColor = _a.gradientEndColor;\n return h(renderAs === 'svg' ? QrcodeSvg : QrcodeCanvas, {\n value: value,\n size: size,\n margin: margin,\n level: level,\n background: background,\n foreground: foreground,\n imageSettings: imageSettings,\n gradient: gradient,\n gradientType: gradientType,\n gradientStartColor: gradientStartColor,\n gradientEndColor: gradientEndColor,\n });\n },\n props: QRCodeVueProps,\n});\n\nexport { QrcodeCanvas, QrcodeSvg, QrcodeVue as default };\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","import { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request'\r\nimport { url } from '@/common/config'\r\n\r\nexport const useMillionStore = defineStore('million', {\r\n state: () => {\r\n return {\r\n ccc: ''\r\n }\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n }\r\n },\r\n actions: {\r\n global() {\r\n return post(url.Million.global)\r\n },\r\n spinRequest(query) {\r\n return post(url.Million.spin, query)\r\n },\r\n cost() {\r\n return post(url.Million.cost)\r\n },\r\n myCode() {\r\n return post(url.Million.myCode)\r\n },\r\n winnerRrcord(query) {\r\n return post(url.Million.rewards, query)\r\n },\r\n record(query) {\r\n return post(url.Million.record, query)\r\n },\r\n history(query) {\r\n return post(url.Million.history, query)\r\n }\r\n }\r\n})\r\n","import { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request'\r\nimport { url } from '@/common/config'\r\n\r\nexport const useCashBackStore = defineStore('cashback', {\r\n state: () => {\r\n return {}\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n }\r\n },\r\n actions: {\r\n load() {\r\n return post(url.cashback.load)\r\n },\r\n collect(configId, poolType) {\r\n return post(url.cashback.collect, { configId, poolType })\r\n },\r\n record(query) {\r\n return post(url.cashback.record, query)\r\n },\r\n marquee() {\r\n let timestamp = new Date().getTime()\r\n return post(url.cashback.marquee, { timestamp })\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var expressionsInterfaces = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['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'];\n var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setExpressionInterfaces = function setExpressionInterfaces(value) {\n expressionsInterfaces = value;\n };\n\n var getExpressionInterfaces = function getExpressionInterfaces() {\n return expressionsInterfaces;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), path, true);\n } catch (error) {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function getRegisteredRenderer() {\n // Returns canvas by default for compatibility\n if (renderers.canvas) {\n return 'canvas';\n } // Returns any renderer that is registered\n\n\n for (var key in renderers) {\n if (renderers[key]) {\n return key;\n }\n }\n\n return '';\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n this.expressionsPlugin = getExpressionsPlugin();\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n if (!params.path) {\n this.trigger('destroy');\n } else {\n this.setParams(params);\n }\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function (width, height) {\n // Adding this validation for backwards compatibility in case an event object was being passed down\n var _width = typeof width === 'number' ? width : undefined;\n\n var _height = typeof height === 'number' ? height : undefined;\n\n this.renderer.updateContainerSize(_width, _height);\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n if (this.expressionsPlugin) {\n this.expressionsPlugin.resetFrame();\n }\n\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_play');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_pause');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.expressionsPlugin = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setLoop = function (isLooping) {\n this.loop = isLooping;\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n var PropertyFactory = function () {\n function getProp(elem, data, type, mult, container) {\n if (data.sid) {\n data = elem.globalData.slotManager.getProp(data);\n }\n\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n ShapePath.prototype.length = function () {\n return this._length;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function multiply(matrix) {\n var matrixProps = matrix.props;\n return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n 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);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.multiply = multiply;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\n case 'propertyFactory':\n return PropertyFactory;\n\n case 'shapePropertyFactory':\n return ShapePropertyFactory;\n\n case 'matrix':\n return Matrix;\n\n default:\n return null;\n }\n }\n\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.12.2';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString = '';\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.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]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n 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]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n this.appliedTransformations = 0;\n this.pre.reset();\n\n if (!this.a.effectsSequence.length) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n 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]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: 'Transform',\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: 'tr'\n });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function floatEqual(a, b) {\n return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n }\n\n function floatZero(f) {\n return Math.abs(f) <= 0.00001;\n }\n\n function lerp(p0, p1, amount) {\n return p0 * (1 - amount) + p1 * amount;\n }\n\n function lerpPoint(p0, p1, amount) {\n return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n }\n\n function quadRoots(a, b, c) {\n // no root\n if (a === 0) return [];\n var s = b * b - 4 * a * c; // Complex roots\n\n if (s < 0) return [];\n var singleRoot = -b / (2 * a); // 1 root\n\n if (s === 0) return [singleRoot];\n var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n return [singleRoot - delta, singleRoot + delta];\n }\n\n function polynomialCoefficients(p0, p1, p2, p3) {\n return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n }\n\n function singlePoint(p) {\n return new PolynomialBezier(p, p, p, p, false);\n }\n\n function PolynomialBezier(p0, p1, p2, p3, linearize) {\n if (linearize && pointEqual(p0, p1)) {\n p1 = lerpPoint(p0, p3, 1 / 3);\n }\n\n if (linearize && pointEqual(p2, p3)) {\n p2 = lerpPoint(p0, p3, 2 / 3);\n }\n\n var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n this.a = [coeffx[0], coeffy[0]];\n this.b = [coeffx[1], coeffy[1]];\n this.c = [coeffx[2], coeffy[2]];\n this.d = [coeffx[3], coeffy[3]];\n this.points = [p0, p1, p2, p3];\n }\n\n PolynomialBezier.prototype.point = function (t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n };\n\n PolynomialBezier.prototype.derivative = function (t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n };\n\n PolynomialBezier.prototype.tangentAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[1], p[0]);\n };\n\n PolynomialBezier.prototype.normalAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[0], p[1]);\n };\n\n PolynomialBezier.prototype.inflectionPoints = function () {\n var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(denom)) return [];\n var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n if (square < 0) return [];\n var root = Math.sqrt(square);\n\n if (floatZero(root)) {\n if (root > 0 && root < 1) return [tcusp];\n return [];\n }\n\n return [tcusp - root, tcusp + root].filter(function (r) {\n return r > 0 && r < 1;\n });\n };\n\n PolynomialBezier.prototype.split = function (t) {\n if (t <= 0) return [singlePoint(this.points[0]), this];\n if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var p10 = lerpPoint(this.points[0], this.points[1], t);\n var p11 = lerpPoint(this.points[1], this.points[2], t);\n var p12 = lerpPoint(this.points[2], this.points[3], t);\n var p20 = lerpPoint(p10, p11, t);\n var p21 = lerpPoint(p11, p12, t);\n var p3 = lerpPoint(p20, p21, t);\n return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n };\n\n function extrema(bez, comp) {\n var min = bez.points[0][comp];\n var max = bez.points[bez.points.length - 1][comp];\n\n if (min > max) {\n var e = max;\n max = min;\n min = e;\n } // Derivative roots to find min/max\n\n\n var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n for (var i = 0; i < f.length; i += 1) {\n if (f[i] > 0 && f[i] < 1) {\n var val = bez.point(f[i])[comp];\n if (val < min) min = val;else if (val > max) max = val;\n }\n }\n\n return {\n min: min,\n max: max\n };\n }\n\n PolynomialBezier.prototype.bounds = function () {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n };\n\n PolynomialBezier.prototype.boundingBox = function () {\n var bounds = this.bounds();\n return {\n left: bounds.x.min,\n right: bounds.x.max,\n top: bounds.y.min,\n bottom: bounds.y.max,\n width: bounds.x.max - bounds.x.min,\n height: bounds.y.max - bounds.y.min,\n cx: (bounds.x.max + bounds.x.min) / 2,\n cy: (bounds.y.max + bounds.y.min) / 2\n };\n };\n\n function intersectData(bez, t1, t2) {\n var box = bez.boundingBox();\n return {\n cx: box.cx,\n cy: box.cy,\n width: box.width,\n height: box.height,\n bez: bez,\n t: (t1 + t2) / 2,\n t1: t1,\n t2: t2\n };\n }\n\n function splitData(data) {\n var split = data.bez.split(0.5);\n return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n }\n\n function boxIntersect(b1, b2) {\n return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n }\n\n function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n if (!boxIntersect(d1, d2)) return;\n\n if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n intersections.push([d1.t, d2.t]);\n return;\n }\n\n var d1s = splitData(d1);\n var d2s = splitData(d2);\n intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n }\n\n PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n if (tolerance === undefined) tolerance = 2;\n if (maxRecursion === undefined) maxRecursion = 7;\n var intersections = [];\n intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n return intersections;\n };\n\n PolynomialBezier.shapeSegment = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n };\n\n PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n };\n\n function crossProduct(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n }\n\n function lineIntersection(start1, end1, start2, end2) {\n var v1 = [start1[0], start1[1], 1];\n var v2 = [end1[0], end1[1], 1];\n var v3 = [start2[0], start2[1], 1];\n var v4 = [end2[0], end2[1], 1];\n var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n if (floatZero(r[2])) return null;\n return [r[0] / r[2], r[1] / r[2]];\n }\n\n function polarOffset(p, angle, length) {\n return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n }\n\n function pointDistance(p1, p2) {\n return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n }\n\n function pointEqual(p1, p2) {\n return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n }\n\n function ZigZagModifier() {}\n\n extendPrototype([ShapeModifier], ZigZagModifier);\n\n ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n\n function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n var angO = angle - Math.PI / 2;\n var angI = angle + Math.PI / 2;\n var px = point[0] + Math.cos(angle) * direction * amplitude;\n var py = point[1] - Math.sin(angle) * direction * amplitude;\n outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n }\n\n function getPerpendicularVector(pt1, pt2) {\n var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n var rot = -Math.PI * 0.5;\n var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n return rotatedVector;\n }\n\n function getProjectingAngle(path, cur) {\n var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n var nextIndex = (cur + 1) % path.length();\n var prevPoint = path.v[prevIndex];\n var nextPoint = path.v[nextIndex];\n var pVector = getPerpendicularVector(prevPoint, nextPoint);\n return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n }\n\n function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n var angle = getProjectingAngle(path, cur);\n var point = path.v[cur % path._length];\n var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n var nextPoint = path.v[(cur + 1) % path._length];\n var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n }\n\n function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n for (var i = 0; i < frequency; i += 1) {\n var t = (i + 1) / (frequency + 1);\n var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n var angle = segment.normalAngle(t);\n var point = segment.point(t);\n setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n direction = -direction;\n }\n\n return direction;\n }\n\n ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n var count = path._length;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n\n if (!path.c) {\n count -= 1;\n }\n\n if (count === 0) return clonedPath;\n var direction = -1;\n var segment = PolynomialBezier.shapeSegment(path, 0);\n zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n for (var i = 0; i < count; i += 1) {\n direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n if (i === count - 1 && !path.c) {\n segment = null;\n } else {\n segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n }\n\n zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n }\n\n return clonedPath;\n };\n\n ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amplitude = this.amplitude.v;\n var frequency = Math.max(0, Math.round(this.frequency.v));\n var pointType = this.pointsType.v;\n\n if (amplitude !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function linearOffset(p1, p2, amount) {\n var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n }\n\n function offsetSegment(segment, amount) {\n var p0;\n var p1a;\n var p1b;\n var p2b;\n var p2a;\n var p3;\n var e;\n e = linearOffset(segment.points[0], segment.points[1], amount);\n p0 = e[0];\n p1a = e[1];\n e = linearOffset(segment.points[1], segment.points[2], amount);\n p1b = e[0];\n p2b = e[1];\n e = linearOffset(segment.points[2], segment.points[3], amount);\n p2a = e[0];\n p3 = e[1];\n var p1 = lineIntersection(p0, p1a, p1b, p2b);\n if (p1 === null) p1 = p1a;\n var p2 = lineIntersection(p2a, p3, p1b, p2b);\n if (p2 === null) p2 = p2a;\n return new PolynomialBezier(p0, p1, p2, p3);\n }\n\n function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n var p0 = seg1.points[3];\n var p1 = seg2.points[0]; // Bevel\n\n if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n if (pointEqual(p0, p1)) return p0; // Round\n\n if (lineJoin === 2) {\n var angleOut = -seg1.tangentAngle(1);\n var angleIn = -seg2.tangentAngle(0) + Math.PI;\n var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n return p1;\n } // Miter\n\n\n var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n var intersection = lineIntersection(t0, p0, p1, t1);\n\n if (intersection && pointDistance(intersection, p0) < miterLimit) {\n outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n return intersection;\n }\n\n return p0;\n }\n\n function getIntersection(a, b) {\n var intersect = a.intersections(b);\n if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n if (intersect.length) return intersect[0];\n return null;\n }\n\n function pruneSegmentIntersection(a, b) {\n var outa = a.slice();\n var outb = b.slice();\n var intersect = getIntersection(a[a.length - 1], b[0]);\n\n if (intersect) {\n outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n outb[0] = b[0].split(intersect[1])[1];\n }\n\n if (a.length > 1 && b.length > 1) {\n intersect = getIntersection(a[0], b[b.length - 1]);\n\n if (intersect) {\n return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n }\n }\n\n return [outa, outb];\n }\n\n function pruneIntersections(segments) {\n var e;\n\n for (var i = 1; i < segments.length; i += 1) {\n e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n segments[i - 1] = e[0];\n segments[i] = e[1];\n }\n\n if (segments.length > 1) {\n e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n segments[segments.length - 1] = e[0];\n segments[0] = e[1];\n }\n\n return segments;\n }\n\n function offsetSegmentSplit(segment, amount) {\n /*\r\n We split each bezier segment into smaller pieces based\r\n on inflection points, this ensures the control point\r\n polygon is convex.\r\n (A cubic bezier can have none, one, or two inflection points)\r\n */\n var flex = segment.inflectionPoints();\n var left;\n var right;\n var split;\n var mid;\n\n if (flex.length === 0) {\n return [offsetSegment(segment, amount)];\n }\n\n if (flex.length === 1 || floatEqual(flex[1], 1)) {\n split = segment.split(flex[0]);\n left = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(right, amount)];\n }\n\n split = segment.split(flex[0]);\n left = split[0];\n var t = (flex[1] - flex[0]) / (1 - flex[0]);\n split = split[1].split(t);\n mid = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n }\n\n function OffsetPathModifier() {}\n\n extendPrototype([ShapeModifier], OffsetPathModifier);\n\n OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n this.lineJoin = data.lj;\n this._isAnimated = this.amount.effectsSequence.length !== 0;\n };\n\n OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n var outputBezier = shapePool.newElement();\n outputBezier.c = inputBezier.c;\n var count = inputBezier.length();\n\n if (!inputBezier.c) {\n count -= 1;\n }\n\n var i;\n var j;\n var segment;\n var multiSegments = [];\n\n for (i = 0; i < count; i += 1) {\n segment = PolynomialBezier.shapeSegment(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n\n if (!inputBezier.c) {\n for (i = count - 1; i >= 0; i -= 1) {\n segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n }\n\n multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n var lastPoint = null;\n var lastSeg = null;\n\n for (i = 0; i < multiSegments.length; i += 1) {\n var multiSegment = multiSegments[i];\n if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n lastSeg = multiSegment[multiSegment.length - 1];\n\n for (j = 0; j < multiSegment.length; j += 1) {\n segment = multiSegment[j];\n\n if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n } else {\n outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n }\n\n outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n lastPoint = segment.points[3];\n }\n }\n\n if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n return outputBezier;\n };\n\n OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n var miterLimit = this.miterLimit.v;\n var lineJoin = this.lineJoin;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.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]);\n var BLACK_FLAG_CODE_POINT = 127988;\n var CANCEL_TAG_CODE_POINT = 917631;\n var A_TAG_CODE_POINT = 917601;\n var Z_TAG_CODE_POINT = 917626;\n var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n // to avoid collisions between equal chars\n\n var index = _char2;\n\n if (!fontData.cache[index]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function getCodePoint(string) {\n var codePoint = 0;\n var first = string.charCodeAt(0);\n\n if (first >= 0xD800 && first <= 0xDBFF) {\n var second = string.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return codePoint;\n } // Skin tone modifiers\n\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(charCode) {\n return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n } // This codepoint may change the appearance of the preceding character.\n // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n // as a colorful image as compared to a monochrome text variant.\n\n\n function isVariationSelector(charCode) {\n return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n } // The regional indicator symbols are a set of 26 alphabetic Unicode\n /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n // two-letter country codes in a way that allows optional special treatment.\n\n\n function isRegionalCode(string) {\n var codePoint = getCodePoint(string);\n\n if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n return true;\n }\n\n return false;\n } // Some Emoji implementations represent combinations of\n // two “regional indicator” letters as a single flag symbol.\n\n\n function isFlagEmoji(string) {\n return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n } // Regional flags start with a BLACK_FLAG_CODE_POINT\n // folowed by 5 chars in the TAG range\n // and end with a CANCEL_TAG_CODE_POINT\n\n\n function isRegionalFlag(text, index) {\n var codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint !== BLACK_FLAG_CODE_POINT) {\n return false;\n }\n\n var count = 0;\n index += 2;\n\n while (count < 5) {\n codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n return false;\n }\n\n count += 1;\n index += 2;\n }\n\n return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isFlagEmoji = isFlagEmoji;\n Font.isRegionalCode = isRegionalCode;\n Font.isCombinedCharacter = isCombinedCharacter;\n Font.isRegionalFlag = isRegionalFlag;\n Font.isVariationSelector = isVariationSelector;\n Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function SlotManager(animationData) {\n this.animationData = animationData;\n }\n\n SlotManager.prototype.getProp = function (data) {\n if (this.animationData.slots && this.animationData.slots[data.sid]) {\n return Object.assign(data, this.animationData.slots[data.sid].p);\n }\n\n return data;\n };\n\n function slotFactory(animationData) {\n return new SlotManager(animationData);\n }\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var LayerExpressionInterface = expressionsInterfaces('layer');\n var EffectsExpressionInterface = expressionsInterfaces('effects');\n var ShapeExpressionInterface = expressionsInterfaces('shape');\n var TextExpressionInterface = expressionsInterfaces('text');\n var CompExpressionInterface = expressionsInterfaces('comp');\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var FootageInterface = expressionsInterfaces('footage');\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementById = function (ind) {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.ind === ind) {\n return this.elements[i];\n }\n }\n\n return null;\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.slotManager = slotFactory(animData);\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n var effectTypes = {\n TRANSFORM_EFFECT: 'transformEFfect'\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n var mat = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _localMatMdf: false,\n _opMdf: false,\n mat: mat,\n localMat: mat,\n localOpacity: 1\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n }\n }\n\n if (this.finalTransform._matMdf) {\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n }\n\n if (this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n }\n },\n renderLocalTransform: function renderLocalTransform() {\n if (this.localTransforms) {\n var i = 0;\n var len = this.localTransforms.length;\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n while (i < len) {\n if (this.localTransforms[i]._mdf) {\n this.finalTransform._localMatMdf = true;\n }\n\n if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n this.finalTransform._opMdf = true;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._localMatMdf) {\n var localMat = this.finalTransform.localMat;\n this.localTransforms[0].matrix.clone(localMat);\n\n for (i = 1; i < len; i += 1) {\n var lmat = this.localTransforms[i].matrix;\n localMat.multiply(lmat);\n }\n\n localMat.multiply(this.finalTransform.mat);\n }\n\n if (this.finalTransform._opMdf) {\n var localOp = this.finalTransform.localOpacity;\n\n for (i = 0; i < len; i += 1) {\n localOp *= this.localTransforms[i].opacity * 0.01;\n }\n\n this.finalTransform.localOpacity = localOp;\n }\n }\n },\n searchEffectTransforms: function searchEffectTransforms() {\n if (this.renderableEffectsManager) {\n var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n if (transformEffects.length) {\n this.localTransforms = [];\n this.finalTransform.localMat = new Matrix();\n var i = 0;\n var len = transformEffects.length;\n\n for (i = 0; i < len; i += 1) {\n this.localTransforms.push(transformEffects[i]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true,\n svgLumaHidden: true,\n offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\n };\n\n if (/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)) {\n ob.maskType = false;\n }\n\n if (/firefox/i.test(navigator.userAgent)) {\n ob.svgLumaHidden = false;\n }\n\n return ob;\n }();\n\n var registeredEffects$1 = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects$1[type]) {\n var Effect = registeredEffects$1[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects$1[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n SVGEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect$1(id, effect, countsAsEffect) {\n registeredEffects$1[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n if (this.data.td) {\n this.matteMasks = {};\n var gg = createNS('g');\n gg.setAttribute('id', this.layerId);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n this.globalData.defs.appendChild(gg);\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._localMatMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n this.searchEffectTransforms();\n },\n getMatte: function getMatte(matteType) {\n // This should not be a common case. But for backward compatibility, we'll create the matte object.\n // It solves animations that have two consecutive layers marked as matte masks.\n // Which is an undefined behavior in AE.\n if (!this.matteMasks) {\n this.matteMasks = {};\n }\n\n if (!this.matteMasks[matteType]) {\n var id = this.layerId + '_' + matteType;\n var filId;\n var fil;\n var useElement;\n var gg;\n\n if (matteType === 1 || matteType === 3) {\n var masker = createNS('mask');\n masker.setAttribute('id', id);\n masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n masker.appendChild(useElement);\n this.globalData.defs.appendChild(masker);\n\n if (!featureSupport.maskType && matteType === 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(useElement);\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (matteType === 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', id);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n maskGrouper.appendChild(useElement);\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n\n this.matteMasks[matteType] = id;\n }\n\n return this.matteMasks[matteType];\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n\n if (this.assetData && this.assetData.sid) {\n this.assetData = globalData.slotManager.getProp(this.assetData);\n }\n\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n mat.multiply(itemData.transformers[k].mProps.v);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n\n if (data.d && data.d.sid) {\n data.d = elem.globalData.slotManager.getProp(data.d);\n }\n\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n var shouldCombineNext = false;\n var currentChars = '';\n\n while (i < len) {\n shouldCombine = shouldCombineNext;\n shouldCombineNext = false;\n charCode = text.charCodeAt(i);\n currentChars = text.charAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n if (FontManager.isRegionalFlag(text, i)) {\n currentChars = text.substr(i, 14);\n } else {\n secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (FontManager.isModifier(charCode, secondCharCode)) {\n currentChars = text.substr(i, 2);\n shouldCombine = true;\n } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n currentChars = text.substr(i, 4);\n } else {\n currentChars = text.substr(i, 2);\n }\n }\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isVariationSelector(charCode)) {\n shouldCombine = true;\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n shouldCombine = true;\n shouldCombineNext = true;\n }\n\n if (shouldCombine) {\n charactersArray[charactersArray.length - 1] += currentChars;\n shouldCombine = false;\n } else {\n charactersArray.push(currentChars);\n }\n\n i += currentChars.length;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.setCurrentData(dData);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n ITextElement.prototype.validateText = function () {\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n this.validateText();\n\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.findIndexByInd = function (ind) {\n var i = 0;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ind === ind) {\n return i;\n }\n }\n\n return -1;\n };\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n if (elementIndex === -1) {\n return;\n }\n\n if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n this.buildItem(elementIndex);\n this.addPendingElement(element);\n } else {\n var matteElement = elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[pos].tt);\n element.setMatte(matteMask);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n var matteElement = this.elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[i].tt);\n element.setMatte(matteMask);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height,\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n var lumaLoader = function lumaLoader() {\n var id = '__lottie_element_luma_buffer';\n var lumaBuffer = null;\n var lumaBufferCtx = null;\n var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n // Naming it solution 2 to mark the extra comment lines.\n\n /*\r\n var svgString = [\r\n '',\r\n '',\r\n '',\r\n '',\r\n '',\r\n ].join('');\r\n var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var url = URL.createObjectURL(blob);\r\n */\n\n function createLumaSvgFilter() {\n var _svg = createNS('svg');\n\n var fil = createNS('filter');\n var matrix = createNS('feColorMatrix');\n fil.setAttribute('id', id);\n matrix.setAttribute('type', 'matrix');\n matrix.setAttribute('color-interpolation-filters', 'sRGB');\n matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n fil.appendChild(matrix);\n\n _svg.appendChild(fil);\n\n _svg.setAttribute('id', id + '_svg');\n\n if (featureSupport.svgLumaHidden) {\n _svg.style.display = 'none';\n }\n\n return _svg;\n }\n\n function loadLuma() {\n if (!lumaBuffer) {\n svg = createLumaSvgFilter();\n document.body.appendChild(svg);\n lumaBuffer = createTag('canvas');\n lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n lumaBufferCtx.fillRect(0, 0, 1, 1);\n }\n }\n\n function getLuma(canvas) {\n if (!lumaBuffer) {\n loadLuma();\n }\n\n lumaBuffer.width = canvas.width;\n lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n return lumaBuffer;\n }\n\n return {\n load: loadLuma,\n get: getLuma\n };\n };\n\n function createCanvas(width, height) {\n if (featureSupport.offscreenCanvas) {\n return new OffscreenCanvas(width, height);\n }\n\n var canvas = createTag('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n var assetLoader = function () {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas: createCanvas\n };\n }();\n\n var registeredEffects = {};\n\n function CVEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n CVEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect(id, effect) {\n registeredEffects[id] = {\n effect: effect\n };\n }\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n var operationsMap = {\n 1: 'source-in',\n 2: 'source-out',\n 3: 'source-in',\n 4: 'source-out'\n };\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n // If the layer is masked we will use two buffers to store each different states of the drawing\n // This solution is not ideal for several reason. But unfortunately, because of the recursive\n // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n // It might be challenging because the layer most likely is transformed in some way\n if (this.data.tt >= 1) {\n this.buffers = [];\n var canvasContext = this.globalData.canvasContext;\n var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas);\n var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas2);\n\n if (this.data.tt >= 3 && !document._isProxy) {\n assetLoader.loadLumaCanvas();\n }\n }\n\n this.canvasContext = this.globalData.canvasContext;\n this.transformCanvas = this.globalData.transformCanvas;\n this.renderableEffectsManager = new CVEffects(this);\n this.searchEffectTransforms();\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n clearCanvas: function clearCanvas(canvasContext) {\n canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function prepareLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[0];\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n this.currentTransform = this.canvasContext.getTransform();\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function exitLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n // that only contains the content of this layer\n // (if it is a composition, it also includes the nested layers)\n\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx);\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n if (this.data.tt >= 3 && !document._isProxy) {\n // We copy the painted mask to a buffer that has a color matrix filter applied to it\n // that applies the rgb values to the alpha channel\n var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n var lumaBufferCtx = lumaBuffer.getContext('2d');\n lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n this.canvasContext.drawImage(lumaBuffer, 0, 0);\n }\n\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n // We use destination-over to draw the global drawing below the current layer\n\n this.canvasContext.globalCompositeOperation = 'destination-over';\n this.canvasContext.drawImage(this.buffers[0], 0, 0);\n this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n this.canvasContext.globalCompositeOperation = 'source-over';\n }\n },\n renderFrame: function renderFrame(forceRender) {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n if (this.data.td === 1 && !forceRender) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.prepareLayer();\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n this.exitLayer();\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n } else {\n renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n // ctx.stroke();\n renderer.ctxStroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n // ctx.fill(currentStyle.r);\n this.globalData.renderer.ctxFill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n var renderer = this.globalData.renderer;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n renderer.save();\n renderer.ctxTransform(renderedLetter.p);\n renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n renderer.ctxFillStyle(renderedLetter.fc);\n lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxFill(); // this.globalData.canvasContext.fill();\n /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n // var ctx = this.canvasContext;\n this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n //\n };\n\n function CanvasRendererBase() {}\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n };\n\n CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n this.canvasContext.fillStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n this.canvasContext.strokeStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n this.canvasContext.lineWidth = value;\n };\n\n CanvasRendererBase.prototype.ctxLineCap = function (value) {\n this.canvasContext.lineCap = value;\n };\n\n CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n this.canvasContext.lineJoin = value;\n };\n\n CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n this.canvasContext.miterLimit = value;\n };\n\n CanvasRendererBase.prototype.ctxFill = function (rule) {\n this.canvasContext.fill(rule);\n };\n\n CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n this.canvasContext.fillRect(x, y, w, h);\n };\n\n CanvasRendererBase.prototype.ctxStroke = function () {\n this.canvasContext.stroke();\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function () {\n this.canvasContext.save();\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.restore(actionFlag);\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.contextData.setContext(this.canvasContext);\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (width) {\n elementWidth = width;\n elementHeight = height;\n this.canvasContext.canvas.width = elementWidth;\n this.canvasContext.canvas.height = elementHeight;\n } else {\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n } else {\n elementWidth = this.canvasContext.canvas.width;\n elementHeight = this.canvasContext.canvas.height;\n }\n\n this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n 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];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CanvasContext() {\n this.opacity = -1;\n this.transform = createTypedArray('float32', 16);\n this.fillStyle = '';\n this.strokeStyle = '';\n this.lineWidth = '';\n this.lineCap = '';\n this.lineJoin = '';\n this.miterLimit = '';\n this.id = Math.random();\n }\n\n function CVContextData() {\n this.stack = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n var i;\n var len = 15;\n\n for (i = 0; i < len; i += 1) {\n var canvasContext = new CanvasContext();\n this.stack[i] = canvasContext;\n }\n\n this._length = len;\n this.nativeContext = null;\n this.transformMat = new Matrix();\n this.currentOpacity = 1; //\n\n this.currentFillStyle = '';\n this.appliedFillStyle = ''; //\n\n this.currentStrokeStyle = '';\n this.appliedStrokeStyle = ''; //\n\n this.currentLineWidth = '';\n this.appliedLineWidth = ''; //\n\n this.currentLineCap = '';\n this.appliedLineCap = ''; //\n\n this.currentLineJoin = '';\n this.appliedLineJoin = ''; //\n\n this.appliedMiterLimit = '';\n this.currentMiterLimit = '';\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.stack[i] = new CanvasContext();\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.stack[this.cArrPos].opacity = 1;\n };\n\n CVContextData.prototype.restore = function (forceRestore) {\n this.cArrPos -= 1;\n var currentContext = this.stack[this.cArrPos];\n var transform = currentContext.transform;\n var i;\n var arr = this.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = transform[i];\n }\n\n if (forceRestore) {\n this.nativeContext.restore();\n var prevStack = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = prevStack.fillStyle;\n this.appliedStrokeStyle = prevStack.strokeStyle;\n this.appliedLineWidth = prevStack.lineWidth;\n this.appliedLineCap = prevStack.lineCap;\n this.appliedLineJoin = prevStack.lineJoin;\n this.appliedMiterLimit = prevStack.miterLimit;\n }\n\n this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n this.nativeContext.globalAlpha = currentContext.opacity;\n this.currentOpacity = currentContext.opacity;\n }\n\n this.currentFillStyle = currentContext.fillStyle;\n this.currentStrokeStyle = currentContext.strokeStyle;\n this.currentLineWidth = currentContext.lineWidth;\n this.currentLineCap = currentContext.lineCap;\n this.currentLineJoin = currentContext.lineJoin;\n this.currentMiterLimit = currentContext.miterLimit;\n };\n\n CVContextData.prototype.save = function (saveOnNativeFlag) {\n if (saveOnNativeFlag) {\n this.nativeContext.save();\n }\n\n var props = this.cTr.props;\n\n if (this._length <= this.cArrPos) {\n this.duplicate();\n }\n\n var currentStack = this.stack[this.cArrPos];\n var i;\n\n for (i = 0; i < 16; i += 1) {\n currentStack.transform[i] = props[i];\n }\n\n this.cArrPos += 1;\n var newStack = this.stack[this.cArrPos];\n newStack.opacity = currentStack.opacity;\n newStack.fillStyle = currentStack.fillStyle;\n newStack.strokeStyle = currentStack.strokeStyle;\n newStack.lineWidth = currentStack.lineWidth;\n newStack.lineCap = currentStack.lineCap;\n newStack.lineJoin = currentStack.lineJoin;\n newStack.miterLimit = currentStack.miterLimit;\n };\n\n CVContextData.prototype.setOpacity = function (value) {\n this.stack[this.cArrPos].opacity = value;\n };\n\n CVContextData.prototype.setContext = function (value) {\n this.nativeContext = value;\n };\n\n CVContextData.prototype.fillStyle = function (value) {\n if (this.stack[this.cArrPos].fillStyle !== value) {\n this.currentFillStyle = value;\n this.stack[this.cArrPos].fillStyle = value;\n }\n };\n\n CVContextData.prototype.strokeStyle = function (value) {\n if (this.stack[this.cArrPos].strokeStyle !== value) {\n this.currentStrokeStyle = value;\n this.stack[this.cArrPos].strokeStyle = value;\n }\n };\n\n CVContextData.prototype.lineWidth = function (value) {\n if (this.stack[this.cArrPos].lineWidth !== value) {\n this.currentLineWidth = value;\n this.stack[this.cArrPos].lineWidth = value;\n }\n };\n\n CVContextData.prototype.lineCap = function (value) {\n if (this.stack[this.cArrPos].lineCap !== value) {\n this.currentLineCap = value;\n this.stack[this.cArrPos].lineCap = value;\n }\n };\n\n CVContextData.prototype.lineJoin = function (value) {\n if (this.stack[this.cArrPos].lineJoin !== value) {\n this.currentLineJoin = value;\n this.stack[this.cArrPos].lineJoin = value;\n }\n };\n\n CVContextData.prototype.miterLimit = function (value) {\n if (this.stack[this.cArrPos].miterLimit !== value) {\n this.currentMiterLimit = value;\n this.stack[this.cArrPos].miterLimit = value;\n }\n };\n\n CVContextData.prototype.transform = function (props) {\n this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n currentTransform.cloneFromProps(this.transformMat.props);\n var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CVContextData.prototype.opacity = function (op) {\n var currentOpacity = this.stack[this.cArrPos].opacity;\n currentOpacity *= op < 0 ? 0 : op;\n\n if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n if (this.currentOpacity !== op) {\n this.nativeContext.globalAlpha = op;\n this.currentOpacity = op;\n }\n\n this.stack[this.cArrPos].opacity = currentOpacity;\n }\n };\n\n CVContextData.prototype.fill = function (rule) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fill(rule);\n };\n\n CVContextData.prototype.fillRect = function (x, y, w, h) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fillRect(x, y, w, h);\n };\n\n CVContextData.prototype.stroke = function () {\n if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n this.appliedStrokeStyle = this.currentStrokeStyle;\n this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n }\n\n if (this.appliedLineWidth !== this.currentLineWidth) {\n this.appliedLineWidth = this.currentLineWidth;\n this.nativeContext.lineWidth = this.appliedLineWidth;\n }\n\n if (this.appliedLineCap !== this.currentLineCap) {\n this.appliedLineCap = this.currentLineCap;\n this.nativeContext.lineCap = this.appliedLineCap;\n }\n\n if (this.appliedLineJoin !== this.currentLineJoin) {\n this.appliedLineJoin = this.currentLineJoin;\n this.nativeContext.lineJoin = this.appliedLineJoin;\n }\n\n if (this.appliedMiterLimit !== this.currentMiterLimit) {\n this.appliedMiterLimit = this.currentMiterLimit;\n this.nativeContext.miterLimit = this.appliedMiterLimit;\n }\n\n this.nativeContext.stroke();\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || '',\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n\n if (this.renderConfig.clearCanvas) {\n this.ctxTransform = this.contextData.transform.bind(this.contextData);\n this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n this.ctxFill = this.contextData.fill.bind(this.contextData);\n this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n this.save = this.contextData.save.bind(this.contextData);\n }\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || 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) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n },\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$2(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n var _lottieGlobal = {};\n initialize$2(BMMath);\n\n function resetFrame() {\n _lottieGlobal = {};\n }\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof$1(a);\n\n if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n // Bail out if we don't want expressions\n function noOp(_value) {\n return _value;\n }\n\n if (!elem.globalData.renderConfig.runExpressions) {\n return noOp;\n }\n\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n 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];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n 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, _lottieGlobal];\n ob.resetFrame = resetFrame;\n return ob;\n }();\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n ob.resetFrame = ExpressionManager.resetFrame;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (!_sourceText || stringValue !== _sourceText.value) {\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n\n Object.defineProperty(_sourceText, 'style', {\n get: function get() {\n return {\n fillColor: elem.textProperty.currentData.fc\n };\n }\n });\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n var interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n\n function getInterface(type) {\n return interfaces[type] || null;\n }\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n var linearFilterValue = '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';\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n this.linearFilter = feColorMatrix;\n feColorMatrix.setAttribute('result', id + '_tint_1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.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');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\n\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\n\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\n\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n function TransformEffect() {}\n\n TransformEffect.prototype.init = function (effectsManager) {\n this.effectsManager = effectsManager;\n this.type = effectTypes.TRANSFORM_EFFECT;\n this.matrix = new Matrix();\n this.opacity = -1;\n this._mdf = false;\n this._opMdf = false;\n };\n\n TransformEffect.prototype.renderFrame = function (forceFrame) {\n this._opMdf = false;\n this._mdf = false;\n\n if (forceFrame || this.effectsManager._mdf) {\n var effectElements = this.effectsManager.effectElements;\n var anchor = effectElements[0].p.v;\n var position = effectElements[1].p.v;\n var isUniformScale = effectElements[2].p.v === 1;\n var scaleHeight = effectElements[3].p.v;\n var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n var skew = effectElements[5].p.v;\n var skewAxis = effectElements[6].p.v;\n var rotation = effectElements[7].p.v;\n this.matrix.reset();\n this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n this.matrix.rotate(-rotation * degToRads);\n this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n this.matrix.translate(position[0], position[1], 0);\n this._mdf = true;\n\n if (this.opacity !== effectElements[8].p.v) {\n this.opacity = effectElements[8].p.v;\n this._opMdf = true;\n }\n }\n };\n\n function SVGTransformEffect(_, filterManager) {\n this.init(filterManager);\n }\n\n extendPrototype([TransformEffect], SVGTransformEffect);\n\n function CVTransformEffect(effectsManager) {\n this.init(effectsManager);\n }\n\n extendPrototype([TransformEffect], CVTransformEffect);\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n ShapeModifiers.registerModifier('zz', ZigZagModifier);\n ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n setExpressionInterfaces(getInterface);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect$1(20, SVGTintFilter, true);\n registerEffect$1(21, SVGFillFilter, true);\n registerEffect$1(22, SVGStrokeEffect, false);\n registerEffect$1(23, SVGTritoneFilter, true);\n registerEffect$1(24, SVGProLevelsFilter, true);\n registerEffect$1(25, SVGDropShadowEffect, true);\n registerEffect$1(28, SVGMatte3Effect, false);\n registerEffect$1(29, SVGGaussianBlurEffect, true);\n registerEffect$1(35, SVGTransformEffect, false);\n registerEffect(35, CVTransformEffect);\n\n return lottie;\n\n}));\n","!function(t,s){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=s():\"function\"==typeof define&&define.amd?define(s):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){\"use strict\";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\\[([^\\]]+)]|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,u=31536e6,d=2628e6,a=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof g},f=function(t,s,n){return new g(t,n,s.$l)},m=function(t){return s.p(t)+\"s\"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},v=function(t,s){return t?l(t)?{negative:!0,format:\"\"+y(t)+s}:{negative:!1,format:\"\"+t+s}:{negative:!1,format:\"\"}},g=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*h[m(s)],this);if(\"number\"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if(\"object\"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if(\"string\"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*h[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/d),t%=d,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=v(this.$d.years,\"Y\"),s=v(this.$d.months,\"M\"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,\"D\"),e=v(this.$d.hours,\"H\"),r=v(this.$d.minutes,\"M\"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var u=v(o,\"S\"),d=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?\"T\":\"\",h=(d?\"-\":\"\")+\"P\"+t.format+s.format+i.format+a+e.format+r.format+u.format;return\"P\"===h||\"-P\"===h?\"P0D\":h},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||\"YYYY-MM-DDTHH:mm:ss\",i={Y:this.$d.years,YY:s.s(this.$d.years,2,\"0\"),YYYY:s.s(this.$d.years,4,\"0\"),M:this.$d.months,MM:s.s(this.$d.months,2,\"0\"),D:this.$d.days,DD:s.s(this.$d.days,2,\"0\"),H:this.$d.hours,HH:s.s(this.$d.hours,2,\"0\"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,\"0\"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,\"0\"),SSS:s.s(this.$d.milliseconds,3,\"0\")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/h[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return\"milliseconds\"===n?s%=1e3:s=\"weeks\"===n?$(s/h[n]):this.$d[n],s||0},y.add=function(t,s,n){var i;return i=s?t*h[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,\"ms\").locale(this.$l).fromNow(!s)},y.valueOf=function(){return this.asMilliseconds()},y.milliseconds=function(){return this.get(\"milliseconds\")},y.asMilliseconds=function(){return this.as(\"milliseconds\")},y.seconds=function(){return this.get(\"seconds\")},y.asSeconds=function(){return this.as(\"seconds\")},y.minutes=function(){return this.get(\"minutes\")},y.asMinutes=function(){return this.as(\"minutes\")},y.hours=function(){return this.get(\"hours\")},y.asHours=function(){return this.as(\"hours\")},y.days=function(){return this.get(\"days\")},y.asDays=function(){return this.as(\"days\")},y.weeks=function(){return this.get(\"weeks\")},y.asWeeks=function(){return this.as(\"weeks\")},y.months=function(){return this.get(\"months\")},y.asMonths=function(){return this.as(\"months\")},y.years=function(){return this.get(\"years\")},y.asYears=function(){return this.as(\"years\")},l}(),p=function(t,s,n){return t.add(s.years()*n,\"y\").add(s.months()*n,\"M\").add(s.days()*n,\"d\").add(s.hours()*n,\"h\").add(s.minutes()*n,\"m\").add(s.seconds()*n,\"s\").add(s.milliseconds()*n,\"ms\")};return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)?p(this,t,1):r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)?p(this,t,-1):o.bind(this)(t,s)}}}));","\r\n\r\n\r\n\r\n\r\n","export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n","import mitt from 'mitt';\n\nfunction getData(entity) {\n if (entity === 'state') {\n return window.LiveChatWidget.get('state');\n }\n\n if (entity === 'chat') {\n return window.LiveChatWidget.get('chat_data');\n }\n\n if (entity === 'customer') {\n return window.LiveChatWidget.get('customer_data');\n }\n\n return null;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n/* eslint-disable prefer-rest-params, @typescript-eslint/no-explicit-any, @typescript-eslint/ban-ts-comment, @typescript-eslint/unbound-method */\nvar scriptRef = {\n current: null\n};\nfunction createJSApi() {\n var _scriptRef$current;\n\n var slice = Array.prototype.slice;\n /* istanbul ignore next */\n\n function handle(args) {\n // @ts-ignore\n return api._h ? api._h.apply(null, args) : api._q.push(args);\n }\n /* istanbul ignore next */\n\n\n var api = {\n _q: [],\n _h: null,\n _v: '2.0',\n on: function on() {\n handle(['on', slice.call(arguments)]);\n },\n once: function once() {\n handle(['once', slice.call(arguments)]);\n },\n off: function off() {\n handle(['off', slice.call(arguments)]);\n },\n get: function get() {\n if (!api._h) {\n throw new Error(\"[LiveChatWidget] You can't use getters before load.\");\n }\n\n return handle(['get', slice.call(arguments)]);\n },\n call: function call() {\n handle(['call', slice.call(arguments)]);\n },\n init: function init() {\n var script = document.createElement('script');\n script.async = true;\n script.type = 'text/javascript';\n script.src = 'https://cdn.livechatinc.com/tracking.js';\n document.head.appendChild(script);\n scriptRef.current = script;\n }\n };\n (_scriptRef$current = scriptRef.current) === null || _scriptRef$current === void 0 ? void 0 : _scriptRef$current.remove();\n window.LiveChatWidget = window.LiveChatWidget || api;\n return scriptRef;\n}\n\nfunction assignConfiguration(_ref) {\n var license = _ref.license,\n group = _ref.group,\n chatBetweenGroups = _ref.chatBetweenGroups,\n sessionVariables = _ref.sessionVariables,\n customIdentityProvider = _ref.customIdentityProvider;\n window.__lc = window.__lc || {};\n\n if (typeof license === 'string') {\n window.__lc.license = Number(license);\n } else {\n throw new Error('[LiveChatWidget] The license property is required for initialization');\n }\n\n if (typeof group !== 'undefined') {\n window.__lc.group = Number(group);\n }\n\n if (typeof chatBetweenGroups !== 'undefined') {\n window.__lc.chat_between_groups = Boolean(chatBetweenGroups);\n }\n\n if (sessionVariables instanceof Object) {\n window.__lc.params = Object.entries(sessionVariables).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n name = _ref3[0],\n value = _ref3[1];\n\n return {\n name: name,\n value: value\n };\n });\n }\n\n if (typeof customIdentityProvider === 'function') {\n window.__lc.custom_identity_provider = customIdentityProvider;\n }\n}\n\nfunction assignEventHandlers(method, eventHandlers) {\n if (method === 'off' && typeof window.LiveChatWidget === 'undefined') {\n return;\n }\n\n if (typeof eventHandlers.onReady === 'function') {\n window.LiveChatWidget[method]('ready', eventHandlers.onReady);\n }\n\n if (typeof eventHandlers.onAvailabilityChanged === 'function') {\n window.LiveChatWidget[method]('availability_changed', eventHandlers.onAvailabilityChanged);\n }\n\n if (typeof eventHandlers.onVisibilityChanged === 'function') {\n window.LiveChatWidget[method]('visibility_changed', eventHandlers.onVisibilityChanged);\n }\n\n if (typeof eventHandlers.onCustomerStatusChanged === 'function') {\n window.LiveChatWidget[method]('customer_status_changed', eventHandlers.onCustomerStatusChanged);\n }\n\n if (typeof eventHandlers.onNewEvent === 'function') {\n window.LiveChatWidget[method]('new_event', eventHandlers.onNewEvent);\n }\n\n if (typeof eventHandlers.onFormSubmitted === 'function') {\n window.LiveChatWidget[method]('form_submitted', eventHandlers.onFormSubmitted);\n }\n\n if (typeof eventHandlers.onRatingSubmitted === 'function') {\n window.LiveChatWidget[method]('rating_submitted', eventHandlers.onRatingSubmitted);\n }\n\n if (typeof eventHandlers.onGreetingDisplayed === 'function') {\n window.LiveChatWidget[method]('greeting_displayed', eventHandlers.onGreetingDisplayed);\n }\n\n if (typeof eventHandlers.onGreetingHidden === 'function') {\n window.LiveChatWidget[method]('greeting_hidden', eventHandlers.onGreetingHidden);\n }\n\n if (typeof eventHandlers.onRichMessageButtonClicked === 'function') {\n window.LiveChatWidget[method]('rich_message_button_clicked', eventHandlers.onRichMessageButtonClicked);\n }\n}\n\nfunction assignCustomerData(customerData) {\n if (typeof customerData.name === 'string') {\n window.LiveChatWidget.call('set_customer_name', customerData.name);\n }\n\n if (typeof customerData.email === 'string') {\n window.LiveChatWidget.call('set_customer_email', customerData.email);\n }\n}\n\nfunction assignVisibility(visibility) {\n if (visibility === 'hidden') {\n window.LiveChatWidget.call('hide');\n }\n\n if (visibility === 'maximized') {\n window.LiveChatWidget.call('maximize');\n }\n\n if (visibility === 'minimized') {\n window.LiveChatWidget.call('minimize');\n }\n}\n\nvar emitter = mitt();\nvar lifecycleEmit = emitter.emit.bind(null);\nfunction lcOnInit(callback) {\n emitter.on('init', callback);\n\n if ('LiveChatWidget' in window) {\n callback();\n }\n\n return function () {\n emitter.off('init', callback);\n };\n}\nfunction lcOnDestroy(callback) {\n emitter.on('destroy', callback);\n return function () {\n emitter.off('destroy', callback);\n };\n}\n\nfunction createWidget(config) {\n var state = {\n isLoading: false,\n desiredState: 'unknown',\n currentEventHandlers: {\n onReady: config.onReady,\n onNewEvent: config.onNewEvent,\n onFormSubmitted: config.onFormSubmitted,\n onGreetingHidden: config.onGreetingHidden,\n onRatingSubmitted: config.onRatingSubmitted,\n onGreetingDisplayed: config.onGreetingDisplayed,\n onVisibilityChanged: config.onVisibilityChanged,\n onAvailabilityChanged: config.onAvailabilityChanged,\n onCustomerStatusChanged: config.onCustomerStatusChanged,\n onRichMessageButtonClicked: config.onRichMessageButtonClicked\n }\n };\n var scriptRef = createJSApi();\n assignConfiguration(config);\n assignVisibility(config.visibility);\n assignEventHandlers('on', state.currentEventHandlers);\n assignCustomerData({\n name: config.customerName,\n email: config.customerEmail\n });\n window.__lc.integration_name = \"@livechat/widget-core\";\n return {\n init: function init() {\n var _this = this;\n\n state.desiredState = 'loaded';\n\n if (state.isLoading) {\n return;\n }\n\n window.LC_API = window.LC_API || {};\n\n window.LC_API.on_after_load = function () {\n state.isLoading = false;\n\n if (state.desiredState === 'destroyed') {\n _this.destroy();\n }\n\n state.desiredState = 'unknown';\n };\n\n lifecycleEmit('init');\n state.isLoading = true;\n window.LiveChatWidget.init();\n },\n destroy: function destroy() {\n var _scriptRef$current;\n\n state.desiredState = 'destroyed';\n\n if (state.isLoading) {\n return;\n }\n\n lifecycleEmit('destroy');\n (_scriptRef$current = scriptRef.current) === null || _scriptRef$current === void 0 ? void 0 : _scriptRef$current.remove();\n window.LiveChatWidget.call('destroy');\n },\n updateVisibility: function updateVisibility(visibility) {\n assignVisibility(visibility);\n },\n updateEventHandlers: function updateEventHandlers(eventHabndlers) {\n assignEventHandlers('off', state.currentEventHandlers);\n assignEventHandlers('on', eventHabndlers);\n state.currentEventHandlers = _objectSpread2({}, eventHabndlers);\n },\n updateSessionVariables: function updateSessionVariables(sessionVariables) {\n if (sessionVariables) {\n window.LiveChatWidget.call('update_session_variables', sessionVariables);\n }\n },\n hideGreeting: function hideGreeting() {\n window.LiveChatWidget.call('hide_greeting');\n },\n updateCustomerData: function updateCustomerData(customerData) {\n assignCustomerData(customerData);\n }\n };\n}\n\nexport { assignConfiguration, assignCustomerData, assignEventHandlers, assignVisibility, createWidget, getData, lcOnDestroy, lcOnInit };\n","import { ref, onMounted, onUnmounted, watch, defineComponent } from 'vue';\nimport { lcOnInit, assignEventHandlers, lcOnDestroy, getData, createWidget } from '@livechat/widget-core';\n\nfunction useWidgetIsReady() {\n var isReady = ref(false);\n var unsubscribeInit = null;\n var unsubscribeDestroy = null;\n\n var onReady = function onReady() {\n isReady.value = true;\n };\n\n onMounted(function () {\n unsubscribeInit = lcOnInit(function () {\n assignEventHandlers('once', {\n onReady: onReady\n });\n });\n unsubscribeDestroy = lcOnDestroy(function () {\n isReady.value = false;\n });\n });\n onUnmounted(function () {\n var _unsubscribeInit, _unsubscribeDestroy;\n\n assignEventHandlers('off', {\n onReady: onReady\n });\n (_unsubscribeInit = unsubscribeInit) === null || _unsubscribeInit === void 0 ? void 0 : _unsubscribeInit();\n (_unsubscribeDestroy = unsubscribeDestroy) === null || _unsubscribeDestroy === void 0 ? void 0 : _unsubscribeDestroy();\n });\n return isReady;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction useWidgetState() {\n var widgetState = ref(null);\n var unsubscribeInit = null;\n var unsubscribeDestroy = null;\n\n var onReady = function onReady(_ref) {\n var state = _ref.state;\n widgetState.value = state;\n };\n\n var onVisibilityChanged = function onVisibilityChanged(_ref2) {\n var visibility = _ref2.visibility;\n widgetState.value = widgetState.value ? _objectSpread2(_objectSpread2({}, widgetState.value), {}, {\n visibility: visibility\n }) : widgetState.value;\n };\n\n var onAvailabilityChanged = function onAvailabilityChanged(_ref3) {\n var availability = _ref3.availability;\n widgetState.value = widgetState.value ? _objectSpread2(_objectSpread2({}, widgetState.value), {}, {\n availability: availability\n }) : widgetState.value;\n };\n\n onMounted(function () {\n unsubscribeInit = lcOnInit(function () {\n assignEventHandlers('once', {\n onReady: onReady\n });\n assignEventHandlers('on', {\n onVisibilityChanged: onVisibilityChanged,\n onAvailabilityChanged: onAvailabilityChanged\n });\n });\n unsubscribeDestroy = lcOnDestroy(function () {\n widgetState.value = null;\n });\n });\n onUnmounted(function () {\n var _unsubscribeInit, _unsubscribeDestroy;\n\n assignEventHandlers('off', {\n onReady: onReady,\n onVisibilityChanged: onVisibilityChanged,\n onAvailabilityChanged: onAvailabilityChanged\n });\n (_unsubscribeInit = unsubscribeInit) === null || _unsubscribeInit === void 0 ? void 0 : _unsubscribeInit();\n (_unsubscribeDestroy = unsubscribeDestroy) === null || _unsubscribeDestroy === void 0 ? void 0 : _unsubscribeDestroy();\n });\n return widgetState;\n}\n\nfunction useWidgetCustomerData() {\n var customerData = ref(null);\n var unsubscribeInit = null;\n var unsubscribeDestroy = null;\n\n var onReady = function onReady(payload) {\n customerData.value = payload.customerData;\n };\n\n var onCustomerStatusChanged = function onCustomerStatusChanged() {\n customerData.value = getData('customer');\n };\n\n onMounted(function () {\n unsubscribeInit = lcOnInit(function () {\n assignEventHandlers('once', {\n onReady: onReady\n });\n assignEventHandlers('on', {\n onCustomerStatusChanged: onCustomerStatusChanged\n });\n });\n unsubscribeDestroy = lcOnDestroy(function () {\n customerData.value = null;\n });\n });\n onUnmounted(function () {\n var _unsubscribeInit, _unsubscribeDestroy;\n\n assignEventHandlers('off', {\n onReady: onReady,\n onCustomerStatusChanged: onCustomerStatusChanged\n });\n (_unsubscribeInit = unsubscribeInit) === null || _unsubscribeInit === void 0 ? void 0 : _unsubscribeInit();\n (_unsubscribeDestroy = unsubscribeDestroy) === null || _unsubscribeDestroy === void 0 ? void 0 : _unsubscribeDestroy();\n });\n return customerData;\n}\n\nfunction useWidgetChatData() {\n var chatData = ref(null);\n var customerData = useWidgetCustomerData();\n watch(function () {\n var _customerData$value;\n\n return (_customerData$value = customerData.value) === null || _customerData$value === void 0 ? void 0 : _customerData$value.status;\n }, function (status) {\n if (status === 'chatting') {\n chatData.value = getData('chat');\n } else {\n chatData.value = null;\n }\n });\n return chatData;\n}\n\nfunction useWidgetGreeting() {\n var greeting = ref(null);\n var unsubscribeInit = null;\n var unsubscribeDestroy = null;\n\n var onGreetingDisplayed = function onGreetingDisplayed(greetingData) {\n greeting.value = greetingData;\n };\n\n var onGreetingHidden = function onGreetingHidden() {\n greeting.value = null;\n };\n\n onMounted(function () {\n unsubscribeInit = lcOnInit(function () {\n assignEventHandlers('on', {\n onGreetingDisplayed: onGreetingDisplayed,\n onGreetingHidden: onGreetingHidden\n });\n });\n unsubscribeDestroy = lcOnDestroy(function () {\n greeting.value = null;\n });\n });\n onUnmounted(function () {\n var _unsubscribeInit, _unsubscribeDestroy;\n\n assignEventHandlers('off', {\n onGreetingDisplayed: onGreetingDisplayed,\n onGreetingHidden: onGreetingHidden\n });\n (_unsubscribeInit = unsubscribeInit) === null || _unsubscribeInit === void 0 ? void 0 : _unsubscribeInit();\n (_unsubscribeDestroy = unsubscribeDestroy) === null || _unsubscribeDestroy === void 0 ? void 0 : _unsubscribeDestroy();\n });\n return greeting;\n}\n\nvar LiveChatWidget = defineComponent({\n props: {\n license: {\n type: String,\n required: true\n },\n group: {\n type: String,\n required: false,\n \"default\": undefined\n },\n visibility: {\n type: String,\n required: false,\n \"default\": undefined\n },\n customerName: {\n type: String,\n required: false,\n \"default\": undefined\n },\n customerEmail: {\n type: String,\n required: false,\n \"default\": undefined\n },\n sessionVariables: {\n type: Object,\n required: false,\n \"default\": undefined\n },\n chatBetweenGroups: {\n type: Boolean,\n required: false,\n \"default\": undefined\n },\n customIdentityProvider: {\n type: Function,\n required: false,\n \"default\": undefined\n }\n },\n emits: ['ready', 'new-event', 'form-submitted', 'rating-submitted', 'greeting-hidden', 'greeting-displayed', 'visibility-changed', 'customer-status-changed', 'rich-message-button-clicked', 'availability-changed'],\n data: function data() {\n return {\n widget: null\n };\n },\n watch: {\n license: 'reinitialize',\n group: 'reinitialize',\n chatBetweenGroups: 'reinitialize',\n visibility: function visibility(_visibility) {\n var _this$widget;\n\n (_this$widget = this.widget) === null || _this$widget === void 0 ? void 0 : _this$widget.updateVisibility(_visibility);\n },\n customerName: function customerName(name) {\n var _this$widget2;\n\n (_this$widget2 = this.widget) === null || _this$widget2 === void 0 ? void 0 : _this$widget2.updateCustomerData({\n name: name\n });\n },\n customerEmail: function customerEmail(email) {\n var _this$widget3;\n\n (_this$widget3 = this.widget) === null || _this$widget3 === void 0 ? void 0 : _this$widget3.updateCustomerData({\n email: email\n });\n },\n sessionVariables: function sessionVariables(_sessionVariables) {\n var _this$widget4;\n\n (_this$widget4 = this.widget) === null || _this$widget4 === void 0 ? void 0 : _this$widget4.updateSessionVariables(_sessionVariables);\n }\n },\n mounted: function mounted() {\n this.setupWidget();\n },\n unmounted: function unmounted() {\n var _this$widget5;\n\n (_this$widget5 = this.widget) === null || _this$widget5 === void 0 ? void 0 : _this$widget5.destroy();\n },\n methods: {\n setupWidget: function setupWidget() {\n var _this = this;\n\n this.widget = createWidget({\n group: this.group,\n license: this.license,\n customerName: this.customerName,\n customerEmail: this.customerEmail,\n sessionVariables: this.sessionVariables,\n chatBetweenGroups: this.chatBetweenGroups,\n visibility: this.visibility,\n customIdentityProvider: this.customIdentityProvider,\n onReady: function onReady(data) {\n return _this.$emit('ready', data);\n },\n onNewEvent: function onNewEvent(event) {\n return _this.$emit('new-event', event);\n },\n onFormSubmitted: function onFormSubmitted(form) {\n return _this.$emit('form-submitted', form);\n },\n onRatingSubmitted: function onRatingSubmitted(rating) {\n return _this.$emit('rating-submitted', rating);\n },\n onGreetingHidden: function onGreetingHidden(greeting) {\n return _this.$emit('greeting-hidden', greeting);\n },\n onGreetingDisplayed: function onGreetingDisplayed(greeting) {\n return _this.$emit('greeting-displayed', greeting);\n },\n onVisibilityChanged: function onVisibilityChanged(visibility) {\n return _this.$emit('visibility-changed', visibility);\n },\n onCustomerStatusChanged: function onCustomerStatusChanged(status) {\n return _this.$emit('customer-status-changed', status);\n },\n onRichMessageButtonClicked: function onRichMessageButtonClicked(button) {\n return _this.$emit('rich-message-button-clicked', button);\n },\n onAvailabilityChanged: function onAvailabilityChanged(availability) {\n return _this.$emit('availability-changed', availability);\n }\n });\n window.__lc.integration_name = \"@livechat/widget-vue\";\n this.widget.init();\n },\n reinitialize: function reinitialize() {\n var _this$widget6;\n\n (_this$widget6 = this.widget) === null || _this$widget6 === void 0 ? void 0 : _this$widget6.destroy();\n this.setupWidget();\n }\n },\n render: function render() {\n return null;\n }\n});\n\nexport { LiveChatWidget, useWidgetChatData, useWidgetCustomerData, useWidgetGreeting, useWidgetIsReady, useWidgetState };\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","import { registerPlugin } from '@capacitor/core';\nconst App = registerPlugin('App', {\n web: () => import('./web').then(m => new m.AppWeb()),\n});\nexport * from './definitions';\nexport { App };\n//# sourceMappingURL=index.js.map","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","import { defineStore } from 'pinia'\r\nimport { post } from '@/common/request.js'\r\nimport { url } from '@/common/config.js'\r\n\r\nexport const useSystemStore = defineStore('system', {\r\n state: () => {\r\n return {}\r\n },\r\n getters: {},\r\n actions: {\r\n ping() {\r\n post(url.ping)\r\n .then((r) => {\r\n console.log(`ping: ${r.backTimestamp - r.frontTimestamp}ms`)\r\n })\r\n .catch((error) => {\r\n console.error('ping error:', error)\r\n })\r\n }\r\n }\r\n})\r\n","import { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request'\r\nimport { url } from '@/common/config'\r\n\r\nexport const useDailyTaskStore = defineStore('dailyTask', {\r\n state: () => {\r\n return {}\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n }\r\n },\r\n actions: {\r\n tasklist() {\r\n return post(url.dailyTask.list)\r\n },\r\n buy(query) {\r\n return post(url.dailyTask.buy, query)\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: guojia 66291979@qq.com\r\n * @Date: 2024-05-07 17:30:11\r\n * @LastEditors: pluto.guo 66291979@qq.com\r\n * @LastEditTime: 2025-03-04 11:05:35\r\n * @FilePath: /lobby/src/router/index.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport { createRouter, createWebHistory } from 'vue-router'\r\nimport HomeView from '../views/HomeView.vue'\r\nimport EnvelopeHome from '@/views/envelope/EnvelopeHome.vue'\r\nimport DepositViewForKE from '@/views/DepositViewForKE.vue'\r\nimport DepositViewForCI from '@/views/DepositViewForCI.vue'\r\n\r\nconsole.log('meta.env.BASE_URL=', import.meta.env.BASE_URL)\r\nconsole.log('isActive=', import.meta.env.VITE_IS_ACTIVE)\r\nconst isActive = import.meta.env.VITE_IS_ACTIVE == 'true'\r\nconst router = createRouter({\r\n history: createWebHistory(import.meta.env.BASE_URL),\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: isActive ? EnvelopeHome : HomeView,\r\n meta: {\r\n title: isActive ? 'Envelope' : 'Home'\r\n }\r\n },\r\n {\r\n path: '/events',\r\n name: 'events',\r\n component: () => import('../views/EventsView.vue'),\r\n meta: {\r\n title: 'Events'\r\n }\r\n },\r\n {\r\n path: '/depositke',\r\n name: 'depositke',\r\n component: DepositViewForKE, //() => import('../views/DepositViewForKE.vue'),\r\n meta: {\r\n title: 'Depositke'\r\n }\r\n },\r\n {\r\n path: '/depositci',\r\n name: 'depositci',\r\n component: DepositViewForCI, //() => import('../views/DepositViewForCI.vue'),\r\n meta: {\r\n title: 'Depositci'\r\n }\r\n },\r\n {\r\n path: '/deposittz',\r\n name: 'deposittz',\r\n component: () => import('../views/DepositViewForTZ.vue'),\r\n meta: {\r\n title: 'Deposittz'\r\n }\r\n },\r\n {\r\n path: '/depositgh',\r\n name: 'depositgh',\r\n component: () => import('../views/DepositViewForGH.vue'),\r\n meta: {\r\n title: 'Deposittz'\r\n }\r\n },\r\n {\r\n path: '/deposit',\r\n name: 'deposit',\r\n component: () => import('../views/DepositViewForET.vue'),\r\n meta: {\r\n title: 'Deposit'\r\n }\r\n },\r\n {\r\n path: '/withdraw',\r\n name: 'withdraw',\r\n component: () => import('../views/WithdrawView.vue'),\r\n meta: {\r\n title: 'Withdraw'\r\n }\r\n },\r\n {\r\n path: '/withdrawet',\r\n name: 'withdrawet',\r\n component: () => import('../views/WithdrawViewET.vue'),\r\n meta: {\r\n title: 'Withdraw'\r\n }\r\n },\r\n {\r\n path: '/withdrawtz',\r\n name: 'withdrawtz',\r\n component: () => import('../views/WithdrawViewTZ.vue'),\r\n meta: {\r\n title: 'Withdraw'\r\n }\r\n },\r\n {\r\n path: '/withdrawgh',\r\n name: 'withdrawgh',\r\n component: () => import('../views/WithdrawViewGH.vue'),\r\n meta: {\r\n title: 'Withdraw'\r\n }\r\n },\r\n {\r\n path: '/promotion',\r\n name: 'acting',\r\n component: () => import('../views/PromationView.vue'),\r\n meta: {\r\n title: 'promotion'\r\n }\r\n },\r\n {\r\n path: '/bonus',\r\n name: 'bonus',\r\n component: () => import('../views/Bonus.vue'),\r\n meta: {\r\n title: 'Bonus'\r\n }\r\n },\r\n {\r\n path: '/allgame/:categorie',\r\n name: 'allgame',\r\n component: () => import('../views/AllGame.vue'),\r\n meta: {\r\n title: 'AllGame'\r\n }\r\n },\r\n {\r\n path: '/gameView/:currentGameUrl',\r\n name: 'gameView',\r\n component: () => import('../views/GameView.vue'),\r\n meta: {\r\n title: 'GameView'\r\n }\r\n },\r\n {\r\n path: '/searchGame/:type',\r\n name: 'searchGame',\r\n component: () => import('../views/SearchGame.vue'),\r\n meta: {\r\n title: 'SearchGame'\r\n }\r\n },\r\n {\r\n path: '/tc',\r\n name: 'tc',\r\n component: () => import('../views/TC.vue'),\r\n meta: {\r\n title: 'TC'\r\n }\r\n },\r\n {\r\n path: '/bettinghistory',\r\n name: 'bettinghistory',\r\n component: () => import('../views/BettingHistory.vue'),\r\n meta: {\r\n title: 'BettingHistory'\r\n }\r\n },\r\n {\r\n path: '/transactions',\r\n name: 'transactions',\r\n component: () => import('../views/Transactions.vue'),\r\n meta: {\r\n title: 'Transactions'\r\n }\r\n },\r\n {\r\n path: '/bonusgames',\r\n name: 'bonusgames',\r\n component: () => import('../views/BonusGames.vue'),\r\n meta: {\r\n title: 'BonusGames'\r\n }\r\n },\r\n {\r\n path: '/rewardscenter',\r\n name: 'rewardscenter',\r\n component: () => import('../views/RewardCenter.vue'),\r\n meta: {\r\n title: 'RewardCenter'\r\n }\r\n },\r\n {\r\n path: '/firstRecharge',\r\n name: 'firstRecharge',\r\n component: () => import('../views/FirstRecharge.vue'),\r\n meta: {\r\n title: 'FirstRecharge'\r\n }\r\n },\r\n {\r\n path: '/cashback',\r\n name: 'cashback',\r\n component: () => import('../views/CashBack.vue'),\r\n meta: {\r\n title: 'CashBack'\r\n }\r\n },\r\n {\r\n path: '/howtodeposit',\r\n name: 'howtodeposit',\r\n component: () => import('../views/HowToDeposit.vue'),\r\n meta: {\r\n title: 'HowToDeposit'\r\n }\r\n },\r\n {\r\n path: '/howtowithdraw',\r\n name: 'howtowithdraw',\r\n component: () => import('../views/HowToWithdraw.vue'),\r\n meta: {\r\n title: 'HowToWithdraw'\r\n }\r\n },\r\n {\r\n path: '/ppgamepage',\r\n name: 'PPGamepage',\r\n component: () => import('../components/PPGamePage.vue'),\r\n meta: {\r\n title: 'PPGamepage'\r\n }\r\n },\r\n {\r\n path: '/luckycashback',\r\n name: 'luckyPig',\r\n component: () => import('../components/luckyPig.vue'),\r\n meta: {\r\n title: 'luckypig'\r\n }\r\n },\r\n {\r\n path: '/bonuswheel',\r\n name: 'BonusWheel',\r\n component: () => import('../components/BonusWheel.vue'),\r\n meta: {\r\n title: 'BonusWheel'\r\n }\r\n },\r\n {\r\n path: '/vpsexchange',\r\n name: 'VpsExchange',\r\n component: () => import('../components/VpsExchange.vue'),\r\n meta: {\r\n title: 'VpsExchange'\r\n }\r\n },\r\n {\r\n path: '/dailytask',\r\n name: 'DailyTask',\r\n component: () => import('../components/DailyTask.vue'),\r\n meta: {\r\n title: 'DailyTask'\r\n }\r\n },\r\n {\r\n path: '/million',\r\n name: 'Million',\r\n component: () => import('../components/Million.vue'),\r\n meta: {\r\n title: 'Million'\r\n }\r\n },\r\n {\r\n path: '/rushdeposit',\r\n name: 'RushDeposit',\r\n component: () => import('../views/RushDepositView.vue'),\r\n meta: {\r\n title: 'RushDeposit'\r\n }\r\n },\r\n {\r\n path: '/license',\r\n name: 'License',\r\n component: () => import('@/views/LicenseView.vue'),\r\n meta: {\r\n title: 'License'\r\n }\r\n }\r\n ]\r\n})\r\n\r\nexport default router\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: Pluto 66291979@qq.com\r\n * @Date: 2024-05-31 11:37:41\r\n * @LastEditors: pluto.guo 66291979@qq.com\r\n * @LastEditTime: 2025-01-03 15:34:12\r\n * @FilePath: /lobby/src/stores/eventdeposit.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request'\r\nimport { url } from '@/common/config'\r\n\r\nexport const useEventDepositStore = defineStore('eventdeposit', {\r\n state: () => {\r\n return {}\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 发送请求以领取限时充值奖励。\r\n *\r\n * @returns \r\n ```json\r\n {\r\n \"code\": \"string\",\r\n \"data\": {\r\n \"bonusAmount\": 0,\r\n \"result\": true\r\n },\r\n \"message\": \"string\",\r\n \"success\": true\r\n }\r\n ```\r\n */\r\n claim() {\r\n // 使用 post 函数发送 POST 请求到指定的 URL,该 URL 是用于领取限时充值奖励的。\r\n return post(url.event.limited.time.recharge.claim)\r\n },\r\n /**\r\n * 获取限时充值活动的配置信息。\r\n ** @returns \r\n ```json\r\n {\r\n \"code\": \"string\",\r\n \"data\": {\r\n \"bonusAmount\": 0,\r\n \"coolDown\": 0,\r\n \"currentRecharge\": 0,\r\n \"eventStatus\": true,\r\n \"needRecharge\": 0,\r\n \"userStatus\": 0\r\n },\r\n \"message\": \"string\",\r\n \"success\": true\r\n }\r\n ```\r\n */\r\n getConfig() {\r\n return post(url.event.limited.time.recharge.get, {\r\n country: this.country\r\n })\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: Pluto 66291979@qq.com\r\n * @Date: 2024-05-27 11:30:29\r\n * @LastEditors: game.pluto.com 66291979@qq.com\r\n * @LastEditTime: 2024-07-04 16:02:43\r\n * @FilePath: \\lobby\\src\\main.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport './assets/styles/main.scss'\r\nimport './common/flexible.js'\r\n\r\nimport { createPinia } from 'pinia'\r\nimport { createApp } from 'vue'\r\n\r\nimport { MGTag } from '@/common/mgtag.js'\r\nimport { VantResolve } from '@/common/vant.js'\r\nimport eventBus from '@/event/EventBus.js'\r\nimport App from './App.vue'\r\nimport { i18n } from './locales'\r\nimport router from './router'\r\n\r\n// if ('serviceWorker' in navigator) {\r\n// // 获取动态生成的文件名\r\n// fetch('/sw-manifest.json')\r\n// .then((response) => {\r\n// if (!response.ok) {\r\n// throw new Error('Failed to load sw-manifest.json')\r\n// }\r\n// return response.json()\r\n// })\r\n// .then((manifest) => {\r\n// const swFileName = manifest.swFileName\r\n// if (!swFileName) {\r\n// throw new Error('Service Worker file name not found in manifest.')\r\n// }\r\n\r\n// // 注册 Service Worker\r\n// navigator.serviceWorker\r\n// .register(`/${swFileName}`)\r\n// .then((registration) => {\r\n// console.log('Service Worker registered with scope:', registration.scope)\r\n// })\r\n// .catch((error) => {\r\n// console.error('Service Worker registration failed:', error)\r\n// })\r\n// })\r\n// .catch((error) => {\r\n// console.error('Failed to fetch Service Worker manifest:', error)\r\n// })\r\n// }\r\n\r\nif (__APP_ENV__ == 'app_staging') {\r\n import('vconsole').then(({ default: VConsole }) => {\r\n new VConsole({ theme: 'dark' })\r\n })\r\n} else if (__APP_ENV__ !== 'app') {\r\n window.addEventListener('beforeinstallprompt', (event) => {\r\n // 阻止默认的安装提示\r\n event.preventDefault()\r\n // 保存事件以便稍后触发\r\n window.deferredPrompt = event\r\n // 显示安装按钮\r\n // document.getElementById('installPWA')?.classList.remove('hidden')\r\n })\r\n window.addEventListener('appinstalled', () => {\r\n console.log('PWA 已安装')\r\n // alert('感谢您安装本应用!')\r\n })\r\n}\r\n\r\nlet lastTouchEnd = 0\r\n\r\ndocument.addEventListener(\r\n 'touchend',\r\n (event) => {\r\n const now = new Date().getTime()\r\n if (now - lastTouchEnd <= 300) {\r\n event.preventDefault()\r\n }\r\n lastTouchEnd = now\r\n },\r\n false\r\n)\r\n\r\nconst app = createApp(App)\r\napp.use(createPinia())\r\napp.use(i18n)\r\napp.use(router)\r\napp.use(VantResolve)\r\napp.use(MGTag, router)\r\n// app.use(updateSW)\r\neventBus(app)\r\n\r\napp.mount('#app')\r\n"],"file":"assets/index-CYwtPWPS.js"}