@melt-js/demo-vue3 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["_arrayLikeToArray","r","a","e","_arrayWithHoles","_arrayWithoutHoles","_createForOfIteratorHelper","t","_unsupportedIterableToArray","F","o","u","_defineProperty","_toPropertyKey","_iterableToArray","_iterableToArrayLimit","l","n","f","_nonIterableRest","_nonIterableSpread","ownKeys","_objectSpread2","_slicedToArray","_toConsumableArray","_toPrimitive","i","_typeof","globalThisRef","assignRef","getGlobalThis$1","setGlobalThis$1","specGlobalThis","_globalThisRef","merge","prevShared","getHelSingletonHost","getOB","gs","findNode","nodeList","tagName","targetNode","len","node","okeys$1","map","getSearch","getLocSearch","location","locVar","search","hash","hashSearch","_getGlobalThis","_getGlobalThis2","getLsItem","key","_getGlobalThis3","ls","setLsItem","val","_getGlobalThis4","getSearchObj","pureSearch","items","item","_item$split","_item$split2","value","getJsRunLocation","loc","err","stackArr","setSubMapValue","rootObj","subKey","subValue","subMap","safeGetMap","defaultMap","safeAssign","assignTo","assignFrom","noDupPush$1","oriList","toPush","isNull$1","nullDef","_nullDef$nullValues","nullValues","_nullDef$emptyObjIsNu","emptyObjIsNull","_nullDef$emptyArrIsNu","emptyArrIsNull","inNullValues","keys","keyLen","noop","_len","args","_key","hasProp","obj","isServer","globalThis","safeParse","jsonStr","defaultValue","errMsg","result","isNull","noDupPush","okeys","merge2List","list1","list2","mergedList","v","purify","isValueValid","isValidFn","pureObj","getObjsVal","objs","backupVal","_iterator","_step","mayValidVal","pfstr","mayLineBreakStr","mode","lines","lastIdx","formatLine","line","idx","_line$trimStart","replaceBr","hasBrStr","noBrStr","nbstr","nbalert","alertInDev","g","str","alert","_g$location","setDataset","el","disableNode","commonUtilMod","injectPlat","platform","injectOptions","_this","fn","fnName","arg1PlatObjFnKeys","handleArg1","mergePlatObj","arg1","arg2","inectPlatToMod$1","mod","options","_ref","_ref$ignoreKeys","ignoreKeys","_ref$arg1PlatObjFnKey","newObj","mayFnName","mayFn","valueType","PLAT_HEL$1","PLAT_UNPKG$1","logModeEnum","DEFAULT_ONLINE_VER","DEFAULT_PLAT","helConsts$1","helEvents$1","helLoadStatus$1","LS_LOG_FILTER","LS_LOG_MODE","NONE","LOG","TRACE","inner","firstArg","logFilter","filterList","getHelMicroDebug","memVal","modeNum","helMicroDebug","initMicroDebug","searchObj","hellog","hellogf","logMode","makeHelMicroDebug","ensureHelMicroDebug","allowLog$1","logPrefix","colorDesc","log$1","logFn","rest","logParams","labelTimes","perfMark$1","label","perfPeek$1","subLabel","clear","start","clearPerfMark$1","DEFAULT_API_URL","DEFAULT_USER_LS_KEY","PLAT_HEL","PLAT_UNPKG","DEFAULT_API_PREFIX","CORE_VER","KEY_CSS_LINK_TAG_ADDED$1","KEY_STYLE_TAG_ADDED$1","KEY_IGNORE_CSS_PREFIX_LIST$1","KEY_IGNORE_STYLE_TAG_KEY$1","KEY_IGNORE_CSS_PREFIX_2_KEYS$1","makeOriginOptions","presetOptions","apiPrefix","makeCacheNode","cacheNode","makeEventBus","name2listeners","eventName","cb","listeners","arr","listenersCopy","cbItem","makeHelMicroShared","unpkgCache","helCache","cacheRoot","innerEventBus","userEventBus","ensureCommonKeys","common","getDefault","ensureHelMicroShared","helMicroShared","getHelMicroShared","caches","microShared","getPlatform$1","getSharedCache$1","p","getCacheRoot","platType","platCache","innerUtil","appName","customKey","versionId","_getSharedCache","appName2verCustomData","customMap","dataMap","_getSharedCache2","appName2app","loadStatus","statusMapKey","appVerLoadStatus","versionIdVar","_appVerLoadStatus$app","_ref2","libOrAppMap","appMeta","onlineModule","getVerApp$1","inputOptions","_options$strictMatchV","appName2verEmitApp","appName2Comp","strictMatchVer","appName2EmitApp","targetStrictMatchVer","verEmitAppMap","verApp","Comp","legacyWriteVerApp","fallbackApp","setEmitApp$1","emitApp","sharedCache","verEmitApp","KEY_CSS_LINK_TAG_ADDED","KEY_STYLE_TAG_ADDED","KEY_IGNORE_CSS_PREFIX_LIST","KEY_IGNORE_STYLE_TAG_KEY","KEY_IGNORE_CSS_PREFIX_2_KEYS","getDataMap$1","_getCacheRoot","getDataNode","_getCacheRoot2","getCommonData$1","dataKey","setCommonData$1","data","commonDataUtil$1","cssPrefix","list","ignoreCssPrefix","url","ignoreCssPrefixList","matchedPrefix","cssUrlList","text","oldText","getPureConfig","mayCache","needOrigin","apiMode","apiSuffix","apiPathOfApp","apiPathOfAppVersion","getSubAppAndItsVersionFn","onFetchMetaFailed","getUserName","userLsKey","shouldUseGray","getApiPrefix","trustAppNames","origin","hook","customMetaUrl","customMetaJsonpUrl","getMeta","toReturn","getPlatformConfig$1","iPlatform","cache","initGlobalConfig$1","config","shared","nativeHeadAppend","nativeBodyAppend","headAppend","bodyAppend","errTip","initPlatformConfig$1","pureConfig","originInit$1","commonTip","getAppPlatform$1","appGroupName","setAppPlatform$1","overwrite","getAppPlatformByAppName$1","setAppPlatformByAppName$1","getDataMap","_options$platform","getCustomData$1","setCustomData$1","customValue","STYLE_TAG_ADDED","CSS_LINK_TAG_ADDED","getHelEventBus$1","getUserEventBus$1","evName$1","groupName","host","getVerLib$1","appName2verEmitLib","appName2Lib","appName2isLibAssigned","verEmitLibMap","verLib","staticLib","fallbackLib","setEmitLib$1","appProperties","assignLibObj","libObj","getAppMeta$1","setAppMeta$1","setVerLoadStatus$1","getVerLoadStatus$1","setVerStyleStrStatus$1","getVerStyleStrStatus$1","getAppStyleStr$1","_appName2verStyleStr$","appName2verStyleStr","appName2styleStr","fallbackStyleStr","setAppStyleStr$1","appName2verStyleFetched","setVerExtraCssList$1","cssList","appName2verExtraCssList","verExtraCssListMap","getVerExtraCssList$1","getVersion$1","_appName2verAppVersio","appName2verAppVersion","appName2appVersion","firstVerData","setVersion$1","versionData","appGroupName2firstVer","verAppVersion","getVerFromAtInMiddle","nameAndVer","callerSpecifiedVer","verList","ver","isJs","tryGetVersion$1","_loc$split","_loc$split2","restStr","strList","hasSpecifiedVer","isSpecifiedVerHasScope","verSeg","prevSeg","isPrevSegScope","str1","str2","atSymbolIdx","atSymbolSegs","scopeSegIdx","_verSeg","_verSeg2","_restStr$split","_restStr$split2","_restStr$split2$","verStartStr","_verStartStr$split","_verStartStr$split2","verInUrl","tryGetAppName$1","version","isMeMarkTrue","isTryMarkCalled","tryMarkFlag","clearSignals","isSubApp$1","tip","markElFeature","name","elName","KEY_ASSET_CTX","doAppend","nativeAppend","href","src","isLink","assetCtx","beforeAppend","mayChangedEl","urlKey","_url","setAssetUrl","newUrl","patchAppendChild","doc","head","body","MutationObserver","observer","mutations","addedNodes","getAppend","htmlNode","bindTarget","patchedHeadAppend","patchedBodyAppend","isHead","pLogic","libReady$1","emitLib","eventBus","appReady$1","emitOptions","lifecycle","HEL_CSS_MARK_START","HEL_CSS_MARK_END","START_LEN","matchIgnoreCssPrefix","bus","resetStyleText","handleStyleAdded","ignoreStyleTagMap","innerText","markStart","markEnd","helKey","trimedStr","plat","handleHotUpdate","_node$src","handled","obStyleTagInsert","isStyleObInit","mutation","removedNodes","remLen","_i","resetGlobalThis","helEvents","helLoadStatus","helConsts","inectPlatToMod","commonUtil","isSubApp","setGlobalThis","getPlatform","getSharedCache","getHelDebug","allowLog","log","perfMark","perfPeek","clearPerfMark","getGlobalThis","getVerApp","setEmitApp","getVerLib","setEmitLib","getAppMeta","setAppMeta","getVersion","setVersion","getCustomData","setCustomData","getCommonData","setCommonData","commonDataUtil","getVerLoadStatus","setVerLoadStatus","getVerStyleStrStatus","setVerStyleStrStatus","getAppStyleStr","setAppStyleStr","getVerExtraCssList","setVerExtraCssList","tryGetVersion","tryGetAppName","getPlatformConfig","getAppPlatform","setAppPlatform","setAppPlatformByAppName","getAppPlatformByAppName","initPlatformConfig","originInit","initGlobalConfig","getHelEventBus","getUserEventBus","evName","libReady","appReady","exports","require$$0","this","s","c","b","y","d","A","m","x","L","h","P","R","j","S","T","_","E","O","M","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","input","hint","prim","res","arg","SPACE_REGEX","TOKEN_REGEX","DOCTYPE_MARK","COMMENT_START","COMMENT_END","META_END","LINK_END","MAY_SELF_CLOSE_TAGS","TAG_END_MAP","HTMLParser","offset","startIdx","num","curChar","regex","puredStr","delComment","commentStartIdx","commentEndIdx","strBeforeComment","strAfterComment","inputStr","nodes","tag","attrs","curPrev1Char","handleTagEnd","children","move","endTag","endTagLen","endFeature","parseHtml","html","parser","VER","__assign","__rest","__awaiter","thisArg","_arguments","generator","adopt","resolve","reject","fulfilled","step","rejected","__generator","verb","op","toExport","dbContexts","createContext","getIndexedDBFactory","IndexedDBStorage","indexedDB","initResolve","initReject","dbInfo","storeName","commonUtil$1","dbContext","isUpgrade","dbArgs","openreq","isNewStore","isDowngrade","incVersion","db","objectStore","req","_a","isRelativePath","path","getAssetUrlType","webDirPath","getIndexedDB","indexedDBIns_1","getLocalStorage","mockStorage","storage","getDatasetVal","dataset","defaultValIfOnlyKey","hasKey","saveToLocalStorage","cacheKey","toSave","mayHandleLegacyMeta","cachedMeta","appInfo","appVersion","getAppCacheKey","innerKey","getCachedAppMeta","_b","storageType","appCacheKey","indexedDBStorage","cachedMeta_1","appCacheStr","err_1","_c","innerGetAppCacheKey","getCacheKey","innerGetDiskCachedApp","meta","innerSaveMetaToDisk","isSaveToIndexedDB","apiSrvConst","API_NORMAL_GET","JSONP_MARK","userName","map_1","kvStr","k","builtinFns","getFn","userFn","conf","confFn","originFn","callFn","params","builtinFn","getVal","valPair","userVal","defaultVal","confVal","originVal","getHookFn","loadOptions","hookKey","userHook","genApiPrefix","prefix","DOCUMENT_FRAGMENT_NODE","JSONP","elem","parent","ret","inputUrl","callbackName","match","script","jsonData","getJSON","getXHRFactory","xhrFetch","method","xhrConfig","xhr","XHR","responseType","timeout","withCredentials","headers","wrapSuccessResult","response","status","statusText","responseURL","wrapErrResult","seq","detectMark","perfStart","addSeq","seqStr","perfEnd","getSemverLatestVer","strArr","includeVerStr","requestGet","requestByFetch","asJson","resUrl","json","requestByXHR","requester","getAllExtraCssList","extraCssList","custom","custCssList","enable","inputResp","resp","dataVar","oriStr","newStr","suffix","semverApi","executeGet","perfLabel","ensureApp","app","clonedApp","ensureVersion","clonedVersion","getSemverUrl","apiHost","skip404Sniff","prepareCustomPlatRequestInfo","appNameOrNames","getOptions","projectId","branchId","isFullVersion","versionIdList","projectIdList","_d","branchIdList","_e","urlAppName","urlVersion","urlProjId","urlBranchId","isBatch","getVal$1","getFnVal","fnParams","grayResult","grayVar","isJsonpGet","interfaceName","isV2Get","jsonpMark","finalInterfaceName","prepareSemverRequestInfo","prepareRequestInfo","prepareRequestVersionUrl","getUrl","finalApiPath","extractMetaFromReply","inputReply","reply","getSubAppAndItsVersion","oldFnName","newFnName","getMetaFn","innerRequest","needGrayVer","data_1","custUrl","custApiMode","metaUrl","getSubAppVersion","semverApiVar","code","msg","batchGetSubAppAndItsVersion","appNames","batchGetOptions","batchGetFn","markHelLoadAssetsFlag","isAssetExisted","selectors","canAppendByHelMark","ex","helAppend","exList","isExisted","appendEl","appendToBody","setInnerText","createScriptElement","onloadCb","onerrorCb","restObj","callOnloadCb","createLinkElement","rel","createStyleElement","isLinkItem","asset","isScriptAttrs","isStaticScript","handleLinkAsset","appendCss","cssAppendTypes","excludeCssList","createLinkOptions","createDomByAssetList","assetList","append","createAssetListAsync","loadScript","message","col","errorObj","errToThrow","createAdditionalAssets","assetUrlList","assetUrlList_1","loadAppAssets","additionalScripts","additionalBodyScripts","headAssetList","bodyAssetList","_f","chunkCssSrcList","_g","useAdditionalScript","_h","_j","getExcludeCssList","allExtraCssList","allCssList","optionsToHead","optionsToBody","toAsset","headList","bodyList","staticScriptList","restHeadAssetList","restBodyAssetList","_k","toExport$1","fnMark","isEmitVerMatchInputVer","emitVer","inputVer","online_version","build_version","verMap","mayBindIns","ins","LOCAL_STR","LOCAL_127","tags","nativeParse","htmlText","DOMParser","itemList","findNodeItem","names","inner$1","isHeadOpen","isValidTag","tagData","lastItem","firstChild","staticCssSrcList","staticJsSrcList","relativeCssSrcList","relativeJsSrcList","helEx","isCss","isBuildUrl","tagVar","itemVar","chunkJsSrcList","apiUrl","throwError","helMeta","detail","isCustomValid","getCustomMeta","skipFetchHelMeta","isApiUrl","attachHostSuffix","helMetaUrl","pageUrl","err_2","parseFn","restList","srcList","inner$2","app_group_name","srcMap","urlData","fromFallback","getFallbackHook","legacyFn","newFn","computeApiMode","specifiedApiMode","getPlatformAndApiMode","specifiedPlatform","clearDiskCachedApp","getAppFromRemoteOrLocal","fnOptions","enableDiskCache","enableSyncMeta","callRemote","memApp","memAppVersion","compareMem","srvInnerOptions","mayCachedApp","tryGetFromRemote","versionTag","cacheApp","allowGet","remoteApp","getAndCacheApp","getAppWithFallback","isFirstCall","enableDiskCacheForErr","getAppAndVersion","fixedOptions","toDisk","loadApp","controlLoadAssets","appInfo_1","appVersion_1","noMeta","fallbackHook","startLoad","getSubAppVersion$1","getSubAppMeta","reuseCache","targetMeta","getMetaDataUrl","protocol","clearDiskCachedApp$1","tasks_1","getWebDirPath","verData","getPlatAndVer","optionsVar","getGroupedStyleList","webDirPath_1","getWebDirPath$1","appParam","KEY_CSS_STR","LOADED","LOADING","NOT_LOAD","STYLE_STR_FETCHED","inner$3","judeStatus","platAndVer","initExtraCssList","buildCssList","appCssList","filterCssList","resultList","assetItem","htmlCssList","cssUrl","cachedCssStr","handleStyleFetched","styleInfo","emitAppName","emitPlatform","onlyUseAppCssList","validCssList","extraStyleStr","cssListToStr","appStyleStr","styleStr","fetchAppStyleData","getAppCssList","fetchStyleByUrlList","isStyleFetched","disableStyleTags","styleTags","getStyleTagText","styleTagText","getIgnoredCssUrlList","getSuitableCssPrefix","appStyle","tryFixAssociateData","fixOptions","oriMeta","custMeta","custVer","fixLibAssociateData","lib","originalLib","fixAppAssociateData","emittedApp","oriEmittedApp","getLibOrApp","innerOptions","isLib","newGetOptions","targetName","libWrap","judgeAppReady","preFetchOptions","next","error","inputPlatform","appPathDesc","trust","fixData","shouldNext","customAppGroupName_1","trust_1","isGroupNameValid","mayNext","canNext","logStillWait","toMatch","logic","init","initOptions","restOptions","isSubApp$2","injectDefault","externalItem","bindExternals","externalsObj","bindReactRuntime","reactRuntimeObj","reactMod","reactDomMod","reactIsMod","reactReconcilerMod","externalObj","bindVueRuntime","vueRuntimeObj","vueMod","getExtraDataPrefix","getExtraData","shouldParse","shouldParseVar","setExtraData","shouldStringify","shouldStringifyVar","mayStr","getBodyContainer","idOrTriggerNode","getFakeHelContext","ENABLE_DISK_CACHE","ENABLE_SYNC_META","STORAGE_TYPE","pLib","pApp","getEnsuredOptions","rawOptions","markShadowDataBeforeLoad","waitAppEmit","loadAssetsStarter","handleAppLoaded","emitAppOrLib","innerPreFetch","prefetchOptions","currentLoadStatus","preFetchLib","details","preFetchApp","batchPreFetchLib","batchOptions","optionsMap","commonOptions","targetVerList","targetProjList","targetBranchList","appDataList","shouldFetchAppNames","ensuredOptionsMap","customOptions","appData","tasks","mods","apis","core$1","purify$1","eventBus$1","coreRules","preFetchFns","injectSemverApiFns","arg1PlatObjFns","arg2PlatFns","isCore","arg0","arg1Var","toMerge","tryInjectPlatForMethods","tryOptions","createInstance","insApis","createOriginInstance","resetGlobalThis$1","originOptions","VER$1","preFetchLib$1","preFetchApp$1","batchPreFetchLib$1","appStyleSrv","appParamSrv","appMetaSrv","logicSrv","emitApp$1","init$1","getAppCacheKey$1","getCachedAppMeta$1","getFakeHelContext$1","getExtraData$1","setExtraData$1","bindExternals$1","bindVueRuntime$1","bindReactRuntime$1","core","createInstance$1","createOriginInstance$1","eventBus$2","toExport$2","helLibProxy","makeMap","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isRegExp","isFunction","isString","isSymbol","isObject","isPromise","objectToString","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","camelizeRE","camelize","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","def","writable","looseToNumber","toNumber","_globalThis","GLOBALS_ALLOWED","isGloballyAllowed","normalizeStyle","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","tmp","normalizeClass","normalizeProps","klass","style","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","seen","equal","looseEqual","looseCompareCollections","candidates","matched","index","looseCompareObjects","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseCompareNested","compare","seenA","seenB","looseIndexOf","isRef","toDisplayString","replacer","entries","val2","stringifySymbol","normalizeCssVarValue","activeEffectScope","EffectScope","detached","scopes","effects","currentEffectScope","current","fromParent","last","effectScope","getCurrentScope","onScopeDispose","failSilently","activeSub","pausedQueueEffects","ReactiveEffect","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","removeSub","isDirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","tail","prev","removeDep","refreshComputed","computed","globalVersion","dep","prevSub","soft","nextSub","prevDep","nextDep","effect","runner","stop","trackStack","pauseTracking","resetTracking","cleanup","Link","Dep","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","type","depsMap","trigger","newValue","oldTarget","run","targetIsArray","isArrayIndex","newLength","key2","getDepFromReactive","object","depMap","reactiveReadArray","array","raw","isShallow","isReadonly","isReactive","toReadonly","toReactive","shallowReadArray","toRaw","toWrapped","arrayInstrumentations","iterator","apply","searchProxy","separator","noTracking","reduce","comparer","self","wrapValue","methodFn","iter","wrapped","wrapResult","arrayProto","wrappedRetFn","needsWrap","result2","wrappedFn","wrapInitialAccumulator","acc","isNonTrackableKeys","builtInSymbols","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","readonly","MutableReactiveHandler","isArrayWithIntegerKey","isOldValueReadonly","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","done","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","has","callback","observed","proto","rawValue","valueToAdd","get","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","reactive","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isProxy","markRaw","ref","createRef","shallowRef","RefImpl","useDirectValue","triggerRef","ref2","unref","toValue","source","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","set","newVal","customRef","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","nestedRef","GetterRefImpl","_getter","toRef","ComputedRefImpl","setter","isSSR","getterOrOptions","debugOptions","getter","TrackOpTypes","TriggerOpTypes","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","getCurrentWatcher","onWatcherCleanup","cleanupFn","owner","cleanups","watch","immediate","deep","once","scheduler","augmentJob","call","reactiveGetter","source2","traverse","boundCleanup","forceTrigger","isMultiSource","currentEffect","baseGetter","depth","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","stack","pushWarningContext","vnode","popWarningContext","assertNumber","ErrorCodes","ErrorTypeStrings$1","callWithErrorHandling","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","findInsertionIndex","id","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","minUid","flushPostFlushCbs","skip","cbs","kept","deduped","isFlushing","flushOnAppMount","queued","devtools$1","buffer","setDevtoolsHook$1","event","newHook","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","prevStackSize","blockStack","closeBlock","withDirectives","directives","getComponentPublicInstance","bindings","dir","modifiers","invokeDirectiveHook","prevVNode","oldBindings","binding","provide","currentInstance","provides","parentProvides","inject","treatDefaultAsFactory","getCurrentInstance","currentApp","hasInjectionContext","ssrContextKey","useSSRContext","watchEffect","doWatch","watchPostEffect","watchSyncEffect","flush","baseWatchOptions","runsImmediately","ssrCleanup","isInSSRComponentSetup","watchStopHandle","isPre","queuePostRenderEffect","isFirstRun","watch$1","instanceWatch","publicThis","createPathGetter","reset","setCurrentInstance","segments","pendingMounts","TeleportEndKey","isTeleport","isTeleportDisabled","isTeleportDeferred","isTargetSVG","isTargetMathML","resolveTarget","select","targetSelector","TeleportImpl","n1","n2","container","anchor","parentComponent","parentSuspense","namespace","slotScopeIds","optimized","internals","mountChildren","patchChildren","patchBlockChildren","insert","querySelector","createText","createComment","parentNode","disabled","dynamicChildren","mount","container2","anchor2","mountToTarget","disabled2","targetAnchor","prepareAnchor","updateCssVars","queuePendingMount","mountJob","mountContainer","placeholder","mainAnchor","pendingMount","wasDisabled","currentContainer","currentAnchor","traverseStaticChildren","moveTeleport","nextTarget","unmount","hostRemove","doRemove","shapeFlag","targetStart","shouldRemove","child","hydrateTeleport","parentAnchor","moveType","isReorder","nextSibling","hydrateChildren","hydrateAnchor","target2","hydrateDisabledTeleport","node2","vnode2","Teleport","isDisabled","leaveCbKey","enterCbKey","useTransitionState","state","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","BaseTransitionImpl","slots","getTransitionRawChildren","findNonCommentChild","createCommentVNode","rawProps","emptyPlaceholder","innerChild","getInnerChild$1","enterHooks","resolveTransitionHooks","hooks","Comment","setTransitionHooks","oldInnerChild","isSameVNodeType","getTransitionRoot","leavingHooks","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","leavingVNodes","postClone","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","callHook","callAsyncHook","hook2","leavingVNode","leavingCb","leavingRoot","afterHook","cancelHook","called","cancelled","hooks2","isKeepAlive","cloneVNode","subTree","Fragment","filterSingleRoot","keepComment","parentKey","keyedFragmentCount","defineComponent","extraOptions","useId","markAsyncBoundary","useTemplateRef","refs","isTemplateRefKey","desc","pendingSetRefMap","setRef","rawRef","oldRawRef","isUnmount","isAsyncWrapper","refValue","oldRef","setupState","rawSetupState","canSetSetupRef","canSetRef","invalidatePendingSetRef","oldRawRefAtom","_isString","_isRef","doSet","existing","pendingSetRef","hasLoggedMismatchError","logMismatchError","isSVGContainer","isMathMLContainer","getContainerType","isComment","createHydrationFunctions","rendererInternals","mountComponent","patch","patchProp","hydrate","hydrateNode","isFragmentStart","onMismatch","handleMismatch","patchFlag","domType","nextNode","Text","isTemplateNode","replaceNode","Static","needToAdoptContent","hydrateFragment","hydrateElement","locateClosingAnchor","createVNode","createTextVNode","dynamicProps","dirs","transition","forcePatch","hasDynamicProps","needCallTransitionHooks","needTransition","content","cls","isMismatchAllowed","clientText","textContent","isCustomElement","isUnchangedResourceProp","vnodeHooks","invokeVNodeHook","queueEffectWithSuspense","parentVNode","hasCheckedMismatch","normalizeVNode","isText","fragmentSlotScopeIds","isFragment","isNodeMismatchAllowed","next2","updateHOCHostEl","open","close","newNode","oldNode","parentNode2","resourceProps","clientValue","allowMismatchAttr","MismatchTypeString","allowedType","isMismatchAllowedByAttr","allowedAttr","isMismatchAllowedByNode","isMismatchAllowedByVNode","requestIdleCallback","cancelIdleCallback","hydrateOnIdle","elementIsVisibleInViewport","top","left","bottom","right","innerHeight","innerWidth","hydrateOnVisible","opts","forEach","ob","observe","hydrateOnMediaQuery","query","mql","hydrateOnInteraction","interactions","hasHydrated","doHydrate","teardown","forEachElement","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","hydrateStrategy","suspensible","userOnError","pendingRequest","resolvedComp","retries","retry","load","thisRequest","comp","wasConnected","patched","performHydrate","createInnerComp","onError","loaded","delayed","timeoutTimer","delayTimer","onUnmounted","ce","KeepAliveImpl","sharedContext","_unmount","createElement","storageContainer","instance2","vnodeHook","invalidateMount","resetShapeFlag","pruneCache","filter","getComponentName","pruneCacheEntry","cached","include","exclude","matches","pendingCacheKey","cacheSubtree","isSuspense","getInnerChild","onUpdated","suspense","da","rawVNode","isVNode","max","cachedVNode","KeepAlive","pattern","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","prepend","createHook","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","component","resolveDirective","warnMissing","Component","selfName","registry","renderList","renderItem","sourceIsArray","sourceIsReactiveArray","isReadonlySource","createSlots","dynamicSlots","slot","renderSlot","fallback","noSlotted","branchKey","slotProps","hasProps","openBlock","createBlock","rendered","validSlotContent","ensureValidVNode","slotKey","vnodes","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","PublicInstanceProxyHandlers","accessCache","appContext","shouldCacheAccess","publicGetter","cssModule","globalProperties","cssModules","RuntimeCompiledPublicInstanceProxyHandlers","defineProps","defineEmits","defineExpose","exposed","defineOptions","defineSlots","defineModel","withDefaults","defaults","useSlots","getContext","useAttrs","calledFunctionName","createSetupContext","normalizePropsOrEmits","mergeDefaults","opt","mergeModels","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","inSSRSetup","awaitable","unsetCurrentInstance","setInSSRSetupState","restore","applyOptions","dataOptions","computedOptions","methods","watchOptions","provideOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","resolveInjections","methodHandler","createWatcher","registerLifecycleHook","register","_hook","checkDuplicateProperties","normalizeInject","handler","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","mergeOptions","to","from","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","isMounted","plugin","mixin","directive","rootContainer","isHydrate","lastApp","useModel","camelizedName","hyphenatedName","getModelModifiers","localValue","prevSetValue","prevEmittedValue","propValue","emittedValue","hasVModel","i2","modelName","emit","rawArgs","handlerName","onceHandler","mixinEmitsCache","normalizeEmitsOptions","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","renderComponentRoot","withProxy","propsOptions","renderCache","fallthroughAttrs","proxyToUse","thisProxy","render2","getFunctionalFallthrough","root","filterModelListeners","recurse","singleRoot","shouldUpdateComponent","nextVNode","prevProps","prevChildren","nextProps","nextChildren","emits","hasPropsChanged","hasPropValueChanged","emitsOptions","nextKeys","nextProp","prevProp","internalObjectProto","createInternalObject","isInternalObject","initProps","isStateful","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","hostInsert","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","moveStaticNode","removeStaticNode","mountElement","customElement","patchElement","resolveChildrenNamespace","setScopeId","scopeId","cloneIfMounted","oldProps","newProps","toggleRecurse","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","oldEl","resolveAsyncComponentPlaceholder","fragmentStartAnchor","fragmentEndAnchor","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","updateComponentPreRender","componentUpdateFn","bu","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","update","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","anchorVNode","leave","delayLeave","afterLeave","remove2","performLeave","wasLeaving","cacheIndex","memo","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","shouldInvalidateMemo","removeFragment","leavingNode","performRemove","leavingEl","bum","um","teleportEnd","getNextUid","currentNamespace","allowed","ch1","ch2","arrI","subComponent","anchorVnode","suspenseId","SuspenseImpl","mountSuspense","patchSuspense","hydrateSuspense","normalizeSuspenseChildren","Suspense","triggerEvent","eventListener","hiddenContainer","createSuspenseBoundary","setActiveBranch","newBranch","newFallback","activeBranch","pendingBranch","isInFallback","isHydrating","pendingId","parentSuspenseId","isSuspensible","isVNodeSuspensible","initialAnchor","resume","sync","parentComponent2","delayEnter","hasUpdatedAnchor","hasUnresolvedAncestor","fallbackVNode","namespace2","mountFallback","latestFallback","optimized2","isInPendingSuspense","hydratedEl","asyncSetupResult","handleSetupResult","parentSuspense2","isSlotChildren","normalizeSuspenseSlot","block","trackBlock","isBlockTreeEnabled","currentBlock","branch","disableTracking","inVOnce","setupBlock","createElementBlock","createBaseVNode","transformVNodeArgs","transformer","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","flag","createStaticVNode","numberOfNodes","asBlock","slotFlag","incoming","emptyAppContext","uid","internalSetCurrentInstance","registerGlobalSetter","setters","setupResult","setupStatefulComponent","setup","setupContext","isAsyncSetup","resolvedResult","finishComponentSetup","compile","installWithProxy","registerRuntimeCompiler","_compile","isRuntimeOnly","skipOptions","template","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","includeInferred","computed$1","propsOrChildren","initCustomFormatter","withMemo","isMemoSame","warn","ErrorTypeStrings","devtools","setDevtoolsHook","_ssrUtils","ssrUtils","resolveFilter","compatUtils","DeprecationTypes","policy","tt","unsafeToTrustedHTML","svgNS","mathmlNS","templateContainer","nodeOps","is","selector","before","wrapper","TRANSITION","ANIMATION","vtcKey","DOMTransitionPropsValidators","TransitionPropsValidators","decorate$1","Transition","resolveTransitionProps","h2","hasExplicitCallback","baseProps","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","isCancelled","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","_vtc","endId","expectedType","explicitTimeout","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","vShow","setDisplay","initVShowForSSR","CSS_VAR_TEXT","useCssVars","updateTeleports","vars","setVarsOnNode","setVars","setVarsOnVNode","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","shouldPreserveTextareaResizeStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","attrName","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","optionsModifierEventRE","cachedNow","getNow","initialValue","originalStop","handlers","isNativeOn","shouldSetAsProp","shouldSetAsPropForVueCE","camelize$1","REMOVAL","defineCustomElement","_createApp","VueCustomElement","VueElement","initialProps","defineSSRCustomElement","createSSRApp","BaseClass","_def","_props","createApp","isAsync","numberProps","asyncDef","declaredPropKeys","shouldReflect","shouldUpdate","dispatch","parentComp","nonce","insertionAnchor","slotName","outlets","walker","roots","found","useHost","caller","useShadowRoot","useCssModule","modules","positionMap","newPositionMap","moveCbKey","pendingGroups","decorate","TransitionGroupImpl","origins","moves","willMove","hasCSSTransform","resolveMoveClass","moveClass","callPendingCbs","shift","getOriginShift","recordPosition","movedChildren","applyTranslation","cssTransitionProps","getPosition","getOrigins","TransitionGroup","oldPos","newPos","dx","dy","rect","scaleX","scaleY","group","findItem","clone","getModelAssigner","onCompositionStart","onCompositionEnd","assignKey","initialValueKey","castValue","trim","number","vModelText","lazy","castToNumber","elValue","rootNode","vModelCheckbox","modelValue","elementValue","getValue","checked","assign","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","selectedVal","multiple","assignedValue","pending","setSelected","isSameSelectValue","isMultiple","isArrayValue","option","optionValue","optionType","vModelDynamic","callModelHook","resolveDynamicModel","initVModelForSSR","modelToUse","systemModifiers","modifierGuards","withModifiers","guard","keyNames","withKeys","eventKey","rendererOptions","renderer","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","resolveRootNamespace","ssrDirectiveInitialized","initDirectivesForSSR","REMOTE_LIB_NAME","LOCAL_HOST","UNPKG_HOST","remoteLibPromise","loadRemoteLib","Vue","__vitePreload"],"ignoreList":[0,1,2,3,4,5,6,7,8],"sources":["../../../node_modules/.pnpm/hel-micro-core@4.13.1_hel-types@4.3.10/node_modules/hel-micro-core/es/index.js","../../../node_modules/.pnpm/hel-lib-proxy@4.12.3_hel-mi_6b0f41e517098e22544f0ed11f95cd52/node_modules/hel-lib-proxy/dist/hel-lib-proxy.min.js","../../../node_modules/.pnpm/hel-html-parser@1.1.2/node_modules/hel-html-parser/es/index.js","../../../node_modules/.pnpm/hel-micro@4.15.3_hel-html-p_697a53729201c4d7629a0e39f0a2a2f4/node_modules/hel-micro/es/index.js","../../../node_modules/.pnpm/@vue+shared@3.5.44/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../node_modules/.pnpm/@vue+reactivity@3.5.44/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../../node_modules/.pnpm/@vue+runtime-core@3.5.44/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../../node_modules/.pnpm/@vue+runtime-dom@3.5.44/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../node_modules/.pnpm/vue@3.5.44_typescript@5.9.3/node_modules/vue/dist/vue.runtime.esm-bundler.js","../../src/configs/remote.ts","../../src/main.ts"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var n = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return n >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[n++]\n };\n },\n e: function (r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = !0,\n u = !1;\n return {\n s: function () {\n t = t.call(r);\n },\n n: function () {\n var r = t.next();\n return a = r.done, r;\n },\n e: function (r) {\n u = !0, o = r;\n },\n f: function () {\n try {\n a || null == t.return || t.return();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nvar globalThisRef = null;\nfunction assignRef() {\n // for browser env\n if (typeof window !== 'undefined') {\n globalThisRef = window;\n return;\n }\n // for nodejs env\n if (typeof global !== 'undefined') {\n globalThisRef = global;\n return;\n }\n throw new Error('unable to locate global object');\n}\n\n/**\n *\n * @returns {typeof globalThis}\n */\nfunction getGlobalThis$1() {\n if (!globalThisRef) {\n assignRef();\n }\n return globalThisRef;\n}\nfunction setGlobalThis$1(specGlobalThis) {\n var _globalThisRef;\n var merge = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var prevShared = null;\n if ((_globalThisRef = globalThisRef) !== null && _globalThisRef !== void 0 && _globalThisRef.__HEL_MICRO_SHARED__) {\n prevShared = globalThisRef.__HEL_MICRO_SHARED__;\n }\n if (merge) {\n globalThisRef = _objectSpread2(_objectSpread2({}, globalThisRef), specGlobalThis);\n } else {\n globalThisRef = specGlobalThis;\n }\n // 避免 resetGlobalThis 被用户调用后,共享数据丢失\n if (prevShared) {\n globalThisRef.__HEL_MICRO_SHARED__ = prevShared;\n }\n}\n\n/**\n * 获取 hel 全局单例对象挂载的宿主,现阶段是 window self global\n * 针对浏览器环境后期可能会调整宿主节点\n */\nfunction getHelSingletonHost() {\n return getGlobalThis$1();\n}\n\nfunction getOB() {\n var gs = getGlobalThis$1();\n // @ts-ignore\n return gs.MutationObserver || gs.WebKitMutationObserver || gs.MozMutationObserver;\n}\n\n/**\n * 经测试 nodeList.find(node => node.tagName === 'BODY')\n * 可能在某些浏览器报错,故抽象为 for 循环语法方便多处复用\n */\nfunction findNode(/** @type NodeList */nodeList, tagName) {\n var targetNode = null;\n var len = nodeList.length;\n for (var i = 0; i < len; i++) {\n var node = nodeList[i];\n if (node.tagName === tagName) {\n targetNode = node;\n break;\n }\n }\n return targetNode;\n}\nfunction okeys$1(map) {\n return Object.keys(map);\n}\nfunction getSearch() {\n var getLocSearch = function getLocSearch(/** @type {Location} */location) {\n var locVar = location || {};\n var search = locVar.search || '';\n if (!search) {\n var hash = locVar.hash || '';\n var hashSearch = hash.split('?')[1] || '';\n if (hashSearch) {\n search = \"?\".concat(hashSearch);\n }\n }\n return search;\n };\n try {\n var _getGlobalThis;\n return getLocSearch((_getGlobalThis = getGlobalThis$1()) === null || _getGlobalThis === void 0 || (_getGlobalThis = _getGlobalThis.top) === null || _getGlobalThis === void 0 ? void 0 : _getGlobalThis.location);\n } catch (err) {\n var _getGlobalThis2;\n // 可能是非同域的 iframe 载入,访问 iframe 外部变量导致的报错\n return getLocSearch((_getGlobalThis2 = getGlobalThis$1()) === null || _getGlobalThis2 === void 0 ? void 0 : _getGlobalThis2.location);\n }\n}\nfunction getLsItem(key) {\n var _getGlobalThis3;\n var ls = (_getGlobalThis3 = getGlobalThis$1()) === null || _getGlobalThis3 === void 0 ? void 0 : _getGlobalThis3.localStorage;\n return ls === null || ls === void 0 ? void 0 : ls.getItem(key);\n}\nfunction setLsItem(key, val) {\n var _getGlobalThis4;\n var ls = (_getGlobalThis4 = getGlobalThis$1()) === null || _getGlobalThis4 === void 0 ? void 0 : _getGlobalThis4.localStorage;\n return ls === null || ls === void 0 ? void 0 : ls.setItem(key, val);\n}\nfunction getSearchObj() {\n var search = getSearch();\n var map = {};\n if (search !== null && search !== void 0 && search.startsWith('?')) {\n var pureSearch = search.substring(1);\n var items = pureSearch.split('&');\n items.forEach(function (item) {\n var _item$split = item.split('='),\n _item$split2 = _slicedToArray(_item$split, 2),\n key = _item$split2[0],\n value = _item$split2[1];\n map[key] = value;\n });\n }\n return map;\n}\nfunction getJsRunLocation() {\n var loc = '';\n try {\n throw new Error('getJsRunLocation');\n } catch (err) {\n /** @type {string[]} */\n var stackArr = err.stack.split('\\n');\n var len = stackArr.length;\n // firefox 下 len-1 取不到,需要取 len-2\n loc = stackArr[len - 1] || stackArr[len - 2] || '';\n }\n return loc;\n}\nfunction setSubMapValue(rootObj, key, subKey, subValue) {\n var subMap = safeGetMap(rootObj, key);\n subMap[subKey] = subValue;\n}\nfunction safeGetMap(rootObj, key) {\n var defaultMap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var subMap = rootObj[key];\n if (!subMap) {\n subMap = defaultMap;\n rootObj[key] = subMap;\n }\n return subMap;\n}\nfunction safeAssign(assignTo, assignFrom) {\n Object.keys(assignFrom).forEach(function (key) {\n var val = assignFrom[key];\n if (![null, undefined, ''].includes(val)) {\n assignTo[key] = val;\n }\n });\n}\nfunction noDupPush$1(oriList, toPush) {\n if (!oriList.includes(toPush)) oriList.push(toPush);\n}\nfunction isNull$1(value) {\n var nullDef = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _nullDef$nullValues = nullDef.nullValues,\n nullValues = _nullDef$nullValues === void 0 ? [null, undefined, ''] : _nullDef$nullValues,\n _nullDef$emptyObjIsNu = nullDef.emptyObjIsNull,\n emptyObjIsNull = _nullDef$emptyObjIsNu === void 0 ? true : _nullDef$emptyObjIsNu,\n _nullDef$emptyArrIsNu = nullDef.emptyArrIsNull,\n emptyArrIsNull = _nullDef$emptyArrIsNu === void 0 ? true : _nullDef$emptyArrIsNu;\n var inNullValues = nullValues.includes(value);\n if (inNullValues) {\n return true;\n }\n if (Array.isArray(value)) {\n if (emptyArrIsNull) return value.length === 0;\n return false;\n }\n if (_typeof(value) === 'object') {\n var keys = okeys$1(value);\n var keyLen = keys.length;\n if (emptyObjIsNull) return keyLen === 0;\n return false;\n }\n return false;\n}\n\nfunction noop() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args;\n}\nfunction hasProp(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nfunction isServer() {\n var globalThis = getGlobalThis$1();\n return globalThis.process && globalThis.global && !globalThis.document;\n}\nfunction safeParse(jsonStr, defaultValue, errMsg) {\n // 防止传入进来的已经是 json 对象\n if (jsonStr && typeof jsonStr !== 'string') {\n return jsonStr;\n }\n try {\n var result = JSON.parse(jsonStr); // 避免 JSON.parse('null') ---> null\n return result || defaultValue;\n } catch (err) {\n if (defaultValue !== undefined) return defaultValue;\n if (errMsg) throw new Error(errMsg);\n throw err;\n }\n}\nvar isNull = isNull$1;\nvar noDupPush = noDupPush$1;\nvar okeys = okeys$1;\nfunction merge2List(list1, list2) {\n var mergedList = [];\n list1.forEach(function (v) {\n return noDupPush(mergedList, v);\n });\n list2.forEach(function (v) {\n return noDupPush(mergedList, v);\n });\n return mergedList;\n}\nfunction purify(obj, isValueValid) {\n // isValidVal or isNull\n var isValidFn = isValueValid || function (value) {\n return !isNull(value);\n };\n var pureObj = {};\n okeys(obj).forEach(function (key) {\n if (isValidFn(obj[key])) pureObj[key] = obj[key];\n });\n return pureObj;\n}\nfunction getObjsVal(objs, key, backupVal) {\n var val = backupVal;\n var _iterator = _createForOfIteratorHelper(objs),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n var mayValidVal = item[key];\n if (![null, undefined, ''].includes(mayValidVal)) {\n val = mayValidVal;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return val;\n}\n\n/**\n * for pretty format multi line string when use \\`...\\`\n * @param {*} mayLineBreakStr\n * @param {'MULTI' | 'ONE'} [mode='MULTI']\n * @returns\n */\nfunction pfstr(/** @type string */mayLineBreakStr) {\n var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'MULTI';\n var lines = mayLineBreakStr.split('\\n');\n var lastIdx = lines.length - 1;\n var formatLine = lines.map(function (line, idx) {\n var _line$trimStart;\n if (!line && (idx === 0 || idx === lastIdx)) {\n return '';\n }\n var replaceBr = function replaceBr(/** @type string */line, hasBrStr) {\n var noBrStr = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var result = line;\n if (line.endsWith('<br/>')) {\n result = line.substring(0, result.length - 5);\n return \"\".concat(result).concat(hasBrStr);\n }\n return \"\".concat(result).concat(noBrStr);\n };\n var result = ((_line$trimStart = line.trimStart) === null || _line$trimStart === void 0 ? void 0 : _line$trimStart.call(line)) || line; // 去头部所有空格\n if (mode === 'MULTI') {\n return \"\".concat(replaceBr(result, ''), \"\\n\");\n }\n result = replaceBr(result, '\\n', ' ');\n return result;\n }).join('');\n return formatLine;\n}\nfunction nbstr(mayLineBreakStr) {\n return pfstr(mayLineBreakStr, 'ONE');\n}\nfunction nbalert(mayLineBreakStr) {\n var alertInDev = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var g = getGlobalThis$1();\n var str = nbstr(mayLineBreakStr);\n var alert = g.alert || noop;\n if (alertInDev) {\n var _g$location;\n ((_g$location = g.location) === null || _g$location === void 0 ? void 0 : _g$location.port) && alert(str);\n return;\n }\n alert(str);\n}\nfunction setDataset(el, key, val) {\n if (el.dataset) {\n el.dataset[key] = val;\n } else {\n el.setAttribute(\"data-\".concat(key), val);\n }\n}\nfunction disableNode(node) {\n // 只能连续命名,否则会报错\n // failed to set a named property on 'DOMStringMap': 'hel-disabled' is not a valid property name.\n setDataset(node, 'heldisabled', '1');\n node.disabled = true;\n}\n\nvar commonUtilMod = /*#__PURE__*/Object.freeze({\n __proto__: null,\n noop: noop,\n hasProp: hasProp,\n isServer: isServer,\n safeParse: safeParse,\n isNull: isNull,\n noDupPush: noDupPush,\n okeys: okeys,\n merge2List: merge2List,\n purify: purify,\n getObjsVal: getObjsVal,\n pfstr: pfstr,\n nbstr: nbstr,\n nbalert: nbalert,\n setDataset: setDataset,\n disableNode: disableNode\n});\n\nfunction injectPlat(platform, injectOptions) {\n var _this = this;\n var fn = injectOptions.fn,\n fnName = injectOptions.fnName,\n arg1PlatObjFnKeys = injectOptions.arg1PlatObjFnKeys;\n var handleArg1 = arg1PlatObjFnKeys.includes(fnName);\n return function () {\n var mergePlatObj = function mergePlatObj(obj) {\n return _objectSpread2({\n platform: platform\n }, purify(obj || {}));\n };\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var arg1 = args[0],\n arg2 = args[1];\n if (handleArg1) {\n args[0] = mergePlatObj(arg1);\n } else {\n args[1] = mergePlatObj(arg2);\n }\n // @ts-ignore\n return fn.apply(_this, args);\n };\n}\nfunction inectPlatToMod$1(platform, mod, options) {\n var _ref = options || {},\n _ref$ignoreKeys = _ref.ignoreKeys,\n ignoreKeys = _ref$ignoreKeys === void 0 ? [] : _ref$ignoreKeys,\n _ref$arg1PlatObjFnKey = _ref.arg1PlatObjFnKeys,\n arg1PlatObjFnKeys = _ref$arg1PlatObjFnKey === void 0 ? [] : _ref$arg1PlatObjFnKey;\n var newObj = {};\n Object.keys(mod).forEach(function (mayFnName) {\n var mayFn = mod[mayFnName];\n if (ignoreKeys.includes(mayFnName)) {\n newObj[mayFnName] = mayFn;\n return;\n }\n var valueType = _typeof(mayFn);\n if (valueType && valueType === 'object') {\n newObj[mayFnName] = inectPlatToMod$1(platform, mayFn, options);\n return;\n }\n if (valueType === 'function') {\n newObj[mayFnName] = injectPlat(platform, {\n arg1PlatObjFnKeys: arg1PlatObjFnKeys,\n fn: mayFn,\n fnName: mayFnName\n });\n return;\n }\n newObj[mayFnName] = mayFn;\n });\n return newObj;\n}\n\nvar PLAT_HEL$1 = 'hel';\nvar PLAT_UNPKG$1 = 'unpkg';\nvar logModeEnum = {\n NONE: 0,\n LOG: 1,\n TRACE: 2\n};\n\n/**\n * 第一个载入的版本号,后续接口未指定版本时,总是优先载入一个载入的版本号对应的模块,确保优先使用全局已存在的模块\n * 内部很多地方用,这里额外独立暴露一下\n */\nvar DEFAULT_ONLINE_VER = '__default_online_ver__';\n\n/** 内部很多地方用,这里额外独立暴露一下 */\nvar DEFAULT_PLAT = PLAT_UNPKG$1;\nvar helConsts$1 = {\n CORE_VER: '4.13.1',\n DEFAULT_API_PREFIX: 'https://unpkg.com',\n DEFAULT_API_URL: '/openapi/v1/app/info',\n DEFAULT_ONLINE_VER: DEFAULT_ONLINE_VER,\n DEFAULT_USER_LS_KEY: 'HelUserRtxName',\n DEFAULT_PLAT: DEFAULT_PLAT,\n LS_LOG_MODE: 'HelConfig.logMode',\n LS_LOG_FILTER: 'HelConfig.logFilter',\n PLAT_HEL: PLAT_HEL$1,\n PLAT_UNPKG: PLAT_UNPKG$1,\n /** commonData.CSS_STR ,存放样式字符串 map */\n KEY_CSS_STR: 'CSS_STR',\n /** commonData.ASSET_CTX ,资源对应的具体上下文 */\n KEY_ASSET_CTX: 'ASSET_CTX',\n /** commonData.STYLE_TAG_ADDED ,对应的样式字符串 { [key: 'app-group-name' ]: string } */\n KEY_STYLE_TAG_ADDED: 'STYLE_TAG_ADDED',\n /** commonData.CSS_LINK_TAG_ADDED ,对应的样式url列表 { [key: 'http://localhost:3000' ]: string[] } */\n KEY_CSS_LINK_TAG_ADDED: 'CSS_LINK_TAG_ADDED',\n /** commonData.IGNORE_CSS_PREFIX_LIST ,忽略样式前缀列表 string[] */\n KEY_IGNORE_CSS_PREFIX_LIST: 'IGNORE_CSS_PREFIX_LIST',\n /** commonData.IGNORE_STYLE_TAG_KEY ,忽略样式前缀列表 { [key: string ]: 1|0 } */\n KEY_IGNORE_STYLE_TAG_KEY: 'IGNORE_STYLE_TAG_KEY',\n /** commonData.IGNORE_CSS_PREFIX_2_KEYS ,忽略样式前缀对应的key { [key: 'http://localhost:3000' ]: string } */\n KEY_IGNORE_CSS_PREFIX_2_KEYS: 'IGNORE_CSS_PREFIX_2_KEYS'\n};\nvar helEvents$1 = {\n // renderApp 发射的是 SUB_APP_LOADED\n // 此处有个小写开头的瑕疵不再做纠正,\n SUB_APP_LOADED: 'subAppLoaded',\n // libReady 发射的是 SUB_LIB_LOADED\n SUB_LIB_LOADED: 'SubLibLoaded',\n // 3.2+ 新增样式字符串获取完毕事件\n STYLE_STR_FETCHED: 'StyleStrFetched',\n /** 4.2.3+ 用于监听动态添加的 style 标签,方便上层用到 shadowdom 的地方可以接收样式并转移到 shadowdom 内部 */\n STYLE_TAG_ADDED: 'StyleTagAdded',\n /** 4.2.6+ 用于监听动态添加的 link 标签,方便上层用到 shadowdom 的地方可以接收样式并转移到 shadowdom 内部 */\n CSS_LINK_TAG_ADDED: 'CssLinkTagAdded'\n};\n\n/**\n * 作为应用是否加载 或 样式字符串 是否获取的枚举 map\n * @type {{NOT_LOAD:0, LOADING:1, LOADED:2}}\n */\nvar helLoadStatus$1 = {\n NOT_LOAD: 0,\n LOADING: 1,\n LOADED: 2\n};\n\nvar LS_LOG_FILTER = helConsts$1.LS_LOG_FILTER,\n LS_LOG_MODE = helConsts$1.LS_LOG_MODE;\nvar NONE = logModeEnum.NONE,\n LOG = logModeEnum.LOG,\n TRACE = logModeEnum.TRACE;\nvar inner = {\n isIncludeFilter: function isIncludeFilter(firstArg, logFilter) {\n if (!logFilter.includes(',')) {\n return firstArg.includes(logFilter);\n }\n /** @type {string[]} */\n var filterList = logFilter.split(',');\n return filterList.some(function (item) {\n return firstArg.includes(item);\n });\n },\n getLogFilter: function getLogFilter() {\n return getHelMicroDebug().logFilter;\n },\n setLogFilter: function setLogFilter(value) {\n var memVal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n getHelMicroDebug().logFilter = value;\n memVal && setLsItem(LS_LOG_FILTER, value);\n },\n setLogMode: function setLogMode(value) {\n var memVal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var modeNum = parseInt(value, 10);\n if ([NONE, LOG, TRACE].includes(modeNum)) {\n getHelMicroDebug().logMode = modeNum;\n memVal && setLsItem(LS_LOG_MODE, modeNum);\n }\n },\n getLogMode: function getLogMode() {\n return getHelMicroDebug().logMode;\n }\n};\n\n/** @type {import('../index').IHelMicroDebug} */\nvar helMicroDebug = {};\nfunction initMicroDebug() {\n if (getHelMicroDebug().isInit) {\n return;\n }\n getHelMicroDebug().isInit = true;\n var searchObj = getSearchObj();\n var hellog = searchObj.hellog,\n hellogf = searchObj.hellogf;\n\n // 优先读 url 上的控制参数 hellog,再读 localStorage 里的控制参数\n var logMode = hellog || getLsItem(LS_LOG_MODE) || NONE;\n inner.setLogMode(logMode, false);\n\n // 优先读 url 上的控制参数 hellogf\n var logFilter = hellogf || getLsItem(LS_LOG_FILTER) || '';\n inner.setLogFilter(logFilter, false);\n}\n\n/**\n * @returns {import('../index').IHelMicroDebug}\n */\nfunction makeHelMicroDebug() {\n return {\n logMode: NONE,\n logFilter: '',\n isInit: false\n };\n}\nfunction ensureHelMicroDebug() {\n helMicroDebug = getHelSingletonHost().__HEL_MICRO_DEBUG__;\n if (!isNull$1(helMicroDebug)) {\n // 兼容老版本库生成的 __HEL_MICRO_DEBUG__ 对象\n if (helMicroDebug.logMode === undefined) {\n helMicroDebug.logMode = NONE;\n helMicroDebug.logFilter = '';\n }\n return;\n }\n helMicroDebug = makeHelMicroDebug();\n getHelSingletonHost().__HEL_MICRO_DEBUG__ = helMicroDebug;\n try {\n initMicroDebug();\n } catch (err) {}\n}\n\n/** 采用缓存一次值后便不再从 search 推导的策略,方便单页面应用路由变化后,依然可以打印log */\nfunction allowLog$1() {\n return inner.getLogMode() !== NONE;\n}\nfunction getHelMicroDebug() {\n return helMicroDebug;\n}\nvar logPrefix = ' %c--> HEL LOG:';\nvar colorDesc = 'color:#ad4e00;font-weight:600';\nfunction log$1() {\n if (!allowLog$1()) {\n return;\n }\n var logFn = inner.getLogMode() === LOG ? console.log : console.trace || console.log;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var firstArg = args[0],\n rest = args.slice(1);\n if (typeof firstArg !== 'string') {\n return logFn.apply(void 0, [logPrefix, colorDesc].concat(args));\n }\n var logFilter = inner.getLogFilter();\n var logParams = [\"\".concat(logPrefix, \" \").concat(firstArg), colorDesc].concat(_toConsumableArray(rest));\n if (logFilter) {\n inner.isIncludeFilter(firstArg, logFilter) && logFn.apply(void 0, _toConsumableArray(logParams));\n return;\n }\n logFn.apply(void 0, _toConsumableArray(logParams));\n}\nvar labelTimes = {};\nfunction perfMark$1(label) {\n if (!allowLog$1() || labelTimes[label]) {\n return;\n }\n labelTimes[label] = Date.now();\n}\nfunction perfPeek$1(label, subLabel, clear) {\n if (!allowLog$1() || !labelTimes[label]) {\n return;\n }\n var start = labelTimes[label];\n log$1(\"[[ PerfCheck ]] (\".concat(label, \"/\").concat(subLabel, \") costs \").concat(Date.now() - start, \" ms\"));\n if (clear) {\n clearPerfMark$1(label);\n }\n}\nfunction clearPerfMark$1(label) {\n labelTimes[label] = 0;\n}\n\nvar DEFAULT_API_URL = helConsts$1.DEFAULT_API_URL,\n DEFAULT_USER_LS_KEY = helConsts$1.DEFAULT_USER_LS_KEY,\n PLAT_HEL = helConsts$1.PLAT_HEL,\n PLAT_UNPKG = helConsts$1.PLAT_UNPKG,\n DEFAULT_API_PREFIX = helConsts$1.DEFAULT_API_PREFIX,\n CORE_VER = helConsts$1.CORE_VER,\n KEY_CSS_LINK_TAG_ADDED$1 = helConsts$1.KEY_CSS_LINK_TAG_ADDED,\n KEY_STYLE_TAG_ADDED$1 = helConsts$1.KEY_STYLE_TAG_ADDED,\n KEY_IGNORE_CSS_PREFIX_LIST$1 = helConsts$1.KEY_IGNORE_CSS_PREFIX_LIST,\n KEY_IGNORE_STYLE_TAG_KEY$1 = helConsts$1.KEY_IGNORE_STYLE_TAG_KEY,\n KEY_IGNORE_CSS_PREFIX_2_KEYS$1 = helConsts$1.KEY_IGNORE_CSS_PREFIX_2_KEYS;\nfunction makeOriginOptions(presetOptions) {\n var _ref = presetOptions || {},\n apiPrefix = _ref.apiPrefix;\n return {\n apiMode: 'get',\n apiPrefix: apiPrefix,\n apiSuffix: '',\n apiPathOfApp: DEFAULT_API_URL,\n apiPathOfAppVersion: '',\n getSubAppAndItsVersionFn: null,\n // 4.13.0 新增 customMetaUrl 和 getMeta\n // customMetaUrl 用于配合平台新增的 /openapi/meta 请求\n // customMetaJsonpUrl 用于配合平台新增的 /openapi/metajsonp 请求\n // getMeta 用于取代 getSubAppAndItsVersionFn 函数\n customMetaUrl: '',\n customMetaJsonpUrl: '',\n getMeta: null,\n onFetchMetaFailed: null,\n strictMatchVer: true,\n getUserName: null,\n userLsKey: DEFAULT_USER_LS_KEY,\n shouldUseGray: null,\n trustAppNames: null,\n semverApi: null,\n hook: {}\n };\n}\nfunction makeCacheNode(platform) {\n /** @type {import('../index').SharedCache} */\n var cacheNode = _objectSpread2(_objectSpread2({\n isConfigOverwrite: false,\n platform: platform,\n appName2Comp: {},\n appName2Lib: {},\n appName2isLibAssigned: {},\n appName2EmitApp: {},\n appName2verLoadStatus: {},\n appName2verEmitLib: {},\n appName2verEmitApp: {},\n appName2verStyleStr: {},\n appName2verStyleFetched: {},\n appName2verExtraCssList: {},\n appName2verAppVersion: {},\n appName2verCustomData: {},\n appName2app: {},\n appName2appVersion: {},\n appName2styleStr: {},\n appGroupName2firstVer: {},\n isOriginInitCalled: false\n }, makeOriginOptions()), {}, {\n origin: makeOriginOptions({\n apiPrefix: DEFAULT_API_PREFIX\n }) // originInit 写入到此对象下\n });\n return cacheNode;\n}\nfunction makeEventBus() {\n /** @type {Record<string, any[]>} */\n var name2listeners = {};\n return {\n on: function on(eventName, cb) {\n var listeners = name2listeners[eventName];\n if (!listeners) {\n var arr = [];\n name2listeners[eventName] = arr;\n listeners = arr;\n }\n listeners.push(cb);\n },\n emit: function emit(eventName) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n var listeners = name2listeners[eventName];\n if (listeners) {\n var listenersCopy = listeners.slice();\n listenersCopy.forEach(function (cb) {\n return cb.apply(void 0, args);\n });\n }\n },\n off: function off(eventName, cb) {\n var listeners = name2listeners[eventName];\n if (listeners) {\n for (var i = 0, len = listeners.length; i < len; i++) {\n var cbItem = listeners[i];\n if (cbItem === cb) {\n listeners.splice(i, 1);\n break;\n }\n }\n }\n }\n };\n}\nfunction makeHelMicroShared() {\n var unpkgCache = makeCacheNode(PLAT_UNPKG);\n var helCache = makeCacheNode(PLAT_HEL);\n var cacheRoot = {\n /**\n * 默认的平台值,这个值在这里已无意义,最新版本的 getPlatform 返回值已固定,不再取此处的值\n * 这里刻意设为 PLAT_HEL 是为了让 3.0 和 4.0 版本包共存时\n * 例如宿主4子模块3这种情况,子模块的旧版本 hel-micro-core 调用 getPlatform 依然能正常获取到 hel 为默认平台\n */\n platform: PLAT_HEL,\n platformHint: 'the platform value here does not make any sense!',\n /** 1.4+ 新增,用于记录 preFetchLib 时显式传递了 platform 值,供 hel-lib-proxy 或其他地方使用,\n * 方便多平台共同加载包体场景下, exposeLib 接口如果未显式的传递平台值,能尽量正确推测出应用对应的 platform 值\n * 但是这里依然推荐用户 exposeLib 传递具体的平台值,避免推测错误\n */\n appName2platform: {},\n /**\n * 最近一个加载的组名对应的平台名,仅用于兜底推导,出现多平台同组名包时,此推导结果可能是错误的,\n * 此时建议用户调用相关接口时都显式的传递平台值\n */\n appGroupName2platform: {},\n /** @type {Record<string, ReturnType<typeof makeCacheNode>>} */\n caches: _defineProperty(_defineProperty({}, PLAT_UNPKG, unpkgCache), PLAT_HEL, helCache),\n /** @type {Record<string, Record<string, any>>} 和应用无关的通用缓存池 */\n common: {}\n };\n var innerEventBus = makeEventBus();\n var userEventBus = makeEventBus();\n return {\n ver: CORE_VER,\n isStyleObInit: false,\n nativeHeadAppend: null,\n nativeBodyAppend: null,\n /** 记录用户传递的句柄 */\n patchedHeadAppend: null,\n patchedBodyAppend: null,\n createFeature: getJsRunLocation(),\n eventBus: innerEventBus,\n userEventBus: userEventBus,\n cacheRoot: cacheRoot,\n /** 指向的是 cacheRoot.caches.unpkg ,放第一层仅用于方便控制台查看,实际业务逻辑还是走 caches 去取 */\n unpkgCache: unpkgCache,\n /** 指向的是 cacheRoot.caches.hel ,放第一层仅用于方便控制台查看,实际业务逻辑还是走 caches 去取 */\n helCache: helCache,\n /** 调试相关函数 */\n dev: {\n setLogMode: inner.setLogMode,\n setLogFilter: inner.setLogFilter\n }\n };\n}\nfunction ensureCommonKeys(common) {\n var keys = [KEY_CSS_LINK_TAG_ADDED$1, KEY_STYLE_TAG_ADDED$1, KEY_IGNORE_CSS_PREFIX_LIST$1, KEY_IGNORE_STYLE_TAG_KEY$1, KEY_IGNORE_CSS_PREFIX_2_KEYS$1];\n var getDefault = function getDefault(key) {\n return key === KEY_IGNORE_CSS_PREFIX_LIST$1 ? [] : {};\n };\n keys.forEach(function (key) {\n return safeGetMap(common, key, getDefault(key));\n });\n}\nfunction ensureHelMicroShared() {\n var helMicroShared = getHelMicroShared();\n if (helMicroShared) {\n var cacheRoot = helMicroShared.cacheRoot;\n safeGetMap(cacheRoot, 'appGroupName2platform');\n safeGetMap(cacheRoot, 'common');\n\n // 兼容线上老版本包,遍历 caches 做检测子节点数据结构并补齐\n var caches = cacheRoot.caches;\n Object.keys(caches).forEach(function (key) {\n var cacheNode = caches[key];\n safeGetMap(cacheNode, 'appGroupName2firstVer');\n safeGetMap(cacheNode, 'appName2isLibAssigned');\n safeGetMap(cacheNode, 'appName2verExtraCssList');\n safeGetMap(cacheNode, 'appName2verCustomData');\n safeGetMap(cacheNode, 'hook');\n safeGetMap(cacheNode, 'origin', makeOriginOptions());\n safeGetMap(cacheNode.origin, 'hook');\n });\n ensureCommonKeys(cacheRoot.common);\n\n // 补齐老包缺失的对象\n if (!helMicroShared.userEventBus) {\n helMicroShared.userEventBus = makeEventBus();\n }\n return;\n }\n helMicroShared = makeHelMicroShared();\n ensureCommonKeys(helMicroShared.cacheRoot.common);\n getHelSingletonHost().__HEL_MICRO_SHARED__ = helMicroShared;\n}\n\n/** @return {ReturnType<typeof makeHelMicroShared>} */\nfunction getHelMicroShared() {\n var microShared = getHelSingletonHost().__HEL_MICRO_SHARED__;\n return microShared;\n}\n\n/**\n * 获取默认的平台值\n * @returns\n */\nfunction getPlatform$1() {\n // 已不再支持重置平台默认值,上层可用 helMicro.createInstace 接口来定义出自动拉取对应平台的相关接口\n return DEFAULT_PLAT;\n}\n\n/**\n * @param {string} platform\n */\nfunction getSharedCache$1(platform) {\n var p = platform || getPlatform$1();\n var cacheRoot = getCacheRoot();\n var cacheNode = cacheRoot.caches[p];\n if (!cacheNode) {\n var platType = _typeof(platform);\n if (platType !== 'string') {\n console.error('invalid plaform:', platform);\n throw new Error(\"fatal error: platform only can be a string, now it is \".concat(platType));\n }\n var platCache = makeCacheNode(platform);\n cacheRoot.caches[p] = platCache;\n cacheNode = platCache;\n }\n return cacheNode;\n}\nfunction getCacheRoot() {\n return getHelMicroShared().cacheRoot;\n}\n\nvar innerUtil = {\n getCustomData: function getCustomData(appName, customKey, options) {\n var versionId = options.versionId,\n platform = options.platform;\n var _getSharedCache = getSharedCache$1(platform),\n appName2verCustomData = _getSharedCache.appName2verCustomData;\n var customMap = safeGetMap(appName2verCustomData, appName);\n var dataMap = safeGetMap(customMap, customKey);\n return dataMap[versionId || DEFAULT_ONLINE_VER];\n },\n getAppMeta: function getAppMeta(appName, platform) {\n var _getSharedCache2 = getSharedCache$1(platform),\n appName2app = _getSharedCache2.appName2app;\n return appName2app[appName];\n },\n setVerLoadStatus: function setVerLoadStatus(appName, loadStatus, statusMapKey, options) {\n var _ref = options || {},\n versionId = _ref.versionId,\n platform = _ref.platform;\n var appVerLoadStatus = getSharedCache$1(platform)[statusMapKey];\n var versionIdVar = versionId || DEFAULT_ONLINE_VER;\n setSubMapValue(appVerLoadStatus, appName, versionIdVar, loadStatus);\n },\n getVerLoadStatus: function getVerLoadStatus(appName, statusMapKey, options) {\n var _appVerLoadStatus$app;\n var _ref2 = options || {},\n versionId = _ref2.versionId,\n platform = _ref2.platform;\n var appVerLoadStatus = getSharedCache$1(platform)[statusMapKey];\n var versionIdVar = versionId || DEFAULT_ONLINE_VER;\n return ((_appVerLoadStatus$app = appVerLoadStatus[appName]) === null || _appVerLoadStatus$app === void 0 ? void 0 : _appVerLoadStatus$app[versionIdVar]) || helLoadStatus$1.NOT_LOAD;\n },\n // 预防一些未升级的老模块未写 DEFAULT_ONLINE_VER 的值到 libOrAppMap 里\n ensureOnlineModule: function ensureOnlineModule(libOrAppMap, appName, platform) {\n if (libOrAppMap[DEFAULT_ONLINE_VER]) {\n return;\n }\n var appMeta = innerUtil.getAppMeta(appName, platform);\n var onlineModule = libOrAppMap[appMeta === null || appMeta === void 0 ? void 0 : appMeta.online_version];\n if (onlineModule) {\n libOrAppMap[DEFAULT_ONLINE_VER] = onlineModule;\n }\n }\n};\n\nfunction getVerApp$1(appName, inputOptions) {\n var _options$strictMatchV;\n var options = inputOptions || {};\n var versionId = options.versionId,\n platform = options.platform;\n var _getSharedCache = getSharedCache$1(platform),\n appName2verEmitApp = _getSharedCache.appName2verEmitApp,\n appName2Comp = _getSharedCache.appName2Comp,\n strictMatchVer = _getSharedCache.strictMatchVer,\n appName2EmitApp = _getSharedCache.appName2EmitApp;\n var targetStrictMatchVer = (_options$strictMatchV = options.strictMatchVer) !== null && _options$strictMatchV !== void 0 ? _options$strictMatchV : strictMatchVer;\n var verEmitAppMap = safeGetMap(appName2verEmitApp, appName);\n innerUtil.ensureOnlineModule(verEmitAppMap, appName, platform);\n\n // 不传递具体版本号就指向默认的第一个载入的版本\n var versionIdVar = versionId || DEFAULT_ONLINE_VER;\n var verApp = verEmitAppMap[versionIdVar];\n var Comp = appName2Comp[appName];\n // { Comp } 是为了兼容老包写入的数据,老包未写入 appName2EmitApp\n var legacyWriteVerApp = Comp ? {\n Comp: Comp\n } : null;\n // 指定了版本严格匹配的话,兜底模块置为空\n var fallbackApp = targetStrictMatchVer ? null : appName2EmitApp[appName] || legacyWriteVerApp;\n var result = verApp || fallbackApp || null;\n log$1('[[ core:getVerApp ]] appName,options,result:', appName, options, result);\n return result;\n}\nfunction setEmitApp$1(appName, /** @type {import('hel-types').IEmitAppInfo} */emitApp) {\n log$1('[[ core:setEmitApp ]] appName,emitApp:', appName, emitApp);\n var versionId = emitApp.versionId,\n platform = emitApp.platform;\n var sharedCache = getSharedCache$1(platform);\n var appName2verEmitApp = sharedCache.appName2verEmitApp,\n appName2Comp = sharedCache.appName2Comp,\n appName2EmitApp = sharedCache.appName2EmitApp;\n\n // 记录第一个载入的版本号对应 emitApp\n var verEmitApp = safeGetMap(appName2verEmitApp, appName);\n if (!verEmitApp[DEFAULT_ONLINE_VER]) {\n appName2Comp[appName] = emitApp.Comp;\n appName2EmitApp[appName] = emitApp;\n setSubMapValue(appName2verEmitApp, appName, DEFAULT_ONLINE_VER, emitApp);\n }\n if (versionId) {\n setSubMapValue(appName2verEmitApp, appName, versionId, emitApp);\n }\n}\n\nvar KEY_CSS_LINK_TAG_ADDED = helConsts$1.KEY_CSS_LINK_TAG_ADDED,\n KEY_STYLE_TAG_ADDED = helConsts$1.KEY_STYLE_TAG_ADDED,\n KEY_IGNORE_CSS_PREFIX_LIST = helConsts$1.KEY_IGNORE_CSS_PREFIX_LIST,\n KEY_IGNORE_STYLE_TAG_KEY = helConsts$1.KEY_IGNORE_STYLE_TAG_KEY,\n KEY_IGNORE_CSS_PREFIX_2_KEYS = helConsts$1.KEY_IGNORE_CSS_PREFIX_2_KEYS;\nfunction getDataMap$1(customKey) {\n var _getCacheRoot = getCacheRoot(),\n common = _getCacheRoot.common;\n var dataMap = safeGetMap(common, customKey);\n return dataMap;\n}\n\n/** perf: 内置的 key 已在 microShared 初始化时做了检查,此处可直接获取 */\nfunction getDataNode(customKey) {\n var _getCacheRoot2 = getCacheRoot(),\n common = _getCacheRoot2.common;\n return common[customKey]; // map or list\n}\nfunction getCommonData$1(customKey, dataKey) {\n var dataMap = getDataMap$1(customKey);\n var result = dataMap[dataKey];\n return result !== undefined ? result : null;\n}\nfunction setCommonData$1(customKey, dataKey, data) {\n var dataMap = getDataMap$1(customKey);\n dataMap[dataKey] = data;\n}\n\n/** 操作 commonData 的内置方法集合 */\nvar commonDataUtil$1 = {\n setIgnoreCssPrefix: function setIgnoreCssPrefix(cssPrefix) {\n var list = getDataNode(KEY_IGNORE_CSS_PREFIX_LIST);\n noDupPush$1(list, cssPrefix);\n },\n setIgnoreStyleTagKey: function setIgnoreStyleTagKey(key) {\n var map = commonDataUtil$1.getIgnoreStyleTagMap();\n map[key] = 1;\n },\n getIgnoreStyleTagMap: function getIgnoreStyleTagMap() {\n var map = getDataNode(KEY_IGNORE_STYLE_TAG_KEY);\n return map;\n },\n setIgnoreCssPrefixKey: function setIgnoreCssPrefixKey(ignoreCssPrefix, key) {\n var list = getCommonData$1(KEY_IGNORE_CSS_PREFIX_2_KEYS, ignoreCssPrefix);\n if (!list) {\n list = [];\n setCommonData$1(KEY_IGNORE_CSS_PREFIX_2_KEYS, ignoreCssPrefix, list);\n }\n noDupPush$1(list, key);\n },\n getIgnoreCssPrefixKeys: function getIgnoreCssPrefixKeys(ignoreCssPrefix) {\n var map = getDataNode(KEY_IGNORE_CSS_PREFIX_2_KEYS);\n return map[ignoreCssPrefix] || [];\n },\n getMatchedIgnoreCssPrefix: function getMatchedIgnoreCssPrefix(/** @type string */url) {\n var ignoreCssPrefixList = getDataNode(KEY_IGNORE_CSS_PREFIX_LIST);\n var matchedPrefix = '';\n for (var i = 0; i < ignoreCssPrefixList.length; i++) {\n var cssPrefix = ignoreCssPrefixList[i];\n if (url.startsWith(cssPrefix)) {\n matchedPrefix = cssPrefix;\n break;\n }\n }\n return matchedPrefix;\n },\n getIgnoreCssPrefixCssUrlList: function getIgnoreCssPrefixCssUrlList(ignoreCssPrefix) {\n var cssUrlList = getCommonData$1(KEY_CSS_LINK_TAG_ADDED, ignoreCssPrefix);\n if (!cssUrlList) {\n cssUrlList = [];\n setCommonData$1(KEY_CSS_LINK_TAG_ADDED, ignoreCssPrefix, cssUrlList);\n }\n return cssUrlList;\n },\n setIgnoreCssPrefixCssUrl: function setIgnoreCssPrefixCssUrl(ignoreCssPrefix, url) {\n var cssUrlList = commonDataUtil$1.getIgnoreCssPrefixCssUrlList(ignoreCssPrefix);\n cssUrlList.push(url);\n },\n getStyleTagText: function getStyleTagText(key) {\n var text = getCommonData$1(KEY_STYLE_TAG_ADDED, key) || '';\n return text;\n },\n clearStyleTagText: function clearStyleTagText(key) {\n setCommonData$1(KEY_STYLE_TAG_ADDED, key, '');\n },\n appendStyleTagText: function appendStyleTagText(key, text) {\n var oldText = commonDataUtil$1.getStyleTagText(key);\n // 继续拼接新的样式字符串\n setCommonData$1(KEY_STYLE_TAG_ADDED, key, \"\".concat(oldText, \" \").concat(text));\n }\n};\n\n/** @typedef {import('../../index').IPlatformConfigFull} IPlatformConfigFull */\n\n/**\n * 提取无其他杂项的配置对象\n * @param {SharedCache} mayCache\n * @returns {IPlatformConfigFull}\n */\nfunction getPureConfig(mayCache, needOrigin) {\n var apiMode = mayCache.apiMode,\n apiPrefix = mayCache.apiPrefix,\n apiSuffix = mayCache.apiSuffix,\n apiPathOfApp = mayCache.apiPathOfApp,\n apiPathOfAppVersion = mayCache.apiPathOfAppVersion,\n getSubAppAndItsVersionFn = mayCache.getSubAppAndItsVersionFn,\n onFetchMetaFailed = mayCache.onFetchMetaFailed,\n strictMatchVer = mayCache.strictMatchVer,\n getUserName = mayCache.getUserName,\n userLsKey = mayCache.userLsKey,\n shouldUseGray = mayCache.shouldUseGray,\n getApiPrefix = mayCache.getApiPrefix,\n trustAppNames = mayCache.trustAppNames,\n platform = mayCache.platform,\n origin = mayCache.origin,\n hook = mayCache.hook,\n customMetaUrl = mayCache.customMetaUrl,\n customMetaJsonpUrl = mayCache.customMetaJsonpUrl,\n getMeta = mayCache.getMeta;\n var toReturn = {\n apiMode: apiMode,\n apiPrefix: apiPrefix,\n apiSuffix: apiSuffix,\n apiPathOfApp: apiPathOfApp,\n apiPathOfAppVersion: apiPathOfAppVersion,\n getSubAppAndItsVersionFn: getSubAppAndItsVersionFn,\n onFetchMetaFailed: onFetchMetaFailed,\n strictMatchVer: strictMatchVer,\n getUserName: getUserName,\n userLsKey: userLsKey,\n shouldUseGray: shouldUseGray,\n getApiPrefix: getApiPrefix,\n trustAppNames: trustAppNames,\n hook: hook,\n platform: platform,\n customMetaUrl: customMetaUrl,\n customMetaJsonpUrl: customMetaJsonpUrl,\n getMeta: getMeta\n };\n if (needOrigin) {\n toReturn.origin = origin;\n }\n return toReturn;\n}\nfunction getPlatformConfig$1(iPlatform) {\n var cache = getSharedCache$1(iPlatform);\n return getPureConfig(cache, true);\n}\nfunction initGlobalConfig$1(/** @type {IGlobalConfig} */config) {\n var shared = getHelMicroShared();\n var nativeHeadAppend = shared.nativeHeadAppend,\n nativeBodyAppend = shared.nativeBodyAppend;\n var headAppend = config.headAppend || null;\n var bodyAppend = config.bodyAppend || null;\n var errTip = function errTip(label) {\n return \"pass same \".concat(label, \" handle, hel will ignore it for avlid 'Maximum call stack size exceeded'\");\n };\n if (headAppend && headAppend === nativeHeadAppend) {\n console.error(errTip('headAppend'));\n } else {\n shared.patchedHeadAppend = headAppend;\n }\n if (bodyAppend && bodyAppend === nativeBodyAppend) {\n console.error(errTip('bodyAppend'));\n } else {\n shared.patchedBodyAppend = bodyAppend;\n }\n}\n\n/**\n *\n * @param {IPlatformConfig} config\n * @param {string} [iPlatform ]\n * @returns\n */\nfunction initPlatformConfig$1(/** @type {IPlatformConfig} */config, iPlatform) {\n var cache = getSharedCache$1(iPlatform);\n var pureConfig = getPureConfig(config);\n if (cache.isConfigOverwrite) {\n // 对应平台的 initPlatformConfig 只接受一次调用\n return;\n }\n cache.isConfigOverwrite = true;\n safeAssign(cache, pureConfig);\n}\nfunction originInit$1(platform, options) {\n var cache = getSharedCache$1(platform);\n var commonTip = '[[ core:originInit ]] invalid call, it can only been called';\n if (cache.isConfigOverwrite) {\n log$1(\"\".concat(commonTip, \" before init\"));\n return;\n }\n if (cache.isOriginInitCalled) {\n log$1(\"\".concat(commonTip, \" one time\"));\n // 对应平台的 initPlatformConfig 只接受一次调用\n return;\n }\n var pureConfig = getPureConfig(options);\n cache.isOriginInitCalled = true;\n safeAssign(cache.origin, pureConfig);\n}\n\n/**\n * 优先获取用户为某个应用单独设定的平台值,目前设定的时机有 preFetch、preFetchLib 时指定的平台值\n * 这里是为了辅助 exposeLib 接口未指定平台值时能够动态推导出目标模块的平台值\n * @returns\n */\nfunction getAppPlatform$1(appGroupName) {\n return getCacheRoot().appGroupName2platform[appGroupName] || getPlatform$1();\n}\n\n/**\n * hel-micro innerPreFetch 会调用此接口提前记录一下应用组名对应的版本号\n */\nfunction setAppPlatform$1(appGroupName, platform, overwrite) {\n var map = getCacheRoot().appGroupName2platform;\n if (overwrite || !map[appGroupName]) {\n map[appGroupName] = platform;\n }\n return getAppPlatform$1(appGroupName);\n}\nfunction getAppPlatformByAppName$1(appName) {\n return getCacheRoot().appName2platform[appName] || getPlatform$1();\n}\n\n/**\n * hel-micro innerPreFetch 会调用此接口提前记录一下应用名对应的版本号\n */\nfunction setAppPlatformByAppName$1(appName, platform, overwrite) {\n var map = getCacheRoot().appName2platform;\n if (overwrite || !map[appName]) {\n map[appName] = platform;\n }\n return getAppPlatformByAppName$1(appName);\n}\n\nfunction getDataMap(appName, options) {\n // 没有传平台值,就猜测 appName 对应的平台值\n var customKey = options.customKey,\n _options$platform = options.platform,\n platform = _options$platform === void 0 ? getAppPlatformByAppName$1(appName) : _options$platform;\n var _getSharedCache = getSharedCache$1(platform),\n appName2verCustomData = _getSharedCache.appName2verCustomData;\n var customMap = safeGetMap(appName2verCustomData, appName);\n var dataMap = safeGetMap(customMap, customKey);\n return dataMap;\n}\nfunction getCustomData$1(appName, options) {\n var dataMap = getDataMap(appName, options);\n var result = dataMap[options.versionId || DEFAULT_ONLINE_VER];\n return result !== undefined ? result : null;\n}\nfunction setCustomData$1(appName, options) {\n var customValue = options.customValue,\n versionId = options.versionId;\n var dataMap = getDataMap(appName, options);\n dataMap[versionId || DEFAULT_ONLINE_VER] = customValue;\n if (!dataMap[DEFAULT_ONLINE_VER]) {\n dataMap[DEFAULT_ONLINE_VER] = customValue;\n }\n}\n\nvar STYLE_TAG_ADDED = helEvents$1.STYLE_TAG_ADDED,\n CSS_LINK_TAG_ADDED = helEvents$1.CSS_LINK_TAG_ADDED;\nfunction getHelEventBus$1() {\n return getHelMicroShared().eventBus;\n}\nfunction getUserEventBus$1() {\n return getHelMicroShared().userEventBus;\n}\nvar evName$1 = {\n styleTagAdded: function styleTagAdded(groupName) {\n return \"\".concat(STYLE_TAG_ADDED, \"/\").concat(groupName);\n },\n cssLinkTagAdded: function cssLinkTagAdded(host) {\n return \"\".concat(CSS_LINK_TAG_ADDED, \"(\").concat(host, \")\");\n }\n};\n\nfunction getVerLib$1(appName, inputOptions) {\n var _options$strictMatchV;\n var options = inputOptions || {};\n var versionId = options.versionId,\n platform = options.platform;\n var sharedCache = getSharedCache$1(platform);\n var appName2verEmitLib = sharedCache.appName2verEmitLib,\n appName2Lib = sharedCache.appName2Lib,\n strictMatchVer = sharedCache.strictMatchVer,\n appName2isLibAssigned = sharedCache.appName2isLibAssigned;\n var targetStrictMatchVer = (_options$strictMatchV = options.strictMatchVer) !== null && _options$strictMatchV !== void 0 ? _options$strictMatchV : strictMatchVer;\n var verEmitLibMap = safeGetMap(appName2verEmitLib, appName);\n innerUtil.ensureOnlineModule(verEmitLibMap, appName);\n\n // 不传递具体版本号就执行默认在线版本\n var versionIdVar = versionId || DEFAULT_ONLINE_VER;\n var verLib = verEmitLibMap[versionIdVar];\n\n // 未分配的模块,直接返回 null 即可,因为 appName2Lib 里会被 exposeLib 提前注入一个 {} 对象占位\n var staticLib = appName2isLibAssigned[appName] ? appName2Lib[appName] : null;\n // 指定了版本严格匹配的话,兜底模块置为空\n var fallbackLib = targetStrictMatchVer ? null : staticLib;\n var result = verLib || fallbackLib || null;\n log$1('[[ core:getVerLib ]] appName,options,result:', appName, options, result);\n return result;\n}\nfunction setEmitLib$1(appName, /** @type {import('hel-types').IEmitAppInfo} */emitApp, options) {\n var _ref = options || {},\n appGroupName = _ref.appGroupName;\n var versionId = emitApp.versionId,\n appProperties = emitApp.appProperties;\n var platform = emitApp.platform || options.platform;\n var sharedCache = getSharedCache$1(platform);\n var appName2verEmitLib = sharedCache.appName2verEmitLib,\n appName2Lib = sharedCache.appName2Lib,\n appName2isLibAssigned = sharedCache.appName2isLibAssigned;\n var appMeta = innerUtil.getAppMeta(appName, platform);\n var assignLibObj = function assignLibObj(appName) {\n // 使用文件头静态导入模块语法时,默认是从 appName2Lib 拿数据,\n // 这意味着 文件头静态导入 总是执行第一个加载的版本模块,\n // ( 注:文件头静态导入对接的是 hel-lib-proxy 的 exposeLib,该接口使用的是 appName2Lib )\n // 所以 多版本同时导入 和 文件头静态导入 本身是冲突的,用户不应该两种用法一起使用,\n // 否则 文件头静态导入 的模块是不稳定的,除非用户知道后果并刻意这样做\n // marked at 2022-05-06\n var libObj = appName2Lib[appName];\n // 未静态导入时,libObj 是 undefined\n if (!libObj) {\n appName2Lib[appName] = appProperties;\n } else if (_typeof(libObj) === 'object' && Object.keys(libObj).length === 0) {\n // 静态导入时,emptyChunk 那里调用 exposeLib 会提前生成一个 {} 对象\n // 这里只需负责 merge 模块提供方通过 libReady 提供的模块对象\n Object.assign(libObj, appProperties);\n }\n appName2isLibAssigned[appName] = true;\n };\n assignLibObj(appName);\n // 确保 preFetchLib 传入测试应用名时,exposeLib 获取的代理对象能够指到测试库\n // 这样静态导入才能正常工作\n if (appGroupName) {\n assignLibObj(appGroupName);\n } else {\n appMeta && assignLibObj(appMeta.app_group_name);\n }\n\n // 当前版本可作为默认线上版本来记录\n log$1('[[ core:setEmitLib ]] appMeta:', appMeta);\n var verEmitLibMap = safeGetMap(appName2verEmitLib, appName);\n // 记录第一个载入的版本号对应 lib\n if (!verEmitLibMap[DEFAULT_ONLINE_VER]) {\n setSubMapValue(appName2verEmitLib, appName, DEFAULT_ONLINE_VER, appProperties);\n }\n if (versionId) {\n setSubMapValue(appName2verEmitLib, appName, versionId, appProperties);\n }\n}\n\nfunction getAppMeta$1(appName, platform) {\n var _getSharedCache = getSharedCache$1(platform),\n appName2app = _getSharedCache.appName2app;\n return appName2app[appName];\n}\nfunction setAppMeta$1(/** @type {import('hel-types').ISubApp}*/appMeta, platform) {\n var _getSharedCache2 = getSharedCache$1(platform),\n appName2app = _getSharedCache2.appName2app;\n appName2app[appMeta.name] = appMeta;\n}\n\nfunction setVerLoadStatus$1(appName, loadStatus, options) {\n innerUtil.setVerLoadStatus(appName, loadStatus, 'appName2verLoadStatus', options);\n}\nfunction getVerLoadStatus$1(appName, options) {\n return innerUtil.getVerLoadStatus(appName, 'appName2verLoadStatus', options);\n}\nfunction setVerStyleStrStatus$1(appName, loadStatus, options) {\n innerUtil.setVerLoadStatus(appName, loadStatus, 'appName2verStyleFetched', options);\n}\nfunction getVerStyleStrStatus$1(appName, options) {\n return innerUtil.getVerLoadStatus(appName, 'appName2verStyleFetched', options);\n}\n\nfunction getAppStyleStr$1(appName, options) {\n var _appName2verStyleStr$;\n var _ref = options || {},\n platform = _ref.platform,\n versionId = _ref.versionId;\n var _getSharedCache = getSharedCache$1(platform),\n appName2verStyleStr = _getSharedCache.appName2verStyleStr,\n appName2styleStr = _getSharedCache.appName2styleStr;\n\n // TODO: 暂未考虑接入 strictMatchVer\n var fallbackStyleStr = appName2styleStr[appName] || '';\n // 兼容老包未写 versionId 的情况\n if (!versionId) {\n return fallbackStyleStr;\n }\n return ((_appName2verStyleStr$ = appName2verStyleStr[appName]) === null || _appName2verStyleStr$ === void 0 ? void 0 : _appName2verStyleStr$[versionId]) || fallbackStyleStr || '';\n}\nfunction setAppStyleStr$1(appName, str, options) {\n var _ref2 = options || {},\n platform = _ref2.platform,\n versionId = _ref2.versionId;\n var _getSharedCache2 = getSharedCache$1(platform),\n appName2verStyleStr = _getSharedCache2.appName2verStyleStr,\n appName2verStyleFetched = _getSharedCache2.appName2verStyleFetched,\n appName2styleStr = _getSharedCache2.appName2styleStr;\n // 兼容老包未写 versionId 的情况\n if (!versionId) {\n appName2styleStr[appName] = str;\n return;\n }\n setSubMapValue(appName2verStyleStr, appName, versionId, str);\n setSubMapValue(appName2verStyleFetched, appName, versionId, helLoadStatus$1.LOADED);\n}\nfunction setVerExtraCssList$1(appName, cssList, inputOptions) {\n var options = inputOptions || {};\n var versionId = options.versionId,\n platform = options.platform;\n var sharedCache = getSharedCache$1(platform);\n var appName2verExtraCssList = sharedCache.appName2verExtraCssList;\n log$1('[[ core:setVerExtraCssList ]] cssList:', cssList);\n var verExtraCssListMap = safeGetMap(appName2verExtraCssList, appName);\n // 记录第一个载入的版本号对应 css 资源\n if (!verExtraCssListMap[DEFAULT_ONLINE_VER]) {\n setSubMapValue(appName2verExtraCssList, appName, DEFAULT_ONLINE_VER, cssList);\n }\n if (versionId) {\n setSubMapValue(appName2verExtraCssList, appName, versionId, cssList);\n }\n}\nfunction getVerExtraCssList$1(appName, inputOptions) {\n var options = inputOptions || {};\n var versionId = options.versionId,\n platform = options.platform;\n var sharedCache = getSharedCache$1(platform);\n var appName2verExtraCssList = sharedCache.appName2verExtraCssList;\n var verExtraCssListMap = safeGetMap(appName2verExtraCssList, appName);\n var cssList = verExtraCssListMap[versionId] || verExtraCssListMap[DEFAULT_ONLINE_VER] || [];\n log$1('[[ core:getVerExtraCssList ]] options,cssList:', options, cssList);\n return cssList;\n}\n\nfunction getVersion$1(appName, options) {\n var _appName2verAppVersio;\n var _ref = options || {},\n platform = _ref.platform,\n versionId = _ref.versionId;\n var _getSharedCache = getSharedCache$1(platform),\n appName2verAppVersion = _getSharedCache.appName2verAppVersion,\n appName2appVersion = _getSharedCache.appName2appVersion;\n\n // TODO: 暂未考虑接入 strictMatchVer\n var firstVerData = appName2appVersion[appName] || null;\n if (!versionId) {\n return firstVerData;\n }\n // firstVerData 在这里作为兜底返回,正常情况下 appName2verAppVersion 肯定是能取到数据的\n return ((_appName2verAppVersio = appName2verAppVersion[appName]) === null || _appName2verAppVersio === void 0 ? void 0 : _appName2verAppVersio[versionId]) || firstVerData;\n}\nfunction setVersion$1(appName, /** @type {import('hel-types').ISubAppVersion}*/versionData, options) {\n var _ref2 = options || {},\n platform = _ref2.platform;\n var _getSharedCache2 = getSharedCache$1(platform),\n appName2verAppVersion = _getSharedCache2.appName2verAppVersion,\n appGroupName2firstVer = _getSharedCache2.appGroupName2firstVer,\n appName2appVersion = _getSharedCache2.appName2appVersion;\n var versionId = versionData.version_tag || versionData.sub_app_version;\n if (!versionId) {\n return;\n }\n var appMeta = innerUtil.getAppMeta(appName, platform);\n var verAppVersion = safeGetMap(appName2verAppVersion, appName);\n // 记录第一个载入的版本号对应 versionData\n if (!verAppVersion[DEFAULT_ONLINE_VER]) {\n setSubMapValue(appName2verAppVersion, appName, DEFAULT_ONLINE_VER, versionData);\n appName2appVersion[appName] = versionData;\n }\n setSubMapValue(appName2verAppVersion, appName, versionId, versionData);\n\n // 注意,此处记录的是 versionIndex 值,用于辅助 tryGetVersion 逻辑匹配 url 逻辑\n appGroupName2firstVer[appMeta.app_group_name] = versionData.sub_app_version;\n}\n\n// 正常情况只有一个 @ 形如: xxxx@1.1.1 ---> 1.1.1\n// 如果有多个 @ 这样写能保证准确还原,形如:xxx@1.1.1@my@s ---> 1.1.1@my@s,\n// 不过写入版本的地方已卡死格式,所以这里理论上来说不能存在两个以上的@符号\nfunction getVerFromAtInMiddle(nameAndVer, callerSpecifiedVer) {\n var list = nameAndVer.split('@');\n var verList = list.slice(1);\n var ver = verList.join('@');\n return ver || callerSpecifiedVer || nameAndVer;\n}\nfunction isJs(str) {\n return str === 'js' || str === 'mjs';\n}\n\n/**\n * 根据执行脚本链接猜测当前模块的版本号,脚本链接例如:\n * https://cdn.jsdelivr.net/npm/hel-lodash@2.3.4/hel_dist/hel_userChunk_1.js\n * https://unpkg.com/hel-lodash@2.3.4/hel_dist/hel_userChunk_1.js\n * https://tnfe.gtimg.com/hel/remote-react-comps-tpl_20241228190308/xxx.js\n * https://tnfe.gtimg.com/hel/@my/remote-react-comps-tpl@1.1.1/xxx.js\n * 对于新版协议meta返回的是版本号标签(即后台的version_tag)\n * 对于旧版协议meta返回的是版本号索引(即后台的sub_app_version)\n */\nfunction tryGetVersion$1(appGroupName, platform) {\n // 形如: at c (https://{cdn_host_name}/{platform}/{appname_prefixed_version}/static/js/4.b60c0895.chunk.js:2:44037\n // 如果用户调整过,可能是:at c (https://{user_cdn}/{user_dir1}/{user_dir2 ...}/{platform}/{appname_prefixed_version}/...)\n var loc = getJsRunLocation();\n log$1(\"[[ core:tryGetVersion ]] may include ver source > \".concat(loc));\n var _getSharedCache = getSharedCache$1(platform),\n appGroupName2firstVer = _getSharedCache.appGroupName2firstVer;\n var callerSpecifiedVer = appGroupName2firstVer[appGroupName] || '';\n if (loc.includes('https://') || loc.includes('http://')) {\n var _loc$split = loc.split('//'),\n _loc$split2 = _slicedToArray(_loc$split, 2),\n restStr = _loc$split2[1];\n // strList 形如:\n // ['unpkg.com', 'hel-lodash@1.1.0', ...]\n // ['unpkg.com', '@someScope', 'xxx@1.1.0', ...]\n // ['cdn.jsdelivr.net', 'npm', 'hel-lodash@2.3.4', 'hel_dist', ...]\n // ['tnfe.gtimg.com', 'hel', 'remote-react-comps-tpl_20241228190308', ...]\n var strList = restStr.split('/');\n\n // 优先判断可能包含的版本特征\n if (callerSpecifiedVer) {\n // tnfe.gtimg.com/hel/@tencent/mono-comps@20250816051000/static/xxx 匹配 /@tencent/mono-comps@20250816051000/\n // tnfe.gtimg.com/hel/mono-comps@20250816051000/static/xxx 匹配 /mono-comps@20250816051000/\n var hasSpecifiedVer = restStr.includes(\"/\".concat(callerSpecifiedVer, \"/\"));\n if (hasSpecifiedVer) {\n // 避免 tnfe.gtimg.com/hel/@tencent/mono-comps@20250816051000/static/xxx 匹配 /mono-comps@20250816051000/ 成功\n // 需排除错误场景\n var isSpecifiedVerHasScope = callerSpecifiedVer.startsWith('@');\n if (!isSpecifiedVerHasScope) {\n // 此时 callerSpecifiedVer 为不带 scope 前缀的 versionIndex 值\n var idx = strList.indexOf(callerSpecifiedVer);\n var prevSeg = strList[idx - 1];\n var isPrevSegScope = prevSeg.startsWith('@');\n if (!isPrevSegScope) {\n return getVerFromAtInMiddle(callerSpecifiedVer);\n }\n\n // 运行到这里,prevSeg 表示 scope,但 callerSpecifiedVer 是无 scope 前缀的,此时不执行任何逻辑则成功排除了上述错误场景\n } else {\n var verSeg = callerSpecifiedVer.split('/')[1] || '';\n return getVerFromAtInMiddle(verSeg);\n }\n }\n\n // strList: ['xxxx.com:8888', 'static', 'js'],本地联调时的特征\n var str1 = strList[1];\n var str2 = strList[2];\n if (str1 === 'static' && isJs(str2) || isJs(str1)) {\n return getVerFromAtInMiddle(callerSpecifiedVer);\n }\n }\n var atSymbolIdx = restStr.indexOf('@');\n // 使用了符合 npm cdn 方式的链接生成规范\n if (atSymbolIdx >= 0) {\n var atSymbolSegs = strList.filter(function (v) {\n return v.includes('@');\n });\n var scopeSegIdx = atSymbolSegs.findIndex(function (v) {\n return v.startsWith('@');\n });\n if (scopeSegIdx >= 0) {\n var _verSeg = atSymbolSegs[scopeSegIdx + 1] || '';\n return getVerFromAtInMiddle(_verSeg, callerSpecifiedVer);\n }\n var _verSeg2 = atSymbolSegs[0] || '';\n return getVerFromAtInMiddle(_verSeg2, callerSpecifiedVer);\n }\n\n // 使用的是旧版本 helpack 链接规范(注:新版 helpack 链接已支持 npm cdn 规范)\n // 旧规范格式链接形如:\n // {cdn_host_name}/{platform}/{appname_prefixed_version}\n // {user_cdn}/{user_dir1}/{user_dir2 ...}/{platform}/{appname_prefixed_version}/\n var _restStr$split = restStr.split(\"/\".concat(platform, \"/\")),\n _restStr$split2 = _slicedToArray(_restStr$split, 2),\n _restStr$split2$ = _restStr$split2[1],\n verStartStr = _restStr$split2$ === void 0 ? '' : _restStr$split2$;\n var _verStartStr$split = verStartStr.split('/'),\n _verStartStr$split2 = _slicedToArray(_verStartStr$split, 1),\n verInUrl = _verStartStr$split2[0];\n return verInUrl || callerSpecifiedVer;\n }\n\n // 在微容器里运行时,js全是在VM里初始化的,此时拿不到具体的加载链接了\n return callerSpecifiedVer;\n}\nfunction tryGetAppName$1(/** @type string */version, appGroupName) {\n if (version === DEFAULT_ONLINE_VER) {\n return appGroupName || '';\n }\n\n // 来自 helpack 管理台的版本号规则\n if (version.includes('_')) {\n // lib-test_20220621165953 ---> lib-test\n var appName = version.substring(0, version.length - 15);\n return appName;\n }\n\n // 来自 unpkg\n return appGroupName || '';\n}\n\n// !!! 注:如果hel-micro hel-micro-core相关包体设置到externals里时,\n// 此机制不再有效,建议尽快使用 hel-iso 包替代\n\n// 该变量每个子应用自己维护一份,只能在 __MASTER_APP_LOADED__ 无值时才能被写为true\n// __MASTER_APP_LOADED__ 有值表示主应用已挂载\n// 需注意此设计模式下,hel-micro-core 不应该被抽到 externals,\n// 否则各个应用共同维护一个了 isCoreInit 值,isSubApp 就无效了,需使用 hel-iso 替代\nvar isMeMarkTrue = false;\nvar isTryMarkCalled = false;\n\n/**\n * @returns\n */\nfunction tryMarkFlag(clearSignals) {\n if (clearSignals) {\n isMeMarkTrue = false;\n isTryMarkCalled = false;\n }\n if (isTryMarkCalled) {\n return;\n }\n isTryMarkCalled = true;\n var globalThis = getGlobalThis$1();\n if (globalThis.__MASTER_APP_LOADED__ === undefined) {\n globalThis.__MASTER_APP_LOADED__ = true;\n isMeMarkTrue = true;\n }\n}\n\n/**\n * 是否是子应用\n * @deprecated\n * @returns\n */\nfunction isSubApp$1() {\n // calling isSubApp is unsafe, cause it will return wrong result when they were lift up to webpack\n // externals, please install hel-iso and call its isSubApp instead\n var tip = 'WARNING: calling isSubApp is unsafe, use hel-iso.isSubApp instead,\\n';\n tip += 'more details see: https://tnfe.github.io/hel/docs/tutorial/attention-is-subapp';\n console.log(\"%c\".concat(tip), 'color:red;');\n // __MASTER_APP_LOADED__ 是当前应用写入的,代表当前应用是主应用\n if (isMeMarkTrue) {\n return false;\n }\n return true;\n}\n\nfunction markElFeature(/** @type {HTMLElement} */el, options) {\n var platform = options.platform,\n groupName = options.groupName,\n name = options.name,\n ver = options.ver,\n elName = options.elName;\n setDataset(el, 'el', elName);\n setDataset(el, 'plat', platform);\n setDataset(el, 'gname', groupName);\n setDataset(el, 'name', name);\n setDataset(el, 'ver', ver);\n}\n\nvar KEY_ASSET_CTX = helConsts$1.KEY_ASSET_CTX;\nfunction doAppend(nativeAppend, /** @type {HTMLLinkElement | HTMLScriptElement}*/el) {\n if (!el || !['LINK', 'SCRIPT'].includes(el.tagName)) {\n return nativeAppend(el);\n }\n var href = el.href,\n tagName = el.tagName,\n src = el.src;\n /** @type string */\n var url = href || src || '';\n var isLink = tagName === 'LINK';\n var assetCtx = getCommonData$1(KEY_ASSET_CTX, url) || {};\n var platform = assetCtx.platform,\n groupName = assetCtx.groupName,\n name = assetCtx.name,\n ver = assetCtx.ver,\n beforeAppend = assetCtx.beforeAppend;\n var mayChangedEl = el;\n if (beforeAppend) {\n var urlKey = isLink ? 'href' : 'src';\n var _url = el.getAttribute(urlKey);\n var setAssetUrl = function setAssetUrl(newUrl) {\n return el.setAttribute(urlKey, newUrl);\n };\n mayChangedEl = beforeAppend({\n el: el,\n nativeAppend: nativeAppend,\n setAssetUrl: setAssetUrl,\n url: _url,\n tagName: tagName\n }) || el;\n }\n var elName = isLink ? 'HelLink' : 'HelScript';\n platform && markElFeature(mayChangedEl, {\n platform: platform,\n groupName: groupName,\n name: name,\n ver: ver,\n elName: elName\n });\n return nativeAppend(mayChangedEl);\n}\nfunction patchAppendChild() {\n var gs = getGlobalThis$1();\n // 当前阶段 qiankun 不做任何补丁,否则会导致一切一些莫名的 bug,例如 react 组件切换 unmountAtNode 报错,\n // 如有特殊需要,载入hel包体之前,设置 __DISABLE_HEL_MONKEY_PATCH__=true 也可以禁止补丁行为,\n // 禁止意味着 beforeAppendAssetNode 钩子不在起作用\n if (gs.__POWERED_BY_QIANKUN__ || gs.__DISABLE_HEL_MONKEY_PATCH__) {\n return;\n }\n var helMicroShared = getHelMicroShared();\n var doc = gs.document;\n var nativeHeadAppend = helMicroShared.nativeHeadAppend;\n var nativeBodyAppend = helMicroShared.nativeBodyAppend;\n // already patched or a mock enviroment\n if (nativeHeadAppend || !doc) {\n return;\n }\n var head = doc.head,\n body = doc.body;\n // record may native appendChild, use bind to avoid Illegal invocation\n nativeHeadAppend = head.appendChild.bind(head);\n helMicroShared.nativeHeadAppend = nativeHeadAppend;\n if (body) {\n nativeBodyAppend = body.appendChild.bind(body);\n helMicroShared.nativeBodyAppend = nativeBodyAppend;\n } else {\n // 可能 js 脚本在 head 里被引入并执行,此时 body 对象为 undefined,\n // 需要用 MutationObserver 监听到 body 被插入然后做相关替换\n var MutationObserver = getOB();\n var observer = new MutationObserver(function (mutations) {\n var body;\n for (var i = 0; i < mutations.length; i++) {\n var addedNodes = mutations[i].addedNodes;\n body = findNode(addedNodes, 'BODY');\n if (body) break;\n }\n if (body) {\n nativeBodyAppend = body.appendChild.bind(body);\n helMicroShared.nativeBodyAppend = nativeBodyAppend;\n body.appendChild = function (el) {\n return doAppend(getAppend(nativeBodyAppend, body, 'body'), el);\n };\n observer.disconnect();\n }\n });\n var htmlNode = findNode(doc.childNodes, 'HTML');\n if (htmlNode) {\n observer.observe(htmlNode, {\n childList: true\n });\n }\n }\n\n // 兼容一些第三方库对 Element.prototype.appendChild 打了补丁的情况(如micro-app)\n var getAppend = function getAppend(nativeAppend, bindTarget, loc) {\n var patchedHeadAppend = helMicroShared.patchedHeadAppend,\n patchedBodyAppend = helMicroShared.patchedBodyAppend;\n var isHead = loc === 'head';\n if (patchedHeadAppend && isHead) {\n // 如果用户手动传递了 headAppend 句柄\n return patchedHeadAppend;\n }\n if (patchedBodyAppend && !isHead) {\n // 如果用户手动传递了 bodyAppend 句柄\n return patchedBodyAppend;\n }\n // 兼容 wujie\n if (gs.__POWERED_BY_WUJIE__) {\n return nativeAppend;\n }\n var el = gs.Element; // 某些框架会代理 Element,如 micro-app\n return el ? el.prototype.appendChild.bind(bindTarget) : nativeAppend;\n };\n\n // replace appendChild\n head.appendChild = function (el) {\n return doAppend(getAppend(nativeHeadAppend, head, 'head'), el);\n };\n if (body) {\n body.appendChild = function (el) {\n return doAppend(getAppend(nativeBodyAppend, body, 'body'), el);\n };\n }\n}\n\nvar pLogic = 'preFetch';\nfunction libReady$1(appGroupName, appProperties) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var platform = options.platform || getAppPlatform$1(appGroupName);\n var versionId = options.versionId || tryGetVersion$1(appGroupName, platform);\n var appName = options.appName || tryGetAppName$1(versionId, appGroupName);\n log$1(\"[[ core:libReady ]] appGroupName \".concat(appGroupName, \", appName \").concat(appName, \", versionId \").concat(versionId));\n var appMeta = getAppMeta$1(appName, platform);\n // @ts-ignore,来自于用户设定 cust 配置弹射的模块\n if (appMeta !== null && appMeta !== void 0 && appMeta.__fromCust) {\n // 优先读用户透传的版本数据,再读实际对应的在线版本\n versionId = options.versionId || appMeta.online_version;\n appName = appMeta.name;\n log$1(\"[[ core:libReady ]] fromCust, appGroupName \".concat(appGroupName, \", appName \").concat(appName, \", versionId \").concat(versionId));\n }\n var emitLib = {\n platform: platform,\n appName: appName,\n appGroupName: appGroupName,\n versionId: versionId,\n appProperties: appProperties,\n // prettier-ignore\n Comp: function EmptyComp() {},\n lifecycle: {}\n };\n setEmitLib$1(appName, emitLib, {\n appGroupName: appGroupName,\n platform: platform\n });\n setVerLoadStatus$1(appName, helLoadStatus$1.LOADED, {\n versionId: versionId,\n platform: platform\n });\n var eventBus = getHelEventBus$1();\n perfPeek$1(pLogic, 'libReady');\n eventBus.emit(helEvents$1.SUB_LIB_LOADED, emitLib);\n}\nfunction appReady$1(appGroupName, Comp) {\n var emitOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lifecycle = emitOptions.lifecycle;\n var platform = emitOptions.platform || getAppPlatform$1(appGroupName);\n var versionId = emitOptions.versionId || tryGetVersion$1(appGroupName, platform);\n var appName = emitOptions.appName || tryGetAppName$1(versionId, appGroupName);\n var emitApp = {\n Comp: Comp,\n appName: appName,\n appGroupName: appGroupName,\n lifecycle: lifecycle,\n platform: platform,\n versionId: versionId,\n isLib: false\n };\n setEmitApp$1(appName, emitApp);\n setVerLoadStatus$1(appName, helLoadStatus$1.LOADED, {\n versionId: versionId,\n platform: platform\n });\n var eventBus = getHelEventBus$1();\n perfPeek$1(pLogic, 'appReady');\n eventBus.emit(helEvents$1.SUB_APP_LOADED, emitApp);\n}\n\nvar HEL_CSS_MARK_START = '/* @helstart ';\nvar HEL_CSS_MARK_END = ' @helend */';\nvar START_LEN = HEL_CSS_MARK_START.length;\nfunction matchIgnoreCssPrefix(node, url) {\n var bus = getHelEventBus$1();\n var matchedPrefix = commonDataUtil$1.getMatchedIgnoreCssPrefix(url);\n // 分析 url ,符合 shadow 特征的不追加 dom,仅发射事件让上层适配层去处理\n if (matchedPrefix) {\n commonDataUtil$1.setIgnoreCssPrefixCssUrl(matchedPrefix, url);\n bus.emit(evName$1.cssLinkTagAdded(matchedPrefix), {\n nodes: [node]\n });\n }\n return matchedPrefix;\n}\nfunction resetStyleText(groupName) {\n var g = getGlobalThis$1();\n if (!g) return;\n var list = g.document.head.querySelectorAll(\"style[data-gname=\\\"\".concat(groupName, \"\\\"]\"));\n if (list.length) {\n commonDataUtil$1.clearStyleTagText(groupName);\n list.forEach(function (node) {\n disableNode(node);\n commonDataUtil$1.appendStyleTagText(groupName, node.innerText);\n });\n var bus = getHelEventBus$1();\n bus.emit(evName$1.styleTagAdded(groupName), {\n nodes: list\n });\n }\n}\nfunction handleStyleAdded(/** @type {HTMLElement} */node, ignoreStyleTagMap) {\n var tagName = node.tagName,\n innerText = node.innerText,\n href = node.href;\n if (!['STYLE', 'LINK'].includes(tagName)) return;\n\n // process style tag\n if (tagName === 'STYLE') {\n if (!innerText) {\n return;\n }\n var markStart = innerText.indexOf(HEL_CSS_MARK_START);\n // starts with '/* @helstart '\n if (markStart < 0) {\n return;\n }\n // 处理 css-loader 动态向 heade 添加 style 标签的情况\n // /* @helstart hel-tpl-remote-react-comp-ts @helend */ --> hel-tpl-remote-react-comp-ts\n var markEnd = innerText.indexOf(HEL_CSS_MARK_END);\n if (markEnd < 0) {\n return;\n }\n var helKey = innerText.substring(START_LEN + markStart, markEnd);\n if (helKey) {\n var trimedStr = helKey.trim(); // may groupName or plat/groupName\n var plat = '';\n var groupName = trimedStr;\n if (trimedStr.includes('/')) {\n var arr = trimedStr.split('/');\n plat = arr[0];\n groupName = arr[1];\n }\n setDataset(node, 'gname', groupName);\n plat && setDataset(node, 'plat', plat);\n if (ignoreStyleTagMap[trimedStr]) {\n disableNode(node);\n }\n var bus = getHelEventBus$1();\n commonDataUtil$1.appendStyleTagText(trimedStr, innerText);\n bus.emit(evName$1.styleTagAdded(trimedStr), {\n nodes: [node]\n });\n }\n return;\n }\n\n // process link tag\n var matchedPrefix = matchIgnoreCssPrefix(node, href);\n if (matchedPrefix) {\n disableNode(node);\n }\n}\nfunction handleHotUpdate(/** @type {HTMLElement} */node, ignoreStyleTagMap) {\n var tagName = node.tagName,\n _node$src = node.src,\n src = _node$src === void 0 ? '' : _node$src;\n if (tagName !== 'SCRIPT') return false;\n if (!src.endsWith('.hot-update.js')) return false;\n var matchedPrefix = commonDataUtil$1.getMatchedIgnoreCssPrefix(src);\n if (!matchedPrefix) return false;\n var keys = commonDataUtil$1.getIgnoreCssPrefixKeys(matchedPrefix);\n if (!keys.length) return false;\n var handled = false;\n keys.forEach(function (key) {\n if (ignoreStyleTagMap[key]) {\n resetStyleText(key);\n handled = true;\n }\n });\n return handled;\n}\nfunction obStyleTagInsert() {\n var helMicroShared = getHelMicroShared();\n var globalThis = getGlobalThis$1();\n var isStyleObInit = helMicroShared.isStyleObInit;\n var doc = globalThis.document;\n if (isStyleObInit || !doc) {\n return;\n }\n helMicroShared.isStyleObInit = true;\n var ignoreStyleTagMap = commonDataUtil$1.getIgnoreStyleTagMap();\n var MutationObserver = getOB();\n if (!MutationObserver) return;\n var observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n var addedNodes = mutation.addedNodes,\n removedNodes = mutation.removedNodes;\n var len = addedNodes.length;\n for (var i = 0; i < len; i++) {\n handleStyleAdded(addedNodes[i], ignoreStyleTagMap);\n }\n var remLen = removedNodes.length;\n for (var _i = 0; _i < remLen; _i++) {\n if (handleHotUpdate(removedNodes[_i], ignoreStyleTagMap)) {\n break;\n }\n }\n });\n });\n observer.observe(document.head, {\n childList: true\n });\n}\n\n/** @typedef {import('../index').IPlatformConfig} IPlatformConfig */\nresetGlobalThis();\nlog$1(\"hel-micro-core ver \".concat(helConsts$1.CORE_VER));\nvar helEvents = helEvents$1,\n helLoadStatus = helLoadStatus$1,\n helConsts = helConsts$1;\nvar inectPlatToMod = inectPlatToMod$1;\nvar commonUtil = commonUtilMod;\nvar isSubApp = isSubApp$1;\nfunction resetGlobalThis(globalThis) {\n if (globalThis) {\n setGlobalThis(globalThis);\n }\n // 载入此包就尝试设置 masterApp 锁,以推断自己是不是父应用\n tryMarkFlag(!!globalThis);\n // 确保 __HEL_MICRO_SHARED__ 存在\n ensureHelMicroShared();\n ensureHelMicroDebug();\n patchAppendChild();\n obStyleTagInsert();\n}\n\n/**\n * 获取默认的平台值\n * @returns\n */\nvar getPlatform = getPlatform$1,\n getSharedCache = getSharedCache$1;\nvar getHelDebug = getHelMicroDebug,\n allowLog = allowLog$1,\n log = log$1,\n perfMark = perfMark$1,\n perfPeek = perfPeek$1,\n clearPerfMark = clearPerfMark$1;\nvar getGlobalThis = getGlobalThis$1,\n setGlobalThis = setGlobalThis$1;\nvar getVerApp = getVerApp$1,\n setEmitApp = setEmitApp$1;\nvar getVerLib = getVerLib$1,\n setEmitLib = setEmitLib$1;\nvar getAppMeta = getAppMeta$1,\n setAppMeta = setAppMeta$1;\nvar getVersion = getVersion$1,\n setVersion = setVersion$1;\nvar getCustomData = getCustomData$1,\n setCustomData = setCustomData$1;\nvar getCommonData = getCommonData$1,\n setCommonData = setCommonData$1,\n commonDataUtil = commonDataUtil$1;\nvar getVerLoadStatus = getVerLoadStatus$1,\n setVerLoadStatus = setVerLoadStatus$1,\n getVerStyleStrStatus = getVerStyleStrStatus$1,\n setVerStyleStrStatus = setVerStyleStrStatus$1;\nvar getAppStyleStr = getAppStyleStr$1,\n setAppStyleStr = setAppStyleStr$1,\n getVerExtraCssList = getVerExtraCssList$1,\n setVerExtraCssList = setVerExtraCssList$1;\nvar tryGetVersion = tryGetVersion$1,\n tryGetAppName = tryGetAppName$1;\nvar getPlatformConfig = getPlatformConfig$1,\n getAppPlatform = getAppPlatform$1,\n setAppPlatform = setAppPlatform$1,\n setAppPlatformByAppName = setAppPlatformByAppName$1,\n getAppPlatformByAppName = getAppPlatformByAppName$1,\n initPlatformConfig = initPlatformConfig$1,\n originInit = originInit$1,\n initGlobalConfig = initGlobalConfig$1;\nvar getHelEventBus = getHelEventBus$1,\n getUserEventBus = getUserEventBus$1,\n evName = evName$1;\nvar libReady = libReady$1,\n appReady = appReady$1;\n\nexport { allowLog, appReady, clearPerfMark, commonDataUtil, commonUtil, evName, getAppMeta, getAppPlatform, getAppPlatformByAppName, getAppStyleStr, getCommonData, getCustomData, getGlobalThis, getHelDebug, getHelEventBus, getPlatform, getPlatformConfig, getSharedCache, getUserEventBus, getVerApp, getVerExtraCssList, getVerLib, getVerLoadStatus, getVerStyleStrStatus, getVersion, helConsts, helEvents, helLoadStatus, inectPlatToMod, initGlobalConfig, initPlatformConfig, isSubApp, libReady, log, originInit, perfMark, perfPeek, resetGlobalThis, setAppMeta, setAppPlatform, setAppPlatformByAppName, setAppStyleStr, setCommonData, setCustomData, setEmitApp, setEmitLib, setGlobalThis, setVerExtraCssList, setVerLoadStatus, setVerStyleStrStatus, setVersion, tryGetAppName, tryGetVersion };\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports,require(\"hel-micro-core\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"hel-micro-core\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).HelLibProxy={},e.HelMicroCore)}(this,function(e,t){\"use strict\";\n/*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */var r=function(){return r=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},r.apply(this,arguments)};function o(e,r){var o=r||(null===t.getAppPlatform||void 0===t.getAppPlatform?void 0:t.getAppPlatform(e)),n=t.getSharedCache(o).appName2Lib;return n[e]||(n[e]={}),n[e]}var n=\"4.12.1\";t.log(\"hel-lib-proxy ver \".concat(n));var i=t.getUserEventBus,a=t.helConsts,p=i();function l(e,o){var n=r({},o||{});return n.platform=n.platform||a.DEFAULT_PLAT,t.getVerLib(e,n)}function u(e,r){var n,i=!0,p=\"\";r&&(\"string\"==typeof r?p=r:(p=r.platform||\"\",i=null===(n=r.asProxy)||void 0===n||n));var l=o(e,p=p||t.getAppPlatform(e)||a.DEFAULT_PLAT);return\"function\"==typeof Proxy&&i&&(l=function(e,r,n){return new Proxy(r,{get:function(r,i){var a=String(i);return t.log(\"[[getLibProxy]] call lib [\".concat(e,\"] method [\").concat(a,\"]\")),Object.keys(r).length?r[a]:o(e,n)[a]}})}(e,l,p)),t.log(\"[[ exposeLib ]] libName, libObj\",e,l),l}function s(e,o,n){var i=function(e){var o={allowDup:!1,platform:t.helConsts.DEFAULT_PLAT};return r(r({},o),e||{})}(n);t.libReady(e,o,i)}function f(e,r,o){t.appReady(e,r,o)}function c(e,r){return t.getVerApp(e,r)}var b=t.isSubApp;function v(){return!t.isSubApp()}var y=Object.freeze({__proto__:null,VER:n,eventBus:p,getLib:l,exposeLib:u,libReady:s,appReady:f,exposeApp:c,isSubApp:b,isMasterApp:v}),d=t.commonUtil.purify,g=[\"isMasterApp\",\"isSubApp\",\"eventBus\"],A=[\"appReady\",\"libReady\"];function m(e,t){return t&&\"object\"==typeof t&&!Array.isArray(t)?r({platform:e},d(t)):{platform:e}}function x(e,t){var r={};return Object.keys(e).forEach(function(o){var n=e[o];if(g.includes(o))r[o]=n;else if(A.includes(o))r[o]=function(e,t){return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var n=r[0],i=r[1],a=r[2];return e(n,i,m(t,void 0===a?{}:a))}}(n,t);else{var i=\"exposeLib\"===o;r[o]=function(e,t,r){return function(){for(var o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];var i=o[0],a=o[1];return e(i,!r||\"string\"!=typeof a&&void 0!==a?m(t,a):a||t)}}(n,t,i)}}),r}var L=function e(t){var r=x(y,t);return r.createInstance=e,r},h=n,P=s,R=u,j=l,S=b,T=v,_=p,E=f,O=c,M={VER:h,libReady:P,exposeLib:R,getLib:j,isSubApp:S,isMasterApp:T,eventBus:_,appReady:E,exposeApp:O,createInstance:L};!function(e){var r=t.getGlobalThis();t.commonUtil.isServer()||r.HelLibProxy||(t.log(\"auto bind hel-lib-proxy to global.HelLibProxy\"),r.HelLibProxy=e)}(M),e.VER=h,e.appReady=E,e.createInstance=L,e.default=M,e.eventBus=_,e.exposeApp=O,e.exposeLib=R,e.getLib=j,e.isMasterApp=T,e.isSubApp=S,e.libReady=P,Object.defineProperty(e,\"__esModule\",{value:!0})});\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\n// parse html,inspred by https://zhuanlan.zhihu.com/p/338772106,\n// fixed self close tag parse bug.\n// fixed including comment parse bug.\n\nvar SPACE_REGEX = /\\s/;\nvar TOKEN_REGEX = /[a-zA-Z0-9\\-]/;\nvar DOCTYPE_MARK = '<!DOCTYPE html>';\nvar COMMENT_START = '<!--';\nvar COMMENT_END = '-->';\nvar META_END = '</meta>';\nvar LINK_END = '</link>';\nvar MAY_SELF_CLOSE_TAGS = ['meta', 'link'];\nvar TAG_END_MAP = {\n meta: META_END,\n link: LINK_END\n};\nvar HTMLParser = /*#__PURE__*/function () {\n function HTMLParser() {\n _classCallCheck(this, HTMLParser);\n this.input = '';\n this.len = 0;\n this.cur = 0;\n }\n _createClass(HTMLParser, [{\n key: \"eof\",\n get: function get() {\n return this.cur >= this.len;\n }\n }, {\n key: \"peek\",\n value: function peek() {\n var offset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n return this.input[this.cur + offset];\n }\n }, {\n key: \"sub\",\n value: function sub(len, start) {\n var startIdx = start || this.cur;\n return this.input.substring(startIdx, startIdx + len);\n }\n }, {\n key: \"moveCur\",\n value: function moveCur(num) {\n this.cur += num;\n }\n }, {\n key: \"consumeChar\",\n value: function consumeChar(c) {\n var curChar = this.peek();\n if (curChar === c) {\n this.cur++;\n } else {\n throw new Error(\"Unexpected character: '\".concat(curChar, \"' should be '\").concat(c, \"'\"));\n }\n return curChar;\n }\n }, {\n key: \"consumeSpace\",\n value: function consumeSpace() {\n this.consumeWhile(SPACE_REGEX);\n }\n }, {\n key: \"consumeWhile\",\n value: function consumeWhile(regex) {\n var result = [];\n do {\n var curChar = this.peek();\n if (regex.test(curChar)) {\n result.push(curChar);\n this.cur++;\n } else {\n break;\n }\n } while (!this.eof);\n return result.join('');\n }\n }, {\n key: \"noop\",\n value: function noop() {}\n }, {\n key: \"pureInput\",\n value: function pureInput( /** @type string */input) {\n var puredStr = input.trim();\n if (puredStr.startsWith(DOCTYPE_MARK)) {\n puredStr = puredStr.substring(DOCTYPE_MARK.length);\n }\n\n // 移除 <!-- --> 相关的注释\n var delComment = function delComment(str) {\n var commentStartIdx = str.indexOf(COMMENT_START);\n var commentEndIdx = str.indexOf(COMMENT_END);\n if (commentStartIdx >= 0 && commentEndIdx >= 0) {\n var strBeforeComment = str.substring(0, commentStartIdx);\n var strAfterComment = str.substring(commentEndIdx + COMMENT_END.length);\n return delComment(\"\".concat(strBeforeComment).concat(strAfterComment));\n }\n return str;\n };\n puredStr = delComment(puredStr);\n return puredStr;\n }\n }, {\n key: \"parse\",\n value: function parse(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var inputStr = input || '';\n this.input = this.pureInput(inputStr);\n this.len = inputStr.length;\n this.onTagOpen = options.onTagOpen || this.noop();\n this.onTagClose = options.onTagClose || this.noop();\n this.cur = 0;\n return this.parseNodes();\n }\n }, {\n key: \"parseNodes\",\n value: function parseNodes() {\n var nodes = [];\n do {\n var node = void 0;\n if (this.peek() === '<') {\n if (this.peek(1) === '/') break;\n node = this.parseElement();\n } else {\n node = this.parseTextNode();\n }\n if (node === ' ') {\n // filter ' ' node\n continue;\n }\n nodes.push(node);\n } while (!this.eof);\n return nodes;\n }\n }, {\n key: \"parseTextNode\",\n value: function parseTextNode() {\n var text = this.consumeWhile(/[^<]/);\n return text.replace(/[\\s\\n]+/g, ' ');\n }\n }, {\n key: \"parseElement\",\n value: function parseElement() {\n var _this = this;\n this.consumeChar('<');\n var tag = this.parseTag();\n this.onTagOpen(tag);\n this.consumeSpace();\n var attrs = this.parseAttrs();\n var curChar = this.peek();\n var curPrev1Char = this.peek(-1);\n var handleTagEnd = function handleTagEnd(children) {\n var move = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // const closeTag = this.parseTag();\n _this.parseTag();\n _this.consumeSpace();\n _this.consumeChar('>');\n if (move) {\n _this.moveCur(move);\n }\n var toReturn = {\n tag: tag,\n attrs: attrs,\n children: children\n };\n _this.onTagClose(tag, toReturn);\n return toReturn;\n };\n if (\"\".concat(curPrev1Char).concat(curChar) === '/>') {\n // is self close tag\n return handleTagEnd([]);\n }\n if (MAY_SELF_CLOSE_TAGS.includes(tag) && curChar === '>') {\n // handle <meta> or <meta></meta>, <link> or <link></link>\n var endTag = TAG_END_MAP[tag];\n var endTagLen = endTag.length;\n var endFeature = this.sub(endTagLen, this.cur + 1);\n var move = endFeature === endTag ? endTagLen : 0;\n return handleTagEnd([], move);\n }\n this.consumeChar('>');\n var children = this.parseNodes();\n this.consumeChar('<');\n this.consumeChar('/');\n return handleTagEnd(children);\n }\n }, {\n key: \"parseTag\",\n value: function parseTag() {\n var tag = this.consumeWhile(TOKEN_REGEX);\n return tag;\n }\n }, {\n key: \"parseAttrs\",\n value: function parseAttrs() {\n var attrs = {};\n while (this.peek() !== '>') {\n var name = this.parseTag();\n if (!name) {\n this.consumeChar(this.peek());\n continue;\n }\n if (this.peek() === '=') {\n this.consumeChar('=');\n this.consumeChar('\"');\n var value = this.consumeWhile(/[^\"]/);\n this.consumeChar('\"');\n attrs[name] = value;\n } else {\n attrs[name] = '';\n }\n this.consumeSpace();\n }\n return attrs;\n }\n }]);\n return HTMLParser;\n}();\nfunction parseHtml(html, options) {\n var parser = new HTMLParser();\n var result = parser.parse(html, options);\n return result;\n}\n\nvar index = {\n parseHtml: parseHtml,\n HTMLParser: HTMLParser\n};\n\nexport { HTMLParser, index as default, parseHtml };\n","import helLibProxy from 'hel-lib-proxy';\nimport * as core$1 from 'hel-micro-core';\nimport { appReady, getGlobalThis, commonUtil as commonUtil$1, getPlatform as getPlatform$1, log as log$1, getPlatformConfig, allowLog, helConsts as helConsts$1, getAppMeta, getVersion, setAppPlatform, setAppPlatformByAppName, setAppMeta, setVersion, setVerExtraCssList, getCommonData, setCommonData, getHelEventBus, helEvents, helLoadStatus, getAppStyleStr as getAppStyleStr$1, commonDataUtil, getVerStyleStrStatus, getVerExtraCssList, setAppStyleStr, setVerStyleStrStatus, getVerLib, getVerApp, libReady, initPlatformConfig, isSubApp as isSubApp$2, getAppPlatform, perfPeek, perfMark, setVerLoadStatus, getVerLoadStatus, getUserEventBus, resetGlobalThis as resetGlobalThis$1, originInit } from 'hel-micro-core';\nimport { parseHtml } from 'hel-html-parser';\n\nvar VER = '4.15.3';\n\n/**\n * 暴露给 hel-micro 的 ui 对接层使用,例如 hel-micro-react 的 renderApp 接口,应用提供者会调用对接层开发者提供的\n * renderApp接口渲染整个应用,当应用非本地运行时,renderApp不触发渲染逻辑而是调用 emitApp 弹射整个根应用出去\n * 这样使用方可通过 react ui 对接层 的 <MicroApp name=\"xxApp\" /> 来实例化整个远程应用\n *\n * @see https://github.com/tnfe/hel/blob/main/packages/hel-micro-react/src/process/renderApp.tsx\n */\nfunction emitApp(options) {\n var appGroupName = options.appGroupName, Comp = options.Comp, platform = options.platform, lifecycle = options.lifecycle, appName = options.appName, versionId = options.versionId;\n appReady(appGroupName, Comp, { lifecycle: lifecycle, platform: platform, appName: appName, versionId: versionId });\n}\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\n\nvar toExport = {\n LS_CACHE_APP_PREFIX: 'HelAppCache',\n // indexedDB 数据库名称\n DATABASE_NAME: 'HelIndexedDB',\n // ObjectStore 名称\n STORE_NAME: 'HelMetaData',\n};\n\n// 保存db实例\nvar dbContexts = {};\n/**\n * 创建 dbcontext\n * @returns\n */\nfunction createContext() {\n return {\n db: null,\n name: '',\n storeName: '',\n version: 1,\n };\n}\n/**\n * 获取indexedDB,若浏览器不支持则打印警告并返回 null\n * @returns\n */\nfunction getIndexedDBFactory() {\n var gs = getGlobalThis();\n if (!('indexedDB' in gs)) {\n console.warn('The current browser is not support indexedDB!');\n return null;\n }\n return gs.indexedDB;\n}\nvar IndexedDBStorage = /** @class */ (function () {\n function IndexedDBStorage(options) {\n this.dbInfo = createContext();\n this.ready = null;\n this.initStorage(options);\n }\n IndexedDBStorage.prototype.initStorage = function (options) {\n var indexedDB = getIndexedDBFactory();\n if (!indexedDB)\n return;\n var initResolve = null;\n var initReject = null;\n this.ready = new Promise(function (resolve, reject) {\n initResolve = resolve;\n initReject = reject;\n });\n var dbInfo = this.dbInfo;\n if (options) {\n var name = options.name, storeName = options.storeName, version = options.version;\n Object.assign(dbInfo, commonUtil$1.purify({ name: name, storeName: storeName, version: version }));\n }\n var dbContext = dbContexts[dbInfo.name];\n if (!dbContext) {\n dbContext = createContext();\n dbContexts[dbInfo.name] = dbContext;\n }\n dbInfo.db = dbContext.db;\n // 是否升级\n var isUpgrade = this.isUpgradeNeeded(dbInfo);\n if (dbInfo.db) {\n if (isUpgrade) {\n // 升级前关闭原来打开的\n dbInfo.db.close();\n }\n else {\n initResolve(dbInfo);\n return;\n }\n }\n var dbArgs = [dbInfo.name, undefined];\n if (isUpgrade) {\n dbArgs[1] = dbInfo.version;\n }\n // 打开数据库\n var openreq = indexedDB.open.apply(indexedDB, dbArgs);\n if (isUpgrade) {\n // 如果升级则监听 onupgradeneeded 事件\n openreq.onupgradeneeded = function (e) {\n dbContext.db = openreq.result;\n dbInfo.db = openreq.result;\n try {\n // 创建 ojectStore(只能在 onupgradeneeded 事件中创建)\n dbInfo.db.createObjectStore(dbInfo.storeName);\n }\n catch (err) {\n // storeName 可能重复\n if (err.name === 'ConstraintError') {\n var tip = commonUtil$1.nbstr(\"\\n The database \\\"\".concat(dbInfo.name, \"\\\"\\n has been upgraded from version \").concat(e.oldVersion, \" to version \").concat(e.newVersion, \",\\n but the storage \\\"\").concat(dbInfo.storeName, \"\\\" already exists.\"));\n console.warn(tip);\n }\n else {\n throw err;\n }\n }\n };\n }\n openreq.onerror = function () {\n initReject(openreq.error);\n };\n openreq.onsuccess = function () {\n dbInfo.db = openreq.result;\n dbContext.db = openreq.result;\n dbInfo.db.onversionchange = function (e) {\n e.target.close();\n };\n initResolve(dbInfo);\n };\n };\n /**\n * 判断是否升级\n * @param dbInfo\n * @returns\n */\n IndexedDBStorage.prototype.isUpgradeNeeded = function (dbInfo) {\n if (!dbInfo.db)\n return true;\n // 是否有新的 objectStore\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\n // 是否降低版本\n var isDowngrade = dbInfo.version < dbInfo.db.version;\n // 是否升级版本\n var isUpgrade = dbInfo.version > dbInfo.db.version;\n if (isDowngrade) {\n // 对于降低版本给予提示,并继续采用之前的版本\n console.warn(\"The database \\\"\".concat(dbInfo.name, \"\\\" can't be downgraded from version \").concat(dbInfo.db.version, \" to version \").concat(dbInfo.version));\n dbInfo.version = dbInfo.db.version;\n }\n if (isUpgrade || isNewStore) {\n // 有新的 objectStore 则升级版本\n if (isNewStore) {\n var incVersion = dbInfo.db.version + 1;\n if (incVersion > dbInfo.version) {\n dbInfo.version = incVersion;\n }\n }\n return true;\n }\n return false;\n };\n IndexedDBStorage.prototype.getObjectStore = function (dbInfo, mode) {\n var name = dbInfo.name, db = dbInfo.db, storeName = dbInfo.storeName;\n if (!db) {\n throw new Error(\"get \".concat(storeName, \" objectStore failed in \").concat(name, \" database\"));\n }\n var objectStore = db.transaction(storeName, mode || 'readonly').objectStore(storeName);\n return objectStore;\n };\n IndexedDBStorage.prototype.attachHandler = function (req, resolve, reject) {\n req.onsuccess = function () {\n resolve(req.result || null);\n };\n req.onerror = function () {\n reject(req.error);\n };\n };\n IndexedDBStorage.prototype.getItem = function (key) {\n return __awaiter(this, void 0, void 0, function () {\n var dbInfo, objectStore, req;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getDbInfo()];\n case 1:\n dbInfo = _a.sent();\n objectStore = this.getObjectStore(dbInfo);\n req = objectStore.get(key);\n return [2 /*return*/, new Promise(function (resolve, reject) {\n _this.attachHandler(req, resolve, reject);\n })];\n }\n });\n });\n };\n IndexedDBStorage.prototype.setItem = function (key, value) {\n return __awaiter(this, void 0, void 0, function () {\n var dbInfo, objectStore, req;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getDbInfo()];\n case 1:\n dbInfo = _a.sent();\n objectStore = this.getObjectStore(dbInfo, 'readwrite');\n req = objectStore.put(value, key);\n return [2 /*return*/, new Promise(function (resolve, reject) {\n _this.attachHandler(req, resolve, reject);\n })];\n }\n });\n });\n };\n IndexedDBStorage.prototype.removeItem = function (key) {\n return __awaiter(this, void 0, void 0, function () {\n var dbInfo, objectStore, req;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getDbInfo()];\n case 1:\n dbInfo = _a.sent();\n objectStore = this.getObjectStore(dbInfo, 'readwrite');\n req = objectStore.delete(key);\n return [2 /*return*/, new Promise(function (resolve, reject) {\n _this.attachHandler(req, resolve, reject);\n })];\n }\n });\n });\n };\n IndexedDBStorage.prototype.getDbInfo = function () {\n if (!this.ready) {\n return Promise.reject('forget init');\n }\n return this.ready;\n };\n return IndexedDBStorage;\n}());\n\nfunction isRelativePath(path) {\n if (path.startsWith('//'))\n return false;\n return path.startsWith('/') || path.startsWith('./') || path.startsWith('../');\n}\nfunction getAssetUrlType(webDirPath, url) {\n if (url.startsWith(webDirPath)) {\n return 'build'; // 是构建生成的 css 文件\n }\n if (isRelativePath(url)) {\n return 'relative';\n }\n return 'static';\n}\nfunction getIndexedDB() {\n if (!getIndexedDBFactory())\n return null;\n try {\n var indexedDBIns_1 = new IndexedDBStorage({\n name: toExport.DATABASE_NAME,\n storeName: toExport.STORE_NAME,\n });\n return {\n setItem: function (key, value) { return indexedDBIns_1.setItem(key, value); },\n getItem: function (key) { return indexedDBIns_1.getItem(key); },\n removeItem: function (key) { return indexedDBIns_1.removeItem(key); },\n };\n }\n catch (err) {\n console.error(\"new IndexedDBStorage error: \".concat(err.message));\n return null;\n }\n}\n// avoid mock js-dom warn:\n// [DOMException [SecurityError]: localStorage is not available for opaque origins]\nfunction getLocalStorage() {\n var _a;\n // prettier-ignore\n var mockStorage = { getItem: function () { }, setItem: function () { }, removeItem: function () { } };\n try {\n var storage = (_a = getGlobalThis()) === null || _a === void 0 ? void 0 : _a.localStorage;\n return storage || mockStorage;\n }\n catch (err) {\n return mockStorage;\n }\n}\n/**\n * 支持读取 dom attrs 时只有 key 的正确含义\n * 例如通过设定 defaultValIfOnlyKey 表示 <script data-helappend /> 可拿到值为 '1' 而非 ''\n */\nfunction getDatasetVal(dataset, key, defaultValIfOnlyKey) {\n var hasKey = Object.prototype.hasOwnProperty.call(dataset, key);\n if (hasKey) {\n return dataset[key] || defaultValIfOnlyKey;\n }\n return undefined;\n}\n\nfunction getPlatform(platform) {\n return platform || getPlatform$1();\n}\n\nfunction saveToLocalStorage(cacheKey, toSave) {\n try {\n getLocalStorage().setItem(cacheKey, JSON.stringify(toSave));\n }\n catch (err) {\n log$1(\"save localStorage failed: \".concat(err.message));\n }\n}\nfunction mayHandleLegacyMeta(cachedMeta) {\n if (!cachedMeta) {\n return cachedMeta;\n }\n var appInfo = cachedMeta.appInfo, appVersion = cachedMeta.appVersion;\n if (appInfo && appVersion) {\n // 获取到了旧格式数据,转为新格式给上层使用\n return { app: appInfo, version: appVersion };\n }\n return cachedMeta;\n}\n/**\n * 获取缓存应用元数据的key\n */\nfunction getAppCacheKey(appName, platform) {\n var innerKey = \"\".concat(toExport.LS_CACHE_APP_PREFIX, \".\").concat(getPlatform(platform), \".\").concat(appName);\n return innerKey;\n}\n/**\n * 获取缓存的应用元数据\n */\nfunction getCachedAppMeta(appName, options) {\n return __awaiter(this, void 0, Promise, function () {\n var _a, platform, cacheKey, _b, storageType, appCacheKey, indexedDBStorage, cachedMeta_1, appCacheStr, cachedMeta, err_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = options || {}, platform = _a.platform, cacheKey = _a.cacheKey, _b = _a.storageType, storageType = _b === void 0 ? 'indexedDB' : _b;\n appCacheKey = cacheKey || getAppCacheKey(appName, platform);\n _c.label = 1;\n case 1:\n _c.trys.push([1, 4, , 5]);\n if (!(storageType === 'indexedDB')) return [3 /*break*/, 3];\n indexedDBStorage = getIndexedDB();\n if (!indexedDBStorage) return [3 /*break*/, 3];\n return [4 /*yield*/, indexedDBStorage.getItem(appCacheKey)];\n case 2:\n cachedMeta_1 = _c.sent();\n return [2 /*return*/, mayHandleLegacyMeta(cachedMeta_1)];\n case 3:\n appCacheStr = getLocalStorage().getItem(appCacheKey);\n cachedMeta = commonUtil$1.safeParse(appCacheStr || '', null);\n return [2 /*return*/, mayHandleLegacyMeta(cachedMeta)];\n case 4:\n err_1 = _c.sent();\n console.error(err_1);\n return [2 /*return*/, null];\n case 5: return [2 /*return*/];\n }\n });\n });\n}\nfunction innerGetAppCacheKey(appName, getCacheKey, platform) {\n var innerKey = getAppCacheKey(appName, platform);\n var key = (getCacheKey === null || getCacheKey === void 0 ? void 0 : getCacheKey({ appName: appName, innerKey: innerKey })) || innerKey;\n return key;\n}\nfunction innerGetDiskCachedApp(appName, options) {\n return __awaiter(this, void 0, Promise, function () {\n var getCacheKey, storageType, platform, cacheKey, meta;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n getCacheKey = options.getCacheKey, storageType = options.storageType, platform = options.platform;\n cacheKey = innerGetAppCacheKey(appName, getCacheKey, platform);\n return [4 /*yield*/, getCachedAppMeta(appName, { platform: platform, cacheKey: cacheKey, storageType: storageType })];\n case 1:\n meta = _a.sent();\n if (meta) {\n return [2 /*return*/, { appInfo: meta.app, appVersion: meta.version }];\n }\n return [2 /*return*/, null];\n }\n });\n });\n}\nfunction innerSaveMetaToDisk(cacheKey, toSave, storageType) {\n var isSaveToIndexedDB = storageType === 'indexedDB';\n if (!isSaveToIndexedDB) {\n return saveToLocalStorage(cacheKey, toSave);\n }\n var indexedDBStorage = getIndexedDB();\n if (!indexedDBStorage) {\n return saveToLocalStorage(cacheKey, toSave);\n }\n indexedDBStorage.setItem(cacheKey, toSave).catch(function (err) {\n log$1(\"save indexeddb failed, use localStorage instead, err: \".concat(err.message));\n saveToLocalStorage(cacheKey, toSave);\n });\n}\n\n/** api 服务模块的相关常量 */\nvar apiSrvConst = {\n GET_APP_AND_VER: 'getSubAppAndItsVersion',\n GET_APP_AND_FULL_VER: 'getSubAppAndItsFullVersion',\n BATCH_GET_APP_AND_VER: 'batchGetSubAppAndItsVersion',\n BATCH_GET_APP_AND_FULL_VER: 'batchGetSubAppAndItsFullVersion',\n GET_APP_VER: 'getSubAppVersion',\n GET_APP_FULL_VER: 'getSubAppFullVersion',\n};\nvar API_NORMAL_GET = 'get';\nvar JSONP_MARK = 'Jsonp';\n\nfunction getUserName(options) {\n var userLsKey = options.userLsKey;\n var userName = getLocalStorage().getItem(userLsKey) || '';\n if (userName) {\n return userName;\n }\n try {\n var map_1 = {};\n getGlobalThis()\n .document.cookie.split(';')\n .forEach(function (kvStr) {\n var _a = kvStr.split('='), k = _a[0], v = _a[1];\n map_1[k] = v;\n });\n userName = map_1[userLsKey] || '';\n log$1('[[ getUserName ]] result:', userName);\n }\n catch (err) {\n log$1('[[ getUserName ]] err:', err);\n }\n return userName;\n}\n\nvar builtinFns = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getUserName: getUserName\n});\n\nvar isNull = commonUtil$1.isNull;\nfunction getFn(platform, fnName, userFn) {\n var conf = getPlatformConfig(platform);\n var origin = conf.origin;\n var confFn = conf[fnName];\n // @ts-ignore\n var originFn = origin[fnName];\n return userFn || confFn || originFn;\n}\nfunction callFn(platform, fnName, params, userFn) {\n var fn = getFn(platform, fnName, userFn);\n if (fn) {\n return fn(params);\n }\n // @ts-ignore\n var builtinFn = builtinFns[fnName] || (function () { return null; });\n return builtinFn(params);\n}\nfunction getVal(platform, key, valPair, nullDef) {\n var _a = valPair || [], userVal = _a[0], defaultVal = _a[1];\n if (!isNull(userVal, nullDef)) {\n return userVal;\n }\n var conf = getPlatformConfig(platform);\n // 优先返回 platInitOptions\n var confVal = conf[key];\n if (!isNull(confVal, nullDef)) {\n return confVal;\n }\n // 最后返回 originInitOptions\n var origin = conf.origin;\n // @ts-ignore\n var originVal = origin[key];\n if (!isNull(originVal, nullDef)) {\n return originVal;\n }\n return defaultVal;\n}\nfunction getHookFn(loadOptions, hookKey) {\n var _a;\n var conf = getPlatformConfig(loadOptions.platform);\n var userHook = loadOptions.hook || {};\n var origin = conf.origin, hook = conf.hook;\n return userHook[hookKey] || hook[hookKey] || ((_a = origin.hook) === null || _a === void 0 ? void 0 : _a[hookKey]);\n}\n/**\n * 按下面 'getApiPrefix' 链接里描述的生成规则生成api域名前缀\n * @type {import('hel-micro-core').IControlPreFetchOptions['getApiPrefix']}\n * @param platform\n * @param loadOptions\n * @returns\n */\nfunction genApiPrefix(platform, loadOptions) {\n var _a, _b, _c;\n var prefix = '';\n if (loadOptions) {\n prefix = ((_a = loadOptions.getApiPrefix) === null || _a === void 0 ? void 0 : _a.call(loadOptions)) || loadOptions.apiPrefix;\n }\n if (prefix) {\n return prefix;\n }\n var conf = getPlatformConfig(platform);\n prefix = ((_b = conf.getApiPrefix) === null || _b === void 0 ? void 0 : _b.call(conf)) || conf.apiPrefix;\n if (prefix) {\n return prefix;\n }\n var origin = conf.origin;\n prefix = ((_c = origin.getApiPrefix) === null || _c === void 0 ? void 0 : _c.call(origin)) || origin.apiPrefix;\n return prefix;\n}\n\n// @see https://www.runoob.com/jsref/prop-node-nodetype.html\nvar DOCUMENT_FRAGMENT_NODE = 11;\nvar JSONP = {\n now: function () {\n return new Date().getTime();\n },\n rand: function () {\n return Math.random().toString().substring(6);\n },\n // 删除节点元素\n removeElem: function (elem) {\n var parent = elem.parentNode;\n if (parent && parent.nodeType !== DOCUMENT_FRAGMENT_NODE) {\n parent.removeChild(elem);\n }\n },\n // url 组装 data\n parseData: function (data) {\n var ret = '';\n if (typeof data === 'string') {\n ret = data;\n }\n else if (typeof data === 'object') {\n for (var key in data) {\n ret += \"\".concat(ret, \"&\").concat(key, \"=\").concat(encodeURIComponent(data[key]));\n }\n }\n // 加时间戳防止缓存\n ret += \"&_t=\".concat(JSONP.now());\n ret = ret.substring(1);\n return ret;\n },\n getJSON: function (inputUrl, data) {\n return new Promise(function (resolve, reject) {\n var callbackName = '';\n var url = inputUrl;\n url = url + (url.indexOf('?') === -1 ? '?' : '&') + JSONP.parseData(data);\n // 检测 callback 的函数名是否已经定义\n var match = /callback=(\\w+)/.exec(url);\n if (match === null || match === void 0 ? void 0 : match[1]) {\n callbackName = match[1];\n }\n else {\n callbackName = \"helJsonp_\".concat(JSONP.now(), \"_\").concat(JSONP.rand());\n }\n if (url.includes('?')) {\n url = \"\".concat(url, \"&callback=\").concat(callbackName);\n }\n else {\n url = \"\".concat(url, \"?callback=\").concat(callbackName);\n }\n var globalThis = getGlobalThis();\n var doc = globalThis.document;\n var script = doc.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.id = callbackName;\n script.onerror = reject;\n script.addEventListener('error', reject); // 早期版本的浏览器不支持 script.onerror\n // 把传进来的函数重新组装,并把它设置为全局函数,远程会触发该函数\n // @ts-ignore\n globalThis[callbackName] = function (jsonData) {\n // @ts-ignore\n delete globalThis[callbackName]; // 执行完函数就销毁\n var elem = doc.getElementById(callbackName);\n elem && JSONP.removeElem(elem);\n return resolve(jsonData);\n };\n var head = doc.getElementsByTagName('head');\n if (head === null || head === void 0 ? void 0 : head[0]) {\n head[0].appendChild(script);\n }\n });\n },\n};\nvar getJSON = JSONP.getJSON;\n\nfunction getXHRFactory() {\n if (!('XMLHttpRequest' in getGlobalThis())) {\n return null;\n }\n return new XMLHttpRequest();\n}\nfunction xhrFetch(url, config) {\n return __awaiter(this, void 0, Promise, function () {\n var _a, method, xhrConfig, xhr, result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = config || {}, method = _a.method, xhrConfig = __rest(_a, [\"method\"]);\n xhr = new XHR(xhrConfig);\n return [4 /*yield*/, xhr.request(url, method)];\n case 1:\n result = _b.sent();\n return [2 /*return*/, result];\n }\n });\n });\n}\nvar XHR = /** @class */ (function () {\n function XHR(config) {\n this.req = null;\n this.resultPromise = Promise.resolve(null);\n this.init(config || {});\n }\n XHR.prototype.init = function (config) {\n var req = getXHRFactory();\n if (!req) {\n throw new Error('current browser is not support XMLHttpRequest!');\n }\n this.req = req;\n // 同步配置\n var responseType = config.responseType, _a = config.timeout, timeout = _a === void 0 ? 10000 : _a, withCredentials = config.withCredentials, headers = config.headers;\n req.responseType = responseType || 'json';\n req.timeout = timeout;\n req.withCredentials = !!withCredentials;\n if (headers) {\n Object.keys(headers).forEach(function (key) {\n req.setRequestHeader(key, headers[key]);\n });\n }\n var initResolve = null;\n var initReject = null;\n this.resultPromise = new Promise(function (resolve, reject) {\n initResolve = resolve;\n initReject = reject;\n });\n var wrapSuccessResult = function () {\n var response = req.response, status = req.status, statusText = req.statusText, responseURL = req.responseURL;\n initResolve({ data: response, status: status, statusText: statusText, url: responseURL });\n };\n var wrapErrResult = function (e) {\n var status = req.status, statusText = req.statusText, responseURL = req.responseURL;\n initReject({ msg: e, status: status, statusText: statusText, url: responseURL });\n };\n // 监听事件\n req.onload = function () { return wrapSuccessResult(); };\n req.onerror = function (e) { return wrapErrResult(e); };\n req.onabort = function (e) { return wrapErrResult(e); };\n req.ontimeout = function (e) { return wrapErrResult(e); };\n req.onprogress = function () { };\n };\n XHR.prototype.request = function (url, method) {\n return __awaiter(this, void 0, Promise, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.req) {\n throw new Error('forget init');\n }\n // 发送请求\n this.req.open(method ? method.toUpperCase() : 'GET', url);\n this.req.send();\n return [4 /*yield*/, this.resultPromise];\n case 1:\n result = _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n return XHR;\n}());\n\nvar seq = 0;\nvar detectMark = 'try_detect_latest_ver';\nfunction hasProp(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nfunction perfStart(label, addSeq) {\n var seqStr = '';\n if (allowLog()) {\n if (addSeq) {\n seq += 1;\n seqStr = \"_\".concat(seq);\n }\n console.time(\"\".concat(label).concat(seqStr));\n }\n return seqStr;\n}\nfunction perfEnd(label, seq) {\n if (allowLog()) {\n console.timeEnd(\"\".concat(label).concat(seq || ''));\n }\n}\n/**\n * 默认请求 unpkg,会先经过 302 重定向到一个 404 请求地址后,即可拿到最新的版本号\n */\nfunction getSemverLatestVer(appName, apiPrefix) {\n return __awaiter(this, void 0, void 0, function () {\n var url, strArr, includeVerStr, ver, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, requestGet(\"\".concat(apiPrefix, \"/\").concat(appName, \"@latest/\").concat(detectMark, \"_\").concat(Date.now()))];\n case 1:\n url = (_a.sent()).url;\n strArr = url.split('@');\n includeVerStr = strArr[strArr.length - 1];\n ver = includeVerStr.split('/')[0];\n return [2 /*return*/, ver];\n case 2:\n err_1 = _a.sent();\n log$1('[[ getSemverLatestVer ]] returns ver(latest) due to error:', err_1.message);\n return [2 /*return*/, 'latest'];\n case 3: return [2 /*return*/];\n }\n });\n });\n}\nfunction requestByFetch(url, asJson) {\n return __awaiter(this, void 0, void 0, function () {\n var res, status, resUrl, json, text;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, getGlobalThis().fetch(url)];\n case 1:\n res = _a.sent();\n status = res.status, resUrl = res.url;\n if (![200, 304].includes(status)) {\n return [2 /*return*/, { url: resUrl, reply: null, status: status }];\n }\n if (!asJson) return [3 /*break*/, 3];\n return [4 /*yield*/, res.json()];\n case 2:\n json = _a.sent();\n return [2 /*return*/, { url: resUrl, reply: json, status: status }];\n case 3: return [4 /*yield*/, res.text()];\n case 4:\n text = _a.sent();\n return [2 /*return*/, { url: resUrl, reply: text, status: status }];\n }\n });\n });\n}\nfunction requestByXHR(url, asJson) {\n return __awaiter(this, void 0, void 0, function () {\n var res, status, data, _a, resUrl;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, xhrFetch(url, { method: 'GET', responseType: asJson ? 'json' : 'text' })];\n case 1:\n res = _b.sent();\n status = res.status, data = res.data, _a = res.url, resUrl = _a === void 0 ? '' : _a;\n if (status === 400) {\n return [2 /*return*/, { url: resUrl, reply: null, status: status }];\n }\n return [2 /*return*/, { url: resUrl, reply: data, status: status }];\n }\n });\n });\n}\nfunction requestGet(url, asJson) {\n if (asJson === void 0) { asJson = true; }\n return __awaiter(this, void 0, void 0, function () {\n var requester, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n requester = requestByXHR;\n // 如果支持fetch则使用\n if (!!getGlobalThis().fetch) {\n requester = requestByFetch;\n }\n return [4 /*yield*/, requester(url, asJson)];\n case 1:\n result = _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n}\nfunction getAllExtraCssList(loadOptions) {\n var _a = loadOptions.extraCssList, extraCssList = _a === void 0 ? [] : _a, custom = loadOptions.custom;\n if (custom) {\n var _b = custom.extraCssList, custCssList = _b === void 0 ? [] : _b, _c = custom.enable, enable = _c === void 0 ? true : _c;\n if (enable) {\n var mergedList = commonUtil$1.merge2List(extraCssList, custCssList);\n return mergedList;\n }\n }\n return extraCssList.slice();\n}\n\nvar safeParse = commonUtil$1.safeParse;\n/** 内部用的工具函数 */\nvar inner = {\n /** 处理语义化版本平台返回的结果 */\n handleSemverRet: function (inputResp, options) {\n var resp = inputResp || {};\n var version;\n var dataVar = resp.data || resp;\n if (options.onlyVersion) {\n version = resp.version || resp.data;\n dataVar = version;\n }\n version = version || dataVar.version;\n if (!options.isFullVersion && version) {\n Reflect.deleteProperty(version, 'html_content');\n }\n if (!version) {\n return { data: null, code: '404', msg: 'no version found' };\n }\n return { data: dataVar, code: '0', msg: '' };\n },\n appendSearchKV: function (oriStr, key, value) {\n var newStr = oriStr;\n if (value) {\n newStr += \"&\".concat(key, \"=\").concat(value);\n }\n return newStr;\n },\n appendSuffix: function (oriStr, suffix) {\n var newStr = oriStr;\n if (suffix) {\n newStr += suffix;\n }\n return newStr;\n },\n getSemverApiVal: function (loadOptions) {\n var semverApi = loadOptions.semverApi;\n if (semverApi === undefined) {\n semverApi = loadOptions.customMetaUrl || loadOptions.customMetaJsonpUrl ? false : true;\n }\n return semverApi;\n },\n};\nfunction executeGet(url, options) {\n return __awaiter(this, void 0, Promise, function () {\n var ret, _a, semverApi, apiMode, perfLabel, result, err_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n ret = null;\n _a = options.semverApi, semverApi = _a === void 0 ? true : _a;\n apiMode = semverApi ? API_NORMAL_GET : options.apiMode;\n perfLabel = \"request \".concat(url);\n perfStart(perfLabel);\n _b.label = 1;\n case 1:\n _b.trys.push([1, 6, , 7]);\n if (!(apiMode === API_NORMAL_GET)) return [3 /*break*/, 3];\n return [4 /*yield*/, requestGet(url)];\n case 2:\n result = _b.sent();\n ret = result.reply;\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, getJSON(url)];\n case 4:\n // jsonp get\n ret = _b.sent();\n _b.label = 5;\n case 5:\n perfEnd(perfLabel);\n // 请求语义化cdn平台时拿到的是原始数据,和自定义平台有差异\n // 这里做一下抹平处理,以便上层可以用一致的方式读取数据\n if (semverApi) {\n return [2 /*return*/, inner.handleSemverRet(ret, options)];\n }\n return [2 /*return*/, ret];\n case 6:\n err_1 = _b.sent();\n perfEnd(perfLabel);\n return [2 /*return*/, { data: null, code: '404', msg: err_1.message }];\n case 7: return [2 /*return*/];\n }\n });\n });\n}\nfunction ensureApp(app) {\n var clonedApp = __assign({}, app);\n clonedApp.additional_scripts = safeParse(clonedApp.additional_scripts, []);\n clonedApp.additional_body_scripts = safeParse(clonedApp.additional_body_scripts, []);\n return clonedApp;\n}\nfunction ensureVersion(version) {\n var clonedVersion = __assign({}, version);\n clonedVersion.src_map = safeParse(clonedVersion.src_map, {\n htmlIndexSrc: '',\n webDirPath: '',\n headAssetList: [],\n bodyAssetList: [],\n chunkJsSrcList: [],\n chunkCssSrcList: [],\n staticJsSrcList: [],\n staticCssSrcList: [],\n relativeJsSrcList: [],\n relativeCssSrcList: [],\n otherSrcList: [],\n });\n return clonedVersion;\n}\n/**\n * 生成版本语义化的元数据请求链接\n */\nfunction getSemverUrl(apiHost, appName, versionId, skip404Sniff) {\n if (skip404Sniff === void 0) { skip404Sniff = false; }\n return __awaiter(this, void 0, void 0, function () {\n var ver;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ver = versionId;\n if (!!ver) return [3 /*break*/, 3];\n if (!skip404Sniff) return [3 /*break*/, 1];\n ver = 'latest'; // latest 未必是最新的,unpkg 可能有延时,需用户自己抉择需不需要跳过404嗅探\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, getSemverLatestVer(appName, apiHost)];\n case 2:\n ver = _a.sent();\n _a.label = 3;\n case 3: \n // https://unpkg.com/hel-lodash@2.1.7/hel_dist/hel-meta.json\n // https://cdn.jsdelivr.net/npm/hel-lodash@2.1.7/hel_dist/hel-meta.json\n return [2 /*return*/, \"\".concat(apiHost, \"/\").concat(appName, \"@\").concat(ver, \"/hel_dist/hel-meta.json?_t=\").concat(Date.now())];\n }\n });\n });\n}\n/**\n * 生成请求的自定义平台的请求信息\n */\nfunction prepareCustomPlatRequestInfo(appNameOrNames, getOptions) {\n var versionId = getOptions.versionId, projectId = getOptions.projectId, branchId = getOptions.branchId, apiMode = getOptions.apiMode, _a = getOptions.isFullVersion, isFullVersion = _a === void 0 ? false : _a, _b = getOptions.versionIdList, versionIdList = _b === void 0 ? [] : _b, _c = getOptions.projectIdList, projectIdList = _c === void 0 ? [] : _c, _d = getOptions.branchIdList, branchIdList = _d === void 0 ? [] : _d, _e = getOptions.loadOptions, loadOptions = _e === void 0 ? {} : _e;\n var platform = getPlatform(getOptions.platform);\n // trust me, appName will be reassign later\n var appName = appNameOrNames;\n var urlAppName = appName;\n var urlVersion = versionId;\n var urlProjId = projectId;\n var urlBranchId = branchId;\n var isBatch = false;\n if (Array.isArray(appNameOrNames)) {\n appName = appNameOrNames[0];\n urlAppName = appNameOrNames.join(',');\n urlVersion = versionIdList.join(',');\n urlProjId = projectIdList.join(',');\n urlBranchId = branchIdList.join(',');\n isBatch = true;\n }\n // 按 preFetchOptions.{key} --> platInitOptions.{key} --> originInitOptions.{key} --> innerDefault 取值的函数\n var getVal$1 = function (key, defaultVal) {\n return getVal(platform, key, [loadOptions[key], defaultVal]);\n };\n var getFnVal = function (fnName, fnParams) {\n return callFn(platform, fnName, fnParams, loadOptions[fnName]);\n };\n var userLsKey = getVal$1('userLsKey', helConsts$1.DEFAULT_USER_LS_KEY);\n var userName = getFnVal('getUserName', { platform: platform, appName: appName, userLsKey: userLsKey });\n var grayResult = getFnVal('shouldUseGray', { appName: appName });\n var apiSuffix = getVal$1('apiSuffix');\n var grayVar = '';\n if (typeof grayResult === 'boolean') {\n grayVar = grayResult ? '1' : '0';\n }\n var isJsonpGet = apiMode !== API_NORMAL_GET;\n var url = '';\n var interfaceName = '';\n var isV2Get = false;\n if (!isBatch) {\n var customMetaUrl = getVal$1('customMetaUrl', '');\n var customMetaJsonpUrl = getVal$1('customMetaJsonpUrl', '');\n if (customMetaUrl) {\n url = urlVersion ? \"\".concat(customMetaUrl, \"/\").concat(appName, \"@\").concat(urlVersion, \"?\") : \"\".concat(customMetaUrl, \"/\").concat(appName, \"?\");\n }\n else if (isJsonpGet && customMetaJsonpUrl) {\n url = urlVersion ? \"\".concat(customMetaJsonpUrl, \"/\").concat(appName, \"@\").concat(urlVersion, \"?\") : \"\".concat(customMetaJsonpUrl, \"/\").concat(appName, \"?\");\n }\n if (!url) {\n interfaceName = !isFullVersion ? apiSrvConst.GET_APP_AND_VER : apiSrvConst.GET_APP_AND_FULL_VER;\n }\n else {\n isV2Get = true;\n }\n }\n else {\n interfaceName = !isFullVersion ? apiSrvConst.BATCH_GET_APP_AND_VER : apiSrvConst.BATCH_GET_APP_AND_FULL_VER;\n }\n if (!isV2Get) {\n var apiPathOfApp = getVal$1('apiPathOfApp', helConsts$1.DEFAULT_API_URL);\n var apiHost = genApiPrefix(platform, loadOptions);\n // 为自定义模块管理台拼接请求链接\n var jsonpMark = isJsonpGet ? JSONP_MARK : '';\n var finalInterfaceName = \"\".concat(interfaceName).concat(jsonpMark);\n url = \"\".concat(apiHost).concat(apiPathOfApp, \"/\").concat(finalInterfaceName, \"?name=\").concat(urlAppName);\n url = inner.appendSearchKV(url, 'version', urlVersion);\n }\n url = inner.appendSearchKV(url, 'userName', userName);\n url = inner.appendSearchKV(url, 'projId', urlProjId);\n url = inner.appendSearchKV(url, 'branch', urlBranchId);\n url = inner.appendSearchKV(url, 'gray', grayVar);\n url = inner.appendSuffix(url, apiSuffix);\n if (url.endsWith('?')) {\n url = url.substring(0, url.length - 1);\n }\n return { url: url, userName: userName };\n}\n/**\n * 生成请求语义化版本的请求信息( 如请求 unpkg jsdelivr )\n */\nfunction prepareSemverRequestInfo(appName, getOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var versionId, platform, loadOptions, apiHost, url;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n versionId = getOptions.versionId, platform = getOptions.platform, loadOptions = getOptions.loadOptions;\n apiHost = genApiPrefix(platform, loadOptions);\n return [4 /*yield*/, getSemverUrl(apiHost, appName, versionId || '', loadOptions === null || loadOptions === void 0 ? void 0 : loadOptions.skip404Sniff)];\n case 1:\n url = _a.sent();\n return [2 /*return*/, url];\n }\n });\n });\n}\n/**\n * 生成请求请求信息\n */\nfunction prepareRequestInfo(appName, getOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, loadOptions, userName, url, semverApi, ret;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = getOptions.loadOptions, loadOptions = _a === void 0 ? {} : _a;\n userName = '';\n url = '';\n semverApi = inner.getSemverApiVal(loadOptions);\n if (!semverApi) return [3 /*break*/, 2];\n return [4 /*yield*/, prepareSemverRequestInfo(appName, getOptions)];\n case 1:\n url = _b.sent();\n return [3 /*break*/, 3];\n case 2:\n ret = prepareCustomPlatRequestInfo(appName, getOptions);\n url = ret.url;\n userName = ret.userName;\n _b.label = 3;\n case 3: return [2 /*return*/, { url: url, userName: userName }];\n }\n });\n });\n}\n/**\n * 准备请求版本数据的 url 链接\n */\nfunction prepareRequestVersionUrl(versionId, getOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var apiMode, appName, _a, isFullVersion, semverApi, customMetaUrl, _b, apiPrefix, getUrl, platform, apiHost, apiSuffix, apiPathOfApp, apiPathOfAppVersion, url, isV2Get, jsonpMark, interfaceName, finalInterfaceName, finalApiPath;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n apiMode = getOptions.apiMode, appName = getOptions.appName, _a = getOptions.isFullVersion, isFullVersion = _a === void 0 ? false : _a, semverApi = getOptions.semverApi, customMetaUrl = getOptions.customMetaUrl, _b = getOptions.apiPrefix, apiPrefix = _b === void 0 ? '' : _b, getUrl = getOptions.getUrl;\n platform = getPlatform(getOptions.platform);\n apiHost = apiPrefix || getVal(platform, 'apiPrefix');\n apiSuffix = getVal(platform, 'apiSuffix');\n apiPathOfApp = getVal(platform, 'apiPathOfApp');\n apiPathOfAppVersion = getVal(platform, 'apiPathOfAppVersion');\n url = '';\n isV2Get = !!customMetaUrl;\n if (!isV2Get) return [3 /*break*/, 1];\n url = \"\".concat(customMetaUrl, \"/\").concat(appName).concat(versionId ? \"@\".concat(versionId) : '');\n return [3 /*break*/, 4];\n case 1:\n if (!semverApi) return [3 /*break*/, 3];\n return [4 /*yield*/, getSemverUrl(apiHost, appName, versionId)];\n case 2:\n url = _c.sent();\n return [3 /*break*/, 4];\n case 3:\n jsonpMark = apiMode === API_NORMAL_GET ? '' : JSONP_MARK;\n interfaceName = !isFullVersion ? apiSrvConst.GET_APP_VER : apiSrvConst.GET_APP_FULL_VER;\n finalInterfaceName = \"\".concat(interfaceName).concat(jsonpMark);\n finalApiPath = apiPathOfAppVersion || apiPathOfApp || helConsts$1.DEFAULT_API_URL;\n url = \"\".concat(apiHost).concat(finalApiPath, \"/\").concat(finalInterfaceName, \"?ver=\").concat(versionId);\n url = inner.appendSearchKV(url, 'name', appName);\n url = inner.appendSuffix(url, apiSuffix);\n _c.label = 4;\n case 4:\n url = (getUrl === null || getUrl === void 0 ? void 0 : getUrl(url)) || url;\n return [2 /*return*/, url];\n }\n });\n });\n}\nfunction extractMetaFromReply(appName, inputReply) {\n var reply = inputReply;\n // 支持 getMeta 按类型说明返回的 IHelMeta 结构\n if (hasProp(reply, 'app') && hasProp(reply, 'version')) {\n reply = { code: 0, data: { app: reply.app, version: reply.version } };\n }\n if (!reply || 0 !== Number(reply.code)) {\n throw new Error((reply === null || reply === void 0 ? void 0 : reply.msg) || 'getSubAppAndItsVersion err`');\n }\n var _a = reply.data || {}, app = _a.app, version = _a.version;\n if (!app) {\n throw new Error(\"no app for \".concat(appName));\n }\n if (!version) {\n // 可能存在有应用但无版本的情况\n throw new Error(\"no version for \".concat(appName));\n }\n return { app: ensureApp(app), version: ensureVersion(version) };\n}\n/**\n * 获取子应用和它的最新在线版本\n */\nfunction getSubAppAndItsVersion(appName, getOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var versionId, branchId, projectId, platform, apiMode, _a, loadOptions, oldFnName, newFnName, fnName, getMetaFn, _b, url, userName, innerRequest, needGrayVer, fnParams, data_1, meta, data;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n versionId = getOptions.versionId, branchId = getOptions.branchId, projectId = getOptions.projectId, platform = getOptions.platform, apiMode = getOptions.apiMode, _a = getOptions.loadOptions, loadOptions = _a === void 0 ? {} : _a;\n oldFnName = 'getSubAppAndItsVersionFn';\n newFnName = 'getMeta';\n fnName = newFnName;\n getMetaFn = getFn(platform, newFnName, loadOptions.getMeta);\n if (!getMetaFn) {\n // 兼容就配置项\n getMetaFn = getFn(platform, oldFnName, loadOptions.getSubAppAndItsVersionFn);\n fnName = oldFnName;\n }\n return [4 /*yield*/, prepareRequestInfo(appName, getOptions)];\n case 1:\n _b = _c.sent(), url = _b.url, userName = _b.userName;\n innerRequest = function (custUrl, custApiMode) { return __awaiter(_this, void 0, void 0, function () {\n var metaUrl, semverApi, reply, meta;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n metaUrl = custUrl || url;\n semverApi = inner.getSemverApiVal(loadOptions);\n return [4 /*yield*/, executeGet(metaUrl, { apiMode: custApiMode || apiMode, semverApi: semverApi })];\n case 1:\n reply = _a.sent();\n meta = extractMetaFromReply(appName, reply);\n return [2 /*return*/, meta];\n }\n });\n }); };\n if (!getMetaFn) return [3 /*break*/, 3];\n needGrayVer = callFn(platform, 'shouldUseGray', { appName: appName }, loadOptions.shouldUseGray);\n fnParams = { platform: platform, appName: appName, userName: userName, versionId: versionId, branchId: branchId, projectId: projectId, url: url, needGrayVer: needGrayVer, innerRequest: innerRequest };\n log$1(\"[[ \".concat(fnName, \" ]] fnParams:\"), fnParams);\n return [4 /*yield*/, Promise.resolve(getMetaFn(fnParams))];\n case 2:\n data_1 = (_c.sent());\n meta = extractMetaFromReply(appName, data_1);\n return [2 /*return*/, meta];\n case 3: return [4 /*yield*/, innerRequest()];\n case 4:\n data = _c.sent();\n return [2 /*return*/, data];\n }\n });\n });\n}\n/**\n * 获取子应用版本详情\n */\nfunction getSubAppVersion(versionId, options) {\n return __awaiter(this, void 0, void 0, function () {\n var apiMode, _a, isFullVersion, semverApi, customMetaUrl, url, semverApiVar, _b, data, code, msg, versionData;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n apiMode = options.apiMode, _a = options.isFullVersion, isFullVersion = _a === void 0 ? false : _a, semverApi = options.semverApi, customMetaUrl = options.customMetaUrl;\n return [4 /*yield*/, prepareRequestVersionUrl(versionId, options)];\n case 1:\n url = _c.sent();\n semverApiVar = customMetaUrl ? false : semverApi;\n return [4 /*yield*/, executeGet(url, { apiMode: apiMode, isFullVersion: isFullVersion, semverApi: semverApiVar, onlyVersion: true })];\n case 2:\n _b = _c.sent(), data = _b.data, code = _b.code, msg = _b.msg;\n if (0 !== parseInt(code, 10) || !data) {\n throw new Error(msg || 'ver not found');\n }\n versionData = ensureVersion(data);\n return [2 /*return*/, versionData];\n }\n });\n });\n}\n/**\n * 批量获取子应用版本详情\n */\nfunction batchGetSubAppAndItsVersion(appNames, batchGetOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var apiMode, batchGetFn, semverApi, platform, url, innerRequest, list, fnParams;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!appNames.length) {\n return [2 /*return*/, []];\n }\n apiMode = batchGetOptions.apiMode, batchGetFn = batchGetOptions.batchGetFn, semverApi = batchGetOptions.semverApi;\n platform = getPlatform(batchGetOptions.platform);\n return [4 /*yield*/, prepareCustomPlatRequestInfo(appNames, batchGetOptions)];\n case 1:\n url = (_a.sent()).url;\n innerRequest = function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, data, code, msg, list;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, executeGet(url, { apiMode: apiMode, semverApi: semverApi })];\n case 1:\n _a = _b.sent(), data = _a.data, code = _a.code, msg = _a.msg;\n if (0 !== parseInt(code, 10) || !data) {\n throw new Error(msg || 'batch get failed');\n }\n list = data.map(function (item) { return ({ app: ensureApp(item.app), version: ensureVersion(item.version) }); });\n return [2 /*return*/, list];\n }\n });\n }); };\n list = [];\n if (!batchGetFn) return [3 /*break*/, 3];\n fnParams = { url: url, platform: platform, innerRequest: innerRequest };\n return [4 /*yield*/, Promise.resolve(batchGetFn(fnParams))];\n case 2:\n list = (_a.sent());\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, innerRequest()];\n case 4:\n list = _a.sent();\n _a.label = 5;\n case 5: return [2 /*return*/, list];\n }\n });\n });\n}\n\nvar noop = commonUtil$1.noop, okeys = commonUtil$1.okeys;\n/**\n * hel-iso 4.4.0+ 会读取此变量,用于辅助判断载入的应用是否是子应用\n */\nfunction markHelLoadAssetsFlag() {\n var g = getGlobalThis();\n g.__HEL_LOAD_ASSETS_FLAG__ = 1;\n}\nfunction isAssetExisted(selectors) {\n var _a;\n try {\n var doc = (_a = getGlobalThis()) === null || _a === void 0 ? void 0 : _a.document;\n var el = doc.querySelector(selectors);\n return !!el;\n }\n catch (err) {\n return false;\n }\n}\n/**\n * 识别 data-helappend data-helex 原语来确定资源是否能加载\n */\nfunction canAppendByHelMark(attrs, tag) {\n var ex = attrs['data-helex'] || '';\n var helAppend = attrs['data-helappend'];\n var g = getGlobalThis();\n // 强制设定不加载此资源\n if (helAppend === '0') {\n return false;\n }\n // check is ex loaded,此功能用于支持需延迟加载的 externals\n if (ex) {\n var exList = ex.split(',');\n // @ts-ignore avoid error: type {xxx} was found on type 'typeof globalThis'.\n if (tag === 'script' && exList.every(function (ex) { return !!g[ex]; })) {\n // script 型的 ex,优先查 globalThis 上是否已全部绑定标注的外部资源,已绑定则不再加载\n return false;\n }\n // 查 helex 特征值对应的资源是否存在\n var isExisted = isAssetExisted(\"\".concat(tag, \"[data-helex=\\\"\").concat(ex, \"\\\"]\"));\n return !isExisted; // 不存在才加载\n }\n return true;\n}\nfunction appendEl(el, attrs, appendToBody) {\n var doc = getGlobalThis().document;\n okeys(attrs).forEach(function (key) { return el.setAttribute(key, attrs[key]); });\n if (appendToBody)\n doc.body.appendChild(el);\n else\n doc.head.appendChild(el);\n}\nfunction setInnerText(el, innerText) {\n // 优先追加为 textContent 属性值,避免无效的 html 元素产生\n // @see https://github.com/Tencent/hel/issues/105\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent\n if (el.textContent === '') {\n el.textContent = innerText;\n }\n else {\n el.innerText = innerText;\n }\n}\nfunction createScriptElement(options) {\n var attrs = options.attrs, innerText = options.innerText, _a = options.appendToBody, appendToBody = _a === void 0 ? true : _a, _b = options.onloadCb, onloadCb = _b === void 0 ? noop : _b, _c = options.onerrorCb, onerrorCb = _c === void 0 ? noop : _c;\n var src = attrs.src, rest = __rest(attrs, [\"src\"]);\n var restObj = rest;\n var callOnloadCb = function (result) {\n onloadCb(result);\n return result;\n };\n if (!src && !innerText) {\n return callOnloadCb(false);\n }\n var doc = getGlobalThis().document;\n if (src && isAssetExisted(\"script[src=\\\"\".concat(src, \"\\\"]\"))) {\n return callOnloadCb(false);\n }\n if (!canAppendByHelMark(restObj, 'script')) {\n return callOnloadCb(false);\n }\n var el = doc.createElement('script');\n if (src)\n el.setAttribute('src', src);\n okeys(restObj).forEach(function (key) { return el.setAttribute(key, restObj[key]); });\n el.onload = onloadCb;\n el.onerror = onerrorCb;\n if (innerText)\n setInnerText(el, innerText);\n appendEl(el, restObj, appendToBody);\n return true;\n}\nfunction createLinkElement(options) {\n var _a = options.appendToBody, appendToBody = _a === void 0 ? false : _a, innerText = options.innerText, attrs = options.attrs;\n var href = attrs.href, rel = attrs.rel, rest = __rest(attrs, [\"href\", \"rel\"]);\n var restObj = rest;\n var doc = getGlobalThis().document;\n if (!href && !innerText)\n return;\n if (!canAppendByHelMark(restObj, 'link')) {\n return false;\n }\n var el = doc.createElement('link');\n if (href) {\n el.setAttribute('href', href);\n el.setAttribute('rel', rel || 'stylesheet');\n }\n else if (rel) {\n // 无 href 时,不默认 rel 为 'stylesheet'\n el.setAttribute('rel', rel);\n }\n if (innerText)\n el.innerText = innerText;\n appendEl(el, restObj, appendToBody);\n}\nfunction createStyleElement(options) {\n var _a = options.appendToBody, appendToBody = _a === void 0 ? false : _a, _b = options.innerText, innerText = _b === void 0 ? '' : _b, attrs = options.attrs;\n var doc = getGlobalThis().document;\n var el = doc.createElement('style');\n el.innerText = innerText;\n appendEl(el, attrs, appendToBody);\n}\n// 相比 as 写法,谓词可直接将 attrs 类型缩小并适用于整个 if block 块里\nfunction isLinkItem(asset) {\n return ['link', 'staticLink', 'relativeLink'].includes(asset.tag);\n}\nfunction isScriptAttrs(tag, attrs) {\n noop(attrs);\n return ['script', 'staticScript', 'relativeScript'].includes(tag);\n}\nfunction isStaticScript(tag) {\n return tag === 'staticScript';\n}\nfunction handleLinkAsset(v, options) {\n var attrs = v.attrs, _a = v.innerText, innerText = _a === void 0 ? '' : _a;\n var appendToBody = options.appendToBody, appendCss = options.appendCss, webDirPath = options.webDirPath, cssAppendTypes = options.cssAppendTypes, excludeCssList = options.excludeCssList;\n var createLinkOptions = { appendToBody: appendToBody, attrs: attrs, innerText: innerText };\n var href = attrs.href;\n // .ico 文件默认不加载( 除非显式地记录了 append 为 true )\n if (href.endsWith('.ico') && v.append !== true) {\n return;\n }\n if (href.endsWith('.css')) {\n if (appendCss\n && cssAppendTypes.includes(getAssetUrlType(webDirPath, href)) // 当前链接类型是合法的可以附加到 html 文档的链接类型\n && !excludeCssList.includes(href) // 当前链接没有被设置在排除链接列表里\n ) {\n createLinkElement(createLinkOptions);\n }\n return;\n }\n createLinkElement(createLinkOptions);\n}\nfunction createDomByAssetList(assetList, options) {\n var appendToBody = options.appendToBody;\n assetList.forEach(function (v) {\n // 兼容历史元数据,无 append 的话就默认为 true\n var tag = v.tag, attrs = v.attrs, _a = v.append, append = _a === void 0 ? true : _a, _b = v.innerText, innerText = _b === void 0 ? '' : _b;\n if (!append) {\n return;\n }\n // 处理 link 标签\n if (isLinkItem(v)) {\n handleLinkAsset(v, options);\n return;\n }\n // 处理 script 标签\n if (isScriptAttrs(tag, attrs)) {\n createScriptElement({ appendToBody: appendToBody, attrs: attrs, innerText: innerText });\n return;\n }\n // 处理 style 标签\n if (tag === 'style') {\n createStyleElement({ appendToBody: appendToBody, attrs: attrs, innerText: innerText });\n }\n });\n}\nfunction createAssetListAsync(assetList, options) {\n return __awaiter(this, void 0, void 0, function () {\n var appendToBody, loadScript;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n appendToBody = options.appendToBody;\n loadScript = function (v) {\n return new Promise(function (resolve, reject) {\n // 兼容历史元数据,无 append 的话就默认为 true\n var tag = v.tag, attrs = v.attrs, _a = v.append, append = _a === void 0 ? true : _a, _b = v.innerText, innerText = _b === void 0 ? '' : _b;\n if (!append) {\n return resolve(true);\n }\n // 处理 link 标签\n if (isLinkItem(v)) {\n handleLinkAsset(v, options);\n return resolve(true);\n }\n // 处理 script 标签\n if (isScriptAttrs(tag, attrs)) {\n var onloadCb = function () { return resolve(true); };\n // @ts-ignore\n var onerrorCb = function (message, url, line, col, errorObj) {\n console.error(message, url, line, col, errorObj);\n var errToThrow = errorObj instanceof Error ? errorObj : new Error(String(message));\n reject(errToThrow);\n };\n return createScriptElement({ appendToBody: appendToBody, attrs: attrs, innerText: innerText, onloadCb: onloadCb, onerrorCb: onerrorCb });\n }\n resolve(true);\n });\n };\n return [4 /*yield*/, Promise.all(assetList.map(loadScript))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n}\nfunction createAdditionalAssets(options) {\n var assetUrlList = options.assetUrlList, appendCss = options.appendCss, excludeCssList = options.excludeCssList, appendToBody = options.appendToBody;\n if (!assetUrlList)\n return;\n // 严格按照顺序创建\n for (var _i = 0, assetUrlList_1 = assetUrlList; _i < assetUrlList_1.length; _i++) {\n var url = assetUrlList_1[_i];\n if (url.endsWith('.css')) {\n if (appendCss && !excludeCssList.includes(url)) {\n createLinkElement({ appendToBody: appendToBody, attrs: { href: url } });\n }\n }\n else {\n createScriptElement({ appendToBody: appendToBody, attrs: { src: url } });\n }\n }\n}\n/**\n * 加载应用首屏的各项资源\n */\nfunction loadAppAssets(app, version, loadOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, additionalScripts, _b, additionalBodyScripts, _c, _d, headAssetList, _e, bodyAssetList, webDirPath, _f, chunkCssSrcList, _g, useAdditionalScript, _h, appendCss, _j, cssAppendTypes, getExcludeCssList, allExtraCssList, allCssList, excludeCssList, optionsToHead, optionsToBody, toAsset, headList, bodyList, staticScriptList, restHeadAssetList, restBodyAssetList;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n markHelLoadAssetsFlag();\n _a = app.additional_scripts, additionalScripts = _a === void 0 ? [] : _a, _b = app.additional_body_scripts, additionalBodyScripts = _b === void 0 ? [] : _b;\n _c = version.src_map, _d = _c.headAssetList, headAssetList = _d === void 0 ? [] : _d, _e = _c.bodyAssetList, bodyAssetList = _e === void 0 ? [] : _e, webDirPath = _c.webDirPath, _f = _c.chunkCssSrcList, chunkCssSrcList = _f === void 0 ? [] : _f;\n _g = loadOptions.useAdditionalScript, useAdditionalScript = _g === void 0 ? false : _g, _h = loadOptions.appendCss, appendCss = _h === void 0 ? true : _h, _j = loadOptions.cssAppendTypes, cssAppendTypes = _j === void 0 ? ['build', 'static', 'relative'] : _j, getExcludeCssList = loadOptions.getExcludeCssList;\n allExtraCssList = getAllExtraCssList(loadOptions);\n allCssList = commonUtil$1.merge2List(allExtraCssList, chunkCssSrcList);\n excludeCssList = (getExcludeCssList === null || getExcludeCssList === void 0 ? void 0 : getExcludeCssList(allCssList, { version: version })) || [];\n optionsToHead = { excludeCssList: excludeCssList, webDirPath: webDirPath, appendCss: appendCss, cssAppendTypes: cssAppendTypes, appendToBody: false };\n optionsToBody = { excludeCssList: excludeCssList, webDirPath: webDirPath, appendCss: appendCss, cssAppendTypes: cssAppendTypes, appendToBody: true };\n if (!useAdditionalScript) return [3 /*break*/, 3];\n toAsset = function (src) {\n if (src.endsWith('.css')) {\n return { tag: 'staticLink', attrs: { href: src } };\n }\n return { tag: 'staticScript', attrs: { src: src } };\n };\n headList = additionalScripts.map(toAsset);\n bodyList = additionalBodyScripts.map(toAsset);\n return [4 /*yield*/, createAssetListAsync(headList, optionsToHead)];\n case 1:\n _k.sent();\n return [4 /*yield*/, createAssetListAsync(bodyList, optionsToBody)];\n case 2:\n _k.sent();\n _k.label = 3;\n case 3:\n // 处理 sdk 额外透传的样式列表\n if (allExtraCssList.length) {\n createAdditionalAssets({ assetUrlList: allExtraCssList, excludeCssList: excludeCssList, appendToBody: false });\n }\n staticScriptList = [];\n restHeadAssetList = [];\n restBodyAssetList = [];\n headAssetList.forEach(function (v) {\n isStaticScript(v.tag) ? staticScriptList.push(v) : restHeadAssetList.push(v);\n });\n bodyAssetList.forEach(function (v) {\n isStaticScript(v.tag) ? staticScriptList.push(v) : restBodyAssetList.push(v);\n });\n if (!staticScriptList.length) return [3 /*break*/, 5];\n return [4 /*yield*/, createAssetListAsync(staticScriptList, optionsToHead)];\n case 4:\n _k.sent();\n createDomByAssetList(restHeadAssetList, optionsToHead);\n createDomByAssetList(restBodyAssetList, optionsToBody);\n return [2 /*return*/];\n case 5:\n createDomByAssetList(restHeadAssetList, optionsToHead);\n createDomByAssetList(restBodyAssetList, optionsToBody);\n return [2 /*return*/];\n }\n });\n });\n}\n\nvar toExport$1 = {\n SHADOW: true,\n SET_STYLE_AS_STRING: true,\n ENABLE_DISK_CACHE: false,\n ENABLE_DISK_CACHE_FOR_ERR: true,\n ENABLE_SYNC_META: true,\n STORAGE_TYPE: 'localStorage',\n ENABLE_APPEND_CSS: true,\n API_MODE: 'get',\n EXTRA_DATA_PREFIX: 'HelExtraData',\n};\n\nvar fnMark = '[[ isEmitVerMatchInputVer ]]';\n/**\n * @returns true,匹配成功,false,匹配失败\n */\nfunction isEmitVerMatchInputVer(appName, options) {\n var _a;\n var branchId = options.branchId, platform = options.platform, emitVer = options.emitVer, inputVer = options.inputVer, projectId = options.projectId;\n var strictMatchVer = getVal(platform, 'strictMatchVer', [options.strictMatchVer]);\n var appMeta = getAppMeta(appName, platform);\n if (strictMatchVer === false) {\n log$1(\"\".concat(fnMark, \" set strictMatchVer false for app (\").concat(appName, \"), trust emitVer (\").concat(emitVer, \") is the target version\"));\n return true;\n }\n // 模块版本信息未发射上来的话,当做匹配成功\n if (!emitVer) {\n log$1(\"\".concat(fnMark, \" emitVer should not be null\"));\n return true;\n }\n // 用在线版本或灰度版本比较\n if (!inputVer && appMeta) {\n // 存在分支id的话,采取总是相信子模块的策略\n if (branchId) {\n log$1(\"\".concat(fnMark, \" found branchId \").concat(branchId));\n return true;\n }\n var online_version = appMeta.online_version, build_version = appMeta.build_version;\n // 判断 projectId 是否传入,传入的话看 proj_ver.map[projectId].o 的值是否存在且是否和 emitVer 相等\n if (projectId) {\n var verMap = ((_a = appMeta.proj_ver) === null || _a === void 0 ? void 0 : _a.map) || {};\n var config = verMap[projectId];\n if (config) {\n // 后台是按 p1 项目灰度版本 --> p2 应用灰度版本 --> p3 项目线上版本 优先级依次降低返回的版本\n // 这里的匹配规则和后台严格对应上\n return emitVer === config.b || emitVer === build_version || emitVer === config.o;\n }\n }\n return emitVer === online_version || emitVer === build_version;\n }\n return emitVer === inputVer;\n}\n/**\n * 解决非 hel 直出的首页,使用了 hel sdk 去拉取 hel 模块时,子模块允许报错 TencentHelMicro is undefined\n * 子模块的 hel-base 链接加载始终晚于 main.js 执行逻辑(非首屏的资源加载会出现这个问题),\n * 故这里自动绑定一下,同时也可以提高 hel-mono 架构易用性\n */\nfunction mayBindIns(ins) {\n var globalThis = getGlobalThis();\n if (!commonUtil$1.isServer() && !globalThis.HelMicro) {\n log$1('auto bind hel-micro to global.HelMicro');\n globalThis.HelMicro = ins;\n }\n}\n\nvar DEFAULT_ONLINE_VER = helConsts$1.DEFAULT_ONLINE_VER;\nvar LOCAL_STR = 'http://localhost';\nvar LOCAL_127 = 'http://127.0.0.1';\nvar tags = ['script', 'link', 'style'];\nfunction nativeParse(htmlText) {\n var DOMParser = getGlobalThis().DOMParser;\n var doc = new DOMParser().parseFromString(htmlText, 'text/html');\n var itemList = [];\n var findNodeItem = function (el, head, tag) {\n el.querySelectorAll(tag).forEach(function (item) {\n var names = item.getAttributeNames();\n var attrs = {};\n names.forEach(function (name) {\n var val = item.getAttribute(name);\n if (val !== null)\n attrs[name] = val;\n });\n itemList.push({ head: head, tag: tag, attrs: attrs, innerText: item.innerText });\n });\n };\n tags.forEach(function (tag) { return findNodeItem(doc.head, true, tag); });\n tags.forEach(function (tag) { return findNodeItem(doc.body, false, tag); });\n return itemList;\n}\nvar inner$1 = {\n isSrcMatchHost: function (src, host) {\n // 支持 custom 设定 localhost 或 127 时,能相互匹配\n if (host.startsWith(LOCAL_STR) || host.startsWith(LOCAL_127)) {\n return src.startsWith(LOCAL_STR) || src.startsWith(LOCAL_127);\n }\n return src.startsWith(host);\n },\n parseHtml: function (htmlText) {\n if (getGlobalThis().DOMParser) {\n return nativeParse(htmlText);\n }\n var isHeadOpen = true;\n var itemList = [];\n var isValidTag = function (tag) { return tags.includes(tag); };\n parseHtml(htmlText, {\n onTagOpen: function (tag) {\n if (isValidTag(tag)) {\n itemList.push({ tag: tag, attrs: {}, innerText: '', head: isHeadOpen });\n }\n },\n onTagClose: function (tag, tagData) {\n if (tag === 'head')\n isHeadOpen = false;\n if (!isValidTag(tag))\n return;\n var lastItem = itemList[itemList.length - 1];\n if (lastItem) {\n var firstChild = tagData.children[0] || '';\n if (typeof firstChild === 'string') {\n lastItem.innerText = firstChild;\n }\n lastItem.attrs = tagData.attrs;\n }\n },\n });\n return itemList;\n },\n convertToAssetList: function (list, host) {\n var headAssetList = [];\n var bodyAssetList = [];\n var staticCssSrcList = [];\n var staticJsSrcList = [];\n var relativeCssSrcList = [];\n var relativeJsSrcList = [];\n list.forEach(function (item) {\n var head = item.head, attrs = item.attrs, innerText = item.innerText, tag = item.tag;\n var list = head ? headAssetList : bodyAssetList;\n var src = attrs.src, href = attrs.href, helEx = attrs[\"data-helex\"], rel = attrs.rel;\n var helAppend = getDatasetVal(attrs, 'data-helappend', '1');\n if (tag === 'style') {\n list.push({ tag: tag, attrs: attrs, innerText: innerText, append: true });\n }\n else {\n var url = src || href || '';\n var isCss = url.endsWith('.css');\n var isLink = tag === 'link';\n if (!url)\n return;\n var append = true;\n var isBuildUrl = inner$1.isSrcMatchHost(url, host);\n // icon 资源默认不加载\n // 非构建产生的资源,如未标记 data-helappend=\"1\" 且未标记data-helex=\"{exName}\",则不加载\n if (rel === 'icon' || (!isBuildUrl && helAppend !== '1' && !helEx)) {\n append = false;\n }\n var tagVar = tag;\n if (!isBuildUrl) {\n if (isRelativePath(url)) {\n tagVar = isLink ? 'relativeLink' : 'relativeScript';\n isCss ? relativeCssSrcList.push(url) : relativeJsSrcList.push(url);\n }\n else {\n tagVar = isLink ? 'staticLink' : 'staticScript';\n isCss ? staticCssSrcList.push(url) : staticJsSrcList.push(url);\n }\n }\n var itemVar = { tag: tagVar, attrs: attrs, innerText: innerText, append: append };\n list.push(itemVar);\n }\n });\n return { headAssetList: headAssetList, bodyAssetList: bodyAssetList, staticCssSrcList: staticCssSrcList, staticJsSrcList: staticJsSrcList, relativeCssSrcList: relativeCssSrcList, relativeJsSrcList: relativeJsSrcList };\n },\n getChunkList: function (assetList) {\n var chunkCssSrcList = [];\n var chunkJsSrcList = [];\n assetList.forEach(function (asset) {\n var _a = asset.attrs, href = _a.href, src = _a.src;\n var url = href || src || '';\n if (url) {\n url.endsWith('.css') ? chunkCssSrcList.push(url) : chunkJsSrcList.push(url);\n }\n });\n return { chunkCssSrcList: chunkCssSrcList, chunkJsSrcList: chunkJsSrcList };\n },\n extactHelMeta: function (reply) {\n var code = reply.code, data = reply.data, msg = reply.msg;\n if (code && data) {\n // 符合来着管理台的相应数据特征\n if (code !== '0') {\n throw new Error(msg || 'server error occurred');\n }\n return data;\n }\n // 当作是来自 cdn 存储的元数据\n return reply;\n },\n getHelMeta: function (appName, apiUrl, throwError) {\n return __awaiter(this, void 0, void 0, function () {\n var msg, reply, helMeta, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n msg = function (detail) {\n if (detail === void 0) { detail = ''; }\n return \"fetch \".concat(appName, \" helmeta by url \").concat(apiUrl, \" failed in custom mode! \").concat(detail);\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, requestGet(apiUrl)];\n case 2:\n reply = (_a.sent()).reply;\n helMeta = inner$1.extactHelMeta(reply);\n if (helMeta && helMeta.app && helMeta.version) {\n helMeta.app.__fromCust = true;\n return [2 /*return*/, helMeta];\n }\n if (throwError) {\n throw new Error(msg());\n }\n log$1('[[ getCustomMeta ]] 404 is a expected behavior for custom mode, user can ignore it');\n return [2 /*return*/, null];\n case 3:\n err_1 = _a.sent();\n if (throwError) {\n throw new Error(msg(err_1.messgae));\n }\n commonUtil$1.noop('json parse fail or other error');\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n },\n};\nfunction isCustomValid(custom) {\n if (custom) {\n var _a = custom.enable, enable = _a === void 0 ? true : _a, host = custom.host;\n return !!(host && enable);\n }\n return false;\n}\nfunction getCustomMeta(appName, custom) {\n return __awaiter(this, void 0, Promise, function () {\n var host, appGroupName, _a, skipFetchHelMeta, isApiUrl, parseHtml, _b, attachHostSuffix, t, helMeta, helMetaUrl, helMeta, htmlText, pageUrl, result, err_2, parseFn, nodeList, _c, headAssetList, bodyAssetList, restList, srcList;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n host = custom.host, appGroupName = custom.appGroupName, _a = custom.skipFetchHelMeta, skipFetchHelMeta = _a === void 0 ? false : _a, isApiUrl = custom.isApiUrl, parseHtml = custom.parseHtml, _b = custom.attachHostSuffix, attachHostSuffix = _b === void 0 ? true : _b;\n t = Date.now();\n if (!isApiUrl) return [3 /*break*/, 2];\n return [4 /*yield*/, inner$1.getHelMeta(appName, host, true)];\n case 1:\n helMeta = _d.sent();\n return [2 /*return*/, helMeta];\n case 2:\n if (!!skipFetchHelMeta) return [3 /*break*/, 4];\n helMetaUrl = host.endsWith('hel-meta.json') ? host : \"\".concat(host, \"/hel-meta.json?_t=\").concat(t);\n return [4 /*yield*/, inner$1.getHelMeta(appName, helMetaUrl)];\n case 3:\n helMeta = _d.sent();\n if (helMeta) {\n return [2 /*return*/, helMeta];\n }\n _d.label = 4;\n case 4:\n htmlText = '';\n _d.label = 5;\n case 5:\n _d.trys.push([5, 7, , 8]);\n pageUrl = attachHostSuffix ? \"\".concat(host, \"/index.html?_t=\").concat(t) : host;\n return [4 /*yield*/, requestGet(pageUrl, false)];\n case 6:\n result = _d.sent();\n htmlText = result.reply || '';\n if (![200, 304].includes(result.status)) {\n throw new Error(\"status \".concat(result.status));\n }\n return [3 /*break*/, 8];\n case 7:\n err_2 = _d.sent();\n throw new Error(\"\".concat(err_2.message, \" from \").concat(host));\n case 8:\n parseFn = parseHtml || inner$1.parseHtml;\n nodeList = parseFn(htmlText);\n _c = inner$1.convertToAssetList(nodeList, host), headAssetList = _c.headAssetList, bodyAssetList = _c.bodyAssetList, restList = __rest(_c, [\"headAssetList\", \"bodyAssetList\"]);\n srcList = inner$1.getChunkList(headAssetList.concat(bodyAssetList));\n return [2 /*return*/, {\n app: {\n // @ts-ignore,标记来自 cust 配置\n __fromCust: true,\n name: appName,\n app_group_name: appGroupName || appName,\n online_version: DEFAULT_ONLINE_VER,\n build_version: DEFAULT_ONLINE_VER,\n },\n version: {\n sub_app_name: appName,\n sub_app_version: DEFAULT_ONLINE_VER,\n src_map: __assign(__assign({ webDirPath: host, headAssetList: headAssetList, bodyAssetList: bodyAssetList }, srcList), restList),\n },\n }];\n }\n });\n });\n}\n\nvar commonUtil = commonUtil$1, helConsts = helConsts$1, log = log$1;\nvar KEY_ASSET_CTX = helConsts.KEY_ASSET_CTX;\nvar inner$2 = {\n recordAssetCtx: function (appInfo, appVersion, options) {\n var name = appInfo.name, app_group_name = appInfo.app_group_name;\n var srcMap = appVersion.src_map;\n var ver = appVersion.version_tag || appVersion.sub_app_version;\n var _a = srcMap.chunkCssSrcList, chunkCssSrcList = _a === void 0 ? [] : _a, _b = srcMap.chunkJsSrcList, chunkJsSrcList = _b === void 0 ? [] : _b;\n var fn = getHookFn(options, 'beforeAppendAssetNode');\n var assetList = chunkCssSrcList.concat(chunkJsSrcList);\n var platform = options.platform;\n // 记录资源映射的 配置上下文数据,方便以下作用\n // 1 记录 beforeAppendAssetNode 句柄引用,方便 patchAppendChild 逻辑里做追加的资源替换\n // 2 记录资源不能加载情况,方便 patchAppendChild 逻辑里,不追加资源到 document,用于拦截 webpack 异步加载的资源(目前只对css有效)\n assetList.forEach(function (url) {\n var urlData = getCommonData(KEY_ASSET_CTX, url) || {};\n if (!urlData.marked) {\n Object.assign(urlData, {\n marked: true,\n platform: platform,\n groupName: app_group_name,\n name: name,\n ver: ver,\n beforeAppend: fn,\n });\n setCommonData(KEY_ASSET_CTX, url, urlData);\n }\n });\n },\n tryTriggerOnFetchMetaSuccess: function (appInfo, appVersion, options) {\n var loadOptions = options.loadOptions, fromFallback = options.fromFallback;\n var fn = getHookFn(loadOptions, 'onFetchMetaSuccess');\n fn === null || fn === void 0 ? void 0 : fn({ app: appInfo, version: appVersion, fromFallback: fromFallback });\n },\n};\nfunction getFallbackHook(options) {\n var legacyFn = getFn(options.platform, 'onFetchMetaFailed', options.onFetchMetaFailed);\n var newFn = getHookFn(options, 'onFetchMetaFailed');\n return newFn || legacyFn;\n}\n/**\n * 如果用户未指定 apiMode,或许将来node 环境则一定是 get\n */\nfunction computeApiMode(platform, specifiedApiMode) {\n var apiMode = getPlatformConfig(platform).apiMode;\n if (specifiedApiMode) {\n return specifiedApiMode;\n }\n return apiMode;\n}\nfunction getPlatformAndApiMode(specifiedPlatform, specifiedApiMode) {\n var platform = getPlatform(specifiedPlatform);\n var apiMode = computeApiMode(platform, specifiedApiMode);\n return { platform: platform, apiMode: apiMode };\n}\nfunction clearDiskCachedApp(appName, getCacheKey, platform) {\n return __awaiter(this, void 0, void 0, function () {\n var indexedDBStorage, cacheKey;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n indexedDBStorage = getIndexedDB();\n cacheKey = innerGetAppCacheKey(appName, getCacheKey, platform);\n if (!indexedDBStorage) return [3 /*break*/, 2];\n return [4 /*yield*/, indexedDBStorage.removeItem(cacheKey)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n getLocalStorage().removeItem(cacheKey);\n return [2 /*return*/];\n }\n });\n });\n}\nfunction getAppFromRemoteOrLocal(appName, options, fnOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, enableDiskCache, _b, enableSyncMeta, _c, versionId, _d, projectId, branchId, _e, isFullVersion, custom, strictMatchVer, semverApi, _f, callRemote, _g, platform, apiMode, _h, app, version, memApp, memAppVersion, compareMem, emitVer, srvInnerOptions, mayCachedApp, tryGetFromRemote, appInfo, appVersion, versionTag, _j, groupName, name;\n var _this = this;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = options.enableDiskCache, enableDiskCache = _a === void 0 ? toExport$1.ENABLE_DISK_CACHE : _a, _b = options.enableSyncMeta, enableSyncMeta = _b === void 0 ? toExport$1.ENABLE_SYNC_META : _b, _c = options.versionId, versionId = _c === void 0 ? '' : _c, _d = options.projectId, projectId = _d === void 0 ? '' : _d, branchId = options.branchId, _e = options.isFullVersion, isFullVersion = _e === void 0 ? false : _e, custom = options.custom, strictMatchVer = options.strictMatchVer, semverApi = options.semverApi;\n _f = (fnOptions || {}).callRemote, callRemote = _f === void 0 ? true : _f;\n _g = getPlatformAndApiMode(options.platform, options.apiMode), platform = _g.platform, apiMode = _g.apiMode;\n if (!isCustomValid(custom)) return [3 /*break*/, 2];\n return [4 /*yield*/, getCustomMeta(appName, custom)];\n case 1:\n _h = _k.sent(), app = _h.app, version = _h.version;\n cacheApp(app, { appVersion: version, platform: platform, toDisk: false, loadOptions: options });\n setAppPlatform(app.app_group_name, platform);\n setAppPlatformByAppName(appName, platform);\n return [2 /*return*/, { appInfo: app, appVersion: version }];\n case 2:\n memApp = getAppMeta(appName, platform);\n memAppVersion = getVersion(appName, { platform: platform, versionId: versionId });\n compareMem = !semverApi && !branchId;\n if (compareMem && memApp && memAppVersion) {\n emitVer = memAppVersion.version_tag || memAppVersion.sub_app_version;\n if (isEmitVerMatchInputVer(appName, { platform: platform, projectId: projectId, emitVer: emitVer, inputVer: versionId, strictMatchVer: strictMatchVer })) {\n return [2 /*return*/, { appInfo: memApp, appVersion: memAppVersion }];\n }\n }\n srvInnerOptions = { platform: platform, apiMode: apiMode, versionId: versionId, projectId: projectId, branchId: branchId, isFullVersion: isFullVersion, loadOptions: options };\n mayCachedApp = null;\n tryGetFromRemote = function (allowGet) { return __awaiter(_this, void 0, void 0, function () {\n var remoteApp;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!allowGet) return [3 /*break*/, 2];\n return [4 /*yield*/, getAndCacheApp(appName, srvInnerOptions)];\n case 1:\n remoteApp = _a.sent();\n return [2 /*return*/, remoteApp];\n case 2: return [2 /*return*/, null];\n }\n });\n }); };\n if (!enableDiskCache) return [3 /*break*/, 9];\n return [4 /*yield*/, innerGetDiskCachedApp(appName, options)];\n case 3:\n mayCachedApp = _k.sent();\n if (!!mayCachedApp) return [3 /*break*/, 5];\n log('[[ getAppFromRemoteOrLocal ]] get meta from disk but failed!');\n return [4 /*yield*/, tryGetFromRemote(callRemote)];\n case 4:\n mayCachedApp = _k.sent();\n return [3 /*break*/, 8];\n case 5:\n appInfo = mayCachedApp.appInfo, appVersion = mayCachedApp.appVersion;\n log('[[ getAppFromRemoteOrLocal ]] disk meta:', mayCachedApp);\n versionTag = appVersion.version_tag || appVersion.sub_app_version;\n if (!(versionId && versionTag !== versionId)) return [3 /*break*/, 7];\n return [4 /*yield*/, tryGetFromRemote(callRemote)];\n case 6:\n mayCachedApp = _k.sent();\n log('[[ getAppFromRemoteOrLocal ]] remote meta:', mayCachedApp);\n return [3 /*break*/, 8];\n case 7:\n // 将硬盘缓存数据写回到内存\n cacheApp(appInfo, { appVersion: appVersion, platform: platform, toDisk: false, loadOptions: options });\n // 异步缓存一份最新的数据\n tryGetFromRemote(enableSyncMeta).catch(function (err) { return commonUtil.noop(err); });\n _k.label = 8;\n case 8: return [3 /*break*/, 11];\n case 9: return [4 /*yield*/, tryGetFromRemote(callRemote)];\n case 10:\n mayCachedApp = _k.sent();\n _k.label = 11;\n case 11:\n // 此处记录【应用组名】对应【平台】,仅为了让模块暴露方在使用 exposeLib 接口或 libReady 接口如未显式的指定平台值,\n // 但 preFetch 指定了平台值去拉取模块时,能够自动帮 exposeLib、libReady 推导出模块对应的平台值\n // 但是依然强烈建议给 exposeLib 、libReady 显式指定平台值,避免用户通过 preFetchLib 引入了多平台的同名包体时\n // 出现推导错误的情况出现\n if (mayCachedApp) {\n _j = mayCachedApp.appInfo, groupName = _j.app_group_name, name = _j.name;\n setAppPlatform(groupName, platform);\n setAppPlatformByAppName(name, platform);\n }\n return [2 /*return*/, mayCachedApp];\n }\n });\n });\n}\nfunction getAppWithFallback(appName, options) {\n return __awaiter(this, void 0, Promise, function () {\n var _a, isFirstCall, _b, enableDiskCacheForErr, data, err_1, data;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = options.isFirstCall, isFirstCall = _a === void 0 ? true : _a, _b = options.enableDiskCacheForErr, enableDiskCacheForErr = _b === void 0 ? toExport$1.ENABLE_DISK_CACHE_FOR_ERR : _b;\n _c.label = 1;\n case 1:\n _c.trys.push([1, 3, , 6]);\n return [4 /*yield*/, getAppFromRemoteOrLocal(appName, options)];\n case 2:\n data = _c.sent();\n return [2 /*return*/, { data: data, err: '' }];\n case 3:\n err_1 = _c.sent();\n // 第一次调用出错,抛上去,让上层再尝试一次\n if (isFirstCall) {\n throw err_1;\n }\n // 有指定 fallbackHook,返回空结果,让上层触发兜底函数\n if (getFallbackHook(options)) {\n return [2 /*return*/, { data: null, err: err_1.message }];\n }\n data = null;\n if (!enableDiskCacheForErr) return [3 /*break*/, 5];\n return [4 /*yield*/, innerGetDiskCachedApp(appName, options)];\n case 4:\n data = _c.sent();\n if (!data) {\n throw err_1;\n }\n commonUtil.nbalert(\"\\n [Dev mode alert err only]: \".concat(err_1.message, \", hel-micro will try use cached data to keep your app works well,\\n please check your network if this behavior is not as you expected! you can also set enableDiskCacheForErr = false\\n to skip reusing cached data.\\n \"));\n _c.label = 5;\n case 5: return [2 /*return*/, { data: data, err: err_1 }];\n case 6: return [2 /*return*/];\n }\n });\n });\n}\nfunction getAppAndVersion(appName, options) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, platform, apiMode, fixedOptions, _b, appInfo, appVersion;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = getPlatformAndApiMode(options.platform, options.apiMode), platform = _a.platform, apiMode = _a.apiMode;\n fixedOptions = __assign(__assign({}, options), { platform: platform, apiMode: apiMode });\n return [4 /*yield*/, getSubAppAndItsVersion(appName, fixedOptions)];\n case 1:\n _b = _c.sent(), appInfo = _b.app, appVersion = _b.version;\n log('[[ getAppAndVersion ]] result:', { app: appInfo, version: appVersion });\n if (!appVersion) {\n throw new Error('no version found or builded');\n }\n return [2 /*return*/, { appInfo: appInfo, appVersion: appVersion }];\n }\n });\n });\n}\nfunction cacheApp(appInfo, options) {\n // toDisk 默认是 true\n var appVersion = options.appVersion, platform = options.platform, _a = options.toDisk, toDisk = _a === void 0 ? true : _a, loadOptions = options.loadOptions;\n if (!appInfo || !appVersion) {\n return;\n }\n var appMeta = appInfo;\n var appName = appMeta.name;\n // 写 disk\n if (toDisk) {\n var cacheKey = innerGetAppCacheKey(appName, loadOptions.getCacheKey);\n var toSave = { app: appInfo, version: appVersion };\n innerSaveMetaToDisk(cacheKey, toSave, loadOptions.storageType);\n }\n // 写 mem app\n if (loadOptions.semverApi) {\n var meta = getAppMeta(appName, platform);\n // @ts-ignore, inject __setByLatest\n if ((meta === null || meta === void 0 ? void 0 : meta.__setByLatest) !== true) {\n // @ts-ignore, inject __setByLatest,确保未设置版本号的调用写入 appMeta 后,后续其他版本的调用不在写入新的 appMeta\n appMeta = !loadOptions.versionId ? __assign(__assign({}, appMeta), { __setByLatest: true }) : appMeta;\n setAppMeta(appMeta, platform);\n }\n }\n else {\n setAppMeta(appInfo, platform);\n }\n // 写 mem version\n setVersion(appName, appVersion, { platform: platform });\n // 记录sdk注入的额外样式\n var cssList = getAllExtraCssList(loadOptions);\n var versionTag = appVersion.version_tag || appVersion.sub_app_version;\n setVerExtraCssList(appName, cssList, { platform: platform, versionId: versionTag });\n}\nfunction getAndCacheApp(appName, options) {\n return __awaiter(this, void 0, void 0, function () {\n var platform, loadOptions, ret, appInfo, appVersion;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n platform = options.platform, loadOptions = options.loadOptions;\n return [4 /*yield*/, getAppAndVersion(appName, options)];\n case 1:\n ret = _a.sent();\n appInfo = ret.appInfo, appVersion = ret.appVersion;\n cacheApp(appInfo, { appVersion: appVersion, platform: platform, loadOptions: loadOptions });\n return [2 /*return*/, ret];\n }\n });\n });\n}\n/**\n * 加载应用的入口函数,先获取元数据,再加载资源\n */\nfunction loadApp(appName, loadOptions) {\n if (loadOptions === void 0) { loadOptions = {}; }\n return __awaiter(this, void 0, Promise, function () {\n var _a, isFirstCall, _b, controlLoadAssets, platform, _c, versionId, _d, data, err, _e, appInfo_1, appVersion_1, noMeta, fromFallback, fallbackHook, meta, startLoad, err_2, ret;\n var _this = this;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = loadOptions.isFirstCall, isFirstCall = _a === void 0 ? true : _a, _b = loadOptions.controlLoadAssets, controlLoadAssets = _b === void 0 ? false : _b, platform = loadOptions.platform, _c = loadOptions.versionId, versionId = _c === void 0 ? '' : _c;\n _f.label = 1;\n case 1:\n _f.trys.push([1, 6, , 9]);\n return [4 /*yield*/, getAppWithFallback(appName, loadOptions)];\n case 2:\n _d = _f.sent(), data = _d.data, err = _d.err;\n _e = data || {}, appInfo_1 = _e.appInfo, appVersion_1 = _e.appVersion;\n noMeta = !appInfo_1 || !appVersion_1;\n fromFallback = false;\n if (!(noMeta && !isFirstCall)) return [3 /*break*/, 4];\n fallbackHook = getFallbackHook(loadOptions);\n if (!fallbackHook) return [3 /*break*/, 4];\n return [4 /*yield*/, Promise.resolve(fallbackHook({ platform: platform, appName: appName, versionId: versionId }))];\n case 3:\n meta = _f.sent();\n if (meta) {\n appInfo_1 = meta.app;\n appVersion_1 = meta.version;\n fromFallback = true;\n cacheApp(appInfo_1, { appVersion: appVersion_1, platform: getPlatform(platform), toDisk: false, loadOptions: loadOptions });\n }\n _f.label = 4;\n case 4:\n if (!appInfo_1) {\n throw new Error(err || \"app[\".concat(appName, \"] not exist\"));\n }\n if (!appVersion_1) {\n throw new Error(err || \"app[\".concat(appName, \"]'s version[\").concat(versionId, \"] not exist\"));\n }\n inner$2.tryTriggerOnFetchMetaSuccess(appInfo_1, appVersion_1, { loadOptions: loadOptions, fromFallback: fromFallback });\n inner$2.recordAssetCtx(appInfo_1, appVersion_1, loadOptions);\n startLoad = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, loadAppAssets(appInfo_1, appVersion_1, loadOptions)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n // !!! 需要人工控制开始加载资源的时机\n if (controlLoadAssets) {\n return [2 /*return*/, startLoad];\n }\n return [4 /*yield*/, startLoad()];\n case 5:\n _f.sent();\n return [2 /*return*/, null];\n case 6:\n err_2 = _f.sent();\n if (!isFirstCall) return [3 /*break*/, 8];\n console.error('loadApp err and try one more time: ', err_2);\n return [4 /*yield*/, loadApp(appName, __assign(__assign({}, loadOptions), { isFirstCall: false }))];\n case 7:\n ret = _f.sent();\n return [2 /*return*/, ret];\n case 8: throw new Error(\"loadApp [\".concat(appName, \"] err (\").concat(err_2.message, \"), recommend config onFetchMetaFailed hook\"));\n case 9: return [2 /*return*/];\n }\n });\n });\n}\n\n/**\n * 获取应用构建版本数据\n */\nfunction getSubAppVersion$1(versionId, options) {\n return __awaiter(this, void 0, Promise, function () {\n var versionData;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, getSubAppVersion(versionId, options)];\n case 1:\n versionData = _a.sent();\n return [2 /*return*/, versionData];\n }\n });\n });\n}\n/**\n * 获取应用自身描述和构建版本数据\n */\nfunction getSubAppMeta(appName, options) {\n return __awaiter(this, void 0, Promise, function () {\n var _a, versionId, projectId, branchId, platform, _b, reuseCache, targetMeta, appMeta, appVersion;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = options || {}, versionId = _a.versionId, projectId = _a.projectId, branchId = _a.branchId, platform = _a.platform, _b = _a.reuseCache, reuseCache = _b === void 0 ? true : _b;\n // 尝试复用已缓存的版本\n if (reuseCache && !versionId && !projectId && !branchId) {\n appMeta = getAppMeta(appName, platform);\n appVersion = getVersion(appName, { platform: platform });\n if (appMeta && appVersion) {\n targetMeta = { app: appMeta, version: appVersion };\n }\n }\n if (!!targetMeta) return [3 /*break*/, 2];\n return [4 /*yield*/, getSubAppAndItsVersion(appName, options || {})];\n case 1:\n targetMeta = _c.sent();\n _c.label = 2;\n case 2: return [2 /*return*/, targetMeta];\n }\n });\n });\n}\n/**\n * 获取某个应用的元数据请求链接\n * @param appName 应用名称\n * @param options\n * @returns\n */\nfunction getMetaDataUrl(appName, options) {\n var _a = options || {}, versionId = _a.versionId, platform = _a.platform, _b = _a.apiMode, apiMode = _b === void 0 ? API_NORMAL_GET : _b, _c = _a.protocol, protocol = _c === void 0 ? 'http' : _c, projectId = _a.projectId, branchId = _a.branchId, _d = _a.semverApi, semverApi = _d === void 0 ? true : _d;\n var url = prepareCustomPlatRequestInfo(appName, { platform: platform, versionId: versionId, branchId: branchId, apiMode: apiMode, projectId: projectId, semverApi: semverApi }).url;\n if (protocol === 'http') {\n url = url.replace('https:', 'http:');\n }\n return url;\n}\nfunction clearDiskCachedApp$1(appNameOrNames, getCacheKey, platform) {\n return __awaiter(this, void 0, void 0, function () {\n var tasks_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!Array.isArray(appNameOrNames)) return [3 /*break*/, 2];\n tasks_1 = [];\n appNameOrNames.forEach(function (name) { return tasks_1.push(clearDiskCachedApp(name, getCacheKey, platform)); });\n return [4 /*yield*/, Promise.all(tasks_1)];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, clearDiskCachedApp(appNameOrNames, getCacheKey, platform)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n });\n}\n\nvar appMeta = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getSubAppVersion: getSubAppVersion$1,\n getSubAppMeta: getSubAppMeta,\n getMetaDataUrl: getMetaDataUrl,\n clearDiskCachedApp: clearDiskCachedApp$1\n});\n\n/**\n * 参数相关服务\n */\nfunction getWebDirPath(name, options) {\n var verData = getVersion(name, options);\n return (verData === null || verData === void 0 ? void 0 : verData.src_map.webDirPath) || '';\n}\n\n/**\n * 参数相关服务\n */\n/**\n * 推导当前应用的平台与版本\n * 调用者需自己确保版本数据已获取,即 preFetchApp 或 preFetchLib 已调用结束\n */\nfunction getPlatAndVer(appName, options) {\n var optionsVar = options || {};\n var platform = getPlatform(optionsVar.platform);\n var versionId = optionsVar.versionId || '';\n if (!versionId) {\n var versionData = getVersion(appName, { platform: platform });\n if (versionData) {\n // 已存在了正在运行的版本数据\n versionId = versionData.version_tag || versionData.sub_app_version;\n }\n else {\n var appMeta = getAppMeta(appName, platform);\n versionId = (appMeta === null || appMeta === void 0 ? void 0 : appMeta.online_version) || (appMeta === null || appMeta === void 0 ? void 0 : appMeta.build_version) || '';\n }\n }\n return {\n platform: platform,\n versionId: versionId,\n };\n}\nfunction getGroupedStyleList(appName, options) {\n var map = {\n static: [],\n build: [],\n };\n var version = getVersion(appName, options);\n if (version) {\n var _a = version.src_map, webDirPath_1 = _a.webDirPath, chunkCssSrcList = _a.chunkCssSrcList;\n chunkCssSrcList.forEach(function (src) {\n src.startsWith(webDirPath_1) ? map.build.push(src) : map.static.push(src);\n });\n }\n return map;\n}\nvar getWebDirPath$1 = getWebDirPath;\n\nvar appParam = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getPlatAndVer: getPlatAndVer,\n getGroupedStyleList: getGroupedStyleList,\n getWebDirPath: getWebDirPath$1\n});\n\nvar KEY_CSS_STR = helConsts$1.KEY_CSS_STR;\nvar _a = helLoadStatus, LOADED = _a.LOADED, LOADING = _a.LOADING, NOT_LOAD = _a.NOT_LOAD;\nvar merge2List = commonUtil$1.merge2List;\nvar eventBus = getHelEventBus();\nvar STYLE_STR_FETCHED = helEvents.STYLE_STR_FETCHED;\nvar inner$3 = {\n isStyleStatusMatch: function (appName, judeStatus, options) {\n var _a = getPlatAndVer(appName, options), platform = _a.platform, versionId = _a.versionId;\n var status = getVerStyleStrStatus(appName, { platform: platform, versionId: versionId });\n return status === judeStatus;\n },\n /**\n * 获取应用自身的样式列表,返回如下\n * buildCssList :应用构建生成的\n * initExtraCssList :preFetch 是设定的,该列表只接收一次设置,后续不再变动\n * appCssList :应用构建生成的与能追加的 staticLink、relativeLink 全部样式列表\n */\n getSelfCssList: function (appName, options) {\n var platAndVer = getPlatAndVer(appName, options);\n var appVersion = getVersion(appName, platAndVer);\n // 获取用户 preFetch 时设定的额外样式列表\n var initExtraCssList = getVerExtraCssList(appName, platAndVer);\n // 获取构建阶段生成的样式列表\n var buildCssList = [];\n // 应用自身的所有样式列表,包含构建的 staticLink、relativeLink 里可以追加的,preFetch 是设定的 extraCssList\n var appCssList = [];\n if (appVersion) {\n var _a = appVersion.src_map || {}, _b = _a.chunkCssSrcList, chunkCssSrcList = _b === void 0 ? [] : _b, _c = _a.headAssetList, headAssetList = _c === void 0 ? [] : _c, _d = _a.bodyAssetList, bodyAssetList = _d === void 0 ? [] : _d;\n buildCssList = chunkCssSrcList;\n var filterCssList = function (assetList) {\n var resultList = [];\n assetList.forEach(function (assetItem) {\n var _a = assetItem.append, append = _a === void 0 ? true : _a; // 默认 true,兼容旧数据\n var href = assetItem.attrs.href || '';\n if (href.endsWith('.css') && append) {\n resultList.push(href);\n }\n });\n return resultList;\n };\n var htmlCssList = merge2List(filterCssList(headAssetList), filterCssList(bodyAssetList));\n appCssList = merge2List(htmlCssList, buildCssList);\n }\n appCssList = merge2List(appCssList, initExtraCssList);\n return { buildCssList: buildCssList, initExtraCssList: initExtraCssList, appCssList: appCssList };\n },\n fetchStyleStr: function (cssList) {\n return __awaiter(this, void 0, void 0, function () {\n var str, i, len, cssUrl, cachedCssStr, result, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n str = '';\n i = 0, len = cssList.length;\n _a.label = 1;\n case 1:\n if (!(i < len)) return [3 /*break*/, 7];\n cssUrl = cssList[i];\n if (!cssUrl.endsWith('.css')) {\n return [3 /*break*/, 6];\n }\n cachedCssStr = getCommonData(KEY_CSS_STR, cssUrl);\n if (!!cachedCssStr) return [3 /*break*/, 5];\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, requestGet(cssUrl, false)];\n case 3:\n result = _a.sent();\n cachedCssStr = result.reply;\n setCommonData(KEY_CSS_STR, cssUrl, cachedCssStr);\n return [3 /*break*/, 5];\n case 4:\n err_1 = _a.sent();\n console.error(err_1);\n return [3 /*break*/, 5];\n case 5:\n str += cachedCssStr;\n _a.label = 6;\n case 6:\n i++;\n return [3 /*break*/, 1];\n case 7: return [2 /*return*/, str];\n }\n });\n });\n },\n waitStyleReady: function (appName, options) {\n return __awaiter(this, void 0, void 0, function () {\n var handleStyleFetched;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n handleStyleFetched = null;\n return [4 /*yield*/, new Promise(function (resolve) {\n handleStyleFetched = function (styleInfo) {\n var emitAppName = styleInfo.appName, emitPlatform = styleInfo.platform, emitVer = styleInfo.versionId;\n var branchId = options.branchId, inputVer = options.versionId, platform = options.platform, strictMatchVer = options.strictMatchVer;\n if (emitAppName !== appName\n || emitPlatform !== platform\n || !isEmitVerMatchInputVer(appName, { branchId: branchId, platform: platform, emitVer: emitVer, inputVer: inputVer, strictMatchVer: strictMatchVer })) {\n return;\n }\n resolve(true);\n };\n // 先监听,再触发资源加载,确保监听不会有遗漏\n eventBus.on(STYLE_STR_FETCHED, handleStyleFetched);\n })];\n case 1:\n _a.sent();\n if (handleStyleFetched) {\n eventBus.off(STYLE_STR_FETCHED, handleStyleFetched);\n }\n return [2 /*return*/];\n }\n });\n });\n },\n computeStyleData: function (appName, options) {\n var platAndVer = getPlatAndVer(appName, options);\n var _a = inner$3.getSelfCssList(appName, options), appCssList = _a.appCssList, buildCssList = _a.buildCssList, initExtraCssList = _a.initExtraCssList;\n var _b = options.extraCssList, extraCssList = _b === void 0 ? [] : _b, getExcludeCssList = options.getExcludeCssList; // extraCssList 此时表示二次透传的\n var allCssList = merge2List(appCssList, extraCssList);\n var excludeCssList = (getExcludeCssList === null || getExcludeCssList === void 0 ? void 0 : getExcludeCssList(allCssList, { version: getVersion(appName, platAndVer) })) || [];\n // 仅使用应用自身的样式列表\n var onlyUseAppCssList = !excludeCssList.length && !extraCssList.length;\n var validCssList = allCssList;\n if (excludeCssList.length) {\n // 按照 excludeCssList 配置过滤 allCssList ,才是最终得到的合法样式列表\n validCssList = allCssList.filter(function (item) { return !excludeCssList.includes(item); });\n }\n return { validCssList: validCssList, onlyUseAppCssList: onlyUseAppCssList, buildCssList: buildCssList, initExtraCssList: initExtraCssList, appCssList: appCssList };\n },\n fetchStyleData: function (appName, options) {\n return __awaiter(this, void 0, void 0, function () {\n var platAndVer, _a, extraStyleStr, cssListToStr, _b, extraCssList, strictMatchVer, branchId, _c, validCssList, onlyUseAppCssList, buildCssList, initExtraCssList, appCssList, result, status, appStyleStr, styleStr;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n platAndVer = getPlatAndVer(appName, options);\n _a = options.extraStyleStr, extraStyleStr = _a === void 0 ? '' : _a, cssListToStr = options.cssListToStr, _b = options.extraCssList, extraCssList = _b === void 0 ? [] : _b, strictMatchVer = options.strictMatchVer, branchId = options.branchId;\n _c = inner$3.computeStyleData(appName, options), validCssList = _c.validCssList, onlyUseAppCssList = _c.onlyUseAppCssList, buildCssList = _c.buildCssList, initExtraCssList = _c.initExtraCssList, appCssList = _c.appCssList;\n result = {\n validCssList: validCssList,\n buildCssList: buildCssList,\n initExtraCssList: initExtraCssList,\n appCssList: appCssList,\n extraCssList: extraCssList,\n extraStyleStr: extraStyleStr,\n renderStyleStr: '',\n };\n if (!cssListToStr) {\n return [2 /*return*/, result];\n }\n if (!onlyUseAppCssList) return [3 /*break*/, 6];\n status = getVerStyleStrStatus(appName, platAndVer);\n appStyleStr = '';\n if (!(status === LOADING)) return [3 /*break*/, 2];\n return [4 /*yield*/, inner$3.waitStyleReady(appName, __assign(__assign({}, platAndVer), { strictMatchVer: strictMatchVer, branchId: branchId }))];\n case 1:\n _d.sent();\n appStyleStr = getAppStyleStr$1(appName, platAndVer) || '';\n return [3 /*break*/, 5];\n case 2:\n if (!(status === NOT_LOAD)) return [3 /*break*/, 4];\n setVerStyleStrStatus(appName, LOADING, platAndVer);\n return [4 /*yield*/, inner$3.fetchStyleStr(appCssList)];\n case 3:\n appStyleStr = _d.sent();\n setAppStyleStr(appName, appStyleStr, platAndVer);\n setVerStyleStrStatus(appName, LOADED, platAndVer);\n eventBus.emit(STYLE_STR_FETCHED, __assign({ appName: appName }, platAndVer)); // 预设的样式列表转换为字符串完毕\n return [3 /*break*/, 5];\n case 4:\n appStyleStr = getAppStyleStr$1(appName, platAndVer) || '';\n _d.label = 5;\n case 5:\n result.renderStyleStr = \"\".concat(appStyleStr).concat(extraStyleStr);\n return [3 /*break*/, 8];\n case 6: return [4 /*yield*/, inner$3.fetchStyleStr(validCssList)];\n case 7:\n styleStr = _d.sent();\n result.renderStyleStr = \"\".concat(styleStr).concat(extraStyleStr);\n _d.label = 8;\n case 8: return [2 /*return*/, result];\n }\n });\n });\n },\n};\n/**\n * 返回渲染用的样式字符串传、及相关样式列表计算结果,具体描述见 IStyleDataResult\n * 调用者需自己确保版本数据已获取,即 preFetchApp 或 preFetchLib 已调用\n */\nfunction fetchAppStyleData(appName, options) {\n return __awaiter(this, void 0, Promise, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, inner$3.fetchStyleData(appName, options || {})];\n case 1:\n result = _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n}\n/**\n * 应用构建生成的 + 能追加的 staticLink、relativeLink + preFetch 时设置的 extraCssList 的全部样式列表之合集对应的字符串\n * 调用者需自己确保 appCssList 样式字符串已拉取,即 preFetchApp 或 preFetchLib 调用之后, fetchAppStyleData 已调用\n */\nfunction getAppStyleStr(appName, options) {\n var platAndVer = getPlatAndVer(appName, options);\n var styleStr = getAppStyleStr$1(appName, platAndVer);\n return styleStr;\n}\n/**\n * 获取应用自身的样式列表,返回如下\n * buildCssList :应用构建生成的样式列表\n * initExtraCssList :preFetch 是设定的样式列表,该列表只接收一次设置,后续不再变动\n * appCssList :应用构建生成的 + 能追加的 staticLink、relativeLink + preFetch 时设置的 extraCssList 的全部样式列表之合集\n */\nfunction getAppCssList(appName, options) {\n var result = inner$3.getSelfCssList(appName, options || {});\n return result;\n}\n/**\n * 通过样式列表获取样式字符串\n * @param cssUrlList\n * @returns\n */\nfunction fetchStyleByUrlList(cssUrlList) {\n return __awaiter(this, void 0, void 0, function () {\n var styleStr;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, inner$3.fetchStyleStr(cssUrlList)];\n case 1:\n styleStr = _a.sent();\n return [2 /*return*/, styleStr];\n }\n });\n });\n}\n/**\n * 判断样式是否已经异步拉取过了\n */\nfunction isStyleFetched(appName, options) {\n return inner$3.isStyleStatusMatch(appName, LOADED, options || {});\n}\n/**\n * 禁用所有 style tag 样式\n */\nfunction disableStyleTags(groupName) {\n var g = getGlobalThis();\n if (g.document) {\n var styleTags = g.document.querySelectorAll(\"style[data-gname=\\\"\".concat(groupName, \"\\\"]\"));\n styleTags.forEach(commonUtil$1.disableNode);\n }\n}\nfunction getStyleTagText(groupName) {\n var styleTagText = commonDataUtil.getStyleTagText(groupName);\n return styleTagText;\n}\n/**\n * 获取因主动设置了 ignoreCssPrefix 规则而忽略掉的样式列表\n */\nfunction getIgnoredCssUrlList(name, options) {\n var cssPrefix = getSuitableCssPrefix(name, options);\n var cssList = commonDataUtil.getIgnoreCssPrefixCssUrlList(cssPrefix) || [];\n return cssList;\n}\n/**\n * 获取合适的 css 前缀\n */\nfunction getSuitableCssPrefix(name, options) {\n var custom = ((options || {}).custom || {});\n var cssPrefix = '';\n var host = custom.host, _a = custom.enable, enable = _a === void 0 ? true : _a;\n if (host && enable) {\n if (host.endsWith('.json') || host.endsWith('.html')) {\n var arr = host.split('/');\n var len = arr.length;\n arr.splice(len - 1, len); // 去掉最后一位元素\n cssPrefix = arr.join('/');\n }\n else {\n cssPrefix = host;\n }\n }\n else {\n cssPrefix = getWebDirPath(name, options);\n }\n return cssPrefix;\n}\n\nvar appStyle = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fetchAppStyleData: fetchAppStyleData,\n getAppStyleStr: getAppStyleStr,\n getAppCssList: getAppCssList,\n fetchStyleByUrlList: fetchStyleByUrlList,\n isStyleFetched: isStyleFetched,\n disableStyleTags: disableStyleTags,\n getStyleTagText: getStyleTagText,\n getIgnoredCssUrlList: getIgnoredCssUrlList,\n getSuitableCssPrefix: getSuitableCssPrefix\n});\n\nfunction tryFixAssociateData(appName, appGroupName, fixOptions) {\n var platform = fixOptions.platform;\n var oriMeta = getAppMeta(appGroupName, platform);\n if (oriMeta) {\n return;\n }\n // 因 appName 对应的 appMeta、version、extraCssList 数据由 micro 写入\n // trust 模式下是没有这些数据的,需补上 appGroupName 相关数据\n var custMeta = getAppMeta(appName, platform);\n var custVer = getVersion(appName, fixOptions);\n if (custMeta && custVer) {\n setAppMeta(__assign(__assign({}, custMeta), { name: appGroupName, __addedByTrust: true }), platform);\n setVersion(appGroupName, __assign(__assign({}, custVer), { sub_app_name: appGroupName, __addedByTrust: true }), { platform: platform });\n var cssList = getVerExtraCssList(appName, fixOptions);\n setVerExtraCssList(appGroupName, cssList, fixOptions);\n }\n}\n/**\n * @returns {boolean} - shouldNext\n */\nfunction fixLibAssociateData(appName, appGroupName, fixOptions) {\n var platform = fixOptions.platform, emitPlatform = fixOptions.emitPlatform, versionId = fixOptions.versionId, emitVer = fixOptions.emitVer;\n var lib = getVerLib(appName, fixOptions);\n if (!lib) {\n tryFixAssociateData(appName, appGroupName, fixOptions);\n var originalLib = getVerLib(appGroupName, { platform: platform, versionId: versionId }); // appGroupName 对应 lib 由 core 写入,此处可获取到\n if (!originalLib && emitPlatform) {\n // 相信弹射的版本数据就是目标版本数据\n originalLib = getVerLib(appGroupName, { platform: emitPlatform, versionId: emitVer, strictMatchVer: false });\n }\n if (!originalLib) {\n throw new Error(\"seems plat \".concat(emitPlatform, \" emit null lib for \").concat(appGroupName));\n }\n libReady(appGroupName, originalLib, { platform: platform, appName: appName, versionId: versionId }); // 强制转移给当前平台\n return false; // 不走 next(),等待 libReady 内部触发新的 judgeAppReady 流程\n }\n return true; // lib 匹配成功,执行 next(),返回给上层调用\n}\n/**\n * @returns {boolean} - shouldNext\n */\nfunction fixAppAssociateData(appName, appGroupName, fixOptions) {\n var platform = fixOptions.platform, emitPlatform = fixOptions.emitPlatform, versionId = fixOptions.versionId, emitVer = fixOptions.emitVer;\n var emittedApp = getVerApp(appName, fixOptions);\n if (!emittedApp) {\n tryFixAssociateData(appName, appGroupName, fixOptions);\n var oriEmittedApp = getVerApp(appGroupName, { platform: platform, versionId: versionId });\n if (!oriEmittedApp && emitPlatform) {\n oriEmittedApp = getVerApp(appGroupName, { platform: emitPlatform, versionId: emitVer, strictMatchVer: false });\n }\n if (!oriEmittedApp) {\n throw new Error(\"seems plat \".concat(emitPlatform, \" emit null app for \").concat(appGroupName));\n }\n emitApp(__assign(__assign({}, oriEmittedApp), { platform: platform, appGroupName: appGroupName, appName: appName, versionId: versionId })); // 强制转移给当前平台\n return false; // 不走 next(),等待 emitApp 内部触发新的 judgeAppReady 流程\n }\n return true; // app 匹配成功,执行 next(),返回给上层调用\n}\nfunction getLibOrApp(appName, innerOptions) {\n var _a = innerOptions.versionId, versionId = _a === void 0 ? '' : _a, isLib = innerOptions.isLib;\n var platform = getPlatform(innerOptions.platform);\n var strictMatchVer = getVal(platform, 'strictMatchVer', [innerOptions.strictMatchVer]);\n var newGetOptions = __assign(__assign({}, innerOptions), { strictMatchVer: strictMatchVer });\n var targetName = appName;\n var custom = innerOptions.custom;\n if (isCustomValid(custom)) {\n // 处于调试模式时,应用名可置换为用户人工设定的组名,以便让一个组名对应多个应用名的模式下,本地调试依然生效\n targetName = custom.appGroupName || appName;\n // 调试模式下需把版本匹配置为 false\n newGetOptions.strictMatchVer = false;\n }\n var appMeta = getAppMeta(targetName, platform);\n // 语义化版本服务采用cdn架构存储元数据,它返回的 appMeta 里记录的 online_version 不可靠,这里要结合 __setByLatest 一起判断后才决定是否采用 lib\n if (innerOptions.semverApi && !versionId && appMeta && appMeta.__setByLatest !== true) {\n return null;\n }\n if (isLib) {\n var lib = getVerLib(targetName, newGetOptions);\n var libWrap = {\n appName: targetName,\n appGroupName: (appMeta === null || appMeta === void 0 ? void 0 : appMeta.app_group_name) || '',\n platform: platform,\n appProperties: lib,\n isLib: true,\n versionId: versionId,\n Comp: null,\n lifecycle: undefined,\n };\n return lib ? libWrap : null;\n }\n var emitApp = getVerApp(targetName, newGetOptions);\n return emitApp || null;\n}\nfunction judgeAppReady(appInfo, options, preFetchOptions) {\n var fnMark = '[[ judgeAppReady ]]';\n var _a = options.versionId, inputVer = _a === void 0 ? '' : _a, projectId = options.projectId, appName = options.appName, platform = options.platform, next = options.next, error = options.error, isLib = options.isLib, strictMatchVer = options.strictMatchVer;\n log$1(\"\".concat(fnMark, \" receive emit app and judge (emitAppInfo, judgeOptions):\"), appInfo, {\n inputVer: inputVer,\n projectId: projectId,\n appName: appName,\n platform: platform,\n isLib: isLib,\n strictMatchVer: strictMatchVer,\n });\n var inputPlatform = getPlatform(platform);\n var emitAppName = appInfo.appName, appGroupName = appInfo.appGroupName, _b = appInfo.platform, emitPlatform = _b === void 0 ? inputPlatform : _b, emitVer = appInfo.versionId;\n var appPathDesc = \"\".concat(platform, \"/\").concat(appName, \"/\").concat(inputVer);\n var appMeta = getAppMeta(appName, platform);\n var branchId = preFetchOptions.branchId, custom = preFetchOptions.custom, trust = preFetchOptions.trust;\n var fixData = function (fixOptions) {\n try {\n var shouldNext = isLib\n ? fixLibAssociateData(appName, appGroupName, fixOptions)\n : fixAppAssociateData(appName, appGroupName, fixOptions);\n return shouldNext;\n }\n catch (err) {\n error(err);\n return false;\n }\n };\n if (custom) {\n var _c = custom.enable, enable = _c === void 0 ? true : _c, host = custom.host, customAppGroupName_1 = custom.appGroupName, _d = custom.trust, trust_1 = _d === void 0 ? false : _d;\n // 额外判断 appGroupName 是否存在,防止 appGroupName 是 undefined\n var isGroupNameValid = function () { return appGroupName && (appGroupName === appName || appGroupName === customAppGroupName_1); };\n if (enable && host) {\n log$1(\"\".concat(fnMark, \" judge for custom:\"), custom);\n var mayNext = function (canNext) {\n log$1(\"\".concat(fnMark, \" custom conf \").concat(canNext ? '' : 'mis', \"match current emit app!\"));\n canNext && next();\n };\n // 非 trust 模式下,组名有效才识别为当前调用所需模块\n if (!trust_1) {\n return mayNext(isGroupNameValid());\n }\n // trust 模式会强行复制远程模块为当前调用所需要模块,同时会为远程补齐缺失数据,开发者需要知道并承担其危险后果!\n var shouldNext = fixData({ versionId: inputVer, platform: inputPlatform, emitPlatform: emitPlatform, emitVer: emitVer });\n return mayNext(shouldNext);\n }\n }\n // 非严格版本匹配模式,只需要应用组名和平台值匹配即可,满足一些用户copy了资源到自己的项目目录下也想要正常加载的场景\n if (strictMatchVer === false && appGroupName && (appMeta === null || appMeta === void 0 ? void 0 : appMeta.app_group_name) === appGroupName && inputPlatform === emitPlatform) {\n log$1(\"\".concat(fnMark, \" treat emitApp as wanted when strictMatchVer is false (appInfo):\"), appInfo);\n return next();\n }\n var logStillWait = function () { return log$1(\"\".concat(fnMark, \" still wait \").concat(appPathDesc, \" to be emitted (emitAppInfo,toMatch):\"), appInfo, toMatch); };\n // 啥也不做,等待平台值匹配、应用名匹配的那个事件发射上来\n var toMatch = { branchId: branchId, platform: platform, emitVer: emitVer, inputVer: inputVer, projectId: projectId, strictMatchVer: strictMatchVer };\n if (appName !== emitAppName || !isEmitVerMatchInputVer(appName, toMatch)) {\n return logStillWait();\n }\n var trustAppNames = getVal(inputPlatform, 'trustAppNames', [null, []], { emptyArrIsNull: false });\n // sdk 初始化了一些信任的应用,或者模块使用方主动设置了信任模式,则开始走模块转移流程\n if (inputPlatform !== emitPlatform && (trust || trustAppNames.includes(appName))) {\n var shouldNext = fixData({ versionId: inputVer, platform: inputPlatform, emitPlatform: emitPlatform, emitVer: emitVer });\n if (!shouldNext) {\n log$1(\"\".concat(fnMark, \" transfer \").concat(emitPlatform, \" app [\").concat(appName, \"] to \").concat(inputPlatform, \" plat due to being in trustAppNames\"));\n return logStillWait();\n }\n }\n next();\n}\n\nvar logic = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getLibOrApp: getLibOrApp,\n judgeAppReady: judgeAppReady\n});\n\n/**\n * 3.3.2+,接口不再自动设置默认平台,非hel平台的模块,用户在获取或暴露模块时,\n * 需在 preFetchLib preFetchApp libReady exposeLib 接口里显式的传递平台值\n * @param initOptions\n */\nfunction init(initOptions) {\n var platform = initOptions.platform, restOptions = __rest(initOptions, [\"platform\"]);\n initPlatformConfig(restOptions, platform);\n}\n\n/**\n * 此方法已不鼓励使用,请尽快替换为 hel-iso 包体里的 isSubApp\n * 因为当 hel-micro/hel-lib-proxy 提升到 webpack external 里时,此方法将返回错误结果\n * 此处保留是为了让老用户升级到最新版本时,如未使用 hel-micro/hel-lib-proxy external 模式依然能够编译通过并正常运行\n * @deprecated\n */\nfunction isSubApp() {\n return isSubApp$2();\n}\n\nfunction injectDefault(externalItem) {\n if (externalItem && !externalItem.default) {\n try {\n // eslint-disable-next-line\n externalItem.default = externalItem;\n // prettier-ignore\n }\n catch (err) { }\n }\n return externalItem;\n}\nfunction bindExternals(externalsObj) {\n var globalThis = getGlobalThis();\n Object.keys(externalsObj).forEach(function (key) {\n var mod = externalsObj[key];\n if (mod) {\n // @ts-ignore\n globalThis[key] = mod;\n }\n });\n}\n/**\n * 存在以下几种情况时,可调用此接口让子模块顺利复用宿主 react 运行时(注:不存在以下情况调用此接口)\n * -------------------------------------------------\n * 1 宿主是 vite 开发环境,直接读取cdn react会照成 invalid hook call问题,见:https://github.com/vitejs/vite/issues/1584\n * 2 宿主没有配置 externals 外链 cdn react( 例如在线IDE )\n * 3 宿主配置的 externals 和子模块没有对齐\n * -------------------------------------------------\n * 不存在上诉情况调用此接口也没事,意味着可以总是调用此接口\n * @param reactRuntimeObj\n */\nfunction bindReactRuntime(reactRuntimeObj) {\n var reactMod = injectDefault(reactRuntimeObj.React);\n var reactDomMod = injectDefault(reactRuntimeObj.ReactDOM);\n var reactIsMod = reactRuntimeObj.ReactIs || null;\n var reactReconcilerMod = reactRuntimeObj.ReactReconciler || null;\n var externalObj = {\n // 让一些采用了旧映射模式的包也能够正常加载\n LEAH_React: reactMod,\n LEAH_ReactDOM: reactDomMod,\n LEAH_ReactIs: reactIsMod,\n LEAH_ReactReconciler: reactReconcilerMod,\n // 对齐社区的挂载 key 名称\n React: reactMod,\n ReactDOM: reactDomMod,\n ReactIs: reactIsMod,\n ReactReconciler: reactReconcilerMod,\n };\n bindExternals(externalObj);\n}\n/**\n * 宿主调用此接口让子模块可复用宿主的 vue 运行时,详细意义同 bindReactRuntime 描述\n * @param vueRuntimeObj\n */\nfunction bindVueRuntime(vueRuntimeObj) {\n var vueMod = injectDefault(vueRuntimeObj.Vue);\n var externalObj = {\n // 让一些采用了旧映射模式的包也能够正常加载\n LEAH_Vue: vueMod,\n // 对齐社区的挂载 key 名称\n Vue: vueMod,\n };\n bindExternals(externalObj);\n}\n\nfunction getExtraDataPrefix(appName) {\n return \"\".concat(toExport$1.EXTRA_DATA_PREFIX, \".\").concat(appName);\n}\nfunction getExtraData(appName, shouldParse) {\n var _a, _b;\n var shouldParseVar = shouldParse !== null && shouldParse !== void 0 ? shouldParse : false;\n var str = (_b = (_a = getGlobalThis().localStorage) === null || _a === void 0 ? void 0 : _a.getItem(getExtraDataPrefix(appName))) !== null && _b !== void 0 ? _b : null;\n if (str) {\n if (shouldParseVar) {\n return JSON.parse(str);\n }\n return str;\n }\n return null;\n}\nfunction setExtraData(appName, data, shouldStringify) {\n var _a;\n var shouldStringifyVar = shouldStringify !== null && shouldStringify !== void 0 ? shouldStringify : false;\n var mayStr = shouldStringifyVar ? JSON.stringify(data) : data;\n (_a = getGlobalThis().localStorage) === null || _a === void 0 ? void 0 : _a.setItem(getExtraDataPrefix(appName), mayStr);\n}\n\nfunction getBodyContainer(idOrTriggerNode) {\n var _a;\n if (typeof idOrTriggerNode === 'string') {\n return (_a = getGlobalThis()) === null || _a === void 0 ? void 0 : _a.document.getElementById(idOrTriggerNode);\n }\n return idOrTriggerNode;\n}\nfunction getFakeHelContext(name, options) {\n return {\n name: name,\n platform: (options === null || options === void 0 ? void 0 : options.platform) || getAppPlatform(name),\n versionId: (options === null || options === void 0 ? void 0 : options.versionId) || '',\n getShadowAppRoot: getBodyContainer,\n getShadowBodyRoot: getBodyContainer,\n };\n}\n\nvar getObjsVal = commonUtil$1.getObjsVal, purify = commonUtil$1.purify;\nvar ENABLE_DISK_CACHE = toExport$1.ENABLE_DISK_CACHE, ENABLE_SYNC_META = toExport$1.ENABLE_SYNC_META, STORAGE_TYPE = toExport$1.STORAGE_TYPE;\nvar pLib = 'preFetchLib';\nvar pApp = 'preFetchApp';\nvar pLogic = 'preFetch';\nfunction getEnsuredOptions(isLib, rawOptions) {\n var options = typeof rawOptions === 'string' ? { versionId: rawOptions } : __assign({}, (rawOptions || {}));\n options.platform = getPlatform(options.platform);\n options.isLib = isLib;\n var platform = options.platform;\n // 用户未传的话走平台默认值 true\n options.strictMatchVer = getVal(platform, 'strictMatchVer', [options.strictMatchVer]);\n // 默认为 indexedDB,不支持 indexedDB 的环境会降级为 localStorage\n options.storageType = options.storageType || 'indexedDB';\n options.semverApi = getVal(platform, 'semverApi', [options.semverApi]);\n return options;\n}\nfunction markShadowDataBeforeLoad(appName, groupName, preFetchOptions) {\n if (preFetchOptions.shadow) {\n // 辅助后续流程标记 css link disable=true, style tag disable=true\n if (!groupName)\n return;\n var cssPrefix = getSuitableCssPrefix(appName, preFetchOptions);\n commonDataUtil.setIgnoreCssPrefix(cssPrefix);\n commonDataUtil.setIgnoreStyleTagKey(appName);\n commonDataUtil.setIgnoreStyleTagKey(groupName);\n commonDataUtil.setIgnoreCssPrefixKey(cssPrefix, groupName);\n }\n}\nfunction waitAppEmit(appName, innerOptions, loadAssetsStarter) {\n return __awaiter(this, void 0, void 0, function () {\n var eventBus, platform, _a, isLib, versionId, projectId, strictMatchVer, eventName, handleAppLoaded, emitAppOrLib;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n eventBus = getHelEventBus();\n platform = innerOptions.platform, _a = innerOptions.isLib, isLib = _a === void 0 ? false : _a, versionId = innerOptions.versionId, projectId = innerOptions.projectId, strictMatchVer = innerOptions.strictMatchVer;\n eventName = isLib ? helEvents.SUB_LIB_LOADED : helEvents.SUB_APP_LOADED;\n handleAppLoaded = null;\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n handleAppLoaded = function (appInfo) {\n judgeAppReady(appInfo, { appName: appName, platform: platform, versionId: versionId, projectId: projectId, isLib: isLib, next: resolve, error: reject, strictMatchVer: strictMatchVer }, innerOptions);\n };\n // 先监听,再触发资源加载,确保监听不会有遗漏\n eventBus.on(eventName, handleAppLoaded);\n if (loadAssetsStarter) {\n var appMeta = getAppMeta(appName, platform);\n appMeta && markShadowDataBeforeLoad(appName, appMeta.app_group_name, innerOptions);\n loadAssetsStarter().catch(reject);\n }\n })];\n case 1:\n _b.sent();\n if (handleAppLoaded) {\n eventBus.off(eventName, handleAppLoaded);\n }\n emitAppOrLib = getLibOrApp(appName, innerOptions);\n return [2 /*return*/, emitAppOrLib];\n }\n });\n });\n}\n/**\n * 预抓取一些应用 js 脚本并解析执行,返回应用暴露的模块或组件\n * @param appName\n * @param preFetchOptions\n * @returns\n */\nfunction innerPreFetch(appName, prefetchOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var emitApp, versionId, isLib, fnName, loadAssetsStarter, currentLoadStatus, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n emitApp = null;\n versionId = prefetchOptions.versionId, isLib = prefetchOptions.isLib;\n fnName = isLib ? pLib : pApp;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 7, , 8]);\n emitApp = getLibOrApp(appName, prefetchOptions);\n if (emitApp) {\n // 支持用户拉取同一个模块的多个版本,但是实际工程里不鼓励这么做\n if (!versionId || (versionId && emitApp.versionId === versionId)) {\n log$1(\"[[ \".concat(fnName, \" ]] return cached app:\"), appName, prefetchOptions);\n return [2 /*return*/, { emitApp: emitApp, msg: '' }];\n }\n }\n loadAssetsStarter = null;\n currentLoadStatus = getVerLoadStatus(appName, prefetchOptions);\n if (!(currentLoadStatus === helLoadStatus.LOADED)) return [3 /*break*/, 3];\n return [4 /*yield*/, waitAppEmit(appName, prefetchOptions)];\n case 2:\n emitApp = _a.sent();\n log$1(\"[[ \".concat(fnName, \" ]] return emit app:\"), appName, prefetchOptions, emitApp);\n return [2 /*return*/, { emitApp: emitApp, msg: '' }];\n case 3:\n if (!(currentLoadStatus !== helLoadStatus.LOADING)) return [3 /*break*/, 5];\n setVerLoadStatus(appName, helLoadStatus.LOADING, prefetchOptions);\n return [4 /*yield*/, loadApp(appName, __assign(__assign({}, prefetchOptions), { controlLoadAssets: true }))];\n case 4:\n loadAssetsStarter = _a.sent();\n perfPeek(pLogic, 'loadApp');\n _a.label = 5;\n case 5: return [4 /*yield*/, waitAppEmit(appName, prefetchOptions, loadAssetsStarter)];\n case 6:\n // 正在加载中,等待模块获取\n emitApp = _a.sent();\n perfPeek(pLogic, 'waitAppEmit');\n log$1(\"[[ \".concat(fnName, \" ]] return fetch&emit app:\"), appName, prefetchOptions, emitApp);\n return [2 /*return*/, { emitApp: emitApp, msg: '' }];\n case 7:\n err_1 = _a.sent();\n console.error(err_1);\n // 标记未加载,下次再进入可以继续重试\n setVerLoadStatus(appName, helLoadStatus.NOT_LOAD, prefetchOptions);\n return [2 /*return*/, { emitApp: emitApp, msg: err_1.message }];\n case 8: return [2 /*return*/];\n }\n });\n });\n}\n/**\n * 等待 helEvents.SUB_LIB_LOADED 信号发射的模块对象\n * 由 hel-lib-proxy 的 libReady 函数发射上来\n * 这里采取相信用户传递的是正确的模块名原则,故返回类型不写为 Promise<T | null>,\n * 如用户需要有空值返回断言处理,可以写为\n * ```js\n * const lib = await preFetchLib<Lib | null>('remote-lib-tpl');\n * ```\n */\nfunction preFetchLib(appName, rawOptions) {\n return __awaiter(this, void 0, Promise, function () {\n var perfLabel, seq, options, _a, emitApp, msg, appProperties, fallbackLib, details;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n perfMark(pLogic);\n perfLabel = \"\".concat(pLib, \"(\").concat(appName, \")\");\n seq = perfStart(perfLabel, true);\n options = getEnsuredOptions(true, rawOptions);\n return [4 /*yield*/, innerPreFetch(appName, options)];\n case 1:\n _a = _b.sent(), emitApp = _a.emitApp, msg = _a.msg;\n appProperties = emitApp === null || emitApp === void 0 ? void 0 : emitApp.appProperties;\n if (!appProperties && options.onLibNull) {\n fallbackLib = options.onLibNull(appName, { versionId: options.versionId });\n if (fallbackLib) {\n appProperties = fallbackLib;\n }\n }\n perfEnd(perfLabel, seq);\n perfPeek(pLogic, 'end', true);\n if (!appProperties) {\n details = msg ? \" details : \".concat(msg) : '';\n throw new Error(\"\".concat(pLib, \" \").concat(appName, \" fail from \").concat(options.platform, \", it may be an invalid module!\").concat(details));\n }\n return [2 /*return*/, appProperties];\n }\n });\n });\n}\n/**\n * 等待 helEvents.SUB_APP_LOADED 信号发射的应用根组件\n * 由中间层ui适配库自己实现,如 hel-micro-react 的 renderApp\n */\nfunction preFetchApp(appName, rawOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var options, appInfo;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n perfMark(pLogic);\n options = getEnsuredOptions(false, rawOptions);\n return [4 /*yield*/, innerPreFetch(appName, options)];\n case 1:\n appInfo = _a.sent();\n perfPeek(pLogic, 'end', true);\n return [2 /*return*/, (appInfo === null || appInfo === void 0 ? void 0 : appInfo.emitApp) || null];\n }\n });\n });\n}\n/**\n * 批量预加载模块,特别注意一下两点:\n * 1 因服务器端控制,一次性最多只能获取 8 个\n * 2 该接口仅支持 hel-pack(包括其他私有部署版)\n */\nfunction batchPreFetchLib(appNames, batchOptions) {\n return __awaiter(this, void 0, Promise, function () {\n var optionsMap, commonOptions, platform, _a, versionIdList, _b, projectIdList, _c, branchIdList, targetVerList, targetProjList, targetBranchList, appDataList, shouldFetchAppNames, ensuredOptionsMap, _d, _e, _i, idx, name, customOptions, options, appData, tasks, mods;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n optionsMap = (batchOptions === null || batchOptions === void 0 ? void 0 : batchOptions.preFetchConfigs) || {};\n commonOptions = __assign({ semverApi: false }, ((batchOptions === null || batchOptions === void 0 ? void 0 : batchOptions.common) || {}));\n platform = getPlatform(commonOptions.platform);\n _a = commonOptions.versionIdList, versionIdList = _a === void 0 ? [] : _a, _b = commonOptions.projectIdList, projectIdList = _b === void 0 ? [] : _b, _c = commonOptions.branchIdList, branchIdList = _c === void 0 ? [] : _c;\n targetVerList = [];\n targetProjList = [];\n targetBranchList = [];\n if (appNames.length > 8) {\n throw new Error('only support 8 appName at most!'); // 当前最多只支持最多拉8个\n }\n appDataList = [];\n shouldFetchAppNames = [];\n ensuredOptionsMap = {};\n _d = [];\n for (_e in appNames)\n _d.push(_e);\n _i = 0;\n _f.label = 1;\n case 1:\n if (!(_i < _d.length)) return [3 /*break*/, 4];\n idx = _d[_i];\n name = appNames[idx];\n customOptions = optionsMap[name];\n options = {\n platform: platform,\n versionId: versionIdList[idx] || '',\n projectId: projectIdList[idx] || '',\n branchId: branchIdList[idx] || '',\n };\n if (typeof customOptions === 'string' && customOptions) {\n options.versionId = customOptions;\n }\n else if (typeof customOptions === 'object' && customOptions) {\n options = __assign(__assign({}, options), purify(customOptions));\n options.platform = platform; // 平台值优先使用 common 设定值\n }\n ensuredOptionsMap[name] = options;\n options.enableDiskCache = getObjsVal([options, commonOptions], 'enableDiskCache', ENABLE_DISK_CACHE);\n options.enableSyncMeta = getObjsVal([options, commonOptions], 'enableSyncMeta', ENABLE_SYNC_META);\n options.storageType = getObjsVal([options, commonOptions], 'storageType', STORAGE_TYPE);\n return [4 /*yield*/, getAppFromRemoteOrLocal(name, options, { callRemote: false })];\n case 2:\n appData = _f.sent();\n if (!appData) {\n shouldFetchAppNames.push(name);\n // for ts check, add || ''\n targetVerList[idx] = options.versionId || '';\n targetProjList[idx] = options.projectId || '';\n targetBranchList[idx] = options.branchId || '';\n }\n _f.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n commonOptions.versionIdList = targetVerList;\n commonOptions.projectIdList = targetProjList;\n commonOptions.branchIdList = targetBranchList;\n if (!commonOptions.semverApi) return [3 /*break*/, 6];\n return [4 /*yield*/, Promise.all(shouldFetchAppNames.map(function (name) { return getSubAppAndItsVersion(name, ensuredOptionsMap[name]); }))];\n case 5:\n appDataList = _f.sent();\n return [3 /*break*/, 8];\n case 6: return [4 /*yield*/, batchGetSubAppAndItsVersion(shouldFetchAppNames, commonOptions)];\n case 7:\n appDataList = _f.sent();\n _f.label = 8;\n case 8:\n // 设置到内存里,方便后续 preFetchLib 执行时可以跳过请求阶段\n appDataList.forEach(function (_a) {\n var app = _a.app, version = _a.version;\n var loadOptions = ensuredOptionsMap[app.name] || {};\n cacheApp(app, { appVersion: version, platform: platform, toDisk: loadOptions.enableDiskCache, loadOptions: loadOptions });\n });\n tasks = appNames.map(function (name) { return preFetchLib(name, ensuredOptionsMap[name]); });\n return [4 /*yield*/, Promise.all(tasks)];\n case 9:\n mods = _f.sent();\n // @ts-ignore, trust user specified AnyRecord[]\n return [2 /*return*/, mods];\n }\n });\n });\n}\n\nvar apis = /*#__PURE__*/Object.freeze({\n __proto__: null,\n core: core$1,\n VER: VER,\n emitApp: emitApp,\n getAppCacheKey: getAppCacheKey,\n getCachedAppMeta: getCachedAppMeta,\n appMetaSrv: appMeta,\n appParamSrv: appParam,\n appStyleSrv: appStyle,\n logicSrv: logic,\n init: init,\n isSubApp: isSubApp,\n bindExternals: bindExternals,\n bindReactRuntime: bindReactRuntime,\n bindVueRuntime: bindVueRuntime,\n getExtraData: getExtraData,\n setExtraData: setExtraData,\n getFakeHelContext: getFakeHelContext,\n batchPreFetchLib: batchPreFetchLib,\n preFetchApp: preFetchApp,\n preFetchLib: preFetchLib\n});\n\nvar purify$1 = commonUtil$1.purify;\nvar eventBus$1 = getUserEventBus();\n// 无需处理的 key\nvar ignoreKeys = ['eventBus', 'getExtraData', 'setExtraData', 'bindExternals', 'bindVueRuntime', 'bindReactRuntime', 'isSubApp'];\n// core 层面函数处理规则\nvar coreRules = {\n // 不需要处理的\n ignoreFns: ['tryGetAppName', 'log', 'commonUtil', 'getCommonData', 'setCommonData', 'setGlobalThis'],\n // 这些函数仅1个参数,第1位参数是平台值字符串\n arg1PlatFns: ['getPlatformConfig', 'getSharedCache'],\n // 这些函数共2个参数,第2位参数是平台值字符串\n arg2PlatFns: ['initPlatformConfig', 'getAppMeta', 'setAppMeta', 'tryGetVersion', 'setAppPlatform'],\n // 这些函数共2个参数,第2位参数是平台值对象\n arg2PlatObjFns: [],\n};\n// 这些函数共2个参数,第2位参数是包含平台值的对象或版本号,且需要注入 semverApi 值\nvar preFetchFns = ['preFetchLib', 'preFetchApp'];\n// 这些函数共2个参数,第2位参数需要注入 semverApi 值\nvar injectSemverApiFns = ['getSubAppMeta', 'getMetaDataUrl'];\n// 这些函数第1位参数是平台值对象\nvar arg1PlatObjFns = ['emitApp', 'init'];\n// 这些函数第2位参数是平台值字符串\nvar arg2PlatFns = ['getAppCacheKey'];\nfunction injectPlat(platform, injectOptions) {\n var _this = this;\n var fnName = injectOptions.fnName, fn = injectOptions.fn, isCore = injectOptions.isCore, preFetchOptions = injectOptions.preFetchOptions;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var mergePlatObj = function (obj) { return (__assign({ platform: platform }, purify$1(obj || {}))); };\n var arg0 = args[0], arg1 = args[1], arg2 = args[2];\n if (isCore) {\n if (fnName === 'getPlatform') {\n // 来自 createInstace 实例调用,则返回的是对应的自定义平台\n return platform;\n }\n if (coreRules.arg1PlatFns.includes(fnName)) {\n args[0] = arg0 || platform;\n }\n else if (coreRules.arg2PlatFns.includes(fnName)) {\n args[1] = arg1 || platform;\n }\n else if (coreRules.arg2PlatObjFns.includes(fnName)) {\n args[1] = mergePlatObj(arg1);\n }\n else if (!coreRules.ignoreFns.includes(fnName)) {\n if (fnName.startsWith('set')) {\n // 统一按第3位参数是包含平台值的对象来处理\n args[2] = mergePlatObj(arg2);\n }\n else {\n // 统一按第2位参数是包含平台值的对象来处理,对于 getGlobalThis 等内部仅使用第一位参数的函数,处理了也不影响\n args[1] = mergePlatObj(arg1);\n }\n }\n // 剩下的 core 函数无需处理\n }\n else {\n // 开始处理非 core 层面的函数\n if (fnName === 'batchPreFetchLib') {\n // 特殊处理 batchPreFetchLib 的 batchOptions\n var arg1Var = arg1 || {};\n var common = mergePlatObj(arg1Var.common);\n args[1] = __assign(__assign({}, arg1Var), { common: common });\n }\n else if (preFetchFns.includes(fnName)) {\n var toMerge = purify$1(typeof arg1 === 'string' ? { versionId: arg1 } : arg1 || {});\n // 继续处理来自 createInstance 的预设参数\n if (preFetchOptions) {\n toMerge = purify$1(__assign(__assign({}, preFetchOptions), toMerge));\n }\n args[1] = __assign({ platform: platform }, toMerge);\n }\n else if (injectSemverApiFns.includes(fnName)) {\n var _a = (preFetchOptions || {}).semverApi, semverApi = _a === void 0 ? true : _a;\n args[1] = mergePlatObj(__assign({ semverApi: semverApi }, purify$1(arg1 || {})));\n }\n else if (arg1PlatObjFns.includes(fnName)) {\n args[0] = mergePlatObj(arg0);\n }\n else if (arg2PlatFns.includes(fnName)) {\n args[1] = arg1 || platform;\n }\n else {\n // 剩余的统一按第2位参数是包含平台值的对象来处理\n args[1] = mergePlatObj(arg1);\n }\n }\n // @ts-ignore\n return fn.apply(_this, args);\n };\n}\nfunction tryInjectPlatForMethods(platform, obj, options) {\n var preFetchOptions = options.preFetchOptions, isCore = options.isCore;\n var newObj = {};\n Object.keys(obj).forEach(function (mayFnName) {\n // @ts-ignore\n var mayFn = obj[mayFnName];\n if (ignoreKeys.includes(mayFnName)) {\n newObj[mayFnName] = mayFn;\n return;\n }\n var valueType = typeof mayFn;\n if (valueType === 'function') {\n var injectOptions = { fnName: mayFnName, fn: mayFn, isCore: isCore, preFetchOptions: preFetchOptions };\n newObj[mayFnName] = injectPlat(platform, injectOptions);\n return;\n }\n if (mayFn && valueType === 'object') {\n var tryOptions = __assign(__assign({}, options), { isCore: mayFnName === 'core' });\n newObj[mayFnName] = tryInjectPlatForMethods(platform, mayFn, tryOptions);\n return;\n }\n newObj[mayFnName] = mayFn;\n });\n return newObj;\n}\n/**\n * 预设获取参数自定义api实例,之后调用的api实例将总是自动带上用户的预设参数作为兜底参数\n * @param platform\n * @param preFetchOptions\n * @returns\n */\nfunction createInstance(platform, preFetchOptions) {\n var insApis = tryInjectPlatForMethods(platform, apis, { preFetchOptions: preFetchOptions });\n insApis.createInstance = createInstance;\n insApis.createOriginInstance = createOriginInstance;\n insApis.resetGlobalThis = resetGlobalThis$1;\n insApis.eventBus = eventBus$1;\n insApis.default = insApis;\n return insApis;\n}\n/**\n * 预设获取参数自定义api实例,同时将预设参数参数写入 origin 配置,这样用户使用原始 api 时也能够复用预设参数\n * ```\n * // 原始 api 指从 hel-micro 里直接导入的接口,例如下面的 preFetchLib 是原始 api\n * import { preFetchLib, createOriginInstance } from 'hel-micro';\n * // 预设 origin 配置\n * createOriginInstance('myplat', { apiPrefix: 'https://myplat.com', semverApi: false });\n * // 此后采用 preFetchLib 调用时将自动读取到对应平台预设的 origin 配置\n * preFetchLib('xx', {platform:'myplat'});\n * ```\n * 此方法通常用户用户基于 hel-micro 定制自己平台参数后再次发包到npm,别人使用此包体可自动获取对应平台的模块,例如\n * ```\n * // 发布此代码包体 custom-hel-micro 到 npm\n * import { preFetchLib, createOriginInstance } from 'hel-micro';\n * const ins = createOriginInstance(...);\n * export default ins;\n * ```\n */\nfunction createOriginInstance(platform, originOptions) {\n var _a = originOptions || {}, trustAppNames = _a.trustAppNames, preFetchOptions = __rest(_a, [\"trustAppNames\"]);\n originInit(platform, originOptions);\n return createInstance(platform, preFetchOptions);\n}\n\nvar VER$1 = VER, preFetchLib$1 = preFetchLib, preFetchApp$1 = preFetchApp, batchPreFetchLib$1 = batchPreFetchLib, appStyleSrv = appStyle, appParamSrv = appParam, appMetaSrv = appMeta, logicSrv = logic, emitApp$1 = emitApp, init$1 = init, isSubApp$1 = isSubApp, getAppCacheKey$1 = getAppCacheKey, getCachedAppMeta$1 = getCachedAppMeta, getFakeHelContext$1 = getFakeHelContext, getExtraData$1 = getExtraData, setExtraData$1 = setExtraData, bindExternals$1 = bindExternals, bindVueRuntime$1 = bindVueRuntime, bindReactRuntime$1 = bindReactRuntime, core = core$1;\nvar resetGlobalThis = resetGlobalThis$1;\nvar createInstance$1 = createInstance, createOriginInstance$1 = createOriginInstance;\nvar eventBus$2 = getUserEventBus();\ncore.log(\"hel-micro ver \".concat(VER$1));\nvar toExport$2 = {\n VER: VER$1,\n preFetchLib: preFetchLib$1,\n preFetchApp: preFetchApp$1,\n batchPreFetchLib: batchPreFetchLib$1,\n appStyleSrv: appStyleSrv,\n appParamSrv: appParamSrv,\n appMetaSrv: appMetaSrv,\n logicSrv: logicSrv,\n emitApp: emitApp$1,\n eventBus: eventBus$2,\n init: init$1,\n isSubApp: isSubApp$1,\n getAppCacheKey: getAppCacheKey$1,\n getCachedAppMeta: getCachedAppMeta$1,\n getFakeHelContext: getFakeHelContext$1,\n getExtraData: getExtraData$1,\n setExtraData: setExtraData$1,\n bindExternals: bindExternals$1,\n bindVueRuntime: bindVueRuntime$1,\n bindReactRuntime: bindReactRuntime$1,\n resetGlobalThis: resetGlobalThis,\n core: core$1,\n createInstance: createInstance$1,\n createOriginInstance: createOriginInstance$1,\n};\n// 仅为了用户安装好 hel-micro 时,会触发 hel-lib-proxy 内部的 mayBindIns 逻辑\n// 提供 hel-mono 架构的易用性\nmayBindIns(toExport$2);\ncommonUtil$1.noop(helLibProxy);\n\nexport default toExport$2;\nexport { VER$1 as VER, appMetaSrv, appParamSrv, appStyleSrv, batchPreFetchLib$1 as batchPreFetchLib, bindExternals$1 as bindExternals, bindReactRuntime$1 as bindReactRuntime, bindVueRuntime$1 as bindVueRuntime, core, createInstance$1 as createInstance, createOriginInstance$1 as createOriginInstance, emitApp$1 as emitApp, eventBus$2 as eventBus, getAppCacheKey$1 as getAppCacheKey, getCachedAppMeta$1 as getCachedAppMeta, getExtraData$1 as getExtraData, getFakeHelContext$1 as getFakeHelContext, init$1 as init, isSubApp$1 as isSubApp, logicSrv, preFetchApp$1 as preFetchApp, preFetchLib$1 as preFetchLib, resetGlobalThis, setExtraData$1 as setExtraData };\n","/**\n* @vue/shared v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return ((str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n });\n};\nconst camelizeRE = /-\\w/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `CACHED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\"(?:[^\"\\\\]|\\\\[^])*\"|'(?:[^'\\\\]|\\\\[^])*'|\\\\[^]|\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, (match) => match.startsWith(\"/*\") ? \"\" : match).split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u000d\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \"&quot;\";\n break;\n case 38:\n escaped = \"&amp;\";\n break;\n case 39:\n escaped = \"&#39;\";\n break;\n case 60:\n escaped = \"&lt;\";\n break;\n case 62:\n escaped = \"&gt;\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^(?:-?>)+|<!--|-->|--!>|<!-$/g;\nfunction escapeHtmlComment(src) {\n let prev;\n do {\n prev = src;\n src = src.replace(commentStripRE, \"\");\n } while (src !== prev);\n return src;\n}\nconst cssVarNameEscapeSymbolsRE = /[ !\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b, seen) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i], seen);\n }\n return equal;\n}\nfunction looseCompareCollections(a, b, seen) {\n if (a.size !== b.size) return false;\n const candidates = Array.from(b);\n const matched = new Uint8Array(candidates.length);\n for (const item of a) {\n let index = -1;\n for (let i = 0; i < candidates.length; i++) {\n if (!matched[i] && looseEqual(item, candidates[i], seen)) {\n index = i;\n break;\n }\n }\n if (index < 0) return false;\n matched[index] = 1;\n }\n return true;\n}\nfunction looseCompareObjects(a, b, seen) {\n let aValidType = isMap(a);\n let bValidType = isMap(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareCollections(a, b, seen) : false;\n }\n aValidType = isSet(a);\n bValidType = isSet(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareCollections(a, b, seen) : false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key], seen)) {\n return false;\n }\n }\n return String(a) === String(b);\n}\nfunction looseCompareNested(a, b, seen, compare) {\n if (!seen) {\n seen = [/* @__PURE__ */ new Map(), /* @__PURE__ */ new Map()];\n }\n const [seenA, seenB] = seen;\n if (seenA.has(a) || seenB.has(b)) {\n return seenA.get(a) === b && seenB.get(b) === a;\n }\n seenA.set(a, b);\n seenB.set(b, a);\n const equal = compare(a, b, seen);\n seenA.delete(a);\n seenB.delete(b);\n return equal;\n}\nfunction looseEqual(a, b, seen) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareNested(a, b, seen, looseCompareArrays) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n return looseCompareNested(a, b, seen, looseCompareObjects);\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nfunction normalizeCssVarValue(value) {\n if (value == null) {\n return \"initial\";\n }\n if (typeof value === \"string\") {\n return value === \"\" ? \" \" : value;\n }\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(\n \"[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:\",\n value\n );\n }\n }\n return String(value);\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeCssVarValue, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { extend, hasChanged, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, capitalize, toRawType, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, remove, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal track `on` calls, allow `on` call multiple times\n */\n this._on = 0;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this._warnOnRun = true;\n this.__v_skip = true;\n if (!detached && activeEffectScope) {\n if (activeEffectScope.active) {\n this.parent = activeEffectScope;\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n } else {\n this._active = false;\n this._warnOnRun = false;\n }\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n const scopes = this.scopes.slice();\n for (i = 0, l = scopes.length; i < l; i++) {\n scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n const scopes = this.scopes.slice();\n for (i = 0, l = scopes.length; i < l; i++) {\n scopes[i].resume();\n }\n }\n const effects = this.effects.slice();\n for (i = 0, l = effects.length; i < l; i++) {\n effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && this._warnOnRun) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n if (++this._on === 1) {\n this.prevScope = activeEffectScope;\n activeEffectScope = this;\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n if (this._on > 0 && --this._on === 0) {\n if (activeEffectScope === this) {\n activeEffectScope = this.prevScope;\n } else {\n let current = activeEffectScope;\n while (current) {\n if (current.prevScope === this) {\n current.prevScope = this.prevScope;\n break;\n }\n current = current.prevScope;\n }\n }\n this.prevScope = void 0;\n }\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n const scopes = this.scopes.slice();\n for (i = 0, l = scopes.length; i < l; i++) {\n scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\",\n \"EVALUATED\": 128,\n \"128\": \"EVALUATED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope) {\n if (activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n } else {\n this.flags &= -2;\n }\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= -65;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= -3;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= -2;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= -17;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {\n return;\n }\n computed.flags |= 2;\n const dep = computed.dep;\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed.flags |= 128;\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= -3;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= -5;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n /**\n * @internal\n */\n this.__v_skip = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n if (isShallow(array)) return raw;\n if (!isReadonly(array)) return raw.map(toReactive);\n return isReactive(array) ? raw.map((item) => toReadonly(toReactive(item))) : raw.map(toReadonly);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nfunction toWrapped(target, item) {\n if (isReadonly(target)) {\n return isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item);\n }\n return toReactive(item);\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, (item) => toWrapped(this, item));\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toWrapped(this, value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(\n this,\n \"filter\",\n fn,\n thisArg,\n (v) => v.map((item) => toWrapped(this, item)),\n arguments\n );\n },\n find(fn, thisArg) {\n return apply(\n this,\n \"find\",\n fn,\n thisArg,\n (item) => toWrapped(this, item),\n arguments\n );\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(\n this,\n \"findLast\",\n fn,\n thisArg,\n (item) => toWrapped(this, item),\n arguments\n );\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimization required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", (item) => toWrapped(this, item));\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const methodFn = arr[method];\n const iter = methodFn.call(arr);\n if (arr !== self && !isShallow(self)) {\n if (iter[Symbol.toStringTag] === \"Array Iterator\") {\n const wrapped = Object.create(Object.getPrototypeOf(iter));\n wrapped.next = () => wrapResult(iter.next(), wrapValue);\n if (methodFn !== arrayProto[method]) {\n Object.defineProperties(wrapped, {\n return: {\n get() {\n const fn = iter.return;\n return typeof fn === \"function\" ? fn.bind(iter) : fn;\n }\n },\n throw: {\n get() {\n const fn = iter.throw;\n return typeof fn === \"function\" ? fn.bind(iter) : fn;\n }\n }\n });\n }\n return wrapped;\n }\n iter._next = iter.next;\n iter.next = () => wrapResult(iter._next(), wrapValue);\n }\n return iter;\n}\nfunction wrapResult(result, wrapValue) {\n if (!result.done) {\n result.value = wrapValue(result.value);\n }\n return result;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toWrapped(self, item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n let wrappedFn = fn;\n let wrapInitialAccumulator = false;\n if (arr !== self) {\n if (needsWrap) {\n wrapInitialAccumulator = args.length === 0;\n wrappedFn = function(acc, item, index) {\n if (wrapInitialAccumulator) {\n wrapInitialAccumulator = false;\n acc = toWrapped(self, acc);\n }\n return fn.call(this, acc, toWrapped(self, item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n const result = arr[method](wrappedFn, ...args);\n return wrapInitialAccumulator ? toWrapped(self, result) : result;\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n const value = targetIsArray && isIntegerKey(key) ? res : res.value;\n return isReadonly2 && isObject(value) ? readonly(value) : value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n const isArrayWithIntegerKey = isArray(target) && isIntegerKey(key);\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArrayWithIntegerKey && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target[key]\n );\n }\n return true;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver) && result) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return extend(\n // inheriting all iterator properties\n Object.create(innerIterator),\n {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n }\n }\n );\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return target.size;\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n const target = toRaw(this);\n const proto = getProto(target);\n const rawValue = toRaw(value);\n const valueToAdd = !shallow && !isShallow(value) && !isReadonly(value) ? rawValue : value;\n const hadKey = proto.has.call(target, valueToAdd) || hasChanged(value, valueToAdd) && proto.has.call(target, value) || hasChanged(rawValue, valueToAdd) && proto.has.call(target, rawValue);\n if (!hadKey) {\n target.add(valueToAdd);\n trigger(target, \"add\", valueToAdd, valueToAdd);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction reactive(target) {\n if (/* @__PURE__ */ isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n if (target[\"__v_skip\"] || !Object.isExtensible(target)) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = targetTypeMap(toRawType(target));\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\n// @__NO_SIDE_EFFECTS__\nfunction isReactive(value) {\n if (/* @__PURE__ */ isReadonly(value)) {\n return /* @__PURE__ */ isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? /* @__PURE__ */ toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;\n\n// @__NO_SIDE_EFFECTS__\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\n// @__NO_SIDE_EFFECTS__\nfunction ref(value) {\n return createRef(value, false);\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (/* @__PURE__ */ isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, key, _defaultValue) {\n this._object = _object;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n this._key = isSymbol(key) ? key : String(key);\n this._raw = toRaw(_object);\n let shallow = true;\n let obj = _object;\n if (!isArray(_object) || isSymbol(this._key) || !isIntegerKey(this._key)) {\n do {\n shallow = !isProxy(obj) || isShallow(obj);\n } while (shallow && (obj = obj[\"__v_raw\"]));\n }\n this._shallow = shallow;\n }\n get value() {\n let val = this._object[this._key];\n if (this._shallow) {\n val = unref(val);\n }\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {\n const nestedRef = this._object[this._key];\n if (/* @__PURE__ */ isRef(nestedRef)) {\n nestedRef.value = newVal;\n return;\n }\n }\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(this._raw, this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRef(source, key, defaultValue) {\n if (/* @__PURE__ */ isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return /* @__PURE__ */ ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n return new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n try {\n return _cb(...args);\n } finally {\n watchHandle();\n }\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (immediateFirstRun || deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n const currentWatcher = activeWatcher;\n pauseTracking();\n try {\n if (cleanup) {\n cleanup();\n }\n activeWatcher = effect;\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n oldValue = newValue;\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n } finally {\n activeWatcher = currentWatcher;\n resetTracking();\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Map();\n if ((seen.get(value) || 0) >= depth) {\n return value;\n }\n seen.set(value, depth);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, watch as watch$1, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, customRef, shallowReactive, trigger, ReactiveEffect, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, hyphenate, hasChanged, looseToNumber, isModelListener, looseEqual, EMPTY_ARR, toRawType, makeMap, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n for (let i = 0; i < cb.length; i++) {\n pendingPostFlushCbs.push(cb[i]);\n }\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, minUid, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid || minUid !== void 0 && !(cb.id >= minUid)) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i = instance ? i - 1 : flushIndex;\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= -2;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen, skip, minUid = 0) {\n if (pendingPostFlushCbs.length) {\n let cbs = pendingPostFlushCbs;\n let kept = 0;\n if (skip) {\n cbs = [];\n for (let i = 0; i < pendingPostFlushCbs.length; i++) {\n const cb = pendingPostFlushCbs[i];\n if (cb.i !== void 0 ? !cb.i || cb.i.uid < minUid : skip.has(cb)) {\n pendingPostFlushCbs[kept++] = cb;\n } else {\n cbs.push(cb);\n }\n }\n }\n const deduped = [...new Set(cbs)].sort((a, b) => getId(a) - getId(b));\n pendingPostFlushCbs.length = kept;\n if (activePostFlushCbs) {\n for (let i = 0; i < deduped.length; i++) {\n activePostFlushCbs.push(deduped[i]);\n }\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= -2;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nlet isFlushing = false;\nfunction flushOnAppMount(fn, minUid) {\n if (isFlushing) {\n fn();\n return;\n }\n const queued = minUid === void 0 ? void 0 : new Set(pendingPostFlushCbs);\n fn();\n isFlushing = true;\n try {\n flushPreFlushCbs(void 0, minUid);\n flushPostFlushCbs(void 0, queued, minUid);\n } finally {\n isFlushing = false;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= -2;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst setHmrUpdating = (v) => {\n try {\n return isHmrUpdating;\n } finally {\n isHmrUpdating = v;\n }\n};\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n if (!(instance.job.flags & 8)) {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n }\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n const prevStackSize = blockStack.length;\n let res;\n try {\n res = fn(...args);\n } finally {\n for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nfunction provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!currentInstance || currentInstance.isMounted) {\n warn$1(`provide() can only be used inside setup().`);\n }\n }\n if (currentInstance) {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = getCurrentInstance();\n if (instance || currentApp) {\n let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(getCurrentInstance() || currentApp);\n}\n\nconst ssrContextKey = /* @__PURE__ */ Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, flush, once } = options;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const baseWatchOptions = extend({}, options);\n if (!!(process.env.NODE_ENV !== \"production\")) baseWatchOptions.onWarn = warn$1;\n const runsImmediately = cb && immediate || !cb && flush !== \"post\";\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else if (!runsImmediately) {\n const watchStopHandle = () => {\n };\n watchStopHandle.stop = NOOP;\n watchStopHandle.resume = NOOP;\n watchStopHandle.pause = NOOP;\n return watchStopHandle;\n }\n }\n const instance = currentInstance;\n baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);\n let isPre = false;\n if (flush === \"post\") {\n baseWatchOptions.scheduler = (job) => {\n job.i = instance;\n queuePostRenderEffect(job, instance && instance.suspense);\n };\n } else if (flush !== \"sync\") {\n isPre = true;\n baseWatchOptions.scheduler = (job, isFirstRun) => {\n if (isFirstRun) {\n job();\n } else {\n queueJob(job);\n }\n };\n }\n baseWatchOptions.augmentJob = (job) => {\n if (cb) {\n job.flags |= 4;\n }\n if (isPre) {\n job.flags |= 2;\n if (instance) {\n job.id = instance.uid;\n job.i = instance;\n }\n }\n };\n const watchHandle = watch$1(source, cb, baseWatchOptions);\n if (isInSSRComponentSetup) {\n if (ssrCleanup) {\n ssrCleanup.push(watchHandle);\n } else if (runsImmediately) {\n watchHandle();\n }\n }\n return watchHandle;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\n\nconst pendingMounts = /* @__PURE__ */ new WeakMap();\nconst TeleportEndKey = /* @__PURE__ */ Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment, parentNode }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n const mount = (vnode, container2, anchor2) => {\n if (vnode.shapeFlag & 16) {\n mountChildren(\n vnode.children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = (vnode = n2) => {\n const disabled2 = isTeleportDisabled(vnode.props);\n const target = vnode.target = resolveTarget(vnode.props, querySelector);\n const targetAnchor = prepareAnchor(target, vnode, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (parentComponent && parentComponent.isCE) {\n (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);\n }\n if (!disabled2) {\n mount(vnode, target, targetAnchor);\n updateCssVars(vnode, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled2) {\n warn$1(\"Invalid Teleport target on mount:\", target, `(${typeof target})`);\n }\n };\n const queuePendingMount = (vnode) => {\n const mountJob = () => {\n if (pendingMounts.get(vnode) !== mountJob) return;\n pendingMounts.delete(vnode);\n if (isTeleportDisabled(vnode.props)) {\n const mountContainer = parentNode(vnode.el) || container;\n mount(vnode, mountContainer, vnode.anchor);\n updateCssVars(vnode, true);\n }\n mountToTarget(vnode);\n };\n pendingMounts.set(vnode, mountJob);\n queuePostRenderEffect(mountJob, parentSuspense);\n };\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {\n queuePendingMount(n2);\n return;\n }\n if (disabled) {\n mount(n2, container, mainAnchor);\n updateCssVars(n2, true);\n }\n mountToTarget();\n } else {\n n2.el = n1.el;\n const mainAnchor = n2.anchor = n1.anchor;\n const pendingMount = pendingMounts.get(n1);\n if (pendingMount) {\n pendingMount.flags |= 8;\n pendingMounts.delete(n1);\n queuePendingMount(n2);\n return;\n }\n n2.targetStart = n1.targetStart;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, !!!(process.env.NODE_ENV !== \"production\"));\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = resolveTarget(n2.props, querySelector);\n if (nextTarget) {\n n2.target = nextTarget;\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n const disabled = isTeleportDisabled(props);\n const shouldRemove = doRemove || !disabled;\n const pendingMount = pendingMounts.get(vnode);\n if (pendingMount) {\n pendingMount.flags |= 8;\n pendingMounts.delete(vnode);\n }\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (!pendingMount && (disabled || target) && shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n if (vnode.targetStart) {\n insert(vnode.targetStart, container, parentAnchor);\n }\n insert(vnode.targetAnchor, container, parentAnchor);\n parentAnchor = vnode.targetAnchor;\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n function hydrateAnchor(target2, targetNode) {\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n }\n function hydrateDisabledTeleport(node2, vnode2) {\n vnode2.anchor = hydrateChildren(\n nextSibling(node2),\n vnode2,\n parentNode(node2),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n const disabled = isTeleportDisabled(vnode.props);\n if (target) {\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n hydrateDisabledTeleport(node, vnode);\n hydrateAnchor(target, targetNode);\n if (!vnode.targetAnchor) {\n prepareAnchor(\n target,\n vnode,\n createText,\n insert,\n // if target is the same as the main view, insert anchors before current node\n // to avoid hydrating mismatch\n parentNode(node) === target ? node : null\n );\n }\n } else {\n vnode.anchor = nextSibling(node);\n hydrateAnchor(target, targetNode);\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n } else if (disabled) {\n if (vnode.shapeFlag & 16) {\n hydrateDisabledTeleport(node, vnode);\n vnode.targetStart = node;\n vnode.targetAnchor = nextSibling(node);\n }\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert, anchor = null) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target, anchor);\n insert(targetAnchor, target, anchor);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = /* @__PURE__ */ Symbol(\"_leaveCb\");\nconst enterCbKey = /* @__PURE__ */ Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n const child = children && children.length ? findNonCommentChild(children) : (\n // Keep explicit default-slot conditionals on the same transition path\n // as regular v-if branches, which render a comment placeholder.\n instance.subTree ? createCommentVNode() : void 0\n );\n if (!child) {\n return;\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid <transition> mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && getTransitionRoot(instance.subTree)) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \"<transition> can only be used on a single element or component. Use <transition-group> for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode)) {\n let leavingCb = leavingVNode.el[leaveCbKey];\n if (!leavingCb) {\n const leavingRoot = getTransitionRoot(leavingVNode);\n leavingCb = leavingRoot && leavingRoot.el[leaveCbKey];\n }\n if (leavingCb) {\n leavingCb();\n }\n }\n callHook(hook, [el]);\n },\n enter(el) {\n if (!isHmrUpdating && leavingVNodesCache[key] === vnode) return;\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n const done = el[enterCbKey].bind(null, false);\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n const done = el[leaveCbKey].bind(null, false);\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n const subTree = vnode.component.subTree;\n setTransitionHooks(\n isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,\n hooks\n );\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n if (vnode.type === Fragment && isArray(vnode.children)) {\n const child = filterSingleRoot(vnode.children, false);\n if (child) {\n setTransitionHooks(child, hooks);\n }\n }\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\nfunction getTransitionRoot(vnode) {\n if (vnode.component) {\n return getTransitionRoot(vnode.component.subTree);\n }\n if (vnode.type === Fragment) {\n const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);\n return child ? getTransitionRoot(child) : void 0;\n }\n if (vnode.type !== Comment) {\n return vnode;\n }\n}\n\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n if (!!(process.env.NODE_ENV !== \"production\") && isTemplateRefKey(refs, key)) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\nfunction isTemplateRefKey(refs, key) {\n let desc;\n return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);\n}\n\nconst pendingSetRefMap = /* @__PURE__ */ new WeakMap();\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n if (isTemplateRefKey(refs, key)) {\n return false;\n }\n return hasOwn(rawSetupState, key);\n };\n const canSetRef = (ref2, key) => {\n if (!!(process.env.NODE_ENV !== \"production\") && knownTemplateRefs.has(ref2)) {\n return false;\n }\n if (key && isTemplateRefKey(refs, key)) {\n return false;\n }\n return true;\n };\n if (oldRef != null && oldRef !== ref) {\n invalidatePendingSetRef(oldRawRef);\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n const oldRawRefAtom = oldRawRef;\n if (canSetRef(oldRef, oldRawRefAtom.k)) {\n oldRef.value = null;\n }\n if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n const newVal = [refValue];\n if (canSetRef(ref, rawRef.k)) {\n ref.value = newVal;\n }\n if (rawRef.k) refs[rawRef.k] = newVal;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n if (canSetRef(ref, rawRef.k)) {\n ref.value = value;\n }\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n const job = () => {\n doSet();\n pendingSetRefMap.delete(rawRef);\n };\n job.id = -1;\n pendingSetRefMap.set(rawRef, job);\n queuePostRenderEffect(job, parentSuspense);\n } else {\n invalidatePendingSetRef(rawRef);\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\nfunction invalidatePendingSetRef(rawRef) {\n const pendingSetRef = pendingSetRefMap.get(rawRef);\n if (pendingSetRef) {\n pendingSetRef.flags |= 8;\n pendingSetRefMap.delete(rawRef);\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if ((isAsyncWrapper(vnode) || vnode.component.asyncDep) && !vnode.component.subTree) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Static);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\n node.nodeType === 8 ? Comment : \"div\"\n );\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const {\n type,\n dynamicProps,\n props,\n patchFlag,\n shapeFlag,\n dirs,\n transition\n } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n const hasDynamicProps = !!dynamicProps;\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || hasDynamicProps || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n const cls = content.getAttribute(\"class\");\n if (cls) content.$cls = cls;\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n logMismatchError();\n }\n while (next) {\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n const { textContent } = el;\n if (textContent !== clientText && // innerHTML normalize \\r\\n or \\r into a single \\n in the DOM\n textContent !== clientText.replace(/\\r\\n|\\r/g, \"\\n\")) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${textContent}\n - expected on client: ${clientText}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || hasDynamicProps || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n const namespace = el.namespaceURI.includes(\"svg\") ? \"svg\" : el.namespaceURI.includes(\"MathML\") ? \"mathml\" : void 0;\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {\n if (isUnchangedResourceProp(el, key, props[key])) {\n continue;\n }\n patchProp(el, key, null, props[key], namespace, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasCheckedMismatch = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!hasCheckedMismatch) {\n hasCheckedMismatch = true;\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n logMismatchError();\n }\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isNodeMismatchAllowed(node, vnode)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nconst resourceProps = /* @__PURE__ */ new Set([\"src\", \"srcset\", \"href\", \"poster\"]);\nfunction isUnchangedResourceProp(el, key, clientValue) {\n if (!resourceProps.has(key)) {\n return false;\n }\n return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n if (el.$cls) {\n actual = el.$cls;\n delete el.$cls;\n } else {\n actual = el.getAttribute(\"class\");\n }\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (key === \"hidden\") {\n actual = normalizeHiddenValue(el.getAttribute(key));\n expected = normalizeHiddenValue(clientValue);\n } else if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction normalizeHiddenValue(value) {\n if (!isRenderableAttrValue(value)) {\n return false;\n }\n if (isString(value)) {\n return value.toLowerCase() === \"until-found\" ? \"until-found\" : \"\";\n }\n return includeBooleanAttr(value) ? \"\" : false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n const value = normalizeCssVarValue(cssVars[key]);\n expectedMap.set(`--${getEscapedCssVarName(key, false)}`, value);\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n return isMismatchAllowedByAttr(\n el && el.getAttribute(allowMismatchAttr),\n allowedType\n );\n}\nfunction isMismatchAllowedByAttr(allowedAttr, allowedType) {\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return list.includes(MismatchTypeString[allowedType]);\n }\n}\nfunction isNodeMismatchAllowed(node, vnode) {\n return isMismatchAllowed(node.parentElement, 1 /* CHILDREN */) || isMismatchAllowedByNode(node) || isMismatchAllowedByVNode(vnode);\n}\nfunction isMismatchAllowedByNode(node) {\n return node.nodeType === 1 && isMismatchAllowedByAttr(\n node.getAttribute(allowMismatchAttr),\n 1 /* CHILDREN */\n );\n}\nfunction isMismatchAllowedByVNode({ props }) {\n const allowedAttr = props && props[allowMismatchAttr];\n return typeof allowedAttr === \"string\" && isMismatchAllowedByAttr(allowedAttr, 1 /* CHILDREN */);\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n const observe = (el) => {\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n if (getComputedStyle(el).display === \"contents\") {\n for (let i = 0; i < el.children.length; i++) {\n if (observe(el.children[i]) === false) return false;\n }\n }\n ob.observe(el);\n };\n forEach((el) => {\n if (!(el instanceof Element)) return;\n return observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const wasConnected = el.isConnected;\n let patched = false;\n (instance.bu || (instance.bu = [])).push(() => patched = true);\n const performHydrate = () => {\n if (patched) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`\n );\n }\n return;\n }\n if (!el.parentNode || wasConnected && !el.isConnected) return;\n hydrate();\n };\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n performHydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : performHydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n let timeoutTimer;\n let delayTimer;\n onUnmounted(() => {\n if (timeoutTimer != null) clearTimeout(timeoutTimer);\n if (delayTimer != null) clearTimeout(delayTimer);\n });\n if (delay) {\n delayTimer = setTimeout(() => {\n if (instance.isUnmounted) return;\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n timeoutTimer = setTimeout(() => {\n if (instance.isUnmounted) return;\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n if (instance.isUnmounted) return;\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n if (instance.isUnmounted) {\n pendingRequest = null;\n return;\n }\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createInnerComp(\n loadingComponent,\n instance\n );\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n instance2.__keepAliveStorageContainer = storageContainer;\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type\n );\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n if (cached) resetShapeFlag(cached);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n const vnode = getInnerChild(instance.subTree);\n if (vnode.component) {\n cache.set(pendingCacheKey, vnode);\n }\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= -257;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= -257;\n vnode.shapeFlag &= -513;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n let isReadonlySource = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n isReadonlySource = isReadonly(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!Number.isInteger(source) || source < 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `The v-for range expects a positive integer value but got ${source}.`\n );\n }\n ret = [];\n } else {\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props, fallback, noSlotted, branchKey) {\n if (props == null) props = {};\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;\n const hasProps = Object.keys(slotProps).length > 0;\n if (name !== \"default\") slotProps.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", slotProps, fallback && fallback())],\n hasProps ? -2 : 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n const prevStackSize = blockStack.length;\n openBlock();\n let rendered;\n try {\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n } catch (err) {\n for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();\n throw err;\n } finally {\n if (slot && slot._c) {\n slot._d = true;\n }\n }\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst resolveDevRootEl = (vnode) => {\n let found = false;\n while (true) {\n if (vnode.patchFlag > 0 && vnode.patchFlag & 2048) {\n const root = filterSingleRoot(vnode.children);\n if (!root) {\n return;\n }\n vnode = root;\n found = true;\n continue;\n }\n const component = vnode.component;\n if (component && component.subTree) {\n vnode = component.subTree;\n continue;\n }\n const suspense = vnode.suspense;\n if (suspense && suspense.activeBranch) {\n vnode = suspense.activeBranch;\n continue;\n }\n return found ? vnode.el : void 0;\n }\n};\nconst getDevRootFragmentEl = (i) => {\n const el = i.subTree && resolveDevRootEl(i.subTree);\n return el === void 0 ? i.vnode.el : el;\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => !!(process.env.NODE_ENV !== \"production\") ? getDevRootFragmentEl(i) : i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (hasOwn(props, key)) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate <script setup> binding \"${key}\" from Options API.`);\n return false;\n } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {\n data[key] = value;\n return true;\n } else if (hasOwn(instance.props, key)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Attempting to mutate prop \"${key}\". Props are readonly.`);\n return false;\n }\n if (key[0] === \"$\" && key.slice(1) in instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Attempting to mutate public property \"${key}\". Properties starting with $ are reserved and readonly.`\n );\n return false;\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && key in instance.appContext.config.globalProperties) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n value\n });\n } else {\n ctx[key] = value;\n }\n }\n return true;\n },\n has({\n _: { data, setupState, accessCache, ctx, appContext, props, type }\n }, key) {\n let cssModules;\n return !!(accessCache[key] || __VUE_OPTIONS_API__ && data !== EMPTY_OBJ && key[0] !== \"$\" && hasOwn(data, key) || hasSetupBinding(setupState, key) || hasOwn(props, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]);\n },\n defineProperty(target, key, descriptor) {\n if (descriptor.get != null) {\n target._.accessCache[key] = 0;\n } else if (hasOwn(descriptor, \"value\")) {\n this.set(target, key, descriptor.value, null);\n }\n return Reflect.defineProperty(target, key, descriptor);\n }\n};\nif (!!(process.env.NODE_ENV !== \"production\") && true) {\n PublicInstanceProxyHandlers.ownKeys = (target) => {\n warn$1(\n `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`\n );\n return Reflect.ownKeys(target);\n };\n}\nconst RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend({}, PublicInstanceProxyHandlers, {\n get(target, key) {\n if (key === Symbol.unscopables) {\n return;\n }\n return PublicInstanceProxyHandlers.get(target, key, target);\n },\n has(_, key) {\n const has = key[0] !== \"_\" && !isGloballyAllowed(key);\n if (!!(process.env.NODE_ENV !== \"production\") && !has && PublicInstanceProxyHandlers.has(_, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} should not start with _ which is a reserved prefix for Vue internals.`\n );\n }\n return has;\n }\n});\nfunction createDevRenderContext(instance) {\n const target = {};\n Object.defineProperty(target, `_`, {\n configurable: true,\n enumerable: false,\n get: () => instance\n });\n Object.keys(publicPropertiesMap).forEach((key) => {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: false,\n get: () => publicPropertiesMap[key](instance),\n // intercepted by the proxy so no need for implementation,\n // but needed to prevent set errors\n set: NOOP\n });\n });\n return target;\n}\nfunction exposePropsOnRenderContext(instance) {\n const {\n ctx,\n propsOptions: [propsOptions]\n } = instance;\n if (propsOptions) {\n Object.keys(propsOptions).forEach((key) => {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => instance.props[key],\n set: NOOP\n });\n });\n }\n}\nfunction exposeSetupStateOnRenderContext(instance) {\n const { ctx, setupState } = instance;\n Object.keys(toRaw(setupState)).forEach((key) => {\n if (!setupState.__isScriptSetup) {\n if (isReservedPrefix(key[0])) {\n warn$1(\n `setup() return property ${JSON.stringify(\n key\n )} should not start with \"$\" or \"_\" which are reserved prefixes for Vue internals.`\n );\n return;\n }\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => setupState[key],\n set: NOOP\n });\n }\n });\n}\n\nconst warnRuntimeUsage = (method) => warn$1(\n `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`\n);\nfunction defineProps() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineProps`);\n }\n return null;\n}\nfunction defineEmits() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineEmits`);\n }\n return null;\n}\nfunction defineExpose(exposed) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineExpose`);\n }\n}\nfunction defineOptions(options) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineOptions`);\n }\n}\nfunction defineSlots() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineSlots`);\n }\n return null;\n}\nfunction defineModel() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(\"defineModel\");\n }\n}\nfunction withDefaults(props, defaults) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`withDefaults`);\n }\n return null;\n}\nfunction useSlots() {\n return getContext(\"useSlots\").slots;\n}\nfunction useAttrs() {\n return getContext(\"useAttrs\").attrs;\n}\nfunction getContext(calledFunctionName) {\n const i = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\n warn$1(`${calledFunctionName}() called without active instance.`);\n }\n return i.setupContext || (i.setupContext = createSetupContext(i));\n}\nfunction normalizePropsOrEmits(props) {\n return isArray(props) ? props.reduce(\n (normalized, p) => (normalized[p] = null, normalized),\n {}\n ) : props;\n}\nfunction mergeDefaults(raw, defaults) {\n const props = normalizePropsOrEmits(raw);\n for (const key in defaults) {\n if (key.startsWith(\"__skip\")) continue;\n let opt = props[key];\n if (opt) {\n if (isArray(opt) || isFunction(opt)) {\n opt = props[key] = { type: opt, default: defaults[key] };\n } else {\n opt.default = defaults[key];\n }\n } else if (opt === null) {\n opt = props[key] = { default: defaults[key] };\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`props default key \"${key}\" has no corresponding declaration.`);\n }\n if (opt && defaults[`__skip_${key}`]) {\n opt.skipFactory = true;\n }\n }\n return props;\n}\nfunction mergeModels(a, b) {\n if (!a || !b) return a || b;\n if (isArray(a) && isArray(b)) return a.concat(b);\n return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));\n}\nfunction createPropsRestProxy(props, excludedKeys) {\n const ret = {};\n for (const key in props) {\n if (!excludedKeys.includes(key)) {\n Object.defineProperty(ret, key, {\n enumerable: true,\n get: () => props[key]\n });\n }\n }\n return ret;\n}\nfunction withAsyncContext(getAwaitable) {\n const ctx = getCurrentInstance();\n const inSSRSetup = isInSSRComponentSetup;\n if (!!(process.env.NODE_ENV !== \"production\") && !ctx) {\n warn$1(\n `withAsyncContext called without active current instance. This is likely a bug.`\n );\n }\n let awaitable = getAwaitable();\n unsetCurrentInstance();\n if (inSSRSetup) {\n setInSSRSetupState(false);\n }\n const restore = () => {\n setCurrentInstance(ctx);\n if (inSSRSetup) {\n setInSSRSetupState(true);\n }\n };\n const cleanup = () => {\n if (getCurrentInstance() !== ctx) ctx.scope.off();\n unsetCurrentInstance();\n if (inSSRSetup) {\n setInSSRSetupState(false);\n }\n };\n if (isPromise(awaitable)) {\n awaitable = awaitable.catch((e) => {\n restore();\n Promise.resolve().then(() => Promise.resolve().then(cleanup));\n throw e;\n });\n }\n return [\n awaitable,\n () => {\n restore();\n Promise.resolve().then(cleanup);\n }\n ];\n}\n\nfunction createDuplicateChecker() {\n const cache = /* @__PURE__ */ Object.create(null);\n return (type, key) => {\n if (cache[key]) {\n warn$1(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\n } else {\n cache[key] = type;\n }\n };\n}\nlet shouldCacheAccess = true;\nfunction applyOptions(instance) {\n const options = resolveMergedOptions(instance);\n const publicThis = instance.proxy;\n const ctx = instance.ctx;\n shouldCacheAccess = false;\n if (options.beforeCreate) {\n callHook(options.beforeCreate, instance, \"bc\");\n }\n const {\n // state\n data: dataOptions,\n computed: computedOptions,\n methods,\n watch: watchOptions,\n provide: provideOptions,\n inject: injectOptions,\n // lifecycle\n created,\n beforeMount,\n mounted,\n beforeUpdate,\n updated,\n activated,\n deactivated,\n beforeDestroy,\n beforeUnmount,\n destroyed,\n unmounted,\n render,\n renderTracked,\n renderTriggered,\n errorCaptured,\n serverPrefetch,\n // public API\n expose,\n inheritAttrs,\n // assets\n components,\n directives,\n filters\n } = options;\n const checkDuplicateProperties = !!(process.env.NODE_ENV !== \"production\") ? createDuplicateChecker() : null;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const [propsOptions] = instance.propsOptions;\n if (propsOptions) {\n for (const key in propsOptions) {\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\n }\n }\n }\n if (injectOptions) {\n resolveInjections(injectOptions, ctx, checkDuplicateProperties);\n }\n if (methods) {\n for (const key in methods) {\n const methodHandler = methods[key];\n if (isFunction(methodHandler)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n Object.defineProperty(ctx, key, {\n value: methodHandler.bind(publicThis),\n configurable: true,\n enumerable: true,\n writable: true\n });\n } else {\n ctx[key] = methodHandler.bind(publicThis);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. Did you reference the function correctly?`\n );\n }\n }\n }\n if (dataOptions) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(dataOptions)) {\n warn$1(\n `The data option must be a function. Plain object usage is no longer supported.`\n );\n }\n const data = dataOptions.call(publicThis, publicThis);\n if (!!(process.env.NODE_ENV !== \"production\") && isPromise(data)) {\n warn$1(\n `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`\n );\n }\n if (!isObject(data)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`data() should return an object.`);\n } else {\n instance.data = reactive(data);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (const key in data) {\n checkDuplicateProperties(\"Data\" /* DATA */, key);\n if (!isReservedPrefix(key[0])) {\n Object.defineProperty(ctx, key, {\n configurable: true,\n enumerable: true,\n get: () => data[key],\n set: NOOP\n });\n }\n }\n }\n }\n }\n shouldCacheAccess = true;\n if (computedOptions) {\n for (const key in computedOptions) {\n const opt = computedOptions[key];\n const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;\n if (!!(process.env.NODE_ENV !== \"production\") && get === NOOP) {\n warn$1(`Computed property \"${key}\" has no getter.`);\n }\n const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn$1(\n `Write operation failed: computed property \"${key}\" is readonly.`\n );\n } : NOOP;\n const c = computed({\n get,\n set\n });\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => c.value,\n set: (v) => c.value = v\n });\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\n }\n }\n }\n if (watchOptions) {\n for (const key in watchOptions) {\n createWatcher(watchOptions[key], ctx, publicThis, key);\n }\n }\n if (provideOptions) {\n const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;\n Reflect.ownKeys(provides).forEach((key) => {\n provide(key, provides[key]);\n });\n }\n if (created) {\n callHook(created, instance, \"c\");\n }\n function registerLifecycleHook(register, hook) {\n if (isArray(hook)) {\n hook.forEach((_hook) => register(_hook.bind(publicThis)));\n } else if (hook) {\n register(hook.bind(publicThis));\n }\n }\n registerLifecycleHook(onBeforeMount, beforeMount);\n registerLifecycleHook(onMounted, mounted);\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\n registerLifecycleHook(onUpdated, updated);\n registerLifecycleHook(onActivated, activated);\n registerLifecycleHook(onDeactivated, deactivated);\n registerLifecycleHook(onErrorCaptured, errorCaptured);\n registerLifecycleHook(onRenderTracked, renderTracked);\n registerLifecycleHook(onRenderTriggered, renderTriggered);\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\n registerLifecycleHook(onUnmounted, unmounted);\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\n if (isArray(expose)) {\n if (expose.length) {\n const exposed = instance.exposed || (instance.exposed = {});\n expose.forEach((key) => {\n Object.defineProperty(exposed, key, {\n get: () => publicThis[key],\n set: (val) => publicThis[key] = val,\n enumerable: true\n });\n });\n } else if (!instance.exposed) {\n instance.exposed = {};\n }\n }\n if (render && instance.render === NOOP) {\n instance.render = render;\n }\n if (inheritAttrs != null) {\n instance.inheritAttrs = inheritAttrs;\n }\n if (components) instance.components = components;\n if (directives) instance.directives = directives;\n if (serverPrefetch) {\n markAsyncBoundary(instance);\n }\n}\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {\n if (isArray(injectOptions)) {\n injectOptions = normalizeInject(injectOptions);\n }\n for (const key in injectOptions) {\n const opt = injectOptions[key];\n let injected;\n if (isObject(opt)) {\n if (\"default\" in opt) {\n injected = inject(\n opt.from || key,\n opt.default,\n true\n );\n } else {\n injected = inject(opt.from || key);\n }\n } else {\n injected = inject(opt);\n }\n if (isRef(injected)) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => injected.value,\n set: (v) => injected.value = v\n });\n } else {\n ctx[key] = injected;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\n }\n }\n}\nfunction callHook(hook, instance, type) {\n callWithAsyncErrorHandling(\n isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy),\n instance,\n type\n );\n}\nfunction createWatcher(raw, ctx, publicThis, key) {\n let getter = key.includes(\".\") ? createPathGetter(publicThis, key) : () => publicThis[key];\n if (isString(raw)) {\n const handler = ctx[raw];\n if (isFunction(handler)) {\n {\n watch(getter, handler);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch handler specified by key \"${raw}\"`, handler);\n }\n } else if (isFunction(raw)) {\n {\n watch(getter, raw.bind(publicThis));\n }\n } else if (isObject(raw)) {\n if (isArray(raw)) {\n raw.forEach((r) => createWatcher(r, ctx, publicThis, key));\n } else {\n const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];\n if (isFunction(handler)) {\n watch(getter, handler, raw);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\n }\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch option: \"${key}\"`, raw);\n }\n}\nfunction resolveMergedOptions(instance) {\n const base = instance.type;\n const { mixins, extends: extendsOptions } = base;\n const {\n mixins: globalMixins,\n optionsCache: cache,\n config: { optionMergeStrategies }\n } = instance.appContext;\n const cached = cache.get(base);\n let resolved;\n if (cached) {\n resolved = cached;\n } else if (!globalMixins.length && !mixins && !extendsOptions) {\n {\n resolved = base;\n }\n } else {\n resolved = {};\n if (globalMixins.length) {\n globalMixins.forEach(\n (m) => mergeOptions(resolved, m, optionMergeStrategies, true)\n );\n }\n mergeOptions(resolved, base, optionMergeStrategies);\n }\n if (isObject(base)) {\n cache.set(base, resolved);\n }\n return resolved;\n}\nfunction mergeOptions(to, from, strats, asMixin = false) {\n const { mixins, extends: extendsOptions } = from;\n if (extendsOptions) {\n mergeOptions(to, extendsOptions, strats, true);\n }\n if (mixins) {\n mixins.forEach(\n (m) => mergeOptions(to, m, strats, true)\n );\n }\n for (const key in from) {\n if (asMixin && key === \"expose\") {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `\"expose\" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`\n );\n } else {\n const strat = internalOptionMergeStrats[key] || strats && strats[key];\n to[key] = strat ? strat(to[key], from[key]) : from[key];\n }\n }\n return to;\n}\nconst internalOptionMergeStrats = {\n data: mergeDataFn,\n props: mergeEmitsOrPropsOptions,\n emits: mergeEmitsOrPropsOptions,\n // objects\n methods: mergeObjectOptions,\n computed: mergeObjectOptions,\n // lifecycle\n beforeCreate: mergeAsArray,\n created: mergeAsArray,\n beforeMount: mergeAsArray,\n mounted: mergeAsArray,\n beforeUpdate: mergeAsArray,\n updated: mergeAsArray,\n beforeDestroy: mergeAsArray,\n beforeUnmount: mergeAsArray,\n destroyed: mergeAsArray,\n unmounted: mergeAsArray,\n activated: mergeAsArray,\n deactivated: mergeAsArray,\n errorCaptured: mergeAsArray,\n serverPrefetch: mergeAsArray,\n // assets\n components: mergeObjectOptions,\n directives: mergeObjectOptions,\n // watch\n watch: mergeWatchOptions,\n // provide / inject\n provide: mergeDataFn,\n inject: mergeInject\n};\nfunction mergeDataFn(to, from) {\n if (!from) {\n return to;\n }\n if (!to) {\n return from;\n }\n return function mergedDataFn() {\n return (extend)(\n isFunction(to) ? to.call(this, this) : to,\n isFunction(from) ? from.call(this, this) : from\n );\n };\n}\nfunction mergeInject(to, from) {\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\n}\nfunction normalizeInject(raw) {\n if (isArray(raw)) {\n const res = {};\n for (let i = 0; i < raw.length; i++) {\n res[raw[i]] = raw[i];\n }\n return res;\n }\n return raw;\n}\nfunction mergeAsArray(to, from) {\n return to ? [...new Set([].concat(to, from))] : from;\n}\nfunction mergeObjectOptions(to, from) {\n return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;\n}\nfunction mergeEmitsOrPropsOptions(to, from) {\n if (to) {\n if (isArray(to) && isArray(from)) {\n return [.../* @__PURE__ */ new Set([...to, ...from])];\n }\n return extend(\n /* @__PURE__ */ Object.create(null),\n normalizePropsOrEmits(to),\n normalizePropsOrEmits(from != null ? from : {})\n );\n } else {\n return from;\n }\n}\nfunction mergeWatchOptions(to, from) {\n if (!to) return from;\n if (!from) return to;\n const merged = extend(/* @__PURE__ */ Object.create(null), to);\n for (const key in from) {\n merged[key] = mergeAsArray(to[key], from[key]);\n }\n return merged;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n const pluginCleanupFns = [];\n let isMounted = false;\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn$1(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n mount(rootContainer, isHydrate, namespace) {\n if (!isMounted) {\n if (!!(process.env.NODE_ENV !== \"production\") && rootContainer.__vue_app__) {\n warn$1(\n `There is already an app instance mounted on the host container.\n If you want to mount another app on the same host container, you need to unmount the previous app by calling \\`app.unmount()\\` first.`\n );\n }\n const vnode = app._ceVNode || createVNode(rootComponent, rootProps);\n vnode.appContext = context;\n if (namespace === true) {\n namespace = \"svg\";\n } else if (namespace === false) {\n namespace = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n context.reload = () => {\n const cloned = cloneVNode(vnode);\n cloned.el = null;\n render(cloned, rootContainer, namespace);\n };\n }\n if (isHydrate && hydrate) {\n hydrate(vnode, rootContainer);\n } else {\n render(vnode, rootContainer, namespace);\n }\n isMounted = true;\n app._container = rootContainer;\n rootContainer.__vue_app__ = app;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n app._instance = vnode.component;\n devtoolsInitApp(app, version);\n }\n return getComponentPublicInstance(vnode.component);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `App has already been mounted.\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \\`const createMyApp = () => createApp(App)\\``\n );\n }\n },\n onUnmount(cleanupFn) {\n if (!!(process.env.NODE_ENV !== \"production\") && typeof cleanupFn !== \"function\") {\n warn$1(\n `Expected function as first argument to app.onUnmount(), but got ${typeof cleanupFn}`\n );\n }\n pluginCleanupFns.push(cleanupFn);\n },\n unmount() {\n if (isMounted) {\n callWithAsyncErrorHandling(\n pluginCleanupFns,\n app._instance,\n 16\n );\n render(null, app._container);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n app._instance = null;\n devtoolsUnmountApp(app);\n }\n delete app._container.__vue_app__;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Cannot unmount an app that is not mounted.`);\n }\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n if (hasOwn(context.provides, key)) {\n warn$1(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n } else {\n warn$1(\n `App already provides property with key \"${String(key)}\" inherited from its parent element. It will be overwritten with the new value.`\n );\n }\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n const lastApp = currentApp;\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = lastApp;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction useModel(props, name, options = EMPTY_OBJ) {\n const i = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\n warn$1(`useModel() called without active instance.`);\n return ref();\n }\n const camelizedName = camelize(name);\n if (!!(process.env.NODE_ENV !== \"production\") && !i.propsOptions[0][camelizedName]) {\n warn$1(`useModel() called with prop \"${name}\" which is not declared.`);\n return ref();\n }\n const hyphenatedName = hyphenate(name);\n const modifiers = getModelModifiers(props, camelizedName);\n const res = customRef((track, trigger) => {\n let localValue;\n let prevSetValue = EMPTY_OBJ;\n let prevEmittedValue;\n watchSyncEffect(() => {\n const propValue = props[camelizedName];\n if (hasChanged(localValue, propValue)) {\n localValue = propValue;\n trigger();\n }\n });\n return {\n get() {\n track();\n return options.get ? options.get(localValue) : localValue;\n },\n set(value) {\n const emittedValue = options.set ? options.set(value) : value;\n if (!hasChanged(emittedValue, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {\n return;\n }\n const rawProps = i.vnode.props;\n const hasVModel = !!(rawProps && // check if parent has passed v-model\n (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps));\n if (!hasVModel) {\n localValue = value;\n trigger();\n }\n i.emit(`update:${name}`, emittedValue);\n if (hasChanged(value, prevSetValue) && (hasChanged(value, emittedValue) && !hasChanged(emittedValue, prevEmittedValue) || // #13524: browsers differ in when they flush microtasks between\n // event listeners. If a v-model listener emits an intermediate value\n // and a following listener restores the model to its previous prop\n // value before parent updates are flushed, the parent render can be\n // deduped as having no prop change. Force a local update so DOM state\n // such as an input's value is synchronized back to the current model.\n hasVModel && prevSetValue !== EMPTY_OBJ && !hasChanged(emittedValue, localValue))) {\n trigger();\n }\n prevSetValue = value;\n prevEmittedValue = emittedValue;\n }\n };\n });\n res[Symbol.iterator] = () => {\n let i2 = 0;\n return {\n next() {\n if (i2 < 2) {\n return { value: i2++ ? modifiers || EMPTY_OBJ : res, done: false };\n } else {\n return { done: true };\n }\n }\n };\n };\n return res;\n}\nconst getModelModifiers = (props, modelName) => {\n return modelName === \"modelValue\" || modelName === \"model-value\" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${camelize(modelName)}Modifiers`] || props[`${hyphenate(modelName)}Modifiers`];\n};\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted) return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(camelize(event)) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(camelize(event))}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modifiers = isModelListener && getModelModifiers(props, event.slice(7));\n if (modifiers) {\n if (modifiers.trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (modifiers.number) {\n args = args.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nconst mixinEmitsCache = /* @__PURE__ */ new WeakMap();\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = __VUE_OPTIONS_API__ && asMixin ? mixinEmitsCache : appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2);\n key = key === \"Once\" ? key : key.replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n props,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n const prev = setCurrentRenderingInstance(instance);\n let result;\n let fallthroughAttrs;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return shallowReadonly(attrs);\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n null\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs, false, true);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn$1(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn$1(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root, null, false, true);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(child)) {\n warn$1(\n `Component inside <Transition> renders non-element root node that cannot be animated.`\n );\n }\n setTransitionHooks(child, vnode.transition);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if (!!(process.env.NODE_ENV !== \"production\") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children, recurse = true) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n if (!!(process.env.NODE_ENV !== \"production\") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\n }\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (!hasOwn(prevProps, key) || hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction hasPropValueChanged(nextProps, prevProps, key) {\n const nextProp = nextProps[key];\n const prevProp = prevProps[key];\n if (key === \"style\" && isObject(nextProp) && isObject(prevProp)) {\n return !looseEqual(nextProp, prevProp);\n }\n return nextProp !== prevProp;\n}\nfunction updateHOCHostEl({ vnode, parent, suspense }, el) {\n while (parent) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.suspense.vnode.el = root.el = el;\n vnode = root;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\n }\n if (suspense && suspense.activeBranch === vnode) {\n suspense.vnode.el = el;\n }\n}\n\nconst internalObjectProto = {};\nconst createInternalObject = () => Object.create(internalObjectProto);\nconst isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;\n\nfunction initProps(instance, rawProps, isStateful, isSSR = false) {\n const props = {};\n const attrs = createInternalObject();\n instance.propsDefaults = /* @__PURE__ */ Object.create(null);\n setFullProps(instance, rawProps, props, attrs);\n for (const key in instance.propsOptions[0]) {\n if (!(key in props)) {\n props[key] = void 0;\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateProps(rawProps || {}, props, instance);\n }\n if (isStateful) {\n instance.props = isSSR ? props : shallowReactive(props);\n } else {\n if (!instance.type.props) {\n instance.props = attrs;\n } else {\n instance.props = props;\n }\n }\n instance.attrs = attrs;\n}\nfunction isInHmrContext(instance) {\n while (instance) {\n if (instance.type.__hmrId) return true;\n instance = instance.parent;\n }\n}\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\n const {\n props,\n attrs,\n vnode: { patchFlag }\n } = instance;\n const rawCurrentProps = toRaw(props);\n const [options] = instance.propsOptions;\n let hasAttrsChanged = false;\n if (\n // always force full diff in dev\n // - #1942 if hmr is enabled with sfc component\n // - vite#872 non-sfc component used by sfc component\n !(!!(process.env.NODE_ENV !== \"production\") && isInHmrContext(instance)) && (optimized || patchFlag > 0) && !(patchFlag & 16)\n ) {\n if (patchFlag & 8) {\n const propsToUpdate = instance.vnode.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n let key = propsToUpdate[i];\n if (isEmitListener(instance.emitsOptions, key)) {\n continue;\n }\n const value = rawProps[key];\n if (options) {\n if (hasOwn(attrs, key)) {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n } else {\n const camelizedKey = camelize(key);\n props[camelizedKey] = resolvePropValue(\n options,\n rawCurrentProps,\n camelizedKey,\n value,\n instance,\n false\n );\n }\n } else {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n } else {\n if (setFullProps(instance, rawProps, props, attrs)) {\n hasAttrsChanged = true;\n }\n let kebabKey;\n for (const key in rawCurrentProps) {\n if (!rawProps || // for camelCase\n !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case\n // and converted to camelCase (#955)\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {\n if (options) {\n if (rawPrevProps && // for camelCase\n (rawPrevProps[key] !== void 0 || // for kebab-case\n rawPrevProps[kebabKey] !== void 0)) {\n props[key] = resolvePropValue(\n options,\n rawCurrentProps,\n key,\n void 0,\n instance,\n true\n );\n }\n } else {\n delete props[key];\n }\n }\n }\n if (attrs !== rawCurrentProps) {\n for (const key in attrs) {\n if (!rawProps || !hasOwn(rawProps, key) && true) {\n delete attrs[key];\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (hasAttrsChanged) {\n trigger(instance.attrs, \"set\", \"\");\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateProps(rawProps || {}, props, instance);\n }\n}\nfunction setFullProps(instance, rawProps, props, attrs) {\n const [options, needCastKeys] = instance.propsOptions;\n let hasAttrsChanged = false;\n let rawCastValues;\n if (rawProps) {\n for (let key in rawProps) {\n if (isReservedProp(key)) {\n continue;\n }\n const value = rawProps[key];\n let camelKey;\n if (options && hasOwn(options, camelKey = camelize(key))) {\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\n props[camelKey] = value;\n } else {\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\n }\n } else if (!isEmitListener(instance.emitsOptions, key)) {\n if (!(key in attrs) || value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (needCastKeys) {\n const rawCurrentProps = toRaw(props);\n const castValues = rawCastValues || EMPTY_OBJ;\n for (let i = 0; i < needCastKeys.length; i++) {\n const key = needCastKeys[i];\n props[key] = resolvePropValue(\n options,\n rawCurrentProps,\n key,\n castValues[key],\n instance,\n !hasOwn(castValues, key)\n );\n }\n }\n return hasAttrsChanged;\n}\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\n const opt = options[key];\n if (opt != null) {\n const hasDefault = hasOwn(opt, \"default\");\n if (hasDefault && value === void 0) {\n const defaultValue = opt.default;\n if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {\n const { propsDefaults } = instance;\n if (key in propsDefaults) {\n value = propsDefaults[key];\n } else {\n const reset = setCurrentInstance(instance);\n value = propsDefaults[key] = defaultValue.call(\n null,\n props\n );\n reset();\n }\n } else {\n value = defaultValue;\n }\n if (instance.ce) {\n instance.ce._setProp(key, value);\n }\n }\n if (opt[0 /* shouldCast */]) {\n if (isAbsent && !hasDefault) {\n value = false;\n } else if (opt[1 /* shouldCastTrue */] && (value === \"\" || value === hyphenate(key))) {\n value = true;\n }\n }\n }\n return value;\n}\nconst mixinPropsCache = /* @__PURE__ */ new WeakMap();\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\n const cache = __VUE_OPTIONS_API__ && asMixin ? mixinPropsCache : appContext.propsCache;\n const cached = cache.get(comp);\n if (cached) {\n return cached;\n }\n const raw = comp.props;\n const normalized = {};\n const needCastKeys = [];\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendProps = (raw2) => {\n hasExtends = true;\n const [props, keys] = normalizePropsOptions(raw2, appContext, true);\n extend(normalized, props);\n if (keys) needCastKeys.push(...keys);\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendProps);\n }\n if (comp.extends) {\n extendProps(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendProps);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, EMPTY_ARR);\n }\n return EMPTY_ARR;\n }\n if (isArray(raw)) {\n for (let i = 0; i < raw.length; i++) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isString(raw[i])) {\n warn$1(`props must be strings when using array syntax.`, raw[i]);\n }\n const normalizedKey = camelize(raw[i]);\n if (validatePropName(normalizedKey)) {\n normalized[normalizedKey] = EMPTY_OBJ;\n }\n }\n } else if (raw) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(raw)) {\n warn$1(`invalid props options`, raw);\n }\n for (const key in raw) {\n const normalizedKey = camelize(key);\n if (validatePropName(normalizedKey)) {\n const opt = raw[key];\n const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);\n const propType = prop.type;\n let shouldCast = false;\n let shouldCastTrue = true;\n if (isArray(propType)) {\n for (let index = 0; index < propType.length; ++index) {\n const type = propType[index];\n const typeName = isFunction(type) && type.name;\n if (typeName === \"Boolean\") {\n shouldCast = true;\n break;\n } else if (typeName === \"String\") {\n shouldCastTrue = false;\n }\n }\n } else {\n shouldCast = isFunction(propType) && propType.name === \"Boolean\";\n }\n prop[0 /* shouldCast */] = shouldCast;\n prop[1 /* shouldCastTrue */] = shouldCastTrue;\n if (shouldCast || hasOwn(prop, \"default\")) {\n needCastKeys.push(normalizedKey);\n }\n }\n }\n }\n const res = [normalized, needCastKeys];\n if (isObject(comp)) {\n cache.set(comp, res);\n }\n return res;\n}\nfunction validatePropName(key) {\n if (key[0] !== \"$\" && !isReservedProp(key)) {\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid prop name: \"${key}\" is a reserved property.`);\n }\n return false;\n}\nfunction getType(ctor) {\n if (ctor === null) {\n return \"null\";\n }\n if (typeof ctor === \"function\") {\n return ctor.name || \"\";\n } else if (typeof ctor === \"object\") {\n const name = ctor.constructor && ctor.constructor.name;\n return name || \"\";\n }\n return \"\";\n}\nfunction validateProps(rawProps, props, instance) {\n const resolvedValues = toRaw(props);\n const options = instance.propsOptions[0];\n const camelizePropsKey = Object.keys(rawProps).map((key) => camelize(key));\n for (const key in options) {\n let opt = options[key];\n if (opt == null) continue;\n validateProp(\n key,\n resolvedValues[key],\n opt,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(resolvedValues) : resolvedValues,\n !camelizePropsKey.includes(key)\n );\n }\n}\nfunction validateProp(name, value, prop, props, isAbsent) {\n const { type, required, validator, skipCheck } = prop;\n if (required && isAbsent) {\n warn$1('Missing required prop: \"' + name + '\"');\n return;\n }\n if (value == null && !required) {\n return;\n }\n if (type != null && type !== true && !skipCheck) {\n let isValid = false;\n const types = isArray(type) ? type : [type];\n const expectedTypes = [];\n for (let i = 0; i < types.length && !isValid; i++) {\n const { valid, expectedType } = assertType(value, types[i]);\n expectedTypes.push(expectedType || \"\");\n isValid = valid;\n }\n if (!isValid) {\n warn$1(getInvalidTypeMessage(name, value, expectedTypes));\n return;\n }\n }\n if (validator && !validator(value, props)) {\n warn$1('Invalid prop: custom validator check failed for prop \"' + name + '\".');\n }\n}\nconst isSimpleType = /* @__PURE__ */ makeMap(\n \"String,Number,Boolean,Function,Symbol,BigInt\"\n);\nfunction assertType(value, type) {\n let valid;\n const expectedType = getType(type);\n if (expectedType === \"null\") {\n valid = value === null;\n } else if (isSimpleType(expectedType)) {\n const t = typeof value;\n valid = t === expectedType.toLowerCase();\n if (!valid && t === \"object\") {\n valid = value instanceof type;\n }\n } else if (expectedType === \"Object\") {\n valid = isObject(value);\n } else if (expectedType === \"Array\") {\n valid = isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid,\n expectedType\n };\n}\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\n if (expectedTypes.length === 0) {\n return `Prop type [] for prop \"${name}\" won't match anything. Did you mean to use type Array instead?`;\n }\n let message = `Invalid prop: type check failed for prop \"${name}\". Expected ${expectedTypes.map(capitalize).join(\" | \")}`;\n const expectedType = expectedTypes[0];\n const receivedType = toRawType(value);\n const expectedValue = styleValue(value, expectedType);\n const receivedValue = styleValue(value, receivedType);\n if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {\n message += ` with value ${expectedValue}`;\n }\n message += `, got ${receivedType} `;\n if (isExplicable(receivedType)) {\n message += `with value ${receivedValue}.`;\n }\n return message;\n}\nfunction styleValue(value, type) {\n if (isSymbol(value)) {\n return value.toString();\n } else if (type === \"String\") {\n return `\"${value}\"`;\n } else if (type === \"Number\") {\n return `${Number(value)}`;\n } else {\n return `${value}`;\n }\n}\nfunction isExplicable(type) {\n const explicitTypes = [\"string\", \"number\", \"boolean\"];\n return explicitTypes.some((elem) => type.toLowerCase() === elem);\n}\nfunction isCoercible(...args) {\n return args.every((elem) => {\n const value = elem.toLowerCase();\n return value !== \"boolean\" && value !== \"symbol\";\n });\n}\n\nconst isInternalKey = (key) => key === \"_\" || key === \"_ctx\" || key === \"$stable\";\nconst normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];\nconst normalizeSlot = (key, rawSlot, ctx) => {\n if (rawSlot._n) {\n return rawSlot;\n }\n const normalized = withCtx((...args) => {\n if (!!(process.env.NODE_ENV !== \"production\") && currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {\n warn$1(\n `Slot \"${key}\" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`\n );\n }\n return normalizeSlotValue(rawSlot(...args));\n }, ctx);\n normalized._c = false;\n return normalized;\n};\nconst normalizeObjectSlots = (rawSlots, slots, instance) => {\n const ctx = rawSlots._ctx;\n for (const key in rawSlots) {\n if (isInternalKey(key)) continue;\n const value = rawSlots[key];\n if (isFunction(value)) {\n slots[key] = normalizeSlot(key, value, ctx);\n } else if (value != null) {\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n warn$1(\n `Non-function value encountered for slot \"${key}\". Prefer function slots for better performance.`\n );\n }\n const normalized = normalizeSlotValue(value);\n slots[key] = () => normalized;\n }\n }\n};\nconst normalizeVNodeSlots = (instance, children) => {\n if (!!(process.env.NODE_ENV !== \"production\") && !isKeepAlive(instance.vnode) && true) {\n warn$1(\n `Non-function value encountered for default slot. Prefer function slots for better performance.`\n );\n }\n const normalized = normalizeSlotValue(children);\n instance.slots.default = () => normalized;\n};\nconst assignSlots = (slots, children, optimized) => {\n for (const key in children) {\n if (optimized || !isInternalKey(key)) {\n slots[key] = children[key];\n }\n }\n};\nconst initSlots = (instance, children, optimized) => {\n const slots = instance.slots = createInternalObject();\n if (instance.vnode.shapeFlag & 32) {\n const type = children._;\n if (type) {\n assignSlots(slots, children, optimized);\n if (optimized) {\n def(slots, \"_\", type, true);\n }\n } else {\n normalizeObjectSlots(children, slots);\n }\n } else if (children) {\n normalizeVNodeSlots(instance, children);\n }\n};\nconst updateSlots = (instance, children, optimized) => {\n const { vnode, slots } = instance;\n let needDeletionCheck = true;\n let deletionComparisonTarget = EMPTY_OBJ;\n if (vnode.shapeFlag & 32) {\n const type = children._;\n if (type) {\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n assignSlots(slots, children, optimized);\n trigger(instance, \"set\", \"$slots\");\n } else if (optimized && type === 1) {\n needDeletionCheck = false;\n } else {\n assignSlots(slots, children, optimized);\n }\n } else {\n needDeletionCheck = !children.$stable;\n normalizeObjectSlots(children, slots);\n }\n deletionComparisonTarget = children;\n } else if (children) {\n normalizeVNodeSlots(instance, children);\n deletionComparisonTarget = { default: 1 };\n }\n if (needDeletionCheck) {\n for (const key in slots) {\n if (!isInternalKey(key) && deletionComparisonTarget[key] == null) {\n delete slots[key];\n }\n }\n }\n};\n\nlet supported;\nlet perf;\nfunction startMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n perf.mark(`vue-${type}-${instance.uid}`);\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction endMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n const startTag = `vue-${type}-${instance.uid}`;\n const endTag = startTag + `:end`;\n const measureName = `<${formatComponentName(instance, instance.type)}> ${type}`;\n perf.mark(endTag);\n perf.measure(measureName, startTag, endTag);\n perf.clearMeasures(measureName);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction isSupported() {\n if (supported !== void 0) {\n return supported;\n }\n if (typeof window !== \"undefined\" && window.performance) {\n supported = true;\n perf = window.performance;\n } else {\n supported = false;\n }\n return supported;\n}\n\nfunction initFeatureFlags() {\n const needWarn = [];\n if (typeof __VUE_OPTIONS_API__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_OPTIONS_API__`);\n getGlobalThis().__VUE_OPTIONS_API__ = true;\n }\n if (typeof __VUE_PROD_DEVTOOLS__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_PROD_DEVTOOLS__`);\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\n }\n if (typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_PROD_HYDRATION_MISMATCH_DETAILS__`);\n getGlobalThis().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ = false;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && needWarn.length) {\n const multi = needWarn.length > 1;\n console.warn(\n `Feature flag${multi ? `s` : ``} ${needWarn.join(\", \")} ${multi ? `are` : `is`} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.\n\nFor more details, see https://link.vuejs.org/feature-flags.`\n );\n }\n}\n\nconst queuePostRenderEffect = queueEffectWithSuspense ;\nfunction createRenderer(options) {\n return baseCreateRenderer(options);\n}\nfunction createHydrationRenderer(options) {\n return baseCreateRenderer(options, createHydrationFunctions);\n}\nfunction baseCreateRenderer(options, createHydrationFns) {\n {\n initFeatureFlags();\n }\n const target = getGlobalThis();\n target.__VUE__ = true;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n setDevtoolsHook$1(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);\n }\n const {\n insert: hostInsert,\n remove: hostRemove,\n patchProp: hostPatchProp,\n createElement: hostCreateElement,\n createText: hostCreateText,\n createComment: hostCreateComment,\n setText: hostSetText,\n setElementText: hostSetElementText,\n parentNode: hostParentNode,\n nextSibling: hostNextSibling,\n setScopeId: hostSetScopeId = NOOP,\n insertStaticContent: hostInsertStaticContent\n } = options;\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!(process.env.NODE_ENV !== \"production\") && isHmrUpdating ? false : !!n2.dynamicChildren) => {\n if (n1 === n2) {\n return;\n }\n if (n1 && !isSameVNodeType(n1, n2)) {\n anchor = getNextHostNode(n1);\n unmount(n1, parentComponent, parentSuspense, true);\n n1 = null;\n }\n if (n2.patchFlag === -2) {\n optimized = false;\n n2.dynamicChildren = null;\n }\n if (n2.dynamicChildren && n1 && n1.dynamicChildren && n1.dynamicChildren.hasOnce) {\n if (n2.dynamicChildren === EMPTY_ARR) {\n n2.dynamicChildren = [];\n }\n n2.dynamicChildren.hasOnce = true;\n }\n const { type, ref, shapeFlag } = n2;\n switch (type) {\n case Text:\n processText(n1, n2, container, anchor);\n break;\n case Comment:\n processCommentNode(n1, n2, container, anchor);\n break;\n case Static:\n if (n1 == null) {\n mountStaticNode(n2, container, anchor, namespace);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n patchStaticNode(n1, n2, container, namespace);\n }\n break;\n case Fragment:\n processFragment(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n break;\n default:\n if (shapeFlag & 1) {\n processElement(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (shapeFlag & 6) {\n processComponent(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (shapeFlag & 64) {\n type.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n } else if (shapeFlag & 128) {\n type.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid VNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null && parentComponent) {\n setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);\n } else if (ref == null && n1 && n1.ref != null) {\n setRef(n1.ref, null, parentSuspense, n1, true);\n }\n };\n const processText = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert(\n n2.el = hostCreateText(n2.children),\n container,\n anchor\n );\n } else {\n const el = n2.el = n1.el;\n if (n2.children !== n1.children) {\n hostSetText(el, n2.children);\n }\n }\n };\n const processCommentNode = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert(\n n2.el = hostCreateComment(n2.children || \"\"),\n container,\n anchor\n );\n } else {\n n2.el = n1.el;\n }\n };\n const mountStaticNode = (n2, container, anchor, namespace) => {\n [n2.el, n2.anchor] = hostInsertStaticContent(\n n2.children,\n container,\n anchor,\n namespace,\n n2.el,\n n2.anchor\n );\n };\n const patchStaticNode = (n1, n2, container, namespace) => {\n if (n2.children !== n1.children) {\n const anchor = hostNextSibling(n1.anchor);\n removeStaticNode(n1);\n [n2.el, n2.anchor] = hostInsertStaticContent(\n n2.children,\n container,\n anchor,\n namespace\n );\n } else {\n n2.el = n1.el;\n n2.anchor = n1.anchor;\n }\n };\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostInsert(el, container, nextSibling);\n el = next;\n }\n hostInsert(anchor, container, nextSibling);\n };\n const removeStaticNode = ({ el, anchor }) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostRemove(el);\n el = next;\n }\n hostRemove(anchor);\n };\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n if (n2.type === \"svg\") {\n namespace = \"svg\";\n } else if (n2.type === \"math\") {\n namespace = \"mathml\";\n }\n if (n1 == null) {\n mountElement(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n const customElement = n1.el && n1.el._isVueCE ? n1.el : null;\n try {\n if (customElement) {\n customElement._beginPatch();\n }\n patchElement(\n n1,\n n2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } finally {\n if (customElement) {\n customElement._endPatch();\n }\n }\n }\n };\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n let el;\n let vnodeHook;\n const { props, shapeFlag, transition, dirs } = vnode;\n el = vnode.el = hostCreateElement(\n vnode.type,\n namespace,\n props && props.is,\n props\n );\n if (shapeFlag & 8) {\n hostSetElementText(el, vnode.children);\n } else if (shapeFlag & 16) {\n mountChildren(\n vnode.children,\n el,\n null,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(vnode, namespace),\n slotScopeIds,\n optimized\n );\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);\n if (props) {\n for (const key in props) {\n if (key !== \"value\" && !isReservedProp(key)) {\n hostPatchProp(el, key, null, props[key], namespace, parentComponent);\n }\n }\n if (\"value\" in props) {\n hostPatchProp(el, \"value\", null, props.value, namespace);\n }\n if (vnodeHook = props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(el, \"__vnode\", vnode, true);\n def(el, \"__vueParentComponent\", parentComponent, true);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n const needCallTransitionHooks = needTransition(parentSuspense, transition);\n if (needCallTransitionHooks) {\n transition.beforeEnter(el);\n }\n hostInsert(el, container, anchor);\n if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {\n const isHmr = !!(process.env.NODE_ENV !== \"production\") && isHmrUpdating;\n queuePostRenderEffect(() => {\n let prev;\n if (!!(process.env.NODE_ENV !== \"production\")) prev = setHmrUpdating(isHmr);\n try {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\")) setHmrUpdating(prev);\n }\n }, parentSuspense);\n }\n };\n const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {\n if (scopeId) {\n hostSetScopeId(el, scopeId);\n }\n if (slotScopeIds) {\n for (let i = 0; i < slotScopeIds.length; i++) {\n hostSetScopeId(el, slotScopeIds[i]);\n }\n }\n if (parentComponent) {\n let subTree = parentComponent.subTree;\n if (!!(process.env.NODE_ENV !== \"production\") && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {\n subTree = filterSingleRoot(subTree.children) || subTree;\n }\n if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) {\n const parentVNode = parentComponent.vnode;\n setScopeId(\n el,\n parentVNode,\n parentVNode.scopeId,\n parentVNode.slotScopeIds,\n parentComponent.parent\n );\n }\n }\n };\n const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {\n for (let i = start; i < children.length; i++) {\n const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);\n patch(\n null,\n child,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n const el = n2.el = n1.el;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n el.__vnode = n2;\n }\n let { patchFlag, dynamicChildren, dirs } = n2;\n patchFlag |= n1.patchFlag & 16;\n const oldProps = n1.props || EMPTY_OBJ;\n const newProps = n2.props || EMPTY_OBJ;\n let vnodeHook;\n parentComponent && toggleRecurse(parentComponent, false);\n if (vnodeHook = newProps.onVnodeBeforeUpdate) {\n invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n }\n if (dirs) {\n invokeDirectiveHook(n2, n1, parentComponent, \"beforeUpdate\");\n }\n parentComponent && toggleRecurse(parentComponent, true);\n if (\n // HMR updated, force full diff\n !!(process.env.NODE_ENV !== \"production\") && isHmrUpdating || // #6385 the old vnode may be a user-wrapped non-isomorphic block\n // Force full diff when block metadata is unstable.\n dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)\n ) {\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) {\n hostSetElementText(el, \"\");\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n el,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(n2, namespace),\n slotScopeIds\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n traverseStaticChildren(n1, n2);\n }\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n el,\n null,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(n2, namespace),\n slotScopeIds,\n false\n );\n }\n if (patchFlag > 0) {\n if (patchFlag & 16) {\n patchProps(el, oldProps, newProps, parentComponent, namespace);\n } else {\n if (patchFlag & 2) {\n if (oldProps.class !== newProps.class) {\n hostPatchProp(el, \"class\", null, newProps.class, namespace);\n }\n }\n if (patchFlag & 4) {\n hostPatchProp(el, \"style\", oldProps.style, newProps.style, namespace);\n }\n if (patchFlag & 8) {\n const propsToUpdate = n2.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n const key = propsToUpdate[i];\n const prev = oldProps[key];\n const next = newProps[key];\n if (next !== prev || key === \"value\") {\n hostPatchProp(el, key, prev, next, namespace, parentComponent);\n }\n }\n }\n }\n if (patchFlag & 1) {\n if (n1.children !== n2.children) {\n hostSetElementText(el, n2.children);\n }\n }\n } else if (!optimized && dynamicChildren == null) {\n patchProps(el, oldProps, newProps, parentComponent, namespace);\n }\n if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n dirs && invokeDirectiveHook(n2, n1, parentComponent, \"updated\");\n }, parentSuspense);\n }\n };\n const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => {\n for (let i = 0; i < newChildren.length; i++) {\n const oldVNode = oldChildren[i];\n const newVNode = newChildren[i];\n const oldEl = oldVNode.el || resolveAsyncComponentPlaceholder(oldVNode);\n const container = (\n // oldVNode may be an errored async setup() component inside Suspense\n // which will not have a mounted element\n oldEl && // - In the case of a Fragment, we need to provide the actual parent\n // of the Fragment itself so it can move its children.\n (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement\n // which also requires the correct parent container\n !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.\n oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldEl) : (\n // In other cases, the parent container is not actually used so we\n // just pass the block element here to avoid a DOM parentNode call.\n fallbackContainer\n )\n );\n patch(\n oldVNode,\n newVNode,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n true\n );\n }\n };\n const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {\n if (oldProps !== newProps) {\n if (oldProps !== EMPTY_OBJ) {\n for (const key in oldProps) {\n if (!isReservedProp(key) && !(key in newProps)) {\n hostPatchProp(\n el,\n key,\n oldProps[key],\n null,\n namespace,\n parentComponent\n );\n }\n }\n }\n for (const key in newProps) {\n if (isReservedProp(key)) continue;\n const next = newProps[key];\n const prev = oldProps[key];\n if (next !== prev && key !== \"value\") {\n hostPatchProp(el, key, prev, next, namespace, parentComponent);\n }\n }\n if (\"value\" in newProps) {\n hostPatchProp(el, \"value\", oldProps.value, newProps.value, namespace);\n }\n }\n };\n const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(\"\");\n const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(\"\");\n let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && // #5523 dev root fragment may inherit directives\n (isHmrUpdating || patchFlag & 2048)) {\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n if (n1 == null) {\n hostInsert(fragmentStartAnchor, container, anchor);\n hostInsert(fragmentEndAnchor, container, anchor);\n mountChildren(\n // #10007\n // such fragment like `<></>` will be compiled into\n // a fragment which doesn't have a children.\n // In this case fallback to an empty array\n n2.children || [],\n container,\n fragmentEndAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result\n // of renderSlot() with no valid children\n n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n container,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n traverseStaticChildren(n1, n2);\n } else if (\n // #2080 if the stable fragment has a key, it's a <template v-for> that may\n // get moved around. Make sure all root level vnodes inherit el.\n // #2134 or if it's a component root, it may also get moved around\n // as the component is being moved.\n n2.key != null || parentComponent && n2 === parentComponent.subTree\n ) {\n traverseStaticChildren(\n n1,\n n2,\n true\n /* shallow */\n );\n }\n } else {\n patchChildren(\n n1,\n n2,\n container,\n fragmentEndAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n }\n };\n const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n n2.slotScopeIds = slotScopeIds;\n if (n1 == null) {\n if (n2.shapeFlag & 512) {\n parentComponent.ctx.activate(\n n2,\n container,\n anchor,\n namespace,\n optimized\n );\n } else {\n mountComponent(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n optimized\n );\n }\n } else {\n updateComponent(n1, n2, optimized);\n }\n };\n const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {\n const instance = (initialVNode.component = createComponentInstance(\n initialVNode,\n parentComponent,\n parentSuspense\n ));\n if (!!(process.env.NODE_ENV !== \"production\") && instance.type.__hmrId) {\n registerHMR(instance);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(initialVNode);\n startMeasure(instance, `mount`);\n }\n if (isKeepAlive(initialVNode)) {\n instance.ctx.renderer = internals;\n }\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `init`);\n }\n setupComponent(instance, false, optimized);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `init`);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) initialVNode.el = null;\n if (instance.asyncDep) {\n parentSuspense && parentSuspense.registerDep(\n instance,\n setupRenderEffect,\n optimized,\n namespace\n );\n if (!initialVNode.el) {\n const placeholder = instance.subTree = createVNode(Comment);\n processCommentNode(null, placeholder, container, anchor);\n initialVNode.placeholder = placeholder.el;\n }\n } else {\n setupRenderEffect(\n instance,\n initialVNode,\n container,\n anchor,\n parentSuspense,\n namespace,\n optimized\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n endMeasure(instance, `mount`);\n }\n };\n const updateComponent = (n1, n2, optimized) => {\n const instance = n2.component = n1.component;\n if (shouldUpdateComponent(n1, n2, optimized)) {\n if (instance.asyncDep && !instance.asyncResolved) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(n2);\n }\n n2.el = n1.el;\n n2.placeholder = n1.placeholder;\n updateComponentPreRender(instance, n2, optimized);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n return;\n } else {\n instance.next = n2;\n instance.update();\n }\n } else {\n n2.el = n1.el;\n n2.placeholder = n1.placeholder;\n instance.vnode = n2;\n }\n };\n const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => {\n const componentUpdateFn = () => {\n if (!instance.isMounted) {\n let vnodeHook;\n const { el, props } = initialVNode;\n const { bm, m, parent, root, type } = instance;\n const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);\n toggleRecurse(instance, false);\n if (bm) {\n invokeArrayFns(bm);\n }\n if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {\n invokeVNodeHook(vnodeHook, parent, initialVNode);\n }\n toggleRecurse(instance, true);\n if (el && hydrateNode) {\n const hydrateSubTree = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n instance.subTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `hydrate`);\n }\n hydrateNode(\n el,\n instance.subTree,\n instance,\n parentSuspense,\n null\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `hydrate`);\n }\n };\n if (isAsyncWrapperVNode && type.__asyncHydrate) {\n type.__asyncHydrate(\n el,\n instance,\n hydrateSubTree\n );\n } else {\n hydrateSubTree();\n }\n } else {\n if (root.ce && root.ce._hasShadowRoot()) {\n root.ce._injectChildStyle(\n type,\n instance.parent ? instance.parent.type : void 0\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n const subTree = instance.subTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `patch`);\n }\n patch(\n null,\n subTree,\n container,\n anchor,\n instance,\n parentSuspense,\n namespace\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `patch`);\n }\n initialVNode.el = subTree.el;\n }\n if (m) {\n queuePostRenderEffect(m, parentSuspense);\n }\n if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {\n const scopedInitialVNode = initialVNode;\n queuePostRenderEffect(\n () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode),\n parentSuspense\n );\n }\n if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {\n instance.a && queuePostRenderEffect(instance.a, parentSuspense);\n }\n instance.isMounted = true;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance);\n }\n initialVNode = container = anchor = null;\n } else {\n let { next, bu, u, parent, vnode } = instance;\n {\n const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance);\n if (nonHydratedAsyncRoot) {\n if (next) {\n next.el = vnode.el;\n updateComponentPreRender(instance, next, optimized);\n }\n nonHydratedAsyncRoot.asyncDep.then(() => {\n queuePostRenderEffect(() => {\n if (!instance.isUnmounted) update();\n }, parentSuspense);\n });\n return;\n }\n }\n let originNext = next;\n let vnodeHook;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(next || instance.vnode);\n }\n toggleRecurse(instance, false);\n if (next) {\n next.el = vnode.el;\n updateComponentPreRender(instance, next, optimized);\n } else {\n next = vnode;\n }\n if (bu) {\n invokeArrayFns(bu);\n }\n if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {\n invokeVNodeHook(vnodeHook, parent, next, vnode);\n }\n toggleRecurse(instance, true);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n const nextTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n const prevTree = instance.subTree;\n instance.subTree = nextTree;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `patch`);\n }\n patch(\n prevTree,\n nextTree,\n // parent may have changed if it's in a teleport\n hostParentNode(prevTree.el),\n // anchor may have changed if it's in a fragment\n getNextHostNode(prevTree),\n instance,\n parentSuspense,\n namespace\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `patch`);\n }\n next.el = nextTree.el;\n if (originNext === null) {\n updateHOCHostEl(instance, nextTree.el);\n }\n if (u) {\n queuePostRenderEffect(u, parentSuspense);\n }\n if (vnodeHook = next.props && next.props.onVnodeUpdated) {\n queuePostRenderEffect(\n () => invokeVNodeHook(vnodeHook, parent, next, vnode),\n parentSuspense\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(instance);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n }\n };\n instance.scope.on();\n const effect = instance.effect = new ReactiveEffect(componentUpdateFn);\n instance.scope.off();\n const update = instance.update = effect.run.bind(effect);\n const job = instance.job = effect.runIfDirty.bind(effect);\n job.i = instance;\n job.id = instance.uid;\n effect.scheduler = () => queueJob(job);\n toggleRecurse(instance, true);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;\n effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;\n }\n update();\n };\n const updateComponentPreRender = (instance, nextVNode, optimized) => {\n nextVNode.component = instance;\n const prevProps = instance.vnode.props;\n instance.vnode = nextVNode;\n instance.next = null;\n updateProps(instance, nextVNode.props, prevProps, optimized);\n updateSlots(instance, nextVNode.children, optimized);\n pauseTracking();\n flushPreFlushCbs(instance);\n resetTracking();\n };\n const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => {\n const c1 = n1 && n1.children;\n const prevShapeFlag = n1 ? n1.shapeFlag : 0;\n const c2 = n2.children;\n const { patchFlag, shapeFlag } = n2;\n if (patchFlag > 0) {\n if (patchFlag & 128) {\n patchKeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n return;\n } else if (patchFlag & 256) {\n patchUnkeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n return;\n }\n }\n if (shapeFlag & 8) {\n if (prevShapeFlag & 16) {\n unmountChildren(c1, parentComponent, parentSuspense);\n }\n if (c2 !== c1) {\n hostSetElementText(container, c2);\n }\n } else {\n if (prevShapeFlag & 16) {\n if (shapeFlag & 16) {\n patchKeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n unmountChildren(c1, parentComponent, parentSuspense, true);\n }\n } else {\n if (prevShapeFlag & 8) {\n hostSetElementText(container, \"\");\n }\n if (shapeFlag & 16) {\n mountChildren(\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n }\n }\n };\n const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n c1 = c1 || EMPTY_ARR;\n c2 = c2 || EMPTY_ARR;\n const oldLength = c1.length;\n const newLength = c2.length;\n const commonLength = Math.min(oldLength, newLength);\n let i;\n for (i = 0; i < commonLength; i++) {\n const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n patch(\n c1[i],\n nextChild,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n if (oldLength > newLength) {\n unmountChildren(\n c1,\n parentComponent,\n parentSuspense,\n true,\n false,\n commonLength\n );\n } else {\n mountChildren(\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n commonLength\n );\n }\n };\n const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n let i = 0;\n const l2 = c2.length;\n let e1 = c1.length - 1;\n let e2 = l2 - 1;\n while (i <= e1 && i <= e2) {\n const n1 = c1[i];\n const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n if (isSameVNodeType(n1, n2)) {\n patch(\n n1,\n n2,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n break;\n }\n i++;\n }\n while (i <= e1 && i <= e2) {\n const n1 = c1[e1];\n const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);\n if (isSameVNodeType(n1, n2)) {\n patch(\n n1,\n n2,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n break;\n }\n e1--;\n e2--;\n }\n if (i > e1) {\n if (i <= e2) {\n const nextPos = e2 + 1;\n const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;\n while (i <= e2) {\n patch(\n null,\n c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]),\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n i++;\n }\n }\n } else if (i > e2) {\n while (i <= e1) {\n unmount(c1[i], parentComponent, parentSuspense, true);\n i++;\n }\n } else {\n const s1 = i;\n const s2 = i;\n const keyToNewIndexMap = /* @__PURE__ */ new Map();\n for (i = s2; i <= e2; i++) {\n const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n if (nextChild.key != null) {\n if (!!(process.env.NODE_ENV !== \"production\") && keyToNewIndexMap.has(nextChild.key)) {\n warn$1(\n `Duplicate keys found during update:`,\n JSON.stringify(nextChild.key),\n `Make sure keys are unique.`\n );\n }\n keyToNewIndexMap.set(nextChild.key, i);\n }\n }\n let j;\n let patched = 0;\n const toBePatched = e2 - s2 + 1;\n let moved = false;\n let maxNewIndexSoFar = 0;\n const newIndexToOldIndexMap = new Array(toBePatched);\n for (i = 0; i < toBePatched; i++) newIndexToOldIndexMap[i] = 0;\n for (i = s1; i <= e1; i++) {\n const prevChild = c1[i];\n if (patched >= toBePatched) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n continue;\n }\n let newIndex;\n if (prevChild.key != null) {\n newIndex = keyToNewIndexMap.get(prevChild.key);\n } else {\n for (j = s2; j <= e2; j++) {\n if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {\n newIndex = j;\n break;\n }\n }\n }\n if (newIndex === void 0) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n } else {\n newIndexToOldIndexMap[newIndex - s2] = i + 1;\n if (newIndex >= maxNewIndexSoFar) {\n maxNewIndexSoFar = newIndex;\n } else {\n moved = true;\n }\n patch(\n prevChild,\n c2[newIndex],\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n patched++;\n }\n }\n const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;\n j = increasingNewIndexSequence.length - 1;\n for (i = toBePatched - 1; i >= 0; i--) {\n const nextIndex = s2 + i;\n const nextChild = c2[nextIndex];\n const anchorVNode = c2[nextIndex + 1];\n const anchor = nextIndex + 1 < l2 ? (\n // #13559, #14173 fallback to el placeholder for unresolved async component\n anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)\n ) : parentAnchor;\n if (newIndexToOldIndexMap[i] === 0) {\n patch(\n null,\n nextChild,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (moved) {\n if (j < 0 || i !== increasingNewIndexSequence[j]) {\n move(nextChild, container, anchor, 2);\n } else {\n j--;\n }\n }\n }\n }\n };\n const move = (vnode, container, anchor, moveType, parentSuspense = null) => {\n const { el, type, transition, children, shapeFlag } = vnode;\n if (shapeFlag & 6) {\n move(vnode.component.subTree, container, anchor, moveType);\n return;\n }\n if (shapeFlag & 128) {\n vnode.suspense.move(container, anchor, moveType);\n return;\n }\n if (shapeFlag & 64) {\n type.move(vnode, container, anchor, internals);\n return;\n }\n if (type === Fragment) {\n hostInsert(el, container, anchor);\n for (let i = 0; i < children.length; i++) {\n move(children[i], container, anchor, moveType);\n }\n hostInsert(vnode.anchor, container, anchor);\n return;\n }\n if (type === Static) {\n moveStaticNode(vnode, container, anchor);\n return;\n }\n const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;\n if (needTransition2) {\n if (moveType === 0) {\n if (transition.persisted && !el[leaveCbKey]) {\n hostInsert(el, container, anchor);\n } else {\n transition.beforeEnter(el);\n hostInsert(el, container, anchor);\n queuePostRenderEffect(() => transition.enter(el), parentSuspense);\n }\n } else {\n const { leave, delayLeave, afterLeave } = transition;\n const remove2 = () => {\n if (vnode.ctx.isUnmounted) {\n hostRemove(el);\n } else {\n hostInsert(el, container, anchor);\n }\n };\n const performLeave = () => {\n const wasLeaving = el._isLeaving || !!el[leaveCbKey];\n if (el._isLeaving) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n if (transition.persisted && !wasLeaving) {\n remove2();\n } else {\n leave(el, () => {\n remove2();\n afterLeave && afterLeave();\n });\n }\n };\n if (delayLeave) {\n delayLeave(el, remove2, performLeave);\n } else {\n performLeave();\n }\n }\n } else {\n hostInsert(el, container, anchor);\n }\n };\n const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {\n const {\n type,\n props,\n ref,\n children,\n dynamicChildren,\n shapeFlag,\n patchFlag,\n dirs,\n cacheIndex,\n memo\n } = vnode;\n if (patchFlag === -2 || dynamicChildren && dynamicChildren.hasOnce) {\n optimized = false;\n }\n if (ref != null) {\n pauseTracking();\n setRef(ref, null, parentSuspense, vnode, true);\n resetTracking();\n }\n if (cacheIndex != null && (!vnode.ctx || vnode.ctx === parentComponent)) {\n parentComponent.renderCache[cacheIndex] = void 0;\n }\n if (shapeFlag & 256) {\n parentComponent.ctx.deactivate(vnode);\n return;\n }\n const shouldInvokeDirs = shapeFlag & 1 && dirs;\n const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);\n let vnodeHook;\n if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n if (shapeFlag & 6) {\n unmountComponent(vnode.component, parentSuspense, doRemove);\n } else {\n if (shapeFlag & 128) {\n vnode.suspense.unmount(parentSuspense, doRemove);\n return;\n }\n if (shouldInvokeDirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeUnmount\");\n }\n if (shapeFlag & 64) {\n vnode.type.remove(\n vnode,\n parentComponent,\n parentSuspense,\n internals,\n doRemove\n );\n } else if (dynamicChildren && // #5154\n // when v-once is used inside a block, setBlockTracking(-1) marks the\n // parent block with hasOnce: true\n // so that it doesn't take the fast path during unmount - otherwise\n // components nested in v-once are never unmounted.\n !dynamicChildren.hasOnce && // #1153: fast path should not be taken for non-stable (v-for) fragments\n (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {\n unmountChildren(\n dynamicChildren,\n parentComponent,\n parentSuspense,\n false,\n true\n );\n } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {\n unmountChildren(children, parentComponent, parentSuspense);\n }\n if (doRemove) {\n remove(vnode);\n }\n }\n const shouldInvalidateMemo = memo != null && cacheIndex == null;\n if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs || shouldInvalidateMemo) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, \"unmounted\");\n if (shouldInvalidateMemo) {\n vnode.el = null;\n }\n }, parentSuspense);\n }\n };\n const remove = (vnode) => {\n const { type, el, anchor, transition } = vnode;\n const isFragment = type === Fragment;\n if (isFragment && !transition) {\n removeFragment(el, anchor);\n return;\n }\n if (type === Static) {\n removeStaticNode(vnode);\n if (transition && !transition.persisted && transition.afterLeave) {\n transition.afterLeave();\n }\n return;\n }\n const leavingNode = isFragment ? getTransitionRoot(vnode) : vnode;\n const performRemove = () => {\n if (isFragment) {\n if (hostParentNode(el)) {\n removeFragment(el, anchor);\n }\n } else {\n hostRemove(el);\n }\n if (transition && !transition.persisted && transition.afterLeave) {\n transition.afterLeave();\n }\n };\n if (leavingNode && leavingNode.shapeFlag & 1 && transition && !transition.persisted) {\n const { leave, delayLeave } = transition;\n const leavingEl = leavingNode.el;\n const performLeave = () => leave(leavingEl, performRemove);\n if (delayLeave) {\n delayLeave(leavingEl, performRemove, performLeave);\n } else {\n performLeave();\n }\n } else {\n performRemove();\n }\n };\n const removeFragment = (cur, end) => {\n let next;\n while (cur !== end) {\n next = hostNextSibling(cur);\n hostRemove(cur);\n cur = next;\n }\n hostRemove(end);\n };\n const unmountComponent = (instance, parentSuspense, doRemove) => {\n if (!!(process.env.NODE_ENV !== \"production\") && instance.type.__hmrId) {\n unregisterHMR(instance);\n }\n const { bum, scope, job, subTree, um, m, a } = instance;\n invalidateMount(m);\n invalidateMount(a);\n if (bum) {\n invokeArrayFns(bum);\n }\n scope.stop();\n if (job) {\n job.flags |= 8;\n unmount(subTree, instance, parentSuspense, doRemove);\n } else if (instance.vnode.el && subTree) {\n subTree.transition = instance.vnode.transition;\n unmount(subTree, instance, parentSuspense, doRemove);\n }\n if (um) {\n queuePostRenderEffect(um, parentSuspense);\n }\n queuePostRenderEffect(() => {\n instance.isUnmounted = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentRemoved(instance);\n }\n };\n const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {\n for (let i = start; i < children.length; i++) {\n unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);\n }\n };\n const getNextHostNode = (vnode) => {\n if (vnode.shapeFlag & 6) {\n return getNextHostNode(vnode.component.subTree);\n }\n if (vnode.shapeFlag & 128) {\n return vnode.suspense.next();\n }\n const el = hostNextSibling(vnode.anchor || vnode.el);\n const teleportEnd = el && el[TeleportEndKey];\n return teleportEnd ? hostNextSibling(teleportEnd) : el;\n };\n const render = (vnode, container, namespace) => {\n const minUid = vnode && container._vnode ? void 0 : vnode && vnode.component ? vnode.component.uid : getNextUid();\n flushOnAppMount(() => {\n if (vnode == null) {\n if (container._vnode) {\n unmount(container._vnode, null, null, true);\n }\n } else {\n patch(\n container._vnode || null,\n vnode,\n container,\n null,\n null,\n null,\n namespace\n );\n }\n container._vnode = vnode;\n }, minUid);\n };\n const internals = {\n p: patch,\n um: unmount,\n m: move,\n r: remove,\n mt: mountComponent,\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n n: getNextHostNode,\n o: options\n };\n let hydrate;\n let hydrateNode;\n if (createHydrationFns) {\n [hydrate, hydrateNode] = createHydrationFns(\n internals\n );\n }\n return {\n render,\n hydrate,\n createApp: createAppAPI(render, hydrate)\n };\n}\nfunction resolveChildrenNamespace({ type, props }, currentNamespace) {\n return currentNamespace === \"svg\" && type === \"foreignObject\" || currentNamespace === \"mathml\" && type === \"annotation-xml\" && props && props.encoding && props.encoding.includes(\"html\") ? void 0 : currentNamespace;\n}\nfunction toggleRecurse({ effect, job }, allowed) {\n if (allowed) {\n effect.flags |= 32;\n job.flags |= 4;\n } else {\n effect.flags &= -33;\n job.flags &= -5;\n }\n}\nfunction needTransition(parentSuspense, transition) {\n return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;\n}\nfunction traverseStaticChildren(n1, n2, shallow = false) {\n const ch1 = n1.children;\n const ch2 = n2.children;\n if (isArray(ch1) && isArray(ch2)) {\n for (let i = 0; i < ch1.length; i++) {\n const c1 = ch1[i];\n let c2 = ch2[i];\n if (c2.shapeFlag & 1 && !c2.dynamicChildren) {\n if (c2.patchFlag <= 0 || c2.patchFlag === 32) {\n c2 = ch2[i] = cloneIfMounted(ch2[i]);\n c2.el = c1.el;\n }\n if (!shallow && c2.patchFlag !== -2)\n traverseStaticChildren(c1, c2);\n }\n if (c2.type === Text) {\n if (c2.patchFlag === -1) {\n c2 = ch2[i] = cloneIfMounted(c2);\n }\n c2.el = c1.el;\n }\n if (c2.type === Comment && !c2.el) {\n c2.el = c1.el;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n c2.el && (c2.el.__vnode = c2);\n }\n }\n }\n}\nfunction getSequence(arr) {\n const p = arr.slice();\n const result = [0];\n let i, j, u, v, c;\n const len = arr.length;\n for (i = 0; i < len; i++) {\n const arrI = arr[i];\n if (arrI !== 0) {\n j = result[result.length - 1];\n if (arr[j] < arrI) {\n p[i] = j;\n result.push(i);\n continue;\n }\n u = 0;\n v = result.length - 1;\n while (u < v) {\n c = u + v >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n } else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = result.length;\n v = result[u - 1];\n while (u-- > 0) {\n result[u] = v;\n v = p[v];\n }\n return result;\n}\nfunction locateNonHydratedAsyncRoot(instance) {\n const subComponent = instance.subTree.component;\n if (subComponent) {\n if (subComponent.asyncDep && !subComponent.asyncResolved) {\n return subComponent;\n } else {\n return locateNonHydratedAsyncRoot(subComponent);\n }\n }\n}\nfunction invalidateMount(hooks) {\n if (hooks) {\n for (let i = 0; i < hooks.length; i++)\n hooks[i].flags |= 8;\n }\n}\nfunction resolveAsyncComponentPlaceholder(anchorVnode) {\n if (anchorVnode.placeholder) {\n return anchorVnode.placeholder;\n }\n const instance = anchorVnode.component;\n if (instance) {\n return resolveAsyncComponentPlaceholder(instance.subTree);\n }\n return null;\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nlet suspenseId = 0;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback && !parentSuspense.isHydrating) {\n n2.suspense = n1.suspense;\n n2.suspense.vnode = n2;\n n2.el = n1.el;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(pendingBranch, newBranch)) {\n suspense.deps++;\n patch(\n pendingBranch,\n newBranch,\n // a hydrating pending branch is adopted SSR DOM, already in place\n isHydrating ? container : suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.deps--;\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating && !suspense.isFallbackMountPending) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (!suspense.isFallbackMountPending) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n `<Suspense> is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n isFallbackMountPending: false,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2,\n isInFallback\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n let hasUpdatedAnchor = false;\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n if (isInFallback && vnode2.ssFallback) {\n vnode2.ssFallback.el = null;\n }\n }\n };\n }\n if (activeBranch && !suspense.isFallbackMountPending) {\n if (parentNode(activeBranch.el) === container2) {\n anchor = next(activeBranch);\n hasUpdatedAnchor = true;\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n if (!delayEnter && isInFallback && vnode2.ssFallback) {\n queuePostRenderEffect(() => vnode2.ssFallback.el = null, suspense);\n }\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 0);\n }\n }\n suspense.isFallbackMountPending = false;\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n for (let i = 0; i < effects.length; i++) {\n parent.effects.push(effects[i]);\n }\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspenseId = void 0;\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n suspense.isFallbackMountPending = false;\n if (!suspense.isInFallback) {\n return;\n }\n const latestFallback = suspense.vnode.ssFallback;\n patch(\n null,\n latestFallback,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n namespace2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, latestFallback);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n suspense.isFallbackMountPending = true;\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n // `namespace` intentionally shadows the boundary's own: the dep must be\n // mounted with the namespace of the position it was rendered at, which can\n // differ from the boundary's (e.g. a component nested inside an <svg>).\n registerDep(instance, setupRenderEffect, optimized2, namespace2) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n unsetCurrentInstance();\n if (!instance.scope.active) {\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n namespace2,\n optimized2\n );\n if (placeholder) {\n vnode2.placeholder = null;\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn$1(`<Suspense> slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n const suspensible = vnode.props && vnode.props.suspensible;\n return suspensible != null && suspensible !== false;\n}\n\nconst Fragment = /* @__PURE__ */ Symbol.for(\"v-fgt\");\nconst Text = /* @__PURE__ */ Symbol.for(\"v-txt\");\nconst Comment = /* @__PURE__ */ Symbol.for(\"v-cmt\");\nconst Static = /* @__PURE__ */ Symbol.for(\"v-stc\");\nconst blockStack = [];\nlet currentBlock = null;\nfunction openBlock(disableTracking = false) {\n blockStack.push(currentBlock = disableTracking ? null : []);\n}\nfunction closeBlock() {\n blockStack.pop();\n currentBlock = blockStack[blockStack.length - 1] || null;\n}\nlet isBlockTreeEnabled = 1;\nfunction setBlockTracking(value, inVOnce = false) {\n isBlockTreeEnabled += value;\n if (value < 0 && currentBlock && inVOnce) {\n currentBlock.hasOnce = true;\n }\n}\nfunction setupBlock(vnode) {\n vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;\n closeBlock();\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\nfunction createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {\n return setupBlock(\n createBaseVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n shapeFlag,\n true\n )\n );\n}\nfunction createBlock(type, props, children, patchFlag, dynamicProps) {\n return setupBlock(\n createVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n true\n )\n );\n}\nfunction isVNode(value) {\n return value ? value.__v_isVNode === true : false;\n}\nfunction isSameVNodeType(n1, n2) {\n if (!!(process.env.NODE_ENV !== \"production\") && n2.shapeFlag & 6 && n1.component) {\n const dirtyInstances = hmrDirtyComponents.get(n2.type);\n if (dirtyInstances && dirtyInstances.has(n1.component)) {\n n1.shapeFlag &= -257;\n n2.shapeFlag &= -513;\n return false;\n }\n }\n return n1.type === n2.type && n1.key === n2.key;\n}\nlet vnodeArgsTransformer;\nfunction transformVNodeArgs(transformer) {\n vnodeArgsTransformer = transformer;\n}\nconst createVNodeWithArgsTransform = (...args) => {\n return _createVNode(\n ...vnodeArgsTransformer ? vnodeArgsTransformer(args, currentRenderingInstance) : args\n );\n};\nconst normalizeKey = ({ key }) => key != null ? key : null;\nconst normalizeRef = ({\n ref,\n ref_key,\n ref_for\n}) => {\n if (typeof ref === \"number\") {\n ref = \"\" + ref;\n }\n return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;\n};\nfunction createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {\n const vnode = {\n __v_isVNode: true,\n __v_skip: true,\n type,\n props,\n key: props && normalizeKey(props),\n ref: props && normalizeRef(props),\n scopeId: currentScopeId,\n slotScopeIds: null,\n children,\n component: null,\n suspense: null,\n ssContent: null,\n ssFallback: null,\n dirs: null,\n transition: null,\n el: null,\n anchor: null,\n target: null,\n targetStart: null,\n targetAnchor: null,\n staticCount: 0,\n shapeFlag,\n patchFlag,\n dynamicProps,\n dynamicChildren: null,\n appContext: null,\n ctx: currentRenderingInstance\n };\n if (needFullChildrenNormalization) {\n normalizeChildren(vnode, children);\n if (shapeFlag & 128) {\n type.normalize(vnode);\n }\n } else if (children) {\n vnode.shapeFlag |= isString(children) ? 8 : 16;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.key !== vnode.key) {\n warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && props && vnode.shapeFlag & 1) {\n const overwritingProp = props.innerHTML != null ? \"innerHTML\" : props.textContent != null ? \"textContent\" : null;\n if (overwritingProp && hasContentChildren(vnode.children)) {\n warn$1(\n `The \\`${overwritingProp}\\` prop on <${vnode.type}> will override its children. Remove either the \\`${overwritingProp}\\` prop or the children.`\n );\n }\n }\n if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself\n !isBlockNode && // has current parent block\n currentBlock && // presence of a patch flag indicates this node needs patching on updates.\n // component nodes also should always be patched, because even if the\n // component doesn't need to update, it needs to persist the instance on to\n // the next vnode so that it can be properly unmounted later.\n (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the\n // vnode should not be considered dynamic due to handler caching.\n vnode.patchFlag !== 32) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\nfunction hasContentChildren(children) {\n if (isString(children)) return children !== \"\";\n if (isArray(children)) return children.length > 0;\n return false;\n}\nconst createVNode = !!(process.env.NODE_ENV !== \"production\") ? createVNodeWithArgsTransform : _createVNode;\nfunction _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {\n if (!type || type === NULL_DYNAMIC_COMPONENT) {\n if (!!(process.env.NODE_ENV !== \"production\") && !type) {\n warn$1(`Invalid vnode type when creating vnode: ${type}.`);\n }\n type = Comment;\n }\n if (isVNode(type)) {\n const cloned = cloneVNode(\n type,\n props,\n true\n /* mergeRef: true */\n );\n if (children) {\n normalizeChildren(cloned, children);\n }\n if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {\n if (cloned.shapeFlag & 6) {\n currentBlock[currentBlock.indexOf(type)] = cloned;\n } else {\n currentBlock.push(cloned);\n }\n }\n cloned.patchFlag = -2;\n return cloned;\n }\n if (isClassComponent(type)) {\n type = type.__vccOpts;\n }\n if (props) {\n props = guardReactiveProps(props);\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (isObject(style)) {\n if (isProxy(style) && !isArray(style)) {\n style = extend({}, style);\n }\n props.style = normalizeStyle(style);\n }\n }\n const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;\n if (!!(process.env.NODE_ENV !== \"production\") && shapeFlag & 4 && isProxy(type)) {\n type = toRaw(type);\n warn$1(\n `Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \\`markRaw\\` or using \\`shallowRef\\` instead of \\`ref\\`.`,\n `\nComponent that was made reactive: `,\n type\n );\n }\n return createBaseVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n shapeFlag,\n isBlockNode,\n true\n );\n}\nfunction guardReactiveProps(props) {\n if (!props) return null;\n return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;\n}\nfunction cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {\n const { props, ref, patchFlag, children, transition } = vnode;\n const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;\n const cloned = {\n __v_isVNode: true,\n __v_skip: true,\n type: vnode.type,\n props: mergedProps,\n key: mergedProps && normalizeKey(mergedProps),\n ref: extraProps && extraProps.ref ? (\n // #2078 in the case of <component :is=\"vnode\" ref=\"extra\"/>\n // if the vnode itself already has a ref, cloneVNode will need to merge\n // the refs so the single vnode can be set on multiple refs\n mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps)\n ) : ref,\n scopeId: vnode.scopeId,\n slotScopeIds: vnode.slotScopeIds,\n children: !!(process.env.NODE_ENV !== \"production\") && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,\n target: vnode.target,\n targetStart: vnode.targetStart,\n targetAnchor: vnode.targetAnchor,\n staticCount: vnode.staticCount,\n shapeFlag: vnode.shapeFlag,\n // if the vnode is cloned with extra props, we can no longer assume its\n // existing patch flag to be reliable and need to add the FULL_PROPS flag.\n // note: preserve flag for fragments since they use the flag for children\n // fast paths only.\n patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,\n dynamicProps: vnode.dynamicProps,\n dynamicChildren: vnode.dynamicChildren,\n appContext: vnode.appContext,\n dirs: vnode.dirs,\n transition,\n // These should technically only be non-null on mounted VNodes. However,\n // they *should* be copied for kept-alive vnodes. So we just always copy\n // them since them being non-null during a mount doesn't affect the logic as\n // they will simply be overwritten.\n component: vnode.component,\n suspense: vnode.suspense,\n ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),\n ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),\n placeholder: vnode.placeholder,\n el: vnode.el,\n anchor: vnode.anchor,\n ctx: vnode.ctx,\n ce: vnode.ce,\n cacheIndex: vnode.cacheIndex\n };\n if (transition && cloneTransition) {\n setTransitionHooks(\n cloned,\n transition.clone(cloned)\n );\n }\n return cloned;\n}\nfunction deepCloneVNode(vnode) {\n const cloned = cloneVNode(vnode);\n if (isArray(vnode.children)) {\n cloned.children = vnode.children.map(deepCloneVNode);\n }\n return cloned;\n}\nfunction createTextVNode(text = \" \", flag = 0) {\n return createVNode(Text, null, text, flag);\n}\nfunction createStaticVNode(content, numberOfNodes) {\n const vnode = createVNode(Static, null, content);\n vnode.staticCount = numberOfNodes;\n return vnode;\n}\nfunction createCommentVNode(text = \"\", asBlock = false) {\n return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);\n}\nfunction normalizeVNode(child) {\n if (child == null || typeof child === \"boolean\") {\n return createVNode(Comment);\n } else if (isArray(child)) {\n return createVNode(\n Fragment,\n null,\n // #3666, avoid reference pollution when reusing vnode\n child.slice()\n );\n } else if (isVNode(child)) {\n return cloneIfMounted(child);\n } else {\n return createVNode(Text, null, String(child));\n }\n}\nfunction cloneIfMounted(child) {\n return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);\n}\nfunction normalizeChildren(vnode, children) {\n let type = 0;\n const { shapeFlag } = vnode;\n if (children == null) {\n children = null;\n } else if (isArray(children)) {\n type = 16;\n } else if (typeof children === \"object\") {\n if (shapeFlag & (1 | 64)) {\n const slot = children.default;\n if (slot) {\n slot._c && (slot._d = false);\n normalizeChildren(vnode, slot());\n slot._c && (slot._d = true);\n }\n return;\n } else {\n type = 32;\n const slotFlag = children._;\n if (!slotFlag && !isInternalObject(children)) {\n children._ctx = currentRenderingInstance;\n } else if (slotFlag === 3 && currentRenderingInstance) {\n if (currentRenderingInstance.slots._ === 1) {\n children._ = 1;\n } else {\n children._ = 2;\n vnode.patchFlag |= 1024;\n }\n }\n }\n } else if (isFunction(children)) {\n if (shapeFlag & (1 | 64)) {\n normalizeChildren(vnode, { default: children });\n return;\n }\n children = { default: children, _ctx: currentRenderingInstance };\n type = 32;\n } else {\n children = String(children);\n if (shapeFlag & 64) {\n type = 16;\n children = [createTextVNode(children)];\n } else {\n type = 8;\n }\n }\n vnode.children = children;\n vnode.shapeFlag |= type;\n}\nfunction mergeProps(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n const toMerge = args[i];\n for (const key in toMerge) {\n if (key === \"class\") {\n if (ret.class !== toMerge.class) {\n ret.class = normalizeClass([ret.class, toMerge.class]);\n }\n } else if (key === \"style\") {\n ret.style = normalizeStyle([ret.style, toMerge.style]);\n } else if (isOn(key)) {\n const existing = ret[key];\n const incoming = toMerge[key];\n if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {\n ret[key] = existing ? [].concat(existing, incoming) : incoming;\n } else if (incoming == null && existing == null && // mergeProps({ 'onUpdate:modelValue': undefined }) should not retain\n // the model listener.\n !isModelListener(key)) {\n ret[key] = incoming;\n }\n } else if (key !== \"\") {\n ret[key] = toMerge[key];\n }\n }\n }\n return ret;\n}\nfunction invokeVNodeHook(hook, instance, vnode, prevVNode = null) {\n callWithAsyncErrorHandling(hook, instance, 7, [\n vnode,\n prevVNode\n ]);\n}\n\nconst emptyAppContext = createAppContext();\nlet uid = 0;\nfunction getNextUid() {\n return uid;\n}\nfunction createComponentInstance(vnode, parent, suspense) {\n const type = vnode.type;\n const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;\n const instance = {\n uid: uid++,\n vnode,\n type,\n parent,\n appContext,\n root: null,\n // to be immediately set\n next: null,\n subTree: null,\n // will be set synchronously right after creation\n effect: null,\n update: null,\n // will be set synchronously right after creation\n job: null,\n scope: new EffectScope(\n true\n /* detached */\n ),\n render: null,\n proxy: null,\n exposed: null,\n exposeProxy: null,\n withProxy: null,\n provides: parent ? parent.provides : Object.create(appContext.provides),\n ids: parent ? parent.ids : [\"\", 0, 0],\n accessCache: null,\n renderCache: [],\n // local resolved assets\n components: null,\n directives: null,\n // resolved props and emits options\n propsOptions: normalizePropsOptions(type, appContext),\n emitsOptions: normalizeEmitsOptions(type, appContext),\n // emit\n emit: null,\n // to be set immediately\n emitted: null,\n // props default value\n propsDefaults: EMPTY_OBJ,\n // inheritAttrs\n inheritAttrs: type.inheritAttrs,\n // state\n ctx: EMPTY_OBJ,\n data: EMPTY_OBJ,\n props: EMPTY_OBJ,\n attrs: EMPTY_OBJ,\n slots: EMPTY_OBJ,\n refs: EMPTY_OBJ,\n setupState: EMPTY_OBJ,\n setupContext: null,\n // suspense related\n suspense,\n suspenseId: suspense ? suspense.pendingId : 0,\n asyncDep: null,\n asyncResolved: false,\n // lifecycle hooks\n // not using enums here because it results in computed properties\n isMounted: false,\n isUnmounted: false,\n isDeactivated: false,\n bc: null,\n c: null,\n bm: null,\n m: null,\n bu: null,\n u: null,\n um: null,\n bum: null,\n da: null,\n a: null,\n rtg: null,\n rtc: null,\n ec: null,\n sp: null\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ctx = createDevRenderContext(instance);\n } else {\n instance.ctx = { _: instance };\n }\n instance.root = parent ? parent.root : instance;\n instance.emit = emit.bind(null, instance);\n if (vnode.ce) {\n vnode.ce(instance);\n }\n return instance;\n}\nlet currentInstance = null;\nconst getCurrentInstance = () => currentInstance || currentRenderingInstance;\nlet internalSetCurrentInstance;\nlet setInSSRSetupState;\n{\n const g = getGlobalThis();\n const registerGlobalSetter = (key, setter) => {\n let setters;\n if (!(setters = g[key])) setters = g[key] = [];\n setters.push(setter);\n return (v) => {\n if (setters.length > 1) setters.forEach((set) => set(v));\n else setters[0](v);\n };\n };\n internalSetCurrentInstance = registerGlobalSetter(\n `__VUE_INSTANCE_SETTERS__`,\n (v) => currentInstance = v\n );\n setInSSRSetupState = registerGlobalSetter(\n `__VUE_SSR_SETTERS__`,\n (v) => isInSSRComponentSetup = v\n );\n}\nconst setCurrentInstance = (instance) => {\n const prev = currentInstance;\n internalSetCurrentInstance(instance);\n instance.scope.on();\n return () => {\n instance.scope.off();\n internalSetCurrentInstance(prev);\n };\n};\nconst unsetCurrentInstance = () => {\n currentInstance && currentInstance.scope.off();\n internalSetCurrentInstance(null);\n};\nconst isBuiltInTag = /* @__PURE__ */ makeMap(\"slot,component\");\nfunction validateComponentName(name, { isNativeTag }) {\n if (isBuiltInTag(name) || isNativeTag(name)) {\n warn$1(\n \"Do not use built-in or reserved HTML elements as component id: \" + name\n );\n }\n}\nfunction isStatefulComponent(instance) {\n return instance.vnode.shapeFlag & 4;\n}\nlet isInSSRComponentSetup = false;\nfunction setupComponent(instance, isSSR = false, optimized = false) {\n isSSR && setInSSRSetupState(isSSR);\n const { props, children } = instance.vnode;\n const isStateful = isStatefulComponent(instance);\n initProps(instance, props, isStateful, isSSR);\n initSlots(instance, children, optimized || isSSR);\n const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;\n isSSR && setInSSRSetupState(false);\n return setupResult;\n}\nfunction setupStatefulComponent(instance, isSSR) {\n const Component = instance.type;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (Component.name) {\n validateComponentName(Component.name, instance.appContext.config);\n }\n if (Component.components) {\n const names = Object.keys(Component.components);\n for (let i = 0; i < names.length; i++) {\n validateComponentName(names[i], instance.appContext.config);\n }\n }\n if (Component.directives) {\n const names = Object.keys(Component.directives);\n for (let i = 0; i < names.length; i++) {\n validateDirectiveName(names[i]);\n }\n }\n if (Component.compilerOptions && isRuntimeOnly()) {\n warn$1(\n `\"compilerOptions\" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`\n );\n }\n }\n instance.accessCache = /* @__PURE__ */ Object.create(null);\n instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n exposePropsOnRenderContext(instance);\n }\n const { setup } = Component;\n if (setup) {\n pauseTracking();\n const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;\n const reset = setCurrentInstance(instance);\n const setupResult = callWithErrorHandling(\n setup,\n instance,\n 0,\n [\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(instance.props) : instance.props,\n setupContext\n ]\n );\n const isAsyncSetup = isPromise(setupResult);\n resetTracking();\n reset();\n if ((isAsyncSetup || instance.sp) && !isAsyncWrapper(instance)) {\n markAsyncBoundary(instance);\n }\n if (isAsyncSetup) {\n setupResult.then(unsetCurrentInstance, unsetCurrentInstance);\n if (isSSR) {\n return setupResult.then((resolvedResult) => {\n setInSSRSetupState(true);\n try {\n handleSetupResult(instance, resolvedResult, isSSR);\n } finally {\n setInSSRSetupState(false);\n }\n }).catch((e) => {\n handleError(e, instance, 0);\n });\n } else {\n instance.asyncDep = setupResult;\n if (!!(process.env.NODE_ENV !== \"production\") && !instance.suspense) {\n const name = formatComponentName(instance, Component);\n warn$1(\n `Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`\n );\n }\n }\n } else {\n handleSetupResult(instance, setupResult, isSSR);\n }\n } else {\n finishComponentSetup(instance, isSSR);\n }\n}\nfunction handleSetupResult(instance, setupResult, isSSR) {\n if (isFunction(setupResult)) {\n if (instance.type.__ssrInlineRender) {\n instance.ssrRender = setupResult;\n } else {\n instance.render = setupResult;\n }\n } else if (isObject(setupResult)) {\n if (!!(process.env.NODE_ENV !== \"production\") && isVNode(setupResult)) {\n warn$1(\n `setup() should not return VNodes directly - return a render function instead.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.devtoolsRawSetupState = setupResult;\n }\n instance.setupState = proxyRefs(setupResult);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n exposeSetupStateOnRenderContext(instance);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupResult !== void 0) {\n warn$1(\n `setup() should return an object. Received: ${setupResult === null ? \"null\" : typeof setupResult}`\n );\n }\n finishComponentSetup(instance, isSSR);\n}\nlet compile;\nlet installWithProxy;\nfunction registerRuntimeCompiler(_compile) {\n compile = _compile;\n installWithProxy = (i) => {\n if (i.render._rc) {\n i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);\n }\n };\n}\nconst isRuntimeOnly = () => !compile;\nfunction finishComponentSetup(instance, isSSR, skipOptions) {\n const Component = instance.type;\n if (!instance.render) {\n if (!isSSR && compile && !Component.render) {\n const template = Component.template || __VUE_OPTIONS_API__ && resolveMergedOptions(instance).template;\n if (template) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `compile`);\n }\n const { isCustomElement, compilerOptions } = instance.appContext.config;\n const { delimiters, compilerOptions: componentCompilerOptions } = Component;\n const finalCompilerOptions = extend(\n extend(\n {\n isCustomElement,\n delimiters\n },\n compilerOptions\n ),\n componentCompilerOptions\n );\n Component.render = compile(template, finalCompilerOptions);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `compile`);\n }\n }\n }\n instance.render = Component.render || NOOP;\n if (installWithProxy) {\n installWithProxy(instance);\n }\n }\n if (__VUE_OPTIONS_API__ && true) {\n const reset = setCurrentInstance(instance);\n pauseTracking();\n try {\n applyOptions(instance);\n } finally {\n resetTracking();\n reset();\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !Component.render && instance.render === NOOP && !isSSR) {\n if (!compile && Component.template) {\n warn$1(\n `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\n );\n } else {\n warn$1(`Component is missing template or render function: `, Component);\n }\n }\n}\nconst attrsProxyHandlers = !!(process.env.NODE_ENV !== \"production\") ? {\n get(target, key) {\n markAttrsAccessed();\n track(target, \"get\", \"\");\n return target[key];\n },\n set() {\n warn$1(`setupContext.attrs is readonly.`);\n return false;\n },\n deleteProperty() {\n warn$1(`setupContext.attrs is readonly.`);\n return false;\n }\n} : {\n get(target, key) {\n track(target, \"get\", \"\");\n return target[key];\n }\n};\nfunction getSlotsProxy(instance) {\n return new Proxy(instance.slots, {\n get(target, key) {\n track(instance, \"get\", \"$slots\");\n return target[key];\n }\n });\n}\nfunction createSetupContext(instance) {\n const expose = (exposed) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (instance.exposed) {\n warn$1(`expose() should be called only once per setup().`);\n }\n if (exposed != null) {\n let exposedType = typeof exposed;\n if (exposedType === \"object\") {\n if (isArray(exposed)) {\n exposedType = \"array\";\n } else if (isRef(exposed)) {\n exposedType = \"ref\";\n }\n }\n if (exposedType !== \"object\") {\n warn$1(\n `expose() should be passed a plain object, received ${exposedType}.`\n );\n }\n }\n }\n instance.exposed = exposed || {};\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n let attrsProxy;\n let slotsProxy;\n return Object.freeze({\n get attrs() {\n return attrsProxy || (attrsProxy = new Proxy(instance.attrs, attrsProxyHandlers));\n },\n get slots() {\n return slotsProxy || (slotsProxy = getSlotsProxy(instance));\n },\n get emit() {\n return (event, ...args) => instance.emit(event, ...args);\n },\n expose\n });\n } else {\n return {\n attrs: new Proxy(instance.attrs, attrsProxyHandlers),\n slots: instance.slots,\n emit: instance.emit,\n expose\n };\n }\n}\nfunction getComponentPublicInstance(instance) {\n if (instance.exposed) {\n return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {\n get(target, key) {\n if (key in target) {\n return target[key];\n } else if (key in publicPropertiesMap) {\n return publicPropertiesMap[key](instance);\n }\n },\n has(target, key) {\n return key in target || key in publicPropertiesMap;\n }\n }));\n } else {\n return instance.proxy;\n }\n}\nconst classifyRE = /(?:^|[-_])\\w/g;\nconst classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, \"\");\nfunction getComponentName(Component, includeInferred = true) {\n return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;\n}\nfunction formatComponentName(instance, Component, isRoot = false) {\n let name = getComponentName(Component);\n if (!name && Component.__file) {\n const match = Component.__file.match(/([^/\\\\]+)\\.\\w+$/);\n if (match) {\n name = match[1];\n }\n }\n if (!name && instance) {\n const inferFromRegistry = (registry) => {\n for (const key in registry) {\n if (registry[key] === Component) {\n return key;\n }\n }\n };\n name = inferFromRegistry(instance.components) || instance.parent && inferFromRegistry(\n instance.parent.type.components\n ) || inferFromRegistry(instance.appContext.components);\n }\n return name ? classify(name) : isRoot ? `App` : `Anonymous`;\n}\nfunction isClassComponent(value) {\n return isFunction(value) && \"__vccOpts\" in value;\n}\n\nconst computed = (getterOrOptions, debugOptions) => {\n const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const i = getCurrentInstance();\n if (i && i.appContext.config.warnRecursiveComputed) {\n c._warnRecursive = true;\n }\n }\n return c;\n};\n\nfunction h(type, propsOrChildren, children) {\n try {\n setBlockTracking(-1);\n const l = arguments.length;\n if (l === 2) {\n if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {\n if (isVNode(propsOrChildren)) {\n return createVNode(type, null, [propsOrChildren]);\n }\n return createVNode(type, propsOrChildren);\n } else {\n return createVNode(type, null, propsOrChildren);\n }\n } else {\n if (l > 3) {\n children = Array.prototype.slice.call(arguments, 2);\n } else if (l === 3 && isVNode(children)) {\n children = [children];\n }\n return createVNode(type, propsOrChildren, children);\n }\n } finally {\n setBlockTracking(1);\n }\n}\n\nfunction initCustomFormatter() {\n if (!!!(process.env.NODE_ENV !== \"production\") || typeof window === \"undefined\") {\n return;\n }\n const vueStyle = { style: \"color:#3ba776\" };\n const numberStyle = { style: \"color:#1677ff\" };\n const stringStyle = { style: \"color:#f5222d\" };\n const keywordStyle = { style: \"color:#eb2f96\" };\n const formatter = {\n __vue_custom_formatter: true,\n header(obj) {\n if (!isObject(obj)) {\n return null;\n }\n if (obj.__isVue) {\n return [\"div\", vueStyle, `VueInstance`];\n } else if (isRef(obj)) {\n pauseTracking();\n const value = obj.value;\n resetTracking();\n return [\n \"div\",\n {},\n [\"span\", vueStyle, genRefFlag(obj)],\n \"<\",\n formatValue(value),\n `>`\n ];\n } else if (isReactive(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, isShallow(obj) ? \"ShallowReactive\" : \"Reactive\"],\n \"<\",\n formatValue(obj),\n `>${isReadonly(obj) ? ` (readonly)` : ``}`\n ];\n } else if (isReadonly(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, isShallow(obj) ? \"ShallowReadonly\" : \"Readonly\"],\n \"<\",\n formatValue(obj),\n \">\"\n ];\n }\n return null;\n },\n hasBody(obj) {\n return obj && obj.__isVue;\n },\n body(obj) {\n if (obj && obj.__isVue) {\n return [\n \"div\",\n {},\n ...formatInstance(obj.$)\n ];\n }\n }\n };\n function formatInstance(instance) {\n const blocks = [];\n if (instance.type.props && instance.props) {\n blocks.push(createInstanceBlock(\"props\", toRaw(instance.props)));\n }\n if (instance.setupState !== EMPTY_OBJ) {\n blocks.push(createInstanceBlock(\"setup\", instance.setupState));\n }\n if (instance.data !== EMPTY_OBJ) {\n blocks.push(createInstanceBlock(\"data\", toRaw(instance.data)));\n }\n const computed = extractKeys(instance, \"computed\");\n if (computed) {\n blocks.push(createInstanceBlock(\"computed\", computed));\n }\n const injected = extractKeys(instance, \"inject\");\n if (injected) {\n blocks.push(createInstanceBlock(\"injected\", injected));\n }\n blocks.push([\n \"div\",\n {},\n [\n \"span\",\n {\n style: keywordStyle.style + \";opacity:0.66\"\n },\n \"$ (internal): \"\n ],\n [\"object\", { object: instance }]\n ]);\n return blocks;\n }\n function createInstanceBlock(type, target) {\n target = extend({}, target);\n if (!Object.keys(target).length) {\n return [\"span\", {}];\n }\n return [\n \"div\",\n { style: \"line-height:1.25em;margin-bottom:0.6em\" },\n [\n \"div\",\n {\n style: \"color:#476582\"\n },\n type\n ],\n [\n \"div\",\n {\n style: \"padding-left:1.25em\"\n },\n ...Object.keys(target).map((key) => {\n return [\n \"div\",\n {},\n [\"span\", keywordStyle, key + \": \"],\n formatValue(target[key], false)\n ];\n })\n ]\n ];\n }\n function formatValue(v, asRaw = true) {\n if (typeof v === \"number\") {\n return [\"span\", numberStyle, v];\n } else if (typeof v === \"string\") {\n return [\"span\", stringStyle, JSON.stringify(v)];\n } else if (typeof v === \"boolean\") {\n return [\"span\", keywordStyle, v];\n } else if (isObject(v)) {\n return [\"object\", { object: asRaw ? toRaw(v) : v }];\n } else {\n return [\"span\", stringStyle, String(v)];\n }\n }\n function extractKeys(instance, type) {\n const Comp = instance.type;\n if (isFunction(Comp)) {\n return;\n }\n const extracted = {};\n for (const key in instance.ctx) {\n if (isKeyOfType(Comp, key, type)) {\n extracted[key] = instance.ctx[key];\n }\n }\n return extracted;\n }\n function isKeyOfType(Comp, key, type) {\n const opts = Comp[type];\n if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) {\n return true;\n }\n if (Comp.extends && isKeyOfType(Comp.extends, key, type)) {\n return true;\n }\n if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) {\n return true;\n }\n }\n function genRefFlag(v) {\n if (isShallow(v)) {\n return `ShallowRef`;\n }\n if (v.effect) {\n return `ComputedRef`;\n }\n return `Ref`;\n }\n if (window.devtoolsFormatters) {\n window.devtoolsFormatters.push(formatter);\n } else {\n window.devtoolsFormatters = [formatter];\n }\n}\n\nfunction withMemo(memo, render, cache, index) {\n const cached = cache[index];\n if (cached && isMemoSame(cached, memo)) {\n return cached;\n }\n const ret = render();\n ret.memo = memo.slice();\n ret.cacheIndex = index;\n return cache[index] = ret;\n}\nfunction isMemoSame(cached, memo) {\n const prev = cached.memo;\n if (prev.length != memo.length) {\n return false;\n }\n for (let i = 0; i < prev.length; i++) {\n if (hasChanged(prev[i], memo[i])) {\n return false;\n }\n }\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(cached);\n }\n return true;\n}\n\nconst version = \"3.5.44\";\nconst warn = !!(process.env.NODE_ENV !== \"production\") ? warn$1 : NOOP;\nconst ErrorTypeStrings = ErrorTypeStrings$1 ;\nconst devtools = !!(process.env.NODE_ENV !== \"production\") || true ? devtools$1 : void 0;\nconst setDevtoolsHook = !!(process.env.NODE_ENV !== \"production\") || true ? setDevtoolsHook$1 : NOOP;\nconst _ssrUtils = {\n createComponentInstance,\n setupComponent,\n renderComponentRoot,\n setCurrentRenderingInstance,\n isVNode: isVNode,\n normalizeVNode,\n getComponentPublicInstance,\n ensureValidVNode,\n pushWarningContext,\n popWarningContext\n};\nconst ssrUtils = _ssrUtils ;\nconst resolveFilter = null;\nconst compatUtils = null;\nconst DeprecationTypes = null;\n\nexport { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, Static, Suspense, Teleport, Text, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeModels, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useId, useModel, useSSRContext, useSlots, useTemplateRef, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };\n","/**\n* @vue/runtime-dom v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { warn, BaseTransitionPropsValidators, h, BaseTransition, assertNumber, getCurrentInstance, onBeforeUpdate, queuePostFlushCb, onMounted, watch, onUnmounted, Fragment, Static, camelize, callWithAsyncErrorHandling, nextTick, unref, createVNode, defineComponent, useTransitionState, onUpdated, toRaw, getTransitionRawChildren, setTransitionHooks, resolveTransitionHooks, Text, createRenderer, isRuntimeOnly, createHydrationRenderer } from '@vue/runtime-core';\nexport * from '@vue/runtime-core';\nimport { extend, isObject, toNumber, isArray, NOOP, normalizeCssVarValue, isString, hyphenate, capitalize, includeBooleanAttr, isSymbol, isSpecialBooleanAttr, isFunction, isOn, isModelListener, camelize as camelize$1, hasOwn, isPlainObject, EMPTY_OBJ, looseIndexOf, isSet, looseEqual, looseToNumber, invokeArrayFns, isHTMLTag, isSVGTag, isMathMLTag } from '@vue/shared';\n\nlet policy = void 0;\nconst tt = typeof window !== \"undefined\" && window.trustedTypes;\nif (tt) {\n try {\n policy = /* @__PURE__ */ tt.createPolicy(\"vue\", {\n createHTML: (val) => val\n });\n } catch (e) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Error creating trusted types policy: ${e}`);\n }\n}\nconst unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val;\nconst svgNS = \"http://www.w3.org/2000/svg\";\nconst mathmlNS = \"http://www.w3.org/1998/Math/MathML\";\nconst doc = typeof document !== \"undefined\" ? document : null;\nconst templateContainer = doc && /* @__PURE__ */ doc.createElement(\"template\");\nconst nodeOps = {\n insert: (child, parent, anchor) => {\n parent.insertBefore(child, anchor || null);\n },\n remove: (child) => {\n const parent = child.parentNode;\n if (parent) {\n parent.removeChild(child);\n }\n },\n createElement: (tag, namespace, is, props) => {\n const el = namespace === \"svg\" ? doc.createElementNS(svgNS, tag) : namespace === \"mathml\" ? doc.createElementNS(mathmlNS, tag) : is ? doc.createElement(tag, { is }) : doc.createElement(tag);\n if (tag === \"select\" && props && props.multiple != null) {\n el.setAttribute(\"multiple\", props.multiple);\n }\n return el;\n },\n createText: (text) => doc.createTextNode(text),\n createComment: (text) => doc.createComment(text),\n setText: (node, text) => {\n node.nodeValue = text;\n },\n setElementText: (el, text) => {\n el.textContent = text;\n },\n parentNode: (node) => node.parentNode,\n nextSibling: (node) => node.nextSibling,\n querySelector: (selector) => doc.querySelector(selector),\n setScopeId(el, id) {\n el.setAttribute(id, \"\");\n },\n // __UNSAFE__\n // Reason: innerHTML.\n // Static content here can only come from compiled templates.\n // As long as the user only uses trusted templates, this is safe.\n insertStaticContent(content, parent, anchor, namespace, start, end) {\n const before = anchor ? anchor.previousSibling : parent.lastChild;\n if (start && (start === end || start.nextSibling)) {\n while (true) {\n parent.insertBefore(start.cloneNode(true), anchor);\n if (start === end || !(start = start.nextSibling)) break;\n }\n } else {\n templateContainer.innerHTML = unsafeToTrustedHTML(\n namespace === \"svg\" ? `<svg>${content}</svg>` : namespace === \"mathml\" ? `<math>${content}</math>` : content\n );\n const template = templateContainer.content;\n if (namespace === \"svg\" || namespace === \"mathml\") {\n const wrapper = template.firstChild;\n while (wrapper.firstChild) {\n template.appendChild(wrapper.firstChild);\n }\n template.removeChild(wrapper);\n }\n parent.insertBefore(template, anchor);\n }\n return [\n // first\n before ? before.nextSibling : parent.firstChild,\n // last\n anchor ? anchor.previousSibling : parent.lastChild\n ];\n }\n};\n\nconst TRANSITION = \"transition\";\nconst ANIMATION = \"animation\";\nconst vtcKey = /* @__PURE__ */ Symbol(\"_vtc\");\nconst DOMTransitionPropsValidators = {\n name: String,\n type: String,\n css: {\n type: Boolean,\n default: true\n },\n duration: [String, Number, Object],\n enterFromClass: String,\n enterActiveClass: String,\n enterToClass: String,\n appearFromClass: String,\n appearActiveClass: String,\n appearToClass: String,\n leaveFromClass: String,\n leaveActiveClass: String,\n leaveToClass: String\n};\nconst TransitionPropsValidators = /* @__PURE__ */ extend(\n {},\n BaseTransitionPropsValidators,\n DOMTransitionPropsValidators\n);\nconst decorate$1 = (t) => {\n t.displayName = \"Transition\";\n t.props = TransitionPropsValidators;\n return t;\n};\nconst Transition = /* @__PURE__ */ decorate$1(\n (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots)\n);\nconst callHook = (hook, args = []) => {\n if (isArray(hook)) {\n hook.forEach((h2) => h2(...args));\n } else if (hook) {\n hook(...args);\n }\n};\nconst hasExplicitCallback = (hook) => {\n return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;\n};\nfunction resolveTransitionProps(rawProps) {\n const baseProps = {};\n for (const key in rawProps) {\n if (!(key in DOMTransitionPropsValidators)) {\n baseProps[key] = rawProps[key];\n }\n }\n if (rawProps.css === false) {\n return baseProps;\n }\n const {\n name = \"v\",\n type,\n duration,\n enterFromClass = `${name}-enter-from`,\n enterActiveClass = `${name}-enter-active`,\n enterToClass = `${name}-enter-to`,\n appearFromClass = enterFromClass,\n appearActiveClass = enterActiveClass,\n appearToClass = enterToClass,\n leaveFromClass = `${name}-leave-from`,\n leaveActiveClass = `${name}-leave-active`,\n leaveToClass = `${name}-leave-to`\n } = rawProps;\n const durations = normalizeDuration(duration);\n const enterDuration = durations && durations[0];\n const leaveDuration = durations && durations[1];\n const {\n onBeforeEnter,\n onEnter,\n onEnterCancelled,\n onLeave,\n onLeaveCancelled,\n onBeforeAppear = onBeforeEnter,\n onAppear = onEnter,\n onAppearCancelled = onEnterCancelled\n } = baseProps;\n const finishEnter = (el, isAppear, done, isCancelled) => {\n el._enterCancelled = isCancelled;\n removeTransitionClass(el, isAppear ? appearToClass : enterToClass);\n removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);\n done && done();\n };\n const finishLeave = (el, done) => {\n el._isLeaving = false;\n removeTransitionClass(el, leaveFromClass);\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n done && done();\n };\n const makeEnterHook = (isAppear) => {\n return (el, done) => {\n const hook = isAppear ? onAppear : onEnter;\n const resolve = () => finishEnter(el, isAppear, done);\n callHook(hook, [el, resolve]);\n nextFrame(() => {\n removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);\n addTransitionClass(el, isAppear ? appearToClass : enterToClass);\n if (!hasExplicitCallback(hook)) {\n whenTransitionEnds(el, type, enterDuration, resolve);\n }\n });\n };\n };\n return extend(baseProps, {\n onBeforeEnter(el) {\n callHook(onBeforeEnter, [el]);\n addTransitionClass(el, enterFromClass);\n addTransitionClass(el, enterActiveClass);\n },\n onBeforeAppear(el) {\n callHook(onBeforeAppear, [el]);\n addTransitionClass(el, appearFromClass);\n addTransitionClass(el, appearActiveClass);\n },\n onEnter: makeEnterHook(false),\n onAppear: makeEnterHook(true),\n onLeave(el, done) {\n el._isLeaving = true;\n const resolve = () => finishLeave(el, done);\n addTransitionClass(el, leaveFromClass);\n if (!el._enterCancelled) {\n forceReflow(el);\n addTransitionClass(el, leaveActiveClass);\n } else {\n addTransitionClass(el, leaveActiveClass);\n forceReflow(el);\n }\n nextFrame(() => {\n if (!el._isLeaving) {\n return;\n }\n removeTransitionClass(el, leaveFromClass);\n addTransitionClass(el, leaveToClass);\n if (!hasExplicitCallback(onLeave)) {\n whenTransitionEnds(el, type, leaveDuration, resolve);\n }\n });\n callHook(onLeave, [el, resolve]);\n },\n onEnterCancelled(el) {\n finishEnter(el, false, void 0, true);\n callHook(onEnterCancelled, [el]);\n },\n onAppearCancelled(el) {\n finishEnter(el, true, void 0, true);\n callHook(onAppearCancelled, [el]);\n },\n onLeaveCancelled(el) {\n finishLeave(el);\n callHook(onLeaveCancelled, [el]);\n }\n });\n}\nfunction normalizeDuration(duration) {\n if (duration == null) {\n return null;\n } else if (isObject(duration)) {\n return [NumberOf(duration.enter), NumberOf(duration.leave)];\n } else {\n const n = NumberOf(duration);\n return [n, n];\n }\n}\nfunction NumberOf(val) {\n const res = toNumber(val);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(res, \"<transition> explicit duration\");\n }\n return res;\n}\nfunction addTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.add(c));\n (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);\n}\nfunction removeTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.remove(c));\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.delete(cls);\n if (!_vtc.size) {\n el[vtcKey] = void 0;\n }\n }\n}\nfunction nextFrame(cb) {\n requestAnimationFrame(() => {\n requestAnimationFrame(cb);\n });\n}\nlet endId = 0;\nfunction whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {\n const id = el._endId = ++endId;\n const resolveIfNotStale = () => {\n if (id === el._endId) {\n resolve();\n }\n };\n if (explicitTimeout != null) {\n return setTimeout(resolveIfNotStale, explicitTimeout);\n }\n const { type, timeout, propCount } = getTransitionInfo(el, expectedType);\n if (!type) {\n return resolve();\n }\n const endEvent = type + \"end\";\n let ended = 0;\n const end = () => {\n el.removeEventListener(endEvent, onEnd);\n resolveIfNotStale();\n };\n const onEnd = (e) => {\n if (e.target === el && ++ended >= propCount) {\n end();\n }\n };\n setTimeout(() => {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(endEvent, onEnd);\n}\nfunction getTransitionInfo(el, expectedType) {\n const styles = window.getComputedStyle(el);\n const getStyleProperties = (key) => (styles[key] || \"\").split(\", \");\n const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);\n const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);\n const transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n const animationDelays = getStyleProperties(`${ANIMATION}Delay`);\n const animationDurations = getStyleProperties(`${ANIMATION}Duration`);\n const animationTimeout = getTimeout(animationDelays, animationDurations);\n let type = null;\n let timeout = 0;\n let propCount = 0;\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 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;\n propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;\n }\n const hasTransform = type === TRANSITION && /\\b(?:transform|all)(?:,|$)/.test(\n getStyleProperties(`${TRANSITION}Property`).toString()\n );\n return {\n type,\n timeout,\n propCount,\n hasTransform\n };\n}\nfunction getTimeout(delays, durations) {\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));\n}\nfunction toMs(s) {\n if (s === \"auto\") return 0;\n return Number(s.slice(0, -1).replace(\",\", \".\")) * 1e3;\n}\nfunction forceReflow(el) {\n const targetDocument = el ? el.ownerDocument : document;\n return targetDocument.body.offsetHeight;\n}\n\nfunction patchClass(el, value, isSVG) {\n const transitionClasses = el[vtcKey];\n if (transitionClasses) {\n value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(\" \");\n }\n if (value == null) {\n el.removeAttribute(\"class\");\n } else if (isSVG) {\n el.setAttribute(\"class\", value);\n } else {\n el.className = value;\n }\n}\n\nconst vShowOriginalDisplay = /* @__PURE__ */ Symbol(\"_vod\");\nconst vShowHidden = /* @__PURE__ */ Symbol(\"_vsh\");\nconst vShow = {\n // used for prop mismatch check during hydration\n name: \"show\",\n beforeMount(el, { value }, { transition }) {\n el[vShowOriginalDisplay] = el.style.display === \"none\" ? \"\" : el.style.display;\n if (transition && value) {\n transition.beforeEnter(el);\n } else {\n setDisplay(el, value);\n }\n },\n mounted(el, { value }, { transition }) {\n if (transition && value) {\n transition.enter(el);\n }\n },\n updated(el, { value, oldValue }, { transition }) {\n if (!value === !oldValue) return;\n if (transition) {\n if (value) {\n transition.beforeEnter(el);\n setDisplay(el, true);\n transition.enter(el);\n } else {\n transition.leave(el, () => {\n setDisplay(el, false);\n });\n }\n } else {\n setDisplay(el, value);\n }\n },\n beforeUnmount(el, { value }) {\n setDisplay(el, value);\n }\n};\nfunction setDisplay(el, value) {\n el.style.display = value ? el[vShowOriginalDisplay] : \"none\";\n el[vShowHidden] = !value;\n}\nfunction initVShowForSSR() {\n vShow.getSSRProps = ({ value }) => {\n if (!value) {\n return { style: { display: \"none\" } };\n }\n };\n}\n\nconst CSS_VAR_TEXT = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"CSS_VAR_TEXT\" : \"\");\nfunction useCssVars(getter) {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssVars is called without current active component instance.`);\n return;\n }\n const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {\n Array.from(\n document.querySelectorAll(`[data-v-owner=\"${instance.uid}\"]`)\n ).forEach((node) => setVarsOnNode(node, vars));\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.getCssVars = () => getter(instance.proxy);\n }\n const setVars = () => {\n const vars = getter(instance.proxy);\n if (instance.ce) {\n setVarsOnNode(instance.ce, vars);\n } else {\n setVarsOnVNode(instance.subTree, vars);\n }\n updateTeleports(vars);\n };\n onBeforeUpdate(() => {\n queuePostFlushCb(setVars);\n });\n onMounted(() => {\n watch(setVars, NOOP, { flush: \"post\" });\n const ob = new MutationObserver(setVars);\n ob.observe(instance.subTree.el.parentNode, { childList: true });\n onUnmounted(() => ob.disconnect());\n });\n}\nfunction setVarsOnVNode(vnode, vars) {\n if (vnode.shapeFlag & 128) {\n const suspense = vnode.suspense;\n vnode = suspense.activeBranch;\n if (suspense.pendingBranch && !suspense.isHydrating) {\n suspense.effects.push(() => {\n setVarsOnVNode(suspense.activeBranch, vars);\n });\n }\n }\n while (vnode.component) {\n vnode = vnode.component.subTree;\n }\n if (vnode.shapeFlag & 1 && vnode.el) {\n setVarsOnNode(vnode.el, vars);\n } else if (vnode.type === Fragment) {\n vnode.children.forEach((c) => setVarsOnVNode(c, vars));\n } else if (vnode.type === Static) {\n let { el, anchor } = vnode;\n while (el) {\n setVarsOnNode(el, vars);\n if (el === anchor) break;\n el = el.nextSibling;\n }\n }\n}\nfunction setVarsOnNode(el, vars) {\n if (el.nodeType === 1) {\n const style = el.style;\n let cssText = \"\";\n for (const key in vars) {\n const value = normalizeCssVarValue(vars[key]);\n style.setProperty(`--${key}`, value);\n cssText += `--${key}: ${value};`;\n }\n style[CSS_VAR_TEXT] = cssText;\n }\n}\n\nconst displayRE = /(?:^|;)\\s*display\\s*:/;\nfunction patchStyle(el, prev, next) {\n const style = el.style;\n const isCssString = isString(next);\n let hasControlledDisplay = false;\n if (next && !isCssString) {\n if (prev) {\n if (!isString(prev)) {\n for (const key in prev) {\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n } else {\n for (const prevStyle of prev.split(\";\")) {\n const key = prevStyle.slice(0, prevStyle.indexOf(\":\")).trim();\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n }\n }\n for (const key in next) {\n if (key === \"display\") {\n hasControlledDisplay = true;\n }\n const value = next[key];\n if (value != null) {\n if (!shouldPreserveTextareaResizeStyle(\n el,\n key,\n !isString(prev) && prev ? prev[key] : void 0,\n value\n )) {\n setStyle(style, key, value);\n }\n } else {\n setStyle(style, key, \"\");\n }\n }\n } else {\n if (isCssString) {\n if (prev !== next) {\n const cssVarText = style[CSS_VAR_TEXT];\n if (cssVarText) {\n next += \";\" + cssVarText;\n }\n style.cssText = next;\n hasControlledDisplay = displayRE.test(next);\n }\n } else if (prev) {\n el.removeAttribute(\"style\");\n }\n }\n if (vShowOriginalDisplay in el) {\n if (!isCssString || prev !== next) {\n el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : \"\";\n }\n if (el[vShowHidden]) {\n style.display = \"none\";\n }\n }\n}\nconst semicolonRE = /[^\\\\];\\s*$/;\nconst importantRE = /\\s*!important$/;\nfunction setStyle(style, name, val) {\n if (isArray(val)) {\n val.forEach((v) => setStyle(style, name, v));\n } else {\n if (val == null) val = \"\";\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (semicolonRE.test(val)) {\n warn(\n `Unexpected semicolon at the end of '${name}' style value: '${val}'`\n );\n }\n }\n if (name.startsWith(\"--\")) {\n if (importantRE.test(val)) {\n style.setProperty(name, val.replace(importantRE, \"\"), \"important\");\n } else {\n style.setProperty(name, val);\n }\n } else {\n const prefixed = autoPrefix(style, name);\n if (importantRE.test(val)) {\n style.setProperty(\n hyphenate(prefixed),\n val.replace(importantRE, \"\"),\n \"important\"\n );\n } else {\n style[prefixed] = val;\n }\n }\n }\n}\nconst prefixes = [\"Webkit\", \"Moz\", \"ms\"];\nconst prefixCache = {};\nfunction autoPrefix(style, rawName) {\n const cached = prefixCache[rawName];\n if (cached) {\n return cached;\n }\n let name = camelize(rawName);\n if (name !== \"filter\" && name in style) {\n return prefixCache[rawName] = name;\n }\n name = capitalize(name);\n for (let i = 0; i < prefixes.length; i++) {\n const prefixed = prefixes[i] + name;\n if (prefixed in style) {\n return prefixCache[rawName] = prefixed;\n }\n }\n return rawName;\n}\nfunction shouldPreserveTextareaResizeStyle(el, key, prev, next) {\n return el.tagName === \"TEXTAREA\" && (key === \"width\" || key === \"height\") && isString(next) && prev === next;\n}\n\nconst xlinkNS = \"http://www.w3.org/1999/xlink\";\nfunction patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {\n if (isSVG && key.startsWith(\"xlink:\")) {\n if (value == null) {\n el.removeAttributeNS(xlinkNS, key.slice(6, key.length));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n if (value == null || isBoolean && !includeBooleanAttr(value)) {\n el.removeAttribute(key);\n } else {\n el.setAttribute(\n key,\n isBoolean ? \"\" : isSymbol(value) ? String(value) : value\n );\n }\n }\n}\n\nfunction patchDOMProp(el, key, value, parentComponent, attrName) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n if (value != null) {\n el[key] = key === \"innerHTML\" ? unsafeToTrustedHTML(value) : value;\n }\n return;\n }\n const tag = el.tagName;\n if (key === \"value\" && tag !== \"PROGRESS\" && // custom elements may use _value internally\n !tag.includes(\"-\")) {\n const oldValue = tag === \"OPTION\" ? el.getAttribute(\"value\") || \"\" : el.value;\n const newValue = value == null ? (\n // #11647: value should be set as empty string for null and undefined,\n // but <input type=\"checkbox\"> should be set as 'on'.\n el.type === \"checkbox\" ? \"on\" : \"\"\n ) : String(value);\n if (oldValue !== newValue || !(\"_value\" in el)) {\n el.value = newValue;\n }\n if (value == null) {\n el.removeAttribute(key);\n }\n el._value = value;\n return;\n }\n let needRemove = false;\n if (value === \"\" || value == null) {\n const type = typeof el[key];\n if (type === \"boolean\") {\n value = includeBooleanAttr(value);\n } else if (value == null && type === \"string\") {\n value = \"\";\n needRemove = true;\n } else if (type === \"number\") {\n value = 0;\n needRemove = true;\n }\n }\n try {\n el[key] = value;\n } catch (e) {\n if (!!(process.env.NODE_ENV !== \"production\") && !needRemove) {\n warn(\n `Failed setting prop \"${key}\" on <${tag.toLowerCase()}>: value ${value} is invalid.`,\n e\n );\n }\n }\n needRemove && el.removeAttribute(attrName || key);\n}\n\nfunction addEventListener(el, event, handler, options) {\n el.addEventListener(event, handler, options);\n}\nfunction removeEventListener(el, event, handler, options) {\n el.removeEventListener(event, handler, options);\n}\nconst veiKey = /* @__PURE__ */ Symbol(\"_vei\");\nfunction patchEvent(el, rawName, prevValue, nextValue, instance = null) {\n const invokers = el[veiKey] || (el[veiKey] = {});\n const existingInvoker = invokers[rawName];\n if (nextValue && existingInvoker) {\n existingInvoker.value = !!(process.env.NODE_ENV !== \"production\") ? sanitizeEventValue(nextValue, rawName) : nextValue;\n } else {\n const [name, options] = parseName(rawName);\n if (nextValue) {\n const invoker = invokers[rawName] = createInvoker(\n !!(process.env.NODE_ENV !== \"production\") ? sanitizeEventValue(nextValue, rawName) : nextValue,\n instance\n );\n addEventListener(el, name, invoker, options);\n } else if (existingInvoker) {\n removeEventListener(el, name, existingInvoker, options);\n invokers[rawName] = void 0;\n }\n }\n}\nconst optionsModifierRE = /(Once|Passive|Capture)$/;\nconst optionsModifierEventRE = /^on:?(?:Once|Passive|Capture)$/;\nfunction parseName(name) {\n let options;\n let m;\n while ((m = name.match(optionsModifierRE)) && !optionsModifierEventRE.test(name)) {\n if (!options) options = {};\n name = name.slice(0, name.length - m[1].length);\n options[m[1].toLowerCase()] = true;\n }\n const event = name[2] === \":\" ? name.slice(3) : hyphenate(name.slice(2));\n return [event, options];\n}\nlet cachedNow = 0;\nconst p = /* @__PURE__ */ Promise.resolve();\nconst getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());\nfunction createInvoker(initialValue, instance) {\n const invoker = (e) => {\n if (!e._vts) {\n e._vts = Date.now();\n } else if (e._vts <= invoker.attached) {\n return;\n }\n const value = invoker.value;\n if (isArray(value)) {\n const originalStop = e.stopImmediatePropagation;\n e.stopImmediatePropagation = () => {\n originalStop.call(e);\n e._stopped = true;\n };\n const handlers = value.slice();\n const args = [e];\n for (let i = 0; i < handlers.length; i++) {\n if (e._stopped) {\n break;\n }\n const handler = handlers[i];\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 5,\n args\n );\n }\n }\n } else {\n callWithAsyncErrorHandling(\n value,\n instance,\n 5,\n [e]\n );\n }\n };\n invoker.value = initialValue;\n invoker.attached = getNow();\n return invoker;\n}\nfunction sanitizeEventValue(value, propName) {\n if (isFunction(value) || isArray(value)) {\n return value;\n }\n warn(\n `Wrong type passed as event handler to ${propName} - did you forget @ or : in front of your prop?\nExpected function or array of functions, received type ${typeof value}.`\n );\n return NOOP;\n}\n\nconst isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter\nkey.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;\nconst patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => {\n const isSVG = namespace === \"svg\";\n if (key === \"class\") {\n patchClass(el, nextValue, isSVG);\n } else if (key === \"style\") {\n patchStyle(el, prevValue, nextValue);\n } else if (isOn(key)) {\n if (!isModelListener(key)) {\n patchEvent(el, key, prevValue, nextValue, parentComponent);\n }\n } else if (key[0] === \".\" ? (key = key.slice(1), true) : key[0] === \"^\" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {\n patchDOMProp(el, key, nextValue);\n if (!el.tagName.includes(\"-\") && (key === \"value\" || key === \"checked\" || key === \"selected\")) {\n patchAttr(el, key, nextValue, isSVG, parentComponent, key !== \"value\");\n }\n } else if (\n // #11081 force set props for possible async custom element\n el._isVueCE && // #12408 check if it's declared prop or it's async custom element\n (shouldSetAsPropForVueCE(el, key) || // @ts-expect-error _def is private\n el._def.__asyncLoader && (/[A-Z]/.test(key) || !isString(nextValue)))\n ) {\n patchDOMProp(el, camelize$1(key), nextValue, parentComponent, key);\n } else {\n if (key === \"true-value\") {\n el._trueValue = nextValue;\n } else if (key === \"false-value\") {\n el._falseValue = nextValue;\n }\n patchAttr(el, key, nextValue, isSVG);\n }\n};\nfunction shouldSetAsProp(el, key, value, isSVG) {\n if (isSVG) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n return true;\n }\n if (key in el && isNativeOn(key) && isFunction(value)) {\n return true;\n }\n return false;\n }\n if (key === \"spellcheck\" || key === \"draggable\" || key === \"translate\" || key === \"autocorrect\") {\n return false;\n }\n if (key === \"sandbox\" && el.tagName === \"IFRAME\") {\n return false;\n }\n if (key === \"form\") {\n return false;\n }\n if (key === \"list\" && el.tagName === \"INPUT\") {\n return false;\n }\n if (key === \"type\" && el.tagName === \"TEXTAREA\") {\n return false;\n }\n if (key === \"width\" || key === \"height\") {\n const tag = el.tagName;\n if (tag === \"IMG\" || tag === \"VIDEO\" || tag === \"CANVAS\" || tag === \"SOURCE\") {\n return false;\n }\n }\n if (isNativeOn(key) && isString(value)) {\n return false;\n }\n return key in el;\n}\nfunction shouldSetAsPropForVueCE(el, key) {\n const props = (\n // @ts-expect-error _def is private\n el._def.props\n );\n if (!props) {\n return false;\n }\n const camelKey = camelize$1(key);\n return Array.isArray(props) ? props.some((prop) => camelize$1(prop) === camelKey) : Object.keys(props).some((prop) => camelize$1(prop) === camelKey);\n}\n\nconst REMOVAL = {};\n// @__NO_SIDE_EFFECTS__\nfunction defineCustomElement(options, extraOptions, _createApp) {\n let Comp = defineComponent(options, extraOptions);\n if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);\n class VueCustomElement extends VueElement {\n constructor(initialProps) {\n super(Comp, initialProps, _createApp);\n }\n }\n VueCustomElement.def = Comp;\n return VueCustomElement;\n}\nconst defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {\n return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);\n});\nconst BaseClass = typeof HTMLElement !== \"undefined\" ? HTMLElement : class {\n};\nclass VueElement extends BaseClass {\n constructor(_def, _props = {}, _createApp = createApp) {\n super();\n this._def = _def;\n this._props = _props;\n this._createApp = _createApp;\n this._isVueCE = true;\n /**\n * @internal\n */\n this._instance = null;\n /**\n * @internal\n */\n this._app = null;\n /**\n * @internal\n */\n this._nonce = this._def.nonce;\n this._connected = false;\n this._resolved = false;\n this._patching = false;\n this._dirty = false;\n this._numberProps = null;\n this._styleChildren = /* @__PURE__ */ new WeakSet();\n this._styleAnchors = /* @__PURE__ */ new WeakMap();\n this._ob = null;\n if (this.shadowRoot && _createApp !== createApp) {\n this._root = this.shadowRoot;\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && this.shadowRoot) {\n warn(\n `Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use \\`defineSSRCustomElement\\`.`\n );\n }\n if (_def.shadowRoot !== false) {\n this.attachShadow(\n extend({}, _def.shadowRootOptions, {\n mode: \"open\"\n })\n );\n this._root = this.shadowRoot;\n } else {\n this._root = this;\n }\n }\n }\n connectedCallback() {\n if (!this.isConnected) return;\n if (!this.shadowRoot && !this._resolved) {\n this._parseSlots();\n }\n this._connected = true;\n let parent = this;\n while (parent = parent && // #12479 should check assignedSlot first to get correct parent\n (parent.assignedSlot || parent.parentNode || parent.host)) {\n if (parent instanceof VueElement) {\n this._parent = parent;\n break;\n }\n }\n if (!this._instance) {\n if (this._resolved) {\n this._mount(this._def);\n } else {\n if (parent && parent._pendingResolve) {\n this._pendingResolve = parent._pendingResolve.then(() => {\n this._pendingResolve = void 0;\n if (this.isConnected) {\n return this._resolveDef();\n }\n });\n } else {\n this._resolveDef();\n }\n }\n }\n }\n _setParent(parent = this._parent) {\n if (parent) {\n this._instance.parent = parent._instance;\n this._inheritParentContext(parent);\n }\n }\n _inheritParentContext(parent = this._parent) {\n if (parent && this._app) {\n Object.setPrototypeOf(\n this._app._context.provides,\n parent._instance.provides\n );\n }\n }\n disconnectedCallback() {\n this._connected = false;\n nextTick(() => {\n if (!this._connected) {\n if (this._ob) {\n this._ob.disconnect();\n this._ob = null;\n }\n this._app && this._app.unmount();\n if (this._instance) this._instance.ce = void 0;\n this._app = this._instance = null;\n if (this._teleportTargets) {\n this._teleportTargets.clear();\n this._teleportTargets = void 0;\n }\n }\n });\n }\n _processMutations(mutations) {\n for (const m of mutations) {\n this._setAttr(m.attributeName);\n }\n }\n /**\n * resolve inner component definition (handle possible async component)\n */\n _resolveDef() {\n if (this._pendingResolve) {\n return this._pendingResolve;\n }\n for (let i = 0; i < this.attributes.length; i++) {\n this._setAttr(this.attributes[i].name);\n }\n this._ob = new MutationObserver(this._processMutations.bind(this));\n this._ob.observe(this, { attributes: true });\n const resolve = (def, isAsync = false) => {\n this._resolved = true;\n this._pendingResolve = void 0;\n const { props, styles } = def;\n let numberProps;\n if (props && !isArray(props)) {\n for (const key in props) {\n const opt = props[key];\n if (opt === Number || opt && opt.type === Number) {\n if (key in this._props) {\n this._props[key] = toNumber(this._props[key]);\n }\n (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize$1(key)] = true;\n }\n }\n }\n this._numberProps = numberProps;\n this._resolveProps(def);\n if (this.shadowRoot) {\n this._applyStyles(styles);\n } else if (!!(process.env.NODE_ENV !== \"production\") && styles) {\n warn(\n \"Custom element style injection is not supported when using shadowRoot: false\"\n );\n }\n if (this._connected) {\n this._mount(def);\n }\n };\n const asyncDef = this._def.__asyncLoader;\n if (asyncDef) {\n this._pendingResolve = asyncDef().then((def) => {\n def.configureApp = this._def.configureApp;\n resolve(this._def = def, true);\n });\n return this._pendingResolve;\n } else {\n resolve(this._def);\n }\n }\n _mount(def) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) && !def.name) {\n def.name = \"VueElement\";\n }\n this._app = this._createApp(def);\n this._inheritParentContext();\n if (def.configureApp) {\n def.configureApp(this._app);\n }\n this._app._ceVNode = this._createVNode();\n this._app.mount(this._root);\n const exposed = this._instance && this._instance.exposed;\n if (!exposed) return;\n for (const key in exposed) {\n if (!hasOwn(this, key)) {\n Object.defineProperty(this, key, {\n // unwrap ref to be consistent with public instance behavior\n get: () => unref(exposed[key])\n });\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Exposed property \"${key}\" already exists on custom element.`);\n }\n }\n }\n _resolveProps(def) {\n const { props } = def;\n const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});\n for (const key of Object.keys(this)) {\n if (key[0] !== \"_\" && declaredPropKeys.includes(key)) {\n this._setProp(key, this[key]);\n }\n }\n for (const key of declaredPropKeys.map(camelize$1)) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in Object.getPrototypeOf(this)) {\n warn(\n `Custom element prop \"${key}\" conflicts with an existing property on the element and will overwrite it.`\n );\n }\n Object.defineProperty(this, key, {\n get() {\n return this._getProp(key);\n },\n set(val) {\n this._setProp(key, val, true, !this._patching);\n }\n });\n }\n }\n _setAttr(key) {\n if (key.startsWith(\"data-v-\")) return;\n const has = this.hasAttribute(key);\n let value = has ? this.getAttribute(key) : REMOVAL;\n const camelKey = camelize$1(key);\n if (has && this._numberProps && this._numberProps[camelKey]) {\n value = toNumber(value);\n }\n this._setProp(camelKey, value, false, true);\n }\n /**\n * @internal\n */\n _getProp(key) {\n return this._props[key];\n }\n /**\n * @internal\n */\n _setProp(key, val, shouldReflect = true, shouldUpdate = false) {\n if (val !== this._props[key]) {\n this._dirty = true;\n if (val === REMOVAL) {\n delete this._props[key];\n } else {\n this._props[key] = val;\n if (key === \"key\" && this._app) {\n this._app._ceVNode.key = val;\n }\n }\n if (shouldUpdate && this._instance) {\n this._update();\n }\n if (shouldReflect) {\n const ob = this._ob;\n if (ob) {\n this._processMutations(ob.takeRecords());\n ob.disconnect();\n }\n if (val === true) {\n this.setAttribute(hyphenate(key), \"\");\n } else if (typeof val === \"string\" || typeof val === \"number\") {\n this.setAttribute(hyphenate(key), val + \"\");\n } else if (!val) {\n this.removeAttribute(hyphenate(key));\n }\n ob && ob.observe(this, { attributes: true });\n }\n }\n }\n _update() {\n const vnode = this._createVNode();\n if (this._app) vnode.appContext = this._app._context;\n render(vnode, this._root);\n }\n _createVNode() {\n const baseProps = {};\n if (!this.shadowRoot) {\n baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);\n }\n const vnode = createVNode(this._def, extend(baseProps, this._props));\n if (!this._instance) {\n vnode.ce = (instance) => {\n this._instance = instance;\n instance.ce = this;\n instance.isCE = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ceReload = (newStyles) => {\n if (this._styles) {\n this._styles.forEach((s) => this._root.removeChild(s));\n this._styles.length = 0;\n }\n this._styleAnchors.delete(this._def);\n this._applyStyles(newStyles);\n this._instance = null;\n this._update();\n };\n }\n const dispatch = (event, args) => {\n this.dispatchEvent(\n new CustomEvent(\n event,\n isPlainObject(args[0]) ? extend({ detail: args }, args[0]) : { detail: args }\n )\n );\n };\n instance.emit = (event, ...args) => {\n dispatch(event, args);\n if (hyphenate(event) !== event) {\n dispatch(hyphenate(event), args);\n }\n };\n this._setParent();\n };\n }\n return vnode;\n }\n _applyStyles(styles, owner, parentComp) {\n if (!styles) return;\n if (owner) {\n if (owner === this._def || this._styleChildren.has(owner)) {\n return;\n }\n this._styleChildren.add(owner);\n }\n const nonce = this._nonce;\n const root = this.shadowRoot;\n const insertionAnchor = parentComp ? this._getStyleAnchor(parentComp) || this._getStyleAnchor(this._def) : this._getRootStyleInsertionAnchor(root);\n let last = null;\n for (let i = styles.length - 1; i >= 0; i--) {\n const s = document.createElement(\"style\");\n if (nonce) s.setAttribute(\"nonce\", nonce);\n s.textContent = styles[i];\n root.insertBefore(s, last || insertionAnchor);\n last = s;\n if (i === 0) {\n if (!parentComp) this._styleAnchors.set(this._def, s);\n if (owner) this._styleAnchors.set(owner, s);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (owner) {\n if (owner.__hmrId) {\n if (!this._childStyles) this._childStyles = /* @__PURE__ */ new Map();\n let entry = this._childStyles.get(owner.__hmrId);\n if (!entry) {\n this._childStyles.set(owner.__hmrId, entry = []);\n }\n entry.push(s);\n }\n } else {\n (this._styles || (this._styles = [])).push(s);\n }\n }\n }\n }\n _getStyleAnchor(comp) {\n if (!comp) {\n return null;\n }\n const anchor = this._styleAnchors.get(comp);\n if (anchor && anchor.parentNode === this.shadowRoot) {\n return anchor;\n }\n if (anchor) {\n this._styleAnchors.delete(comp);\n }\n return null;\n }\n _getRootStyleInsertionAnchor(root) {\n for (let i = 0; i < root.childNodes.length; i++) {\n const node = root.childNodes[i];\n if (!(node instanceof HTMLStyleElement)) {\n return node;\n }\n }\n return null;\n }\n /**\n * Only called when shadowRoot is false\n */\n _parseSlots() {\n const slots = this._slots = {};\n let n;\n while (n = this.firstChild) {\n const slotName = n.nodeType === 1 && n.getAttribute(\"slot\") || \"default\";\n (slots[slotName] || (slots[slotName] = [])).push(n);\n this.removeChild(n);\n }\n }\n /**\n * Only called when shadowRoot is false\n */\n _renderSlots() {\n const outlets = this._getSlots();\n const scopeId = this._instance.type.__scopeId;\n for (let i = 0; i < outlets.length; i++) {\n const o = outlets[i];\n const slotName = o.getAttribute(\"name\") || \"default\";\n const content = this._slots[slotName];\n const parent = o.parentNode;\n if (content) {\n for (const n of content) {\n if (scopeId && n.nodeType === 1) {\n const id = scopeId + \"-s\";\n const walker = document.createTreeWalker(n, 1);\n n.setAttribute(id, \"\");\n let child;\n while (child = walker.nextNode()) {\n child.setAttribute(id, \"\");\n }\n }\n parent.insertBefore(n, o);\n }\n } else {\n while (o.firstChild) parent.insertBefore(o.firstChild, o);\n }\n parent.removeChild(o);\n }\n }\n /**\n * @internal\n */\n _getSlots() {\n const roots = [this];\n if (this._teleportTargets) {\n roots.push(...this._teleportTargets);\n }\n const slots = /* @__PURE__ */ new Set();\n for (const root of roots) {\n const found = root.querySelectorAll(\"slot\");\n for (let i = 0; i < found.length; i++) {\n slots.add(found[i]);\n }\n }\n return Array.from(slots);\n }\n /**\n * @internal\n */\n _injectChildStyle(comp, parentComp) {\n this._applyStyles(comp.styles, comp, parentComp);\n }\n /**\n * @internal\n */\n _beginPatch() {\n this._patching = true;\n this._dirty = false;\n }\n /**\n * @internal\n */\n _endPatch() {\n this._patching = false;\n if (this._dirty && this._instance) {\n this._update();\n }\n }\n /**\n * @internal\n */\n _hasShadowRoot() {\n return this._def.shadowRoot !== false;\n }\n /**\n * @internal\n */\n _removeChildStyle(comp) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this._styleChildren.delete(comp);\n this._styleAnchors.delete(comp);\n if (this._childStyles && comp.__hmrId) {\n const oldStyles = this._childStyles.get(comp.__hmrId);\n if (oldStyles) {\n oldStyles.forEach((s) => this._root.removeChild(s));\n oldStyles.length = 0;\n }\n }\n }\n }\n}\nfunction useHost(caller) {\n const instance = getCurrentInstance();\n const el = instance && instance.ce;\n if (el) {\n return el;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!instance) {\n warn(\n `${caller || \"useHost\"} called without an active component instance.`\n );\n } else {\n warn(\n `${caller || \"useHost\"} can only be used in components defined via defineCustomElement.`\n );\n }\n }\n return null;\n}\nfunction useShadowRoot() {\n const el = !!(process.env.NODE_ENV !== \"production\") ? useHost(\"useShadowRoot\") : useHost();\n return el && el.shadowRoot;\n}\n\nfunction useCssModule(name = \"$style\") {\n {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssModule must be called inside setup()`);\n return EMPTY_OBJ;\n }\n const modules = instance.type.__cssModules;\n if (!modules) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS modules injected.`);\n return EMPTY_OBJ;\n }\n const mod = modules[name];\n if (!mod) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS module named \"${name}\".`);\n return EMPTY_OBJ;\n }\n return mod;\n }\n}\n\nconst positionMap = /* @__PURE__ */ new WeakMap();\nconst newPositionMap = /* @__PURE__ */ new WeakMap();\nconst moveCbKey = /* @__PURE__ */ Symbol(\"_moveCb\");\nconst enterCbKey = /* @__PURE__ */ Symbol(\"_enterCb\");\nconst pendingGroups = /* @__PURE__ */ new WeakMap();\nconst decorate = (t) => {\n delete t.props.mode;\n return t;\n};\nconst TransitionGroupImpl = /* @__PURE__ */ decorate({\n name: \"TransitionGroup\",\n props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {\n tag: String,\n moveClass: String\n }),\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevChildren;\n let children;\n let origins;\n let moves;\n const willMove = () => {\n if (moves === void 0) {\n moves = prevChildren.length > 0 && hasCSSTransform(\n prevChildren[0].el,\n instance.vnode.el,\n resolveMoveClass(props)\n );\n }\n return moves;\n };\n onUpdated(() => {\n pendingGroups.delete(instance);\n if (!willMove()) {\n prevChildren = [];\n origins = void 0;\n return;\n }\n const moveClass = resolveMoveClass(props);\n prevChildren.forEach(callPendingCbs);\n const shift = origins && getOriginShift(origins, instance.vnode.el);\n origins = void 0;\n prevChildren.forEach((c) => recordPosition(c, shift));\n const movedChildren = prevChildren.filter(applyTranslation);\n forceReflow(instance.vnode.el);\n movedChildren.forEach((c) => {\n const el = c.el;\n const style = el.style;\n addTransitionClass(el, moveClass);\n style.transform = style.webkitTransform = style.transitionDuration = \"\";\n const cb = el[moveCbKey] = (e) => {\n if (e && e.target !== el) {\n return;\n }\n if (!e || e.propertyName.endsWith(\"transform\")) {\n el.removeEventListener(\"transitionend\", cb);\n el[moveCbKey] = null;\n removeTransitionClass(el, moveClass);\n }\n };\n el.addEventListener(\"transitionend\", cb);\n });\n prevChildren = [];\n });\n return () => {\n const rawProps = toRaw(props);\n const cssTransitionProps = resolveTransitionProps(rawProps);\n let tag = rawProps.tag || Fragment;\n prevChildren = [];\n moves = void 0;\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.el && child.el instanceof Element && // Hidden v-show nodes have no previous layout box to animate from.\n !child.el[vShowHidden]) {\n prevChildren.push(child);\n setTransitionHooks(\n child,\n resolveTransitionHooks(\n child,\n cssTransitionProps,\n state,\n instance\n )\n );\n positionMap.set(child, getPosition(child.el));\n }\n }\n }\n children = slots.default ? getTransitionRawChildren(slots.default()) : [];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.key != null) {\n setTransitionHooks(\n child,\n resolveTransitionHooks(child, cssTransitionProps, state, instance)\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") && child.type !== Text) {\n warn(`<TransitionGroup> children must be keyed.`);\n }\n }\n if (prevChildren.length) {\n origins = getOrigins(instance);\n pendingGroups.set(instance, willMove);\n }\n return createVNode(tag, null, children);\n };\n }\n});\nconst TransitionGroup = TransitionGroupImpl;\nfunction callPendingCbs(c) {\n const el = c.el;\n if (el[moveCbKey]) {\n el[moveCbKey]();\n }\n if (el[enterCbKey]) {\n el[enterCbKey]();\n }\n}\nfunction resolveMoveClass(props) {\n return props.moveClass || `${props.name || \"v\"}-move`;\n}\nfunction recordPosition(c, shift) {\n newPositionMap.set(c, getPosition(c.el, shift));\n}\nfunction applyTranslation(c) {\n const oldPos = positionMap.get(c);\n const newPos = newPositionMap.get(c);\n const dx = oldPos.left - newPos.left;\n const dy = oldPos.top - newPos.top;\n if (dx || dy) {\n const el = c.el;\n const s = el.style;\n const rect = el.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;\n if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;\n if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;\n if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;\n if (Math.abs(scaleX - 1) < 0.01) scaleX = 1;\n if (Math.abs(scaleY - 1) < 0.01) scaleY = 1;\n s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;\n s.transitionDuration = \"0s\";\n return c;\n }\n}\nfunction getPosition(el, shift) {\n const rect = el.getBoundingClientRect();\n return {\n left: rect.left - (shift ? shift.left : 0),\n top: rect.top - (shift ? shift.top : 0)\n };\n}\nfunction getOrigins(instance) {\n let origins;\n for (let group = instance.parent; group; group = group.parent) {\n const willMove = pendingGroups.get(group);\n if (willMove) {\n const item = findItem(group.vnode.el, instance.vnode.el);\n if (item) {\n (origins || (origins = [])).push(\n extend(getPosition(item), { item, willMove })\n );\n }\n }\n }\n return origins;\n}\nfunction findItem(root, node) {\n const container = root.nodeType === 1 ? root : root.parentNode;\n while (node && node.parentNode !== container) {\n node = node.parentNode;\n }\n if (node && node.nodeType === 1) {\n return node;\n }\n}\nfunction getOriginShift(origins, root) {\n const origin = origins.find((o) => o.willMove() && o.item.contains(root));\n return origin && getPosition(origin.item, origin);\n}\nfunction hasCSSTransform(el, root, moveClass) {\n const clone = el.cloneNode();\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.forEach((cls) => {\n cls.split(/\\s+/).forEach((c) => c && clone.classList.remove(c));\n });\n }\n moveClass.split(/\\s+/).forEach((c) => c && clone.classList.add(c));\n clone.style.display = \"none\";\n const container = root.nodeType === 1 ? root : root.parentNode;\n container.appendChild(clone);\n const { hasTransform } = getTransitionInfo(clone);\n container.removeChild(clone);\n return hasTransform;\n}\n\nconst getModelAssigner = (vnode) => {\n const fn = vnode.props[\"onUpdate:modelValue\"] || false;\n return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;\n};\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\nfunction onCompositionEnd(e) {\n const target = e.target;\n if (target.composing) {\n target.composing = false;\n target.dispatchEvent(new Event(\"input\"));\n }\n}\nconst assignKey = /* @__PURE__ */ Symbol(\"_assign\");\nconst initialValueKey = /* @__PURE__ */ Symbol(\"_initialValue\");\nfunction castValue(value, trim, number) {\n if (trim) value = value.trim();\n if (number) value = looseToNumber(value);\n return value;\n}\nconst vModelText = {\n created(el, { modifiers: { lazy, trim, number } }, vnode) {\n if (el.parentNode) {\n if (el.type === \"text\") {\n el[initialValueKey] = el.defaultValue.replace(/[\\r\\n]/g, \"\");\n } else if (el.type === \"textarea\") {\n el[initialValueKey] = el.defaultValue.replace(/\\r\\n?/g, \"\\n\");\n }\n }\n el[assignKey] = getModelAssigner(vnode);\n const castToNumber = number || vnode.props && vnode.props.type === \"number\";\n addEventListener(el, lazy ? \"change\" : \"input\", (e) => {\n if (e.target.composing) return;\n el[assignKey](castValue(el.value, trim, castToNumber));\n });\n if (trim || castToNumber) {\n addEventListener(el, \"change\", () => {\n el.value = castValue(el.value, trim, castToNumber);\n });\n }\n if (!lazy) {\n addEventListener(el, \"compositionstart\", onCompositionStart);\n addEventListener(el, \"compositionend\", onCompositionEnd);\n addEventListener(el, \"change\", onCompositionEnd);\n }\n },\n // set value on mounted so it's after min/max for type=\"range\"\n mounted(el, { value, modifiers: { trim, number } }) {\n const newValue = value == null ? \"\" : value;\n const initialValue = el[initialValueKey];\n delete el[initialValueKey];\n if (initialValue !== void 0 && (el.type === \"text\" || el.type === \"textarea\") && el.value !== initialValue) {\n el[assignKey](castValue(el.value, trim, number));\n } else {\n el.value = newValue;\n }\n },\n beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (el.composing) return;\n const elValue = (number || el.type === \"number\") && !/^0\\d/.test(el.value) ? looseToNumber(el.value) : el.value;\n const newValue = value == null ? \"\" : value;\n if (elValue === newValue) {\n return;\n }\n const rootNode = el.getRootNode();\n if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement === el && el.type !== \"range\") {\n if (lazy && value === oldValue) {\n return;\n }\n if (trim && el.value.trim() === newValue) {\n return;\n }\n }\n el.value = newValue;\n }\n};\nconst vModelCheckbox = {\n // #4096 array checkboxes need to be deep traversed\n deep: true,\n created(el, _, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n const modelValue = el._modelValue;\n const elementValue = getValue(el);\n const checked = el.checked;\n const assign = el[assignKey];\n if (isArray(modelValue)) {\n const index = looseIndexOf(modelValue, elementValue);\n const found = index !== -1;\n if (checked && !found) {\n assign(modelValue.concat(elementValue));\n } else if (!checked && found) {\n const filtered = [...modelValue];\n filtered.splice(index, 1);\n assign(filtered);\n }\n } else if (isSet(modelValue)) {\n const cloned = new Set(modelValue);\n if (checked) {\n cloned.add(elementValue);\n } else {\n cloned.delete(elementValue);\n }\n assign(cloned);\n } else {\n assign(getCheckboxValue(el, checked));\n }\n });\n },\n // set initial checked on mount to wait for true-value/false-value\n mounted: setChecked,\n beforeUpdate(el, binding, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n setChecked(el, binding, vnode);\n }\n};\nfunction setChecked(el, { value, oldValue }, vnode) {\n el._modelValue = value;\n let checked;\n if (isArray(value)) {\n checked = looseIndexOf(value, vnode.props.value) > -1;\n } else if (isSet(value)) {\n checked = value.has(vnode.props.value);\n } else {\n if (value === oldValue) return;\n checked = looseEqual(value, getCheckboxValue(el, true));\n }\n if (el.checked !== checked) {\n el.checked = checked;\n }\n}\nconst vModelRadio = {\n created(el, { value }, vnode) {\n el.checked = looseEqual(value, vnode.props.value);\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n el[assignKey](getValue(el));\n });\n },\n beforeUpdate(el, { value, oldValue }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (value !== oldValue) {\n el.checked = looseEqual(value, vnode.props.value);\n }\n }\n};\nconst vModelSelect = {\n // <select multiple> value need to be deep traversed\n deep: true,\n created(el, { value, modifiers: { number } }, vnode) {\n el._modelValue = value;\n addEventListener(el, \"change\", () => {\n const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(\n (o) => number ? looseToNumber(getValue(o)) : getValue(o)\n );\n const multiple = el.multiple;\n const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];\n const pending = el._pendingValue = [\n multiple,\n multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue\n ];\n try {\n el[assignKey](assignedValue);\n } finally {\n nextTick(() => {\n if (el._pendingValue === pending) {\n el._pendingValue = void 0;\n }\n });\n }\n });\n el[assignKey] = getModelAssigner(vnode);\n },\n // set value in mounted & updated because <select> relies on its children\n // <option>s.\n mounted(el, { value }) {\n setSelected(el, value);\n },\n beforeUpdate(el, { value }, vnode) {\n el._modelValue = value;\n el[assignKey] = getModelAssigner(vnode);\n },\n updated(el, { value }) {\n const pending = el._pendingValue;\n el._pendingValue = void 0;\n if (!pending || pending[0] !== el.multiple || !isSameSelectValue(value, pending[1], pending[0])) {\n setSelected(el, value);\n }\n }\n};\nfunction isSameSelectValue(value, assignedValue, multiple) {\n if (!multiple) return looseEqual(value, assignedValue);\n if (isArray(value)) return looseEqual(value, assignedValue);\n if (isSet(value)) {\n if (value.size !== assignedValue.length) return false;\n for (const item of assignedValue) {\n if (!value.has(item)) return false;\n }\n return true;\n }\n return false;\n}\nfunction setSelected(el, value) {\n const isMultiple = el.multiple;\n const isArrayValue = isArray(value);\n if (isMultiple && !isArrayValue && !isSet(value)) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`\n );\n return;\n }\n for (let i = 0, l = el.options.length; i < l; i++) {\n const option = el.options[i];\n const optionValue = getValue(option);\n if (isMultiple) {\n if (isArrayValue) {\n const optionType = typeof optionValue;\n if (optionType === \"string\" || optionType === \"number\") {\n option.selected = value.some((v) => String(v) === String(optionValue));\n } else {\n option.selected = looseIndexOf(value, optionValue) > -1;\n }\n } else {\n option.selected = value.has(optionValue);\n }\n } else if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) el.selectedIndex = i;\n return;\n }\n }\n if (!isMultiple && el.selectedIndex !== -1) {\n el.selectedIndex = -1;\n }\n}\nfunction getValue(el) {\n return \"_value\" in el ? el._value : el.value;\n}\nfunction getCheckboxValue(el, checked) {\n const key = checked ? \"_trueValue\" : \"_falseValue\";\n return key in el ? el[key] : checked;\n}\nconst vModelDynamic = {\n created(el, binding, vnode) {\n callModelHook(el, binding, vnode, null, \"created\");\n },\n mounted(el, binding, vnode) {\n callModelHook(el, binding, vnode, null, \"mounted\");\n },\n beforeUpdate(el, binding, vnode, prevVNode) {\n callModelHook(el, binding, vnode, prevVNode, \"beforeUpdate\");\n },\n updated(el, binding, vnode, prevVNode) {\n callModelHook(el, binding, vnode, prevVNode, \"updated\");\n }\n};\nfunction resolveDynamicModel(tagName, type) {\n switch (tagName) {\n case \"SELECT\":\n return vModelSelect;\n case \"TEXTAREA\":\n return vModelText;\n default:\n switch (type) {\n case \"checkbox\":\n return vModelCheckbox;\n case \"radio\":\n return vModelRadio;\n default:\n return vModelText;\n }\n }\n}\nfunction callModelHook(el, binding, vnode, prevVNode, hook) {\n const modelToUse = resolveDynamicModel(\n el.tagName,\n vnode.props && vnode.props.type\n );\n const fn = modelToUse[hook];\n fn && fn(el, binding, vnode, prevVNode);\n}\nfunction initVModelForSSR() {\n vModelText.getSSRProps = ({ value }) => ({ value });\n vModelRadio.getSSRProps = ({ value }, vnode) => {\n if (vnode.props && looseEqual(vnode.props.value, value)) {\n return { checked: true };\n }\n };\n vModelCheckbox.getSSRProps = ({ value }, vnode) => {\n if (isArray(value)) {\n if (vnode.props && looseIndexOf(value, vnode.props.value) > -1) {\n return { checked: true };\n }\n } else if (isSet(value)) {\n if (vnode.props && value.has(vnode.props.value)) {\n return { checked: true };\n }\n } else if (value) {\n return { checked: true };\n }\n };\n vModelDynamic.getSSRProps = (binding, vnode) => {\n if (typeof vnode.type !== \"string\") {\n return;\n }\n const modelToUse = resolveDynamicModel(\n // resolveDynamicModel expects an uppercase tag name, but vnode.type is lowercase\n vnode.type.toUpperCase(),\n vnode.props && vnode.props.type\n );\n if (modelToUse.getSSRProps) {\n return modelToUse.getSSRProps(binding, vnode);\n }\n };\n}\n\nconst systemModifiers = [\"ctrl\", \"shift\", \"alt\", \"meta\"];\nconst modifierGuards = {\n stop: (e) => e.stopPropagation(),\n prevent: (e) => e.preventDefault(),\n self: (e) => e.target !== e.currentTarget,\n ctrl: (e) => !e.ctrlKey,\n shift: (e) => !e.shiftKey,\n alt: (e) => !e.altKey,\n meta: (e) => !e.metaKey,\n left: (e) => \"button\" in e && e.button !== 0,\n middle: (e) => \"button\" in e && e.button !== 1,\n right: (e) => \"button\" in e && e.button !== 2,\n exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))\n};\nconst withModifiers = (fn, modifiers) => {\n if (!fn) return fn;\n const cache = fn._withMods || (fn._withMods = {});\n const cacheKey = modifiers.join(\".\");\n return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {\n for (let i = 0; i < modifiers.length; i++) {\n const guard = modifierGuards[modifiers[i]];\n if (guard && guard(event, modifiers)) return;\n }\n return fn(event, ...args);\n }));\n};\nconst keyNames = {\n esc: \"escape\",\n space: \" \",\n up: \"arrow-up\",\n left: \"arrow-left\",\n right: \"arrow-right\",\n down: \"arrow-down\",\n delete: \"backspace\"\n};\nconst withKeys = (fn, modifiers) => {\n const cache = fn._withKeys || (fn._withKeys = {});\n const cacheKey = modifiers.join(\".\");\n return cache[cacheKey] || (cache[cacheKey] = ((event) => {\n if (!(\"key\" in event)) {\n return;\n }\n const eventKey = hyphenate(event.key);\n if (modifiers.some(\n (k) => k === eventKey || keyNames[k] === eventKey\n )) {\n return fn(event);\n }\n }));\n};\n\nconst rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);\nlet renderer;\nlet enabledHydration = false;\nfunction ensureRenderer() {\n return renderer || (renderer = createRenderer(rendererOptions));\n}\nfunction ensureHydrationRenderer() {\n renderer = enabledHydration ? renderer : createHydrationRenderer(rendererOptions);\n enabledHydration = true;\n return renderer;\n}\nconst render = ((...args) => {\n ensureRenderer().render(...args);\n});\nconst hydrate = ((...args) => {\n ensureHydrationRenderer().hydrate(...args);\n});\nconst createApp = ((...args) => {\n const app = ensureRenderer().createApp(...args);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n injectNativeTagCheck(app);\n injectCompilerOptionsCheck(app);\n }\n const { mount } = app;\n app.mount = (containerOrSelector) => {\n const container = normalizeContainer(containerOrSelector);\n if (!container) return;\n const component = app._component;\n if (!isFunction(component) && !component.render && !component.template) {\n component.template = container.innerHTML;\n }\n if (container.nodeType === 1) {\n container.textContent = \"\";\n }\n const proxy = mount(container, false, resolveRootNamespace(container));\n if (container instanceof Element) {\n container.removeAttribute(\"v-cloak\");\n container.setAttribute(\"data-v-app\", \"\");\n }\n return proxy;\n };\n return app;\n});\nconst createSSRApp = ((...args) => {\n const app = ensureHydrationRenderer().createApp(...args);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n injectNativeTagCheck(app);\n injectCompilerOptionsCheck(app);\n }\n const { mount } = app;\n app.mount = (containerOrSelector) => {\n const container = normalizeContainer(containerOrSelector);\n if (container) {\n return mount(container, true, resolveRootNamespace(container));\n }\n };\n return app;\n});\nfunction resolveRootNamespace(container) {\n if (container instanceof SVGElement) {\n return \"svg\";\n }\n if (typeof MathMLElement === \"function\" && container instanceof MathMLElement) {\n return \"mathml\";\n }\n}\nfunction injectNativeTagCheck(app) {\n Object.defineProperty(app.config, \"isNativeTag\", {\n value: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),\n writable: false\n });\n}\nfunction injectCompilerOptionsCheck(app) {\n if (isRuntimeOnly()) {\n const isCustomElement = app.config.isCustomElement;\n Object.defineProperty(app.config, \"isCustomElement\", {\n get() {\n return isCustomElement;\n },\n set() {\n warn(\n `The \\`isCustomElement\\` config option is deprecated. Use \\`compilerOptions.isCustomElement\\` instead.`\n );\n }\n });\n const compilerOptions = app.config.compilerOptions;\n const msg = `The \\`compilerOptions\\` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka \"full build\"). Since you are using the runtime-only build, \\`compilerOptions\\` must be passed to \\`@vue/compiler-dom\\` in the build setup instead.\n- For vue-loader: pass it via vue-loader's \\`compilerOptions\\` loader option.\n- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\n- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-sfc`;\n Object.defineProperty(app.config, \"compilerOptions\", {\n get() {\n warn(msg);\n return compilerOptions;\n },\n set() {\n warn(msg);\n }\n });\n }\n}\nfunction normalizeContainer(container) {\n if (isString(container)) {\n const res = document.querySelector(container);\n if (!!(process.env.NODE_ENV !== \"production\") && !res) {\n warn(\n `Failed to mount app: mount target selector \"${container}\" returned null.`\n );\n }\n return res;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === \"closed\") {\n warn(\n `mounting on a ShadowRoot with \\`{mode: \"closed\"}\\` may lead to unpredictable bugs`\n );\n }\n return container;\n}\nlet ssrDirectiveInitialized = false;\nconst initDirectivesForSSR = () => {\n if (!ssrDirectiveInitialized) {\n ssrDirectiveInitialized = true;\n initVModelForSSR();\n initVShowForSSR();\n }\n} ;\n\nexport { Transition, TransitionGroup, VueElement, createApp, createSSRApp, defineCustomElement, defineSSRCustomElement, hydrate, initDirectivesForSSR, nodeOps, patchProp, render, useCssModule, useCssVars, useHost, useShadowRoot, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, withKeys, withModifiers };\n","/**\n* vue v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { initCustomFormatter, warn } from '@vue/runtime-dom';\nexport * from '@vue/runtime-dom';\n\nfunction initDev() {\n {\n initCustomFormatter();\n }\n}\n\nif (!!(process.env.NODE_ENV !== \"production\")) {\n initDev();\n}\nconst compile = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\n );\n }\n};\n\nexport { compile };\n","/*\n|--------------------------------------------------------------------------\n|\n| 远程组件(comps-vue3)的加载参数\n|\n|--------------------------------------------------------------------------\n*/\nimport { preFetchLib } from 'hel-micro'\nimport type { Component } from 'vue'\n\n/** 远程组件 hel 组名,对应 comps-vue3 的 appGroupName / LIB_NAME */\nexport const REMOTE_LIB_NAME = 'comps-vue3'\n\n/** comps-vue3 对外暴露的组件集合 */\nexport type RemoteComps = {\n HelloWorld: Component\n}\n\n/** 本地联调地址:comps-vue3 的 dev 端口(全局规则见仓库根目录 ports.json,comps = 200xx) */\nexport const LOCAL_HOST = 'http://localhost:20020'\n\n/** 线上地址:unpkg 上 comps-vue3 的 hel-meta.json */\nexport const UNPKG_HOST = 'https://unpkg.com/@melt-js/comps-vue3/hel_dist/hel-meta.json'\n\n/**\n * 远程组件地址\n * - 生产构建(vite build):unpkg 上的 hel-meta.json,发布后的 demo 直接加载线上组件\n * - 本地开发(vite dev):localhost:20020\n * - 可用 VITE_REMOTE_HOST 覆盖\n */\nconst isProd = import.meta.env.PROD\nconst host =\n (import.meta.env.VITE_REMOTE_HOST as string | undefined) || (isProd ? UNPKG_HOST : LOCAL_HOST)\n\n/**\n * 入口处预加载远程组件(与 demo-vue2-ele 一致),重复调用复用同一个 Promise。\n * host 以 hel-meta.json 结尾时直接取元数据;本地 dev server 没有该文件,改为解析 index.html。\n */\nlet remoteLibPromise: Promise<RemoteComps> | undefined\n\nexport function loadRemoteLib(): Promise<RemoteComps> {\n if (!remoteLibPromise) {\n remoteLibPromise = preFetchLib<RemoteComps>(REMOTE_LIB_NAME, {\n custom: {\n host,\n skipFetchHelMeta: !host.endsWith('hel-meta.json'),\n enable: true,\n trust: true,\n },\n })\n }\n return remoteLibPromise\n}\n","import { bindVueRuntime } from 'hel-micro'\nimport * as Vue from 'vue'\nimport { loadRemoteLib } from './configs/remote'\n\n/*\n|--------------------------------------------------------------------------\n|\n| 把宿主 vue 运行时挂到 window.Vue,远程组件(external 了 vue)会复用这一份\n| 必须在远程组件脚本加载之前执行,否则会出现两份 vue 导致响应式失效\n|\n|--------------------------------------------------------------------------\n*/\nbindVueRuntime({ Vue })\n\n;(async function () {\n try {\n // 入口处按 isProd 选择远端地址并预加载,远程组件就绪后再挂载宿主\n await loadRemoteLib()\n await import('./loadApp')\n } catch (error) {\n console.error('[demo-vue3] 启动失败:', error)\n throw error\n }\n})()\n"],"file":"assets/index-BWYTdPfJ.js"}