Current Path : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/vue/vue2/dev/dist/ |
Current File : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/vue/vue2/dev/dist/vue.bundle.js.map |
{"version":3,"sources":["../src/wrap/start.js","../src/bitrixvue.js","../src/vue-dev.js","../src/wrap/end.js"],"names":["BitrixVue","VueVendor","_appCounter","_components","_mutations","_clones","_instance","use","event","events","restClientChange","pullClientChange","settings","Extension","getSettings","localizationMode","get","params","showNotice","createApp","bitrixVue","$Bitrix","Loc","messages","getMessage","messageId","replacements","debugMessageId","Type","isPlainObject","replaceKeys","Object","keys","length","join","message","isUndefined","isString","forEach","replacement","globalRegexp","RegExp","replace","isNil","String","hasMessage","getMessages","BX","setMessage","id","value","isObject","code","hasOwnProperty","Application","instance","set","Data","data","name","defaultValue","eventEmitter","EventEmitter","setEventNamespace","window","Event","prototype","RestClient","rest","emit","isCustom","PullClient","pull","mixins","unshift","beforeCreate","$bitrix","mount","rootContainer","$mount","options","assign","bitrixOptions","immutable","local","_registerCloneComponent","componentParams","_getFinalComponentParams","isLocal","component","definition","isComponent","mutations","mutable","isMutable","push","filter","element","sourceId","getLocalComponent","mutateComponent","source","_applyMutation","_cloneObjectWithoutDuplicateFunction","undefined","extend","callback","context","nextTick","target","key","directive","plugin","mixin","object","observable","template","compile","version","obj","i","j","len","tagName","toUpperCase","test","classList","contains","trim","className","getAttribute","toString","call","phrasePrefix","phrases","result","Array","isArray","find","startsWith","freeze","componentId","mutation","_getComponentParamsWithMutation","components","cloneId","concat","objectParams","level","previousParamName","param","isObjectLike","isNull","isFunction","substr","clonedObject","newObject","paramName","includes","originNewFunctionName","objectName","parentObjectName","mutationName","app","$root","computed","mounted","$bitrixApplication","$bitrixController","$bitrixMessages","$bitrixRestClient","$bitrixPullClient","text","developerMode","console","warn","emptyObject","isUndef","v","isDef","isTrue","isFalse","isPrimitive","_toString","toRawType","slice","isRegExp","isValidArrayIndex","val","n","parseFloat","Math","floor","isFinite","isPromise","then","JSON","stringify","toNumber","isNaN","makeMap","str","expectsLowerCase","map","create","list","split","toLowerCase","isBuiltInTag","isReservedAttribute","remove","arr","item","index","indexOf","splice","hasOwn","cached","fn","cache","cachedFn","hit","camelizeRE","camelize","_","c","capitalize","charAt","hyphenateRE","hyphenate","polyfillBind","ctx","boundFn","a","l","arguments","apply","_length","nativeBind","bind","Function","toArray","start","ret","to","_from","toObject","res","noop","b","no","identity","genStaticKeys","modules","reduce","m","staticKeys","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","e","Date","getTime","keysA","keysB","looseIndexOf","once","called","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","charCodeAt","def","enumerable","defineProperty","writable","configurable","bailRE","parsePath","path","segments","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","isIE9","isEdge","isAndroid","isIOS","isChrome","isPhantomJS","isFF","match","nativeWatch","watch","supportsPassive","opts","addEventListener","_isServer","isServerRendering","global","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","hasSymbol","Symbol","Reflect","ownKeys","_Set","Set","tip","generateComponentTrace","formatComponentName","hasConsole","classifyRE","classify","msg","vm","trace","error","includeFile","cid","_isVue","$options","constructor","_componentTag","file","__file","repeat","$parent","tree","currentRecursiveSequence","last","uid","Dep","subs","sub","addDep","sort","update","targetStack","pushTarget","popTarget","pop","VNode","tag","children","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","method","original","mutator","args","ob","__ob__","inserted","observeArray","dep","notify","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","defineReactive$$1","items","observe","src","__proto__","asRootData","isExtensible","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","reactiveGetter","depend","dependArray","reactiveSetter","newVal","max","del","strats","el","propsData","child","defaultStrat","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","mergedDataFn","mergedInstanceDataFn","instanceData","defaultData","mergeHook","dedupeHooks","hooks","hook","mergeAssets","assertObjectType","type","props","methods","inject","provide","checkComponents","validateComponentName","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","prop","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","getPropDefaultValue","prevShouldObserve","assertProp","_props","getType","required","valid","expectedTypes","assertedType","assertType","expectedType","haveExpectedTypes","some","t","getInvalidTypeMessage","validator","simpleCheckRE","functionTypeCheckRE","isSameType","receivedType","isExplicable","isBoolean","styleValue","Number","EXPLICABLE_TYPES","elem","handleError","err","info","cur","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","timerFunc","Promise","p","resolve","setTimeout","MutationObserver","counter","observer","textNode","document","createTextNode","characterData","setImmediate","cb","_resolve","mark","measure","perf","clearMarks","clearMeasures","startTag","endTag","initProxy","allowedGlobals","warnNonPresent","warnReservedPrefix","hasProxy","Proxy","isBuiltInModifier","hasHandler","has","isAllowed","$data","getHandler","handlers","render","_withStripped","_renderProxy","seenObjects","traverse","_traverse","clear","seen","isA","isFrozen","depId","add","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","attrs","altKey","keyInLowerCase","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","shift","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","proxyNormalSlot","proxy","renderList","iterator","next","done","renderSlot","fallbackRender","bindObject","scopedSlotFn","$scopedSlots","nodes","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","staticRenderFns","markStatic","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","d","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","devtoolsMeta","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","destroy","$destroy","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","functional","nativeOn","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","is","$vnode","pre","applyNS","registerDeepBindings","force","style","initRender","_vnode","parentVnode","_renderChildren","parentData","isUpdatingChildComponent","_parentListeners","currentRenderingInstance","renderMixin","Vue","$nextTick","_render","renderError","ensureCtor","comp","base","__esModule","toStringTag","factory","errorComp","resolved","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","$forceUpdate","clearTimeout","reject","reason","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","eventsMixin","hookRE","$once","cbs","$emit","lowerCaseEvent","setActiveInstance","prevActiveInstance","initLifecycle","$children","$refs","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","mountComponent","updateComponent","_name","_uid","Watcher","before","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","direct","MAX_UPDATE_COUNT","queue","activatedChildren","circular","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","now","createEvent","timeStamp","flushSchedulerQueue","watcher","run","user","expression","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","deep","lazy","active","dirty","deps","newDeps","depIds","newDepIds","cleanupDeps","addSub","removeSub","tmp","oldValue","sharedPropertyDefinition","sourceKey","proxyGetter","proxySetter","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","computedGetter","evaluate","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","immediate","unwatchFn","uid$3","initMixin","_init","initInternalComponent","_self","vnodeComponentOptions","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","sealed","sealedOptions","initUse","installedPlugins","_installedPlugins","install","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","VueComponent","initProps$1","initComputed$1","Comp","initAssetRegisters","getComponentName","matches","pattern","pruneCache","keepAliveInstance","entry","pruneCacheEntry","current","patternTypes","KeepAlive","include","exclude","cacheVNode","vnodeToCache","keyToCache","parseInt","created","destroyed","updated","builtInComponents","initGlobalAPI","configDef","util","defineReactive","ssrContext","acceptValue","attr","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","isPreTag","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","querySelector","createElement$1","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","nodeOps","ref","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","removeNode","isUnknownElement$$1","inVPre","ignore","creatingElmInVPre","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","checkDuplicateKeys","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","oldKeyToIdx","idxInOld","vnodeToMove","canMove","patchVnode","findIdxInOld","seenKeys","end","hydrate","postpatch","invokeInsertHook","initial","hydrationBailed","isRenderedModule","assertNodeMatch","hasChildNodes","innerHTML","childrenMatch","firstChild","childNodes","fullInvoke","nodeType","patch","isInitialPatch","isRealElement","hasAttribute","removeAttribute","oldElm","_leaveCb","patchable","updateDirectives","unbindDirectives","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldDir","dir","callHook$1","oldArg","arg","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","isInPre","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","klass","validDivisionCharRE","parseFilters","exp","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","prev","filters","pushFilter","wrapFilter","baseWarn","range","pluckModuleFunction","addProp","dynamic","rangeSetItem","plain","addAttr","dynamicAttrs","addRawAttr","attrsMap","attrsList","addDirective","isDynamicArg","prependModifierMarker","addHandler","important","prevent","right","middle","nativeEvents","newHandler","getRawBindingAttr","rawAttrsMap","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","getAndRemoveAttrByRegex","genComponentModel","number","baseValueExpression","valueExpression","assignment","genAssignmentCode","parseModel","chr","index$1","expressionPos","expressionEndPos","lastIndexOf","eof","isStringStart","parseString","parseBracket","inBracket","stringQuote","warn$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","_warn","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","typeBinding","binding","needCompositionGuard","normalizeEvents","change","target$1","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","svgContainer","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","emptyStyle","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","addClass","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","s","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","checkDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","vmodel","trigger","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","o","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","mode","getRealChild","compOptions","extractTransitionData","placeholder","h","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","pos","getBoundingClientRect","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","body","offsetHeight","moved","transform","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","left","dy","top","platformComponents","defaultTagRE","regexEscapeRE","buildRegex","delimiters","open","close","parseText","tagRE","tokens","rawTokens","tokenValue","exec","transformNode","classBinding","genData","klass$1","transformNode$1","styleBinding","genData$1","style$1","decoder","he","decode","html","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","attribute","dynamicArgAttribute","ncname","qnameCapture","startTagOpen","startTagClose","doctype","comment","conditionalComment","isPlainTextElement","reCache","decodingMap","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","re","parseHTML","stack","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","lastTag","textEnd","commentEnd","shouldKeepComment","substring","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","parseEndTag","startTagMatch","parseStartTag","handleStartTag","chars","endTagLength","stackedTag","reStackedTag","all","unarySlash","unary","shouldDecodeNewlinesForHref","outputSourceRange","lowerCasedTag","lowerCasedTagName","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","dynamicArgRE","argRE","bindRE","modifierRE","slotRE","lineBreakRE","whitespaceRE$1","invalidAttributeRE","decodeHTMLCached","emptySlotScopeToken","warn$2","transforms","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","maybeComponent","createASTElement","makeAttrsMap","parse","preserveWhitespace","whitespaceOption","whitespace","root","currentParent","inPre","warned","warnOnce","closeElement","trimEndingWhitespace","processed","processElement","elseif","checkRootConstraints","addIfCondition","block","forbidden","processIfConditions","slotScope","slotTarget","lastNode","comments","guardIESVGBug","cumulated","isForbiddenTag","processPre","processRawAttrs","processFor","processIf","processOnce","isTextTag","processKey","processRef","processSlotContent","processSlotOutlet","processComponent","processAttrs","iterator2","iterator1","checkInFor","parseFor","inMatch","alias","iteratorMatch","findPrevElement","condition","ifConditions","slotTargetDynamic","slotBinding","getSlotName","slotContainer","slotName","syncGen","isDynamic","hasBindings","parseModifiers","camel","argMatch","checkForAliasModel","ieNSBug","ieNSPrefix","_el","preTransformNode","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","model$1","modules$1","directives$1","baseOptions","isStaticKey","isPlatformReservedTag","genStaticKeysCached","genStaticKeys$1","optimize","markStatic$1","markStaticRoots","staticInFor","staticRoot","isDirectChildOfTemplateFor","fnExpRE","fnInvokeRE","simplePathRE","esc","tab","space","up","down","keyNames","genGuard","modifierCode","stop","self","ctrl","alt","meta","genHandlers","prefix","staticHandlers","dynamicHandlers","handlerCode","genHandler","isMethodPath","isFunctionExpression","isFunctionInvocation","genModifierCode","keyModifier","genKeyFilter","genFilterCode","keyVal","keyCode","keyName","wrapListeners","bind$1","wrapData","baseDirectives","cloak","CodegenState","dataGenFns","onceId","generate","ast","state","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genChildren","genSlot","genComponent","genData$2","originalPreState","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","genProps","genScopedSlots","genInlineTemplate","hasRuntime","needRuntime","gen","inlineRenderFns","containsSlotChild","needsKey","generatedSlots","genScopedSlot","isLegacySyntax","reverseProxy","checkSkip","altGenElement","altGenNode","getNormalizationType","genNode","needsNormalization","genComment","genText","transformSpecialNewlines","bind$$1","componentName","staticProps","dynamicProps","prohibitedKeywordRE","unaryOperatorsRE","stripStringRE","detectErrors","checkNode","checkFor","checkFunctionParameterExpression","checkEvent","checkExpression","stripped","keywordMatch","checkIdentifier","ident","generateCodeFrame","lines","count","lineLength","pad","min","createFunction","errors","createCompileToFunctionFn","compileToFunctions","warn$$1","compiled","tips","fnGenErrors","createCompilerCreator","baseCompile","createCompiler","finalOptions","leadingSpaceLength","div","getShouldDecode","href","idToTemplate","documentElement","getOuterHTML","outerHTML","container","BitrixVueInstance"],"mappings":"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","file":"vue.bundle.js.map","sourcesContent":[null,"/**\n * Bitrix Vue wrapper\n *\n * @package bitrix\n * @subpackage ui\n * @copyright 2001-2022 Bitrix\n */\n\nimport {EventEmitter} from 'main.core.events';\nimport { Extension, Loc, Type } from 'main.core';\nimport {RestClient, rest} from \"rest.client\";\nimport {PullClient, PULL as pull} from \"pull.client\";\n\nexport class BitrixVue\n{\n\tstatic developerMode = false;\n\n\tconstructor(VueVendor)\n\t{\n\t\tthis._appCounter = 0;\n\t\tthis._components = {};\n\t\tthis._mutations = {};\n\t\tthis._clones = {};\n\n\t\tthis._instance = VueVendor;\n\t\tthis._instance.use(this);\n\n\t\tthis.event = new VueVendor;\n\n\t\tthis.events = {\n\t\t\trestClientChange: 'RestClient::change',\n\t\t\tpullClientChange: 'PullClient::change',\n\t\t}\n\n\t\tconst settings = Extension.getSettings('ui.vue');\n\t\tthis.localizationMode = settings.get('localizationDebug', false)? 'development': 'production';\n\t}\n\n\t/**\n\t * Create new Vue instance\n\t *\n\t * @param {Object} params - definition\n\t *\n\t * @see https://vuejs.org/v2/guide/\n\t */\n\tcreate(params)\n\t{\n\t\tBitrixVue.showNotice(\n\t\t\t'Method Vue.create is deprecated, use BitrixVue.createApp instead.\\n'\n\t\t\t+ 'If you are using \"el\" property or .$mount(...) to bind your application, use .mount(...) instead.'\n\t\t);\n\n\t\treturn this.createApp(params);\n\t}\n\n\t/**\n\t * Create new Vue instance\n\t *\n\t * @param {Object} params - definition\n\t *\n\t * @see https://v2.vuejs.org/v2/guide/\n\t */\n\tcreateApp(params)\n\t{\n\t\tconst bitrixVue = this;\n\n\t\t// 1. Init Bitrix public api\n\t\tconst $Bitrix = {};\n\n\t\t// 1.1 Localization\n\t\t$Bitrix.Loc =\n\t\t{\n\t\t\tmessages: {},\n\n\t\t\tgetMessage: function(messageId: string, replacements:? {[key: string]: string} = null): string\n\t\t\t{\n\t\t\t\tif (bitrixVue.localizationMode === 'development')\n\t\t\t\t{\n\t\t\t\t\tlet debugMessageId = [messageId];\n\t\t\t\t\tif (Type.isPlainObject(replacements))\n\t\t\t\t\t{\n\t\t\t\t\t\tconst replaceKeys = Object.keys(replacements);\n\t\t\t\t\t\tif (replaceKeys.length > 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdebugMessageId = [messageId, ' (replacements: ', replaceKeys.join(', '), ')']\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn debugMessageId.join('');\n\t\t\t\t}\n\n\t\t\t\tlet message = '';\n\t\t\t\tif (!Type.isUndefined(this.messages[messageId]))\n\t\t\t\t{\n\t\t\t\t\tmessage = this.messages[messageId];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tmessage = Loc.getMessage(messageId);\n\t\t\t\t\tthis.messages[messageId] = message;\n\t\t\t\t}\n\n\t\t\t\tif (Type.isString(message) && Type.isPlainObject(replacements))\n\t\t\t\t{\n\t\t\t\t\tObject.keys(replacements).forEach((replacement: string) => {\n\t\t\t\t\t\tconst globalRegexp = new RegExp(replacement, 'gi');\n\t\t\t\t\t\tmessage = message.replace(\n\t\t\t\t\t\t\tglobalRegexp,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\treturn Type.isNil(replacements[replacement]) ? '' : String(replacements[replacement]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn message;\n\t\t\t},\n\n\t\t\thasMessage: function (messageId: string): boolean\n\t\t\t{\n\t\t\t\treturn Type.isString(messageId) && !Type.isNil(this.getMessages()[messageId]);\n\t\t\t},\n\n\t\t\tgetMessages: function (): object\n\t\t\t{\n\t\t\t\tif (typeof BX.message !== 'undefined')\n\t\t\t\t{\n\t\t\t\t\treturn {...BX.message, ...this.messages};\n\t\t\t\t}\n\n\t\t\t\treturn {...this.messages};\n\t\t\t},\n\n\t\t\tsetMessage: function(id: string | {[key: string]: string}, value?: string): void\n\t\t\t{\n\t\t\t\tif (Type.isString(id))\n\t\t\t\t{\n\t\t\t\t\tthis.messages[id] = value;\n\t\t\t\t}\n\n\t\t\t\tif (Type.isObject(id))\n\t\t\t\t{\n\t\t\t\t\tfor (const code in id)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (id.hasOwnProperty(code))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.messages[code] = id[code];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// 1.2 Application Data\n\t\t$Bitrix.Application =\n\t\t{\n\t\t\tinstance: null,\n\n\t\t\tget: function(): Object\n\t\t\t{\n\t\t\t\treturn this.instance;\n\t\t\t},\n\t\t\tset: function(instance: Object): void\n\t\t\t{\n\t\t\t\tthis.instance = instance;\n\t\t\t},\n\t\t};\n\n\t\t// 1.3 Application Data\n\t\t$Bitrix.Data =\n\t\t{\n\t\t\tdata: {},\n\n\t\t\tget: function(name: string, defaultValue?:any): any\n\t\t\t{\n\t\t\t\treturn this.data[name] ?? defaultValue;\n\t\t\t},\n\t\t\tset: function(name: string, value: any): void\n\t\t\t{\n\t\t\t\tthis.data[name] = value;\n\t\t\t}\n\t\t};\n\n\t\t// 1.4 Application EventEmitter\n\t\t$Bitrix.eventEmitter = new EventEmitter();\n\t\tif (typeof $Bitrix.eventEmitter.setEventNamespace === 'function')\n\t\t{\n\t\t\tthis._appCounter++;\n\t\t\t$Bitrix.eventEmitter.setEventNamespace('vue:app:'+this._appCounter);\n\t\t}\n\t\telse // hack for old version of Bitrix SM\n\t\t{\n\t\t\twindow.BX.Event.EventEmitter.prototype.setEventNamespace = function () {}\n\t\t\t$Bitrix.eventEmitter.setEventNamespace = function () {}\n\t\t}\n\n\t\t// 1.5 Application RestClient\n\t\t$Bitrix.RestClient =\n\t\t{\n\t\t\tinstance: null,\n\n\t\t\tget: function(): RestClient\n\t\t\t{\n\t\t\t\treturn this.instance ?? rest;\n\t\t\t},\n\t\t\tset: function(instance: RestClient): void\n\t\t\t{\n\t\t\t\tthis.instance = instance;\n\t\t\t\t$Bitrix.eventEmitter.emit(bitrixVue.events.restClientChange);\n\t\t\t},\n\t\t\tisCustom()\n\t\t\t{\n\t\t\t\treturn this.instance !== null;\n\t\t\t}\n\t\t};\n\n\t\t// 1.6 Application PullClient\n\t\t$Bitrix.PullClient =\n\t\t{\n\t\t\tinstance: null,\n\n\t\t\tget: function(): PullClient\n\t\t\t{\n\t\t\t\treturn this.instance ?? pull;\n\t\t\t},\n\t\t\tset: function(instance: PullClient): void\n\t\t\t{\n\t\t\t\tthis.instance = instance;\n\t\t\t\t$Bitrix.eventEmitter.emit(bitrixVue.events.pullClientChange);\n\t\t\t},\n\t\t\tisCustom()\n\t\t\t{\n\t\t\t\treturn this.instance !== null;\n\t\t\t}\n\t\t};\n\n\t\tif (typeof (params.mixins) === 'undefined')\n\t\t{\n\t\t\tparams.mixins = [];\n\t\t}\n\n\t\tparams.mixins.unshift({\n\t\t\tbeforeCreate: function()\n\t\t\t{\n\t\t\t\tthis.$bitrix = $Bitrix;\n\t\t\t},\n\t\t})\n\n\t\tlet instance = new this._instance(params);\n\n\t\tinstance.mount = function(rootContainer: string|Element): object\n\t\t{\n\t\t\treturn this.$mount(rootContainer);\n\t\t}\n\n\t\treturn instance;\n\t}\n\n\t/**\n\t * Register Vue component\n\t *\n\t * @param {String} id\n\t * @param {Object} params\n\t * @param {Object} [options]\n\t *\n\t * @see https://v2.vuejs.org/v2/guide/components.html\n\t */\n\tcomponent(id, params, options = {})\n\t{\n\t\tif (!params.name)\n\t\t{\n\t\t\tparams.name = id;\n\t\t}\n\n\t\tthis._components[id] = Object.assign({}, params);\n\t\tthis._components[id].bitrixOptions = {\n\t\t\timmutable: options.immutable === true,\n\t\t\tlocal: options.local === true,\n\t\t};\n\n\t\tif (typeof this._clones[id] !== 'undefined')\n\t\t{\n\t\t\tthis._registerCloneComponent(id);\n\t\t}\n\n\t\tconst componentParams = this._getFinalComponentParams(id);\n\t\tif (this.isLocal(id))\n\t\t{\n\t\t\treturn componentParams;\n\t\t}\n\n\t\treturn this._instance.component(id, componentParams);\n\t}\n\n\t/**\n\t * Register Vue component (local)\n\t * @see https://v2.vuejs.org/v2/guide/components.html\n\t *\n\t * @param {string} name\n\t * @param {Object} definition\n\t * @param {Object} [options]\n\t *\n\t * @returns {Object}\n\t */\n\tlocalComponent(name, definition, options = {})\n\t{\n\t\treturn this.component(name, definition, {...options, local: true});\n\t}\n\n\t/**\n\t * Get local Vue component\n\t * @see https://v2.vuejs.org/v2/guide/components.html\n\t *\n\t * @param {string} name\n\t *\n\t * @returns {Object}\n\t */\n\tgetLocalComponent(name)\n\t{\n\t\tif (!this.isComponent(name))\n\t\t{\n\t\t\tBitrixVue.showNotice('Component \"'+name+'\" is not registered yet.');\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!this.isLocal(name))\n\t\t{\n\t\t\tBitrixVue.showNotice('You cannot get the component \"'+name+'\" because it is marked as global.');\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this._getFinalComponentParams(name);\n\t}\n\n\t/**\n\t * Modify Vue component\n\t *\n\t * @param {String} id\n\t * @param {Object} mutations\n\t *\n\t * @returns {Function|boolean} - function for remove this modification\n\t */\n\tmutateComponent(id, mutations)\n\t{\n\t\tconst mutable = this.isMutable(id);\n\t\tif (mutable === false)\n\t\t{\n\t\t\tBitrixVue.showNotice('You cannot mutate the component \"'+id+'\" because it is marked as immutable, perhaps cloning the component is fine for you.');\n\t\t\treturn false;\n\t\t}\n\n\t\tif (typeof this._mutations[id] === 'undefined')\n\t\t{\n\t\t\tthis._mutations[id] = [];\n\t\t}\n\n\t\tthis._mutations[id].push(mutations);\n\n\t\tif (\n\t\t\ttypeof this._components[id] !== 'undefined'\n\t\t\t&& !this.isLocal(id)\n\t\t)\n\t\t{\n\t\t\tthis.component(id, this._components[id], this._components[id].bitrixOptions);\n\t\t}\n\n\t\treturn () => {\n\t\t\tthis._mutations[id] = this._mutations[id].filter((element) => element !== mutations);\n\t\t};\n\t}\n\n\t/**\n\t * Clone Vue component\n\t *\n\t * @param {string} id\n\t * @param {string} sourceId\n\t * @param {object} mutations\n\t * @returns {boolean}\n\t */\n\tcloneComponent(id, sourceId, mutations)\n\t{\n\t\tif (this.isLocal(sourceId))\n\t\t{\n\t\t\tconst definition = this.getLocalComponent(sourceId);\n\t\t\tdefinition.name = id;\n\n\t\t\tthis.component(id, definition, {immutable: false, local: true});\n\t\t\tthis.mutateComponent(id, mutations);\n\n\t\t\treturn true;\n\t\t}\n\n\t\tif (typeof this._clones[sourceId] === 'undefined')\n\t\t{\n\t\t\tthis._clones[sourceId] = {};\n\t\t}\n\n\t\tthis._clones[sourceId][id] = {id, sourceId, mutations};\n\n\t\tif (typeof this._components[sourceId] !== 'undefined')\n\t\t{\n\t\t\tthis._registerCloneComponent(sourceId, id);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Clone Vue component (object)\n\t *\n\t * @param {object} source\n\t * @param {object} mutations\n\t * @returns {object}\n\t */\n\tcloneLocalComponent(source, mutations)\n\t{\n\t\tif (typeof source !== 'object')\n\t\t{\n\t\t\tsource = this.getLocalComponent(source);\n\t\t\tif (!source)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\treturn this._applyMutation(\n\t\t\tthis._cloneObjectWithoutDuplicateFunction(source, mutations),\n\t\t\tmutations\n\t\t);\n\t}\n\n\t/**\n\t * Check exists Vue component\n\t *\n\t * @param {string} id\n\t * @returns {boolean}\n\t */\n\tisComponent(id)\n\t{\n\t\treturn typeof this._components[id] !== 'undefined'\n\t}\n\n\t/**\n\t * Check able to mutate Vue component\n\t *\n\t * @param id\n\t * @returns {boolean|undefined} - undefined when component not registered yet.\n\t */\n\tisMutable(id)\n\t{\n\t\tif (typeof this._components[id] === 'undefined')\n\t\t{\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn !this._components[id].bitrixOptions.immutable;\n\t}\n\n\t/**\n\t * Check component is a local\n\t *\n\t * @param id\n\t * @returns {boolean|undefined} - undefined when component not registered yet.\n\t */\n\tisLocal(id)\n\t{\n\t\tif (typeof this._components[id] === 'undefined')\n\t\t{\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this._components[id].bitrixOptions.local === true;\n\t}\n\n\t/**\n\t * Create a \"subclass\" of the base Vue constructor.\n\t *\n\t * @param options\n\t * @returns {*}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-extend\n\t */\n\textend(options)\n\t{\n\t\treturn this._instance.extend(options)\n\t}\n\n\t/**\n\t *\tDefer the callback to be executed after the next DOM update cycle. Use it immediately after you have changed some data to wait for the DOM update.\n\t *\n\t * @param {Function} callback\n\t * @param {Object} context\n\t * @returns {Promise|void}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-nextTick\n\t */\n\tnextTick(callback, context)\n\t{\n\t\treturn this._instance.nextTick(callback, context);\n\t}\n\n\t/**\n\t * Adds a property to a reactive object, ensuring the new property is also reactive, so triggers view updates.\n\t *\n\t * @param {Object|Array} target\n\t * @param {String|Number} key\n\t * @param {*} value\n\t * @returns {*}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-set\n\t */\n\tset(target, key, value)\n\t{\n\t\treturn this._instance.set(target, key, value);\n\t}\n\n\t/**\n\t * Delete a property on an object. If the object is reactive, ensure the deletion triggers view updates.\n\t *\n\t * @param {Object|Array} target\n\t * @param {String|Number} key\n\t * @returns {*}\n\t */\n\tdelete(target, key)\n\t{\n\t\treturn this._instance.delete(target, key);\n\t}\n\n\t/**\n\t * Register or retrieve a global directive.\n\t *\n\t * @param {String} id\n\t * @param {Object|Function} definition\n\t * @returns {*}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-directive\n\t */\n\tdirective(id, definition)\n\t{\n\t\treturn this._instance.directive(id, definition);\n\t}\n\n\t/**\n\t * Register or retrieve a global filter.\n\t *\n\t * @param id\n\t * @param definition\n\t * @returns {*}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-filter\n\t */\n\tfilter(id, definition)\n\t{\n\t\treturn this._instance.filter(id, definition);\n\t}\n\n\t/**\n\t * Install a Vue.js plugin.\n\t *\n\t * @param {Object|Function} plugin\n\t * @returns {*}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-use\n\t */\n\tuse(plugin)\n\t{\n\t\treturn this._instance.use(plugin);\n\t}\n\n\t/**\n\t * Apply a mixin globally, which affects every Vue instance created afterwards.\n\t *\n\t * @param {Object} mixin\n\t * @returns {*|Function|Object}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-mixin\n\t */\n\tmixin(mixin)\n\t{\n\t\treturn this._instance.mixin(mixin);\n\t}\n\n\t/**\n\t * Make an object reactive. Internally, Vue uses this on the object returned by the data function.\n\t *\n\t * @param object\n\t * @returns {*}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-observable\n\t */\n\tobservable(object)\n\t{\n\t\treturn this._instance.observable(object);\n\t}\n\n\t/**\n\t * Compiles a template string into a render function.\n\t *\n\t * @param template\n\t * @returns {*}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-compile\n\t */\n\tcompile(template)\n\t{\n\t\treturn this._instance.compile(template);\n\t}\n\n\t/**\n\t * Provides the installed version of Vue as a string.\n\t *\n\t * @returns {String}\n\t *\n\t * @see https://v2.vuejs.org/v2/api/#Vue-version\n\t */\n\tversion()\n\t{\n\t\treturn this._instance.version;\n\t}\n\n\t/**\n\t * Test node for compliance with parameters\n\t *\n\t * @param obj\n\t * @param params\n\t * @returns {boolean}\n\t */\n\ttestNode(obj, params)\n\t{\n\t\tif (!params || typeof params !== 'object')\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i,j,len;\n\n\t\tfor (i in params)\n\t\t{\n\t\t\tif(!params.hasOwnProperty(i))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tswitch(i)\n\t\t\t{\n\t\t\t\tcase 'tag':\n\t\t\t\tcase 'tagName':\n\t\t\t\t\tif (typeof params[i] === \"string\")\n\t\t\t\t\t{\n\t\t\t\t\t\tif (obj.tagName.toUpperCase() !== params[i].toUpperCase())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (params[i] instanceof RegExp)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!params[i].test(obj.tagName))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t\tcase 'class':\n\t\t\t\tcase 'className':\n\t\t\t\t\tif (typeof params[i] === \"string\")\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!obj.classList.contains(params[i].trim()))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (params[i] instanceof RegExp)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof obj.className !== \"string\"\n\t\t\t\t\t\t\t|| !params[i].test(obj.className)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t\tcase 'attr':\n\t\t\t\tcase 'attrs':\n\t\t\t\tcase 'attribute':\n\t\t\t\t\tif (typeof params[i] === \"string\")\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!obj.getAttribute(params[i]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (params[i] && Object.prototype.toString.call(params[i]) === \"[object Array]\")\n\t\t\t\t\t{\n\t\t\t\t\t\tfor (j = 0, len = params[i].length; j < len; j++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (params[i][j] && !obj.getAttribute(params[i][j]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfor (j in params[i])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(!params[i].hasOwnProperty(j))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet value = obj.getAttribute(j);\n\t\t\t\t\t\t\tif (typeof value !== \"string\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (params[i][j] instanceof RegExp)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (!params[i][j].test(value))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (value !== '' + params[i][j])\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t\tcase 'property':\n\t\t\t\tcase 'props':\n\t\t\t\t\tif (typeof params[i] === \"string\")\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!obj[params[i]])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (params[i] && Object.prototype.toString.call(params[i]) == \"[object Array]\")\n\t\t\t\t\t{\n\t\t\t\t\t\tfor (j = 0, len = params[i].length; j < len; j++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (params[i][j] && !obj[params[i][j]])\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfor (j in params[i])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(!params[i].hasOwnProperty(j))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof params[i][j] === \"string\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (obj[j] != params[i][j])\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (params[i][j] instanceof RegExp)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\ttypeof obj[j] !== \"string\"\n\t\t\t\t\t\t\t\t\t|| !params[i][j].test(obj[j])\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Getting a part of localization object for insertion into computed property.\n\t *\n\t * @param {String} phrasePrefix\n\t * @param {Object|null} phrases\n\t * @returns {ReadonlyArray<any>}\n\t */\n\tgetFilteredPhrases(phrasePrefix, phrases = null)\n\t{\n\t\tlet result = {};\n\n\t\tif (!phrases && typeof BX.message !== 'undefined')\n\t\t{\n\t\t\tphrases = BX.message;\n\t\t}\n\t\telse if (Type.isObject(phrases) && Type.isObject(phrases.$Bitrix))\n\t\t{\n\t\t\tphrases = phrases.$Bitrix.Loc.getMessages();\n\t\t}\n\n\t\tif (Array.isArray(phrasePrefix))\n\t\t{\n\t\t\tfor (let message in phrases)\n\t\t\t{\n\t\t\t\tif (!phrases.hasOwnProperty(message))\n\t\t\t\t{\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (!phrasePrefix.find((element) => message.toString().startsWith(element)))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this.localizationMode === 'development')\n\t\t\t\t{\n\t\t\t\t\tresult[message] = message;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresult[message] = phrases[message];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor (let message in phrases)\n\t\t\t{\n\t\t\t\tif (!phrases.hasOwnProperty(message))\n\t\t\t\t{\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (!message.startsWith(phrasePrefix))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this.localizationMode === 'development')\n\t\t\t\t{\n\t\t\t\t\tresult[message] = message;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresult[message] = phrases[message];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn Object.freeze(result);\n\t}\n\n\t/**\n\t * Return component params with mutation\n\t *\n\t * @param {String} componentId\n\t * @param {Object} mutations\n\t * @returns {null|Object}\n\t *\n\t * @private\n\t */\n\t_getComponentParamsWithMutation(componentId, mutations)\n\t{\n\t\tif (typeof this._components[componentId] === 'undefined')\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tlet componentParams = Object.assign({}, this._components[componentId]);\n\n\t\tif (typeof mutations === 'undefined')\n\t\t{\n\t\t\treturn componentParams;\n\t\t}\n\n\t\tmutations.forEach(mutation =>\n\t\t{\n\t\t\tcomponentParams = this._applyMutation(\n\t\t\t\tthis._cloneObjectWithoutDuplicateFunction(componentParams, mutation),\n\t\t\tmutation);\n\t\t});\n\n\t\treturn componentParams;\n\t}\n\n\t_getFinalComponentParams(id)\n\t{\n\t\tconst mutations = this.isMutable(id)? this._mutations[id]: undefined;\n\t\treturn this._getComponentParamsWithMutation(id, mutations);\n\t}\n\n\t/**\n\t * Register clone of components\n\t *\n\t * @param {String} sourceId\n\t * @param {String|null} [id]\n\t *\n\t * @private\n\t */\n\t_registerCloneComponent(sourceId, id = null)\n\t{\n\t\tlet components = [];\n\t\tif (id)\n\t\t{\n\t\t\tif (typeof this._clones[sourceId][id] !== 'undefined')\n\t\t\t{\n\t\t\t\tcomponents.push(this._clones[sourceId][id]);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor (let cloneId in this._clones[sourceId])\n\t\t\t{\n\t\t\t\tif (!this._clones[sourceId].hasOwnProperty(cloneId))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcomponents.push(this._clones[sourceId][cloneId]);\n\t\t\t}\n\t\t}\n\n\t\tcomponents.forEach(element =>\n\t\t{\n\t\t\tlet mutations = [];\n\n\t\t\tif (typeof this._mutations[element.sourceId] !== 'undefined')\n\t\t\t{\n\t\t\t\tmutations = mutations.concat(this._mutations[element.sourceId]);\n\t\t\t}\n\n\t\t\tmutations.push(element.mutations);\n\n\t\t\tlet componentParams = this._getComponentParamsWithMutation(element.sourceId, mutations);\n\t\t\tif (!componentParams)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.component(element.id, componentParams);\n\t\t});\n\t}\n\n\t/**\n\t * Clone object without duplicate function for apply mutation\n\t *\n\t * @param objectParams\n\t * @param mutation\n\t * @param level\n\t * @param previousParamName\n\t * @private\n\t */\n\t_cloneObjectWithoutDuplicateFunction(objectParams = {}, mutation = {}, level = 1, previousParamName = '')\n\t{\n\t\tconst object = {};\n\n\t\tfor (const param in objectParams)\n\t\t{\n\t\t\tif (!objectParams.hasOwnProperty(param))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (Type.isString(objectParams[param]))\n\t\t\t{\n\t\t\t\tobject[param] = objectParams[param];\n\t\t\t}\n\t\t\telse if (Type.isArray(objectParams[param]))\n\t\t\t{\n\t\t\t\tobject[param] = [].concat(objectParams[param]);\n\t\t\t}\n\t\t\telse if (Type.isObjectLike(objectParams[param]))\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\tpreviousParamName === 'watch'\n\t\t\t\t\t|| previousParamName === 'props'\n\t\t\t\t\t|| previousParamName === 'directives'\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tobject[param] = objectParams[param];\n\t\t\t\t}\n\t\t\t\telse if (Type.isNull(objectParams[param]))\n\t\t\t\t{\n\t\t\t\t\tobject[param] = null;\n\t\t\t\t}\n\t\t\t\telse if (Type.isObjectLike(mutation[param]))\n\t\t\t\t{\n\t\t\t\t\tobject[param] = this._cloneObjectWithoutDuplicateFunction(objectParams[param], mutation[param], (level+1), param)\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tobject[param] = Object.assign({}, objectParams[param])\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Type.isFunction(objectParams[param]))\n\t\t\t{\n\t\t\t\tif (!Type.isFunction(mutation[param]))\n\t\t\t\t{\n\t\t\t\t\tobject[param] = objectParams[param];\n\t\t\t\t}\n\t\t\t\telse if (level > 1)\n\t\t\t\t{\n\t\t\t\t\tif (previousParamName === 'watch')\n\t\t\t\t\t{\n\t\t\t\t\t\tobject[param] = objectParams[param];\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tobject['parent'+param[0].toUpperCase()+param.substr(1)] = objectParams[param];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (Type.isUndefined(object['methods']))\n\t\t\t\t\t{\n\t\t\t\t\t\tobject['methods'] = {};\n\t\t\t\t\t}\n\t\t\t\t\tobject['methods']['parent'+param[0].toUpperCase()+param.substr(1)] = objectParams[param];\n\n\t\t\t\t\tif (Type.isUndefined(objectParams['methods']))\n\t\t\t\t\t{\n\t\t\t\t\t\tobjectParams['methods'] = {};\n\t\t\t\t\t}\n\t\t\t\t\tobjectParams['methods']['parent'+param[0].toUpperCase()+param.substr(1)] = objectParams[param];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (!Type.isUndefined(objectParams[param]))\n\t\t\t{\n\t\t\t\tobject[param] = objectParams[param];\n\t\t\t}\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Apply mutation\n\t *\n\t * @param clonedObject\n\t * @param mutation\n\t * @param level\n\t * @private\n\t */\n\t_applyMutation(clonedObject = {}, mutation = {}, level = 1): object\n\t{\n\t\tconst object = Object.assign({}, clonedObject);\n\t\tfor (const param in mutation)\n\t\t{\n\t\t\tif (!mutation.hasOwnProperty(param))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tlevel === 1\n\t\t\t\t&& (param === 'compilerOptions' || param === 'setup')\n\t\t\t)\n\t\t\t{\n\t\t\t\tobject[param] = mutation[param];\n\t\t\t}\n\t\t\telse if (level === 1 && param === 'extends')\n\t\t\t{\n\t\t\t\tobject[param] = mutation[param];\n\t\t\t}\n\t\t\telse if (Type.isString(mutation[param]))\n\t\t\t{\n\t\t\t\tif (Type.isString(object[param]))\n\t\t\t\t{\n\t\t\t\t\tobject[param] = mutation[param].replace(`#PARENT_${param.toUpperCase()}#`, object[param]);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tobject[param] = mutation[param].replace(`#PARENT_${param.toUpperCase()}#`, '');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Type.isArray(mutation[param]))\n\t\t\t{\n\t\t\t\tif (level === 1 && param === 'replaceMixins')\n\t\t\t\t{\n\t\t\t\t\tobject['mixins'] = [].concat(mutation[param]);\n\t\t\t\t}\n\t\t\t\telse if (level === 1 && param === 'replaceInject')\n\t\t\t\t{\n\t\t\t\t\tobject['inject'] = [].concat(mutation[param]);\n\t\t\t\t}\n\t\t\t\telse if (level === 1 && param === 'replaceEmits')\n\t\t\t\t{\n\t\t\t\t\tobject['emits'] = [].concat(mutation[param]);\n\t\t\t\t}\n\t\t\t\telse if (level === 1 && param === 'replaceExpose')\n\t\t\t\t{\n\t\t\t\t\tobject['expose'] = [].concat(mutation[param]);\n\t\t\t\t}\n\t\t\t\telse if (Type.isPlainObject(object[param]))\n\t\t\t\t{\n\t\t\t\t\tmutation[param].forEach(element => object[param][element] = null);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tobject[param] = object[param].concat(mutation[param]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Type.isObjectLike(mutation[param]))\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\tlevel === 1 && param === 'props' && Type.isArray(object[param])\n\t\t\t\t\t|| level === 1 && param === 'emits' && Type.isArray(object[param])\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tconst newObject = {};\n\t\t\t\t\tobject[param].forEach(element => {\n\t\t\t\t\t\tnewObject[element] = null;\n\t\t\t\t\t});\n\t\t\t\t\tobject[param] = newObject;\n\t\t\t\t}\n\n\t\t\t\tif (level === 1 && param === 'watch')\n\t\t\t\t{\n\t\t\t\t\tfor (const paramName in object[param])\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!object[param].hasOwnProperty(paramName))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (paramName.includes('.'))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tType.isFunction(object[param][paramName])\n\t\t\t\t\t\t\t|| (\n\t\t\t\t\t\t\t\tType.isObject(object[param][paramName])\n\t\t\t\t\t\t\t\t&& Type.isFunction(object[param][paramName]['handler'])\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (Type.isUndefined(object['methods']))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tobject['methods'] = {};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst originNewFunctionName = 'parentWatch'+paramName[0].toUpperCase()+paramName.substr(1);\n\n\t\t\t\t\t\t\tif (Type.isFunction(object[param][paramName]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tobject['methods'][originNewFunctionName] = object[param][paramName];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tobject['methods'][originNewFunctionName] = object[param][paramName]['handler'];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (level === 1 && param === 'replaceEmits')\n\t\t\t\t{\n\t\t\t\t\tobject['emits'] = Object.assign({}, mutation[param]);\n\t\t\t\t}\n\t\t\t\telse if (\n\t\t\t\t\tlevel === 1\n\t\t\t\t\t&& (\n\t\t\t\t\t\tparam === 'components'\n\t\t\t\t\t\t|| param === 'directives'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tif (Type.isUndefined(object[param]))\n\t\t\t\t\t{\n\t\t\t\t\t\tobject[param] = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const objectName in mutation[param])\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!mutation[param].hasOwnProperty(objectName))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet parentObjectName = objectName[0].toUpperCase()+objectName.substr(1);\n\t\t\t\t\t\tparentObjectName = param === 'components'? 'Parent'+parentObjectName: 'parent'+parentObjectName\n\t\t\t\t\t\tobject[param][parentObjectName] = Object.assign({}, object[param][objectName]);\n\n\t\t\t\t\t\tif (param === 'components')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (Type.isUndefined(mutation[param][objectName].components))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmutation[param][objectName].components = {};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tmutation[param][objectName].components = Object.assign({[parentObjectName]: object[param][objectName]}, mutation[param][objectName].components);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tobject[param][objectName] = mutation[param][objectName];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (Type.isArray(object[param]))\n\t\t\t\t{\n\t\t\t\t\tfor (const mutationName in mutation[param])\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!mutation[param].hasOwnProperty(mutationName))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tobject[param].push(mutationName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (Type.isObjectLike(object[param]))\n\t\t\t\t{\n\t\t\t\t\tobject[param] = this._applyMutation(object[param], mutation[param], (level+1));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tobject[param] = mutation[param];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tobject[param] = mutation[param];\n\t\t\t}\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * @private\n\t * @param text\n\t */\n\tstatic showNotice(text)\n\t{\n\t\tif (BitrixVue.developerMode)\n\t\t{\n\t\t\tconsole.warn('BitrixVue: '+text);\n\t\t}\n\t}\n\n\t/**\n\t * @deprecated Special method for plugin registration\n\t */\n\tinstall(app, options)\n\t{\n\t\tapp.mixin(\n\t\t{\n\t\t\tbeforeCreate()\n\t\t\t{\n\t\t\t\tif (typeof this.$root !== 'undefined')\n\t\t\t\t{\n\t\t\t\t\tthis.$bitrix = this.$root.$bitrix;\n\t\t\t\t}\n\t\t\t},\n\t\t\tcomputed:\n\t\t\t{\n\t\t\t\t$Bitrix: function()\n\t\t\t\t{\n\t\t\t\t\treturn this.$root.$bitrix;\n\t\t\t\t},\n\t\t\t},\n\t\t\tmounted: function ()\n\t\t\t{\n\t\t\t\tif (!Type.isNil(this.$root.$bitrixApplication))\n\t\t\t\t{\n\t\t\t\t\tBitrixVue.showNotice(\"Store reference in global variables (like: this.$bitrixApplication) is deprecated, use this.$Bitrix.Data.set(...) instead.\");\n\t\t\t\t}\n\t\t\t\tif (!Type.isNil(this.$root.$bitrixController))\n\t\t\t\t{\n\t\t\t\t\tBitrixVue.showNotice(\"Store reference in global variables (like: this.$bitrixController) is deprecated, use this.$Bitrix.Data.set(...) instead.\");\n\t\t\t\t}\n\t\t\t\tif (!Type.isNil(this.$root.$bitrixMessages))\n\t\t\t\t{\n\t\t\t\t\tBitrixVue.showNotice(\"Store localization in global variable this.$bitrixMessages is deprecated, use this.$Bitrix.Log.setMessage(...) instead.\");\n\t\t\t\t}\n\t\t\t\tif (!Type.isNil(this.$root.$bitrixRestClient))\n\t\t\t\t{\n\t\t\t\t\tBitrixVue.showNotice(\"Working with a Rest-client through an old variable this.$bitrixRestClient is deprecated, use this.$Bitrix.RestClient.get() instead.\");\n\t\t\t\t}\n\t\t\t\tif (!Type.isNil(this.$root.$bitrixPullClient))\n\t\t\t\t{\n\t\t\t\t\tBitrixVue.showNotice(\"Working with a Pull-client through an old variable this.$bitrixPullClient is deprecated, use this.$Bitrix.PullClient.get() instead.\");\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n *\n * @source: https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.esm.browser.js\n */\n\n/**\n * Modify list for integration with Bitrix Framework:\n * - change default export to local for work in Bitrix CoreJS extensions;\n */\n\n// origin-start\nconst emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nconst _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n const n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n const n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n const map = Object.create(null);\n const list = str.split(',');\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? val => map[val.toLowerCase()]\n : val => map[val]\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nconst isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nconst isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n const index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n const cache = Object.create(null);\n return (function cachedFn (str) {\n const hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cached((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n});\n\n/**\n * Capitalize a string.\n */\nconst capitalize = cached((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cached((str) => {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n const l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nconst bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n let i = list.length - start;\n const ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (const key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n const res = {};\n for (let i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nconst no = (a, b, c) => false;\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nconst identity = (_) => _;\n\n/**\n * Generate a string containing static keys from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce((keys, m) => {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) return true\n const isObjectA = isObject(a);\n const isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n const isArrayA = Array.isArray(a);\n const isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every((e, i) => {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(key => {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (let i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) return i\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n let called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nconst SSR_ATTR = 'data-server-rendered';\n\nconst ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nconst LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"development\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"development\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nconst unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n const c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nconst bailRE = new RegExp(`[^${unicodeRegExp.source}.$_\\\\d]`);\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n const segments = path.split('.');\n return function (obj) {\n for (let i = 0; i < segments.length; i++) {\n if (!obj) return\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nconst hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nconst inBrowser = typeof window !== 'undefined';\nconst inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nconst weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nconst UA = inBrowser && window.navigator.userAgent.toLowerCase();\nconst isIE = UA && /msie|trident/.test(UA);\nconst isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nconst isEdge = UA && UA.indexOf('edge/') > 0;\nconst isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nconst isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nconst isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nconst isPhantomJS = UA && /phantomjs/.test(UA);\nconst isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nconst nativeWatch = ({}).watch;\n\nlet supportsPassive = false;\nif (inBrowser) {\n try {\n const opts = {};\n Object.defineProperty(opts, 'passive', ({\n get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nlet _isServer;\nconst isServerRendering = () => {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nconst devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nconst hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nlet _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = class Set {\n\n constructor () {\n this.set = Object.create(null);\n }\n has (key) {\n return this.set[key] === true\n }\n add (key) {\n this.set[key] = true;\n }\n clear () {\n this.set = Object.create(null);\n }\n };\n}\n\n/* */\n\nlet warn = noop;\nlet tip = noop;\nlet generateComponentTrace = (noop); // work around flow check\nlet formatComponentName = (noop);\n\n{\n const hasConsole = typeof console !== 'undefined';\n const classifyRE = /(?:^|[-_])(\\w)/g;\n const classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '');\n\n warn = (msg, vm) => {\n const trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error(`[Vue warn]: ${msg}${trace}`);\n }\n };\n\n tip = (msg, vm) => {\n if (hasConsole && (!config.silent)) {\n console.warn(`[Vue tip]: ${msg}` + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = (vm, includeFile) => {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n let name = options.name || options._componentTag;\n const file = options.__file;\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n };\n\n const repeat = (str, n) => {\n let res = '';\n while (n) {\n if (n % 2 === 1) res += str;\n if (n > 1) str += str;\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = vm => {\n if (vm._isVue && vm.$parent) {\n const tree = [];\n let currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n const last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : repeat(' ', 5 + i * 2)\n }${\n Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n };\n}\n\n/* */\n\nlet uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nclass Dep {\n\n\n\n\n constructor () {\n this.id = uid++;\n this.subs = [];\n }\n\n addSub (sub) {\n this.subs.push(sub);\n }\n\n removeSub (sub) {\n remove(this.subs, sub);\n }\n\n depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n }\n\n notify () {\n // stabilize the subscriber list first\n const subs = this.subs.slice();\n if (!config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort((a, b) => a.id - b.id);\n }\n for (let i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n }\n}\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nconst targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nclass VNode {\n\n\n\n\n\n\n // rendered in this component's scope\n\n\n // component instance\n // component placeholder node\n\n // strictly internal\n // contains raw HTML? (server only)\n // hoisted static node\n // necessary for enter transition check\n // empty comment placeholder?\n // is a cloned node?\n // is a v-once node?\n // async component factory function\n\n\n\n // real context vm for functional nodes\n // for SSR caching\n // used to store functional render context for devtools\n // functional scope id support\n\n constructor (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n ) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n }\n\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n get child () {\n return this.componentInstance\n }\n}\n\nconst createEmptyVNode = (text = '') => {\n const node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n const cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nconst arrayProto = Array.prototype;\nconst arrayMethods = Object.create(arrayProto);\n\nconst methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n const original = arrayProto[method];\n def(arrayMethods, method, function mutator (...args) {\n const result = original.apply(this, args);\n const ob = this.__ob__;\n let inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) ob.observeArray(inserted);\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nconst arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nlet shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nclass Observer {\n\n\n // number of vms that have this object as root $data\n\n constructor (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n }\n\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n walk (obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n }\n\n /**\n * Observe a list of Array items.\n */\n observeArray (items) {\n for (let i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n }\n}\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n let ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n const dep = new Dep();\n\n const property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n const getter = property && property.get;\n const setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n let childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n const value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n const value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) return\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (isUndef(target) || isPrimitive(target)\n ) {\n warn(`Cannot set reactive property on undefined, null, or primitive value: ${(target)}`);\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n const ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (isUndef(target) || isPrimitive(target)\n ) {\n warn(`Cannot delete reactive property on undefined, null, or primitive value: ${(target)}`);\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n const ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (let e, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nconst strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\n{\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n `option \"${key}\" can only be used during instance ` +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) return to\n let key, toVal, fromVal;\n\n const keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (let i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') continue\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n const instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n const defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n const res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n const res = [];\n for (let i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(hook => {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n const res = Object.create(parentVal || null);\n if (childVal) {\n assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) parentVal = undefined;\n if (childVal === nativeWatch) childVal = undefined;\n /* istanbul ignore if */\n if (!childVal) return Object.create(parentVal || null)\n {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) return childVal\n const ret = {};\n extend(ret, parentVal);\n for (const key in childVal) {\n let parent = ret[key];\n const child = childVal[key];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && \"development\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) return childVal\n const ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) extend(ret, childVal);\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nconst defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (const key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp(`^[a-zA-Z][\\\\-\\\\.0-9_${unicodeRegExp.source}]*$`).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n const props = options.props;\n if (!props) return\n const res = {};\n let i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (const key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else {\n warn(\n `Invalid value for option \"props\": expected an Array or an Object, ` +\n `but got ${toRawType(props)}.`,\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n const inject = options.inject;\n if (!inject) return\n const normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (let i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (const key in inject) {\n const val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else {\n warn(\n `Invalid value for option \"inject\": expected an Array or an Object, ` +\n `but got ${toRawType(inject)}.`,\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n const dirs = options.directives;\n if (dirs) {\n for (const key in dirs) {\n const def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n `Invalid value for option \"${name}\": expected an Object, ` +\n `but got ${toRawType(value)}.`,\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (let i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n const options = {};\n let key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n const strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n const assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) return assets[id]\n const camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) return assets[camelizedId]\n const PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) return assets[PascalCaseId]\n // fallback to prototype chain\n const res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n const prop = propOptions[key];\n const absent = !hasOwn(propsData, key);\n let value = propsData[key];\n // boolean casting\n const booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n const stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n const prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n const def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n let type = prop.type;\n let valid = !type || type === true;\n const expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (let i = 0; i < type.length && !valid; i++) {\n const assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n const haveExpectedTypes = expectedTypes.some(t => t);\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n const validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nconst simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n let valid;\n const expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n const t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid,\n expectedType\n }\n}\n\nconst functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n const match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (let i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\n ` Expected ${expectedTypes.map(capitalize).join(', ')}`;\n const expectedType = expectedTypes[0];\n const receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += ` with value ${styleValue(value, expectedType)}`;\n }\n message += `, got ${receivedType} `;\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += `with value ${styleValue(value, receivedType)}.`;\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return `\"${value}\"`\n } else if (type === 'Number') {\n return `${Number(value)}`\n } else {\n return `${value}`\n }\n}\n\nconst EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(elem => value.toLowerCase() === elem)\n}\n\nfunction isBoolean (...args) {\n return args.some(elem => elem.toLowerCase() === 'boolean')\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n let cur = vm;\n while ((cur = cur.$parent)) {\n const hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (let i = 0; i < hooks.length; i++) {\n try {\n const capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) return\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n let res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(e => handleError(e, vm, info + ` (Promise/async)`));\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n {\n warn(`Error in ${info}: \"${err.toString()}\"`, vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nlet isUsingMicroTask = false;\n\nconst callbacks = [];\nlet pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n const copies = callbacks.slice(0);\n callbacks.length = 0;\n for (let i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nlet timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n const p = Promise.resolve();\n timerFunc = () => {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) setTimeout(noop);\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n let counter = 1;\n const observer = new MutationObserver(flushCallbacks);\n const textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = () => {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = () => {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = () => {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n let _resolve;\n callbacks.push(() => {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(resolve => {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nlet mark;\nlet measure;\n\n{\n const perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = tag => perf.mark(tag);\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nlet initProxy;\n\n{\n const allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n const warnNonPresent = (target, key) => {\n warn(\n `Property or method \"${key}\" is not defined on the instance but ` +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n const warnReservedPrefix = (target, key) => {\n warn(\n `Property \"${key}\" must be accessed with \"$data.${key}\" because ` +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n const hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n const isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn(`Avoid overwriting built-in modifier in config.keyCodes: .${key}`);\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n const hasHandler = {\n has (target, key) {\n const has = key in target;\n const isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) warnReservedPrefix(target, key);\n else warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n const getHandler = {\n get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) warnReservedPrefix(target, key);\n else warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n const options = vm.$options;\n const handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nconst seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n let i, keys;\n const isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n const depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) _traverse(val[i], seen);\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) _traverse(val[keys[i]], seen);\n }\n}\n\n/* */\n\nconst normalizeEvent = cached((name) => {\n const passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n const once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n const capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name,\n once: once$$1,\n capture,\n passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n const fns = invoker.fns;\n if (Array.isArray(fns)) {\n const cloned = fns.slice();\n for (let i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments, vm, `v-on handler`);\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, `v-on handler`)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n let name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n warn(\n `Invalid handler for event \"${event.name}\": got ` + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n let invoker;\n const oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n const propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n const res = {};\n const { attrs, props } = data;\n if (isDef(attrs) || isDef(props)) {\n for (const key in propOptions) {\n const altKey = hyphenate(key);\n {\n const keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n `Prop \"${keyInLowerCase}\" is passed to component ` +\n `${formatComponentName(tag || Ctor)}, but the declared prop name is` +\n ` \"${key}\". ` +\n `Note that HTML attributes are case-insensitive and camelCased ` +\n `props need to use their kebab-case equivalents when using in-DOM ` +\n `templates. You should probably use \"${altKey}\" instead of \"${key}\".`\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (let i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n const res = [];\n let i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') continue\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, `${nestedIndex || ''}_${i}`);\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = `__vlist${nestedIndex}_${i}__`;\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n const provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n const result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(key => {\n /* istanbul ignore else */\n {\n defineReactive$$1(vm, key, result[key], () => {\n warn(\n `Avoid mutating an injected value directly since the changes will be ` +\n `overwritten whenever the provided component re-renders. ` +\n `injection being mutated: \"${key}\"`,\n vm\n );\n });\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n const result = Object.create(null);\n const keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') continue\n const provideKey = inject[key].from;\n let source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n const provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else {\n warn(`Injection \"${key}\" not found`, vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n const slots = {};\n for (let i = 0, l = children.length; i < l; i++) {\n const child = children[i];\n const data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n const name = data.slot;\n const slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (const name in slots) {\n if (slots[name].every(isWhitespace)) {\n delete slots[name];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n let res;\n const hasNormalSlots = Object.keys(normalSlots).length > 0;\n const isStable = slots ? !!slots.$stable : !hasNormalSlots;\n const key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (const key in slots) {\n if (slots[key] && key[0] !== '$') {\n res[key] = normalizeScopedSlot(normalSlots, key, slots[key]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (const key in normalSlots) {\n if (!(key in res)) {\n res[key] = proxyNormalSlot(normalSlots, key);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n const normalized = function () {\n let res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n let vnode = res && res[0];\n return res && (\n !vnode ||\n (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return () => slots[key]\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n let ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n const iterator = val[Symbol.iterator]();\n let result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallbackRender,\n props,\n bindObject\n) {\n const scopedSlotFn = this.$scopedSlots[name];\n let nodes;\n if (scopedSlotFn) {\n // scoped slot\n props = props || {};\n if (bindObject) {\n if (!isObject(bindObject)) {\n warn('slot v-bind without argument expects an Object', this);\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes =\n scopedSlotFn(props) ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n } else {\n nodes =\n this.$slots[name] ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n }\n\n const target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n const mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n return eventKeyCode === undefined\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n let hash;\n for (const key in value) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n const type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n const camelizedKey = camelize(key);\n const hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n const on = data.on || (data.on = {});\n on[`update:${key}`] = function ($event) {\n value[key] = $event;\n };\n }\n }\n }\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n const cached = this._staticTrees || (this._staticTrees = []);\n let tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, `__static__${index}`, false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, `__once__${index}${key ? `_${key}` : ``}`, true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (let i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], `${key}_${i}`, isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n const on = data.on = data.on ? extend({}, data.on) : {};\n for (const key in value) {\n const existing = on[key];\n const ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (let i = 0; i < fns.length; i++) {\n const slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (let i = 0; i < values.length; i += 2) {\n const key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n `Invalid value for dynamic directive argument (expected string or null): ${key}`,\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n const options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n let contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n const isCompiled = isTrue(options._compiled);\n const needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = () => {\n if (!this.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this.$slots = resolveSlots(children, parent)\n );\n }\n return this.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = (a, b, c, d) => {\n const vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = (a, b, c, d) => createElement(contextVm, a, b, c, d, needNormalization);\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n const options = Ctor.options;\n const props = {};\n const propOptions = options.props;\n if (isDef(propOptions)) {\n for (const key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) mergeProps(props, data.attrs);\n if (isDef(data.props)) mergeProps(props, data.props);\n }\n\n const renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n const vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n const vnodes = normalizeChildren(vnode) || [];\n const res = new Array(vnodes.length);\n for (let i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n const clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (const key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nconst componentVNodeHooks = {\n init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n const mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n const child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch (oldVnode, vnode) {\n const options = vnode.componentOptions;\n const child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert (vnode) {\n const { context, componentInstance } = vnode;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy (vnode) {\n const { componentInstance } = vnode;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nconst hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n const baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n {\n warn(`Invalid Component definition: ${String(Ctor)}`, context);\n }\n return\n }\n\n // async component\n let asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n const propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n const listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n const slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n const name = Ctor.options.name || tag;\n const vnode = new VNode(\n `vue-component-${Ctor.cid}${name ? `-${name}` : ''}`,\n data, undefined, undefined, undefined, context,\n { Ctor, propsData, listeners, tag, children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n // we know it's MountedComponentVNode but flow doesn't\n vnode,\n // activeInstance in lifecycle state\n parent\n) {\n const options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent\n };\n // check inline-template render functions\n const inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n const hooks = data.hook || (data.hook = {});\n for (let i = 0; i < hooksToMerge.length; i++) {\n const key = hooksToMerge[i];\n const existing = hooks[key];\n const toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n const merged = (a, b) => {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n const prop = (options.model && options.model.prop) || 'value';\n const event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n const on = data.on || (data.on = {});\n const existing = on[event];\n const callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nconst SIMPLE_NORMALIZE = 1;\nconst ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n warn(\n `Avoid using observed data object as vnode data: ${JSON.stringify(data)}\\n` +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n let vnode, ns;\n if (typeof tag === 'string') {\n let Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n warn(\n `The .native modifier for v-on is only valid on components but it was used on <${tag}>.`,\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) applyNS(vnode, ns);\n if (isDef(data)) registerDeepBindings(data);\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (let i = 0, l = vnode.children.length; i < l; i++) {\n const child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n const options = vm.$options;\n const parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n const renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = (a, b, c, d) => createElement(vm, a, b, c, d, false);\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = (a, b, c, d) => createElement(vm, a, b, c, d, true);\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n const parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, () => {\n !isUpdatingChildComponent && warn(`$attrs is readonly.`, vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, () => {\n !isUpdatingChildComponent && warn(`$listeners is readonly.`, vm);\n }, true);\n }\n}\n\nlet currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n const vm = this;\n const { render, _parentVnode } = vm.$options;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n let vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, `render`);\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, `renderError`);\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n const node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data, context, children, tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n const owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n const owners = factory.owners = [owner];\n let sync = true;\n let timerLoading = null;\n let timerTimeout = null\n\n ;(owner).$on('hook:destroyed', () => remove(owners, owner));\n\n const forceRender = (renderCompleted) => {\n for (let i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n const resolve = once((res) => {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n const reject = once(reason => {\n warn(\n `Failed to resolve async component: ${String(factory)}` +\n (reason ? `\\nReason: ${reason}` : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n const res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(() => {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(() => {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n `timeout (${res.timeout}ms)`\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (let i = 0; i < children.length; i++) {\n const c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n const listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nlet target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n const _target = target;\n return function onceHandler () {\n const res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n const hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n const vm = this;\n if (Array.isArray(event)) {\n for (let i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n const vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n const vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (let i = 0, l = event.length; i < l; i++) {\n vm.$off(event[i], fn);\n }\n return vm\n }\n // specific event\n const cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n let cb;\n let i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n const vm = this;\n {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n `Event \"${lowerCaseEvent}\" is emitted in component ` +\n `${formatComponentName(vm)} but the handler is registered for \"${event}\". ` +\n `Note that HTML attributes are case-insensitive and you cannot use ` +\n `v-on to listen to camelCase events when using in-DOM templates. ` +\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`\n );\n }\n }\n let cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n const args = toArray(arguments, 1);\n const info = `event handler for \"${event}\"`;\n for (let i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nlet activeInstance = null;\nlet isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n const prevActiveInstance = activeInstance;\n activeInstance = vm;\n return () => {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n const options = vm.$options;\n\n // locate first non-abstract parent\n let parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n const vm = this;\n const prevEl = vm.$el;\n const prevVnode = vm._vnode;\n const restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n const vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n const vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n const parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n let i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n let updateComponent;\n /* istanbul ignore if */\n if (config.performance && mark) {\n updateComponent = () => {\n const name = vm._name;\n const id = vm._uid;\n const startTag = `vue-perf-start:${id}`;\n const endTag = `vue-perf-end:${id}`;\n\n mark(startTag);\n const vnode = vm._render();\n mark(endTag);\n measure(`vue ${name} render`, startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure(`vue ${name} patch`, startTag, endTag);\n };\n } else {\n updateComponent = () => {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n const newScopedSlots = parentVnode.data.scopedSlots;\n const oldScopedSlots = vm.$scopedSlots;\n const hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n (!newScopedSlots && vm.$scopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n const needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n const props = vm._props;\n const propKeys = vm.$options._propKeys || [];\n for (let i = 0; i < propKeys.length; i++) {\n const key = propKeys[i];\n const propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n const oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) return true\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (let i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (let i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n const handlers = vm.$options[hook];\n const info = `${hook} hook`;\n if (handlers) {\n for (let i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nconst MAX_UPDATE_COUNT = 100;\n\nconst queue = [];\nconst activatedChildren = [];\nlet has = {};\nlet circular = {};\nlet waiting = false;\nlet flushing = false;\nlet index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nlet currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nlet getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n const performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = () => performance.now();\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n let watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort((a, b) => a.id - b.id);\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? `in watcher with expression \"${watcher.expression}\"`\n : `in a component render function.`\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n const activatedQueue = activatedChildren.slice();\n const updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n let i = queue.length;\n while (i--) {\n const watcher = queue[i];\n const vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (let i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n const id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n let i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (!config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nlet uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nclass Watcher {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n constructor (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n ) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = expOrFn.toString();\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n warn(\n `Failed watching path: \"${expOrFn}\" ` +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n }\n\n /**\n * Evaluate the getter, and re-collect dependencies.\n */\n get () {\n pushTarget(this);\n let value;\n const vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, `getter for watcher \"${this.expression}\"`);\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n }\n\n /**\n * Add a dependency to this directive.\n */\n addDep (dep) {\n const id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n }\n\n /**\n * Clean up for dependency collection.\n */\n cleanupDeps () {\n let i = this.deps.length;\n while (i--) {\n const dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n let tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n }\n\n /**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\n update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n }\n\n /**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\n run () {\n if (this.active) {\n const value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n const oldValue = this.value;\n this.value = value;\n if (this.user) {\n const info = `callback for watcher \"${this.expression}\"`;\n invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n }\n\n /**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\n evaluate () {\n this.value = this.get();\n this.dirty = false;\n }\n\n /**\n * Depend on all deps collected by this watcher.\n */\n depend () {\n let i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n }\n\n /**\n * Remove self from all dependencies' subscriber list.\n */\n teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n let i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n }\n}\n\n/* */\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n const opts = vm.$options;\n if (opts.props) initProps(vm, opts.props);\n if (opts.methods) initMethods(vm, opts.methods);\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) initComputed(vm, opts.computed);\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n const propsData = vm.$options.propsData || {};\n const props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n const keys = vm.$options._propKeys = [];\n const isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n for (const key in propsOptions) {\n keys.push(key);\n const value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n {\n const hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n `\"${hyphenatedKey}\" is a reserved attribute and cannot be used as component prop.`,\n vm\n );\n }\n defineReactive$$1(props, key, value, () => {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n `Avoid mutating a prop directly since the value will be ` +\n `overwritten whenever the parent component re-renders. ` +\n `Instead, use a data or computed property based on the prop's ` +\n `value. Prop being mutated: \"${key}\"`,\n vm\n );\n }\n });\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, `_props`, key);\n }\n }\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n let data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n const keys = Object.keys(data);\n const props = vm.$options.props;\n const methods = vm.$options.methods;\n let i = keys.length;\n while (i--) {\n const key = keys[i];\n {\n if (methods && hasOwn(methods, key)) {\n warn(\n `Method \"${key}\" has already been defined as a data property.`,\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n warn(\n `The data property \"${key}\" is already declared as a prop. ` +\n `Use prop default value instead.`,\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, `_data`, key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, `data()`);\n return {}\n } finally {\n popTarget();\n }\n}\n\nconst computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n const watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n const isSSR = isServerRendering();\n\n for (const key in computed) {\n const userDef = computed[key];\n const getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (getter == null) {\n warn(\n `Getter is missing for computed property \"${key}\".`,\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else {\n if (key in vm.$data) {\n warn(`The computed property \"${key}\" is already defined in data.`, vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn(`The computed property \"${key}\" is already defined as a prop.`, vm);\n } else if (vm.$options.methods && key in vm.$options.methods) {\n warn(`The computed property \"${key}\" is already defined as a method.`, vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n const shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n `Computed property \"${key}\" was assigned to but it has no setter.`,\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n const watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n const props = vm.$options.props;\n for (const key in methods) {\n {\n if (typeof methods[key] !== 'function') {\n warn(\n `Method \"${key}\" has type \"${typeof methods[key]}\" in the component definition. ` +\n `Did you reference the function correctly?`,\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n `Method \"${key}\" has already been defined as a prop.`,\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n `Method \"${key}\" conflicts with an existing Vue instance method. ` +\n `Avoid defining component methods that start with _ or $.`\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (const key in watch) {\n const handler = watch[key];\n if (Array.isArray(handler)) {\n for (let i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n const dataDef = {};\n dataDef.get = function () { return this._data };\n const propsDef = {};\n propsDef.get = function () { return this._props };\n {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(`$props is readonly.`, this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n const vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n const watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n const info = `callback for immediate watcher \"${watcher.expression}\"`;\n pushTarget();\n invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n popTarget();\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nlet uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n const vm = this;\n // a uid\n vm._uid = uid$3++;\n\n let startTag, endTag;\n /* istanbul ignore if */\n if (config.performance && mark) {\n startTag = `vue-perf-start:${vm._uid}`;\n endTag = `vue-perf-end:${vm._uid}`;\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n {\n initProxy(vm);\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure(`vue ${vm._name} init`, startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n const opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n const parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n const vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n let options = Ctor.options;\n if (Ctor.super) {\n const superOptions = resolveConstructorOptions(Ctor.super);\n const cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n const modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n let modified;\n const latest = Ctor.options;\n const sealed = Ctor.sealedOptions;\n for (const key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) modified = {};\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (!(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n const installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n const args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n let cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n const Super = this;\n const SuperId = Super.cid;\n const cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n const name = extendOptions.name || Super.options.name;\n if (name) {\n validateComponentName(name);\n }\n\n const Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n const props = Comp.options.props;\n for (const key in props) {\n proxy(Comp.prototype, `_props`, key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n const computed = Comp.options.computed;\n for (const key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(type => {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n const { cache, keys, _vnode } = keepAliveInstance;\n for (const key in cache) {\n const entry = cache[key];\n if (entry) {\n const name = entry.name;\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n const entry = cache[key];\n if (entry && (!current || entry.tag !== current.tag)) {\n entry.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nconst patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n methods: {\n cacheVNode() {\n const { cache, keys, vnodeToCache, keyToCache } = this;\n if (vnodeToCache) {\n const { tag, componentInstance, componentOptions } = vnodeToCache;\n cache[keyToCache] = {\n name: getComponentName(componentOptions),\n tag,\n componentInstance,\n };\n keys.push(keyToCache);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n this.vnodeToCache = null;\n }\n }\n },\n\n created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed () {\n for (const key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted () {\n this.cacheVNode();\n this.$watch('include', val => {\n pruneCache(this, name => matches(val, name));\n });\n this.$watch('exclude', val => {\n pruneCache(this, name => !matches(val, name));\n });\n },\n\n updated () {\n this.cacheVNode();\n },\n\n render () {\n const slot = this.$slots.default;\n const vnode = getFirstComponentChild(slot);\n const componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n const name = getComponentName(componentOptions);\n const { include, exclude } = this;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n const { cache, keys } = this;\n const key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? `::${componentOptions.tag}` : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n // delay setting the cache until update\n this.vnodeToCache = vnode;\n this.keyToCache = key;\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n const configDef = {};\n configDef.get = () => config;\n {\n configDef.set = () => {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn,\n extend,\n mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = (obj) => {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(type => {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nconst isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nconst acceptValue = makeMap('input,textarea,option,select,progress');\nconst mustUseProp = (tag, type, attr) => {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nconst isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nconst isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nconst convertEnumeratedValue = (key, value) => {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nconst isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,' +\n 'truespeed,typemustmatch,visible'\n);\n\nconst xlinkNS = 'http://www.w3.org/1999/xlink';\n\nconst isXlink = (name) => {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nconst getXlinkProp = (name) => {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nconst isFalsyAttrValue = (val) => {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n let data = vnode.data;\n let parentNode = vnode;\n let childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n let res = '';\n let stringified;\n for (let i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) res += ' ';\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n let res = '';\n for (const key in value) {\n if (value[key]) {\n if (res) res += ' ';\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nconst namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nconst isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nconst isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nconst isPreTag = (tag) => tag === 'pre';\n\nconst isReservedTag = (tag) => {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nconst unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n const el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nconst isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n const selected = document.querySelector(el);\n if (!selected) {\n warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n const elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create (_, vnode) {\n registerRef(vnode);\n },\n update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n const key = vnode.data.ref;\n if (!isDef(key)) return\n\n const vm = vnode.context;\n const ref = vnode.componentInstance || vnode.elm;\n const refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nconst emptyNode = new VNode('', {}, []);\n\nconst hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key &&\n a.asyncFactory === b.asyncFactory && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') return true\n let i;\n const typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n const typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n let i, key;\n const map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) map[key] = i;\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n let i, j;\n const cbs = {};\n\n const { modules, nodeOps } = backend;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n const parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(ignore => {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n let creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n const data = vnode.data;\n const children = vnode.children;\n const tag = vnode.tag;\n if (isDef(tag)) {\n {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n let i = vnode.data;\n if (isDef(i)) {\n const isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n let i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n let innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n {\n checkDuplicateKeys(children);\n }\n for (let i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (let i = 0; i < cbs.create.length; ++i) {\n cbs.create[i](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) i.create(emptyNode, vnode);\n if (isDef(i.insert)) insertedVnodeQueue.push(vnode);\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n let i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n let ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n let i, j;\n const data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) i(vnode);\n for (i = 0; i < cbs.destroy.length; ++i) cbs.destroy[i](vnode);\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n const ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n let i;\n const listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n const canMove = !removeOnly;\n\n {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n const seenKeys = {};\n for (let i = 0; i < children.length; i++) {\n const vnode = children[i];\n const key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n `Duplicate keys detected: '${key}'. This may cause an update error.`,\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (let i = start; i < end; i++) {\n const c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) return i\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n const elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n let i;\n const data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n const oldCh = oldVnode.children;\n const ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) cbs.update[i](oldVnode, vnode);\n if (isDef(i = data.hook) && isDef(i = i.update)) i(oldVnode, vnode);\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly);\n } else if (isDef(ch)) {\n {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) nodeOps.setTextContent(elm, '');\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) i(oldVnode, vnode);\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (let i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n let hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n const isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n let i;\n const { tag, data, children } = vnode;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) i(vnode, true /* hydrating */);\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n let childrenMatch = true;\n let childNode = elm.firstChild;\n for (let i = 0; i < children.length; i++) {\n if (!childNode || !hydrate(childNode, children[i], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n let fullInvoke = false;\n for (const key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) invokeDestroyHook(oldVnode);\n return\n }\n\n let isInitialPatch = false;\n const insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n const isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n const oldElm = oldVnode.elm;\n const parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n let ancestor = vnode.parent;\n const patchable = isPatchable(vnode);\n while (ancestor) {\n for (let i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (let i = 0; i < cbs.create.length; ++i) {\n cbs.create[i](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n const insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (let i = 1; i < insert.fns.length; i++) {\n insert.fns[i]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n const isCreate = oldVnode === emptyNode;\n const isDestroy = vnode === emptyNode;\n const oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n const newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n const dirsWithInsert = [];\n const dirsWithPostpatch = [];\n\n let key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n const callInsert = () => {\n for (let i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', () => {\n for (let i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nconst emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n const res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n let i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || `${dir.name}.${Object.keys(dir.modifiers || {}).join('.')}`\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n const fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, `directive ${dir.name} ${hook} hook`);\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n const opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n let key, cur, old;\n const elm = vnode.elm;\n const oldAttrs = oldVnode.data.attrs || {};\n let attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur, vnode.data.pre);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n if (isInPre || el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n const blocker = e => {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n const el = vnode.elm;\n const data = vnode.data;\n const oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n let cls = genClassForVnode(vnode);\n\n // handle transition classes\n const transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\nconst validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n let inSingle = false;\n let inDouble = false;\n let inTemplateString = false;\n let inRegex = false;\n let curly = 0;\n let square = 0;\n let paren = 0;\n let lastFilterIndex = 0;\n let c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) inSingle = false;\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) inDouble = false;\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) inTemplateString = false;\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) inRegex = false;\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n let j = i - 1;\n let p;\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') break\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n const i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return `_f(\"${filter}\")(${exp})`\n } else {\n const name = filter.slice(0, i);\n const args = filter.slice(i + 1);\n return `_f(\"${name}\")(${exp}${args !== ')' ? ',' + args : args}`\n }\n}\n\n/* */\n\n\n\n/* eslint-disable no-unused-vars */\nfunction baseWarn (msg, range) {\n console.error(`[Vue compiler]: ${msg}`);\n}\n/* eslint-enable no-unused-vars */\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(m => m[key]).filter(_ => _)\n : []\n}\n\nfunction addProp (el, name, value, range, dynamic) {\n (el.props || (el.props = [])).push(rangeSetItem({ name, value, dynamic }, range));\n el.plain = false;\n}\n\nfunction addAttr (el, name, value, range, dynamic) {\n const attrs = dynamic\n ? (el.dynamicAttrs || (el.dynamicAttrs = []))\n : (el.attrs || (el.attrs = []));\n attrs.push(rangeSetItem({ name, value, dynamic }, range));\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value, range) {\n el.attrsMap[name] = value;\n el.attrsList.push(rangeSetItem({ name, value }, range));\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n isDynamicArg,\n modifiers,\n range\n) {\n (el.directives || (el.directives = [])).push(rangeSetItem({\n name,\n rawName,\n value,\n arg,\n isDynamicArg,\n modifiers\n }, range));\n el.plain = false;\n}\n\nfunction prependModifierMarker (symbol, name, dynamic) {\n return dynamic\n ? `_p(${name},\"${symbol}\")`\n : symbol + name // mark the event as captured\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn,\n range,\n dynamic\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.',\n range\n );\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (modifiers.right) {\n if (dynamic) {\n name = `(${name})==='click'?'contextmenu':(${name})`;\n } else if (name === 'click') {\n name = 'contextmenu';\n delete modifiers.right;\n }\n } else if (modifiers.middle) {\n if (dynamic) {\n name = `(${name})==='click'?'mouseup':(${name})`;\n } else if (name === 'click') {\n name = 'mouseup';\n }\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = prependModifierMarker('!', name, dynamic);\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = prependModifierMarker('~', name, dynamic);\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = prependModifierMarker('&', name, dynamic);\n }\n\n let events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n const newHandler = rangeSetItem({ value: value.trim(), dynamic }, range);\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n const handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getRawBindingAttr (\n el,\n name\n) {\n return el.rawAttrsMap[':' + name] ||\n el.rawAttrsMap['v-bind:' + name] ||\n el.rawAttrsMap[name]\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n const dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n const staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n let val;\n if ((val = el.attrsMap[name]) != null) {\n const list = el.attrsList;\n for (let i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\nfunction getAndRemoveAttrByRegex (\n el,\n name\n) {\n const list = el.attrsList;\n for (let i = 0, l = list.length; i < l; i++) {\n const attr = list[i];\n if (name.test(attr.name)) {\n list.splice(i, 1);\n return attr\n }\n }\n}\n\nfunction rangeSetItem (\n item,\n range\n) {\n if (range) {\n if (range.start != null) {\n item.start = range.start;\n }\n if (range.end != null) {\n item.end = range.end;\n }\n }\n return item\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n const { number, trim } = modifiers || {};\n\n const baseValueExpression = '$$v';\n let valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n `(typeof ${baseValueExpression} === 'string'` +\n `? ${baseValueExpression}.trim()` +\n `: ${baseValueExpression})`;\n }\n if (number) {\n valueExpression = `_n(${valueExpression})`;\n }\n const assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: `(${value})`,\n expression: JSON.stringify(value),\n callback: `function (${baseValueExpression}) {${assignment}}`\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n const res = parseModel(value);\n if (res.key === null) {\n return `${value}=${assignment}`\n } else {\n return `$set(${res.exp}, ${res.key}, ${assignment})`\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nlet len, str, chr, index$1, expressionPos, expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n let inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) inBracket++;\n if (chr === 0x5D) inBracket--;\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n const stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nlet warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nconst RANGE_TOKEN = '__r';\nconst CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n const value = dir.value;\n const modifiers = dir.modifiers;\n const tag = el.tag;\n const type = el.attrsMap.type;\n\n {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n `<${el.tag} v-model=\"${value}\" type=\"file\">:\\n` +\n `File inputs are read only. Use a v-on:change listener instead.`,\n el.rawAttrsMap['v-model']\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else {\n warn$1(\n `<${el.tag} v-model=\"${value}\">: ` +\n `v-model is not supported on this element type. ` +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.',\n el.rawAttrsMap['v-model']\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n const number = modifiers && modifiers.number;\n const valueBinding = getBindingAttr(el, 'value') || 'null';\n const trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n const falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n `Array.isArray(${value})` +\n `?_i(${value},${valueBinding})>-1` + (\n trueValueBinding === 'true'\n ? `:(${value})`\n : `:_q(${value},${trueValueBinding})`\n )\n );\n addHandler(el, 'change',\n `var $$a=${value},` +\n '$$el=$event.target,' +\n `$$c=$$el.checked?(${trueValueBinding}):(${falseValueBinding});` +\n 'if(Array.isArray($$a)){' +\n `var $$v=${number ? '_n(' + valueBinding + ')' : valueBinding},` +\n '$$i=_i($$a,$$v);' +\n `if($$el.checked){$$i<0&&(${genAssignmentCode(value, '$$a.concat([$$v])')})}` +\n `else{$$i>-1&&(${genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')})}` +\n `}else{${genAssignmentCode(value, '$$c')}}`,\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n const number = modifiers && modifiers.number;\n let valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? `_n(${valueBinding})` : valueBinding;\n addProp(el, 'checked', `_q(${value},${valueBinding})`);\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n const number = modifiers && modifiers.number;\n const selectedVal = `Array.prototype.filter` +\n `.call($event.target.options,function(o){return o.selected})` +\n `.map(function(o){var val = \"_value\" in o ? o._value : o.value;` +\n `return ${number ? '_n(val)' : 'val'}})`;\n\n const assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n let code = `var $$selectedVal = ${selectedVal};`;\n code = `${code} ${genAssignmentCode(value, assignment)}`;\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n const type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n {\n const value = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n const typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value && !typeBinding) {\n const binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n `${binding}=\"${value}\" conflicts with v-model on the same element ` +\n 'because the latter already expands to a value binding internally',\n el.rawAttrsMap[binding]\n );\n }\n }\n\n const { lazy, number, trim } = modifiers || {};\n const needCompositionGuard = !lazy && type !== 'range';\n const event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n let valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = `$event.target.value.trim()`;\n }\n if (number) {\n valueExpression = `_n(${valueExpression})`;\n }\n\n let code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = `if($event.target.composing)return;${code}`;\n }\n\n addProp(el, 'value', `(${value})`);\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n const event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nlet target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n const _target = target$1; // save current target element in closure\n return function onceHandler () {\n const res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nconst useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n const attachedTimestamp = currentFlushTimestamp;\n const original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture, passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n const on = vnode.data.on || {};\n const oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nlet svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n let key, cur;\n const elm = vnode.elm;\n const oldProps = oldVnode.data.domProps || {};\n let props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) vnode.children.length = 0;\n if (cur === oldProps[key]) continue\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n const strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = `<svg>${cur}</svg>`;\n const svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n let notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n const value = elm.value;\n const modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nconst parseStyleText = cached(function (cssText) {\n const res = {};\n const listDelimiter = /;(?![^(]*\\))/g;\n const propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n const tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n const style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n const res = {};\n let styleData;\n\n if (checkChild) {\n let childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n let parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nconst cssVarRE = /^--/;\nconst importantRE = /\\s*!important$/;\nconst setProp = (el, name, val) => {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n const normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (let i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nconst vendorNames = ['Webkit', 'Moz', 'ms'];\n\nlet emptyStyle;\nconst normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n const capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (let i = 0; i < vendorNames.length; i++) {\n const name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n const data = vnode.data;\n const oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n let cur, name;\n const el = vnode.elm;\n const oldStaticStyle = oldData.staticStyle;\n const oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n const oldStyle = oldStaticStyle || oldStyleBinding;\n\n const style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n const newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nconst whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(c => el.classList.add(c));\n } else {\n el.classList.add(cls);\n }\n } else {\n const cur = ` ${el.getAttribute('class') || ''} `;\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(c => el.classList.remove(c));\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n let cur = ` ${el.getAttribute('class') || ''} `;\n const tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n const res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nconst autoCssTransition = cached(name => {\n return {\n enterClass: `${name}-enter`,\n enterToClass: `${name}-enter-to`,\n enterActiveClass: `${name}-enter-active`,\n leaveClass: `${name}-leave`,\n leaveToClass: `${name}-leave-to`,\n leaveActiveClass: `${name}-leave-active`\n }\n});\n\nconst hasTransition = inBrowser && !isIE9;\nconst TRANSITION = 'transition';\nconst ANIMATION = 'animation';\n\n// Transition property/event sniffing\nlet transitionProp = 'transition';\nlet transitionEndEvent = 'transitionend';\nlet animationProp = 'animation';\nlet animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nconst raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ fn => fn();\n\nfunction nextFrame (fn) {\n raf(() => {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n const transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n const { type, timeout, propCount } = getTransitionInfo(el, expectedType);\n if (!type) return cb()\n const event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n let ended = 0;\n const end = () => {\n el.removeEventListener(event, onEnd);\n cb();\n };\n const onEnd = e => {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(() => {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nconst transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n const styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n const transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n const transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n const transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n const animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n const animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n const animationTimeout = getTimeout(animationDelays, animationDurations);\n\n let type;\n let timeout = 0;\n let propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n const hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type,\n timeout,\n propCount,\n hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map((d, i) => {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n const el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n const data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n const {\n css,\n type,\n enterClass,\n enterToClass,\n enterActiveClass,\n appearClass,\n appearToClass,\n appearActiveClass,\n beforeEnter,\n enter,\n afterEnter,\n enterCancelled,\n beforeAppear,\n appear,\n afterAppear,\n appearCancelled,\n duration\n } = data;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n let context = activeInstance;\n let transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n const isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n const startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n const activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n const toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n const beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n const enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n const afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n const enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n const explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n const expectsCSS = css !== false && !isIE9;\n const userWantsControl = getHookArgumentsLength(enterHook);\n\n const cb = el._enterCb = once(() => {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', () => {\n const parent = el.parentNode;\n const pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(() => {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n const el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n const data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n const {\n css,\n type,\n leaveClass,\n leaveToClass,\n leaveActiveClass,\n beforeLeave,\n leave,\n afterLeave,\n leaveCancelled,\n delayLeave,\n duration\n } = data;\n\n const expectsCSS = css !== false && !isIE9;\n const userWantsControl = getHookArgumentsLength(leave);\n\n const explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n const cb = el._leaveCb = once(() => {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(() => {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n `<transition> explicit ${name} duration is not a valid number - ` +\n `got ${JSON.stringify(val)}.`,\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n `<transition> explicit ${name} duration is NaN - ` +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n const invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nconst modules = platformModules.concat(baseModules);\n\nconst patch = createPatchFunction({ nodeOps, modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', () => {\n const el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nconst directive = {\n inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', () => {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n const prevOptions = el._vOptions;\n const curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some((o, i) => !looseEqual(o, prevOptions[i]))) {\n // trigger change event if\n // no matching option found for at least one value\n const needReset = el.multiple\n ? binding.value.some(v => hasNoMatchingOption(v, curOptions))\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(() => {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n const value = binding.value;\n const isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n warn(\n `<select multiple v-model=\"${binding.expression}\"> ` +\n `expects an Array value for its binding, but got ${\n Object.prototype.toString.call(value).slice(8, -1)\n }`,\n vm\n );\n return\n }\n let selected, option;\n for (let i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(o => !looseEqual(o, value))\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) return\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n const e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind (el, { value }, vnode) {\n vnode = locateNode(vnode);\n const transition$$1 = vnode.data && vnode.data.transition;\n const originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, () => {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update (el, { value, oldValue }, vnode) {\n /* istanbul ignore if */\n if (!value === !oldValue) return\n vnode = locateNode(vnode);\n const transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, () => {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, () => {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show\n};\n\n/* */\n\nconst transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n const compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n const data = {};\n const options = comp.$options;\n // props\n for (const key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n const listeners = options._parentListeners;\n for (const key in listeners) {\n data[camelize(key)] = listeners[key];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nconst isNotTextNode = (c) => c.tag || isAsyncPlaceholder(c);\n\nconst isVShowDirective = d => d.name === 'show';\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render (h) {\n let children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n const mode = this.mode;\n\n // warn invalid mode\n if (mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n const rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n const child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n const id = `__transition-${this._uid}-`;\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n const data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n const oldRawChild = this._vnode;\n const oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n const oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', () => {\n this._leaving = false;\n this.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n let delayedLeave;\n const performLeave = () => { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', leave => { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nconst props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props,\n\n beforeMount () {\n const update = this._update;\n this._update = (vnode, hydrating) => {\n const restoreActiveInstance = setActiveInstance(this);\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\n restoreActiveInstance();\n update.call(this, vnode, hydrating);\n };\n },\n\n render (h) {\n const tag = this.tag || this.$vnode.data.tag || 'span';\n const map = Object.create(null);\n const prevChildren = this.prevChildren = this.children;\n const rawChildren = this.$slots.default || [];\n const children = this.children = [];\n const transitionData = extractTransitionData(this);\n\n for (let i = 0; i < rawChildren.length; i++) {\n const c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else {\n const opts = c.componentOptions;\n const name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn(`<transition-group> children must be keyed: <${name}>`);\n }\n }\n }\n\n if (prevChildren) {\n const kept = [];\n const removed = [];\n for (let i = 0; i < prevChildren.length; i++) {\n const c = prevChildren[i];\n c.data.transition = transitionData;\n c.data.pos = c.elm.getBoundingClientRect();\n if (map[c.key]) {\n kept.push(c);\n } else {\n removed.push(c);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated () {\n const children = this.prevChildren;\n const moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach((c) => {\n if (c.data.moved) {\n const el = c.elm;\n const s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n const clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach((cls) => { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n const info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n const oldPos = c.data.pos;\n const newPos = c.data.newPos;\n const dx = oldPos.left - newPos.left;\n const dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n const s = c.elm.style;\n s.transform = s.WebkitTransform = `translate(${dx}px,${dy}px)`;\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition,\n TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(() => {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n `You are running Vue in development mode.\\n` +\n `Make sure to turn on production mode when deploying for production.\\n` +\n `See more tips at https://vuejs.org/guide/deployment.html`\n );\n }\n }, 0);\n}\n\n/* */\n\nconst defaultTagRE = /\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g;\nconst regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nconst buildRegex = cached(delimiters => {\n const open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n const close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n const tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n const tokens = [];\n const rawTokens = [];\n let lastIndex = tagRE.lastIndex = 0;\n let match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n const exp = parseFilters(match[1].trim());\n tokens.push(`_s(${exp})`);\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n const warn = options.warn || baseWarn;\n const staticClass = getAndRemoveAttr(el, 'class');\n if (staticClass) {\n const res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n `class=\"${staticClass}\": ` +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.',\n el.rawAttrsMap['class']\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n const classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n let data = '';\n if (el.staticClass) {\n data += `staticClass:${el.staticClass},`;\n }\n if (el.classBinding) {\n data += `class:${el.classBinding},`;\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode,\n genData\n};\n\n/* */\n\nfunction transformNode$1 (el, options) {\n const warn = options.warn || baseWarn;\n const staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n {\n const res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n `style=\"${staticStyle}\": ` +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.',\n el.rawAttrsMap['style']\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n const styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n let data = '';\n if (el.staticStyle) {\n data += `staticStyle:${el.staticStyle},`;\n }\n if (el.styleBinding) {\n data += `style:(${el.styleBinding}),`;\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n};\n\n/* */\n\nlet decoder;\n\nvar he = {\n decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n};\n\n/* */\n\nconst isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nconst canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nconst isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n// Regular Expressions for parsing tags and attributes\nconst attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nconst dynamicArgAttribute = /^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+?\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nconst ncname = `[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z${unicodeRegExp.source}]*`;\nconst qnameCapture = `((?:${ncname}\\\\:)?${ncname})`;\nconst startTagOpen = new RegExp(`^<${qnameCapture}`);\nconst startTagClose = /^\\s*(\\/?)>/;\nconst endTag = new RegExp(`^<\\\\/${qnameCapture}[^>]*>`);\nconst doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being passed as HTML comment when inlined in page\nconst comment = /^<!\\--/;\nconst conditionalComment = /^<!\\[/;\n\n// Special Elements (can contain anything)\nconst isPlainTextElement = makeMap('script,style,textarea', true);\nconst reCache = {};\n\nconst decodingMap = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&': '&',\n ' ': '\\n',\n '	': '\\t',\n ''': \"'\"\n};\nconst encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;\nconst encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;\n\n// #5992\nconst isIgnoreNewlineTag = makeMap('pre,textarea', true);\nconst shouldIgnoreFirstNewline = (tag, html) => tag && isIgnoreNewlineTag(tag) && html[0] === '\\n';\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n const re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, match => decodingMap[match])\n}\n\nfunction parseHTML (html, options) {\n const stack = [];\n const expectHTML = options.expectHTML;\n const isUnaryTag$$1 = options.isUnaryTag || no;\n const canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n let index = 0;\n let last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n let textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n const commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n const conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n const doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n const endTagMatch = html.match(endTag);\n if (endTagMatch) {\n const curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n const startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {\n advance(1);\n }\n continue\n }\n }\n\n let text, rest, next;\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) break\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n }\n\n if (text) {\n advance(text.length);\n }\n\n if (options.chars && text) {\n options.chars(text, index - text.length, index);\n }\n } else {\n let endTagLength = 0;\n const stackedTag = lastTag.toLowerCase();\n const reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n const rest = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest.length;\n html = rest;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (!stack.length && options.warn) {\n options.warn(`Mal-formatted tag at end of template: \"${html}\"`, { start: index + html.length });\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n const start = html.match(startTagOpen);\n if (start) {\n const match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n let end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {\n attr.start = index;\n advance(attr[0].length);\n attr.end = index;\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n const tagName = match.tagName;\n const unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n const unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n const l = match.attrs.length;\n const attrs = new Array(l);\n for (let i = 0; i < l; i++) {\n const args = match.attrs[i];\n const value = args[3] || args[4] || args[5] || '';\n const shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n if (options.outputSourceRange) {\n attrs[i].start = args.start + args[0].match(/^\\s*/).length;\n attrs[i].end = args.end;\n }\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n let pos, lowerCasedTagName;\n if (start == null) start = index;\n if (end == null) end = index;\n\n // Find the closest opened tag of the same type\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (let i = stack.length - 1; i >= pos; i--) {\n if (i > pos || !tagName &&\n options.warn\n ) {\n options.warn(\n `tag <${stack[i].tag}> has no matching end tag.`,\n { start: stack[i].start, end: stack[i].end }\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nconst onRE = /^@|^v-on:/;\nconst dirRE = /^v-|^@|^:|^#/;\nconst forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\nconst forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nconst stripParensRE = /^\\(|\\)$/g;\nconst dynamicArgRE = /^\\[.*\\]$/;\n\nconst argRE = /:(.*)$/;\nconst bindRE = /^:|^\\.|^v-bind:/;\nconst modifierRE = /\\.[^.\\]]+(?=[^\\]]*$)/g;\n\nconst slotRE = /^v-slot(:|$)|^#/;\n\nconst lineBreakRE = /[\\r\\n]/;\nconst whitespaceRE$1 = /[ \\f\\t\\r\\n]+/g;\n\nconst invalidAttributeRE = /[\\s\"'<>\\/=]/;\n\nconst decodeHTMLCached = cached(he.decode);\n\nconst emptySlotScopeToken = `_empty_`;\n\n// configurable state\nlet warn$2;\nlet delimiters;\nlet transforms;\nlet preTransforms;\nlet postTransforms;\nlet platformIsPreTag;\nlet platformMustUseProp;\nlet platformGetTagNamespace;\nlet maybeComponent;\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n rawAttrsMap: {},\n parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n const isReservedTag = options.isReservedTag || no;\n maybeComponent = (el) => !!(\n el.component ||\n el.attrsMap[':is'] ||\n el.attrsMap['v-bind:is'] ||\n !(el.attrsMap.is ? isReservedTag(el.attrsMap.is) : isReservedTag(el.tag))\n );\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n const stack = [];\n const preserveWhitespace = options.preserveWhitespace !== false;\n const whitespaceOption = options.whitespace;\n let root;\n let currentParent;\n let inVPre = false;\n let inPre = false;\n let warned = false;\n\n function warnOnce (msg, range) {\n if (!warned) {\n warned = true;\n warn$2(msg, range);\n }\n }\n\n function closeElement (element) {\n trimEndingWhitespace(element);\n if (!inVPre && !element.processed) {\n element = processElement(element, options);\n }\n // tree management\n if (!stack.length && element !== root) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n {\n checkRootConstraints(element);\n }\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else {\n warnOnce(\n `Component template should contain exactly one root element. ` +\n `If you are using v-if on multiple elements, ` +\n `use v-else-if to chain them instead.`,\n { start: element.start }\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else {\n if (element.slotScope) {\n // scoped slot\n // keep it in the children list so that v-else(-if) conditions can\n // find it as the prev node.\n const name = element.slotTarget || '\"default\"'\n ;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n }\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n\n // final children cleanup\n // filter out scoped slots\n element.children = element.children.filter(c => !(c).slotScope);\n // remove trailing whitespace node again\n trimEndingWhitespace(element);\n\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (let i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n function trimEndingWhitespace (el) {\n // remove trailing whitespace node\n if (!inPre) {\n let lastNode;\n while (\n (lastNode = el.children[el.children.length - 1]) &&\n lastNode.type === 3 &&\n lastNode.text === ' '\n ) {\n el.children.pop();\n }\n }\n }\n\n function checkRootConstraints (el) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n `Cannot use <${el.tag}> as component root element because it may ` +\n 'contain multiple nodes.',\n { start: el.start }\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.',\n el.rawAttrsMap['v-for']\n );\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n outputSourceRange: options.outputSourceRange,\n start (tag, attrs, unary, start, end) {\n // check namespace.\n // inherit parent ns if there is one\n const ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n let element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n {\n if (options.outputSourceRange) {\n element.start = start;\n element.end = end;\n element.rawAttrsMap = element.attrsList.reduce((cumulated, attr) => {\n cumulated[attr.name] = attr;\n return cumulated\n }, {});\n }\n attrs.forEach(attr => {\n if (invalidAttributeRE.test(attr.name)) {\n warn$2(\n `Invalid dynamic argument expression: attribute names cannot contain ` +\n `spaces, quotes, <, >, / or =.`,\n {\n start: attr.start + attr.name.indexOf(`[`),\n end: attr.start + attr.name.length\n }\n );\n }\n });\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n `<${tag}>` + ', as they will not be parsed.',\n { start: element.start }\n );\n }\n\n // apply pre-transforms\n for (let i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n }\n\n if (!root) {\n root = element;\n {\n checkRootConstraints(root);\n }\n }\n\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end (tag, start, end) {\n const element = stack[stack.length - 1];\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n if (options.outputSourceRange) {\n element.end = end;\n }\n closeElement(element);\n },\n\n chars (text, start, end) {\n if (!currentParent) {\n {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.',\n { start }\n );\n } else if ((text = text.trim())) {\n warnOnce(\n `text \"${text}\" outside root element will be ignored.`,\n { start }\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n const children = currentParent.children;\n if (inPre || text.trim()) {\n text = isTextTag(currentParent) ? text : decodeHTMLCached(text);\n } else if (!children.length) {\n // remove the whitespace-only node right after an opening tag\n text = '';\n } else if (whitespaceOption) {\n if (whitespaceOption === 'condense') {\n // in condense mode, remove the whitespace node if it contains\n // line break, otherwise condense to a single space\n text = lineBreakRE.test(text) ? '' : ' ';\n } else {\n text = ' ';\n }\n } else {\n text = preserveWhitespace ? ' ' : '';\n }\n if (text) {\n if (!inPre && whitespaceOption === 'condense') {\n // condense consecutive whitespaces into single space\n text = text.replace(whitespaceRE$1, ' ');\n }\n let res;\n let child;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n child = {\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text\n };\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n child = {\n type: 3,\n text\n };\n }\n if (child) {\n if (options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n children.push(child);\n }\n }\n },\n comment (text, start, end) {\n // adding anything as a sibling to the root node is forbidden\n // comments should still be allowed, but ignored\n if (currentParent) {\n const child = {\n type: 3,\n text,\n isComment: true\n };\n if (options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n currentParent.children.push(child);\n }\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n const list = el.attrsList;\n const len = list.length;\n if (len) {\n const attrs = el.attrs = new Array(len);\n for (let i = 0; i < len; i++) {\n attrs[i] = {\n name: list[i].name,\n value: JSON.stringify(list[i].value)\n };\n if (list[i].start != null) {\n attrs[i].start = list[i].start;\n attrs[i].end = list[i].end;\n }\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (\n element,\n options\n) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = (\n !element.key &&\n !element.scopedSlots &&\n !element.attrsList.length\n );\n\n processRef(element);\n processSlotContent(element);\n processSlotOutlet(element);\n processComponent(element);\n for (let i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n return element\n}\n\nfunction processKey (el) {\n const exp = getBindingAttr(el, 'key');\n if (exp) {\n {\n if (el.tag === 'template') {\n warn$2(\n `<template> cannot be keyed. Place the key on real elements instead.`,\n getRawBindingAttr(el, 'key')\n );\n }\n if (el.for) {\n const iterator = el.iterator2 || el.iterator1;\n const parent = el.parent;\n if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {\n warn$2(\n `Do not use v-for index as key on <transition-group> children, ` +\n `this is the same as not using keys.`,\n getRawBindingAttr(el, 'key'),\n true /* tip */\n );\n }\n }\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n const ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n let exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n const res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else {\n warn$2(\n `Invalid v-for expression: ${exp}`,\n el.rawAttrsMap['v-for']\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n const inMatch = exp.match(forAliasRE);\n if (!inMatch) return\n const res = {};\n res.for = inMatch[2].trim();\n const alias = inMatch[1].trim().replace(stripParensRE, '');\n const iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '').trim();\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n const exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n const elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n const prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else {\n warn$2(\n `v-${el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else'} ` +\n `used on element <${el.tag}> without corresponding v-if.`,\n el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']\n );\n }\n}\n\nfunction findPrevElement (children) {\n let i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (children[i].text !== ' ') {\n warn$2(\n `text \"${children[i].text.trim()}\" between v-if and v-else(-if) ` +\n `will be ignored.`,\n children[i]\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n const once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\n// handle content being passed to a component as slot,\n// e.g. <template slot=\"xxx\">, <div slot-scope=\"xxx\">\nfunction processSlotContent (el) {\n let slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (slotScope) {\n warn$2(\n `the \"scope\" attribute for scoped slots have been deprecated and ` +\n `replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute ` +\n `can also be used on plain elements in addition to <template> to ` +\n `denote scoped slots.`,\n el.rawAttrsMap['scope'],\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (el.attrsMap['v-for']) {\n warn$2(\n `Ambiguous combined usage of slot-scope and v-for on <${el.tag}> ` +\n `(v-for takes higher priority). Use a wrapper <template> for the ` +\n `scoped slot to make it clearer.`,\n el.rawAttrsMap['slot-scope'],\n true\n );\n }\n el.slotScope = slotScope;\n }\n\n // slot=\"xxx\"\n const slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));\n }\n }\n\n // 2.6 v-slot syntax\n {\n if (el.tag === 'template') {\n // v-slot on <template>\n const slotBinding = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding) {\n {\n if (el.slotTarget || el.slotScope) {\n warn$2(\n `Unexpected mixed usage of different slot syntaxes.`,\n el\n );\n }\n if (el.parent && !maybeComponent(el.parent)) {\n warn$2(\n `<template v-slot> can only appear at the root level inside ` +\n `the receiving component`,\n el\n );\n }\n }\n const { name, dynamic } = getSlotName(slotBinding);\n el.slotTarget = name;\n el.slotTargetDynamic = dynamic;\n el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf\n }\n } else {\n // v-slot on component, denotes default slot\n const slotBinding = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding) {\n {\n if (!maybeComponent(el)) {\n warn$2(\n `v-slot can only be used on components or <template>.`,\n slotBinding\n );\n }\n if (el.slotScope || el.slotTarget) {\n warn$2(\n `Unexpected mixed usage of different slot syntaxes.`,\n el\n );\n }\n if (el.scopedSlots) {\n warn$2(\n `To avoid scope ambiguity, the default slot should also use ` +\n `<template> syntax when there are other named slots.`,\n slotBinding\n );\n }\n }\n // add the component's children to its default slot\n const slots = el.scopedSlots || (el.scopedSlots = {});\n const { name, dynamic } = getSlotName(slotBinding);\n const slotContainer = slots[name] = createASTElement('template', [], el);\n slotContainer.slotTarget = name;\n slotContainer.slotTargetDynamic = dynamic;\n slotContainer.children = el.children.filter((c) => {\n if (!c.slotScope) {\n c.parent = slotContainer;\n return true\n }\n });\n slotContainer.slotScope = slotBinding.value || emptySlotScopeToken;\n // remove children as they are returned from scopedSlots now\n el.children = [];\n // mark el non-plain so data gets generated\n el.plain = false;\n }\n }\n }\n}\n\nfunction getSlotName (binding) {\n let name = binding.name.replace(slotRE, '');\n if (!name) {\n if (binding.name[0] !== '#') {\n name = 'default';\n } else {\n warn$2(\n `v-slot shorthand syntax requires a slot name.`,\n binding\n );\n }\n }\n return dynamicArgRE.test(name)\n // dynamic [name]\n ? { name: name.slice(1, -1), dynamic: true }\n // static name\n : { name: `\"${name}\"`, dynamic: false }\n}\n\n// handle <slot/> outlets\nfunction processSlotOutlet (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (el.key) {\n warn$2(\n `\\`key\\` does not work on <slot> because slots are abstract outlets ` +\n `and can possibly expand into multiple elements. ` +\n `Use the key on a wrapping element instead.`,\n getRawBindingAttr(el, 'key')\n );\n }\n }\n}\n\nfunction processComponent (el) {\n let binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n const list = el.attrsList;\n let i, l, name, rawName, value, modifiers, syncGen, isDynamic;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name.replace(dirRE, ''));\n // support .foo shorthand syntax for the .prop modifier\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n if (\n value.trim().length === 0\n ) {\n warn$2(\n `The value for a v-bind expression cannot be empty. Found in \"v-bind:${name}\"`\n );\n }\n if (modifiers) {\n if (modifiers.prop && !isDynamic) {\n name = camelize(name);\n if (name === 'innerHtml') name = 'innerHTML';\n }\n if (modifiers.camel && !isDynamic) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n syncGen = genAssignmentCode(value, `$event`);\n if (!isDynamic) {\n addHandler(\n el,\n `update:${camelize(name)}`,\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n if (hyphenate(name) !== camelize(name)) {\n addHandler(\n el,\n `update:${hyphenate(name)}`,\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n }\n } else {\n // handler w/ dynamic event name\n addHandler(\n el,\n `\"update:\"+(${name})`,\n syncGen,\n null,\n false,\n warn$2,\n list[i],\n true // dynamic\n );\n }\n }\n }\n if ((modifiers && modifiers.prop) || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value, list[i], isDynamic);\n } else {\n addAttr(el, name, value, list[i], isDynamic);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n const argMatch = name.match(argRE);\n let arg = argMatch && argMatch[1];\n isDynamic = false;\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n if (dynamicArgRE.test(arg)) {\n arg = arg.slice(1, -1);\n isDynamic = true;\n }\n }\n addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);\n if (name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n {\n const res = parseText(value, delimiters);\n if (res) {\n warn$2(\n `${name}=\"${value}\": ` +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.',\n list[i]\n );\n }\n }\n addAttr(el, name, JSON.stringify(value), list[i]);\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true', list[i]);\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n let parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n const match = name.match(modifierRE);\n if (match) {\n const ret = {};\n match.forEach(m => { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n const map = {};\n for (let i = 0, l = attrs.length; i < l; i++) {\n if (\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nconst ieNSBug = /^xmlns:NS\\d+/;\nconst ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n const res = [];\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n let _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n `<${el.tag} v-model=\"${value}\">: ` +\n `You are binding v-model directly to a v-for iteration alias. ` +\n `This will not be able to modify the v-for source array because ` +\n `writing to the alias is like modifying a function local variable. ` +\n `Consider using an array of objects and use v-model on an object property instead.`,\n el.rawAttrsMap['v-model']\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n const map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n let typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = `(${map['v-bind']}).type`;\n }\n\n if (typeBinding) {\n const ifCondition = getAndRemoveAttr(el, 'v-if', true);\n const ifConditionExtra = ifCondition ? `&&(${ifCondition})` : ``;\n const hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n const elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n const branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = `(${typeBinding})==='checkbox'` + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n const branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: `(${typeBinding})==='radio'` + ifConditionExtra,\n block: branch1\n });\n // 3. other\n const branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$1 = {\n preTransformNode\n};\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$1\n];\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', `_s(${dir.value})`, dir);\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', `_s(${dir.value})`, dir);\n }\n}\n\nvar directives$1 = {\n model,\n text,\n html\n};\n\n/* */\n\nconst baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag,\n isUnaryTag,\n mustUseProp,\n canBeLeftOpenTag,\n isReservedTag,\n getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nlet isStaticKey;\nlet isPlatformReservedTag;\n\nconst genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) return\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (let i = 0, l = node.children.length; i < l; i++) {\n const child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (let i = 1, l = node.ifConditions.length; i < l; i++) {\n const block = node.ifConditions[i].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (let i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (let i = 1, l = node.ifConditions.length; i < l; i++) {\n markStaticRoots(node.ifConditions[i].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nconst fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function(?:\\s+[\\w$]+)?\\s*\\(/;\nconst fnInvokeRE = /\\([^)]*?\\);*$/;\nconst simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nconst keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nconst keyNames = {\n // #7880: IE11 and Edge use `Esc` for Escape key name.\n esc: ['Esc', 'Escape'],\n tab: 'Tab',\n enter: 'Enter',\n // #9112: IE11 uses `Spacebar` for Space key name.\n space: [' ', 'Spacebar'],\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n // #9112: IE11 uses `Del` for Delete key name.\n 'delete': ['Backspace', 'Delete', 'Del']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nconst genGuard = condition => `if(${condition})return null;`;\n\nconst modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(`$event.target !== $event.currentTarget`),\n ctrl: genGuard(`!$event.ctrlKey`),\n shift: genGuard(`!$event.shiftKey`),\n alt: genGuard(`!$event.altKey`),\n meta: genGuard(`!$event.metaKey`),\n left: genGuard(`'button' in $event && $event.button !== 0`),\n middle: genGuard(`'button' in $event && $event.button !== 1`),\n right: genGuard(`'button' in $event && $event.button !== 2`)\n};\n\nfunction genHandlers (\n events,\n isNative\n) {\n const prefix = isNative ? 'nativeOn:' : 'on:';\n let staticHandlers = ``;\n let dynamicHandlers = ``;\n for (const name in events) {\n const handlerCode = genHandler(events[name]);\n if (events[name] && events[name].dynamic) {\n dynamicHandlers += `${name},${handlerCode},`;\n } else {\n staticHandlers += `\"${name}\":${handlerCode},`;\n }\n }\n staticHandlers = `{${staticHandlers.slice(0, -1)}}`;\n if (dynamicHandlers) {\n return prefix + `_d(${staticHandlers},[${dynamicHandlers.slice(0, -1)}])`\n } else {\n return prefix + staticHandlers\n }\n}\n\nfunction genHandler (handler) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return `[${handler.map(handler => genHandler(handler)).join(',')}]`\n }\n\n const isMethodPath = simplePathRE.test(handler.value);\n const isFunctionExpression = fnExpRE.test(handler.value);\n const isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n return `function($event){${\n isFunctionInvocation ? `return ${handler.value}` : handler.value\n }}` // inline statement\n } else {\n let code = '';\n let genModifierCode = '';\n const keys = [];\n for (const key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n const modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(keyModifier => !modifiers[keyModifier])\n .map(keyModifier => `$event.${keyModifier}Key`)\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n const handlerCode = isMethodPath\n ? `return ${handler.value}.apply(null, arguments)`\n : isFunctionExpression\n ? `return (${handler.value}).apply(null, arguments)`\n : isFunctionInvocation\n ? `return ${handler.value}`\n : handler.value;\n return `function($event){${code}${handlerCode}}`\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\n // make sure the key filters only apply to KeyboardEvents\n // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake\n // key events that do not have keyCode property...\n `if(!$event.type.indexOf('key')&&` +\n `${keys.map(genFilterCode).join('&&')})return null;`\n )\n}\n\nfunction genFilterCode (key) {\n const keyVal = parseInt(key, 10);\n if (keyVal) {\n return `$event.keyCode!==${keyVal}`\n }\n const keyCode = keyCodes[key];\n const keyName = keyNames[key];\n return (\n `_k($event.keyCode,` +\n `${JSON.stringify(key)},` +\n `${JSON.stringify(keyCode)},` +\n `$event.key,` +\n `${JSON.stringify(keyName)}` +\n `)`\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (dir.modifiers) {\n warn(`v-on without argument does not support modifiers.`);\n }\n el.wrapListeners = (code) => `_g(${code},${dir.value})`;\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = (code) => {\n return `_b(${code},'${el.tag}',${dir.value},${\n dir.modifiers && dir.modifiers.prop ? 'true' : 'false'\n }${\n dir.modifiers && dir.modifiers.sync ? ',true' : ''\n })`\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on,\n bind: bind$1,\n cloak: noop\n};\n\n/* */\n\n\n\n\n\nclass CodegenState {\n\n\n\n\n\n\n\n\n\n\n constructor (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n const isReservedTag = options.isReservedTag || no;\n this.maybeComponent = (el) => !!el.component || !isReservedTag(el.tag);\n this.onceId = 0;\n this.staticRenderFns = [];\n this.pre = false;\n }\n}\n\n\n\nfunction generate (\n ast,\n options\n) {\n const state = new CodegenState(options);\n // fix #11483, Root level <script> tags should not be rendered.\n const code = ast ? (ast.tag === 'script' ? 'null' : genElement(ast, state)) : '_c(\"div\")';\n return {\n render: `with(this){return ${code}}`,\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.parent) {\n el.pre = el.pre || el.parent.pre;\n }\n\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget && !state.pre) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n let code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n let data;\n if (!el.plain || (el.pre && state.maybeComponent(el))) {\n data = genData$2(el, state);\n }\n\n const children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = `_c('${el.tag}'${\n data ? `,${data}` : '' // data\n }${\n children ? `,${children}` : '' // children\n })`;\n }\n // module transforms\n for (let i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n // Some elements (templates) need to behave differently inside of a v-pre\n // node. All pre nodes are static roots, so we can use this as a location to\n // wrap a state change and reset it upon exiting the pre node.\n const originalPreState = state.pre;\n if (el.pre) {\n state.pre = el.pre;\n }\n state.staticRenderFns.push(`with(this){return ${genElement(el, state)}}`);\n state.pre = originalPreState;\n return `_m(${\n state.staticRenderFns.length - 1\n }${\n el.staticInFor ? ',true' : ''\n })`\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n let key = '';\n let parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n state.warn(\n `v-once can only be used inside v-for that is keyed. `,\n el.rawAttrsMap['v-once']\n );\n return genElement(el, state)\n }\n return `_o(${genElement(el, state)},${state.onceId++},${key})`\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n const condition = conditions.shift();\n if (condition.exp) {\n return `(${condition.exp})?${\n genTernaryExp(condition.block)\n }:${\n genIfConditions(conditions, state, altGen, altEmpty)\n }`\n } else {\n return `${genTernaryExp(condition.block)}`\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n const exp = el.for;\n const alias = el.alias;\n const iterator1 = el.iterator1 ? `,${el.iterator1}` : '';\n const iterator2 = el.iterator2 ? `,${el.iterator2}` : '';\n\n if (state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n `<${el.tag} v-for=\"${alias} in ${exp}\">: component lists rendered with ` +\n `v-for should have explicit keys. ` +\n `See https://vuejs.org/guide/list.html#key for more info.`,\n el.rawAttrsMap['v-for'],\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return `${altHelper || '_l'}((${exp}),` +\n `function(${alias}${iterator1}${iterator2}){` +\n `return ${(altGen || genElement)(el, state)}` +\n '})'\n}\n\nfunction genData$2 (el, state) {\n let data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n const dirs = genDirectives(el, state);\n if (dirs) data += dirs + ',';\n\n // key\n if (el.key) {\n data += `key:${el.key},`;\n }\n // ref\n if (el.ref) {\n data += `ref:${el.ref},`;\n }\n if (el.refInFor) {\n data += `refInFor:true,`;\n }\n // pre\n if (el.pre) {\n data += `pre:true,`;\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += `tag:\"${el.tag}\",`;\n }\n // module data generation functions\n for (let i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += `attrs:${genProps(el.attrs)},`;\n }\n // DOM props\n if (el.props) {\n data += `domProps:${genProps(el.props)},`;\n }\n // event handlers\n if (el.events) {\n data += `${genHandlers(el.events, false)},`;\n }\n if (el.nativeEvents) {\n data += `${genHandlers(el.nativeEvents, true)},`;\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += `slot:${el.slotTarget},`;\n }\n // scoped slots\n if (el.scopedSlots) {\n data += `${genScopedSlots(el, el.scopedSlots, state)},`;\n }\n // component v-model\n if (el.model) {\n data += `model:{value:${\n el.model.value\n },callback:${\n el.model.callback\n },expression:${\n el.model.expression\n }},`;\n }\n // inline-template\n if (el.inlineTemplate) {\n const inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += `${inlineTemplate},`;\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind dynamic argument wrap\n // v-bind with dynamic arguments must be applied using the same v-bind object\n // merge helper so that class/style/mustUseProp attrs are handled correctly.\n if (el.dynamicAttrs) {\n data = `_b(${data},\"${el.tag}\",${genProps(el.dynamicAttrs)})`;\n }\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n const dirs = el.directives;\n if (!dirs) return\n let res = 'directives:[';\n let hasRuntime = false;\n let i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n const gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += `{name:\"${dir.name}\",rawName:\"${dir.rawName}\"${\n dir.value ? `,value:(${dir.value}),expression:${JSON.stringify(dir.value)}` : ''\n }${\n dir.arg ? `,arg:${dir.isDynamicArg ? dir.arg : `\"${dir.arg}\"`}` : ''\n }${\n dir.modifiers ? `,modifiers:${JSON.stringify(dir.modifiers)}` : ''\n }},`;\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n const ast = el.children[0];\n if (el.children.length !== 1 || ast.type !== 1) {\n state.warn(\n 'Inline-template components must have exactly one child element.',\n { start: el.start }\n );\n }\n if (ast && ast.type === 1) {\n const inlineRenderFns = generate(ast, state.options);\n return `inlineTemplate:{render:function(){${\n inlineRenderFns.render\n }},staticRenderFns:[${\n inlineRenderFns.staticRenderFns.map(code => `function(){${code}}`).join(',')\n }]}`\n }\n}\n\nfunction genScopedSlots (\n el,\n slots,\n state\n) {\n // by default scoped slots are considered \"stable\", this allows child\n // components with only scoped slots to skip forced updates from parent.\n // but in some cases we have to bail-out of this optimization\n // for example if the slot contains dynamic names, has v-if or v-for on them...\n let needsForceUpdate = el.for || Object.keys(slots).some(key => {\n const slot = slots[key];\n return (\n slot.slotTargetDynamic ||\n slot.if ||\n slot.for ||\n containsSlotChild(slot) // is passing down slot from parent which may be dynamic\n )\n });\n\n // #9534: if a component with scoped slots is inside a conditional branch,\n // it's possible for the same component to be reused but with different\n // compiled slot content. To avoid that, we generate a unique key based on\n // the generated code of all the slot contents.\n let needsKey = !!el.if;\n\n // OR when it is inside another scoped slot or v-for (the reactivity may be\n // disconnected due to the intermediate scope variable)\n // #9438, #9506\n // TODO: this can be further optimized by properly analyzing in-scope bindings\n // and skip force updating ones that do not actually use scope variables.\n if (!needsForceUpdate) {\n let parent = el.parent;\n while (parent) {\n if (\n (parent.slotScope && parent.slotScope !== emptySlotScopeToken) ||\n parent.for\n ) {\n needsForceUpdate = true;\n break\n }\n if (parent.if) {\n needsKey = true;\n }\n parent = parent.parent;\n }\n }\n\n const generatedSlots = Object.keys(slots)\n .map(key => genScopedSlot(slots[key], state))\n .join(',');\n\n return `scopedSlots:_u([${generatedSlots}]${\n needsForceUpdate ? `,null,true` : ``\n }${\n !needsForceUpdate && needsKey ? `,null,false,${hash(generatedSlots)}` : ``\n })`\n}\n\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while(i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0\n}\n\nfunction containsSlotChild (el) {\n if (el.type === 1) {\n if (el.tag === 'slot') {\n return true\n }\n return el.children.some(containsSlotChild)\n }\n return false\n}\n\nfunction genScopedSlot (\n el,\n state\n) {\n const isLegacySyntax = el.attrsMap['slot-scope'];\n if (el.if && !el.ifProcessed && !isLegacySyntax) {\n return genIf(el, state, genScopedSlot, `null`)\n }\n if (el.for && !el.forProcessed) {\n return genFor(el, state, genScopedSlot)\n }\n const slotScope = el.slotScope === emptySlotScopeToken\n ? ``\n : String(el.slotScope);\n const fn = `function(${slotScope}){` +\n `return ${el.tag === 'template'\n ? el.if && isLegacySyntax\n ? `(${el.if})?${genChildren(el, state) || 'undefined'}:undefined`\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)\n }}`;\n // reverse proxy v-slot without scope on this.$slots\n const reverseProxy = slotScope ? `` : `,proxy:true`;\n return `{key:${el.slotTarget || `\"default\"`},fn:${fn}${reverseProxy}}`\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n const children = el.children;\n if (children.length) {\n const el = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el.for &&\n el.tag !== 'template' &&\n el.tag !== 'slot'\n ) {\n const normalizationType = checkSkip\n ? state.maybeComponent(el) ? `,1` : `,0`\n : ``;\n return `${(altGenElement || genElement)(el, state)}${normalizationType}`\n }\n const normalizationType = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n const gen = altGenNode || genNode;\n return `[${children.map(c => gen(c, state)).join(',')}]${\n normalizationType ? `,${normalizationType}` : ''\n }`\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n let res = 0;\n for (let i = 0; i < children.length; i++) {\n const el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(c => needsNormalization(c.block)))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(c => maybeComponent(c.block)))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } else if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return `_v(${text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))\n })`\n}\n\nfunction genComment (comment) {\n return `_e(${JSON.stringify(comment.text)})`\n}\n\nfunction genSlot (el, state) {\n const slotName = el.slotName || '\"default\"';\n const children = genChildren(el, state);\n let res = `_t(${slotName}${children ? `,function(){return ${children}}` : ''}`;\n const attrs = el.attrs || el.dynamicAttrs\n ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(attr => ({\n // slot props are camelized\n name: camelize(attr.name),\n value: attr.value,\n dynamic: attr.dynamic\n })))\n : null;\n const bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += `,null`;\n }\n if (attrs) {\n res += `,${attrs}`;\n }\n if (bind$$1) {\n res += `${attrs ? '' : ',null'},${bind$$1}`;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n const children = el.inlineTemplate ? null : genChildren(el, state, true);\n return `_c(${componentName},${genData$2(el, state)}${\n children ? `,${children}` : ''\n })`\n}\n\nfunction genProps (props) {\n let staticProps = ``;\n let dynamicProps = ``;\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n const value = transformSpecialNewlines(prop.value);\n if (prop.dynamic) {\n dynamicProps += `${prop.name},${value},`;\n } else {\n staticProps += `\"${prop.name}\":${value},`;\n }\n }\n staticProps = `{${staticProps.slice(0, -1)}}`;\n if (dynamicProps) {\n return `_d(${staticProps},[${dynamicProps.slice(0, -1)}])`\n } else {\n return staticProps\n }\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nconst prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nconst unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nconst stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast, warn) {\n if (ast) {\n checkNode(ast, warn);\n }\n}\n\nfunction checkNode (node, warn) {\n if (node.type === 1) {\n for (const name in node.attrsMap) {\n if (dirRE.test(name)) {\n const value = node.attrsMap[name];\n if (value) {\n const range = node.rawAttrsMap[name];\n if (name === 'v-for') {\n checkFor(node, `v-for=\"${value}\"`, warn, range);\n } else if (name === 'v-slot' || name[0] === '#') {\n checkFunctionParameterExpression(value, `${name}=\"${value}\"`, warn, range);\n } else if (onRE.test(name)) {\n checkEvent(value, `${name}=\"${value}\"`, warn, range);\n } else {\n checkExpression(value, `${name}=\"${value}\"`, warn, range);\n }\n }\n }\n }\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], warn);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, warn, node);\n }\n}\n\nfunction checkEvent (exp, text, warn, range) {\n const stripped = exp.replace(stripStringRE, '');\n const keywordMatch = stripped.match(unaryOperatorsRE);\n if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') {\n warn(\n `avoid using JavaScript unary operator as property name: ` +\n `\"${keywordMatch[0]}\" in expression ${text.trim()}`,\n range\n );\n }\n checkExpression(exp, text, warn, range);\n}\n\nfunction checkFor (node, text, warn, range) {\n checkExpression(node.for || '', text, warn, range);\n checkIdentifier(node.alias, 'v-for alias', text, warn, range);\n checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);\n checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n warn,\n range\n) {\n if (typeof ident === 'string') {\n try {\n new Function(`var ${ident}=_`);\n } catch (e) {\n warn(`invalid ${type} \"${ident}\" in expression: ${text.trim()}`, range);\n }\n }\n}\n\nfunction checkExpression (exp, text, warn, range) {\n try {\n new Function(`return ${exp}`);\n } catch (e) {\n const keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n warn(\n `avoid using JavaScript keyword as property name: ` +\n `\"${keywordMatch[0]}\"\\n Raw expression: ${text.trim()}`,\n range\n );\n } else {\n warn(\n `invalid expression: ${e.message} in\\n\\n` +\n ` ${exp}\\n\\n` +\n ` Raw expression: ${text.trim()}\\n`,\n range\n );\n }\n }\n}\n\nfunction checkFunctionParameterExpression (exp, text, warn, range) {\n try {\n new Function(exp, '');\n } catch (e) {\n warn(\n `invalid function parameter expression: ${e.message} in\\n\\n` +\n ` ${exp}\\n\\n` +\n ` Raw expression: ${text.trim()}\\n`,\n range\n );\n }\n}\n\n/* */\n\nconst range = 2;\n\nfunction generateCodeFrame (\n source,\n start = 0,\n end = source.length\n) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\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 res.push(`${j + 1}${repeat(` `, 3 - String(j + 1).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = end > count ? lineLength - pad : end - start;\n res.push(` | ` + repeat(` `, pad) + repeat(`^`, length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.min(end - count, lineLength);\n res.push(` | ` + repeat(`^`, length));\n }\n count += lineLength + 1;\n }\n }\n break\n }\n }\n return res.join('\\n')\n}\n\nfunction repeat (str, n) {\n let result = '';\n if (n > 0) {\n while (true) { // eslint-disable-line\n if (n & 1) result += str;\n n >>>= 1;\n if (n <= 0) break\n str += str;\n }\n }\n return result\n}\n\n/* */\n\n\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err, code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n const cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n const warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n const key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n const compiled = compile(template, options);\n\n // check compilation errors/tips\n {\n if (compiled.errors && compiled.errors.length) {\n if (options.outputSourceRange) {\n compiled.errors.forEach(e => {\n warn$$1(\n `Error compiling template:\\n\\n${e.msg}\\n\\n` +\n generateCodeFrame(template, e.start, e.end),\n vm\n );\n });\n } else {\n warn$$1(\n `Error compiling template:\\n\\n${template}\\n\\n` +\n compiled.errors.map(e => `- ${e}`).join('\\n') + '\\n',\n vm\n );\n }\n }\n if (compiled.tips && compiled.tips.length) {\n if (options.outputSourceRange) {\n compiled.tips.forEach(e => tip(e.msg, vm));\n } else {\n compiled.tips.forEach(msg => tip(msg, vm));\n }\n }\n }\n\n // turn code into functions\n const res = {};\n const fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(code => {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n `Failed to generate render function:\\n\\n` +\n fnGenErrors.map(({ err, code }) => `${err.toString()} in\\n\\n${code}\\n`).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n const finalOptions = Object.create(baseOptions);\n const errors = [];\n const tips = [];\n\n let warn = (msg, range, tip) => {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n if (options.outputSourceRange) {\n // $flow-disable-line\n const leadingSpaceLength = template.match(/^\\s*/)[0].length;\n\n warn = (msg, range, tip) => {\n const data = { msg };\n if (range) {\n if (range.start != null) {\n data.start = range.start + leadingSpaceLength;\n }\n if (range.end != null) {\n data.end = range.end + leadingSpaceLength;\n }\n }\n (tip ? tips : errors).push(data);\n };\n }\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (const key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n finalOptions.warn = warn;\n\n const compiled = baseCompile(template.trim(), finalOptions);\n {\n detectErrors(compiled.ast, warn);\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nconst createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n const ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n const code = generate(ast, options);\n return {\n ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nconst { compile, compileToFunctions } = createCompiler(baseOptions);\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nlet div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? `<a href=\"\\n\"/>` : `<div a=\"\\n\"/>`;\n return div.innerHTML.indexOf(' ') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nconst shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nconst shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nconst idToTemplate = cached(id => {\n const el = query(id);\n return el && el.innerHTML\n});\n\nconst mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n warn(\n `Do not mount Vue to <html> or <body> - mount to normal elements instead.`\n );\n return this\n }\n\n const options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n let template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (!template) {\n warn(\n `Template element not found or is empty: ${options.template}`,\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (config.performance && mark) {\n mark('compile');\n }\n\n const { render, staticRenderFns } = compileToFunctions(template, {\n outputSourceRange: \"development\" !== 'production',\n shouldDecodeNewlines,\n shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (config.performance && mark) {\n mark('compile end');\n measure(`vue ${this._name} compile`, 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n const container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n// origin-end\n\nimport {BitrixVue} from \"./bitrixvue\";\nBitrixVue.developerMode = true;\nconst BitrixVueInstance = new BitrixVue(Vue);\n\nBitrixVueInstance.developerMode = true;\nexport {BitrixVueInstance as BitrixVue, BitrixVueInstance as Vue, Vue as VueVendor, Vue as VueVendorV2};",null]}