{"version":3,"file":"static/chunks/main-951428aa53a7c60e.js","mappings":"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","sources":["webpack://host/./node_modules/.federation/entry.d4b4bea4b55008fdd05e551bfb962146.js","webpack://host/../../node_modules/@module-federation/nextjs-mf/node_modules/@module-federation/runtime/dist/share.esm.js","webpack://host/../../node_modules/@module-federation/nextjs-mf/node_modules/@module-federation/runtime/dist/index.esm.js","webpack://host/../../node_modules/@module-federation/runtime/dist/index.cjs.js","webpack://host/../../node_modules/@module-federation/runtime/dist/polyfills.cjs.js","webpack://host/../../node_modules/@module-federation/runtime/dist/share.cjs.js","webpack://host/../../node_modules/@module-federation/runtime/node_modules/@module-federation/sdk/dist/index.cjs.js","webpack://host/../../node_modules/@module-federation/runtime/node_modules/@module-federation/sdk/dist/polyfills.cjs.js","webpack://host/../../node_modules/@module-federation/sdk/dist/index.cjs.js","webpack://host/../../node_modules/@module-federation/sdk/dist/index.esm.js","webpack://host/../../node_modules/@module-federation/webpack-bundler-runtime/dist/constant.cjs.js","webpack://host/../../node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.js","webpack://host/../../node_modules/@swc/helpers/lib/_array_like_to_array.js","webpack://host/../../node_modules/@swc/helpers/lib/_array_with_holes.js","webpack://host/../../node_modules/@swc/helpers/lib/_array_without_holes.js","webpack://host/../../node_modules/@swc/helpers/lib/_assert_this_initialized.js","webpack://host/../../node_modules/@swc/helpers/lib/_async_to_generator.js","webpack://host/../../node_modules/@swc/helpers/lib/_class_call_check.js","webpack://host/../../node_modules/@swc/helpers/lib/_construct.js","webpack://host/../../node_modules/@swc/helpers/lib/_create_class.js","webpack://host/../../node_modules/@swc/helpers/lib/_create_super.js","webpack://host/../../node_modules/@swc/helpers/lib/_extends.js","webpack://host/../../node_modules/@swc/helpers/lib/_get_prototype_of.js","webpack://host/../../node_modules/@swc/helpers/lib/_inherits.js","webpack://host/../../node_modules/@swc/helpers/lib/_instanceof.js","webpack://host/../../node_modules/@swc/helpers/lib/_interop_require_default.js","webpack://host/../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","webpack://host/../../node_modules/@swc/helpers/lib/_is_native_function.js","webpack://host/../../node_modules/@swc/helpers/lib/_is_native_reflect_construct.js","webpack://host/../../node_modules/@swc/helpers/lib/_iterable_to_array.js","webpack://host/../../node_modules/@swc/helpers/lib/_non_iterable_rest.js","webpack://host/../../node_modules/@swc/helpers/lib/_non_iterable_spread.js","webpack://host/../../node_modules/@swc/helpers/lib/_object_without_properties_loose.js","webpack://host/../../node_modules/@swc/helpers/lib/_possible_constructor_return.js","webpack://host/../../node_modules/@swc/helpers/lib/_set_prototype_of.js","webpack://host/../../node_modules/@swc/helpers/lib/_sliced_to_array.js","webpack://host/../../node_modules/@swc/helpers/lib/_to_consumable_array.js","webpack://host/../../node_modules/@swc/helpers/lib/_ts_generator.js","webpack://host/../../node_modules/@swc/helpers/lib/_type_of.js","webpack://host/../../node_modules/@swc/helpers/lib/_unsupported_iterable_to_array.js","webpack://host/../../node_modules/@swc/helpers/lib/_wrap_native_super.js","webpack://host/../../node_modules/next/dist/build/polyfills/polyfill-module.js","webpack://host/../../node_modules/next/dist/client/add-base-path.js","webpack://host/../../node_modules/next/dist/client/add-locale.js","webpack://host/../../node_modules/next/dist/client/detect-domain-locale.js","webpack://host/../../node_modules/next/dist/client/has-base-path.js","webpack://host/../../node_modules/next/dist/client/head-manager.js","webpack://host/../../node_modules/next/dist/client/index.js","webpack://host/../../node_modules/next/dist/client/next.js","webpack://host/../../node_modules/next/dist/client/normalize-trailing-slash.js","webpack://host/../../node_modules/next/dist/client/page-loader.js","webpack://host/../../node_modules/next/dist/client/performance-relayer.js","webpack://host/../../node_modules/next/dist/client/portal/index.js","webpack://host/../../node_modules/next/dist/client/remove-base-path.js","webpack://host/../../node_modules/next/dist/client/remove-locale.js","webpack://host/../../node_modules/next/dist/client/request-idle-callback.js","webpack://host/../../node_modules/next/dist/client/route-announcer.js","webpack://host/../../node_modules/next/dist/client/route-loader.js","webpack://host/../../node_modules/next/dist/client/router.js","webpack://host/../../node_modules/next/dist/client/script.js","webpack://host/../../node_modules/next/dist/client/trusted-types.js","webpack://host/../../node_modules/next/dist/client/with-router.js","webpack://host/../../node_modules/next/dist/pages/_app.js","webpack://host/../../node_modules/next/dist/pages/_error.js","webpack://host/../../node_modules/next/dist/shared/lib/amp-context.js","webpack://host/../../node_modules/next/dist/shared/lib/amp-mode.js","webpack://host/../../node_modules/next/dist/shared/lib/escape-regexp.js","webpack://host/../../node_modules/next/dist/shared/lib/head-manager-context.js","webpack://host/../../node_modules/next/dist/shared/lib/head.js","webpack://host/../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","webpack://host/../../node_modules/next/dist/shared/lib/image-config-context.js","webpack://host/../../node_modules/next/dist/shared/lib/image-config.js","webpack://host/../../node_modules/next/dist/shared/lib/is-plain-object.js","webpack://host/../../node_modules/next/dist/shared/lib/mitt.js","webpack://host/../../node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js","webpack://host/../../node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js","webpack://host/../../node_modules/next/dist/shared/lib/router-context.js","webpack://host/../../node_modules/next/dist/shared/lib/router/router.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/add-locale.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/compare-states.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/format-url.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/index.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/parse-path.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/querystring.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/route-matcher.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/route-regex.js","webpack://host/../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","webpack://host/../../node_modules/next/dist/shared/lib/runtime-config.js","webpack://host/../../node_modules/next/dist/shared/lib/side-effect.js","webpack://host/../../node_modules/next/dist/shared/lib/utils.js","webpack://host/../../node_modules/next/dist/compiled/web-vitals/web-vitals.js","webpack://host/../../node_modules/next/dist/lib/is-error.js","webpack://host/../../node_modules/process/browser.js","webpack://host/../../node_modules/tslib/tslib.es6.js","webpack://host/../../node_modules/@module-federation/nextjs-mf/dist/src/plugins/container/runtimePlugin.js"],"sourcesContent":["import federation from '/frontend/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.js';\nimport plugin_0 from '/frontend/node_modules/@module-federation/nextjs-mf/dist/src/plugins/container/runtimePlugin.js';\nimport plugin_1 from '/frontend/node_modules/@module-federation/runtime/dist/index.cjs.js';\n\nvar prevFederation = __webpack_require__.federation;\n__webpack_require__.federation = {}\nfor(var key in federation){\n\t__webpack_require__.federation[key] = federation[key];\n}\nfor(var key in prevFederation){\n\t__webpack_require__.federation[key] = prevFederation[key];\n}\nif(!__webpack_require__.federation.instance){\n\tconst pluginsToAdd = [\n\t\tplugin_0 ? plugin_0() : false,\n\t\tplugin_1 ? plugin_1() : false,\n\t].filter(Boolean);\n\t__webpack_require__.federation.initOptions.plugins = __webpack_require__.federation.initOptions.plugins ? \n\t__webpack_require__.federation.initOptions.plugins.concat(pluginsToAdd) : pluginsToAdd;\n\t__webpack_require__.federation.instance = __webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);\n\tif(__webpack_require__.federation.attachShareScopeMap){\n\t\t__webpack_require__.federation.attachShareScopeMap(__webpack_require__)\n\t}\n\tif(__webpack_require__.federation.installInitialConsumes){\n\t\t__webpack_require__.federation.installInitialConsumes()\n\t}\n}","function getBuilderId() {\n //@ts-ignore\n return typeof FEDERATION_BUILD_IDENTIFIER !== 'undefined' ? FEDERATION_BUILD_IDENTIFIER : '';\n}\nfunction isDebugMode() {\n return Boolean(\"\");\n}\nfunction isBrowserEnv() {\n return typeof window !== 'undefined';\n}\n\nconst LOG_CATEGORY = '[ Federation Runtime ]';\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction assert(condition, msg) {\n if (!condition) {\n error(msg);\n }\n}\nfunction error(msg) {\n if (msg instanceof Error) {\n msg.message = `${LOG_CATEGORY}: ${msg.message}`;\n throw msg;\n }\n throw new Error(`${LOG_CATEGORY}: ${msg}`);\n}\nfunction warn(msg) {\n if (msg instanceof Error) {\n msg.message = `${LOG_CATEGORY}: ${msg.message}`;\n console.warn(msg);\n } else {\n console.warn(`${LOG_CATEGORY}: ${msg}`);\n }\n}\n\nfunction addUniqueItem(arr, item) {\n if (arr.findIndex((name)=>name === item) === -1) {\n arr.push(item);\n }\n return arr;\n}\nfunction getFMId(remoteInfo) {\n if ('version' in remoteInfo && remoteInfo.version) {\n return `${remoteInfo.name}:${remoteInfo.version}`;\n } else if ('entry' in remoteInfo && remoteInfo.entry) {\n return `${remoteInfo.name}:${remoteInfo.entry}`;\n } else {\n return `${remoteInfo.name}`;\n }\n}\nfunction isRemoteInfoWithEntry(remote) {\n return typeof remote.entry !== 'undefined';\n}\nfunction isPureRemoteEntry(remote) {\n return !remote.entry.includes('.json') && remote.entry.includes('.js');\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction safeToString(info) {\n try {\n return JSON.stringify(info, null, 2);\n } catch (e) {\n return '';\n }\n}\nfunction isObject(val) {\n return val && typeof val === 'object';\n}\nconst objectToString = Object.prototype.toString;\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isPlainObject(val) {\n return objectToString.call(val) === '[object Object]';\n}\nfunction arrayOptions(options) {\n return Array.isArray(options) ? options : [\n options\n ];\n}\n\nfunction _extends$1() {\n _extends$1 = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends$1.apply(this, arguments);\n}\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nconst nativeGlobal = (()=>{\n try {\n return new Function('return this')();\n } catch (e) {\n return globalThis;\n }\n})();\nconst Global = nativeGlobal;\nfunction definePropertyGlobalVal(target, key, val) {\n Object.defineProperty(target, key, {\n value: val,\n configurable: false,\n writable: true\n });\n}\nfunction includeOwnProperty(target, key) {\n return Object.hasOwnProperty.call(target, key);\n}\n// This section is to prevent encapsulation by certain microfrontend frameworks. Due to reuse policies, sandbox escapes.\n// The sandbox in the microfrontend does not replicate the value of 'configurable'.\n// If there is no loading content on the global object, this section defines the loading object.\nif (!includeOwnProperty(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__')) {\n definePropertyGlobalVal(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__', {});\n}\nconst globalLoading = globalThis.__GLOBAL_LOADING_REMOTE_ENTRY__;\nfunction setGlobalDefaultVal(target) {\n var _target___FEDERATION__, _target___FEDERATION__1, _target___FEDERATION__2, _target___FEDERATION__3, _target___FEDERATION__4, _target___FEDERATION__5;\n if (includeOwnProperty(target, '__VMOK__') && !includeOwnProperty(target, '__FEDERATION__')) {\n definePropertyGlobalVal(target, '__FEDERATION__', target.__VMOK__);\n }\n if (!includeOwnProperty(target, '__FEDERATION__')) {\n definePropertyGlobalVal(target, '__FEDERATION__', {\n __GLOBAL_PLUGIN__: [],\n __INSTANCES__: [],\n moduleInfo: {},\n __SHARE__: {},\n __MANIFEST_LOADING__: {},\n __PRELOADED_MAP__: new Map()\n });\n definePropertyGlobalVal(target, '__VMOK__', target.__FEDERATION__);\n }\n var ___GLOBAL_PLUGIN__;\n (___GLOBAL_PLUGIN__ = (_target___FEDERATION__ = target.__FEDERATION__).__GLOBAL_PLUGIN__) != null ? ___GLOBAL_PLUGIN__ : _target___FEDERATION__.__GLOBAL_PLUGIN__ = [];\n var ___INSTANCES__;\n (___INSTANCES__ = (_target___FEDERATION__1 = target.__FEDERATION__).__INSTANCES__) != null ? ___INSTANCES__ : _target___FEDERATION__1.__INSTANCES__ = [];\n var _moduleInfo;\n (_moduleInfo = (_target___FEDERATION__2 = target.__FEDERATION__).moduleInfo) != null ? _moduleInfo : _target___FEDERATION__2.moduleInfo = {};\n var ___SHARE__;\n (___SHARE__ = (_target___FEDERATION__3 = target.__FEDERATION__).__SHARE__) != null ? ___SHARE__ : _target___FEDERATION__3.__SHARE__ = {};\n var ___MANIFEST_LOADING__;\n (___MANIFEST_LOADING__ = (_target___FEDERATION__4 = target.__FEDERATION__).__MANIFEST_LOADING__) != null ? ___MANIFEST_LOADING__ : _target___FEDERATION__4.__MANIFEST_LOADING__ = {};\n var ___PRELOADED_MAP__;\n (___PRELOADED_MAP__ = (_target___FEDERATION__5 = target.__FEDERATION__).__PRELOADED_MAP__) != null ? ___PRELOADED_MAP__ : _target___FEDERATION__5.__PRELOADED_MAP__ = new Map();\n}\nsetGlobalDefaultVal(globalThis);\nsetGlobalDefaultVal(nativeGlobal);\nfunction resetFederationGlobalInfo() {\n globalThis.__FEDERATION__.__GLOBAL_PLUGIN__ = [];\n globalThis.__FEDERATION__.__INSTANCES__ = [];\n globalThis.__FEDERATION__.moduleInfo = {};\n globalThis.__FEDERATION__.__SHARE__ = {};\n globalThis.__FEDERATION__.__MANIFEST_LOADING__ = {};\n}\nfunction getGlobalFederationInstance(name, version) {\n const buildId = getBuilderId();\n return globalThis.__FEDERATION__.__INSTANCES__.find((GMInstance)=>{\n if (buildId && GMInstance.options.id === getBuilderId()) {\n return true;\n }\n if (GMInstance.options.name === name && !GMInstance.options.version && !version) {\n return true;\n }\n if (GMInstance.options.name === name && version && GMInstance.options.version === version) {\n return true;\n }\n return false;\n });\n}\nfunction setGlobalFederationInstance(FederationInstance) {\n globalThis.__FEDERATION__.__INSTANCES__.push(FederationInstance);\n}\nfunction getGlobalFederationConstructor() {\n return globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__;\n}\nfunction setGlobalFederationConstructor(FederationConstructor, isDebug = isDebugMode()) {\n if (isDebug) {\n globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;\n globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = \"0.2.5\";\n }\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction getInfoWithoutType(target, key) {\n if (typeof key === 'string') {\n const keyRes = target[key];\n if (keyRes) {\n return {\n value: target[key],\n key: key\n };\n } else {\n const targetKeys = Object.keys(target);\n for (const targetKey of targetKeys){\n const [targetTypeOrName, _] = targetKey.split(':');\n const nKey = `${targetTypeOrName}:${key}`;\n const typeWithKeyRes = target[nKey];\n if (typeWithKeyRes) {\n return {\n value: typeWithKeyRes,\n key: nKey\n };\n }\n }\n return {\n value: undefined,\n key: key\n };\n }\n } else {\n throw new Error('key must be string');\n }\n}\nconst getGlobalSnapshot = ()=>nativeGlobal.__FEDERATION__.moduleInfo;\nconst getTargetSnapshotInfoByModuleInfo = (moduleInfo, snapshot)=>{\n // Check if the remote is included in the hostSnapshot\n const moduleKey = getFMId(moduleInfo);\n const getModuleInfo = getInfoWithoutType(snapshot, moduleKey).value;\n // The remoteSnapshot might not include a version\n if (getModuleInfo && !getModuleInfo.version && 'version' in moduleInfo && moduleInfo['version']) {\n getModuleInfo.version = moduleInfo['version'];\n }\n if (getModuleInfo) {\n return getModuleInfo;\n }\n // If the remote is not included in the hostSnapshot, deploy a micro app snapshot\n if ('version' in moduleInfo && moduleInfo['version']) {\n const { version } = moduleInfo, resModuleInfo = _object_without_properties_loose(moduleInfo, [\n \"version\"\n ]);\n const moduleKeyWithoutVersion = getFMId(resModuleInfo);\n const getModuleInfoWithoutVersion = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, moduleKeyWithoutVersion).value;\n if ((getModuleInfoWithoutVersion == null ? void 0 : getModuleInfoWithoutVersion.version) === version) {\n return getModuleInfoWithoutVersion;\n }\n }\n return;\n};\nconst getGlobalSnapshotInfoByModuleInfo = (moduleInfo)=>getTargetSnapshotInfoByModuleInfo(moduleInfo, nativeGlobal.__FEDERATION__.moduleInfo);\nconst setGlobalSnapshotInfoByModuleInfo = (remoteInfo, moduleDetailInfo)=>{\n const moduleKey = getFMId(remoteInfo);\n nativeGlobal.__FEDERATION__.moduleInfo[moduleKey] = moduleDetailInfo;\n return nativeGlobal.__FEDERATION__.moduleInfo;\n};\nconst addGlobalSnapshot = (moduleInfos)=>{\n nativeGlobal.__FEDERATION__.moduleInfo = _extends$1({}, nativeGlobal.__FEDERATION__.moduleInfo, moduleInfos);\n return ()=>{\n const keys = Object.keys(moduleInfos);\n for (const key of keys){\n delete nativeGlobal.__FEDERATION__.moduleInfo[key];\n }\n };\n};\nconst getRemoteEntryExports = (name, globalName)=>{\n const remoteEntryKey = globalName || `__FEDERATION_${name}:custom__`;\n const entryExports = globalThis[remoteEntryKey];\n return {\n remoteEntryKey,\n entryExports\n };\n};\n// This function is used to register global plugins.\n// It iterates over the provided plugins and checks if they are already registered.\n// If a plugin is not registered, it is added to the global plugins.\n// If a plugin is already registered, a warning message is logged.\nconst registerGlobalPlugins = (plugins)=>{\n const { __GLOBAL_PLUGIN__ } = nativeGlobal.__FEDERATION__;\n plugins.forEach((plugin)=>{\n if (__GLOBAL_PLUGIN__.findIndex((p)=>p.name === plugin.name) === -1) {\n __GLOBAL_PLUGIN__.push(plugin);\n } else {\n warn(`The plugin ${plugin.name} has been registered.`);\n }\n });\n};\nconst getGlobalHostPlugins = ()=>nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__;\nconst getPreloaded = (id)=>globalThis.__FEDERATION__.__PRELOADED_MAP__.get(id);\nconst setPreloaded = (id)=>globalThis.__FEDERATION__.__PRELOADED_MAP__.set(id, true);\n\nconst DEFAULT_SCOPE = 'default';\nconst DEFAULT_REMOTE_TYPE = 'global';\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// those constants are based on https://www.rubydoc.info/gems/semantic_range/3.0.0/SemanticRange#BUILDIDENTIFIER-constant\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nconst buildIdentifier = '[0-9A-Za-z-]+';\nconst build = `(?:\\\\+(${buildIdentifier}(?:\\\\.${buildIdentifier})*))`;\nconst numericIdentifier = '0|[1-9]\\\\d*';\nconst numericIdentifierLoose = '[0-9]+';\nconst nonNumericIdentifier = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*';\nconst preReleaseIdentifierLoose = `(?:${numericIdentifierLoose}|${nonNumericIdentifier})`;\nconst preReleaseLoose = `(?:-?(${preReleaseIdentifierLoose}(?:\\\\.${preReleaseIdentifierLoose})*))`;\nconst preReleaseIdentifier = `(?:${numericIdentifier}|${nonNumericIdentifier})`;\nconst preRelease = `(?:-(${preReleaseIdentifier}(?:\\\\.${preReleaseIdentifier})*))`;\nconst xRangeIdentifier = `${numericIdentifier}|x|X|\\\\*`;\nconst xRangePlain = `[v=\\\\s]*(${xRangeIdentifier})(?:\\\\.(${xRangeIdentifier})(?:\\\\.(${xRangeIdentifier})(?:${preRelease})?${build}?)?)?`;\nconst hyphenRange = `^\\\\s*(${xRangePlain})\\\\s+-\\\\s+(${xRangePlain})\\\\s*$`;\nconst mainVersionLoose = `(${numericIdentifierLoose})\\\\.(${numericIdentifierLoose})\\\\.(${numericIdentifierLoose})`;\nconst loosePlain = `[v=\\\\s]*${mainVersionLoose}${preReleaseLoose}?${build}?`;\nconst gtlt = '((?:<|>)?=?)';\nconst comparatorTrim = `(\\\\s*)${gtlt}\\\\s*(${loosePlain}|${xRangePlain})`;\nconst loneTilde = '(?:~>?)';\nconst tildeTrim = `(\\\\s*)${loneTilde}\\\\s+`;\nconst loneCaret = '(?:\\\\^)';\nconst caretTrim = `(\\\\s*)${loneCaret}\\\\s+`;\nconst star = '(<|>)?=?\\\\s*\\\\*';\nconst caret = `^${loneCaret}${xRangePlain}$`;\nconst mainVersion = `(${numericIdentifier})\\\\.(${numericIdentifier})\\\\.(${numericIdentifier})`;\nconst fullPlain = `v?${mainVersion}${preRelease}?${build}?`;\nconst tilde = `^${loneTilde}${xRangePlain}$`;\nconst xRange = `^${gtlt}\\\\s*${xRangePlain}$`;\nconst comparator = `^${gtlt}\\\\s*(${fullPlain})$|^$`;\n// copy from semver package\nconst gte0 = '^\\\\s*>=\\\\s*0.0.0\\\\s*$';\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\nfunction parseRegex(source) {\n return new RegExp(source);\n}\nfunction isXVersion(version) {\n return !version || version.toLowerCase() === 'x' || version === '*';\n}\nfunction pipe(...fns) {\n return (x)=>fns.reduce((v, f)=>f(v), x);\n}\nfunction extractComparator(comparatorString) {\n return comparatorString.match(parseRegex(comparator));\n}\nfunction combineVersion(major, minor, patch, preRelease) {\n const mainVersion = `${major}.${minor}.${patch}`;\n if (preRelease) {\n return `${mainVersion}-${preRelease}`;\n }\n return mainVersion;\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\nfunction parseHyphen(range) {\n return range.replace(parseRegex(hyphenRange), (_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease)=>{\n if (isXVersion(fromMajor)) {\n from = '';\n } else if (isXVersion(fromMinor)) {\n from = `>=${fromMajor}.0.0`;\n } else if (isXVersion(fromPatch)) {\n from = `>=${fromMajor}.${fromMinor}.0`;\n } else {\n from = `>=${from}`;\n }\n if (isXVersion(toMajor)) {\n to = '';\n } else if (isXVersion(toMinor)) {\n to = `<${Number(toMajor) + 1}.0.0-0`;\n } else if (isXVersion(toPatch)) {\n to = `<${toMajor}.${Number(toMinor) + 1}.0-0`;\n } else if (toPreRelease) {\n to = `<=${toMajor}.${toMinor}.${toPatch}-${toPreRelease}`;\n } else {\n to = `<=${to}`;\n }\n return `${from} ${to}`.trim();\n });\n}\nfunction parseComparatorTrim(range) {\n return range.replace(parseRegex(comparatorTrim), '$1$2$3');\n}\nfunction parseTildeTrim(range) {\n return range.replace(parseRegex(tildeTrim), '$1~');\n}\nfunction parseCaretTrim(range) {\n return range.replace(parseRegex(caretTrim), '$1^');\n}\nfunction parseCarets(range) {\n return range.trim().split(/\\s+/).map((rangeVersion)=>rangeVersion.replace(parseRegex(caret), (_, major, minor, patch, preRelease)=>{\n if (isXVersion(major)) {\n return '';\n } else if (isXVersion(minor)) {\n return `>=${major}.0.0 <${Number(major) + 1}.0.0-0`;\n } else if (isXVersion(patch)) {\n if (major === '0') {\n return `>=${major}.${minor}.0 <${major}.${Number(minor) + 1}.0-0`;\n } else {\n return `>=${major}.${minor}.0 <${Number(major) + 1}.0.0-0`;\n }\n } else if (preRelease) {\n if (major === '0') {\n if (minor === '0') {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${minor}.${Number(patch) + 1}-0`;\n } else {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n } else {\n return `>=${major}.${minor}.${patch}-${preRelease} <${Number(major) + 1}.0.0-0`;\n }\n } else {\n if (major === '0') {\n if (minor === '0') {\n return `>=${major}.${minor}.${patch} <${major}.${minor}.${Number(patch) + 1}-0`;\n } else {\n return `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;\n }\n }\n return `>=${major}.${minor}.${patch} <${Number(major) + 1}.0.0-0`;\n }\n })).join(' ');\n}\nfunction parseTildes(range) {\n return range.trim().split(/\\s+/).map((rangeVersion)=>rangeVersion.replace(parseRegex(tilde), (_, major, minor, patch, preRelease)=>{\n if (isXVersion(major)) {\n return '';\n } else if (isXVersion(minor)) {\n return `>=${major}.0.0 <${Number(major) + 1}.0.0-0`;\n } else if (isXVersion(patch)) {\n return `>=${major}.${minor}.0 <${major}.${Number(minor) + 1}.0-0`;\n } else if (preRelease) {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n return `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;\n })).join(' ');\n}\nfunction parseXRanges(range) {\n return range.split(/\\s+/).map((rangeVersion)=>rangeVersion.trim().replace(parseRegex(xRange), (ret, gtlt, major, minor, patch, preRelease)=>{\n const isXMajor = isXVersion(major);\n const isXMinor = isXMajor || isXVersion(minor);\n const isXPatch = isXMinor || isXVersion(patch);\n if (gtlt === '=' && isXPatch) {\n gtlt = '';\n }\n preRelease = '';\n if (isXMajor) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n return '<0.0.0-0';\n } else {\n // nothing is forbidden\n return '*';\n }\n } else if (gtlt && isXPatch) {\n // replace X with 0\n if (isXMinor) {\n minor = 0;\n }\n patch = 0;\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>=';\n if (isXMinor) {\n major = Number(major) + 1;\n minor = 0;\n patch = 0;\n } else {\n minor = Number(minor) + 1;\n patch = 0;\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should pass\n // Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<';\n if (isXMinor) {\n major = Number(major) + 1;\n } else {\n minor = Number(minor) + 1;\n }\n }\n if (gtlt === '<') {\n preRelease = '-0';\n }\n return `${gtlt + major}.${minor}.${patch}${preRelease}`;\n } else if (isXMinor) {\n return `>=${major}.0.0${preRelease} <${Number(major) + 1}.0.0-0`;\n } else if (isXPatch) {\n return `>=${major}.${minor}.0${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n return ret;\n })).join(' ');\n}\nfunction parseStar(range) {\n return range.trim().replace(parseRegex(star), '');\n}\nfunction parseGTE0(comparatorString) {\n return comparatorString.trim().replace(parseRegex(gte0), '');\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nfunction compareAtom(rangeAtom, versionAtom) {\n rangeAtom = Number(rangeAtom) || rangeAtom;\n versionAtom = Number(versionAtom) || versionAtom;\n if (rangeAtom > versionAtom) {\n return 1;\n }\n if (rangeAtom === versionAtom) {\n return 0;\n }\n return -1;\n}\nfunction comparePreRelease(rangeAtom, versionAtom) {\n const { preRelease: rangePreRelease } = rangeAtom;\n const { preRelease: versionPreRelease } = versionAtom;\n if (rangePreRelease === undefined && Boolean(versionPreRelease)) {\n return 1;\n }\n if (Boolean(rangePreRelease) && versionPreRelease === undefined) {\n return -1;\n }\n if (rangePreRelease === undefined && versionPreRelease === undefined) {\n return 0;\n }\n for(let i = 0, n = rangePreRelease.length; i <= n; i++){\n const rangeElement = rangePreRelease[i];\n const versionElement = versionPreRelease[i];\n if (rangeElement === versionElement) {\n continue;\n }\n if (rangeElement === undefined && versionElement === undefined) {\n return 0;\n }\n if (!rangeElement) {\n return 1;\n }\n if (!versionElement) {\n return -1;\n }\n return compareAtom(rangeElement, versionElement);\n }\n return 0;\n}\nfunction compareVersion(rangeAtom, versionAtom) {\n return compareAtom(rangeAtom.major, versionAtom.major) || compareAtom(rangeAtom.minor, versionAtom.minor) || compareAtom(rangeAtom.patch, versionAtom.patch) || comparePreRelease(rangeAtom, versionAtom);\n}\nfunction eq(rangeAtom, versionAtom) {\n return rangeAtom.version === versionAtom.version;\n}\nfunction compare(rangeAtom, versionAtom) {\n switch(rangeAtom.operator){\n case '':\n case '=':\n return eq(rangeAtom, versionAtom);\n case '>':\n return compareVersion(rangeAtom, versionAtom) < 0;\n case '>=':\n return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) < 0;\n case '<':\n return compareVersion(rangeAtom, versionAtom) > 0;\n case '<=':\n return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) > 0;\n case undefined:\n {\n // mean * or x -> all versions\n return true;\n }\n default:\n return false;\n }\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\nfunction parseComparatorString(range) {\n return pipe(// handle caret\n // ^ --> * (any, kinda silly)\n // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n // ^1.2.3 --> >=1.2.3 <2.0.0-0\n // ^1.2.0 --> >=1.2.0 <2.0.0-0\n parseCarets, // handle tilde\n // ~, ~> --> * (any, kinda silly)\n // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n parseTildes, parseXRanges, parseStar)(range);\n}\nfunction parseRange(range) {\n return pipe(// handle hyphenRange\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n parseHyphen, // handle trim comparator\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n parseComparatorTrim, // handle trim tilde\n // `~ 1.2.3` => `~1.2.3`\n parseTildeTrim, // handle trim caret\n // `^ 1.2.3` => `^1.2.3`\n parseCaretTrim)(range.trim()).split(/\\s+/).join(' ');\n}\nfunction satisfy(version, range) {\n if (!version) {\n return false;\n }\n const parsedRange = parseRange(range);\n const parsedComparator = parsedRange.split(' ').map((rangeVersion)=>parseComparatorString(rangeVersion)).join(' ');\n const comparators = parsedComparator.split(/\\s+/).map((comparator)=>parseGTE0(comparator));\n const extractedVersion = extractComparator(version);\n if (!extractedVersion) {\n return false;\n }\n const [, versionOperator, , versionMajor, versionMinor, versionPatch, versionPreRelease] = extractedVersion;\n const versionAtom = {\n operator: versionOperator,\n version: combineVersion(versionMajor, versionMinor, versionPatch, versionPreRelease),\n major: versionMajor,\n minor: versionMinor,\n patch: versionPatch,\n preRelease: versionPreRelease == null ? void 0 : versionPreRelease.split('.')\n };\n for (const comparator of comparators){\n const extractedComparator = extractComparator(comparator);\n if (!extractedComparator) {\n return false;\n }\n const [, rangeOperator, , rangeMajor, rangeMinor, rangePatch, rangePreRelease] = extractedComparator;\n const rangeAtom = {\n operator: rangeOperator,\n version: combineVersion(rangeMajor, rangeMinor, rangePatch, rangePreRelease),\n major: rangeMajor,\n minor: rangeMinor,\n patch: rangePatch,\n preRelease: rangePreRelease == null ? void 0 : rangePreRelease.split('.')\n };\n if (!compare(rangeAtom, versionAtom)) {\n return false; // early return\n }\n }\n return true;\n}\n\nfunction _extends() {\n _extends = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction formatShare(shareArgs, from, name) {\n let get;\n if ('get' in shareArgs) {\n // eslint-disable-next-line prefer-destructuring\n get = shareArgs.get;\n } else if ('lib' in shareArgs) {\n get = ()=>Promise.resolve(shareArgs.lib);\n } else {\n get = ()=>Promise.resolve(()=>{\n throw new Error(`Can not get shared '${name}'!`);\n });\n }\n var _shareArgs_version, _shareArgs_scope;\n return _extends({\n deps: [],\n useIn: [],\n from,\n loading: null\n }, shareArgs, {\n shareConfig: _extends({\n requiredVersion: `^${shareArgs.version}`,\n singleton: false,\n eager: false,\n strictVersion: false\n }, shareArgs.shareConfig),\n get,\n loaded: 'lib' in shareArgs ? true : undefined,\n version: (_shareArgs_version = shareArgs.version) != null ? _shareArgs_version : '0',\n scope: Array.isArray(shareArgs.scope) ? shareArgs.scope : [\n (_shareArgs_scope = shareArgs.scope) != null ? _shareArgs_scope : 'default'\n ],\n strategy: shareArgs.strategy || 'version-first'\n });\n}\nfunction formatShareConfigs(globalOptions, userOptions) {\n const shareArgs = userOptions.shared || {};\n const from = userOptions.name;\n const shareInfos = Object.keys(shareArgs).reduce((res, pkgName)=>{\n const arrayShareArgs = arrayOptions(shareArgs[pkgName]);\n res[pkgName] = res[pkgName] || [];\n arrayShareArgs.forEach((shareConfig)=>{\n res[pkgName].push(formatShare(shareConfig, from, pkgName));\n });\n return res;\n }, {});\n const shared = _extends({}, globalOptions.shared);\n Object.keys(shareInfos).forEach((shareKey)=>{\n if (!shared[shareKey]) {\n shared[shareKey] = shareInfos[shareKey];\n } else {\n shareInfos[shareKey].forEach((newUserSharedOptions)=>{\n const isSameVersion = shared[shareKey].find((sharedVal)=>sharedVal.version === newUserSharedOptions.version);\n if (!isSameVersion) {\n shared[shareKey].push(newUserSharedOptions);\n }\n });\n }\n });\n return {\n shared,\n shareInfos\n };\n}\nfunction versionLt(a, b) {\n const transformInvalidVersion = (version)=>{\n const isNumberVersion = !Number.isNaN(Number(version));\n if (isNumberVersion) {\n const splitArr = version.split('.');\n let validVersion = version;\n for(let i = 0; i < 3 - splitArr.length; i++){\n validVersion += '.0';\n }\n return validVersion;\n }\n return version;\n };\n if (satisfy(transformInvalidVersion(a), `<=${transformInvalidVersion(b)}`)) {\n return true;\n } else {\n return false;\n }\n}\nconst findVersion = (shareVersionMap, cb)=>{\n const callback = cb || function(prev, cur) {\n return versionLt(prev, cur);\n };\n return Object.keys(shareVersionMap).reduce((prev, cur)=>{\n if (!prev) {\n return cur;\n }\n if (callback(prev, cur)) {\n return cur;\n }\n // default version is '0' https://github.com/webpack/webpack/blob/main/lib/sharing/ProvideSharedModule.js#L136\n if (prev === '0') {\n return cur;\n }\n return prev;\n }, 0);\n};\nconst isLoaded = (shared)=>{\n return Boolean(shared.loaded) || typeof shared.lib === 'function';\n};\nfunction findSingletonVersionOrderByVersion(shareScopeMap, scope, pkgName) {\n const versions = shareScopeMap[scope][pkgName];\n const callback = function(prev, cur) {\n return !isLoaded(versions[prev]) && versionLt(prev, cur);\n };\n return findVersion(shareScopeMap[scope][pkgName], callback);\n}\nfunction findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName) {\n const versions = shareScopeMap[scope][pkgName];\n const callback = function(prev, cur) {\n if (isLoaded(versions[cur])) {\n if (isLoaded(versions[prev])) {\n return Boolean(versionLt(prev, cur));\n } else {\n return true;\n }\n }\n if (isLoaded(versions[prev])) {\n return false;\n }\n return versionLt(prev, cur);\n };\n return findVersion(shareScopeMap[scope][pkgName], callback);\n}\nfunction getFindShareFunction(strategy) {\n if (strategy === 'loaded-first') {\n return findSingletonVersionOrderByLoaded;\n }\n return findSingletonVersionOrderByVersion;\n}\nfunction getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare) {\n if (!localShareScopeMap) {\n return;\n }\n const { shareConfig, scope = DEFAULT_SCOPE, strategy } = shareInfo;\n const scopes = Array.isArray(scope) ? scope : [\n scope\n ];\n for (const sc of scopes){\n if (shareConfig && localShareScopeMap[sc] && localShareScopeMap[sc][pkgName]) {\n const { requiredVersion } = shareConfig;\n const findShareFunction = getFindShareFunction(strategy);\n const maxOrSingletonVersion = findShareFunction(localShareScopeMap, sc, pkgName);\n //@ts-ignore\n const defaultResolver = ()=>{\n if (shareConfig.singleton) {\n if (typeof requiredVersion === 'string' && !satisfy(maxOrSingletonVersion, requiredVersion)) {\n const msg = `Version ${maxOrSingletonVersion} from ${maxOrSingletonVersion && localShareScopeMap[sc][pkgName][maxOrSingletonVersion].from} of shared singleton module ${pkgName} does not satisfy the requirement of ${shareInfo.from} which needs ${requiredVersion})`;\n if (shareConfig.strictVersion) {\n error(msg);\n } else {\n warn(msg);\n }\n }\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n } else {\n if (requiredVersion === false || requiredVersion === '*') {\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n }\n if (satisfy(maxOrSingletonVersion, requiredVersion)) {\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n }\n for (const [versionKey, versionValue] of Object.entries(localShareScopeMap[sc][pkgName])){\n if (satisfy(versionKey, requiredVersion)) {\n return versionValue;\n }\n }\n }\n };\n const params = {\n shareScopeMap: localShareScopeMap,\n scope: sc,\n pkgName,\n version: maxOrSingletonVersion,\n GlobalFederation: Global.__FEDERATION__,\n resolver: defaultResolver\n };\n const resolveShared = resolveShare.emit(params) || params;\n return resolveShared.resolver();\n }\n }\n}\nfunction getGlobalShareScope() {\n return Global.__FEDERATION__.__SHARE__;\n}\nfunction getTargetSharedOptions(options) {\n const { pkgName, extraOptions, shareInfos } = options;\n const defaultResolver = (sharedOptions)=>{\n if (!sharedOptions) {\n return undefined;\n }\n const shareVersionMap = {};\n sharedOptions.forEach((shared)=>{\n shareVersionMap[shared.version] = shared;\n });\n const callback = function(prev, cur) {\n return !isLoaded(shareVersionMap[prev]) && versionLt(prev, cur);\n };\n const maxVersion = findVersion(shareVersionMap, callback);\n return shareVersionMap[maxVersion];\n };\n var _extraOptions_resolver;\n const resolver = (_extraOptions_resolver = extraOptions == null ? void 0 : extraOptions.resolver) != null ? _extraOptions_resolver : defaultResolver;\n return Object.assign({}, resolver(shareInfos[pkgName]), extraOptions == null ? void 0 : extraOptions.customShareInfo);\n}\n\nexport { addUniqueItem as A, getBuilderId as B, setGlobalFederationConstructor as C, DEFAULT_REMOTE_TYPE as D, getGlobalFederationInstance as E, getGlobalFederationConstructor as F, Global as G, setGlobalFederationInstance as H, registerGlobalPlugins as I, nativeGlobal as J, resetFederationGlobalInfo as K, getTargetSnapshotInfoByModuleInfo as L, globalLoading as a, DEFAULT_SCOPE as b, getRemoteEntryExports as c, assert as d, getFMId as e, error as f, getGlobalHostPlugins as g, isPlainObject as h, isObject as i, isRemoteInfoWithEntry as j, isPureRemoteEntry as k, isBrowserEnv as l, getInfoWithoutType as m, getPreloaded as n, setPreloaded as o, getRegisteredShare as p, arrayOptions as q, getGlobalSnapshotInfoByModuleInfo as r, safeToString as s, addGlobalSnapshot as t, setGlobalSnapshotInfoByModuleInfo as u, getGlobalSnapshot as v, warn as w, formatShareConfigs as x, getTargetSharedOptions as y, getGlobalShareScope as z };\n","import { g as getGlobalHostPlugins, a as globalLoading, D as DEFAULT_REMOTE_TYPE, b as DEFAULT_SCOPE, c as getRemoteEntryExports, d as assert, s as safeToString, e as getFMId, i as isObject, f as error, w as warn, h as isPlainObject, j as isRemoteInfoWithEntry, k as isPureRemoteEntry, l as isBrowserEnv, m as getInfoWithoutType, n as getPreloaded, o as setPreloaded, p as getRegisteredShare, q as arrayOptions, r as getGlobalSnapshotInfoByModuleInfo, t as addGlobalSnapshot, u as setGlobalSnapshotInfoByModuleInfo, v as getGlobalSnapshot, G as Global, x as formatShareConfigs, y as getTargetSharedOptions, z as getGlobalShareScope, A as addUniqueItem, B as getBuilderId, C as setGlobalFederationConstructor, E as getGlobalFederationInstance, F as getGlobalFederationConstructor, H as setGlobalFederationInstance } from './share.esm.js';\nexport { I as registerGlobalPlugins } from './share.esm.js';\nimport { loadScriptNode, loadScript, composeKeyWithSeparator, createLink, createScript, getResourceUrl, isManifestProvider, generateSnapshotFromManifest, warn as warn$1, isBrowserEnv as isBrowserEnv$1 } from '@module-federation/sdk';\nexport { loadScript, loadScriptNode } from '@module-federation/sdk';\n\n// Function to match a remote with its name and expose\n// id: pkgName(@federation/app1) + expose(button) = @federation/app1/button\n// id: alias(app1) + expose(button) = app1/button\n// id: alias(app1/utils) + expose(loadash/sort) = app1/utils/loadash/sort\nfunction matchRemoteWithNameAndExpose(remotes, id) {\n for (const remote of remotes){\n // match pkgName\n const isNameMatched = id.startsWith(remote.name);\n let expose = id.replace(remote.name, '');\n if (isNameMatched) {\n if (expose.startsWith('/')) {\n const pkgNameOrAlias = remote.name;\n expose = `.${expose}`;\n return {\n pkgNameOrAlias,\n expose,\n remote\n };\n } else if (expose === '') {\n return {\n pkgNameOrAlias: remote.name,\n expose: '.',\n remote\n };\n }\n }\n // match alias\n const isAliasMatched = remote.alias && id.startsWith(remote.alias);\n let exposeWithAlias = remote.alias && id.replace(remote.alias, '');\n if (remote.alias && isAliasMatched) {\n if (exposeWithAlias && exposeWithAlias.startsWith('/')) {\n const pkgNameOrAlias = remote.alias;\n exposeWithAlias = `.${exposeWithAlias}`;\n return {\n pkgNameOrAlias,\n expose: exposeWithAlias,\n remote\n };\n } else if (exposeWithAlias === '') {\n return {\n pkgNameOrAlias: remote.alias,\n expose: '.',\n remote\n };\n }\n }\n }\n return;\n}\n// Function to match a remote with its name or alias\nfunction matchRemote(remotes, nameOrAlias) {\n for (const remote of remotes){\n const isNameMatched = nameOrAlias === remote.name;\n if (isNameMatched) {\n return remote;\n }\n const isAliasMatched = remote.alias && nameOrAlias === remote.alias;\n if (isAliasMatched) {\n return remote;\n }\n }\n return;\n}\n\nfunction registerPlugins$1(plugins, hookInstances) {\n const globalPlugins = getGlobalHostPlugins();\n // Incorporate global plugins\n if (globalPlugins.length > 0) {\n globalPlugins.forEach((plugin)=>{\n if (plugins == null ? void 0 : plugins.find((item)=>item.name !== plugin.name)) {\n plugins.push(plugin);\n }\n });\n }\n if (plugins && plugins.length > 0) {\n plugins.forEach((plugin)=>{\n hookInstances.forEach((hookInstance)=>{\n hookInstance.applyPlugin(plugin);\n });\n });\n }\n return plugins;\n}\n\nfunction _extends$7() {\n _extends$7 = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends$7.apply(this, arguments);\n}\nasync function loadEsmEntry({ entry, remoteEntryExports }) {\n return new Promise((resolve, reject)=>{\n try {\n if (!remoteEntryExports) {\n // eslint-disable-next-line no-eval\n new Function('callbacks', `import(\"${entry}\").then(callbacks[0]).catch(callbacks[1])`)([\n resolve,\n reject\n ]);\n } else {\n resolve(remoteEntryExports);\n }\n } catch (e) {\n reject(e);\n }\n });\n}\nasync function loadSystemJsEntry({ entry, remoteEntryExports }) {\n return new Promise((resolve, reject)=>{\n try {\n if (!remoteEntryExports) {\n // eslint-disable-next-line no-eval\n new Function('callbacks', `System.import(\"${entry}\").then(callbacks[0]).catch(callbacks[1])`)([\n resolve,\n reject\n ]);\n } else {\n resolve(remoteEntryExports);\n }\n } catch (e) {\n reject(e);\n }\n });\n}\nasync function loadEntryScript({ name, globalName, entry, createScriptHook }) {\n const { entryExports: remoteEntryExports } = getRemoteEntryExports(name, globalName);\n if (remoteEntryExports) {\n return remoteEntryExports;\n }\n if (typeof document === 'undefined') {\n return loadScriptNode(entry, {\n attrs: {\n name,\n globalName\n },\n createScriptHook\n }).then(()=>{\n const { remoteEntryKey, entryExports } = getRemoteEntryExports(name, globalName);\n assert(entryExports, `\n Unable to use the ${name}'s '${entry}' URL with ${remoteEntryKey}'s globalName to get remoteEntry exports.\n Possible reasons could be:\\n\n 1. '${entry}' is not the correct URL, or the remoteEntry resource or name is incorrect.\\n\n 2. ${remoteEntryKey} cannot be used to get remoteEntry exports in the window object.\n `);\n return entryExports;\n }).catch((e)=>{\n throw e;\n });\n }\n return loadScript(entry, {\n attrs: {},\n createScriptHook\n }).then(()=>{\n const { remoteEntryKey, entryExports } = getRemoteEntryExports(name, globalName);\n assert(entryExports, `\n Unable to use the ${name}'s '${entry}' URL with ${remoteEntryKey}'s globalName to get remoteEntry exports.\n Possible reasons could be:\\n\n 1. '${entry}' is not the correct URL, or the remoteEntry resource or name is incorrect.\\n\n 2. ${remoteEntryKey} cannot be used to get remoteEntry exports in the window object.\n `);\n return entryExports;\n }).catch((e)=>{\n throw e;\n });\n}\nfunction getRemoteEntryUniqueKey(remoteInfo) {\n const { entry, name } = remoteInfo;\n return composeKeyWithSeparator(name, entry);\n}\nasync function getRemoteEntry({ remoteEntryExports, remoteInfo, createScriptHook }) {\n const { entry, name, type, entryGlobalName } = remoteInfo;\n const uniqueKey = getRemoteEntryUniqueKey(remoteInfo);\n if (remoteEntryExports) {\n return remoteEntryExports;\n }\n if (!globalLoading[uniqueKey]) {\n if ([\n 'esm',\n 'module'\n ].includes(type)) {\n globalLoading[uniqueKey] = loadEsmEntry({\n entry,\n remoteEntryExports\n });\n } else if (type === 'system') {\n globalLoading[uniqueKey] = loadSystemJsEntry({\n entry,\n remoteEntryExports\n });\n } else {\n globalLoading[uniqueKey] = loadEntryScript({\n name,\n globalName: entryGlobalName,\n entry,\n createScriptHook\n });\n }\n }\n return globalLoading[uniqueKey];\n}\nfunction getRemoteInfo(remote) {\n return _extends$7({}, remote, {\n entry: 'entry' in remote ? remote.entry : '',\n type: remote.type || DEFAULT_REMOTE_TYPE,\n entryGlobalName: remote.entryGlobalName || remote.name,\n shareScope: remote.shareScope || DEFAULT_SCOPE\n });\n}\n\nfunction _extends$6() {\n _extends$6 = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends$6.apply(this, arguments);\n}\nlet Module = class Module {\n async getEntry() {\n if (this.remoteEntryExports) {\n return this.remoteEntryExports;\n }\n // Get remoteEntry.js\n const remoteEntryExports = await getRemoteEntry({\n remoteInfo: this.remoteInfo,\n remoteEntryExports: this.remoteEntryExports,\n createScriptHook: (url, attrs)=>{\n const res = this.host.loaderHook.lifecycle.createScript.emit({\n url,\n attrs\n });\n if (!res) return;\n if (typeof document === 'undefined') {\n //todo: needs real fix\n return res;\n }\n if (res instanceof HTMLScriptElement) {\n return res;\n }\n if ('script' in res || 'timeout' in res) {\n return res;\n }\n return;\n }\n });\n assert(remoteEntryExports, `remoteEntryExports is undefined \\n ${safeToString(this.remoteInfo)}`);\n this.remoteEntryExports = remoteEntryExports;\n return this.remoteEntryExports;\n }\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n async get(id, expose, options) {\n const { loadFactory = true } = options || {\n loadFactory: true\n };\n // Get remoteEntry.js\n const remoteEntryExports = await this.getEntry();\n if (!this.inited) {\n const localShareScopeMap = this.host.shareScopeMap;\n const remoteShareScope = this.remoteInfo.shareScope || 'default';\n if (!localShareScopeMap[remoteShareScope]) {\n localShareScopeMap[remoteShareScope] = {};\n }\n const shareScope = localShareScopeMap[remoteShareScope];\n const initScope = [];\n const remoteEntryInitOptions = {\n version: this.remoteInfo.version || ''\n };\n // Help to find host instance\n Object.defineProperty(remoteEntryInitOptions, 'shareScopeMap', {\n value: localShareScopeMap,\n // remoteEntryInitOptions will be traversed and assigned during container init, ,so this attribute is not allowed to be traversed\n enumerable: false\n });\n const initContainerOptions = await this.host.hooks.lifecycle.beforeInitContainer.emit({\n shareScope,\n // @ts-ignore shareScopeMap will be set by Object.defineProperty\n remoteEntryInitOptions,\n initScope,\n remoteInfo: this.remoteInfo,\n origin: this.host\n });\n await remoteEntryExports.init(initContainerOptions.shareScope, initContainerOptions.initScope, initContainerOptions.remoteEntryInitOptions);\n await this.host.hooks.lifecycle.initContainer.emit(_extends$6({}, initContainerOptions, {\n remoteEntryExports\n }));\n }\n this.lib = remoteEntryExports;\n this.inited = true;\n // get exposeGetter\n const moduleFactory = await remoteEntryExports.get(expose);\n assert(moduleFactory, `${getFMId(this.remoteInfo)} remote don't export ${expose}.`);\n const wrapModuleFactory = this.wraperFactory(moduleFactory, id);\n if (!loadFactory) {\n return wrapModuleFactory;\n }\n const exposeContent = await wrapModuleFactory();\n return exposeContent;\n }\n wraperFactory(moduleFactory, id) {\n function defineModuleId(res, id) {\n if (res && typeof res === 'object' && Object.isExtensible(res) && !Object.getOwnPropertyDescriptor(res, Symbol.for('mf_module_id'))) {\n Object.defineProperty(res, Symbol.for('mf_module_id'), {\n value: id,\n enumerable: false\n });\n }\n }\n if (moduleFactory instanceof Promise) {\n return async ()=>{\n const res = await moduleFactory();\n // This parameter is used for bridge debugging\n defineModuleId(res, id);\n return res;\n };\n } else {\n return ()=>{\n const res = moduleFactory();\n // This parameter is used for bridge debugging\n defineModuleId(res, id);\n return res;\n };\n }\n }\n constructor({ remoteInfo, host }){\n this.inited = false;\n this.lib = undefined;\n this.remoteInfo = remoteInfo;\n this.host = host;\n }\n};\n\nclass SyncHook {\n on(fn) {\n if (typeof fn === 'function') {\n this.listeners.add(fn);\n }\n }\n once(fn) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n this.on(function wrapper(...args) {\n self.remove(wrapper);\n // eslint-disable-next-line prefer-spread\n return fn.apply(null, args);\n });\n }\n emit(...data) {\n let result;\n if (this.listeners.size > 0) {\n // eslint-disable-next-line prefer-spread\n this.listeners.forEach((fn)=>{\n result = fn(...data);\n });\n }\n return result;\n }\n remove(fn) {\n this.listeners.delete(fn);\n }\n removeAll() {\n this.listeners.clear();\n }\n constructor(type){\n this.type = '';\n this.listeners = new Set();\n if (type) {\n this.type = type;\n }\n }\n}\n\nclass AsyncHook extends SyncHook {\n emit(...data) {\n let result;\n const ls = Array.from(this.listeners);\n if (ls.length > 0) {\n let i = 0;\n const call = (prev)=>{\n if (prev === false) {\n return false; // Abort process\n } else if (i < ls.length) {\n return Promise.resolve(ls[i++].apply(null, data)).then(call);\n } else {\n return prev;\n }\n };\n result = call();\n }\n return Promise.resolve(result);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction checkReturnData(originalData, returnedData) {\n if (!isObject(returnedData)) {\n return false;\n }\n if (originalData !== returnedData) {\n // eslint-disable-next-line no-restricted-syntax\n for(const key in originalData){\n if (!(key in returnedData)) {\n return false;\n }\n }\n }\n return true;\n}\nclass SyncWaterfallHook extends SyncHook {\n emit(data) {\n if (!isObject(data)) {\n error(`The data for the \"${this.type}\" hook should be an object.`);\n }\n for (const fn of this.listeners){\n try {\n const tempData = fn(data);\n if (checkReturnData(data, tempData)) {\n data = tempData;\n } else {\n this.onerror(`A plugin returned an unacceptable value for the \"${this.type}\" type.`);\n break;\n }\n } catch (e) {\n warn(e);\n this.onerror(e);\n }\n }\n return data;\n }\n constructor(type){\n super();\n this.onerror = error;\n this.type = type;\n }\n}\n\nclass AsyncWaterfallHook extends SyncHook {\n emit(data) {\n if (!isObject(data)) {\n error(`The response data for the \"${this.type}\" hook must be an object.`);\n }\n const ls = Array.from(this.listeners);\n if (ls.length > 0) {\n let i = 0;\n const processError = (e)=>{\n warn(e);\n this.onerror(e);\n return data;\n };\n const call = (prevData)=>{\n if (checkReturnData(data, prevData)) {\n data = prevData;\n if (i < ls.length) {\n try {\n return Promise.resolve(ls[i++](data)).then(call, processError);\n } catch (e) {\n return processError(e);\n }\n }\n } else {\n this.onerror(`A plugin returned an incorrect value for the \"${this.type}\" type.`);\n }\n return data;\n };\n return Promise.resolve(call(data));\n }\n return Promise.resolve(data);\n }\n constructor(type){\n super();\n this.onerror = error;\n this.type = type;\n }\n}\n\nclass PluginSystem {\n applyPlugin(plugin) {\n assert(isPlainObject(plugin), 'Plugin configuration is invalid.');\n // The plugin's name is mandatory and must be unique\n const pluginName = plugin.name;\n assert(pluginName, 'A name must be provided by the plugin.');\n if (!this.registerPlugins[pluginName]) {\n this.registerPlugins[pluginName] = plugin;\n Object.keys(this.lifecycle).forEach((key)=>{\n const pluginLife = plugin[key];\n if (pluginLife) {\n this.lifecycle[key].on(pluginLife);\n }\n });\n }\n }\n removePlugin(pluginName) {\n assert(pluginName, 'A name is required.');\n const plugin = this.registerPlugins[pluginName];\n assert(plugin, `The plugin \"${pluginName}\" is not registered.`);\n Object.keys(plugin).forEach((key)=>{\n if (key !== 'name') {\n this.lifecycle[key].remove(plugin[key]);\n }\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-shadow\n inherit({ lifecycle, registerPlugins }) {\n Object.keys(lifecycle).forEach((hookName)=>{\n assert(!this.lifecycle[hookName], `The hook \"${hookName}\" has a conflict and cannot be inherited.`);\n this.lifecycle[hookName] = lifecycle[hookName];\n });\n Object.keys(registerPlugins).forEach((pluginName)=>{\n assert(!this.registerPlugins[pluginName], `The plugin \"${pluginName}\" has a conflict and cannot be inherited.`);\n this.applyPlugin(registerPlugins[pluginName]);\n });\n }\n constructor(lifecycle){\n this.registerPlugins = {};\n this.lifecycle = lifecycle;\n this.lifecycleKeys = Object.keys(lifecycle);\n }\n}\n\nfunction _extends$5() {\n _extends$5 = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends$5.apply(this, arguments);\n}\nfunction defaultPreloadArgs(preloadConfig) {\n return _extends$5({\n resourceCategory: 'sync',\n share: true,\n depsRemote: true,\n prefetchInterface: false\n }, preloadConfig);\n}\nfunction formatPreloadArgs(remotes, preloadArgs) {\n return preloadArgs.map((args)=>{\n const remoteInfo = matchRemote(remotes, args.nameOrAlias);\n assert(remoteInfo, `Unable to preload ${args.nameOrAlias} as it is not included in ${!remoteInfo && safeToString({\n remoteInfo,\n remotes\n })}`);\n return {\n remote: remoteInfo,\n preloadConfig: defaultPreloadArgs(args)\n };\n });\n}\nfunction normalizePreloadExposes(exposes) {\n if (!exposes) {\n return [];\n }\n return exposes.map((expose)=>{\n if (expose === '.') {\n return expose;\n }\n if (expose.startsWith('./')) {\n return expose.replace('./', '');\n }\n return expose;\n });\n}\nfunction preloadAssets(remoteInfo, host, assets, // It is used to distinguish preload from load remote parallel loading\nuseLinkPreload = true) {\n const { cssAssets, jsAssetsWithoutEntry, entryAssets } = assets;\n if (host.options.inBrowser) {\n entryAssets.forEach((asset)=>{\n const { moduleInfo } = asset;\n const module = host.moduleCache.get(remoteInfo.name);\n if (module) {\n getRemoteEntry({\n remoteInfo: moduleInfo,\n remoteEntryExports: module.remoteEntryExports,\n createScriptHook: (url)=>{\n const res = host.loaderHook.lifecycle.createScript.emit({\n url\n });\n if (!res) return;\n if (typeof document === 'undefined') {\n //todo: needs real fix\n return res;\n }\n if (res instanceof HTMLScriptElement) {\n return res;\n }\n if ('script' in res || 'timeout' in res) {\n return res;\n }\n return;\n }\n });\n } else {\n getRemoteEntry({\n remoteInfo: moduleInfo,\n remoteEntryExports: undefined,\n createScriptHook: (url)=>{\n const res = host.loaderHook.lifecycle.createScript.emit({\n url\n });\n if (!res) return;\n if (typeof document === 'undefined') {\n //todo: needs real fix\n return res;\n }\n if (res instanceof HTMLScriptElement) {\n return res;\n }\n if ('script' in res || 'timeout' in res) {\n return res;\n }\n return;\n }\n });\n }\n });\n if (useLinkPreload) {\n cssAssets.forEach((cssUrl)=>{\n const { link: cssEl, needAttach } = createLink({\n url: cssUrl,\n cb: ()=>{},\n attrs: {\n rel: 'preload',\n as: 'style',\n crossorigin: 'anonymous'\n },\n createLinkHook: (url)=>{\n const res = host.loaderHook.lifecycle.createLink.emit({\n url\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n }\n });\n needAttach && document.head.appendChild(cssEl);\n });\n } else {\n cssAssets.forEach((cssUrl)=>{\n const { link: cssEl, needAttach } = createLink({\n url: cssUrl,\n cb: ()=>{},\n attrs: {\n rel: 'stylesheet',\n type: 'text/css'\n },\n createLinkHook: (url)=>{\n const res = host.loaderHook.lifecycle.createLink.emit({\n url\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n },\n needDeleteLink: false\n });\n needAttach && document.head.appendChild(cssEl);\n });\n }\n if (useLinkPreload) {\n jsAssetsWithoutEntry.forEach((jsUrl)=>{\n const { link: linkEl, needAttach } = createLink({\n url: jsUrl,\n cb: ()=>{},\n attrs: {\n rel: 'preload',\n as: 'script',\n crossorigin: 'anonymous'\n },\n createLinkHook: (url)=>{\n const res = host.loaderHook.lifecycle.createLink.emit({\n url\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n }\n });\n needAttach && document.head.appendChild(linkEl);\n });\n } else {\n jsAssetsWithoutEntry.forEach((jsUrl)=>{\n const { script: scriptEl, needAttach } = createScript({\n url: jsUrl,\n cb: ()=>{},\n attrs: {\n fetchpriority: 'high'\n },\n createScriptHook: (url)=>{\n const res = host.loaderHook.lifecycle.createScript.emit({\n url\n });\n if (res instanceof HTMLScriptElement) {\n return res;\n }\n return;\n },\n needDeleteScript: true\n });\n needAttach && document.head.appendChild(scriptEl);\n });\n }\n }\n}\n\nfunction _extends$4() {\n _extends$4 = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends$4.apply(this, arguments);\n}\nfunction assignRemoteInfo(remoteInfo, remoteSnapshot) {\n if (!('remoteEntry' in remoteSnapshot) || !remoteSnapshot.remoteEntry) {\n error(`The attribute remoteEntry of ${name} must not be undefined.`);\n }\n const { remoteEntry } = remoteSnapshot;\n let entryUrl = getResourceUrl(remoteSnapshot, remoteEntry);\n if (!isBrowserEnv() && !entryUrl.startsWith('http')) {\n entryUrl = `https:${entryUrl}`;\n }\n remoteInfo.type = remoteSnapshot.remoteEntryType;\n remoteInfo.entryGlobalName = remoteSnapshot.globalName;\n remoteInfo.entry = entryUrl;\n remoteInfo.version = remoteSnapshot.version;\n remoteInfo.buildVersion = remoteSnapshot.buildVersion;\n}\nfunction snapshotPlugin() {\n return {\n name: 'snapshot-plugin',\n async afterResolve (args) {\n const { remote, pkgNameOrAlias, expose, origin, remoteInfo } = args;\n if (!isRemoteInfoWithEntry(remote) || !isPureRemoteEntry(remote)) {\n const { remoteSnapshot, globalSnapshot } = await origin.snapshotHandler.loadRemoteSnapshotInfo(remote);\n assignRemoteInfo(remoteInfo, remoteSnapshot);\n // preloading assets\n const preloadOptions = {\n remote,\n preloadConfig: {\n nameOrAlias: pkgNameOrAlias,\n exposes: [\n expose\n ],\n resourceCategory: 'sync',\n share: false,\n depsRemote: false\n }\n };\n const assets = await origin.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({\n origin,\n preloadOptions,\n remoteInfo,\n remote,\n remoteSnapshot,\n globalSnapshot\n });\n if (assets) {\n preloadAssets(remoteInfo, origin, assets, false);\n }\n return _extends$4({}, args, {\n remoteSnapshot\n });\n }\n return args;\n }\n };\n}\n\n// name\n// name:version\nfunction splitId(id) {\n const splitInfo = id.split(':');\n if (splitInfo.length === 1) {\n return {\n name: splitInfo[0],\n version: undefined\n };\n } else if (splitInfo.length === 2) {\n return {\n name: splitInfo[0],\n version: splitInfo[1]\n };\n } else {\n return {\n name: splitInfo[1],\n version: splitInfo[2]\n };\n }\n}\n// Traverse all nodes in moduleInfo and traverse the entire snapshot\nfunction traverseModuleInfo(globalSnapshot, remoteInfo, traverse, isRoot, memo = {}, remoteSnapshot) {\n const id = getFMId(remoteInfo);\n const { value: snapshotValue } = getInfoWithoutType(globalSnapshot, id);\n const effectiveRemoteSnapshot = remoteSnapshot || snapshotValue;\n if (effectiveRemoteSnapshot && !isManifestProvider(effectiveRemoteSnapshot)) {\n traverse(effectiveRemoteSnapshot, remoteInfo, isRoot);\n if (effectiveRemoteSnapshot.remotesInfo) {\n const remoteKeys = Object.keys(effectiveRemoteSnapshot.remotesInfo);\n for (const key of remoteKeys){\n if (memo[key]) {\n continue;\n }\n memo[key] = true;\n const subRemoteInfo = splitId(key);\n const remoteValue = effectiveRemoteSnapshot.remotesInfo[key];\n traverseModuleInfo(globalSnapshot, {\n name: subRemoteInfo.name,\n version: remoteValue.matchedVersion\n }, traverse, false, memo, undefined);\n }\n }\n }\n}\n// eslint-disable-next-line max-lines-per-function\nfunction generatePreloadAssets(origin, preloadOptions, remote, globalSnapshot, remoteSnapshot) {\n const cssAssets = [];\n const jsAssets = [];\n const entryAssets = [];\n const loadedSharedJsAssets = new Set();\n const loadedSharedCssAssets = new Set();\n const { options } = origin;\n const { preloadConfig: rootPreloadConfig } = preloadOptions;\n const { depsRemote } = rootPreloadConfig;\n const memo = {};\n traverseModuleInfo(globalSnapshot, remote, (moduleInfoSnapshot, remoteInfo, isRoot)=>{\n let preloadConfig;\n if (isRoot) {\n preloadConfig = rootPreloadConfig;\n } else {\n if (Array.isArray(depsRemote)) {\n // eslint-disable-next-line array-callback-return\n const findPreloadConfig = depsRemote.find((remoteConfig)=>{\n if (remoteConfig.nameOrAlias === remoteInfo.name || remoteConfig.nameOrAlias === remoteInfo.alias) {\n return true;\n }\n return false;\n });\n if (!findPreloadConfig) {\n return;\n }\n preloadConfig = defaultPreloadArgs(findPreloadConfig);\n } else if (depsRemote === true) {\n preloadConfig = rootPreloadConfig;\n } else {\n return;\n }\n }\n const remoteEntryUrl = getResourceUrl(moduleInfoSnapshot, 'remoteEntry' in moduleInfoSnapshot ? moduleInfoSnapshot.remoteEntry : '');\n if (remoteEntryUrl) {\n entryAssets.push({\n name: remoteInfo.name,\n moduleInfo: {\n name: remoteInfo.name,\n entry: remoteEntryUrl,\n type: 'remoteEntryType' in moduleInfoSnapshot ? moduleInfoSnapshot.remoteEntryType : 'global',\n entryGlobalName: 'globalName' in moduleInfoSnapshot ? moduleInfoSnapshot.globalName : remoteInfo.name,\n shareScope: '',\n version: 'version' in moduleInfoSnapshot ? moduleInfoSnapshot.version : undefined\n },\n url: remoteEntryUrl\n });\n }\n let moduleAssetsInfo = 'modules' in moduleInfoSnapshot ? moduleInfoSnapshot.modules : [];\n const normalizedPreloadExposes = normalizePreloadExposes(preloadConfig.exposes);\n if (normalizedPreloadExposes.length && 'modules' in moduleInfoSnapshot) {\n var _moduleInfoSnapshot_modules;\n moduleAssetsInfo = moduleInfoSnapshot == null ? void 0 : (_moduleInfoSnapshot_modules = moduleInfoSnapshot.modules) == null ? void 0 : _moduleInfoSnapshot_modules.reduce((assets, moduleAssetInfo)=>{\n if ((normalizedPreloadExposes == null ? void 0 : normalizedPreloadExposes.indexOf(moduleAssetInfo.moduleName)) !== -1) {\n assets.push(moduleAssetInfo);\n }\n return assets;\n }, []);\n }\n function handleAssets(assets) {\n const assetsRes = assets.map((asset)=>getResourceUrl(moduleInfoSnapshot, asset));\n if (preloadConfig.filter) {\n return assetsRes.filter(preloadConfig.filter);\n }\n return assetsRes;\n }\n if (moduleAssetsInfo) {\n const assetsLength = moduleAssetsInfo.length;\n for(let index = 0; index < assetsLength; index++){\n const assetsInfo = moduleAssetsInfo[index];\n const exposeFullPath = `${remoteInfo.name}/${assetsInfo.moduleName}`;\n origin.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({\n id: assetsInfo.moduleName === '.' ? remoteInfo.name : exposeFullPath,\n name: remoteInfo.name,\n remoteSnapshot: moduleInfoSnapshot,\n preloadConfig,\n remote: remoteInfo,\n origin\n });\n const preloaded = getPreloaded(exposeFullPath);\n if (preloaded) {\n continue;\n }\n if (preloadConfig.resourceCategory === 'all') {\n cssAssets.push(...handleAssets(assetsInfo.assets.css.async));\n cssAssets.push(...handleAssets(assetsInfo.assets.css.sync));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.async));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.sync));\n // eslint-disable-next-line no-constant-condition\n } else if (preloadConfig.resourceCategory = 'sync') {\n cssAssets.push(...handleAssets(assetsInfo.assets.css.sync));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.sync));\n }\n setPreloaded(exposeFullPath);\n }\n }\n }, true, memo, remoteSnapshot);\n if (remoteSnapshot.shared) {\n const collectSharedAssets = (shareInfo, snapshotShared)=>{\n const registeredShared = getRegisteredShare(origin.shareScopeMap, snapshotShared.sharedName, shareInfo, origin.sharedHandler.hooks.lifecycle.resolveShare);\n // If the global share does not exist, or the lib function does not exist, it means that the shared has not been loaded yet and can be preloaded.\n if (registeredShared && typeof registeredShared.lib === 'function') {\n snapshotShared.assets.js.sync.forEach((asset)=>{\n loadedSharedJsAssets.add(asset);\n });\n snapshotShared.assets.css.sync.forEach((asset)=>{\n loadedSharedCssAssets.add(asset);\n });\n }\n };\n remoteSnapshot.shared.forEach((shared)=>{\n var _options_shared;\n const shareInfos = (_options_shared = options.shared) == null ? void 0 : _options_shared[shared.sharedName];\n if (!shareInfos) {\n return;\n }\n // if no version, preload all shared\n const sharedOptions = shared.version ? shareInfos.find((s)=>s.version === shared.version) : shareInfos;\n if (!sharedOptions) {\n return;\n }\n const arrayShareInfo = arrayOptions(sharedOptions);\n arrayShareInfo.forEach((s)=>{\n collectSharedAssets(s, shared);\n });\n });\n }\n const needPreloadJsAssets = jsAssets.filter((asset)=>!loadedSharedJsAssets.has(asset));\n const needPreloadCssAssets = cssAssets.filter((asset)=>!loadedSharedCssAssets.has(asset));\n return {\n cssAssets: needPreloadCssAssets,\n jsAssetsWithoutEntry: needPreloadJsAssets,\n entryAssets\n };\n}\nconst generatePreloadAssetsPlugin = function() {\n return {\n name: 'generate-preload-assets-plugin',\n async generatePreloadAssets (args) {\n const { origin, preloadOptions, remoteInfo, remote, globalSnapshot, remoteSnapshot } = args;\n if (isRemoteInfoWithEntry(remote) && isPureRemoteEntry(remote)) {\n return {\n cssAssets: [],\n jsAssetsWithoutEntry: [],\n entryAssets: [\n {\n name: remote.name,\n url: remote.entry,\n moduleInfo: {\n name: remoteInfo.name,\n entry: remote.entry,\n type: 'global',\n entryGlobalName: '',\n shareScope: ''\n }\n }\n ]\n };\n }\n assignRemoteInfo(remoteInfo, remoteSnapshot);\n const assets = generatePreloadAssets(origin, preloadOptions, remoteInfo, globalSnapshot, remoteSnapshot);\n return assets;\n }\n };\n};\n\nfunction _extends$3() {\n _extends$3 = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends$3.apply(this, arguments);\n}\nclass SnapshotHandler {\n async loadSnapshot(moduleInfo) {\n const { options } = this.HostInstance;\n const { hostGlobalSnapshot, remoteSnapshot, globalSnapshot } = this.getGlobalRemoteInfo(moduleInfo);\n const { remoteSnapshot: globalRemoteSnapshot, globalSnapshot: globalSnapshotRes } = await this.hooks.lifecycle.loadSnapshot.emit({\n options,\n moduleInfo,\n hostGlobalSnapshot,\n remoteSnapshot,\n globalSnapshot\n });\n return {\n remoteSnapshot: globalRemoteSnapshot,\n globalSnapshot: globalSnapshotRes\n };\n }\n // eslint-disable-next-line max-lines-per-function\n async loadRemoteSnapshotInfo(moduleInfo) {\n const { options } = this.HostInstance;\n await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({\n options,\n moduleInfo\n });\n let hostSnapshot = getGlobalSnapshotInfoByModuleInfo({\n name: this.HostInstance.options.name,\n version: this.HostInstance.options.version\n });\n if (!hostSnapshot) {\n hostSnapshot = {\n version: this.HostInstance.options.version || '',\n remoteEntry: '',\n remotesInfo: {}\n };\n addGlobalSnapshot({\n [this.HostInstance.options.name]: hostSnapshot\n });\n }\n // In dynamic loadRemote scenarios, incomplete remotesInfo delivery may occur. In such cases, the remotesInfo in the host needs to be completed in the snapshot at runtime.\n // This ensures the snapshot's integrity and helps the chrome plugin correctly identify all producer modules, ensuring that proxyable producer modules will not be missing.\n if (hostSnapshot && 'remotesInfo' in hostSnapshot && !getInfoWithoutType(hostSnapshot.remotesInfo, moduleInfo.name).value) {\n if ('version' in moduleInfo || 'entry' in moduleInfo) {\n hostSnapshot.remotesInfo = _extends$3({}, hostSnapshot == null ? void 0 : hostSnapshot.remotesInfo, {\n [moduleInfo.name]: {\n matchedVersion: 'version' in moduleInfo ? moduleInfo.version : moduleInfo.entry\n }\n });\n }\n }\n const { hostGlobalSnapshot, remoteSnapshot, globalSnapshot } = this.getGlobalRemoteInfo(moduleInfo);\n const { remoteSnapshot: globalRemoteSnapshot, globalSnapshot: globalSnapshotRes } = await this.hooks.lifecycle.loadSnapshot.emit({\n options,\n moduleInfo,\n hostGlobalSnapshot,\n remoteSnapshot,\n globalSnapshot\n });\n // global snapshot includes manifest or module info includes manifest\n if (globalRemoteSnapshot) {\n if (isManifestProvider(globalRemoteSnapshot)) {\n const moduleSnapshot = await this.getManifestJson(globalRemoteSnapshot.remoteEntry, moduleInfo, {});\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const globalSnapshotRes = setGlobalSnapshotInfoByModuleInfo(_extends$3({}, moduleInfo, {\n // The global remote may be overridden\n // Therefore, set the snapshot key to the global address of the actual request\n entry: globalRemoteSnapshot.remoteEntry\n }), moduleSnapshot);\n return {\n remoteSnapshot: moduleSnapshot,\n globalSnapshot: globalSnapshotRes\n };\n } else {\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n remoteSnapshot: globalRemoteSnapshot,\n from: 'global'\n });\n return {\n remoteSnapshot: remoteSnapshotRes,\n globalSnapshot: globalSnapshotRes\n };\n }\n } else {\n if (isRemoteInfoWithEntry(moduleInfo)) {\n // get from manifest.json and merge remote info from remote server\n const moduleSnapshot = await this.getManifestJson(moduleInfo.entry, moduleInfo, {});\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const globalSnapshotRes = setGlobalSnapshotInfoByModuleInfo(moduleInfo, moduleSnapshot);\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n remoteSnapshot: moduleSnapshot,\n from: 'global'\n });\n return {\n remoteSnapshot: remoteSnapshotRes,\n globalSnapshot: globalSnapshotRes\n };\n } else {\n error(`\n Cannot get remoteSnapshot with the name: '${moduleInfo.name}', version: '${moduleInfo.version}' from __FEDERATION__.moduleInfo. The following reasons may be causing the problem:\\n\n 1. The Deploy platform did not deliver the correct data. You can use __FEDERATION__.moduleInfo to check the remoteInfo.\\n\n 2. The remote '${moduleInfo.name}' version '${moduleInfo.version}' is not released.\\n\n The transformed module info: ${JSON.stringify(globalSnapshotRes)}\n `);\n }\n }\n }\n getGlobalRemoteInfo(moduleInfo) {\n const hostGlobalSnapshot = getGlobalSnapshotInfoByModuleInfo({\n name: this.HostInstance.options.name,\n version: this.HostInstance.options.version\n });\n // get remote detail info from global\n const globalRemoteInfo = hostGlobalSnapshot && 'remotesInfo' in hostGlobalSnapshot && hostGlobalSnapshot.remotesInfo && getInfoWithoutType(hostGlobalSnapshot.remotesInfo, moduleInfo.name).value;\n if (globalRemoteInfo && globalRemoteInfo.matchedVersion) {\n return {\n hostGlobalSnapshot,\n globalSnapshot: getGlobalSnapshot(),\n remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({\n name: moduleInfo.name,\n version: globalRemoteInfo.matchedVersion\n })\n };\n }\n return {\n hostGlobalSnapshot: undefined,\n globalSnapshot: getGlobalSnapshot(),\n remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({\n name: moduleInfo.name,\n version: 'version' in moduleInfo ? moduleInfo.version : undefined\n })\n };\n }\n async getManifestJson(manifestUrl, moduleInfo, extraOptions) {\n const getManifest = async ()=>{\n let manifestJson = this.manifestCache.get(manifestUrl);\n if (manifestJson) {\n return manifestJson;\n }\n try {\n let res = await this.loaderHook.lifecycle.fetch.emit(manifestUrl, {});\n if (!res || !(res instanceof Response)) {\n res = await fetch(manifestUrl, {});\n }\n manifestJson = await res.json();\n assert(manifestJson.metaData && manifestJson.exposes && manifestJson.shared, `${manifestUrl} is not a federation manifest`);\n this.manifestCache.set(manifestUrl, manifestJson);\n return manifestJson;\n } catch (err) {\n delete this.manifestLoading[manifestUrl];\n error(`Failed to get manifestJson for ${moduleInfo.name}. The manifest URL is ${manifestUrl}. Please ensure that the manifestUrl is accessible.\n \\n Error message:\n \\n ${err}`);\n }\n };\n const asyncLoadProcess = async ()=>{\n const manifestJson = await getManifest();\n const remoteSnapshot = generateSnapshotFromManifest(manifestJson, {\n version: manifestUrl\n });\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n manifestJson,\n remoteSnapshot,\n manifestUrl,\n from: 'manifest'\n });\n return remoteSnapshotRes;\n };\n if (!this.manifestLoading[manifestUrl]) {\n this.manifestLoading[manifestUrl] = asyncLoadProcess().then((res)=>res);\n }\n return this.manifestLoading[manifestUrl];\n }\n constructor(HostInstance){\n this.loadingHostSnapshot = null;\n this.manifestCache = new Map();\n this.hooks = new PluginSystem({\n beforeLoadRemoteSnapshot: new AsyncHook('beforeLoadRemoteSnapshot'),\n loadSnapshot: new AsyncWaterfallHook('loadGlobalSnapshot'),\n loadRemoteSnapshot: new AsyncWaterfallHook('loadRemoteSnapshot')\n });\n this.manifestLoading = Global.__FEDERATION__.__MANIFEST_LOADING__;\n this.HostInstance = HostInstance;\n this.loaderHook = HostInstance.loaderHook;\n }\n}\n\nfunction _extends$2() {\n _extends$2 = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends$2.apply(this, arguments);\n}\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nclass SharedHandler {\n // register shared in shareScopeMap\n registerShared(globalOptions, userOptions) {\n const { shareInfos, shared } = formatShareConfigs(globalOptions, userOptions);\n const sharedKeys = Object.keys(shareInfos);\n sharedKeys.forEach((sharedKey)=>{\n const sharedVals = shareInfos[sharedKey];\n sharedVals.forEach((sharedVal)=>{\n const registeredShared = getRegisteredShare(this.shareScopeMap, sharedKey, sharedVal, this.hooks.lifecycle.resolveShare);\n if (!registeredShared && sharedVal && sharedVal.lib) {\n this.setShared({\n pkgName: sharedKey,\n lib: sharedVal.lib,\n get: sharedVal.get,\n loaded: true,\n shared: sharedVal,\n from: userOptions.name\n });\n }\n });\n });\n return {\n shareInfos,\n shared\n };\n }\n async loadShare(pkgName, extraOptions) {\n const { host } = this;\n // This function performs the following steps:\n // 1. Checks if the currently loaded share already exists, if not, it throws an error\n // 2. Searches globally for a matching share, if found, it uses it directly\n // 3. If not found, it retrieves it from the current share and stores the obtained share globally.\n const shareInfo = getTargetSharedOptions({\n pkgName,\n extraOptions,\n shareInfos: host.options.shared\n });\n if (shareInfo == null ? void 0 : shareInfo.scope) {\n await Promise.all(shareInfo.scope.map(async (shareScope)=>{\n await Promise.all(this.initializeSharing(shareScope, shareInfo.strategy));\n return;\n }));\n }\n const loadShareRes = await this.hooks.lifecycle.beforeLoadShare.emit({\n pkgName,\n shareInfo,\n shared: host.options.shared,\n origin: host\n });\n const { shareInfo: shareInfoRes } = loadShareRes;\n // Assert that shareInfoRes exists, if not, throw an error\n assert(shareInfoRes, `Cannot find ${pkgName} Share in the ${host.options.name}. Please ensure that the ${pkgName} Share parameters have been injected`);\n // Retrieve from cache\n const registeredShared = getRegisteredShare(this.shareScopeMap, pkgName, shareInfoRes, this.hooks.lifecycle.resolveShare);\n const addUseIn = (shared)=>{\n if (!shared.useIn) {\n shared.useIn = [];\n }\n addUniqueItem(shared.useIn, host.options.name);\n };\n if (registeredShared && registeredShared.lib) {\n addUseIn(registeredShared);\n return registeredShared.lib;\n } else if (registeredShared && registeredShared.loading && !registeredShared.loaded) {\n const factory = await registeredShared.loading;\n registeredShared.loaded = true;\n if (!registeredShared.lib) {\n registeredShared.lib = factory;\n }\n addUseIn(registeredShared);\n return factory;\n } else if (registeredShared) {\n const asyncLoadProcess = async ()=>{\n const factory = await registeredShared.get();\n shareInfoRes.lib = factory;\n shareInfoRes.loaded = true;\n addUseIn(shareInfoRes);\n const gShared = getRegisteredShare(this.shareScopeMap, pkgName, shareInfoRes, this.hooks.lifecycle.resolveShare);\n if (gShared) {\n gShared.lib = factory;\n gShared.loaded = true;\n }\n return factory;\n };\n const loading = asyncLoadProcess();\n this.setShared({\n pkgName,\n loaded: false,\n shared: registeredShared,\n from: host.options.name,\n lib: null,\n loading\n });\n return loading;\n } else {\n if (extraOptions == null ? void 0 : extraOptions.customShareInfo) {\n return false;\n }\n const asyncLoadProcess = async ()=>{\n const factory = await shareInfoRes.get();\n shareInfoRes.lib = factory;\n shareInfoRes.loaded = true;\n addUseIn(shareInfoRes);\n const gShared = getRegisteredShare(this.shareScopeMap, pkgName, shareInfoRes, this.hooks.lifecycle.resolveShare);\n if (gShared) {\n gShared.lib = factory;\n gShared.loaded = true;\n }\n return factory;\n };\n const loading = asyncLoadProcess();\n this.setShared({\n pkgName,\n loaded: false,\n shared: shareInfoRes,\n from: host.options.name,\n lib: null,\n loading\n });\n return loading;\n }\n }\n /**\n * This function initializes the sharing sequence (executed only once per share scope).\n * It accepts one argument, the name of the share scope.\n * If the share scope does not exist, it creates one.\n */ // eslint-disable-next-line @typescript-eslint/member-ordering\n initializeSharing(shareScopeName = DEFAULT_SCOPE, strategy) {\n const { host } = this;\n const shareScope = this.shareScopeMap;\n const hostName = host.options.name;\n // Creates a new share scope if necessary\n if (!shareScope[shareScopeName]) {\n shareScope[shareScopeName] = {};\n }\n // Executes all initialization snippets from all accessible modules\n const scope = shareScope[shareScopeName];\n const register = (name, shared)=>{\n var _activeVersion_shareConfig;\n const { version, eager } = shared;\n scope[name] = scope[name] || {};\n const versions = scope[name];\n const activeVersion = versions[version];\n const activeVersionEager = Boolean(activeVersion && (activeVersion.eager || ((_activeVersion_shareConfig = activeVersion.shareConfig) == null ? void 0 : _activeVersion_shareConfig.eager)));\n if (!activeVersion || activeVersion.strategy !== 'loaded-first' && !activeVersion.loaded && (Boolean(!eager) !== !activeVersionEager ? eager : hostName > activeVersion.from)) {\n versions[version] = shared;\n }\n };\n const promises = [];\n const initFn = (mod)=>mod && mod.init && mod.init(shareScope[shareScopeName]);\n const initRemoteModule = async (key)=>{\n const { module } = await host.remoteHandler.getRemoteModuleAndOptions({\n id: key\n });\n if (module.getEntry) {\n const entry = await module.getEntry();\n if (!module.inited) {\n initFn(entry);\n module.inited = true;\n }\n }\n };\n Object.keys(host.options.shared).forEach((shareName)=>{\n const sharedArr = host.options.shared[shareName];\n sharedArr.forEach((shared)=>{\n if (shared.scope.includes(shareScopeName)) {\n register(shareName, shared);\n }\n });\n });\n if (strategy === 'version-first') {\n host.options.remotes.forEach((remote)=>{\n if (remote.shareScope === shareScopeName) {\n promises.push(initRemoteModule(remote.name));\n }\n });\n }\n return promises;\n }\n // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.\n // 1. If the loaded shared already exists globally, then it will be reused\n // 2. If lib exists in local shared, it will be used directly\n // 3. If the local get returns something other than Promise, then it will be used directly\n loadShareSync(pkgName, extraOptions) {\n const { host } = this;\n const shareInfo = getTargetSharedOptions({\n pkgName,\n extraOptions,\n shareInfos: host.options.shared\n });\n if (shareInfo == null ? void 0 : shareInfo.scope) {\n shareInfo.scope.forEach((shareScope)=>{\n this.initializeSharing(shareScope, shareInfo.strategy);\n });\n }\n const registeredShared = getRegisteredShare(this.shareScopeMap, pkgName, shareInfo, this.hooks.lifecycle.resolveShare);\n const addUseIn = (shared)=>{\n if (!shared.useIn) {\n shared.useIn = [];\n }\n addUniqueItem(shared.useIn, host.options.name);\n };\n if (registeredShared) {\n if (typeof registeredShared.lib === 'function') {\n addUseIn(registeredShared);\n if (!registeredShared.loaded) {\n registeredShared.loaded = true;\n if (registeredShared.from === host.options.name) {\n shareInfo.loaded = true;\n }\n }\n return registeredShared.lib;\n }\n if (typeof registeredShared.get === 'function') {\n const module = registeredShared.get();\n if (!(module instanceof Promise)) {\n addUseIn(registeredShared);\n this.setShared({\n pkgName,\n loaded: true,\n from: host.options.name,\n lib: module,\n shared: registeredShared\n });\n return module;\n }\n }\n }\n if (shareInfo.lib) {\n if (!shareInfo.loaded) {\n shareInfo.loaded = true;\n }\n return shareInfo.lib;\n }\n if (shareInfo.get) {\n const module = shareInfo.get();\n if (module instanceof Promise) {\n throw new Error(`\n The loadShareSync function was unable to load ${pkgName}. The ${pkgName} could not be found in ${host.options.name}.\n Possible reasons for failure: \\n\n 1. The ${pkgName} share was registered with the 'get' attribute, but loadShare was not used beforehand.\\n\n 2. The ${pkgName} share was not registered with the 'lib' attribute.\\n\n `);\n }\n shareInfo.lib = module;\n this.setShared({\n pkgName,\n loaded: true,\n from: host.options.name,\n lib: shareInfo.lib,\n shared: shareInfo\n });\n return shareInfo.lib;\n }\n throw new Error(`\n The loadShareSync function was unable to load ${pkgName}. The ${pkgName} could not be found in ${host.options.name}.\n Possible reasons for failure: \\n\n 1. The ${pkgName} share was registered with the 'get' attribute, but loadShare was not used beforehand.\\n\n 2. The ${pkgName} share was not registered with the 'lib' attribute.\\n\n `);\n }\n initShareScopeMap(scopeName, shareScope, extraOptions = {}) {\n const { host } = this;\n this.shareScopeMap[scopeName] = shareScope;\n this.hooks.lifecycle.initContainerShareScopeMap.emit({\n shareScope,\n options: host.options,\n origin: host,\n scopeName,\n hostShareScopeMap: extraOptions.hostShareScopeMap\n });\n }\n setShared({ pkgName, shared, from, lib, loading, loaded, get }) {\n const { version, scope = 'default' } = shared, shareInfo = _object_without_properties_loose(shared, [\n \"version\",\n \"scope\"\n ]);\n const scopes = Array.isArray(scope) ? scope : [\n scope\n ];\n scopes.forEach((sc)=>{\n if (!this.shareScopeMap[sc]) {\n this.shareScopeMap[sc] = {};\n }\n if (!this.shareScopeMap[sc][pkgName]) {\n this.shareScopeMap[sc][pkgName] = {};\n }\n if (this.shareScopeMap[sc][pkgName][version]) {\n return;\n }\n this.shareScopeMap[sc][pkgName][version] = _extends$2({\n version,\n scope: [\n 'default'\n ]\n }, shareInfo, {\n lib,\n loaded,\n loading\n });\n if (get) {\n this.shareScopeMap[sc][pkgName][version].get = get;\n }\n });\n }\n _setGlobalShareScopeMap(hostOptions) {\n const globalShareScopeMap = getGlobalShareScope();\n const identifier = hostOptions.id || hostOptions.name;\n if (identifier && !globalShareScopeMap[identifier]) {\n globalShareScopeMap[identifier] = this.shareScopeMap;\n }\n }\n constructor(host){\n this.hooks = new PluginSystem({\n afterResolve: new AsyncWaterfallHook('afterResolve'),\n beforeLoadShare: new AsyncWaterfallHook('beforeLoadShare'),\n // not used yet\n loadShare: new AsyncHook(),\n resolveShare: new SyncWaterfallHook('resolveShare'),\n // maybe will change, temporarily for internal use only\n initContainerShareScopeMap: new SyncWaterfallHook('initContainerShareScopeMap')\n });\n this.host = host;\n this.shareScopeMap = {};\n this._setGlobalShareScopeMap(host.options);\n }\n}\n\nfunction _extends$1() {\n _extends$1 = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends$1.apply(this, arguments);\n}\nclass RemoteHandler {\n formatAndRegisterRemote(globalOptions, userOptions) {\n const userRemotes = userOptions.remotes || [];\n return userRemotes.reduce((res, remote)=>{\n this.registerRemote(remote, res, {\n force: false\n });\n return res;\n }, globalOptions.remotes);\n }\n // eslint-disable-next-line max-lines-per-function\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async loadRemote(id, options) {\n const { host } = this;\n try {\n const { loadFactory = true } = options || {\n loadFactory: true\n };\n // 1. Validate the parameters of the retrieved module. There are two module request methods: pkgName + expose and alias + expose.\n // 2. Request the snapshot information of the current host and globally store the obtained snapshot information. The retrieved module information is partially offline and partially online. The online module information will retrieve the modules used online.\n // 3. Retrieve the detailed information of the current module from global (remoteEntry address, expose resource address)\n // 4. After retrieving remoteEntry, call the init of the module, and then retrieve the exported content of the module through get\n // id: pkgName(@federation/app1) + expose(button) = @federation/app1/button\n // id: alias(app1) + expose(button) = app1/button\n // id: alias(app1/utils) + expose(loadash/sort) = app1/utils/loadash/sort\n const { module, moduleOptions, remoteMatchInfo } = await this.getRemoteModuleAndOptions({\n id\n });\n const { pkgNameOrAlias, remote, expose, id: idRes } = remoteMatchInfo;\n const moduleOrFactory = await module.get(idRes, expose, options);\n const moduleWrapper = await this.hooks.lifecycle.onLoad.emit({\n id: idRes,\n pkgNameOrAlias,\n expose,\n exposeModule: loadFactory ? moduleOrFactory : undefined,\n exposeModuleFactory: loadFactory ? undefined : moduleOrFactory,\n remote,\n options: moduleOptions,\n moduleInstance: module,\n origin: host\n });\n if (typeof moduleWrapper === 'function') {\n return moduleWrapper;\n }\n return moduleOrFactory;\n } catch (error) {\n const { from = 'runtime' } = options || {\n from: 'runtime'\n };\n const failOver = await this.hooks.lifecycle.errorLoadRemote.emit({\n id,\n error,\n from,\n lifecycle: 'onLoad',\n origin: host\n });\n if (!failOver) {\n throw error;\n }\n return failOver;\n }\n }\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async preloadRemote(preloadOptions) {\n const { host } = this;\n await this.hooks.lifecycle.beforePreloadRemote.emit({\n preloadOps: preloadOptions,\n options: host.options,\n origin: host\n });\n const preloadOps = formatPreloadArgs(host.options.remotes, preloadOptions);\n await Promise.all(preloadOps.map(async (ops)=>{\n const { remote } = ops;\n const remoteInfo = getRemoteInfo(remote);\n const { globalSnapshot, remoteSnapshot } = await host.snapshotHandler.loadRemoteSnapshotInfo(remote);\n const assets = await this.hooks.lifecycle.generatePreloadAssets.emit({\n origin: host,\n preloadOptions: ops,\n remote,\n remoteInfo,\n globalSnapshot,\n remoteSnapshot\n });\n if (!assets) {\n return;\n }\n preloadAssets(remoteInfo, host, assets);\n }));\n }\n registerRemotes(remotes, options) {\n const { host } = this;\n remotes.forEach((remote)=>{\n this.registerRemote(remote, host.options.remotes, {\n force: options == null ? void 0 : options.force\n });\n });\n }\n async getRemoteModuleAndOptions(options) {\n const { host } = this;\n const { id } = options;\n let loadRemoteArgs;\n try {\n loadRemoteArgs = await this.hooks.lifecycle.beforeRequest.emit({\n id,\n options: host.options,\n origin: host\n });\n } catch (error) {\n loadRemoteArgs = await this.hooks.lifecycle.errorLoadRemote.emit({\n id,\n options: host.options,\n origin: host,\n from: 'runtime',\n error,\n lifecycle: 'beforeRequest'\n });\n if (!loadRemoteArgs) {\n throw error;\n }\n }\n const { id: idRes } = loadRemoteArgs;\n const remoteSplitInfo = matchRemoteWithNameAndExpose(host.options.remotes, idRes);\n assert(remoteSplitInfo, `\n Unable to locate ${idRes} in ${host.options.name}. Potential reasons for failure include:\\n\n 1. ${idRes} was not included in the 'remotes' parameter of ${host.options.name || 'the host'}.\\n\n 2. ${idRes} could not be found in the 'remotes' of ${host.options.name} with either 'name' or 'alias' attributes.\n 3. ${idRes} is not online, injected, or loaded.\n 4. ${idRes} cannot be accessed on the expected.\n 5. The 'beforeRequest' hook was provided but did not return the correct 'remoteInfo' when attempting to load ${idRes}.\n `);\n const { remote: rawRemote } = remoteSplitInfo;\n const remoteInfo = getRemoteInfo(rawRemote);\n const matchInfo = await host.sharedHandler.hooks.lifecycle.afterResolve.emit(_extends$1({\n id: idRes\n }, remoteSplitInfo, {\n options: host.options,\n origin: host,\n remoteInfo\n }));\n const { remote, expose } = matchInfo;\n assert(remote && expose, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${idRes}.`);\n let module = host.moduleCache.get(remote.name);\n const moduleOptions = {\n host: host,\n remoteInfo\n };\n if (!module) {\n module = new Module(moduleOptions);\n host.moduleCache.set(remote.name, module);\n }\n return {\n module,\n moduleOptions,\n remoteMatchInfo: matchInfo\n };\n }\n registerRemote(remote, targetRemotes, options) {\n const { host } = this;\n const normalizeRemote = ()=>{\n if (remote.alias) {\n // Validate if alias equals the prefix of remote.name and remote.alias, if so, throw an error\n // As multi-level path references cannot guarantee unique names, alias being a prefix of remote.name is not supported\n const findEqual = targetRemotes.find((item)=>{\n var _item_alias;\n return remote.alias && (item.name.startsWith(remote.alias) || ((_item_alias = item.alias) == null ? void 0 : _item_alias.startsWith(remote.alias)));\n });\n assert(!findEqual, `The alias ${remote.alias} of remote ${remote.name} is not allowed to be the prefix of ${findEqual && findEqual.name} name or alias`);\n }\n // Set the remote entry to a complete path\n if ('entry' in remote) {\n if (isBrowserEnv$1() && !remote.entry.startsWith('http')) {\n remote.entry = new URL(remote.entry, window.location.origin).href;\n }\n }\n if (!remote.shareScope) {\n remote.shareScope = DEFAULT_SCOPE;\n }\n if (!remote.type) {\n remote.type = DEFAULT_REMOTE_TYPE;\n }\n };\n const registeredRemote = targetRemotes.find((item)=>item.name === remote.name);\n if (!registeredRemote) {\n normalizeRemote();\n targetRemotes.push(remote);\n this.hooks.lifecycle.registerRemote.emit({\n remote,\n origin: host\n });\n } else {\n const messages = [\n `The remote \"${remote.name}\" is already registered.`,\n (options == null ? void 0 : options.force) ? 'Hope you have known that OVERRIDE it may have some unexpected errors' : 'If you want to merge the remote, you can set \"force: true\".'\n ];\n if (options == null ? void 0 : options.force) {\n // remove registered remote\n this.removeRemote(registeredRemote);\n normalizeRemote();\n targetRemotes.push(remote);\n this.hooks.lifecycle.registerRemote.emit({\n remote,\n origin: host\n });\n }\n warn$1(messages.join(' '));\n }\n }\n removeRemote(remote) {\n const { host } = this;\n const { name } = remote;\n const remoteIndex = host.options.remotes.findIndex((item)=>item.name === name);\n if (remoteIndex !== -1) {\n host.options.remotes.splice(remoteIndex, 1);\n }\n const loadedModule = host.moduleCache.get(remote.name);\n if (loadedModule) {\n var _Object_getOwnPropertyDescriptor;\n const remoteInfo = loadedModule.remoteInfo;\n const key = remoteInfo.entryGlobalName;\n if (globalThis[key] && ((_Object_getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor(globalThis, key)) == null ? void 0 : _Object_getOwnPropertyDescriptor.configurable)) {\n delete globalThis[key];\n }\n const remoteEntryUniqueKey = getRemoteEntryUniqueKey(loadedModule.remoteInfo);\n if (globalLoading[remoteEntryUniqueKey]) {\n delete globalLoading[remoteEntryUniqueKey];\n }\n // delete un loaded shared and instance\n let remoteInsId = remoteInfo.buildVersion ? composeKeyWithSeparator(remoteInfo.name, remoteInfo.buildVersion) : remoteInfo.name;\n const remoteInsIndex = globalThis.__FEDERATION__.__INSTANCES__.findIndex((ins)=>{\n if (remoteInfo.buildVersion) {\n return ins.options.id === remoteInsId;\n } else {\n return ins.name === remoteInsId;\n }\n });\n if (remoteInsIndex !== -1) {\n const remoteIns = globalThis.__FEDERATION__.__INSTANCES__[remoteInsIndex];\n remoteInsId = remoteIns.options.id || remoteInsId;\n const globalShareScopeMap = getGlobalShareScope();\n let isAllSharedNotUsed = true;\n const needDeleteKeys = [];\n Object.keys(globalShareScopeMap).forEach((instId)=>{\n Object.keys(globalShareScopeMap[instId]).forEach((shareScope)=>{\n Object.keys(globalShareScopeMap[instId][shareScope]).forEach((shareName)=>{\n Object.keys(globalShareScopeMap[instId][shareScope][shareName]).forEach((shareVersion)=>{\n const shared = globalShareScopeMap[instId][shareScope][shareName][shareVersion];\n if (shared.from === remoteInfo.name) {\n if (shared.loaded || shared.loading) {\n shared.useIn = shared.useIn.filter((usedHostName)=>usedHostName !== remoteInfo.name);\n if (shared.useIn.length) {\n isAllSharedNotUsed = false;\n } else {\n needDeleteKeys.push([\n instId,\n shareScope,\n shareName,\n shareVersion\n ]);\n }\n } else {\n needDeleteKeys.push([\n instId,\n shareScope,\n shareName,\n shareVersion\n ]);\n }\n }\n });\n });\n });\n });\n if (isAllSharedNotUsed) {\n remoteIns.shareScopeMap = {};\n delete globalShareScopeMap[remoteInsId];\n }\n needDeleteKeys.forEach(([insId, shareScope, shareName, shareVersion])=>{\n var _globalShareScopeMap_insId_shareScope_shareName, _globalShareScopeMap_insId_shareScope, _globalShareScopeMap_insId;\n (_globalShareScopeMap_insId = globalShareScopeMap[insId]) == null ? true : (_globalShareScopeMap_insId_shareScope = _globalShareScopeMap_insId[shareScope]) == null ? true : (_globalShareScopeMap_insId_shareScope_shareName = _globalShareScopeMap_insId_shareScope[shareName]) == null ? true : delete _globalShareScopeMap_insId_shareScope_shareName[shareVersion];\n });\n globalThis.__FEDERATION__.__INSTANCES__.splice(remoteInsIndex, 1);\n }\n host.moduleCache.delete(remote.name);\n }\n }\n constructor(host){\n this.hooks = new PluginSystem({\n registerRemote: new SyncWaterfallHook('registerRemote'),\n beforeRequest: new AsyncWaterfallHook('beforeRequest'),\n onLoad: new AsyncHook('onLoad'),\n handlePreloadModule: new SyncHook('handlePreloadModule'),\n errorLoadRemote: new AsyncHook('errorLoadRemote'),\n beforePreloadRemote: new AsyncHook('beforePreloadRemote'),\n generatePreloadAssets: new AsyncHook('generatePreloadAssets'),\n // not used yet\n afterPreloadRemote: new AsyncHook()\n });\n this.host = host;\n }\n}\n\nfunction _extends() {\n _extends = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nclass FederationHost {\n initOptions(userOptions) {\n this.registerPlugins(userOptions.plugins);\n const options = this.formatOptions(this.options, userOptions);\n this.options = options;\n return options;\n }\n async loadShare(pkgName, extraOptions) {\n return this.sharedHandler.loadShare(pkgName, extraOptions);\n }\n // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.\n // 1. If the loaded shared already exists globally, then it will be reused\n // 2. If lib exists in local shared, it will be used directly\n // 3. If the local get returns something other than Promise, then it will be used directly\n loadShareSync(pkgName, extraOptions) {\n return this.sharedHandler.loadShareSync(pkgName, extraOptions);\n }\n initializeSharing(shareScopeName = DEFAULT_SCOPE, strategy) {\n return this.sharedHandler.initializeSharing(shareScopeName, strategy);\n }\n initRawContainer(name, url, container) {\n const remoteInfo = getRemoteInfo({\n name,\n entry: url\n });\n const module = new Module({\n host: this,\n remoteInfo\n });\n module.remoteEntryExports = container;\n this.moduleCache.set(name, module);\n return module;\n }\n // eslint-disable-next-line max-lines-per-function\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async loadRemote(id, options) {\n return this.remoteHandler.loadRemote(id, options);\n }\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async preloadRemote(preloadOptions) {\n return this.remoteHandler.preloadRemote(preloadOptions);\n }\n initShareScopeMap(scopeName, shareScope, extraOptions = {}) {\n this.sharedHandler.initShareScopeMap(scopeName, shareScope, extraOptions);\n }\n formatOptions(globalOptions, userOptions) {\n const { shared } = formatShareConfigs(globalOptions, userOptions);\n const { userOptions: userOptionsRes, options: globalOptionsRes } = this.hooks.lifecycle.beforeInit.emit({\n origin: this,\n userOptions,\n options: globalOptions,\n shareInfo: shared\n });\n const remotes = this.remoteHandler.formatAndRegisterRemote(globalOptionsRes, userOptionsRes);\n const { shared: handledShared } = this.sharedHandler.registerShared(globalOptionsRes, userOptionsRes);\n const plugins = [\n ...globalOptionsRes.plugins\n ];\n if (userOptionsRes.plugins) {\n userOptionsRes.plugins.forEach((plugin)=>{\n if (!plugins.includes(plugin)) {\n plugins.push(plugin);\n }\n });\n }\n const optionsRes = _extends({}, globalOptions, userOptions, {\n plugins,\n remotes,\n shared: handledShared\n });\n this.hooks.lifecycle.init.emit({\n origin: this,\n options: optionsRes\n });\n return optionsRes;\n }\n registerPlugins(plugins) {\n const pluginRes = registerPlugins$1(plugins, [\n this.hooks,\n this.remoteHandler.hooks,\n this.sharedHandler.hooks,\n this.snapshotHandler.hooks,\n this.loaderHook\n ]);\n // Merge plugin\n this.options.plugins = this.options.plugins.reduce((res, plugin)=>{\n if (!plugin) return res;\n if (res && !res.find((item)=>item.name === plugin.name)) {\n res.push(plugin);\n }\n return res;\n }, pluginRes || []);\n }\n registerRemotes(remotes, options) {\n return this.remoteHandler.registerRemotes(remotes, options);\n }\n constructor(userOptions){\n this.hooks = new PluginSystem({\n beforeInit: new SyncWaterfallHook('beforeInit'),\n init: new SyncHook(),\n // maybe will change, temporarily for internal use only\n beforeInitContainer: new AsyncWaterfallHook('beforeInitContainer'),\n // maybe will change, temporarily for internal use only\n initContainer: new AsyncWaterfallHook('initContainer')\n });\n this.version = \"0.2.5\";\n this.moduleCache = new Map();\n this.loaderHook = new PluginSystem({\n // FIXME: may not be suitable , not open to the public yet\n getModuleInfo: new SyncHook(),\n createScript: new SyncHook(),\n createLink: new SyncHook(),\n // only work for manifest , so not open to the public yet\n fetch: new AsyncHook()\n });\n // TODO: Validate the details of the options\n // Initialize options with default values\n const defaultOptions = {\n id: getBuilderId(),\n name: userOptions.name,\n plugins: [\n snapshotPlugin(),\n generatePreloadAssetsPlugin()\n ],\n remotes: [],\n shared: {},\n inBrowser: isBrowserEnv()\n };\n this.name = userOptions.name;\n this.options = defaultOptions;\n this.snapshotHandler = new SnapshotHandler(this);\n this.sharedHandler = new SharedHandler(this);\n this.remoteHandler = new RemoteHandler(this);\n this.shareScopeMap = this.sharedHandler.shareScopeMap;\n this.registerPlugins([\n ...defaultOptions.plugins,\n ...userOptions.plugins || []\n ]);\n this.options = this.formatOptions(defaultOptions, userOptions);\n }\n}\n\nlet FederationInstance = null;\nfunction init(options) {\n // Retrieve the same instance with the same name\n const instance = getGlobalFederationInstance(options.name, options.version);\n if (!instance) {\n // Retrieve debug constructor\n const FederationConstructor = getGlobalFederationConstructor() || FederationHost;\n FederationInstance = new FederationConstructor(options);\n setGlobalFederationInstance(FederationInstance);\n return FederationInstance;\n } else {\n // Merge options\n instance.initOptions(options);\n if (!FederationInstance) {\n FederationInstance = instance;\n }\n return instance;\n }\n}\nfunction loadRemote(...args) {\n assert(FederationInstance, 'Please call init first');\n const loadRemote1 = FederationInstance.loadRemote;\n // eslint-disable-next-line prefer-spread\n return loadRemote1.apply(FederationInstance, args);\n}\nfunction loadShare(...args) {\n assert(FederationInstance, 'Please call init first');\n // eslint-disable-next-line prefer-spread\n const loadShare1 = FederationInstance.loadShare;\n return loadShare1.apply(FederationInstance, args);\n}\nfunction loadShareSync(...args) {\n assert(FederationInstance, 'Please call init first');\n const loadShareSync1 = FederationInstance.loadShareSync;\n // eslint-disable-next-line prefer-spread\n return loadShareSync1.apply(FederationInstance, args);\n}\nfunction preloadRemote(...args) {\n assert(FederationInstance, 'Please call init first');\n // eslint-disable-next-line prefer-spread\n return FederationInstance.preloadRemote.apply(FederationInstance, args);\n}\nfunction registerRemotes(...args) {\n assert(FederationInstance, 'Please call init first');\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerRemotes.apply(FederationInstance, args);\n}\nfunction registerPlugins(...args) {\n assert(FederationInstance, 'Please call init first');\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerPlugins.apply(FederationInstance, args);\n}\n// Inject for debug\nsetGlobalFederationConstructor(FederationHost);\n\nexport { FederationHost, getRemoteEntry, getRemoteInfo, init, loadRemote, loadShare, loadShareSync, preloadRemote, registerPlugins, registerRemotes };\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar polyfills = require('./polyfills.cjs.js');\nvar sdk = require('@module-federation/sdk');\nvar share = require('./share.cjs.js');\n\n// Function to match a remote with its name and expose\n// id: pkgName(@federation/app1) + expose(button) = @federation/app1/button\n// id: alias(app1) + expose(button) = app1/button\n// id: alias(app1/utils) + expose(loadash/sort) = app1/utils/loadash/sort\nfunction matchRemoteWithNameAndExpose(remotes, id) {\n for (const remote of remotes){\n // match pkgName\n const isNameMatched = id.startsWith(remote.name);\n let expose = id.replace(remote.name, '');\n if (isNameMatched) {\n if (expose.startsWith('/')) {\n const pkgNameOrAlias = remote.name;\n expose = `.${expose}`;\n return {\n pkgNameOrAlias,\n expose,\n remote\n };\n } else if (expose === '') {\n return {\n pkgNameOrAlias: remote.name,\n expose: '.',\n remote\n };\n }\n }\n // match alias\n const isAliasMatched = remote.alias && id.startsWith(remote.alias);\n let exposeWithAlias = remote.alias && id.replace(remote.alias, '');\n if (remote.alias && isAliasMatched) {\n if (exposeWithAlias && exposeWithAlias.startsWith('/')) {\n const pkgNameOrAlias = remote.alias;\n exposeWithAlias = `.${exposeWithAlias}`;\n return {\n pkgNameOrAlias,\n expose: exposeWithAlias,\n remote\n };\n } else if (exposeWithAlias === '') {\n return {\n pkgNameOrAlias: remote.alias,\n expose: '.',\n remote\n };\n }\n }\n }\n return;\n}\n// Function to match a remote with its name or alias\nfunction matchRemote(remotes, nameOrAlias) {\n for (const remote of remotes){\n const isNameMatched = nameOrAlias === remote.name;\n if (isNameMatched) {\n return remote;\n }\n const isAliasMatched = remote.alias && nameOrAlias === remote.alias;\n if (isAliasMatched) {\n return remote;\n }\n }\n return;\n}\n\nfunction registerPlugins$1(plugins, hookInstances) {\n const globalPlugins = share.getGlobalHostPlugins();\n // Incorporate global plugins\n if (globalPlugins.length > 0) {\n globalPlugins.forEach((plugin)=>{\n if (plugins == null ? void 0 : plugins.find((item)=>item.name !== plugin.name)) {\n plugins.push(plugin);\n }\n });\n }\n if (plugins && plugins.length > 0) {\n plugins.forEach((plugin)=>{\n hookInstances.forEach((hookInstance)=>{\n hookInstance.applyPlugin(plugin);\n });\n });\n }\n return plugins;\n}\n\nasync function loadEsmEntry({ entry, remoteEntryExports }) {\n return new Promise((resolve, reject)=>{\n try {\n if (!remoteEntryExports) {\n // eslint-disable-next-line no-eval\n new Function('callbacks', `import(\"${entry}\").then(callbacks[0]).catch(callbacks[1])`)([\n resolve,\n reject\n ]);\n } else {\n resolve(remoteEntryExports);\n }\n } catch (e) {\n reject(e);\n }\n });\n}\nasync function loadSystemJsEntry({ entry, remoteEntryExports }) {\n return new Promise((resolve, reject)=>{\n try {\n if (!remoteEntryExports) {\n // eslint-disable-next-line no-eval\n new Function('callbacks', `System.import(\"${entry}\").then(callbacks[0]).catch(callbacks[1])`)([\n resolve,\n reject\n ]);\n } else {\n resolve(remoteEntryExports);\n }\n } catch (e) {\n reject(e);\n }\n });\n}\nasync function loadEntryScript({ name, globalName, entry, createScriptHook }) {\n const { entryExports: remoteEntryExports } = share.getRemoteEntryExports(name, globalName);\n if (remoteEntryExports) {\n return remoteEntryExports;\n }\n return sdk.loadScript(entry, {\n attrs: {},\n createScriptHook: (url, attrs)=>{\n const res = createScriptHook.emit({\n url,\n attrs\n });\n if (!res) return;\n if (res instanceof HTMLScriptElement) {\n return res;\n }\n if ('script' in res || 'timeout' in res) {\n return res;\n }\n return;\n }\n }).then(()=>{\n const { remoteEntryKey, entryExports } = share.getRemoteEntryExports(name, globalName);\n share.assert(entryExports, `\n Unable to use the ${name}'s '${entry}' URL with ${remoteEntryKey}'s globalName to get remoteEntry exports.\n Possible reasons could be:\\n\n 1. '${entry}' is not the correct URL, or the remoteEntry resource or name is incorrect.\\n\n 2. ${remoteEntryKey} cannot be used to get remoteEntry exports in the window object.\n `);\n return entryExports;\n }).catch((e)=>{\n throw e;\n });\n}\nasync function loadEntryDom({ remoteInfo, remoteEntryExports, createScriptHook }) {\n const { entry, entryGlobalName: globalName, name, type } = remoteInfo;\n switch(type){\n case 'esm':\n case 'module':\n return loadEsmEntry({\n entry,\n remoteEntryExports\n });\n case 'system':\n return loadSystemJsEntry({\n entry,\n remoteEntryExports\n });\n default:\n return loadEntryScript({\n entry,\n globalName,\n name,\n createScriptHook\n });\n }\n}\nasync function loadEntryNode({ remoteInfo, createScriptHook }) {\n const { entry, entryGlobalName: globalName, name } = remoteInfo;\n const { entryExports: remoteEntryExports } = share.getRemoteEntryExports(name, globalName);\n if (remoteEntryExports) {\n return remoteEntryExports;\n }\n return sdk.loadScriptNode(entry, {\n attrs: {\n name,\n globalName\n },\n createScriptHook: (url, attrs)=>{\n const res = createScriptHook.emit({\n url,\n attrs\n });\n if (!res) return;\n if ('url' in res) {\n return res;\n }\n return;\n }\n }).then(()=>{\n const { remoteEntryKey, entryExports } = share.getRemoteEntryExports(name, globalName);\n share.assert(entryExports, `\n Unable to use the ${name}'s '${entry}' URL with ${remoteEntryKey}'s globalName to get remoteEntry exports.\n Possible reasons could be:\\n\n 1. '${entry}' is not the correct URL, or the remoteEntry resource or name is incorrect.\\n\n 2. ${remoteEntryKey} cannot be used to get remoteEntry exports in the window object.\n `);\n return entryExports;\n }).catch((e)=>{\n throw e;\n });\n}\nfunction getRemoteEntryUniqueKey(remoteInfo) {\n const { entry, name } = remoteInfo;\n return sdk.composeKeyWithSeparator(name, entry);\n}\nasync function getRemoteEntry({ origin, remoteEntryExports, remoteInfo }) {\n const uniqueKey = getRemoteEntryUniqueKey(remoteInfo);\n if (remoteEntryExports) {\n return remoteEntryExports;\n }\n if (!share.globalLoading[uniqueKey]) {\n const loadEntryHook = origin.remoteHandler.hooks.lifecycle.loadEntry;\n if (loadEntryHook.listeners.size) {\n share.globalLoading[uniqueKey] = loadEntryHook.emit({\n createScriptHook: origin.loaderHook.lifecycle.createScript,\n remoteInfo,\n remoteEntryExports\n }).then((res)=>res || undefined);\n } else {\n const createScriptHook = origin.loaderHook.lifecycle.createScript;\n if (!sdk.isBrowserEnv()) {\n share.globalLoading[uniqueKey] = loadEntryNode({\n remoteInfo,\n createScriptHook\n });\n } else {\n share.globalLoading[uniqueKey] = loadEntryDom({\n remoteInfo,\n remoteEntryExports,\n createScriptHook\n });\n }\n }\n }\n return share.globalLoading[uniqueKey];\n}\nfunction getRemoteInfo(remote) {\n return polyfills._extends({}, remote, {\n entry: 'entry' in remote ? remote.entry : '',\n type: remote.type || share.DEFAULT_REMOTE_TYPE,\n entryGlobalName: remote.entryGlobalName || remote.name,\n shareScope: remote.shareScope || share.DEFAULT_SCOPE\n });\n}\n\nlet Module = class Module {\n async getEntry() {\n if (this.remoteEntryExports) {\n return this.remoteEntryExports;\n }\n // Get remoteEntry.js\n const remoteEntryExports = await getRemoteEntry({\n origin: this.host,\n remoteInfo: this.remoteInfo,\n remoteEntryExports: this.remoteEntryExports\n });\n share.assert(remoteEntryExports, `remoteEntryExports is undefined \\n ${sdk.safeToString(this.remoteInfo)}`);\n this.remoteEntryExports = remoteEntryExports;\n return this.remoteEntryExports;\n }\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n async get(id, expose, options, remoteSnapshot) {\n const { loadFactory = true } = options || {\n loadFactory: true\n };\n // Get remoteEntry.js\n const remoteEntryExports = await this.getEntry();\n if (!this.inited) {\n const localShareScopeMap = this.host.shareScopeMap;\n const remoteShareScope = this.remoteInfo.shareScope || 'default';\n if (!localShareScopeMap[remoteShareScope]) {\n localShareScopeMap[remoteShareScope] = {};\n }\n const shareScope = localShareScopeMap[remoteShareScope];\n const initScope = [];\n const remoteEntryInitOptions = {\n version: this.remoteInfo.version || ''\n };\n // Help to find host instance\n Object.defineProperty(remoteEntryInitOptions, 'shareScopeMap', {\n value: localShareScopeMap,\n // remoteEntryInitOptions will be traversed and assigned during container init, ,so this attribute is not allowed to be traversed\n enumerable: false\n });\n const initContainerOptions = await this.host.hooks.lifecycle.beforeInitContainer.emit({\n shareScope,\n // @ts-ignore shareScopeMap will be set by Object.defineProperty\n remoteEntryInitOptions,\n initScope,\n remoteInfo: this.remoteInfo,\n origin: this.host\n });\n if (typeof (remoteEntryExports == null ? void 0 : remoteEntryExports.init) === 'undefined') {\n console.error('The remote entry interface does not contain \"init\"', '\\n', 'Ensure the name of this remote is not reserved or in use. Check if anything already exists on window[nameOfRemote]', '\\n', 'Ensure that window[nameOfRemote] is returning a {get,init} object.');\n }\n await remoteEntryExports.init(initContainerOptions.shareScope, initContainerOptions.initScope, initContainerOptions.remoteEntryInitOptions);\n await this.host.hooks.lifecycle.initContainer.emit(polyfills._extends({}, initContainerOptions, {\n id,\n remoteSnapshot,\n remoteEntryExports\n }));\n }\n this.lib = remoteEntryExports;\n this.inited = true;\n // get exposeGetter\n const moduleFactory = await remoteEntryExports.get(expose);\n share.assert(moduleFactory, `${share.getFMId(this.remoteInfo)} remote don't export ${expose}.`);\n const wrapModuleFactory = this.wraperFactory(moduleFactory, id);\n if (!loadFactory) {\n return wrapModuleFactory;\n }\n const exposeContent = await wrapModuleFactory();\n return exposeContent;\n }\n wraperFactory(moduleFactory, id) {\n function defineModuleId(res, id) {\n if (res && typeof res === 'object' && Object.isExtensible(res) && !Object.getOwnPropertyDescriptor(res, Symbol.for('mf_module_id'))) {\n Object.defineProperty(res, Symbol.for('mf_module_id'), {\n value: id,\n enumerable: false\n });\n }\n }\n if (moduleFactory instanceof Promise) {\n return async ()=>{\n const res = await moduleFactory();\n // This parameter is used for bridge debugging\n defineModuleId(res, id);\n return res;\n };\n } else {\n return ()=>{\n const res = moduleFactory();\n // This parameter is used for bridge debugging\n defineModuleId(res, id);\n return res;\n };\n }\n }\n constructor({ remoteInfo, host }){\n this.inited = false;\n this.lib = undefined;\n this.remoteInfo = remoteInfo;\n this.host = host;\n }\n};\n\nclass SyncHook {\n on(fn) {\n if (typeof fn === 'function') {\n this.listeners.add(fn);\n }\n }\n once(fn) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n this.on(function wrapper(...args) {\n self.remove(wrapper);\n // eslint-disable-next-line prefer-spread\n return fn.apply(null, args);\n });\n }\n emit(...data) {\n let result;\n if (this.listeners.size > 0) {\n // eslint-disable-next-line prefer-spread\n this.listeners.forEach((fn)=>{\n result = fn(...data);\n });\n }\n return result;\n }\n remove(fn) {\n this.listeners.delete(fn);\n }\n removeAll() {\n this.listeners.clear();\n }\n constructor(type){\n this.type = '';\n this.listeners = new Set();\n if (type) {\n this.type = type;\n }\n }\n}\n\nclass AsyncHook extends SyncHook {\n emit(...data) {\n let result;\n const ls = Array.from(this.listeners);\n if (ls.length > 0) {\n let i = 0;\n const call = (prev)=>{\n if (prev === false) {\n return false; // Abort process\n } else if (i < ls.length) {\n return Promise.resolve(ls[i++].apply(null, data)).then(call);\n } else {\n return prev;\n }\n };\n result = call();\n }\n return Promise.resolve(result);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction checkReturnData(originalData, returnedData) {\n if (!share.isObject(returnedData)) {\n return false;\n }\n if (originalData !== returnedData) {\n // eslint-disable-next-line no-restricted-syntax\n for(const key in originalData){\n if (!(key in returnedData)) {\n return false;\n }\n }\n }\n return true;\n}\nclass SyncWaterfallHook extends SyncHook {\n emit(data) {\n if (!share.isObject(data)) {\n share.error(`The data for the \"${this.type}\" hook should be an object.`);\n }\n for (const fn of this.listeners){\n try {\n const tempData = fn(data);\n if (checkReturnData(data, tempData)) {\n data = tempData;\n } else {\n this.onerror(`A plugin returned an unacceptable value for the \"${this.type}\" type.`);\n break;\n }\n } catch (e) {\n share.warn(e);\n this.onerror(e);\n }\n }\n return data;\n }\n constructor(type){\n super();\n this.onerror = share.error;\n this.type = type;\n }\n}\n\nclass AsyncWaterfallHook extends SyncHook {\n emit(data) {\n if (!share.isObject(data)) {\n share.error(`The response data for the \"${this.type}\" hook must be an object.`);\n }\n const ls = Array.from(this.listeners);\n if (ls.length > 0) {\n let i = 0;\n const processError = (e)=>{\n share.warn(e);\n this.onerror(e);\n return data;\n };\n const call = (prevData)=>{\n if (checkReturnData(data, prevData)) {\n data = prevData;\n if (i < ls.length) {\n try {\n return Promise.resolve(ls[i++](data)).then(call, processError);\n } catch (e) {\n return processError(e);\n }\n }\n } else {\n this.onerror(`A plugin returned an incorrect value for the \"${this.type}\" type.`);\n }\n return data;\n };\n return Promise.resolve(call(data));\n }\n return Promise.resolve(data);\n }\n constructor(type){\n super();\n this.onerror = share.error;\n this.type = type;\n }\n}\n\nclass PluginSystem {\n applyPlugin(plugin) {\n share.assert(share.isPlainObject(plugin), 'Plugin configuration is invalid.');\n // The plugin's name is mandatory and must be unique\n const pluginName = plugin.name;\n share.assert(pluginName, 'A name must be provided by the plugin.');\n if (!this.registerPlugins[pluginName]) {\n this.registerPlugins[pluginName] = plugin;\n Object.keys(this.lifecycle).forEach((key)=>{\n const pluginLife = plugin[key];\n if (pluginLife) {\n this.lifecycle[key].on(pluginLife);\n }\n });\n }\n }\n removePlugin(pluginName) {\n share.assert(pluginName, 'A name is required.');\n const plugin = this.registerPlugins[pluginName];\n share.assert(plugin, `The plugin \"${pluginName}\" is not registered.`);\n Object.keys(plugin).forEach((key)=>{\n if (key !== 'name') {\n this.lifecycle[key].remove(plugin[key]);\n }\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-shadow\n inherit({ lifecycle, registerPlugins }) {\n Object.keys(lifecycle).forEach((hookName)=>{\n share.assert(!this.lifecycle[hookName], `The hook \"${hookName}\" has a conflict and cannot be inherited.`);\n this.lifecycle[hookName] = lifecycle[hookName];\n });\n Object.keys(registerPlugins).forEach((pluginName)=>{\n share.assert(!this.registerPlugins[pluginName], `The plugin \"${pluginName}\" has a conflict and cannot be inherited.`);\n this.applyPlugin(registerPlugins[pluginName]);\n });\n }\n constructor(lifecycle){\n this.registerPlugins = {};\n this.lifecycle = lifecycle;\n this.lifecycleKeys = Object.keys(lifecycle);\n }\n}\n\nfunction defaultPreloadArgs(preloadConfig) {\n return polyfills._extends({\n resourceCategory: 'sync',\n share: true,\n depsRemote: true,\n prefetchInterface: false\n }, preloadConfig);\n}\nfunction formatPreloadArgs(remotes, preloadArgs) {\n return preloadArgs.map((args)=>{\n const remoteInfo = matchRemote(remotes, args.nameOrAlias);\n share.assert(remoteInfo, `Unable to preload ${args.nameOrAlias} as it is not included in ${!remoteInfo && sdk.safeToString({\n remoteInfo,\n remotes\n })}`);\n return {\n remote: remoteInfo,\n preloadConfig: defaultPreloadArgs(args)\n };\n });\n}\nfunction normalizePreloadExposes(exposes) {\n if (!exposes) {\n return [];\n }\n return exposes.map((expose)=>{\n if (expose === '.') {\n return expose;\n }\n if (expose.startsWith('./')) {\n return expose.replace('./', '');\n }\n return expose;\n });\n}\nfunction preloadAssets(remoteInfo, host, assets, // It is used to distinguish preload from load remote parallel loading\nuseLinkPreload = true) {\n const { cssAssets, jsAssetsWithoutEntry, entryAssets } = assets;\n if (host.options.inBrowser) {\n entryAssets.forEach((asset)=>{\n const { moduleInfo } = asset;\n const module = host.moduleCache.get(remoteInfo.name);\n if (module) {\n getRemoteEntry({\n origin: host,\n remoteInfo: moduleInfo,\n remoteEntryExports: module.remoteEntryExports\n });\n } else {\n getRemoteEntry({\n origin: host,\n remoteInfo: moduleInfo,\n remoteEntryExports: undefined\n });\n }\n });\n if (useLinkPreload) {\n const defaultAttrs = {\n rel: 'preload',\n as: 'style',\n crossorigin: 'anonymous'\n };\n cssAssets.forEach((cssUrl)=>{\n const { link: cssEl, needAttach } = sdk.createLink({\n url: cssUrl,\n cb: ()=>{},\n attrs: defaultAttrs,\n createLinkHook: (url, attrs)=>{\n const res = host.loaderHook.lifecycle.createLink.emit({\n url,\n attrs\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n }\n });\n needAttach && document.head.appendChild(cssEl);\n });\n } else {\n const defaultAttrs = {\n rel: 'stylesheet',\n type: 'text/css'\n };\n cssAssets.forEach((cssUrl)=>{\n const { link: cssEl, needAttach } = sdk.createLink({\n url: cssUrl,\n cb: ()=>{},\n attrs: defaultAttrs,\n createLinkHook: (url, attrs)=>{\n const res = host.loaderHook.lifecycle.createLink.emit({\n url,\n attrs\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n },\n needDeleteLink: false\n });\n needAttach && document.head.appendChild(cssEl);\n });\n }\n if (useLinkPreload) {\n const defaultAttrs = {\n rel: 'preload',\n as: 'script',\n crossorigin: 'anonymous'\n };\n jsAssetsWithoutEntry.forEach((jsUrl)=>{\n const { link: linkEl, needAttach } = sdk.createLink({\n url: jsUrl,\n cb: ()=>{},\n attrs: defaultAttrs,\n createLinkHook: (url, attrs)=>{\n const res = host.loaderHook.lifecycle.createLink.emit({\n url,\n attrs\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n }\n });\n needAttach && document.head.appendChild(linkEl);\n });\n } else {\n const defaultAttrs = {\n fetchpriority: 'high',\n type: (remoteInfo == null ? void 0 : remoteInfo.type) === 'module' ? 'module' : 'text/javascript'\n };\n jsAssetsWithoutEntry.forEach((jsUrl)=>{\n const { script: scriptEl, needAttach } = sdk.createScript({\n url: jsUrl,\n cb: ()=>{},\n attrs: defaultAttrs,\n createScriptHook: (url, attrs)=>{\n const res = host.loaderHook.lifecycle.createScript.emit({\n url,\n attrs\n });\n if (res instanceof HTMLScriptElement) {\n return res;\n }\n return;\n },\n needDeleteScript: true\n });\n needAttach && document.head.appendChild(scriptEl);\n });\n }\n }\n}\n\nfunction assignRemoteInfo(remoteInfo, remoteSnapshot) {\n const remoteEntryInfo = share.getRemoteEntryInfoFromSnapshot(remoteSnapshot);\n if (!remoteEntryInfo.url) {\n share.error(`The attribute remoteEntry of ${remoteInfo.name} must not be undefined.`);\n }\n let entryUrl = sdk.getResourceUrl(remoteSnapshot, remoteEntryInfo.url);\n if (!sdk.isBrowserEnv() && !entryUrl.startsWith('http')) {\n entryUrl = `https:${entryUrl}`;\n }\n remoteInfo.type = remoteEntryInfo.type;\n remoteInfo.entryGlobalName = remoteEntryInfo.globalName;\n remoteInfo.entry = entryUrl;\n remoteInfo.version = remoteSnapshot.version;\n remoteInfo.buildVersion = remoteSnapshot.buildVersion;\n}\nfunction snapshotPlugin() {\n return {\n name: 'snapshot-plugin',\n async afterResolve (args) {\n const { remote, pkgNameOrAlias, expose, origin, remoteInfo } = args;\n if (!share.isRemoteInfoWithEntry(remote) || !share.isPureRemoteEntry(remote)) {\n const { remoteSnapshot, globalSnapshot } = await origin.snapshotHandler.loadRemoteSnapshotInfo(remote);\n assignRemoteInfo(remoteInfo, remoteSnapshot);\n // preloading assets\n const preloadOptions = {\n remote,\n preloadConfig: {\n nameOrAlias: pkgNameOrAlias,\n exposes: [\n expose\n ],\n resourceCategory: 'sync',\n share: false,\n depsRemote: false\n }\n };\n const assets = await origin.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({\n origin,\n preloadOptions,\n remoteInfo,\n remote,\n remoteSnapshot,\n globalSnapshot\n });\n if (assets) {\n preloadAssets(remoteInfo, origin, assets, false);\n }\n return polyfills._extends({}, args, {\n remoteSnapshot\n });\n }\n return args;\n }\n };\n}\n\n// name\n// name:version\nfunction splitId(id) {\n const splitInfo = id.split(':');\n if (splitInfo.length === 1) {\n return {\n name: splitInfo[0],\n version: undefined\n };\n } else if (splitInfo.length === 2) {\n return {\n name: splitInfo[0],\n version: splitInfo[1]\n };\n } else {\n return {\n name: splitInfo[1],\n version: splitInfo[2]\n };\n }\n}\n// Traverse all nodes in moduleInfo and traverse the entire snapshot\nfunction traverseModuleInfo(globalSnapshot, remoteInfo, traverse, isRoot, memo = {}, remoteSnapshot) {\n const id = share.getFMId(remoteInfo);\n const { value: snapshotValue } = share.getInfoWithoutType(globalSnapshot, id);\n const effectiveRemoteSnapshot = remoteSnapshot || snapshotValue;\n if (effectiveRemoteSnapshot && !sdk.isManifestProvider(effectiveRemoteSnapshot)) {\n traverse(effectiveRemoteSnapshot, remoteInfo, isRoot);\n if (effectiveRemoteSnapshot.remotesInfo) {\n const remoteKeys = Object.keys(effectiveRemoteSnapshot.remotesInfo);\n for (const key of remoteKeys){\n if (memo[key]) {\n continue;\n }\n memo[key] = true;\n const subRemoteInfo = splitId(key);\n const remoteValue = effectiveRemoteSnapshot.remotesInfo[key];\n traverseModuleInfo(globalSnapshot, {\n name: subRemoteInfo.name,\n version: remoteValue.matchedVersion\n }, traverse, false, memo, undefined);\n }\n }\n }\n}\n// eslint-disable-next-line max-lines-per-function\nfunction generatePreloadAssets(origin, preloadOptions, remote, globalSnapshot, remoteSnapshot) {\n const cssAssets = [];\n const jsAssets = [];\n const entryAssets = [];\n const loadedSharedJsAssets = new Set();\n const loadedSharedCssAssets = new Set();\n const { options } = origin;\n const { preloadConfig: rootPreloadConfig } = preloadOptions;\n const { depsRemote } = rootPreloadConfig;\n const memo = {};\n traverseModuleInfo(globalSnapshot, remote, (moduleInfoSnapshot, remoteInfo, isRoot)=>{\n let preloadConfig;\n if (isRoot) {\n preloadConfig = rootPreloadConfig;\n } else {\n if (Array.isArray(depsRemote)) {\n // eslint-disable-next-line array-callback-return\n const findPreloadConfig = depsRemote.find((remoteConfig)=>{\n if (remoteConfig.nameOrAlias === remoteInfo.name || remoteConfig.nameOrAlias === remoteInfo.alias) {\n return true;\n }\n return false;\n });\n if (!findPreloadConfig) {\n return;\n }\n preloadConfig = defaultPreloadArgs(findPreloadConfig);\n } else if (depsRemote === true) {\n preloadConfig = rootPreloadConfig;\n } else {\n return;\n }\n }\n const remoteEntryUrl = sdk.getResourceUrl(moduleInfoSnapshot, share.getRemoteEntryInfoFromSnapshot(moduleInfoSnapshot).url);\n if (remoteEntryUrl) {\n entryAssets.push({\n name: remoteInfo.name,\n moduleInfo: {\n name: remoteInfo.name,\n entry: remoteEntryUrl,\n type: 'remoteEntryType' in moduleInfoSnapshot ? moduleInfoSnapshot.remoteEntryType : 'global',\n entryGlobalName: 'globalName' in moduleInfoSnapshot ? moduleInfoSnapshot.globalName : remoteInfo.name,\n shareScope: '',\n version: 'version' in moduleInfoSnapshot ? moduleInfoSnapshot.version : undefined\n },\n url: remoteEntryUrl\n });\n }\n let moduleAssetsInfo = 'modules' in moduleInfoSnapshot ? moduleInfoSnapshot.modules : [];\n const normalizedPreloadExposes = normalizePreloadExposes(preloadConfig.exposes);\n if (normalizedPreloadExposes.length && 'modules' in moduleInfoSnapshot) {\n var _moduleInfoSnapshot_modules;\n moduleAssetsInfo = moduleInfoSnapshot == null ? void 0 : (_moduleInfoSnapshot_modules = moduleInfoSnapshot.modules) == null ? void 0 : _moduleInfoSnapshot_modules.reduce((assets, moduleAssetInfo)=>{\n if ((normalizedPreloadExposes == null ? void 0 : normalizedPreloadExposes.indexOf(moduleAssetInfo.moduleName)) !== -1) {\n assets.push(moduleAssetInfo);\n }\n return assets;\n }, []);\n }\n function handleAssets(assets) {\n const assetsRes = assets.map((asset)=>sdk.getResourceUrl(moduleInfoSnapshot, asset));\n if (preloadConfig.filter) {\n return assetsRes.filter(preloadConfig.filter);\n }\n return assetsRes;\n }\n if (moduleAssetsInfo) {\n const assetsLength = moduleAssetsInfo.length;\n for(let index = 0; index < assetsLength; index++){\n const assetsInfo = moduleAssetsInfo[index];\n const exposeFullPath = `${remoteInfo.name}/${assetsInfo.moduleName}`;\n origin.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({\n id: assetsInfo.moduleName === '.' ? remoteInfo.name : exposeFullPath,\n name: remoteInfo.name,\n remoteSnapshot: moduleInfoSnapshot,\n preloadConfig,\n remote: remoteInfo,\n origin\n });\n const preloaded = share.getPreloaded(exposeFullPath);\n if (preloaded) {\n continue;\n }\n if (preloadConfig.resourceCategory === 'all') {\n cssAssets.push(...handleAssets(assetsInfo.assets.css.async));\n cssAssets.push(...handleAssets(assetsInfo.assets.css.sync));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.async));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.sync));\n // eslint-disable-next-line no-constant-condition\n } else if (preloadConfig.resourceCategory = 'sync') {\n cssAssets.push(...handleAssets(assetsInfo.assets.css.sync));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.sync));\n }\n share.setPreloaded(exposeFullPath);\n }\n }\n }, true, memo, remoteSnapshot);\n if (remoteSnapshot.shared) {\n const collectSharedAssets = (shareInfo, snapshotShared)=>{\n const registeredShared = share.getRegisteredShare(origin.shareScopeMap, snapshotShared.sharedName, shareInfo, origin.sharedHandler.hooks.lifecycle.resolveShare);\n // If the global share does not exist, or the lib function does not exist, it means that the shared has not been loaded yet and can be preloaded.\n if (registeredShared && typeof registeredShared.lib === 'function') {\n snapshotShared.assets.js.sync.forEach((asset)=>{\n loadedSharedJsAssets.add(asset);\n });\n snapshotShared.assets.css.sync.forEach((asset)=>{\n loadedSharedCssAssets.add(asset);\n });\n }\n };\n remoteSnapshot.shared.forEach((shared)=>{\n var _options_shared;\n const shareInfos = (_options_shared = options.shared) == null ? void 0 : _options_shared[shared.sharedName];\n if (!shareInfos) {\n return;\n }\n // if no version, preload all shared\n const sharedOptions = shared.version ? shareInfos.find((s)=>s.version === shared.version) : shareInfos;\n if (!sharedOptions) {\n return;\n }\n const arrayShareInfo = share.arrayOptions(sharedOptions);\n arrayShareInfo.forEach((s)=>{\n collectSharedAssets(s, shared);\n });\n });\n }\n const needPreloadJsAssets = jsAssets.filter((asset)=>!loadedSharedJsAssets.has(asset));\n const needPreloadCssAssets = cssAssets.filter((asset)=>!loadedSharedCssAssets.has(asset));\n return {\n cssAssets: needPreloadCssAssets,\n jsAssetsWithoutEntry: needPreloadJsAssets,\n entryAssets\n };\n}\nconst generatePreloadAssetsPlugin = function() {\n return {\n name: 'generate-preload-assets-plugin',\n async generatePreloadAssets (args) {\n const { origin, preloadOptions, remoteInfo, remote, globalSnapshot, remoteSnapshot } = args;\n if (share.isRemoteInfoWithEntry(remote) && share.isPureRemoteEntry(remote)) {\n return {\n cssAssets: [],\n jsAssetsWithoutEntry: [],\n entryAssets: [\n {\n name: remote.name,\n url: remote.entry,\n moduleInfo: {\n name: remoteInfo.name,\n entry: remote.entry,\n type: 'global',\n entryGlobalName: '',\n shareScope: ''\n }\n }\n ]\n };\n }\n assignRemoteInfo(remoteInfo, remoteSnapshot);\n const assets = generatePreloadAssets(origin, preloadOptions, remoteInfo, globalSnapshot, remoteSnapshot);\n return assets;\n }\n };\n};\n\nfunction getGlobalRemoteInfo(moduleInfo, origin) {\n const hostGlobalSnapshot = share.getGlobalSnapshotInfoByModuleInfo({\n name: origin.options.name,\n version: origin.options.version\n });\n // get remote detail info from global\n const globalRemoteInfo = hostGlobalSnapshot && 'remotesInfo' in hostGlobalSnapshot && hostGlobalSnapshot.remotesInfo && share.getInfoWithoutType(hostGlobalSnapshot.remotesInfo, moduleInfo.name).value;\n if (globalRemoteInfo && globalRemoteInfo.matchedVersion) {\n return {\n hostGlobalSnapshot,\n globalSnapshot: share.getGlobalSnapshot(),\n remoteSnapshot: share.getGlobalSnapshotInfoByModuleInfo({\n name: moduleInfo.name,\n version: globalRemoteInfo.matchedVersion\n })\n };\n }\n return {\n hostGlobalSnapshot: undefined,\n globalSnapshot: share.getGlobalSnapshot(),\n remoteSnapshot: share.getGlobalSnapshotInfoByModuleInfo({\n name: moduleInfo.name,\n version: 'version' in moduleInfo ? moduleInfo.version : undefined\n })\n };\n}\nclass SnapshotHandler {\n async loadSnapshot(moduleInfo) {\n const { options } = this.HostInstance;\n const { hostGlobalSnapshot, remoteSnapshot, globalSnapshot } = this.getGlobalRemoteInfo(moduleInfo);\n const { remoteSnapshot: globalRemoteSnapshot, globalSnapshot: globalSnapshotRes } = await this.hooks.lifecycle.loadSnapshot.emit({\n options,\n moduleInfo,\n hostGlobalSnapshot,\n remoteSnapshot,\n globalSnapshot\n });\n return {\n remoteSnapshot: globalRemoteSnapshot,\n globalSnapshot: globalSnapshotRes\n };\n }\n // eslint-disable-next-line max-lines-per-function\n async loadRemoteSnapshotInfo(moduleInfo) {\n const { options } = this.HostInstance;\n await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({\n options,\n moduleInfo\n });\n let hostSnapshot = share.getGlobalSnapshotInfoByModuleInfo({\n name: this.HostInstance.options.name,\n version: this.HostInstance.options.version\n });\n if (!hostSnapshot) {\n hostSnapshot = {\n version: this.HostInstance.options.version || '',\n remoteEntry: '',\n remotesInfo: {}\n };\n share.addGlobalSnapshot({\n [this.HostInstance.options.name]: hostSnapshot\n });\n }\n // In dynamic loadRemote scenarios, incomplete remotesInfo delivery may occur. In such cases, the remotesInfo in the host needs to be completed in the snapshot at runtime.\n // This ensures the snapshot's integrity and helps the chrome plugin correctly identify all producer modules, ensuring that proxyable producer modules will not be missing.\n if (hostSnapshot && 'remotesInfo' in hostSnapshot && !share.getInfoWithoutType(hostSnapshot.remotesInfo, moduleInfo.name).value) {\n if ('version' in moduleInfo || 'entry' in moduleInfo) {\n hostSnapshot.remotesInfo = polyfills._extends({}, hostSnapshot == null ? void 0 : hostSnapshot.remotesInfo, {\n [moduleInfo.name]: {\n matchedVersion: 'version' in moduleInfo ? moduleInfo.version : moduleInfo.entry\n }\n });\n }\n }\n const { hostGlobalSnapshot, remoteSnapshot, globalSnapshot } = this.getGlobalRemoteInfo(moduleInfo);\n const { remoteSnapshot: globalRemoteSnapshot, globalSnapshot: globalSnapshotRes } = await this.hooks.lifecycle.loadSnapshot.emit({\n options,\n moduleInfo,\n hostGlobalSnapshot,\n remoteSnapshot,\n globalSnapshot\n });\n // global snapshot includes manifest or module info includes manifest\n if (globalRemoteSnapshot) {\n if (sdk.isManifestProvider(globalRemoteSnapshot)) {\n const remoteEntry = sdk.isBrowserEnv() ? globalRemoteSnapshot.remoteEntry : globalRemoteSnapshot.ssrRemoteEntry || globalRemoteSnapshot.remoteEntry || '';\n const moduleSnapshot = await this.getManifestJson(remoteEntry, moduleInfo, {});\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const globalSnapshotRes = share.setGlobalSnapshotInfoByModuleInfo(polyfills._extends({}, moduleInfo, {\n // The global remote may be overridden\n // Therefore, set the snapshot key to the global address of the actual request\n entry: remoteEntry\n }), moduleSnapshot);\n return {\n remoteSnapshot: moduleSnapshot,\n globalSnapshot: globalSnapshotRes\n };\n } else {\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n remoteSnapshot: globalRemoteSnapshot,\n from: 'global'\n });\n return {\n remoteSnapshot: remoteSnapshotRes,\n globalSnapshot: globalSnapshotRes\n };\n }\n } else {\n if (share.isRemoteInfoWithEntry(moduleInfo)) {\n // get from manifest.json and merge remote info from remote server\n const moduleSnapshot = await this.getManifestJson(moduleInfo.entry, moduleInfo, {});\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const globalSnapshotRes = share.setGlobalSnapshotInfoByModuleInfo(moduleInfo, moduleSnapshot);\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n remoteSnapshot: moduleSnapshot,\n from: 'global'\n });\n return {\n remoteSnapshot: remoteSnapshotRes,\n globalSnapshot: globalSnapshotRes\n };\n } else {\n share.error(`\n Cannot get remoteSnapshot with the name: '${moduleInfo.name}', version: '${moduleInfo.version}' from __FEDERATION__.moduleInfo. The following reasons may be causing the problem:\\n\n 1. The Deploy platform did not deliver the correct data. You can use __FEDERATION__.moduleInfo to check the remoteInfo.\\n\n 2. The remote '${moduleInfo.name}' version '${moduleInfo.version}' is not released.\\n\n The transformed module info: ${JSON.stringify(globalSnapshotRes)}\n `);\n }\n }\n }\n getGlobalRemoteInfo(moduleInfo) {\n return getGlobalRemoteInfo(moduleInfo, this.HostInstance);\n }\n async getManifestJson(manifestUrl, moduleInfo, extraOptions) {\n const getManifest = async ()=>{\n let manifestJson = this.manifestCache.get(manifestUrl);\n if (manifestJson) {\n return manifestJson;\n }\n try {\n let res = await this.loaderHook.lifecycle.fetch.emit(manifestUrl, {});\n if (!res || !(res instanceof Response)) {\n res = await fetch(manifestUrl, {});\n }\n manifestJson = await res.json();\n share.assert(manifestJson.metaData && manifestJson.exposes && manifestJson.shared, `${manifestUrl} is not a federation manifest`);\n this.manifestCache.set(manifestUrl, manifestJson);\n return manifestJson;\n } catch (err) {\n delete this.manifestLoading[manifestUrl];\n share.error(`Failed to get manifestJson for ${moduleInfo.name}. The manifest URL is ${manifestUrl}. Please ensure that the manifestUrl is accessible.\n \\n Error message:\n \\n ${err}`);\n }\n };\n const asyncLoadProcess = async ()=>{\n const manifestJson = await getManifest();\n const remoteSnapshot = sdk.generateSnapshotFromManifest(manifestJson, {\n version: manifestUrl\n });\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n manifestJson,\n remoteSnapshot,\n manifestUrl,\n from: 'manifest'\n });\n return remoteSnapshotRes;\n };\n if (!this.manifestLoading[manifestUrl]) {\n this.manifestLoading[manifestUrl] = asyncLoadProcess().then((res)=>res);\n }\n return this.manifestLoading[manifestUrl];\n }\n constructor(HostInstance){\n this.loadingHostSnapshot = null;\n this.manifestCache = new Map();\n this.hooks = new PluginSystem({\n beforeLoadRemoteSnapshot: new AsyncHook('beforeLoadRemoteSnapshot'),\n loadSnapshot: new AsyncWaterfallHook('loadGlobalSnapshot'),\n loadRemoteSnapshot: new AsyncWaterfallHook('loadRemoteSnapshot')\n });\n this.manifestLoading = share.Global.__FEDERATION__.__MANIFEST_LOADING__;\n this.HostInstance = HostInstance;\n this.loaderHook = HostInstance.loaderHook;\n }\n}\n\nclass SharedHandler {\n // register shared in shareScopeMap\n registerShared(globalOptions, userOptions) {\n const { shareInfos, shared } = share.formatShareConfigs(globalOptions, userOptions);\n const sharedKeys = Object.keys(shareInfos);\n sharedKeys.forEach((sharedKey)=>{\n const sharedVals = shareInfos[sharedKey];\n sharedVals.forEach((sharedVal)=>{\n const registeredShared = share.getRegisteredShare(this.shareScopeMap, sharedKey, sharedVal, this.hooks.lifecycle.resolveShare);\n if (!registeredShared && sharedVal && sharedVal.lib) {\n this.setShared({\n pkgName: sharedKey,\n lib: sharedVal.lib,\n get: sharedVal.get,\n loaded: true,\n shared: sharedVal,\n from: userOptions.name\n });\n }\n });\n });\n return {\n shareInfos,\n shared\n };\n }\n async loadShare(pkgName, extraOptions) {\n const { host } = this;\n // This function performs the following steps:\n // 1. Checks if the currently loaded share already exists, if not, it throws an error\n // 2. Searches globally for a matching share, if found, it uses it directly\n // 3. If not found, it retrieves it from the current share and stores the obtained share globally.\n const shareInfo = share.getTargetSharedOptions({\n pkgName,\n extraOptions,\n shareInfos: host.options.shared\n });\n if (shareInfo == null ? void 0 : shareInfo.scope) {\n await Promise.all(shareInfo.scope.map(async (shareScope)=>{\n await Promise.all(this.initializeSharing(shareScope, {\n strategy: shareInfo.strategy\n }));\n return;\n }));\n }\n const loadShareRes = await this.hooks.lifecycle.beforeLoadShare.emit({\n pkgName,\n shareInfo,\n shared: host.options.shared,\n origin: host\n });\n const { shareInfo: shareInfoRes } = loadShareRes;\n // Assert that shareInfoRes exists, if not, throw an error\n share.assert(shareInfoRes, `Cannot find ${pkgName} Share in the ${host.options.name}. Please ensure that the ${pkgName} Share parameters have been injected`);\n // Retrieve from cache\n const registeredShared = share.getRegisteredShare(this.shareScopeMap, pkgName, shareInfoRes, this.hooks.lifecycle.resolveShare);\n const addUseIn = (shared)=>{\n if (!shared.useIn) {\n shared.useIn = [];\n }\n share.addUniqueItem(shared.useIn, host.options.name);\n };\n if (registeredShared && registeredShared.lib) {\n addUseIn(registeredShared);\n return registeredShared.lib;\n } else if (registeredShared && registeredShared.loading && !registeredShared.loaded) {\n const factory = await registeredShared.loading;\n registeredShared.loaded = true;\n if (!registeredShared.lib) {\n registeredShared.lib = factory;\n }\n addUseIn(registeredShared);\n return factory;\n } else if (registeredShared) {\n const asyncLoadProcess = async ()=>{\n const factory = await registeredShared.get();\n shareInfoRes.lib = factory;\n shareInfoRes.loaded = true;\n addUseIn(shareInfoRes);\n const gShared = share.getRegisteredShare(this.shareScopeMap, pkgName, shareInfoRes, this.hooks.lifecycle.resolveShare);\n if (gShared) {\n gShared.lib = factory;\n gShared.loaded = true;\n }\n return factory;\n };\n const loading = asyncLoadProcess();\n this.setShared({\n pkgName,\n loaded: false,\n shared: registeredShared,\n from: host.options.name,\n lib: null,\n loading\n });\n return loading;\n } else {\n if (extraOptions == null ? void 0 : extraOptions.customShareInfo) {\n return false;\n }\n const asyncLoadProcess = async ()=>{\n const factory = await shareInfoRes.get();\n shareInfoRes.lib = factory;\n shareInfoRes.loaded = true;\n addUseIn(shareInfoRes);\n const gShared = share.getRegisteredShare(this.shareScopeMap, pkgName, shareInfoRes, this.hooks.lifecycle.resolveShare);\n if (gShared) {\n gShared.lib = factory;\n gShared.loaded = true;\n }\n return factory;\n };\n const loading = asyncLoadProcess();\n this.setShared({\n pkgName,\n loaded: false,\n shared: shareInfoRes,\n from: host.options.name,\n lib: null,\n loading\n });\n return loading;\n }\n }\n /**\n * This function initializes the sharing sequence (executed only once per share scope).\n * It accepts one argument, the name of the share scope.\n * If the share scope does not exist, it creates one.\n */ // eslint-disable-next-line @typescript-eslint/member-ordering\n initializeSharing(shareScopeName = share.DEFAULT_SCOPE, extraOptions) {\n const { host } = this;\n const from = extraOptions == null ? void 0 : extraOptions.from;\n const strategy = extraOptions == null ? void 0 : extraOptions.strategy;\n let initScope = extraOptions == null ? void 0 : extraOptions.initScope;\n const promises = [];\n if (from !== 'build') {\n const { initTokens } = this;\n if (!initScope) initScope = [];\n let initToken = initTokens[shareScopeName];\n if (!initToken) initToken = initTokens[shareScopeName] = {\n from: this.host.name\n };\n if (initScope.indexOf(initToken) >= 0) return promises;\n initScope.push(initToken);\n }\n const shareScope = this.shareScopeMap;\n const hostName = host.options.name;\n // Creates a new share scope if necessary\n if (!shareScope[shareScopeName]) {\n shareScope[shareScopeName] = {};\n }\n // Executes all initialization snippets from all accessible modules\n const scope = shareScope[shareScopeName];\n const register = (name, shared)=>{\n var _activeVersion_shareConfig;\n const { version, eager } = shared;\n scope[name] = scope[name] || {};\n const versions = scope[name];\n const activeVersion = versions[version];\n const activeVersionEager = Boolean(activeVersion && (activeVersion.eager || ((_activeVersion_shareConfig = activeVersion.shareConfig) == null ? void 0 : _activeVersion_shareConfig.eager)));\n if (!activeVersion || activeVersion.strategy !== 'loaded-first' && !activeVersion.loaded && (Boolean(!eager) !== !activeVersionEager ? eager : hostName > activeVersion.from)) {\n versions[version] = shared;\n }\n };\n const initFn = (mod)=>mod && mod.init && mod.init(shareScope[shareScopeName], initScope);\n const initRemoteModule = async (key)=>{\n const { module } = await host.remoteHandler.getRemoteModuleAndOptions({\n id: key\n });\n if (module.getEntry) {\n const entry = await module.getEntry();\n if (!module.inited) {\n await initFn(entry);\n module.inited = true;\n }\n }\n };\n Object.keys(host.options.shared).forEach((shareName)=>{\n const sharedArr = host.options.shared[shareName];\n sharedArr.forEach((shared)=>{\n if (shared.scope.includes(shareScopeName)) {\n register(shareName, shared);\n }\n });\n });\n // TODO: strategy==='version-first' need to be removed in the future\n if (host.options.shareStrategy === 'version-first' || strategy === 'version-first') {\n host.options.remotes.forEach((remote)=>{\n if (remote.shareScope === shareScopeName) {\n promises.push(initRemoteModule(remote.name));\n }\n });\n }\n return promises;\n }\n // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.\n // 1. If the loaded shared already exists globally, then it will be reused\n // 2. If lib exists in local shared, it will be used directly\n // 3. If the local get returns something other than Promise, then it will be used directly\n loadShareSync(pkgName, extraOptions) {\n const { host } = this;\n const shareInfo = share.getTargetSharedOptions({\n pkgName,\n extraOptions,\n shareInfos: host.options.shared\n });\n if (shareInfo == null ? void 0 : shareInfo.scope) {\n shareInfo.scope.forEach((shareScope)=>{\n this.initializeSharing(shareScope, {\n strategy: shareInfo.strategy\n });\n });\n }\n const registeredShared = share.getRegisteredShare(this.shareScopeMap, pkgName, shareInfo, this.hooks.lifecycle.resolveShare);\n const addUseIn = (shared)=>{\n if (!shared.useIn) {\n shared.useIn = [];\n }\n share.addUniqueItem(shared.useIn, host.options.name);\n };\n if (registeredShared) {\n if (typeof registeredShared.lib === 'function') {\n addUseIn(registeredShared);\n if (!registeredShared.loaded) {\n registeredShared.loaded = true;\n if (registeredShared.from === host.options.name) {\n shareInfo.loaded = true;\n }\n }\n return registeredShared.lib;\n }\n if (typeof registeredShared.get === 'function') {\n const module = registeredShared.get();\n if (!(module instanceof Promise)) {\n addUseIn(registeredShared);\n this.setShared({\n pkgName,\n loaded: true,\n from: host.options.name,\n lib: module,\n shared: registeredShared\n });\n return module;\n }\n }\n }\n if (shareInfo.lib) {\n if (!shareInfo.loaded) {\n shareInfo.loaded = true;\n }\n return shareInfo.lib;\n }\n if (shareInfo.get) {\n const module = shareInfo.get();\n if (module instanceof Promise) {\n throw new Error(`\n The loadShareSync function was unable to load ${pkgName}. The ${pkgName} could not be found in ${host.options.name}.\n Possible reasons for failure: \\n\n 1. The ${pkgName} share was registered with the 'get' attribute, but loadShare was not used beforehand.\\n\n 2. The ${pkgName} share was not registered with the 'lib' attribute.\\n\n `);\n }\n shareInfo.lib = module;\n this.setShared({\n pkgName,\n loaded: true,\n from: host.options.name,\n lib: shareInfo.lib,\n shared: shareInfo\n });\n return shareInfo.lib;\n }\n throw new Error(`\n The loadShareSync function was unable to load ${pkgName}. The ${pkgName} could not be found in ${host.options.name}.\n Possible reasons for failure: \\n\n 1. The ${pkgName} share was registered with the 'get' attribute, but loadShare was not used beforehand.\\n\n 2. The ${pkgName} share was not registered with the 'lib' attribute.\\n\n `);\n }\n initShareScopeMap(scopeName, shareScope, extraOptions = {}) {\n const { host } = this;\n this.shareScopeMap[scopeName] = shareScope;\n this.hooks.lifecycle.initContainerShareScopeMap.emit({\n shareScope,\n options: host.options,\n origin: host,\n scopeName,\n hostShareScopeMap: extraOptions.hostShareScopeMap\n });\n }\n setShared({ pkgName, shared, from, lib, loading, loaded, get }) {\n const { version, scope = 'default' } = shared, shareInfo = polyfills._object_without_properties_loose(shared, [\n \"version\",\n \"scope\"\n ]);\n const scopes = Array.isArray(scope) ? scope : [\n scope\n ];\n scopes.forEach((sc)=>{\n if (!this.shareScopeMap[sc]) {\n this.shareScopeMap[sc] = {};\n }\n if (!this.shareScopeMap[sc][pkgName]) {\n this.shareScopeMap[sc][pkgName] = {};\n }\n if (!this.shareScopeMap[sc][pkgName][version]) {\n this.shareScopeMap[sc][pkgName][version] = polyfills._extends({\n version,\n scope: [\n 'default'\n ]\n }, shareInfo, {\n lib,\n loaded,\n loading\n });\n if (get) {\n this.shareScopeMap[sc][pkgName][version].get = get;\n }\n return;\n }\n const registeredShared = this.shareScopeMap[sc][pkgName][version];\n if (loading && !registeredShared.loading) {\n registeredShared.loading = loading;\n }\n });\n }\n _setGlobalShareScopeMap(hostOptions) {\n const globalShareScopeMap = share.getGlobalShareScope();\n const identifier = hostOptions.id || hostOptions.name;\n if (identifier && !globalShareScopeMap[identifier]) {\n globalShareScopeMap[identifier] = this.shareScopeMap;\n }\n }\n constructor(host){\n this.hooks = new PluginSystem({\n afterResolve: new AsyncWaterfallHook('afterResolve'),\n beforeLoadShare: new AsyncWaterfallHook('beforeLoadShare'),\n // not used yet\n loadShare: new AsyncHook(),\n resolveShare: new SyncWaterfallHook('resolveShare'),\n // maybe will change, temporarily for internal use only\n initContainerShareScopeMap: new SyncWaterfallHook('initContainerShareScopeMap')\n });\n this.host = host;\n this.shareScopeMap = {};\n this.initTokens = {};\n this._setGlobalShareScopeMap(host.options);\n }\n}\n\nclass RemoteHandler {\n formatAndRegisterRemote(globalOptions, userOptions) {\n const userRemotes = userOptions.remotes || [];\n return userRemotes.reduce((res, remote)=>{\n this.registerRemote(remote, res, {\n force: false\n });\n return res;\n }, globalOptions.remotes);\n }\n setIdToRemoteMap(id, remoteMatchInfo) {\n const { remote, expose } = remoteMatchInfo;\n const { name, alias } = remote;\n this.idToRemoteMap[id] = {\n name: remote.name,\n expose\n };\n if (alias && id.startsWith(name)) {\n const idWithAlias = id.replace(name, alias);\n this.idToRemoteMap[idWithAlias] = {\n name: remote.name,\n expose\n };\n return;\n }\n if (alias && id.startsWith(alias)) {\n const idWithName = id.replace(alias, name);\n this.idToRemoteMap[idWithName] = {\n name: remote.name,\n expose\n };\n }\n }\n // eslint-disable-next-line max-lines-per-function\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async loadRemote(id, options) {\n const { host } = this;\n try {\n const { loadFactory = true } = options || {\n loadFactory: true\n };\n // 1. Validate the parameters of the retrieved module. There are two module request methods: pkgName + expose and alias + expose.\n // 2. Request the snapshot information of the current host and globally store the obtained snapshot information. The retrieved module information is partially offline and partially online. The online module information will retrieve the modules used online.\n // 3. Retrieve the detailed information of the current module from global (remoteEntry address, expose resource address)\n // 4. After retrieving remoteEntry, call the init of the module, and then retrieve the exported content of the module through get\n // id: pkgName(@federation/app1) + expose(button) = @federation/app1/button\n // id: alias(app1) + expose(button) = app1/button\n // id: alias(app1/utils) + expose(loadash/sort) = app1/utils/loadash/sort\n const { module, moduleOptions, remoteMatchInfo } = await this.getRemoteModuleAndOptions({\n id\n });\n const { pkgNameOrAlias, remote, expose, id: idRes, remoteSnapshot } = remoteMatchInfo;\n const moduleOrFactory = await module.get(idRes, expose, options, remoteSnapshot);\n const moduleWrapper = await this.hooks.lifecycle.onLoad.emit({\n id: idRes,\n pkgNameOrAlias,\n expose,\n exposeModule: loadFactory ? moduleOrFactory : undefined,\n exposeModuleFactory: loadFactory ? undefined : moduleOrFactory,\n remote,\n options: moduleOptions,\n moduleInstance: module,\n origin: host\n });\n this.setIdToRemoteMap(id, remoteMatchInfo);\n if (typeof moduleWrapper === 'function') {\n return moduleWrapper;\n }\n return moduleOrFactory;\n } catch (error) {\n const { from = 'runtime' } = options || {\n from: 'runtime'\n };\n const failOver = await this.hooks.lifecycle.errorLoadRemote.emit({\n id,\n error,\n from,\n lifecycle: 'onLoad',\n origin: host\n });\n if (!failOver) {\n throw error;\n }\n return failOver;\n }\n }\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async preloadRemote(preloadOptions) {\n const { host } = this;\n await this.hooks.lifecycle.beforePreloadRemote.emit({\n preloadOps: preloadOptions,\n options: host.options,\n origin: host\n });\n const preloadOps = formatPreloadArgs(host.options.remotes, preloadOptions);\n await Promise.all(preloadOps.map(async (ops)=>{\n const { remote } = ops;\n const remoteInfo = getRemoteInfo(remote);\n const { globalSnapshot, remoteSnapshot } = await host.snapshotHandler.loadRemoteSnapshotInfo(remote);\n const assets = await this.hooks.lifecycle.generatePreloadAssets.emit({\n origin: host,\n preloadOptions: ops,\n remote,\n remoteInfo,\n globalSnapshot,\n remoteSnapshot\n });\n if (!assets) {\n return;\n }\n preloadAssets(remoteInfo, host, assets);\n }));\n }\n registerRemotes(remotes, options) {\n const { host } = this;\n remotes.forEach((remote)=>{\n this.registerRemote(remote, host.options.remotes, {\n force: options == null ? void 0 : options.force\n });\n });\n }\n async getRemoteModuleAndOptions(options) {\n const { host } = this;\n const { id } = options;\n let loadRemoteArgs;\n try {\n loadRemoteArgs = await this.hooks.lifecycle.beforeRequest.emit({\n id,\n options: host.options,\n origin: host\n });\n } catch (error) {\n loadRemoteArgs = await this.hooks.lifecycle.errorLoadRemote.emit({\n id,\n options: host.options,\n origin: host,\n from: 'runtime',\n error,\n lifecycle: 'beforeRequest'\n });\n if (!loadRemoteArgs) {\n throw error;\n }\n }\n const { id: idRes } = loadRemoteArgs;\n const remoteSplitInfo = matchRemoteWithNameAndExpose(host.options.remotes, idRes);\n share.assert(remoteSplitInfo, `\n Unable to locate ${idRes} in ${host.options.name}. Potential reasons for failure include:\\n\n 1. ${idRes} was not included in the 'remotes' parameter of ${host.options.name || 'the host'}.\\n\n 2. ${idRes} could not be found in the 'remotes' of ${host.options.name} with either 'name' or 'alias' attributes.\n 3. ${idRes} is not online, injected, or loaded.\n 4. ${idRes} cannot be accessed on the expected.\n 5. The 'beforeRequest' hook was provided but did not return the correct 'remoteInfo' when attempting to load ${idRes}.\n `);\n const { remote: rawRemote } = remoteSplitInfo;\n const remoteInfo = getRemoteInfo(rawRemote);\n const matchInfo = await host.sharedHandler.hooks.lifecycle.afterResolve.emit(polyfills._extends({\n id: idRes\n }, remoteSplitInfo, {\n options: host.options,\n origin: host,\n remoteInfo\n }));\n const { remote, expose } = matchInfo;\n share.assert(remote && expose, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${idRes}.`);\n let module = host.moduleCache.get(remote.name);\n const moduleOptions = {\n host: host,\n remoteInfo\n };\n if (!module) {\n module = new Module(moduleOptions);\n host.moduleCache.set(remote.name, module);\n }\n return {\n module,\n moduleOptions,\n remoteMatchInfo: matchInfo\n };\n }\n registerRemote(remote, targetRemotes, options) {\n const { host } = this;\n const normalizeRemote = ()=>{\n if (remote.alias) {\n // Validate if alias equals the prefix of remote.name and remote.alias, if so, throw an error\n // As multi-level path references cannot guarantee unique names, alias being a prefix of remote.name is not supported\n const findEqual = targetRemotes.find((item)=>{\n var _item_alias;\n return remote.alias && (item.name.startsWith(remote.alias) || ((_item_alias = item.alias) == null ? void 0 : _item_alias.startsWith(remote.alias)));\n });\n share.assert(!findEqual, `The alias ${remote.alias} of remote ${remote.name} is not allowed to be the prefix of ${findEqual && findEqual.name} name or alias`);\n }\n // Set the remote entry to a complete path\n if ('entry' in remote) {\n if (sdk.isBrowserEnv() && !remote.entry.startsWith('http')) {\n remote.entry = new URL(remote.entry, window.location.origin).href;\n }\n }\n if (!remote.shareScope) {\n remote.shareScope = share.DEFAULT_SCOPE;\n }\n if (!remote.type) {\n remote.type = share.DEFAULT_REMOTE_TYPE;\n }\n };\n this.hooks.lifecycle.beforeRegisterRemote.emit({\n remote,\n origin: host\n });\n const registeredRemote = targetRemotes.find((item)=>item.name === remote.name);\n if (!registeredRemote) {\n normalizeRemote();\n targetRemotes.push(remote);\n this.hooks.lifecycle.registerRemote.emit({\n remote,\n origin: host\n });\n } else {\n const messages = [\n `The remote \"${remote.name}\" is already registered.`,\n (options == null ? void 0 : options.force) ? 'Hope you have known that OVERRIDE it may have some unexpected errors' : 'If you want to merge the remote, you can set \"force: true\".'\n ];\n if (options == null ? void 0 : options.force) {\n // remove registered remote\n this.removeRemote(registeredRemote);\n normalizeRemote();\n targetRemotes.push(remote);\n this.hooks.lifecycle.registerRemote.emit({\n remote,\n origin: host\n });\n }\n sdk.warn(messages.join(' '));\n }\n }\n removeRemote(remote) {\n try {\n const { host } = this;\n const { name } = remote;\n const remoteIndex = host.options.remotes.findIndex((item)=>item.name === name);\n if (remoteIndex !== -1) {\n host.options.remotes.splice(remoteIndex, 1);\n }\n const loadedModule = host.moduleCache.get(remote.name);\n if (loadedModule) {\n const remoteInfo = loadedModule.remoteInfo;\n const key = remoteInfo.entryGlobalName;\n if (globalThis[key]) {\n var _Object_getOwnPropertyDescriptor;\n if ((_Object_getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor(globalThis, key)) == null ? void 0 : _Object_getOwnPropertyDescriptor.configurable) {\n delete globalThis[key];\n } else {\n // @ts-ignore\n globalThis[key] = undefined;\n }\n }\n const remoteEntryUniqueKey = getRemoteEntryUniqueKey(loadedModule.remoteInfo);\n if (share.globalLoading[remoteEntryUniqueKey]) {\n delete share.globalLoading[remoteEntryUniqueKey];\n }\n host.snapshotHandler.manifestCache.delete(remoteInfo.entry);\n // delete unloaded shared and instance\n let remoteInsId = remoteInfo.buildVersion ? sdk.composeKeyWithSeparator(remoteInfo.name, remoteInfo.buildVersion) : remoteInfo.name;\n const remoteInsIndex = globalThis.__FEDERATION__.__INSTANCES__.findIndex((ins)=>{\n if (remoteInfo.buildVersion) {\n return ins.options.id === remoteInsId;\n } else {\n return ins.name === remoteInsId;\n }\n });\n if (remoteInsIndex !== -1) {\n const remoteIns = globalThis.__FEDERATION__.__INSTANCES__[remoteInsIndex];\n remoteInsId = remoteIns.options.id || remoteInsId;\n const globalShareScopeMap = share.getGlobalShareScope();\n let isAllSharedNotUsed = true;\n const needDeleteKeys = [];\n Object.keys(globalShareScopeMap).forEach((instId)=>{\n const shareScopeMap = globalShareScopeMap[instId];\n shareScopeMap && Object.keys(shareScopeMap).forEach((shareScope)=>{\n const shareScopeVal = shareScopeMap[shareScope];\n shareScopeVal && Object.keys(shareScopeVal).forEach((shareName)=>{\n const sharedPkgs = shareScopeVal[shareName];\n sharedPkgs && Object.keys(sharedPkgs).forEach((shareVersion)=>{\n const shared = sharedPkgs[shareVersion];\n if (shared && typeof shared === 'object' && shared.from === remoteInfo.name) {\n if (shared.loaded || shared.loading) {\n shared.useIn = shared.useIn.filter((usedHostName)=>usedHostName !== remoteInfo.name);\n if (shared.useIn.length) {\n isAllSharedNotUsed = false;\n } else {\n needDeleteKeys.push([\n instId,\n shareScope,\n shareName,\n shareVersion\n ]);\n }\n } else {\n needDeleteKeys.push([\n instId,\n shareScope,\n shareName,\n shareVersion\n ]);\n }\n }\n });\n });\n });\n });\n if (isAllSharedNotUsed) {\n remoteIns.shareScopeMap = {};\n delete globalShareScopeMap[remoteInsId];\n }\n needDeleteKeys.forEach(([insId, shareScope, shareName, shareVersion])=>{\n var _globalShareScopeMap_insId_shareScope_shareName, _globalShareScopeMap_insId_shareScope, _globalShareScopeMap_insId;\n (_globalShareScopeMap_insId = globalShareScopeMap[insId]) == null ? true : (_globalShareScopeMap_insId_shareScope = _globalShareScopeMap_insId[shareScope]) == null ? true : (_globalShareScopeMap_insId_shareScope_shareName = _globalShareScopeMap_insId_shareScope[shareName]) == null ? true : delete _globalShareScopeMap_insId_shareScope_shareName[shareVersion];\n });\n globalThis.__FEDERATION__.__INSTANCES__.splice(remoteInsIndex, 1);\n }\n const { hostGlobalSnapshot } = getGlobalRemoteInfo(remote, host);\n if (hostGlobalSnapshot) {\n const remoteKey = hostGlobalSnapshot && 'remotesInfo' in hostGlobalSnapshot && hostGlobalSnapshot.remotesInfo && share.getInfoWithoutType(hostGlobalSnapshot.remotesInfo, remote.name).key;\n if (remoteKey) {\n delete hostGlobalSnapshot.remotesInfo[remoteKey];\n if (//eslint-disable-next-line no-extra-boolean-cast\n Boolean(share.Global.__FEDERATION__.__MANIFEST_LOADING__[remoteKey])) {\n delete share.Global.__FEDERATION__.__MANIFEST_LOADING__[remoteKey];\n }\n }\n }\n host.moduleCache.delete(remote.name);\n }\n } catch (err) {\n console.log('removeRemote fail: ', err);\n }\n }\n constructor(host){\n this.hooks = new PluginSystem({\n beforeRegisterRemote: new SyncWaterfallHook('beforeRegisterRemote'),\n registerRemote: new SyncWaterfallHook('registerRemote'),\n beforeRequest: new AsyncWaterfallHook('beforeRequest'),\n onLoad: new AsyncHook('onLoad'),\n handlePreloadModule: new SyncHook('handlePreloadModule'),\n errorLoadRemote: new AsyncHook('errorLoadRemote'),\n beforePreloadRemote: new AsyncHook('beforePreloadRemote'),\n generatePreloadAssets: new AsyncHook('generatePreloadAssets'),\n // not used yet\n afterPreloadRemote: new AsyncHook(),\n loadEntry: new AsyncHook()\n });\n this.host = host;\n this.idToRemoteMap = {};\n }\n}\n\nclass FederationHost {\n initOptions(userOptions) {\n this.registerPlugins(userOptions.plugins);\n const options = this.formatOptions(this.options, userOptions);\n this.options = options;\n return options;\n }\n async loadShare(pkgName, extraOptions) {\n return this.sharedHandler.loadShare(pkgName, extraOptions);\n }\n // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.\n // 1. If the loaded shared already exists globally, then it will be reused\n // 2. If lib exists in local shared, it will be used directly\n // 3. If the local get returns something other than Promise, then it will be used directly\n loadShareSync(pkgName, extraOptions) {\n return this.sharedHandler.loadShareSync(pkgName, extraOptions);\n }\n initializeSharing(shareScopeName = share.DEFAULT_SCOPE, extraOptions) {\n return this.sharedHandler.initializeSharing(shareScopeName, extraOptions);\n }\n initRawContainer(name, url, container) {\n const remoteInfo = getRemoteInfo({\n name,\n entry: url\n });\n const module = new Module({\n host: this,\n remoteInfo\n });\n module.remoteEntryExports = container;\n this.moduleCache.set(name, module);\n return module;\n }\n // eslint-disable-next-line max-lines-per-function\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async loadRemote(id, options) {\n return this.remoteHandler.loadRemote(id, options);\n }\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async preloadRemote(preloadOptions) {\n return this.remoteHandler.preloadRemote(preloadOptions);\n }\n initShareScopeMap(scopeName, shareScope, extraOptions = {}) {\n this.sharedHandler.initShareScopeMap(scopeName, shareScope, extraOptions);\n }\n formatOptions(globalOptions, userOptions) {\n const { shared } = share.formatShareConfigs(globalOptions, userOptions);\n const { userOptions: userOptionsRes, options: globalOptionsRes } = this.hooks.lifecycle.beforeInit.emit({\n origin: this,\n userOptions,\n options: globalOptions,\n shareInfo: shared\n });\n const remotes = this.remoteHandler.formatAndRegisterRemote(globalOptionsRes, userOptionsRes);\n const { shared: handledShared } = this.sharedHandler.registerShared(globalOptionsRes, userOptionsRes);\n const plugins = [\n ...globalOptionsRes.plugins\n ];\n if (userOptionsRes.plugins) {\n userOptionsRes.plugins.forEach((plugin)=>{\n if (!plugins.includes(plugin)) {\n plugins.push(plugin);\n }\n });\n }\n const optionsRes = polyfills._extends({}, globalOptions, userOptions, {\n plugins,\n remotes,\n shared: handledShared\n });\n this.hooks.lifecycle.init.emit({\n origin: this,\n options: optionsRes\n });\n return optionsRes;\n }\n registerPlugins(plugins) {\n const pluginRes = registerPlugins$1(plugins, [\n this.hooks,\n this.remoteHandler.hooks,\n this.sharedHandler.hooks,\n this.snapshotHandler.hooks,\n this.loaderHook\n ]);\n // Merge plugin\n this.options.plugins = this.options.plugins.reduce((res, plugin)=>{\n if (!plugin) return res;\n if (res && !res.find((item)=>item.name === plugin.name)) {\n res.push(plugin);\n }\n return res;\n }, pluginRes || []);\n }\n registerRemotes(remotes, options) {\n return this.remoteHandler.registerRemotes(remotes, options);\n }\n constructor(userOptions){\n this.hooks = new PluginSystem({\n beforeInit: new SyncWaterfallHook('beforeInit'),\n init: new SyncHook(),\n // maybe will change, temporarily for internal use only\n beforeInitContainer: new AsyncWaterfallHook('beforeInitContainer'),\n // maybe will change, temporarily for internal use only\n initContainer: new AsyncWaterfallHook('initContainer')\n });\n this.version = \"0.6.7\";\n this.moduleCache = new Map();\n this.loaderHook = new PluginSystem({\n // FIXME: may not be suitable , not open to the public yet\n getModuleInfo: new SyncHook(),\n createScript: new SyncHook(),\n createLink: new SyncHook(),\n // only work for manifest , so not open to the public yet\n fetch: new AsyncHook()\n });\n // TODO: Validate the details of the options\n // Initialize options with default values\n const defaultOptions = {\n id: share.getBuilderId(),\n name: userOptions.name,\n plugins: [\n snapshotPlugin(),\n generatePreloadAssetsPlugin()\n ],\n remotes: [],\n shared: {},\n inBrowser: sdk.isBrowserEnv()\n };\n this.name = userOptions.name;\n this.options = defaultOptions;\n this.snapshotHandler = new SnapshotHandler(this);\n this.sharedHandler = new SharedHandler(this);\n this.remoteHandler = new RemoteHandler(this);\n this.shareScopeMap = this.sharedHandler.shareScopeMap;\n this.registerPlugins([\n ...defaultOptions.plugins,\n ...userOptions.plugins || []\n ]);\n this.options = this.formatOptions(defaultOptions, userOptions);\n }\n}\n\nlet FederationInstance = null;\nfunction init(options) {\n // Retrieve the same instance with the same name\n const instance = share.getGlobalFederationInstance(options.name, options.version);\n if (!instance) {\n // Retrieve debug constructor\n const FederationConstructor = share.getGlobalFederationConstructor() || FederationHost;\n FederationInstance = new FederationConstructor(options);\n share.setGlobalFederationInstance(FederationInstance);\n return FederationInstance;\n } else {\n // Merge options\n instance.initOptions(options);\n if (!FederationInstance) {\n FederationInstance = instance;\n }\n return instance;\n }\n}\nfunction loadRemote(...args) {\n share.assert(FederationInstance, 'Please call init first');\n const loadRemote1 = FederationInstance.loadRemote;\n // eslint-disable-next-line prefer-spread\n return loadRemote1.apply(FederationInstance, args);\n}\nfunction loadShare(...args) {\n share.assert(FederationInstance, 'Please call init first');\n // eslint-disable-next-line prefer-spread\n const loadShare1 = FederationInstance.loadShare;\n return loadShare1.apply(FederationInstance, args);\n}\nfunction loadShareSync(...args) {\n share.assert(FederationInstance, 'Please call init first');\n const loadShareSync1 = FederationInstance.loadShareSync;\n // eslint-disable-next-line prefer-spread\n return loadShareSync1.apply(FederationInstance, args);\n}\nfunction preloadRemote(...args) {\n share.assert(FederationInstance, 'Please call init first');\n // eslint-disable-next-line prefer-spread\n return FederationInstance.preloadRemote.apply(FederationInstance, args);\n}\nfunction registerRemotes(...args) {\n share.assert(FederationInstance, 'Please call init first');\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerRemotes.apply(FederationInstance, args);\n}\nfunction registerPlugins(...args) {\n share.assert(FederationInstance, 'Please call init first');\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerPlugins.apply(FederationInstance, args);\n}\nfunction getInstance() {\n return FederationInstance;\n}\n// Inject for debug\nshare.setGlobalFederationConstructor(FederationHost);\n\nObject.defineProperty(exports, 'loadScript', {\n enumerable: true,\n get: function () { return sdk.loadScript; }\n});\nObject.defineProperty(exports, 'loadScriptNode', {\n enumerable: true,\n get: function () { return sdk.loadScriptNode; }\n});\nexports.registerGlobalPlugins = share.registerGlobalPlugins;\nexports.FederationHost = FederationHost;\nexports.Module = Module;\nexports.getInstance = getInstance;\nexports.getRemoteEntry = getRemoteEntry;\nexports.getRemoteInfo = getRemoteInfo;\nexports.init = init;\nexports.loadRemote = loadRemote;\nexports.loadShare = loadShare;\nexports.loadShareSync = loadShareSync;\nexports.preloadRemote = preloadRemote;\nexports.registerPlugins = registerPlugins;\nexports.registerRemotes = registerRemotes;\n","'use strict';\n\nfunction _extends() {\n _extends = Object.assign || function assign(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nexports._extends = _extends;\nexports._object_without_properties_loose = _object_without_properties_loose;\n","'use strict';\n\nvar polyfills = require('./polyfills.cjs.js');\nvar sdk = require('@module-federation/sdk');\n\nfunction getBuilderId() {\n //@ts-ignore\n return typeof FEDERATION_BUILD_IDENTIFIER !== 'undefined' ? FEDERATION_BUILD_IDENTIFIER : '';\n}\n\nconst LOG_CATEGORY = '[ Federation Runtime ]';\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction assert(condition, msg) {\n if (!condition) {\n error(msg);\n }\n}\nfunction error(msg) {\n if (msg instanceof Error) {\n msg.message = `${LOG_CATEGORY}: ${msg.message}`;\n throw msg;\n }\n throw new Error(`${LOG_CATEGORY}: ${msg}`);\n}\nfunction warn(msg) {\n if (msg instanceof Error) {\n msg.message = `${LOG_CATEGORY}: ${msg.message}`;\n console.warn(msg);\n } else {\n console.warn(`${LOG_CATEGORY}: ${msg}`);\n }\n}\n\nfunction addUniqueItem(arr, item) {\n if (arr.findIndex((name)=>name === item) === -1) {\n arr.push(item);\n }\n return arr;\n}\nfunction getFMId(remoteInfo) {\n if ('version' in remoteInfo && remoteInfo.version) {\n return `${remoteInfo.name}:${remoteInfo.version}`;\n } else if ('entry' in remoteInfo && remoteInfo.entry) {\n return `${remoteInfo.name}:${remoteInfo.entry}`;\n } else {\n return `${remoteInfo.name}`;\n }\n}\nfunction isRemoteInfoWithEntry(remote) {\n return typeof remote.entry !== 'undefined';\n}\nfunction isPureRemoteEntry(remote) {\n return !remote.entry.includes('.json') && remote.entry.includes('.js');\n}\nfunction isObject(val) {\n return val && typeof val === 'object';\n}\nconst objectToString = Object.prototype.toString;\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isPlainObject(val) {\n return objectToString.call(val) === '[object Object]';\n}\nfunction arrayOptions(options) {\n return Array.isArray(options) ? options : [\n options\n ];\n}\nfunction getRemoteEntryInfoFromSnapshot(snapshot) {\n const defaultRemoteEntryInfo = {\n url: '',\n type: 'global',\n globalName: ''\n };\n if (sdk.isBrowserEnv()) {\n return 'remoteEntry' in snapshot ? {\n url: snapshot.remoteEntry,\n type: snapshot.remoteEntryType,\n globalName: snapshot.globalName\n } : defaultRemoteEntryInfo;\n }\n if ('ssrRemoteEntry' in snapshot) {\n return {\n url: snapshot.ssrRemoteEntry || defaultRemoteEntryInfo.url,\n type: snapshot.ssrRemoteEntryType || defaultRemoteEntryInfo.type,\n globalName: snapshot.globalName\n };\n }\n return defaultRemoteEntryInfo;\n}\n\nconst nativeGlobal = (()=>{\n try {\n return new Function('return this')();\n } catch (e) {\n return globalThis;\n }\n})();\nconst Global = nativeGlobal;\nfunction definePropertyGlobalVal(target, key, val) {\n Object.defineProperty(target, key, {\n value: val,\n configurable: false,\n writable: true\n });\n}\nfunction includeOwnProperty(target, key) {\n return Object.hasOwnProperty.call(target, key);\n}\n// This section is to prevent encapsulation by certain microfrontend frameworks. Due to reuse policies, sandbox escapes.\n// The sandbox in the microfrontend does not replicate the value of 'configurable'.\n// If there is no loading content on the global object, this section defines the loading object.\nif (!includeOwnProperty(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__')) {\n definePropertyGlobalVal(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__', {});\n}\nconst globalLoading = globalThis.__GLOBAL_LOADING_REMOTE_ENTRY__;\nfunction setGlobalDefaultVal(target) {\n var _target___FEDERATION__, _target___FEDERATION__1, _target___FEDERATION__2, _target___FEDERATION__3, _target___FEDERATION__4, _target___FEDERATION__5;\n if (includeOwnProperty(target, '__VMOK__') && !includeOwnProperty(target, '__FEDERATION__')) {\n definePropertyGlobalVal(target, '__FEDERATION__', target.__VMOK__);\n }\n if (!includeOwnProperty(target, '__FEDERATION__')) {\n definePropertyGlobalVal(target, '__FEDERATION__', {\n __GLOBAL_PLUGIN__: [],\n __INSTANCES__: [],\n moduleInfo: {},\n __SHARE__: {},\n __MANIFEST_LOADING__: {},\n __PRELOADED_MAP__: new Map()\n });\n definePropertyGlobalVal(target, '__VMOK__', target.__FEDERATION__);\n }\n var ___GLOBAL_PLUGIN__;\n (___GLOBAL_PLUGIN__ = (_target___FEDERATION__ = target.__FEDERATION__).__GLOBAL_PLUGIN__) != null ? ___GLOBAL_PLUGIN__ : _target___FEDERATION__.__GLOBAL_PLUGIN__ = [];\n var ___INSTANCES__;\n (___INSTANCES__ = (_target___FEDERATION__1 = target.__FEDERATION__).__INSTANCES__) != null ? ___INSTANCES__ : _target___FEDERATION__1.__INSTANCES__ = [];\n var _moduleInfo;\n (_moduleInfo = (_target___FEDERATION__2 = target.__FEDERATION__).moduleInfo) != null ? _moduleInfo : _target___FEDERATION__2.moduleInfo = {};\n var ___SHARE__;\n (___SHARE__ = (_target___FEDERATION__3 = target.__FEDERATION__).__SHARE__) != null ? ___SHARE__ : _target___FEDERATION__3.__SHARE__ = {};\n var ___MANIFEST_LOADING__;\n (___MANIFEST_LOADING__ = (_target___FEDERATION__4 = target.__FEDERATION__).__MANIFEST_LOADING__) != null ? ___MANIFEST_LOADING__ : _target___FEDERATION__4.__MANIFEST_LOADING__ = {};\n var ___PRELOADED_MAP__;\n (___PRELOADED_MAP__ = (_target___FEDERATION__5 = target.__FEDERATION__).__PRELOADED_MAP__) != null ? ___PRELOADED_MAP__ : _target___FEDERATION__5.__PRELOADED_MAP__ = new Map();\n}\nsetGlobalDefaultVal(globalThis);\nsetGlobalDefaultVal(nativeGlobal);\nfunction resetFederationGlobalInfo() {\n globalThis.__FEDERATION__.__GLOBAL_PLUGIN__ = [];\n globalThis.__FEDERATION__.__INSTANCES__ = [];\n globalThis.__FEDERATION__.moduleInfo = {};\n globalThis.__FEDERATION__.__SHARE__ = {};\n globalThis.__FEDERATION__.__MANIFEST_LOADING__ = {};\n}\nfunction getGlobalFederationInstance(name, version) {\n const buildId = getBuilderId();\n return globalThis.__FEDERATION__.__INSTANCES__.find((GMInstance)=>{\n if (buildId && GMInstance.options.id === getBuilderId()) {\n return true;\n }\n if (GMInstance.options.name === name && !GMInstance.options.version && !version) {\n return true;\n }\n if (GMInstance.options.name === name && version && GMInstance.options.version === version) {\n return true;\n }\n return false;\n });\n}\nfunction setGlobalFederationInstance(FederationInstance) {\n globalThis.__FEDERATION__.__INSTANCES__.push(FederationInstance);\n}\nfunction getGlobalFederationConstructor() {\n return globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__;\n}\nfunction setGlobalFederationConstructor(FederationConstructor, isDebug = sdk.isDebugMode()) {\n if (isDebug) {\n globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;\n globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = \"0.6.7\";\n }\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction getInfoWithoutType(target, key) {\n if (typeof key === 'string') {\n const keyRes = target[key];\n if (keyRes) {\n return {\n value: target[key],\n key: key\n };\n } else {\n const targetKeys = Object.keys(target);\n for (const targetKey of targetKeys){\n const [targetTypeOrName, _] = targetKey.split(':');\n const nKey = `${targetTypeOrName}:${key}`;\n const typeWithKeyRes = target[nKey];\n if (typeWithKeyRes) {\n return {\n value: typeWithKeyRes,\n key: nKey\n };\n }\n }\n return {\n value: undefined,\n key: key\n };\n }\n } else {\n throw new Error('key must be string');\n }\n}\nconst getGlobalSnapshot = ()=>nativeGlobal.__FEDERATION__.moduleInfo;\nconst getTargetSnapshotInfoByModuleInfo = (moduleInfo, snapshot)=>{\n // Check if the remote is included in the hostSnapshot\n const moduleKey = getFMId(moduleInfo);\n const getModuleInfo = getInfoWithoutType(snapshot, moduleKey).value;\n // The remoteSnapshot might not include a version\n if (getModuleInfo && !getModuleInfo.version && 'version' in moduleInfo && moduleInfo['version']) {\n getModuleInfo.version = moduleInfo['version'];\n }\n if (getModuleInfo) {\n return getModuleInfo;\n }\n // If the remote is not included in the hostSnapshot, deploy a micro app snapshot\n if ('version' in moduleInfo && moduleInfo['version']) {\n const { version } = moduleInfo, resModuleInfo = polyfills._object_without_properties_loose(moduleInfo, [\n \"version\"\n ]);\n const moduleKeyWithoutVersion = getFMId(resModuleInfo);\n const getModuleInfoWithoutVersion = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, moduleKeyWithoutVersion).value;\n if ((getModuleInfoWithoutVersion == null ? void 0 : getModuleInfoWithoutVersion.version) === version) {\n return getModuleInfoWithoutVersion;\n }\n }\n return;\n};\nconst getGlobalSnapshotInfoByModuleInfo = (moduleInfo)=>getTargetSnapshotInfoByModuleInfo(moduleInfo, nativeGlobal.__FEDERATION__.moduleInfo);\nconst setGlobalSnapshotInfoByModuleInfo = (remoteInfo, moduleDetailInfo)=>{\n const moduleKey = getFMId(remoteInfo);\n nativeGlobal.__FEDERATION__.moduleInfo[moduleKey] = moduleDetailInfo;\n return nativeGlobal.__FEDERATION__.moduleInfo;\n};\nconst addGlobalSnapshot = (moduleInfos)=>{\n nativeGlobal.__FEDERATION__.moduleInfo = polyfills._extends({}, nativeGlobal.__FEDERATION__.moduleInfo, moduleInfos);\n return ()=>{\n const keys = Object.keys(moduleInfos);\n for (const key of keys){\n delete nativeGlobal.__FEDERATION__.moduleInfo[key];\n }\n };\n};\nconst getRemoteEntryExports = (name, globalName)=>{\n const remoteEntryKey = globalName || `__FEDERATION_${name}:custom__`;\n const entryExports = globalThis[remoteEntryKey];\n return {\n remoteEntryKey,\n entryExports\n };\n};\n// This function is used to register global plugins.\n// It iterates over the provided plugins and checks if they are already registered.\n// If a plugin is not registered, it is added to the global plugins.\n// If a plugin is already registered, a warning message is logged.\nconst registerGlobalPlugins = (plugins)=>{\n const { __GLOBAL_PLUGIN__ } = nativeGlobal.__FEDERATION__;\n plugins.forEach((plugin)=>{\n if (__GLOBAL_PLUGIN__.findIndex((p)=>p.name === plugin.name) === -1) {\n __GLOBAL_PLUGIN__.push(plugin);\n } else {\n warn(`The plugin ${plugin.name} has been registered.`);\n }\n });\n};\nconst getGlobalHostPlugins = ()=>nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__;\nconst getPreloaded = (id)=>globalThis.__FEDERATION__.__PRELOADED_MAP__.get(id);\nconst setPreloaded = (id)=>globalThis.__FEDERATION__.__PRELOADED_MAP__.set(id, true);\n\nconst DEFAULT_SCOPE = 'default';\nconst DEFAULT_REMOTE_TYPE = 'global';\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// those constants are based on https://www.rubydoc.info/gems/semantic_range/3.0.0/SemanticRange#BUILDIDENTIFIER-constant\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nconst buildIdentifier = '[0-9A-Za-z-]+';\nconst build = `(?:\\\\+(${buildIdentifier}(?:\\\\.${buildIdentifier})*))`;\nconst numericIdentifier = '0|[1-9]\\\\d*';\nconst numericIdentifierLoose = '[0-9]+';\nconst nonNumericIdentifier = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*';\nconst preReleaseIdentifierLoose = `(?:${numericIdentifierLoose}|${nonNumericIdentifier})`;\nconst preReleaseLoose = `(?:-?(${preReleaseIdentifierLoose}(?:\\\\.${preReleaseIdentifierLoose})*))`;\nconst preReleaseIdentifier = `(?:${numericIdentifier}|${nonNumericIdentifier})`;\nconst preRelease = `(?:-(${preReleaseIdentifier}(?:\\\\.${preReleaseIdentifier})*))`;\nconst xRangeIdentifier = `${numericIdentifier}|x|X|\\\\*`;\nconst xRangePlain = `[v=\\\\s]*(${xRangeIdentifier})(?:\\\\.(${xRangeIdentifier})(?:\\\\.(${xRangeIdentifier})(?:${preRelease})?${build}?)?)?`;\nconst hyphenRange = `^\\\\s*(${xRangePlain})\\\\s+-\\\\s+(${xRangePlain})\\\\s*$`;\nconst mainVersionLoose = `(${numericIdentifierLoose})\\\\.(${numericIdentifierLoose})\\\\.(${numericIdentifierLoose})`;\nconst loosePlain = `[v=\\\\s]*${mainVersionLoose}${preReleaseLoose}?${build}?`;\nconst gtlt = '((?:<|>)?=?)';\nconst comparatorTrim = `(\\\\s*)${gtlt}\\\\s*(${loosePlain}|${xRangePlain})`;\nconst loneTilde = '(?:~>?)';\nconst tildeTrim = `(\\\\s*)${loneTilde}\\\\s+`;\nconst loneCaret = '(?:\\\\^)';\nconst caretTrim = `(\\\\s*)${loneCaret}\\\\s+`;\nconst star = '(<|>)?=?\\\\s*\\\\*';\nconst caret = `^${loneCaret}${xRangePlain}$`;\nconst mainVersion = `(${numericIdentifier})\\\\.(${numericIdentifier})\\\\.(${numericIdentifier})`;\nconst fullPlain = `v?${mainVersion}${preRelease}?${build}?`;\nconst tilde = `^${loneTilde}${xRangePlain}$`;\nconst xRange = `^${gtlt}\\\\s*${xRangePlain}$`;\nconst comparator = `^${gtlt}\\\\s*(${fullPlain})$|^$`;\n// copy from semver package\nconst gte0 = '^\\\\s*>=\\\\s*0.0.0\\\\s*$';\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\nfunction parseRegex(source) {\n return new RegExp(source);\n}\nfunction isXVersion(version) {\n return !version || version.toLowerCase() === 'x' || version === '*';\n}\nfunction pipe(...fns) {\n return (x)=>fns.reduce((v, f)=>f(v), x);\n}\nfunction extractComparator(comparatorString) {\n return comparatorString.match(parseRegex(comparator));\n}\nfunction combineVersion(major, minor, patch, preRelease) {\n const mainVersion = `${major}.${minor}.${patch}`;\n if (preRelease) {\n return `${mainVersion}-${preRelease}`;\n }\n return mainVersion;\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\nfunction parseHyphen(range) {\n return range.replace(parseRegex(hyphenRange), (_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease)=>{\n if (isXVersion(fromMajor)) {\n from = '';\n } else if (isXVersion(fromMinor)) {\n from = `>=${fromMajor}.0.0`;\n } else if (isXVersion(fromPatch)) {\n from = `>=${fromMajor}.${fromMinor}.0`;\n } else {\n from = `>=${from}`;\n }\n if (isXVersion(toMajor)) {\n to = '';\n } else if (isXVersion(toMinor)) {\n to = `<${Number(toMajor) + 1}.0.0-0`;\n } else if (isXVersion(toPatch)) {\n to = `<${toMajor}.${Number(toMinor) + 1}.0-0`;\n } else if (toPreRelease) {\n to = `<=${toMajor}.${toMinor}.${toPatch}-${toPreRelease}`;\n } else {\n to = `<=${to}`;\n }\n return `${from} ${to}`.trim();\n });\n}\nfunction parseComparatorTrim(range) {\n return range.replace(parseRegex(comparatorTrim), '$1$2$3');\n}\nfunction parseTildeTrim(range) {\n return range.replace(parseRegex(tildeTrim), '$1~');\n}\nfunction parseCaretTrim(range) {\n return range.replace(parseRegex(caretTrim), '$1^');\n}\nfunction parseCarets(range) {\n return range.trim().split(/\\s+/).map((rangeVersion)=>rangeVersion.replace(parseRegex(caret), (_, major, minor, patch, preRelease)=>{\n if (isXVersion(major)) {\n return '';\n } else if (isXVersion(minor)) {\n return `>=${major}.0.0 <${Number(major) + 1}.0.0-0`;\n } else if (isXVersion(patch)) {\n if (major === '0') {\n return `>=${major}.${minor}.0 <${major}.${Number(minor) + 1}.0-0`;\n } else {\n return `>=${major}.${minor}.0 <${Number(major) + 1}.0.0-0`;\n }\n } else if (preRelease) {\n if (major === '0') {\n if (minor === '0') {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${minor}.${Number(patch) + 1}-0`;\n } else {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n } else {\n return `>=${major}.${minor}.${patch}-${preRelease} <${Number(major) + 1}.0.0-0`;\n }\n } else {\n if (major === '0') {\n if (minor === '0') {\n return `>=${major}.${minor}.${patch} <${major}.${minor}.${Number(patch) + 1}-0`;\n } else {\n return `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;\n }\n }\n return `>=${major}.${minor}.${patch} <${Number(major) + 1}.0.0-0`;\n }\n })).join(' ');\n}\nfunction parseTildes(range) {\n return range.trim().split(/\\s+/).map((rangeVersion)=>rangeVersion.replace(parseRegex(tilde), (_, major, minor, patch, preRelease)=>{\n if (isXVersion(major)) {\n return '';\n } else if (isXVersion(minor)) {\n return `>=${major}.0.0 <${Number(major) + 1}.0.0-0`;\n } else if (isXVersion(patch)) {\n return `>=${major}.${minor}.0 <${major}.${Number(minor) + 1}.0-0`;\n } else if (preRelease) {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n return `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;\n })).join(' ');\n}\nfunction parseXRanges(range) {\n return range.split(/\\s+/).map((rangeVersion)=>rangeVersion.trim().replace(parseRegex(xRange), (ret, gtlt, major, minor, patch, preRelease)=>{\n const isXMajor = isXVersion(major);\n const isXMinor = isXMajor || isXVersion(minor);\n const isXPatch = isXMinor || isXVersion(patch);\n if (gtlt === '=' && isXPatch) {\n gtlt = '';\n }\n preRelease = '';\n if (isXMajor) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n return '<0.0.0-0';\n } else {\n // nothing is forbidden\n return '*';\n }\n } else if (gtlt && isXPatch) {\n // replace X with 0\n if (isXMinor) {\n minor = 0;\n }\n patch = 0;\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>=';\n if (isXMinor) {\n major = Number(major) + 1;\n minor = 0;\n patch = 0;\n } else {\n minor = Number(minor) + 1;\n patch = 0;\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should pass\n // Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<';\n if (isXMinor) {\n major = Number(major) + 1;\n } else {\n minor = Number(minor) + 1;\n }\n }\n if (gtlt === '<') {\n preRelease = '-0';\n }\n return `${gtlt + major}.${minor}.${patch}${preRelease}`;\n } else if (isXMinor) {\n return `>=${major}.0.0${preRelease} <${Number(major) + 1}.0.0-0`;\n } else if (isXPatch) {\n return `>=${major}.${minor}.0${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n return ret;\n })).join(' ');\n}\nfunction parseStar(range) {\n return range.trim().replace(parseRegex(star), '');\n}\nfunction parseGTE0(comparatorString) {\n return comparatorString.trim().replace(parseRegex(gte0), '');\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nfunction compareAtom(rangeAtom, versionAtom) {\n rangeAtom = Number(rangeAtom) || rangeAtom;\n versionAtom = Number(versionAtom) || versionAtom;\n if (rangeAtom > versionAtom) {\n return 1;\n }\n if (rangeAtom === versionAtom) {\n return 0;\n }\n return -1;\n}\nfunction comparePreRelease(rangeAtom, versionAtom) {\n const { preRelease: rangePreRelease } = rangeAtom;\n const { preRelease: versionPreRelease } = versionAtom;\n if (rangePreRelease === undefined && Boolean(versionPreRelease)) {\n return 1;\n }\n if (Boolean(rangePreRelease) && versionPreRelease === undefined) {\n return -1;\n }\n if (rangePreRelease === undefined && versionPreRelease === undefined) {\n return 0;\n }\n for(let i = 0, n = rangePreRelease.length; i <= n; i++){\n const rangeElement = rangePreRelease[i];\n const versionElement = versionPreRelease[i];\n if (rangeElement === versionElement) {\n continue;\n }\n if (rangeElement === undefined && versionElement === undefined) {\n return 0;\n }\n if (!rangeElement) {\n return 1;\n }\n if (!versionElement) {\n return -1;\n }\n return compareAtom(rangeElement, versionElement);\n }\n return 0;\n}\nfunction compareVersion(rangeAtom, versionAtom) {\n return compareAtom(rangeAtom.major, versionAtom.major) || compareAtom(rangeAtom.minor, versionAtom.minor) || compareAtom(rangeAtom.patch, versionAtom.patch) || comparePreRelease(rangeAtom, versionAtom);\n}\nfunction eq(rangeAtom, versionAtom) {\n return rangeAtom.version === versionAtom.version;\n}\nfunction compare(rangeAtom, versionAtom) {\n switch(rangeAtom.operator){\n case '':\n case '=':\n return eq(rangeAtom, versionAtom);\n case '>':\n return compareVersion(rangeAtom, versionAtom) < 0;\n case '>=':\n return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) < 0;\n case '<':\n return compareVersion(rangeAtom, versionAtom) > 0;\n case '<=':\n return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) > 0;\n case undefined:\n {\n // mean * or x -> all versions\n return true;\n }\n default:\n return false;\n }\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\nfunction parseComparatorString(range) {\n return pipe(// handle caret\n // ^ --> * (any, kinda silly)\n // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n // ^1.2.3 --> >=1.2.3 <2.0.0-0\n // ^1.2.0 --> >=1.2.0 <2.0.0-0\n parseCarets, // handle tilde\n // ~, ~> --> * (any, kinda silly)\n // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n parseTildes, parseXRanges, parseStar)(range);\n}\nfunction parseRange(range) {\n return pipe(// handle hyphenRange\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n parseHyphen, // handle trim comparator\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n parseComparatorTrim, // handle trim tilde\n // `~ 1.2.3` => `~1.2.3`\n parseTildeTrim, // handle trim caret\n // `^ 1.2.3` => `^1.2.3`\n parseCaretTrim)(range.trim()).split(/\\s+/).join(' ');\n}\nfunction satisfy(version, range) {\n if (!version) {\n return false;\n }\n const parsedRange = parseRange(range);\n const parsedComparator = parsedRange.split(' ').map((rangeVersion)=>parseComparatorString(rangeVersion)).join(' ');\n const comparators = parsedComparator.split(/\\s+/).map((comparator)=>parseGTE0(comparator));\n const extractedVersion = extractComparator(version);\n if (!extractedVersion) {\n return false;\n }\n const [, versionOperator, , versionMajor, versionMinor, versionPatch, versionPreRelease] = extractedVersion;\n const versionAtom = {\n operator: versionOperator,\n version: combineVersion(versionMajor, versionMinor, versionPatch, versionPreRelease),\n major: versionMajor,\n minor: versionMinor,\n patch: versionPatch,\n preRelease: versionPreRelease == null ? void 0 : versionPreRelease.split('.')\n };\n for (const comparator of comparators){\n const extractedComparator = extractComparator(comparator);\n if (!extractedComparator) {\n return false;\n }\n const [, rangeOperator, , rangeMajor, rangeMinor, rangePatch, rangePreRelease] = extractedComparator;\n const rangeAtom = {\n operator: rangeOperator,\n version: combineVersion(rangeMajor, rangeMinor, rangePatch, rangePreRelease),\n major: rangeMajor,\n minor: rangeMinor,\n patch: rangePatch,\n preRelease: rangePreRelease == null ? void 0 : rangePreRelease.split('.')\n };\n if (!compare(rangeAtom, versionAtom)) {\n return false; // early return\n }\n }\n return true;\n}\n\nfunction formatShare(shareArgs, from, name, shareStrategy) {\n let get;\n if ('get' in shareArgs) {\n // eslint-disable-next-line prefer-destructuring\n get = shareArgs.get;\n } else if ('lib' in shareArgs) {\n get = ()=>Promise.resolve(shareArgs.lib);\n } else {\n get = ()=>Promise.resolve(()=>{\n throw new Error(`Can not get shared '${name}'!`);\n });\n }\n if (shareArgs.strategy) {\n warn(`\"shared.strategy is deprecated, please set in initOptions.shareStrategy instead!\"`);\n }\n var _shareArgs_version, _shareArgs_scope, _shareArgs_strategy;\n return polyfills._extends({\n deps: [],\n useIn: [],\n from,\n loading: null\n }, shareArgs, {\n shareConfig: polyfills._extends({\n requiredVersion: `^${shareArgs.version}`,\n singleton: false,\n eager: false,\n strictVersion: false\n }, shareArgs.shareConfig),\n get,\n loaded: (shareArgs == null ? void 0 : shareArgs.loaded) || 'lib' in shareArgs ? true : undefined,\n version: (_shareArgs_version = shareArgs.version) != null ? _shareArgs_version : '0',\n scope: Array.isArray(shareArgs.scope) ? shareArgs.scope : [\n (_shareArgs_scope = shareArgs.scope) != null ? _shareArgs_scope : 'default'\n ],\n strategy: ((_shareArgs_strategy = shareArgs.strategy) != null ? _shareArgs_strategy : shareStrategy) || 'version-first'\n });\n}\nfunction formatShareConfigs(globalOptions, userOptions) {\n const shareArgs = userOptions.shared || {};\n const from = userOptions.name;\n const shareInfos = Object.keys(shareArgs).reduce((res, pkgName)=>{\n const arrayShareArgs = arrayOptions(shareArgs[pkgName]);\n res[pkgName] = res[pkgName] || [];\n arrayShareArgs.forEach((shareConfig)=>{\n res[pkgName].push(formatShare(shareConfig, from, pkgName, userOptions.shareStrategy));\n });\n return res;\n }, {});\n const shared = polyfills._extends({}, globalOptions.shared);\n Object.keys(shareInfos).forEach((shareKey)=>{\n if (!shared[shareKey]) {\n shared[shareKey] = shareInfos[shareKey];\n } else {\n shareInfos[shareKey].forEach((newUserSharedOptions)=>{\n const isSameVersion = shared[shareKey].find((sharedVal)=>sharedVal.version === newUserSharedOptions.version);\n if (!isSameVersion) {\n shared[shareKey].push(newUserSharedOptions);\n }\n });\n }\n });\n return {\n shared,\n shareInfos\n };\n}\nfunction versionLt(a, b) {\n const transformInvalidVersion = (version)=>{\n const isNumberVersion = !Number.isNaN(Number(version));\n if (isNumberVersion) {\n const splitArr = version.split('.');\n let validVersion = version;\n for(let i = 0; i < 3 - splitArr.length; i++){\n validVersion += '.0';\n }\n return validVersion;\n }\n return version;\n };\n if (satisfy(transformInvalidVersion(a), `<=${transformInvalidVersion(b)}`)) {\n return true;\n } else {\n return false;\n }\n}\nconst findVersion = (shareVersionMap, cb)=>{\n const callback = cb || function(prev, cur) {\n return versionLt(prev, cur);\n };\n return Object.keys(shareVersionMap).reduce((prev, cur)=>{\n if (!prev) {\n return cur;\n }\n if (callback(prev, cur)) {\n return cur;\n }\n // default version is '0' https://github.com/webpack/webpack/blob/main/lib/sharing/ProvideSharedModule.js#L136\n if (prev === '0') {\n return cur;\n }\n return prev;\n }, 0);\n};\nconst isLoaded = (shared)=>{\n return Boolean(shared.loaded) || typeof shared.lib === 'function';\n};\nfunction findSingletonVersionOrderByVersion(shareScopeMap, scope, pkgName) {\n const versions = shareScopeMap[scope][pkgName];\n const callback = function(prev, cur) {\n return !isLoaded(versions[prev]) && versionLt(prev, cur);\n };\n return findVersion(shareScopeMap[scope][pkgName], callback);\n}\nfunction findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName) {\n const versions = shareScopeMap[scope][pkgName];\n const callback = function(prev, cur) {\n if (isLoaded(versions[cur])) {\n if (isLoaded(versions[prev])) {\n return Boolean(versionLt(prev, cur));\n } else {\n return true;\n }\n }\n if (isLoaded(versions[prev])) {\n return false;\n }\n return versionLt(prev, cur);\n };\n return findVersion(shareScopeMap[scope][pkgName], callback);\n}\nfunction getFindShareFunction(strategy) {\n if (strategy === 'loaded-first') {\n return findSingletonVersionOrderByLoaded;\n }\n return findSingletonVersionOrderByVersion;\n}\nfunction getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare) {\n if (!localShareScopeMap) {\n return;\n }\n const { shareConfig, scope = DEFAULT_SCOPE, strategy } = shareInfo;\n const scopes = Array.isArray(scope) ? scope : [\n scope\n ];\n for (const sc of scopes){\n if (shareConfig && localShareScopeMap[sc] && localShareScopeMap[sc][pkgName]) {\n const { requiredVersion } = shareConfig;\n const findShareFunction = getFindShareFunction(strategy);\n const maxOrSingletonVersion = findShareFunction(localShareScopeMap, sc, pkgName);\n //@ts-ignore\n const defaultResolver = ()=>{\n if (shareConfig.singleton) {\n if (typeof requiredVersion === 'string' && !satisfy(maxOrSingletonVersion, requiredVersion)) {\n const msg = `Version ${maxOrSingletonVersion} from ${maxOrSingletonVersion && localShareScopeMap[sc][pkgName][maxOrSingletonVersion].from} of shared singleton module ${pkgName} does not satisfy the requirement of ${shareInfo.from} which needs ${requiredVersion})`;\n if (shareConfig.strictVersion) {\n error(msg);\n } else {\n warn(msg);\n }\n }\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n } else {\n if (requiredVersion === false || requiredVersion === '*') {\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n }\n if (satisfy(maxOrSingletonVersion, requiredVersion)) {\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n }\n for (const [versionKey, versionValue] of Object.entries(localShareScopeMap[sc][pkgName])){\n if (satisfy(versionKey, requiredVersion)) {\n return versionValue;\n }\n }\n }\n };\n const params = {\n shareScopeMap: localShareScopeMap,\n scope: sc,\n pkgName,\n version: maxOrSingletonVersion,\n GlobalFederation: Global.__FEDERATION__,\n resolver: defaultResolver\n };\n const resolveShared = resolveShare.emit(params) || params;\n return resolveShared.resolver();\n }\n }\n}\nfunction getGlobalShareScope() {\n return Global.__FEDERATION__.__SHARE__;\n}\nfunction getTargetSharedOptions(options) {\n const { pkgName, extraOptions, shareInfos } = options;\n const defaultResolver = (sharedOptions)=>{\n if (!sharedOptions) {\n return undefined;\n }\n const shareVersionMap = {};\n sharedOptions.forEach((shared)=>{\n shareVersionMap[shared.version] = shared;\n });\n const callback = function(prev, cur) {\n return !isLoaded(shareVersionMap[prev]) && versionLt(prev, cur);\n };\n const maxVersion = findVersion(shareVersionMap, callback);\n return shareVersionMap[maxVersion];\n };\n var _extraOptions_resolver;\n const resolver = (_extraOptions_resolver = extraOptions == null ? void 0 : extraOptions.resolver) != null ? _extraOptions_resolver : defaultResolver;\n return Object.assign({}, resolver(shareInfos[pkgName]), extraOptions == null ? void 0 : extraOptions.customShareInfo);\n}\n\nexports.DEFAULT_REMOTE_TYPE = DEFAULT_REMOTE_TYPE;\nexports.DEFAULT_SCOPE = DEFAULT_SCOPE;\nexports.Global = Global;\nexports.addGlobalSnapshot = addGlobalSnapshot;\nexports.addUniqueItem = addUniqueItem;\nexports.arrayOptions = arrayOptions;\nexports.assert = assert;\nexports.error = error;\nexports.formatShareConfigs = formatShareConfigs;\nexports.getBuilderId = getBuilderId;\nexports.getFMId = getFMId;\nexports.getGlobalFederationConstructor = getGlobalFederationConstructor;\nexports.getGlobalFederationInstance = getGlobalFederationInstance;\nexports.getGlobalHostPlugins = getGlobalHostPlugins;\nexports.getGlobalShareScope = getGlobalShareScope;\nexports.getGlobalSnapshot = getGlobalSnapshot;\nexports.getGlobalSnapshotInfoByModuleInfo = getGlobalSnapshotInfoByModuleInfo;\nexports.getInfoWithoutType = getInfoWithoutType;\nexports.getPreloaded = getPreloaded;\nexports.getRegisteredShare = getRegisteredShare;\nexports.getRemoteEntryExports = getRemoteEntryExports;\nexports.getRemoteEntryInfoFromSnapshot = getRemoteEntryInfoFromSnapshot;\nexports.getTargetSharedOptions = getTargetSharedOptions;\nexports.getTargetSnapshotInfoByModuleInfo = getTargetSnapshotInfoByModuleInfo;\nexports.globalLoading = globalLoading;\nexports.isObject = isObject;\nexports.isPlainObject = isPlainObject;\nexports.isPureRemoteEntry = isPureRemoteEntry;\nexports.isRemoteInfoWithEntry = isRemoteInfoWithEntry;\nexports.nativeGlobal = nativeGlobal;\nexports.registerGlobalPlugins = registerGlobalPlugins;\nexports.resetFederationGlobalInfo = resetFederationGlobalInfo;\nexports.setGlobalFederationConstructor = setGlobalFederationConstructor;\nexports.setGlobalFederationInstance = setGlobalFederationInstance;\nexports.setGlobalSnapshotInfoByModuleInfo = setGlobalSnapshotInfoByModuleInfo;\nexports.setPreloaded = setPreloaded;\nexports.warn = warn;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar polyfills = require('./polyfills.cjs.js');\n\nconst FederationModuleManifest = 'federation-manifest.json';\nconst MANIFEST_EXT = '.json';\nconst BROWSER_LOG_KEY = 'FEDERATION_DEBUG';\nconst BROWSER_LOG_VALUE = '1';\nconst NameTransformSymbol = {\n AT: '@',\n HYPHEN: '-',\n SLASH: '/'\n};\nconst NameTransformMap = {\n [NameTransformSymbol.AT]: 'scope_',\n [NameTransformSymbol.HYPHEN]: '_',\n [NameTransformSymbol.SLASH]: '__'\n};\nconst EncodedNameTransformMap = {\n [NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,\n [NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,\n [NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH\n};\nconst SEPARATOR = ':';\nconst ManifestFileName = 'mf-manifest.json';\nconst StatsFileName = 'mf-stats.json';\nconst MFModuleType = {\n NPM: 'npm',\n APP: 'app'\n};\nconst MODULE_DEVTOOL_IDENTIFIER = '__MF_DEVTOOLS_MODULE_INFO__';\nconst ENCODE_NAME_PREFIX = 'ENCODE_NAME_PREFIX';\nconst TEMP_DIR = '.federation';\nconst MFPrefetchCommon = {\n identifier: 'MFDataPrefetch',\n globalKey: '__PREFETCH__',\n library: 'mf-data-prefetch',\n exportsKey: '__PREFETCH_EXPORTS__',\n fileName: 'bootstrap.js'\n};\n\nvar ContainerPlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar ContainerReferencePlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar ModuleFederationPlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar SharePlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nfunction isBrowserEnv() {\n return typeof window !== 'undefined';\n}\nfunction isDebugMode() {\n if (typeof process !== 'undefined' && process.env && process.env['FEDERATION_DEBUG']) {\n return Boolean(process.env['FEDERATION_DEBUG']);\n }\n return typeof FEDERATION_DEBUG !== 'undefined' && Boolean(FEDERATION_DEBUG);\n}\nconst getProcessEnv = function() {\n return typeof process !== 'undefined' && process.env ? process.env : {};\n};\n\nconst DEBUG_LOG = '[ FEDERATION DEBUG ]';\nfunction safeGetLocalStorageItem() {\n try {\n if (typeof window !== 'undefined' && window.localStorage) {\n return localStorage.getItem(BROWSER_LOG_KEY) === BROWSER_LOG_VALUE;\n }\n } catch (error) {\n return typeof document !== 'undefined';\n }\n return false;\n}\nlet Logger = class Logger {\n info(msg, info) {\n if (this.enable) {\n const argsToString = safeToString(info) || '';\n if (isBrowserEnv()) {\n console.info(`%c ${this.identifier}: ${msg} ${argsToString}`, 'color:#3300CC');\n } else {\n console.info('\\x1b[34m%s', `${this.identifier}: ${msg} ${argsToString ? `\\n${argsToString}` : ''}`);\n }\n }\n }\n logOriginalInfo(...args) {\n if (this.enable) {\n if (isBrowserEnv()) {\n console.info(`%c ${this.identifier}: OriginalInfo`, 'color:#3300CC');\n console.log(...args);\n } else {\n console.info(`%c ${this.identifier}: OriginalInfo`, 'color:#3300CC');\n console.log(...args);\n }\n }\n }\n constructor(identifier){\n this.enable = false;\n this.identifier = identifier || DEBUG_LOG;\n if (isBrowserEnv() && safeGetLocalStorageItem()) {\n this.enable = true;\n } else if (isDebugMode()) {\n this.enable = true;\n }\n }\n};\n\nconst LOG_CATEGORY = '[ Federation Runtime ]';\n// entry: name:version version : 1.0.0 | ^1.2.3\n// entry: name:entry entry: https://localhost:9000/federation-manifest.json\nconst parseEntry = (str, devVerOrUrl, separator = SEPARATOR)=>{\n const strSplit = str.split(separator);\n const devVersionOrUrl = getProcessEnv()['NODE_ENV'] === 'development' && devVerOrUrl;\n const defaultVersion = '*';\n const isEntry = (s)=>s.startsWith('http') || s.includes(MANIFEST_EXT);\n // Check if the string starts with a type\n if (strSplit.length >= 2) {\n let [name, ...versionOrEntryArr] = strSplit;\n if (str.startsWith(separator)) {\n versionOrEntryArr = [\n devVersionOrUrl || strSplit.slice(-1)[0]\n ];\n name = strSplit.slice(0, -1).join(separator);\n }\n let versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);\n if (isEntry(versionOrEntry)) {\n return {\n name,\n entry: versionOrEntry\n };\n } else {\n // Apply version rule\n // devVersionOrUrl => inputVersion => defaultVersion\n return {\n name,\n version: versionOrEntry || defaultVersion\n };\n }\n } else if (strSplit.length === 1) {\n const [name] = strSplit;\n if (devVersionOrUrl && isEntry(devVersionOrUrl)) {\n return {\n name,\n entry: devVersionOrUrl\n };\n }\n return {\n name,\n version: devVersionOrUrl || defaultVersion\n };\n } else {\n throw `Invalid entry value: ${str}`;\n }\n};\nconst logger = new Logger();\nconst composeKeyWithSeparator = function(...args) {\n if (!args.length) {\n return '';\n }\n return args.reduce((sum, cur)=>{\n if (!cur) {\n return sum;\n }\n if (!sum) {\n return cur;\n }\n return `${sum}${SEPARATOR}${cur}`;\n }, '');\n};\nconst encodeName = function(name, prefix = '', withExt = false) {\n try {\n const ext = withExt ? '.js' : '';\n return `${prefix}${name.replace(new RegExp(`${NameTransformSymbol.AT}`, 'g'), NameTransformMap[NameTransformSymbol.AT]).replace(new RegExp(`${NameTransformSymbol.HYPHEN}`, 'g'), NameTransformMap[NameTransformSymbol.HYPHEN]).replace(new RegExp(`${NameTransformSymbol.SLASH}`, 'g'), NameTransformMap[NameTransformSymbol.SLASH])}${ext}`;\n } catch (err) {\n throw err;\n }\n};\nconst decodeName = function(name, prefix, withExt) {\n try {\n let decodedName = name;\n if (prefix) {\n if (!decodedName.startsWith(prefix)) {\n return decodedName;\n }\n decodedName = decodedName.replace(new RegExp(prefix, 'g'), '');\n }\n decodedName = decodedName.replace(new RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]);\n if (withExt) {\n decodedName = decodedName.replace('.js', '');\n }\n return decodedName;\n } catch (err) {\n throw err;\n }\n};\nconst generateExposeFilename = (exposeName, withExt)=>{\n if (!exposeName) {\n return '';\n }\n let expose = exposeName;\n if (expose === '.') {\n expose = 'default_export';\n }\n if (expose.startsWith('./')) {\n expose = expose.replace('./', '');\n }\n return encodeName(expose, '__federation_expose_', withExt);\n};\nconst generateShareFilename = (pkgName, withExt)=>{\n if (!pkgName) {\n return '';\n }\n return encodeName(pkgName, '__federation_shared_', withExt);\n};\nconst getResourceUrl = (module, sourceUrl)=>{\n if ('getPublicPath' in module) {\n let publicPath;\n if (!module.getPublicPath.startsWith('function')) {\n publicPath = new Function(module.getPublicPath)();\n } else {\n publicPath = new Function('return ' + module.getPublicPath)()();\n }\n return `${publicPath}${sourceUrl}`;\n } else if ('publicPath' in module) {\n return `${module.publicPath}${sourceUrl}`;\n } else {\n console.warn('Cannot get resource URL. If in debug mode, please ignore.', module, sourceUrl);\n return '';\n }\n};\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst assert = (condition, msg)=>{\n if (!condition) {\n error(msg);\n }\n};\nconst error = (msg)=>{\n throw new Error(`${LOG_CATEGORY}: ${msg}`);\n};\nconst warn = (msg)=>{\n console.warn(`${LOG_CATEGORY}: ${msg}`);\n};\nfunction safeToString(info) {\n try {\n return JSON.stringify(info, null, 2);\n } catch (e) {\n return '';\n }\n}\n\nconst simpleJoinRemoteEntry = (rPath, rName)=>{\n if (!rPath) {\n return rName;\n }\n const transformPath = (str)=>{\n if (str === '.') {\n return '';\n }\n if (str.startsWith('./')) {\n return str.replace('./', '');\n }\n if (str.startsWith('/')) {\n const strWithoutSlash = str.slice(1);\n if (strWithoutSlash.endsWith('/')) {\n return strWithoutSlash.slice(0, -1);\n }\n return strWithoutSlash;\n }\n return str;\n };\n const transformedPath = transformPath(rPath);\n if (!transformedPath) {\n return rName;\n }\n if (transformedPath.endsWith('/')) {\n return `${transformedPath}${rName}`;\n }\n return `${transformedPath}/${rName}`;\n};\nfunction inferAutoPublicPath(url) {\n return url.replace(/#.*$/, '').replace(/\\?.*$/, '').replace(/\\/[^\\/]+$/, '/');\n}\n// Priority: overrides > remotes\n// eslint-disable-next-line max-lines-per-function\nfunction generateSnapshotFromManifest(manifest, options = {}) {\n var _manifest_metaData, _manifest_metaData1;\n const { remotes = {}, overrides = {}, version } = options;\n let remoteSnapshot;\n const getPublicPath = ()=>{\n if ('publicPath' in manifest.metaData) {\n if (manifest.metaData.publicPath === 'auto' && version) {\n // use same implementation as publicPath auto runtime module implements\n return inferAutoPublicPath(version);\n }\n return manifest.metaData.publicPath;\n } else {\n return manifest.metaData.getPublicPath;\n }\n };\n const overridesKeys = Object.keys(overrides);\n let remotesInfo = {};\n // If remotes are not provided, only the remotes in the manifest will be read\n if (!Object.keys(remotes).length) {\n var _manifest_remotes;\n remotesInfo = ((_manifest_remotes = manifest.remotes) == null ? void 0 : _manifest_remotes.reduce((res, next)=>{\n let matchedVersion;\n const name = next.federationContainerName;\n // overrides have higher priority\n if (overridesKeys.includes(name)) {\n matchedVersion = overrides[name];\n } else {\n if ('version' in next) {\n matchedVersion = next.version;\n } else {\n matchedVersion = next.entry;\n }\n }\n res[name] = {\n matchedVersion\n };\n return res;\n }, {})) || {};\n }\n // If remotes (deploy scenario) are specified, they need to be traversed again\n Object.keys(remotes).forEach((key)=>remotesInfo[key] = {\n // overrides will override dependencies\n matchedVersion: overridesKeys.includes(key) ? overrides[key] : remotes[key]\n });\n const { remoteEntry: { path: remoteEntryPath, name: remoteEntryName, type: remoteEntryType }, types: remoteTypes, buildInfo: { buildVersion }, globalName, ssrRemoteEntry } = manifest.metaData;\n const { exposes } = manifest;\n let basicRemoteSnapshot = {\n version: version ? version : '',\n buildVersion,\n globalName,\n remoteEntry: simpleJoinRemoteEntry(remoteEntryPath, remoteEntryName),\n remoteEntryType,\n remoteTypes: simpleJoinRemoteEntry(remoteTypes.path, remoteTypes.name),\n remoteTypesZip: remoteTypes.zip || '',\n remoteTypesAPI: remoteTypes.api || '',\n remotesInfo,\n shared: manifest == null ? void 0 : manifest.shared.map((item)=>({\n assets: item.assets,\n sharedName: item.name,\n version: item.version\n })),\n modules: exposes == null ? void 0 : exposes.map((expose)=>({\n moduleName: expose.name,\n modulePath: expose.path,\n assets: expose.assets\n }))\n };\n if ((_manifest_metaData = manifest.metaData) == null ? void 0 : _manifest_metaData.prefetchInterface) {\n const prefetchInterface = manifest.metaData.prefetchInterface;\n basicRemoteSnapshot = polyfills._extends({}, basicRemoteSnapshot, {\n prefetchInterface\n });\n }\n if ((_manifest_metaData1 = manifest.metaData) == null ? void 0 : _manifest_metaData1.prefetchEntry) {\n const { path, name, type } = manifest.metaData.prefetchEntry;\n basicRemoteSnapshot = polyfills._extends({}, basicRemoteSnapshot, {\n prefetchEntry: simpleJoinRemoteEntry(path, name),\n prefetchEntryType: type\n });\n }\n if ('publicPath' in manifest.metaData) {\n remoteSnapshot = polyfills._extends({}, basicRemoteSnapshot, {\n publicPath: getPublicPath()\n });\n } else {\n remoteSnapshot = polyfills._extends({}, basicRemoteSnapshot, {\n getPublicPath: getPublicPath()\n });\n }\n if (ssrRemoteEntry) {\n const fullSSRRemoteEntry = simpleJoinRemoteEntry(ssrRemoteEntry.path, ssrRemoteEntry.name);\n remoteSnapshot.ssrRemoteEntry = fullSSRRemoteEntry;\n remoteSnapshot.ssrRemoteEntryType = 'commonjs-module';\n }\n return remoteSnapshot;\n}\nfunction isManifestProvider(moduleInfo) {\n if ('remoteEntry' in moduleInfo && moduleInfo.remoteEntry.includes(MANIFEST_EXT)) {\n return true;\n } else {\n return false;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nasync function safeWrapper(callback, disableWarn) {\n try {\n const res = await callback();\n return res;\n } catch (e) {\n !disableWarn && warn(e);\n return;\n }\n}\nfunction isStaticResourcesEqual(url1, url2) {\n const REG_EXP = /^(https?:)?\\/\\//i;\n // Transform url1 and url2 into relative paths\n const relativeUrl1 = url1.replace(REG_EXP, '').replace(/\\/$/, '');\n const relativeUrl2 = url2.replace(REG_EXP, '').replace(/\\/$/, '');\n // Check if the relative paths are identical\n return relativeUrl1 === relativeUrl2;\n}\nfunction createScript(info) {\n // Retrieve the existing script element by its src attribute\n let script = null;\n let needAttach = true;\n let timeout = 20000;\n let timeoutId;\n const scripts = document.getElementsByTagName('script');\n for(let i = 0; i < scripts.length; i++){\n const s = scripts[i];\n const scriptSrc = s.getAttribute('src');\n if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {\n script = s;\n needAttach = false;\n break;\n }\n }\n if (!script) {\n script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = info.url;\n let createScriptRes = undefined;\n if (info.createScriptHook) {\n createScriptRes = info.createScriptHook(info.url, info.attrs);\n if (createScriptRes instanceof HTMLScriptElement) {\n script = createScriptRes;\n } else if (typeof createScriptRes === 'object') {\n if ('script' in createScriptRes && createScriptRes.script) {\n script = createScriptRes.script;\n }\n if ('timeout' in createScriptRes && createScriptRes.timeout) {\n timeout = createScriptRes.timeout;\n }\n }\n }\n const attrs = info.attrs;\n if (attrs && !createScriptRes) {\n Object.keys(attrs).forEach((name)=>{\n if (script) {\n if (name === 'async' || name === 'defer') {\n script[name] = attrs[name];\n // Attributes that do not exist are considered overridden\n } else if (!script.getAttribute(name)) {\n script.setAttribute(name, attrs[name]);\n }\n }\n });\n }\n }\n const onScriptComplete = async (prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event)=>{\n var _info_cb;\n clearTimeout(timeoutId);\n // Prevent memory leaks in IE.\n if (script) {\n script.onerror = null;\n script.onload = null;\n safeWrapper(()=>{\n const { needDeleteScript = true } = info;\n if (needDeleteScript) {\n (script == null ? void 0 : script.parentNode) && script.parentNode.removeChild(script);\n }\n });\n if (prev && typeof prev === 'function') {\n var _info_cb1;\n const result = prev(event);\n if (result instanceof Promise) {\n var _info_cb2;\n const res = await result;\n info == null ? void 0 : (_info_cb2 = info.cb) == null ? void 0 : _info_cb2.call(info);\n return res;\n }\n info == null ? void 0 : (_info_cb1 = info.cb) == null ? void 0 : _info_cb1.call(info);\n return result;\n }\n }\n info == null ? void 0 : (_info_cb = info.cb) == null ? void 0 : _info_cb.call(info);\n };\n script.onerror = onScriptComplete.bind(null, script.onerror);\n script.onload = onScriptComplete.bind(null, script.onload);\n timeoutId = setTimeout(()=>{\n onScriptComplete(null, new Error(`Remote script \"${info.url}\" time-outed.`));\n }, timeout);\n return {\n script,\n needAttach\n };\n}\nfunction createLink(info) {\n // \n // Retrieve the existing script element by its src attribute\n let link = null;\n let needAttach = true;\n const links = document.getElementsByTagName('link');\n for(let i = 0; i < links.length; i++){\n const l = links[i];\n const linkHref = l.getAttribute('href');\n const linkRef = l.getAttribute('ref');\n if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {\n link = l;\n needAttach = false;\n break;\n }\n }\n if (!link) {\n link = document.createElement('link');\n link.setAttribute('href', info.url);\n let createLinkRes = undefined;\n const attrs = info.attrs;\n if (info.createLinkHook) {\n createLinkRes = info.createLinkHook(info.url, attrs);\n if (createLinkRes instanceof HTMLLinkElement) {\n link = createLinkRes;\n }\n }\n if (attrs && !createLinkRes) {\n Object.keys(attrs).forEach((name)=>{\n if (link && !link.getAttribute(name)) {\n link.setAttribute(name, attrs[name]);\n }\n });\n }\n }\n const onLinkComplete = (prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event)=>{\n // Prevent memory leaks in IE.\n if (link) {\n link.onerror = null;\n link.onload = null;\n safeWrapper(()=>{\n const { needDeleteLink = true } = info;\n if (needDeleteLink) {\n (link == null ? void 0 : link.parentNode) && link.parentNode.removeChild(link);\n }\n });\n if (prev) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const res = prev(event);\n info.cb();\n return res;\n }\n }\n info.cb();\n };\n link.onerror = onLinkComplete.bind(null, link.onerror);\n link.onload = onLinkComplete.bind(null, link.onload);\n return {\n link,\n needAttach\n };\n}\nfunction loadScript(url, info) {\n const { attrs = {}, createScriptHook } = info;\n return new Promise((resolve, _reject)=>{\n const { script, needAttach } = createScript({\n url,\n cb: resolve,\n attrs: polyfills._extends({\n fetchpriority: 'high'\n }, attrs),\n createScriptHook,\n needDeleteScript: true\n });\n needAttach && document.head.appendChild(script);\n });\n}\n\nfunction importNodeModule(name) {\n if (!name) {\n throw new Error('import specifier is required');\n }\n const importModule = new Function('name', `return import(name)`);\n return importModule(name).then((res)=>res).catch((error)=>{\n console.error(`Error importing module ${name}:`, error);\n throw error;\n });\n}\nconst loadNodeFetch = async ()=>{\n const fetchModule = await importNodeModule('node-fetch');\n return fetchModule.default || fetchModule;\n};\nconst lazyLoaderHookFetch = async (input, init)=>{\n // @ts-ignore\n const loaderHooks = __webpack_require__.federation.instance.loaderHook;\n const hook = (url, init)=>{\n return loaderHooks.lifecycle.fetch.emit(url, init);\n };\n const res = await hook(input, init || {});\n if (!res || !(res instanceof Response)) {\n const fetchFunction = typeof fetch === 'undefined' ? await loadNodeFetch() : fetch;\n return fetchFunction(input, init || {});\n }\n return res;\n};\nfunction createScriptNode(url, cb, attrs, createScriptHook) {\n if (createScriptHook) {\n const hookResult = createScriptHook(url);\n if (hookResult && typeof hookResult === 'object' && 'url' in hookResult) {\n url = hookResult.url;\n }\n }\n let urlObj;\n try {\n urlObj = new URL(url);\n } catch (e) {\n console.error('Error constructing URL:', e);\n cb(new Error(`Invalid URL: ${e}`));\n return;\n }\n const getFetch = async ()=>{\n //@ts-ignore\n if (typeof __webpack_require__ !== 'undefined') {\n try {\n //@ts-ignore\n const loaderHooks = __webpack_require__.federation.instance.loaderHook;\n if (loaderHooks.lifecycle.fetch) {\n return lazyLoaderHookFetch;\n }\n } catch (e) {\n console.warn('federation.instance.loaderHook.lifecycle.fetch failed:', e);\n }\n }\n return typeof fetch === 'undefined' ? loadNodeFetch() : fetch;\n };\n const handleScriptFetch = async (f, urlObj)=>{\n try {\n var _vm_constants;\n const res = await f(urlObj.href);\n const data = await res.text();\n const [path, vm] = await Promise.all([\n importNodeModule('path'),\n importNodeModule('vm')\n ]);\n const scriptContext = {\n exports: {},\n module: {\n exports: {}\n }\n };\n const urlDirname = urlObj.pathname.split('/').slice(0, -1).join('/');\n const filename = path.basename(urlObj.pathname);\n var _vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER;\n const script = new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}\\n})`, {\n filename,\n importModuleDynamically: (_vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER = (_vm_constants = vm.constants) == null ? void 0 : _vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER) != null ? _vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER : importNodeModule\n });\n script.runInThisContext()(scriptContext.exports, scriptContext.module, eval('require'), urlDirname, filename);\n const exportedInterface = scriptContext.module.exports || scriptContext.exports;\n if (attrs && exportedInterface && attrs['globalName']) {\n const container = exportedInterface[attrs['globalName']] || exportedInterface;\n cb(undefined, container);\n return;\n }\n cb(undefined, exportedInterface);\n } catch (e) {\n cb(e instanceof Error ? e : new Error(`Script execution error: ${e}`));\n }\n };\n getFetch().then((f)=>handleScriptFetch(f, urlObj)).catch((err)=>{\n cb(err);\n });\n}\nfunction loadScriptNode(url, info) {\n return new Promise((resolve, reject)=>{\n createScriptNode(url, (error, scriptContext)=>{\n if (error) {\n reject(error);\n } else {\n var _info_attrs, _info_attrs1;\n const remoteEntryKey = (info == null ? void 0 : (_info_attrs = info.attrs) == null ? void 0 : _info_attrs['globalName']) || `__FEDERATION_${info == null ? void 0 : (_info_attrs1 = info.attrs) == null ? void 0 : _info_attrs1['name']}:custom__`;\n const entryExports = globalThis[remoteEntryKey] = scriptContext;\n resolve(entryExports);\n }\n }, info.attrs, info.createScriptHook);\n });\n}\n\nfunction normalizeOptions(enableDefault, defaultOptions, key) {\n return function(options) {\n if (options === false) {\n return false;\n }\n if (typeof options === 'undefined') {\n if (enableDefault) {\n return defaultOptions;\n } else {\n return false;\n }\n }\n if (options === true) {\n return defaultOptions;\n }\n if (options && typeof options === 'object') {\n return polyfills._extends({}, defaultOptions, options);\n }\n throw new Error(`Unexpected type for \\`${key}\\`, expect boolean/undefined/object, got: ${typeof options}`);\n };\n}\n\nexports.BROWSER_LOG_KEY = BROWSER_LOG_KEY;\nexports.BROWSER_LOG_VALUE = BROWSER_LOG_VALUE;\nexports.ENCODE_NAME_PREFIX = ENCODE_NAME_PREFIX;\nexports.EncodedNameTransformMap = EncodedNameTransformMap;\nexports.FederationModuleManifest = FederationModuleManifest;\nexports.Logger = Logger;\nexports.MANIFEST_EXT = MANIFEST_EXT;\nexports.MFModuleType = MFModuleType;\nexports.MFPrefetchCommon = MFPrefetchCommon;\nexports.MODULE_DEVTOOL_IDENTIFIER = MODULE_DEVTOOL_IDENTIFIER;\nexports.ManifestFileName = ManifestFileName;\nexports.NameTransformMap = NameTransformMap;\nexports.NameTransformSymbol = NameTransformSymbol;\nexports.SEPARATOR = SEPARATOR;\nexports.StatsFileName = StatsFileName;\nexports.TEMP_DIR = TEMP_DIR;\nexports.assert = assert;\nexports.composeKeyWithSeparator = composeKeyWithSeparator;\nexports.containerPlugin = ContainerPlugin;\nexports.containerReferencePlugin = ContainerReferencePlugin;\nexports.createLink = createLink;\nexports.createScript = createScript;\nexports.createScriptNode = createScriptNode;\nexports.decodeName = decodeName;\nexports.encodeName = encodeName;\nexports.error = error;\nexports.generateExposeFilename = generateExposeFilename;\nexports.generateShareFilename = generateShareFilename;\nexports.generateSnapshotFromManifest = generateSnapshotFromManifest;\nexports.getProcessEnv = getProcessEnv;\nexports.getResourceUrl = getResourceUrl;\nexports.inferAutoPublicPath = inferAutoPublicPath;\nexports.isBrowserEnv = isBrowserEnv;\nexports.isDebugMode = isDebugMode;\nexports.isManifestProvider = isManifestProvider;\nexports.isStaticResourcesEqual = isStaticResourcesEqual;\nexports.loadScript = loadScript;\nexports.loadScriptNode = loadScriptNode;\nexports.logger = logger;\nexports.moduleFederationPlugin = ModuleFederationPlugin;\nexports.normalizeOptions = normalizeOptions;\nexports.parseEntry = parseEntry;\nexports.safeToString = safeToString;\nexports.safeWrapper = safeWrapper;\nexports.sharePlugin = SharePlugin;\nexports.simpleJoinRemoteEntry = simpleJoinRemoteEntry;\nexports.warn = warn;\n","'use strict';\n\nfunction _extends() {\n _extends = Object.assign || function assign(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nexports._extends = _extends;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst FederationModuleManifest = 'federation-manifest.json';\nconst MANIFEST_EXT = '.json';\nconst BROWSER_LOG_KEY = 'FEDERATION_DEBUG';\nconst BROWSER_LOG_VALUE = '1';\nconst NameTransformSymbol = {\n AT: '@',\n HYPHEN: '-',\n SLASH: '/'\n};\nconst NameTransformMap = {\n [NameTransformSymbol.AT]: 'scope_',\n [NameTransformSymbol.HYPHEN]: '_',\n [NameTransformSymbol.SLASH]: '__'\n};\nconst EncodedNameTransformMap = {\n [NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,\n [NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,\n [NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH\n};\nconst SEPARATOR = ':';\nconst ManifestFileName = 'mf-manifest.json';\nconst StatsFileName = 'mf-stats.json';\nconst MFModuleType = {\n NPM: 'npm',\n APP: 'app'\n};\nconst MODULE_DEVTOOL_IDENTIFIER = '__MF_DEVTOOLS_MODULE_INFO__';\nconst ENCODE_NAME_PREFIX = 'ENCODE_NAME_PREFIX';\n\nvar ContainerPlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar ContainerReferencePlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar ModuleFederationPlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar SharePlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nfunction isBrowserEnv() {\n return typeof window !== 'undefined';\n}\nfunction isDebugMode() {\n if (typeof process !== 'undefined' && process.env && process.env['FEDERATION_DEBUG']) {\n return Boolean(process.env['FEDERATION_DEBUG']);\n }\n return typeof FEDERATION_DEBUG !== 'undefined' && Boolean(FEDERATION_DEBUG);\n}\nconst getProcessEnv = function() {\n return typeof process !== 'undefined' && process.env ? process.env : {};\n};\n\nfunction safeToString(info) {\n try {\n return JSON.stringify(info, null, 2);\n } catch (e) {\n return '';\n }\n}\nconst DEBUG_LOG = '[ FEDERATION DEBUG ]';\nfunction safeGetLocalStorageItem() {\n try {\n if (typeof window !== 'undefined' && window.localStorage) {\n return localStorage.getItem(BROWSER_LOG_KEY) === BROWSER_LOG_VALUE;\n }\n } catch (error) {\n return typeof document !== 'undefined';\n }\n return false;\n}\nlet Logger = class Logger {\n info(msg, info) {\n if (this.enable) {\n const argsToString = safeToString(info) || '';\n if (isBrowserEnv()) {\n console.info(`%c ${this.identifier}: ${msg} ${argsToString}`, 'color:#3300CC');\n } else {\n console.info('\\x1b[34m%s', `${this.identifier}: ${msg} ${argsToString ? `\\n${argsToString}` : ''}`);\n }\n }\n }\n logOriginalInfo(...args) {\n if (this.enable) {\n if (isBrowserEnv()) {\n console.info(`%c ${this.identifier}: OriginalInfo`, 'color:#3300CC');\n console.log(...args);\n } else {\n console.info(`%c ${this.identifier}: OriginalInfo`, 'color:#3300CC');\n console.log(...args);\n }\n }\n }\n constructor(identifier){\n this.enable = false;\n this.identifier = identifier || DEBUG_LOG;\n if (isBrowserEnv() && safeGetLocalStorageItem()) {\n this.enable = true;\n } else if (isDebugMode()) {\n this.enable = true;\n }\n }\n};\n\nconst LOG_CATEGORY = '[ Federation Runtime ]';\n// entry: name:version version : 1.0.0 | ^1.2.3\n// entry: name:entry entry: https://localhost:9000/federation-manifest.json\nconst parseEntry = (str, devVerOrUrl, separator = SEPARATOR)=>{\n const strSplit = str.split(separator);\n const devVersionOrUrl = getProcessEnv()['NODE_ENV'] === 'development' && devVerOrUrl;\n const defaultVersion = '*';\n const isEntry = (s)=>s.startsWith('http') || s.includes(MANIFEST_EXT);\n // Check if the string starts with a type\n if (strSplit.length >= 2) {\n let [name, ...versionOrEntryArr] = strSplit;\n if (str.startsWith(separator)) {\n versionOrEntryArr = [\n devVersionOrUrl || strSplit.slice(-1)[0]\n ];\n name = strSplit.slice(0, -1).join(separator);\n }\n let versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);\n if (isEntry(versionOrEntry)) {\n return {\n name,\n entry: versionOrEntry\n };\n } else {\n // Apply version rule\n // devVersionOrUrl => inputVersion => defaultVersion\n return {\n name,\n version: versionOrEntry || defaultVersion\n };\n }\n } else if (strSplit.length === 1) {\n const [name] = strSplit;\n if (devVersionOrUrl && isEntry(devVersionOrUrl)) {\n return {\n name,\n entry: devVersionOrUrl\n };\n }\n return {\n name,\n version: devVersionOrUrl || defaultVersion\n };\n } else {\n throw `Invalid entry value: ${str}`;\n }\n};\nconst logger = new Logger();\nconst composeKeyWithSeparator = function(...args) {\n if (!args.length) {\n return '';\n }\n return args.reduce((sum, cur)=>{\n if (!cur) {\n return sum;\n }\n if (!sum) {\n return cur;\n }\n return `${sum}${SEPARATOR}${cur}`;\n }, '');\n};\nconst encodeName = function(name, prefix = '', withExt = false) {\n try {\n const ext = withExt ? '.js' : '';\n return `${prefix}${name.replace(new RegExp(`${NameTransformSymbol.AT}`, 'g'), NameTransformMap[NameTransformSymbol.AT]).replace(new RegExp(`${NameTransformSymbol.HYPHEN}`, 'g'), NameTransformMap[NameTransformSymbol.HYPHEN]).replace(new RegExp(`${NameTransformSymbol.SLASH}`, 'g'), NameTransformMap[NameTransformSymbol.SLASH])}${ext}`;\n } catch (err) {\n throw err;\n }\n};\nconst decodeName = function(name, prefix, withExt) {\n try {\n let decodedName = name;\n if (prefix) {\n if (!decodedName.startsWith(prefix)) {\n return decodedName;\n }\n decodedName = decodedName.replace(new RegExp(prefix, 'g'), '');\n }\n decodedName = decodedName.replace(new RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]);\n if (withExt) {\n decodedName = decodedName.replace('.js', '');\n }\n return decodedName;\n } catch (err) {\n throw err;\n }\n};\nconst generateExposeFilename = (exposeName, withExt)=>{\n if (!exposeName) {\n return '';\n }\n let expose = exposeName;\n if (expose === '.') {\n expose = 'default_export';\n }\n if (expose.startsWith('./')) {\n expose = expose.replace('./', '');\n }\n return encodeName(expose, '__federation_expose_', withExt);\n};\nconst generateShareFilename = (pkgName, withExt)=>{\n if (!pkgName) {\n return '';\n }\n return encodeName(pkgName, '__federation_shared_', withExt);\n};\nconst getResourceUrl = (module, sourceUrl)=>{\n if ('getPublicPath' in module) {\n let publicPath;\n if (!module.getPublicPath.startsWith('function')) {\n publicPath = new Function(module.getPublicPath)();\n } else {\n publicPath = new Function('return ' + module.getPublicPath)()();\n }\n return `${publicPath}${sourceUrl}`;\n } else if ('publicPath' in module) {\n return `${module.publicPath}${sourceUrl}`;\n } else {\n console.warn('Cannot get resource URL. If in debug mode, please ignore.', module, sourceUrl);\n return '';\n }\n};\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst assert = (condition, msg)=>{\n if (!condition) {\n error(msg);\n }\n};\nconst error = (msg)=>{\n throw new Error(`${LOG_CATEGORY}: ${msg}`);\n};\nconst warn = (msg)=>{\n console.warn(`${LOG_CATEGORY}: ${msg}`);\n};\n\nfunction _extends() {\n _extends = Object.assign || function assign(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nconst simpleJoinRemoteEntry = (rPath, rName)=>{\n if (!rPath) {\n return rName;\n }\n const transformPath = (str)=>{\n if (str === '.') {\n return '';\n }\n if (str.startsWith('./')) {\n return str.replace('./', '');\n }\n if (str.startsWith('/')) {\n const strWithoutSlash = str.slice(1);\n if (strWithoutSlash.endsWith('/')) {\n return strWithoutSlash.slice(0, -1);\n }\n return strWithoutSlash;\n }\n return str;\n };\n const transformedPath = transformPath(rPath);\n if (!transformedPath) {\n return rName;\n }\n if (transformedPath.endsWith('/')) {\n return `${transformedPath}${rName}`;\n }\n return `${transformedPath}/${rName}`;\n};\nfunction inferAutoPublicPath(url) {\n return url.replace(/#.*$/, '').replace(/\\?.*$/, '').replace(/\\/[^\\/]+$/, '/');\n}\n// Priority: overrides > remotes\n// eslint-disable-next-line max-lines-per-function\nfunction generateSnapshotFromManifest(manifest, options = {}) {\n var _manifest_metaData, _manifest_metaData1;\n const { remotes = {}, overrides = {}, version } = options;\n let remoteSnapshot;\n const getPublicPath = ()=>{\n if ('publicPath' in manifest.metaData) {\n if (manifest.metaData.publicPath === 'auto' && version) {\n // use same implementation as publicPath auto runtime module implements\n return inferAutoPublicPath(version);\n }\n return manifest.metaData.publicPath;\n } else {\n return manifest.metaData.getPublicPath;\n }\n };\n const overridesKeys = Object.keys(overrides);\n let remotesInfo = {};\n // If remotes are not provided, only the remotes in the manifest will be read\n if (!Object.keys(remotes).length) {\n var _manifest_remotes;\n remotesInfo = ((_manifest_remotes = manifest.remotes) == null ? void 0 : _manifest_remotes.reduce((res, next)=>{\n let matchedVersion;\n const name = next.federationContainerName;\n // overrides have higher priority\n if (overridesKeys.includes(name)) {\n matchedVersion = overrides[name];\n } else {\n if ('version' in next) {\n matchedVersion = next.version;\n } else {\n matchedVersion = next.entry;\n }\n }\n res[name] = {\n matchedVersion\n };\n return res;\n }, {})) || {};\n }\n // If remotes (deploy scenario) are specified, they need to be traversed again\n Object.keys(remotes).forEach((key)=>remotesInfo[key] = {\n // overrides will override dependencies\n matchedVersion: overridesKeys.includes(key) ? overrides[key] : remotes[key]\n });\n const { remoteEntry: { path: remoteEntryPath, name: remoteEntryName, type: remoteEntryType }, types: remoteTypes, buildInfo: { buildVersion }, globalName } = manifest.metaData;\n const { exposes } = manifest;\n let basicRemoteSnapshot = {\n version: version ? version : '',\n buildVersion,\n globalName,\n remoteEntry: simpleJoinRemoteEntry(remoteEntryPath, remoteEntryName),\n remoteEntryType,\n remoteTypes: simpleJoinRemoteEntry(remoteTypes.path, remoteTypes.name),\n remoteTypesZip: remoteTypes.zip || '',\n remoteTypesAPI: remoteTypes.api || '',\n remotesInfo,\n shared: manifest == null ? void 0 : manifest.shared.map((item)=>({\n assets: item.assets,\n sharedName: item.name,\n version: item.version\n })),\n modules: exposes == null ? void 0 : exposes.map((expose)=>({\n moduleName: expose.name,\n modulePath: expose.path,\n assets: expose.assets\n }))\n };\n if ((_manifest_metaData = manifest.metaData) == null ? void 0 : _manifest_metaData.prefetchInterface) {\n const prefetchInterface = manifest.metaData.prefetchInterface;\n basicRemoteSnapshot = _extends({}, basicRemoteSnapshot, {\n prefetchInterface\n });\n }\n if ((_manifest_metaData1 = manifest.metaData) == null ? void 0 : _manifest_metaData1.prefetchEntry) {\n const { path, name, type } = manifest.metaData.prefetchEntry;\n basicRemoteSnapshot = _extends({}, basicRemoteSnapshot, {\n prefetchEntry: simpleJoinRemoteEntry(path, name),\n prefetchEntryType: type\n });\n }\n if ('publicPath' in manifest.metaData) {\n remoteSnapshot = _extends({}, basicRemoteSnapshot, {\n publicPath: getPublicPath()\n });\n } else {\n remoteSnapshot = _extends({}, basicRemoteSnapshot, {\n getPublicPath: getPublicPath()\n });\n }\n return remoteSnapshot;\n}\nfunction isManifestProvider(moduleInfo) {\n if ('remoteEntry' in moduleInfo && moduleInfo.remoteEntry.includes(MANIFEST_EXT)) {\n return true;\n } else {\n return false;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nasync function safeWrapper(callback, disableWarn) {\n try {\n const res = await callback();\n return res;\n } catch (e) {\n !disableWarn && warn(e);\n return;\n }\n}\nfunction isStaticResourcesEqual(url1, url2) {\n const REG_EXP = /^(https?:)?\\/\\//i;\n // Transform url1 and url2 into relative paths\n const relativeUrl1 = url1.replace(REG_EXP, '').replace(/\\/$/, '');\n const relativeUrl2 = url2.replace(REG_EXP, '').replace(/\\/$/, '');\n // Check if the relative paths are identical\n return relativeUrl1 === relativeUrl2;\n}\nfunction createScript(info) {\n // Retrieve the existing script element by its src attribute\n let script = null;\n let needAttach = true;\n let timeout = 20000;\n let timeoutId;\n const scripts = document.getElementsByTagName('script');\n for(let i = 0; i < scripts.length; i++){\n const s = scripts[i];\n const scriptSrc = s.getAttribute('src');\n if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {\n script = s;\n needAttach = false;\n break;\n }\n }\n if (!script) {\n script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = info.url;\n if (info.createScriptHook) {\n const createScriptRes = info.createScriptHook(info.url, info.attrs);\n if (createScriptRes instanceof HTMLScriptElement) {\n script = createScriptRes;\n } else if (typeof createScriptRes === 'object') {\n if (createScriptRes.script) script = createScriptRes.script;\n if (createScriptRes.timeout) timeout = createScriptRes.timeout;\n }\n }\n const attrs = info.attrs;\n if (attrs) {\n Object.keys(attrs).forEach((name)=>{\n if (script) {\n if (name === 'async' || name === 'defer') {\n script[name] = attrs[name];\n // Attributes that do not exist are considered overridden\n } else if (!script.getAttribute(name)) {\n script.setAttribute(name, attrs[name]);\n }\n }\n });\n }\n }\n const onScriptComplete = (prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event)=>{\n var _info_cb;\n clearTimeout(timeoutId);\n // Prevent memory leaks in IE.\n if (script) {\n script.onerror = null;\n script.onload = null;\n safeWrapper(()=>{\n const { needDeleteScript = true } = info;\n if (needDeleteScript) {\n (script == null ? void 0 : script.parentNode) && script.parentNode.removeChild(script);\n }\n });\n if (prev) {\n var _info_cb1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const res = prev(event);\n info == null ? void 0 : (_info_cb1 = info.cb) == null ? void 0 : _info_cb1.call(info);\n return res;\n }\n }\n info == null ? void 0 : (_info_cb = info.cb) == null ? void 0 : _info_cb.call(info);\n };\n script.onerror = onScriptComplete.bind(null, script.onerror);\n script.onload = onScriptComplete.bind(null, script.onload);\n timeoutId = setTimeout(()=>{\n onScriptComplete(null, new Error(`Remote script \"${info.url}\" time-outed.`));\n }, timeout);\n return {\n script,\n needAttach\n };\n}\nfunction createLink(info) {\n // \n // Retrieve the existing script element by its src attribute\n let link = null;\n let needAttach = true;\n const links = document.getElementsByTagName('link');\n for(let i = 0; i < links.length; i++){\n const l = links[i];\n const linkHref = l.getAttribute('href');\n const linkRef = l.getAttribute('ref');\n if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {\n link = l;\n needAttach = false;\n break;\n }\n }\n if (!link) {\n link = document.createElement('link');\n link.setAttribute('href', info.url);\n if (info.createLinkHook) {\n const createLinkRes = info.createLinkHook(info.url);\n if (createLinkRes instanceof HTMLLinkElement) {\n link = createLinkRes;\n }\n }\n const attrs = info.attrs;\n if (attrs) {\n Object.keys(attrs).forEach((name)=>{\n if (link && !link.getAttribute(name)) {\n link.setAttribute(name, attrs[name]);\n }\n });\n }\n }\n const onLinkComplete = (prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event)=>{\n // Prevent memory leaks in IE.\n if (link) {\n link.onerror = null;\n link.onload = null;\n safeWrapper(()=>{\n const { needDeleteLink = true } = info;\n if (needDeleteLink) {\n (link == null ? void 0 : link.parentNode) && link.parentNode.removeChild(link);\n }\n });\n if (prev) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const res = prev(event);\n info.cb();\n return res;\n }\n }\n info.cb();\n };\n link.onerror = onLinkComplete.bind(null, link.onerror);\n link.onload = onLinkComplete.bind(null, link.onload);\n return {\n link,\n needAttach\n };\n}\nfunction loadScript(url, info) {\n const { attrs = {}, createScriptHook } = info;\n return new Promise((resolve, _reject)=>{\n const { script, needAttach } = createScript({\n url,\n cb: resolve,\n attrs: _extends({\n fetchpriority: 'high'\n }, attrs),\n createScriptHook,\n needDeleteScript: true\n });\n needAttach && document.head.appendChild(script);\n });\n}\n\nfunction importNodeModule(name) {\n if (!name) {\n throw new Error('import specifier is required');\n }\n const importModule = new Function('name', `return import(name)`);\n return importModule(name).then((res)=>res.default).catch((error)=>{\n console.error(`Error importing module ${name}:`, error);\n throw error;\n });\n}\nconst loadNodeFetch = async ()=>{\n const fetchModule = await importNodeModule('node-fetch');\n return fetchModule.default || fetchModule;\n};\nconst lazyLoaderHookFetch = async (input, init)=>{\n // @ts-ignore\n const loaderHooks = __webpack_require__.federation.instance.loaderHook;\n const hook = (url, init)=>{\n return loaderHooks.lifecycle.fetch.emit(url, init);\n };\n const res = await hook(input, init || {});\n if (!res || !(res instanceof Response)) {\n const fetchFunction = typeof fetch === 'undefined' ? await loadNodeFetch() : fetch;\n return fetchFunction(input, init || {});\n }\n return res;\n};\nfunction createScriptNode(url, cb, attrs, createScriptHook) {\n if (createScriptHook) {\n const hookResult = createScriptHook(url);\n if (hookResult && typeof hookResult === 'object' && 'url' in hookResult) {\n url = hookResult.url;\n }\n }\n let urlObj;\n try {\n urlObj = new URL(url);\n } catch (e) {\n console.error('Error constructing URL:', e);\n cb(new Error(`Invalid URL: ${e}`));\n return;\n }\n const getFetch = async ()=>{\n //@ts-ignore\n if (typeof __webpack_require__ !== 'undefined') {\n try {\n //@ts-ignore\n const loaderHooks = __webpack_require__.federation.instance.loaderHook;\n if (loaderHooks.lifecycle.fetch) {\n return lazyLoaderHookFetch;\n }\n } catch (e) {\n console.warn('federation.instance.loaderHook.lifecycle.fetch failed:', e);\n }\n }\n return typeof fetch === 'undefined' ? loadNodeFetch() : fetch;\n };\n const handleScriptFetch = async (f, urlObj)=>{\n try {\n const res = await f(urlObj.href);\n const data = await res.text();\n const [path, vm] = await Promise.all([\n importNodeModule('path'),\n importNodeModule('vm')\n ]);\n const scriptContext = {\n exports: {},\n module: {\n exports: {}\n }\n };\n const urlDirname = urlObj.pathname.split('/').slice(0, -1).join('/');\n const filename = path.basename(urlObj.pathname);\n const script = new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}\\n})`, filename);\n script.runInThisContext()(scriptContext.exports, scriptContext.module, eval('require'), urlDirname, filename);\n const exportedInterface = scriptContext.module.exports || scriptContext.exports;\n if (attrs && exportedInterface && attrs['globalName']) {\n const container = exportedInterface[attrs['globalName']] || exportedInterface;\n cb(undefined, container);\n return;\n }\n cb(undefined, exportedInterface);\n } catch (e) {\n cb(new Error(`Script execution error: ${e}`));\n }\n };\n getFetch().then((f)=>handleScriptFetch(f, urlObj)).catch((err)=>{\n cb(err);\n });\n}\nfunction loadScriptNode(url, info) {\n return new Promise((resolve, reject)=>{\n createScriptNode(url, (error, scriptContext)=>{\n if (error) {\n reject(error);\n } else {\n var _info_attrs, _info_attrs1;\n const remoteEntryKey = (info == null ? void 0 : (_info_attrs = info.attrs) == null ? void 0 : _info_attrs['globalName']) || `__FEDERATION_${info == null ? void 0 : (_info_attrs1 = info.attrs) == null ? void 0 : _info_attrs1['name']}:custom__`;\n const entryExports = globalThis[remoteEntryKey] = scriptContext;\n resolve(entryExports);\n }\n }, info.attrs, info.createScriptHook);\n });\n}\n\nfunction normalizeOptions(enableDefault, defaultOptions, key) {\n return function(options) {\n if (options === false) {\n return false;\n }\n if (typeof options === 'undefined') {\n if (enableDefault) {\n return defaultOptions;\n } else {\n return false;\n }\n }\n if (options === true) {\n return defaultOptions;\n }\n if (options && typeof options === 'object') {\n return _extends({}, defaultOptions, options);\n }\n throw new Error(`Unexpected type for \\`${key}\\`, expect boolean/undefined/object, got: ${typeof options}`);\n };\n}\n\nexports.BROWSER_LOG_KEY = BROWSER_LOG_KEY;\nexports.BROWSER_LOG_VALUE = BROWSER_LOG_VALUE;\nexports.ENCODE_NAME_PREFIX = ENCODE_NAME_PREFIX;\nexports.EncodedNameTransformMap = EncodedNameTransformMap;\nexports.FederationModuleManifest = FederationModuleManifest;\nexports.Logger = Logger;\nexports.MANIFEST_EXT = MANIFEST_EXT;\nexports.MFModuleType = MFModuleType;\nexports.MODULE_DEVTOOL_IDENTIFIER = MODULE_DEVTOOL_IDENTIFIER;\nexports.ManifestFileName = ManifestFileName;\nexports.NameTransformMap = NameTransformMap;\nexports.NameTransformSymbol = NameTransformSymbol;\nexports.SEPARATOR = SEPARATOR;\nexports.StatsFileName = StatsFileName;\nexports.assert = assert;\nexports.composeKeyWithSeparator = composeKeyWithSeparator;\nexports.containerPlugin = ContainerPlugin;\nexports.containerReferencePlugin = ContainerReferencePlugin;\nexports.createLink = createLink;\nexports.createScript = createScript;\nexports.createScriptNode = createScriptNode;\nexports.decodeName = decodeName;\nexports.encodeName = encodeName;\nexports.error = error;\nexports.generateExposeFilename = generateExposeFilename;\nexports.generateShareFilename = generateShareFilename;\nexports.generateSnapshotFromManifest = generateSnapshotFromManifest;\nexports.getProcessEnv = getProcessEnv;\nexports.getResourceUrl = getResourceUrl;\nexports.inferAutoPublicPath = inferAutoPublicPath;\nexports.isBrowserEnv = isBrowserEnv;\nexports.isDebugMode = isDebugMode;\nexports.isManifestProvider = isManifestProvider;\nexports.isStaticResourcesEqual = isStaticResourcesEqual;\nexports.loadScript = loadScript;\nexports.loadScriptNode = loadScriptNode;\nexports.logger = logger;\nexports.moduleFederationPlugin = ModuleFederationPlugin;\nexports.normalizeOptions = normalizeOptions;\nexports.parseEntry = parseEntry;\nexports.safeWrapper = safeWrapper;\nexports.sharePlugin = SharePlugin;\nexports.simpleJoinRemoteEntry = simpleJoinRemoteEntry;\nexports.warn = warn;\n","const FederationModuleManifest = 'federation-manifest.json';\nconst MANIFEST_EXT = '.json';\nconst BROWSER_LOG_KEY = 'FEDERATION_DEBUG';\nconst BROWSER_LOG_VALUE = '1';\nconst NameTransformSymbol = {\n AT: '@',\n HYPHEN: '-',\n SLASH: '/'\n};\nconst NameTransformMap = {\n [NameTransformSymbol.AT]: 'scope_',\n [NameTransformSymbol.HYPHEN]: '_',\n [NameTransformSymbol.SLASH]: '__'\n};\nconst EncodedNameTransformMap = {\n [NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,\n [NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,\n [NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH\n};\nconst SEPARATOR = ':';\nconst ManifestFileName = 'mf-manifest.json';\nconst StatsFileName = 'mf-stats.json';\nconst MFModuleType = {\n NPM: 'npm',\n APP: 'app'\n};\nconst MODULE_DEVTOOL_IDENTIFIER = '__MF_DEVTOOLS_MODULE_INFO__';\nconst ENCODE_NAME_PREFIX = 'ENCODE_NAME_PREFIX';\n\nvar ContainerPlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar ContainerReferencePlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar ModuleFederationPlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar SharePlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nfunction isBrowserEnv() {\n return typeof window !== 'undefined';\n}\nfunction isDebugMode() {\n if (typeof process !== 'undefined' && process.env && process.env['FEDERATION_DEBUG']) {\n return Boolean(process.env['FEDERATION_DEBUG']);\n }\n return typeof FEDERATION_DEBUG !== 'undefined' && Boolean(FEDERATION_DEBUG);\n}\nconst getProcessEnv = function() {\n return typeof process !== 'undefined' && process.env ? process.env : {};\n};\n\nfunction safeToString(info) {\n try {\n return JSON.stringify(info, null, 2);\n } catch (e) {\n return '';\n }\n}\nconst DEBUG_LOG = '[ FEDERATION DEBUG ]';\nfunction safeGetLocalStorageItem() {\n try {\n if (typeof window !== 'undefined' && window.localStorage) {\n return localStorage.getItem(BROWSER_LOG_KEY) === BROWSER_LOG_VALUE;\n }\n } catch (error) {\n return typeof document !== 'undefined';\n }\n return false;\n}\nlet Logger = class Logger {\n info(msg, info) {\n if (this.enable) {\n const argsToString = safeToString(info) || '';\n if (isBrowserEnv()) {\n console.info(`%c ${this.identifier}: ${msg} ${argsToString}`, 'color:#3300CC');\n } else {\n console.info('\\x1b[34m%s', `${this.identifier}: ${msg} ${argsToString ? `\\n${argsToString}` : ''}`);\n }\n }\n }\n logOriginalInfo(...args) {\n if (this.enable) {\n if (isBrowserEnv()) {\n console.info(`%c ${this.identifier}: OriginalInfo`, 'color:#3300CC');\n console.log(...args);\n } else {\n console.info(`%c ${this.identifier}: OriginalInfo`, 'color:#3300CC');\n console.log(...args);\n }\n }\n }\n constructor(identifier){\n this.enable = false;\n this.identifier = identifier || DEBUG_LOG;\n if (isBrowserEnv() && safeGetLocalStorageItem()) {\n this.enable = true;\n } else if (isDebugMode()) {\n this.enable = true;\n }\n }\n};\n\nconst LOG_CATEGORY = '[ Federation Runtime ]';\n// entry: name:version version : 1.0.0 | ^1.2.3\n// entry: name:entry entry: https://localhost:9000/federation-manifest.json\nconst parseEntry = (str, devVerOrUrl, separator = SEPARATOR)=>{\n const strSplit = str.split(separator);\n const devVersionOrUrl = getProcessEnv()['NODE_ENV'] === 'development' && devVerOrUrl;\n const defaultVersion = '*';\n const isEntry = (s)=>s.startsWith('http') || s.includes(MANIFEST_EXT);\n // Check if the string starts with a type\n if (strSplit.length >= 2) {\n let [name, ...versionOrEntryArr] = strSplit;\n if (str.startsWith(separator)) {\n versionOrEntryArr = [\n devVersionOrUrl || strSplit.slice(-1)[0]\n ];\n name = strSplit.slice(0, -1).join(separator);\n }\n let versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);\n if (isEntry(versionOrEntry)) {\n return {\n name,\n entry: versionOrEntry\n };\n } else {\n // Apply version rule\n // devVersionOrUrl => inputVersion => defaultVersion\n return {\n name,\n version: versionOrEntry || defaultVersion\n };\n }\n } else if (strSplit.length === 1) {\n const [name] = strSplit;\n if (devVersionOrUrl && isEntry(devVersionOrUrl)) {\n return {\n name,\n entry: devVersionOrUrl\n };\n }\n return {\n name,\n version: devVersionOrUrl || defaultVersion\n };\n } else {\n throw `Invalid entry value: ${str}`;\n }\n};\nconst logger = new Logger();\nconst composeKeyWithSeparator = function(...args) {\n if (!args.length) {\n return '';\n }\n return args.reduce((sum, cur)=>{\n if (!cur) {\n return sum;\n }\n if (!sum) {\n return cur;\n }\n return `${sum}${SEPARATOR}${cur}`;\n }, '');\n};\nconst encodeName = function(name, prefix = '', withExt = false) {\n try {\n const ext = withExt ? '.js' : '';\n return `${prefix}${name.replace(new RegExp(`${NameTransformSymbol.AT}`, 'g'), NameTransformMap[NameTransformSymbol.AT]).replace(new RegExp(`${NameTransformSymbol.HYPHEN}`, 'g'), NameTransformMap[NameTransformSymbol.HYPHEN]).replace(new RegExp(`${NameTransformSymbol.SLASH}`, 'g'), NameTransformMap[NameTransformSymbol.SLASH])}${ext}`;\n } catch (err) {\n throw err;\n }\n};\nconst decodeName = function(name, prefix, withExt) {\n try {\n let decodedName = name;\n if (prefix) {\n if (!decodedName.startsWith(prefix)) {\n return decodedName;\n }\n decodedName = decodedName.replace(new RegExp(prefix, 'g'), '');\n }\n decodedName = decodedName.replace(new RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]);\n if (withExt) {\n decodedName = decodedName.replace('.js', '');\n }\n return decodedName;\n } catch (err) {\n throw err;\n }\n};\nconst generateExposeFilename = (exposeName, withExt)=>{\n if (!exposeName) {\n return '';\n }\n let expose = exposeName;\n if (expose === '.') {\n expose = 'default_export';\n }\n if (expose.startsWith('./')) {\n expose = expose.replace('./', '');\n }\n return encodeName(expose, '__federation_expose_', withExt);\n};\nconst generateShareFilename = (pkgName, withExt)=>{\n if (!pkgName) {\n return '';\n }\n return encodeName(pkgName, '__federation_shared_', withExt);\n};\nconst getResourceUrl = (module, sourceUrl)=>{\n if ('getPublicPath' in module) {\n let publicPath;\n if (!module.getPublicPath.startsWith('function')) {\n publicPath = new Function(module.getPublicPath)();\n } else {\n publicPath = new Function('return ' + module.getPublicPath)()();\n }\n return `${publicPath}${sourceUrl}`;\n } else if ('publicPath' in module) {\n return `${module.publicPath}${sourceUrl}`;\n } else {\n console.warn('Cannot get resource URL. If in debug mode, please ignore.', module, sourceUrl);\n return '';\n }\n};\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst assert = (condition, msg)=>{\n if (!condition) {\n error(msg);\n }\n};\nconst error = (msg)=>{\n throw new Error(`${LOG_CATEGORY}: ${msg}`);\n};\nconst warn = (msg)=>{\n console.warn(`${LOG_CATEGORY}: ${msg}`);\n};\n\nfunction _extends() {\n _extends = Object.assign || function assign(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nconst simpleJoinRemoteEntry = (rPath, rName)=>{\n if (!rPath) {\n return rName;\n }\n const transformPath = (str)=>{\n if (str === '.') {\n return '';\n }\n if (str.startsWith('./')) {\n return str.replace('./', '');\n }\n if (str.startsWith('/')) {\n const strWithoutSlash = str.slice(1);\n if (strWithoutSlash.endsWith('/')) {\n return strWithoutSlash.slice(0, -1);\n }\n return strWithoutSlash;\n }\n return str;\n };\n const transformedPath = transformPath(rPath);\n if (!transformedPath) {\n return rName;\n }\n if (transformedPath.endsWith('/')) {\n return `${transformedPath}${rName}`;\n }\n return `${transformedPath}/${rName}`;\n};\nfunction inferAutoPublicPath(url) {\n return url.replace(/#.*$/, '').replace(/\\?.*$/, '').replace(/\\/[^\\/]+$/, '/');\n}\n// Priority: overrides > remotes\n// eslint-disable-next-line max-lines-per-function\nfunction generateSnapshotFromManifest(manifest, options = {}) {\n var _manifest_metaData, _manifest_metaData1;\n const { remotes = {}, overrides = {}, version } = options;\n let remoteSnapshot;\n const getPublicPath = ()=>{\n if ('publicPath' in manifest.metaData) {\n if (manifest.metaData.publicPath === 'auto' && version) {\n // use same implementation as publicPath auto runtime module implements\n return inferAutoPublicPath(version);\n }\n return manifest.metaData.publicPath;\n } else {\n return manifest.metaData.getPublicPath;\n }\n };\n const overridesKeys = Object.keys(overrides);\n let remotesInfo = {};\n // If remotes are not provided, only the remotes in the manifest will be read\n if (!Object.keys(remotes).length) {\n var _manifest_remotes;\n remotesInfo = ((_manifest_remotes = manifest.remotes) == null ? void 0 : _manifest_remotes.reduce((res, next)=>{\n let matchedVersion;\n const name = next.federationContainerName;\n // overrides have higher priority\n if (overridesKeys.includes(name)) {\n matchedVersion = overrides[name];\n } else {\n if ('version' in next) {\n matchedVersion = next.version;\n } else {\n matchedVersion = next.entry;\n }\n }\n res[name] = {\n matchedVersion\n };\n return res;\n }, {})) || {};\n }\n // If remotes (deploy scenario) are specified, they need to be traversed again\n Object.keys(remotes).forEach((key)=>remotesInfo[key] = {\n // overrides will override dependencies\n matchedVersion: overridesKeys.includes(key) ? overrides[key] : remotes[key]\n });\n const { remoteEntry: { path: remoteEntryPath, name: remoteEntryName, type: remoteEntryType }, types: remoteTypes, buildInfo: { buildVersion }, globalName } = manifest.metaData;\n const { exposes } = manifest;\n let basicRemoteSnapshot = {\n version: version ? version : '',\n buildVersion,\n globalName,\n remoteEntry: simpleJoinRemoteEntry(remoteEntryPath, remoteEntryName),\n remoteEntryType,\n remoteTypes: simpleJoinRemoteEntry(remoteTypes.path, remoteTypes.name),\n remoteTypesZip: remoteTypes.zip || '',\n remoteTypesAPI: remoteTypes.api || '',\n remotesInfo,\n shared: manifest == null ? void 0 : manifest.shared.map((item)=>({\n assets: item.assets,\n sharedName: item.name,\n version: item.version\n })),\n modules: exposes == null ? void 0 : exposes.map((expose)=>({\n moduleName: expose.name,\n modulePath: expose.path,\n assets: expose.assets\n }))\n };\n if ((_manifest_metaData = manifest.metaData) == null ? void 0 : _manifest_metaData.prefetchInterface) {\n const prefetchInterface = manifest.metaData.prefetchInterface;\n basicRemoteSnapshot = _extends({}, basicRemoteSnapshot, {\n prefetchInterface\n });\n }\n if ((_manifest_metaData1 = manifest.metaData) == null ? void 0 : _manifest_metaData1.prefetchEntry) {\n const { path, name, type } = manifest.metaData.prefetchEntry;\n basicRemoteSnapshot = _extends({}, basicRemoteSnapshot, {\n prefetchEntry: simpleJoinRemoteEntry(path, name),\n prefetchEntryType: type\n });\n }\n if ('publicPath' in manifest.metaData) {\n remoteSnapshot = _extends({}, basicRemoteSnapshot, {\n publicPath: getPublicPath()\n });\n } else {\n remoteSnapshot = _extends({}, basicRemoteSnapshot, {\n getPublicPath: getPublicPath()\n });\n }\n return remoteSnapshot;\n}\nfunction isManifestProvider(moduleInfo) {\n if ('remoteEntry' in moduleInfo && moduleInfo.remoteEntry.includes(MANIFEST_EXT)) {\n return true;\n } else {\n return false;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nasync function safeWrapper(callback, disableWarn) {\n try {\n const res = await callback();\n return res;\n } catch (e) {\n !disableWarn && warn(e);\n return;\n }\n}\nfunction isStaticResourcesEqual(url1, url2) {\n const REG_EXP = /^(https?:)?\\/\\//i;\n // Transform url1 and url2 into relative paths\n const relativeUrl1 = url1.replace(REG_EXP, '').replace(/\\/$/, '');\n const relativeUrl2 = url2.replace(REG_EXP, '').replace(/\\/$/, '');\n // Check if the relative paths are identical\n return relativeUrl1 === relativeUrl2;\n}\nfunction createScript(info) {\n // Retrieve the existing script element by its src attribute\n let script = null;\n let needAttach = true;\n let timeout = 20000;\n let timeoutId;\n const scripts = document.getElementsByTagName('script');\n for(let i = 0; i < scripts.length; i++){\n const s = scripts[i];\n const scriptSrc = s.getAttribute('src');\n if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {\n script = s;\n needAttach = false;\n break;\n }\n }\n if (!script) {\n script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = info.url;\n if (info.createScriptHook) {\n const createScriptRes = info.createScriptHook(info.url, info.attrs);\n if (createScriptRes instanceof HTMLScriptElement) {\n script = createScriptRes;\n } else if (typeof createScriptRes === 'object') {\n if (createScriptRes.script) script = createScriptRes.script;\n if (createScriptRes.timeout) timeout = createScriptRes.timeout;\n }\n }\n const attrs = info.attrs;\n if (attrs) {\n Object.keys(attrs).forEach((name)=>{\n if (script) {\n if (name === 'async' || name === 'defer') {\n script[name] = attrs[name];\n // Attributes that do not exist are considered overridden\n } else if (!script.getAttribute(name)) {\n script.setAttribute(name, attrs[name]);\n }\n }\n });\n }\n }\n const onScriptComplete = (prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event)=>{\n var _info_cb;\n clearTimeout(timeoutId);\n // Prevent memory leaks in IE.\n if (script) {\n script.onerror = null;\n script.onload = null;\n safeWrapper(()=>{\n const { needDeleteScript = true } = info;\n if (needDeleteScript) {\n (script == null ? void 0 : script.parentNode) && script.parentNode.removeChild(script);\n }\n });\n if (prev) {\n var _info_cb1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const res = prev(event);\n info == null ? void 0 : (_info_cb1 = info.cb) == null ? void 0 : _info_cb1.call(info);\n return res;\n }\n }\n info == null ? void 0 : (_info_cb = info.cb) == null ? void 0 : _info_cb.call(info);\n };\n script.onerror = onScriptComplete.bind(null, script.onerror);\n script.onload = onScriptComplete.bind(null, script.onload);\n timeoutId = setTimeout(()=>{\n onScriptComplete(null, new Error(`Remote script \"${info.url}\" time-outed.`));\n }, timeout);\n return {\n script,\n needAttach\n };\n}\nfunction createLink(info) {\n // \n // Retrieve the existing script element by its src attribute\n let link = null;\n let needAttach = true;\n const links = document.getElementsByTagName('link');\n for(let i = 0; i < links.length; i++){\n const l = links[i];\n const linkHref = l.getAttribute('href');\n const linkRef = l.getAttribute('ref');\n if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {\n link = l;\n needAttach = false;\n break;\n }\n }\n if (!link) {\n link = document.createElement('link');\n link.setAttribute('href', info.url);\n if (info.createLinkHook) {\n const createLinkRes = info.createLinkHook(info.url);\n if (createLinkRes instanceof HTMLLinkElement) {\n link = createLinkRes;\n }\n }\n const attrs = info.attrs;\n if (attrs) {\n Object.keys(attrs).forEach((name)=>{\n if (link && !link.getAttribute(name)) {\n link.setAttribute(name, attrs[name]);\n }\n });\n }\n }\n const onLinkComplete = (prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event)=>{\n // Prevent memory leaks in IE.\n if (link) {\n link.onerror = null;\n link.onload = null;\n safeWrapper(()=>{\n const { needDeleteLink = true } = info;\n if (needDeleteLink) {\n (link == null ? void 0 : link.parentNode) && link.parentNode.removeChild(link);\n }\n });\n if (prev) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const res = prev(event);\n info.cb();\n return res;\n }\n }\n info.cb();\n };\n link.onerror = onLinkComplete.bind(null, link.onerror);\n link.onload = onLinkComplete.bind(null, link.onload);\n return {\n link,\n needAttach\n };\n}\nfunction loadScript(url, info) {\n const { attrs = {}, createScriptHook } = info;\n return new Promise((resolve, _reject)=>{\n const { script, needAttach } = createScript({\n url,\n cb: resolve,\n attrs: _extends({\n fetchpriority: 'high'\n }, attrs),\n createScriptHook,\n needDeleteScript: true\n });\n needAttach && document.head.appendChild(script);\n });\n}\n\nfunction importNodeModule(name) {\n if (!name) {\n throw new Error('import specifier is required');\n }\n const importModule = new Function('name', `return import(name)`);\n return importModule(name).then((res)=>res.default).catch((error)=>{\n console.error(`Error importing module ${name}:`, error);\n throw error;\n });\n}\nconst loadNodeFetch = async ()=>{\n const fetchModule = await importNodeModule('node-fetch');\n return fetchModule.default || fetchModule;\n};\nconst lazyLoaderHookFetch = async (input, init)=>{\n // @ts-ignore\n const loaderHooks = __webpack_require__.federation.instance.loaderHook;\n const hook = (url, init)=>{\n return loaderHooks.lifecycle.fetch.emit(url, init);\n };\n const res = await hook(input, init || {});\n if (!res || !(res instanceof Response)) {\n const fetchFunction = typeof fetch === 'undefined' ? await loadNodeFetch() : fetch;\n return fetchFunction(input, init || {});\n }\n return res;\n};\nfunction createScriptNode(url, cb, attrs, createScriptHook) {\n if (createScriptHook) {\n const hookResult = createScriptHook(url);\n if (hookResult && typeof hookResult === 'object' && 'url' in hookResult) {\n url = hookResult.url;\n }\n }\n let urlObj;\n try {\n urlObj = new URL(url);\n } catch (e) {\n console.error('Error constructing URL:', e);\n cb(new Error(`Invalid URL: ${e}`));\n return;\n }\n const getFetch = async ()=>{\n //@ts-ignore\n if (typeof __webpack_require__ !== 'undefined') {\n try {\n //@ts-ignore\n const loaderHooks = __webpack_require__.federation.instance.loaderHook;\n if (loaderHooks.lifecycle.fetch) {\n return lazyLoaderHookFetch;\n }\n } catch (e) {\n console.warn('federation.instance.loaderHook.lifecycle.fetch failed:', e);\n }\n }\n return typeof fetch === 'undefined' ? loadNodeFetch() : fetch;\n };\n const handleScriptFetch = async (f, urlObj)=>{\n try {\n const res = await f(urlObj.href);\n const data = await res.text();\n const [path, vm] = await Promise.all([\n importNodeModule('path'),\n importNodeModule('vm')\n ]);\n const scriptContext = {\n exports: {},\n module: {\n exports: {}\n }\n };\n const urlDirname = urlObj.pathname.split('/').slice(0, -1).join('/');\n const filename = path.basename(urlObj.pathname);\n const script = new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}\\n})`, filename);\n script.runInThisContext()(scriptContext.exports, scriptContext.module, eval('require'), urlDirname, filename);\n const exportedInterface = scriptContext.module.exports || scriptContext.exports;\n if (attrs && exportedInterface && attrs['globalName']) {\n const container = exportedInterface[attrs['globalName']] || exportedInterface;\n cb(undefined, container);\n return;\n }\n cb(undefined, exportedInterface);\n } catch (e) {\n cb(new Error(`Script execution error: ${e}`));\n }\n };\n getFetch().then((f)=>handleScriptFetch(f, urlObj)).catch((err)=>{\n cb(err);\n });\n}\nfunction loadScriptNode(url, info) {\n return new Promise((resolve, reject)=>{\n createScriptNode(url, (error, scriptContext)=>{\n if (error) {\n reject(error);\n } else {\n var _info_attrs, _info_attrs1;\n const remoteEntryKey = (info == null ? void 0 : (_info_attrs = info.attrs) == null ? void 0 : _info_attrs['globalName']) || `__FEDERATION_${info == null ? void 0 : (_info_attrs1 = info.attrs) == null ? void 0 : _info_attrs1['name']}:custom__`;\n const entryExports = globalThis[remoteEntryKey] = scriptContext;\n resolve(entryExports);\n }\n }, info.attrs, info.createScriptHook);\n });\n}\n\nfunction normalizeOptions(enableDefault, defaultOptions, key) {\n return function(options) {\n if (options === false) {\n return false;\n }\n if (typeof options === 'undefined') {\n if (enableDefault) {\n return defaultOptions;\n } else {\n return false;\n }\n }\n if (options === true) {\n return defaultOptions;\n }\n if (options && typeof options === 'object') {\n return _extends({}, defaultOptions, options);\n }\n throw new Error(`Unexpected type for \\`${key}\\`, expect boolean/undefined/object, got: ${typeof options}`);\n };\n}\n\nexport { BROWSER_LOG_KEY, BROWSER_LOG_VALUE, ENCODE_NAME_PREFIX, EncodedNameTransformMap, FederationModuleManifest, Logger, MANIFEST_EXT, MFModuleType, MODULE_DEVTOOL_IDENTIFIER, ManifestFileName, NameTransformMap, NameTransformSymbol, SEPARATOR, StatsFileName, assert, composeKeyWithSeparator, ContainerPlugin as containerPlugin, ContainerReferencePlugin as containerReferencePlugin, createLink, createScript, createScriptNode, decodeName, encodeName, error, generateExposeFilename, generateShareFilename, generateSnapshotFromManifest, getProcessEnv, getResourceUrl, inferAutoPublicPath, isBrowserEnv, isDebugMode, isManifestProvider, isStaticResourcesEqual, loadScript, loadScriptNode, logger, ModuleFederationPlugin as moduleFederationPlugin, normalizeOptions, parseEntry, safeWrapper, SharePlugin as sharePlugin, simpleJoinRemoteEntry, warn };\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar sdk = require('@module-federation/sdk');\n\nvar FEDERATION_SUPPORTED_TYPES = [\n 'script'\n];\n\nObject.defineProperty(exports, 'ENCODE_NAME_PREFIX', {\n\tenumerable: true,\n\tget: function () { return sdk.ENCODE_NAME_PREFIX; }\n});\nexports.FEDERATION_SUPPORTED_TYPES = FEDERATION_SUPPORTED_TYPES;\n","'use strict';\n\nvar runtime = require('@module-federation/runtime');\nvar sdk = require('@module-federation/sdk');\nvar constant = require('./constant.cjs.js');\n\nfunction _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n }\n n[\"default\"] = e;\n return Object.freeze(n);\n}\n\nvar runtime__namespace = /*#__PURE__*/_interopNamespace(runtime);\n\nfunction attachShareScopeMap(webpackRequire) {\n if (!webpackRequire.S || webpackRequire.federation.hasAttachShareScopeMap || !webpackRequire.federation.instance || !webpackRequire.federation.instance.shareScopeMap) {\n return;\n }\n webpackRequire.S = webpackRequire.federation.instance.shareScopeMap;\n webpackRequire.federation.hasAttachShareScopeMap = true;\n}\n\nfunction remotes(options) {\n var chunkId = options.chunkId, promises = options.promises, chunkMapping = options.chunkMapping, idToExternalAndNameMapping = options.idToExternalAndNameMapping, webpackRequire = options.webpackRequire, idToRemoteMap = options.idToRemoteMap;\n attachShareScopeMap(webpackRequire);\n if (webpackRequire.o(chunkMapping, chunkId)) {\n chunkMapping[chunkId].forEach(function(id) {\n var getScope = webpackRequire.R;\n if (!getScope) {\n getScope = [];\n }\n var data = idToExternalAndNameMapping[id];\n var remoteInfos = idToRemoteMap[id];\n // @ts-ignore seems not work\n if (getScope.indexOf(data) >= 0) {\n return;\n }\n // @ts-ignore seems not work\n getScope.push(data);\n if (data.p) {\n return promises.push(data.p);\n }\n var onError = function(error) {\n if (!error) {\n error = new Error('Container missing');\n }\n if (typeof error.message === 'string') {\n error.message += '\\nwhile loading \"'.concat(data[1], '\" from ').concat(data[2]);\n }\n webpackRequire.m[id] = function() {\n throw error;\n };\n data.p = 0;\n };\n var handleFunction = function(fn, arg1, arg2, d, next, first) {\n try {\n var promise = fn(arg1, arg2);\n if (promise && promise.then) {\n var p = promise.then(function(result) {\n return next(result, d);\n }, onError);\n if (first) {\n promises.push(data.p = p);\n } else {\n return p;\n }\n } else {\n return next(promise, d, first);\n }\n } catch (error) {\n onError(error);\n }\n };\n var onExternal = function(external, _, first) {\n return external ? handleFunction(webpackRequire.I, data[0], 0, external, onInitialized, first) : onError();\n };\n // eslint-disable-next-line no-var\n var onInitialized = function(_, external, first) {\n return handleFunction(external.get, data[1], getScope, 0, onFactory, first);\n };\n // eslint-disable-next-line no-var\n var onFactory = function(factory) {\n data.p = 1;\n webpackRequire.m[id] = function(module) {\n module.exports = factory();\n };\n };\n var onRemoteLoaded = function() {\n try {\n var remoteName = sdk.decodeName(remoteInfos[0].name, sdk.ENCODE_NAME_PREFIX);\n var remoteModuleName = remoteName + data[1].slice(1);\n return webpackRequire.federation.instance.loadRemote(remoteModuleName, {\n loadFactory: false,\n from: 'build'\n });\n } catch (error) {\n onError(error);\n }\n };\n var useRuntimeLoad = remoteInfos.length === 1 && [\n 'script'\n ].includes(remoteInfos[0].externalType) && remoteInfos[0].name;\n if (useRuntimeLoad) {\n handleFunction(onRemoteLoaded, data[2], 0, 0, onFactory, 1);\n } else {\n handleFunction(webpackRequire, data[2], 0, 0, onExternal, 1);\n }\n });\n }\n}\n\nfunction consumes(options) {\n var chunkId = options.chunkId, promises = options.promises, chunkMapping = options.chunkMapping, installedModules = options.installedModules, moduleToHandlerMapping = options.moduleToHandlerMapping, webpackRequire = options.webpackRequire;\n attachShareScopeMap(webpackRequire);\n if (webpackRequire.o(chunkMapping, chunkId)) {\n chunkMapping[chunkId].forEach(function(id) {\n if (webpackRequire.o(installedModules, id)) {\n return promises.push(installedModules[id]);\n }\n var onFactory = function(factory) {\n installedModules[id] = 0;\n webpackRequire.m[id] = function(module) {\n delete webpackRequire.c[id];\n module.exports = factory();\n };\n };\n var onError = function(error) {\n delete installedModules[id];\n webpackRequire.m[id] = function(module) {\n delete webpackRequire.c[id];\n throw error;\n };\n };\n try {\n var federationInstance = webpackRequire.federation.instance;\n if (!federationInstance) {\n throw new Error('Federation instance not found!');\n }\n var _moduleToHandlerMapping_id = moduleToHandlerMapping[id], shareKey = _moduleToHandlerMapping_id.shareKey, getter = _moduleToHandlerMapping_id.getter, shareInfo = _moduleToHandlerMapping_id.shareInfo;\n var promise = federationInstance.loadShare(shareKey, {\n customShareInfo: shareInfo\n }).then(function(factory) {\n if (factory === false) {\n return getter();\n }\n return factory;\n });\n if (promise.then) {\n promises.push(installedModules[id] = promise.then(onFactory).catch(onError));\n } else {\n // @ts-ignore maintain previous logic\n onFactory(promise);\n }\n } catch (e) {\n onError(e);\n }\n });\n }\n}\n\nfunction initializeSharing(param) {\n var shareScopeName = param.shareScopeName, webpackRequire = param.webpackRequire, initPromises = param.initPromises, initTokens = param.initTokens, initScope = param.initScope;\n if (!initScope) initScope = [];\n // handling circular init calls\n var initToken = initTokens[shareScopeName];\n if (!initToken) initToken = initTokens[shareScopeName] = {};\n if (initScope.indexOf(initToken) >= 0) return;\n initScope.push(initToken);\n var promise = initPromises[shareScopeName];\n if (promise) return promise;\n var warn = function(msg) {\n return typeof console !== 'undefined' && console.warn && console.warn(msg);\n };\n var initExternal = function(id) {\n var handleError = function(err) {\n return warn('Initialization of sharing external failed: ' + err);\n };\n try {\n var module = webpackRequire(id);\n if (!module) return;\n var initFn = function(module) {\n return module && module.init && // @ts-ignore compat legacy mf shared behavior\n module.init(webpackRequire.S[shareScopeName], initScope);\n };\n if (module.then) return promises.push(module.then(initFn, handleError));\n var initResult = initFn(module);\n // @ts-ignore\n if (initResult && typeof initResult !== 'boolean' && initResult.then) // @ts-ignore\n return promises.push(initResult['catch'](handleError));\n } catch (err) {\n handleError(err);\n }\n };\n var promises = webpackRequire.federation.instance.initializeSharing(shareScopeName);\n attachShareScopeMap(webpackRequire);\n var bundlerRuntimeRemotesOptions = webpackRequire.federation.bundlerRuntimeOptions.remotes;\n if (bundlerRuntimeRemotesOptions) {\n Object.keys(bundlerRuntimeRemotesOptions.idToRemoteMap).forEach(function(moduleId) {\n var info = bundlerRuntimeRemotesOptions.idToRemoteMap[moduleId];\n var externalModuleId = bundlerRuntimeRemotesOptions.idToExternalAndNameMapping[moduleId][2];\n if (info.length > 1) {\n initExternal(externalModuleId);\n } else if (info.length === 1) {\n var remoteInfo = info[0];\n if (!constant.FEDERATION_SUPPORTED_TYPES.includes(remoteInfo.externalType)) {\n initExternal(externalModuleId);\n }\n }\n });\n }\n if (!promises.length) {\n return initPromises[shareScopeName] = true;\n }\n return initPromises[shareScopeName] = Promise.all(promises).then(function() {\n return initPromises[shareScopeName] = true;\n });\n}\n\nfunction handleInitialConsumes(options) {\n var moduleId = options.moduleId, moduleToHandlerMapping = options.moduleToHandlerMapping, webpackRequire = options.webpackRequire;\n var federationInstance = webpackRequire.federation.instance;\n if (!federationInstance) {\n throw new Error('Federation instance not found!');\n }\n var _moduleToHandlerMapping_moduleId = moduleToHandlerMapping[moduleId], shareKey = _moduleToHandlerMapping_moduleId.shareKey, shareInfo = _moduleToHandlerMapping_moduleId.shareInfo;\n try {\n return federationInstance.loadShareSync(shareKey, {\n customShareInfo: shareInfo\n });\n } catch (err) {\n console.error('loadShareSync failed! The function should not be called unless you set \"eager:true\". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.');\n console.error('The original error message is as follows: ');\n throw err;\n }\n}\nfunction installInitialConsumes(options) {\n var moduleToHandlerMapping = options.moduleToHandlerMapping, webpackRequire = options.webpackRequire, installedModules = options.installedModules, initialConsumes = options.initialConsumes;\n initialConsumes.forEach(function(id) {\n webpackRequire.m[id] = function(module) {\n // Handle scenario when module is used synchronously\n installedModules[id] = 0;\n delete webpackRequire.c[id];\n var factory = handleInitialConsumes({\n moduleId: id,\n moduleToHandlerMapping: moduleToHandlerMapping,\n webpackRequire: webpackRequire\n });\n if (typeof factory !== 'function') {\n throw new Error(\"Shared module is not available for eager consumption: \".concat(id));\n }\n module.exports = factory();\n };\n });\n}\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction initContainerEntry(options) {\n var webpackRequire = options.webpackRequire, shareScope = options.shareScope, initScope = options.initScope, shareScopeKey = options.shareScopeKey, remoteEntryInitOptions = options.remoteEntryInitOptions;\n if (!webpackRequire.S) return;\n if (!webpackRequire.federation || !webpackRequire.federation.instance || !webpackRequire.federation.initOptions) return;\n var federationInstance = webpackRequire.federation.instance;\n var name = shareScopeKey || 'default';\n federationInstance.initOptions(_object_spread({\n name: webpackRequire.federation.initOptions.name,\n remotes: []\n }, remoteEntryInitOptions));\n federationInstance.initShareScopeMap(name, shareScope, {\n hostShareScopeMap: (remoteEntryInitOptions === null || remoteEntryInitOptions === void 0 ? void 0 : remoteEntryInitOptions.shareScopeMap) || {}\n });\n if (webpackRequire.federation.attachShareScopeMap) {\n webpackRequire.federation.attachShareScopeMap(webpackRequire);\n }\n // @ts-ignore\n return webpackRequire.I(name, initScope);\n}\n\nvar federation = {\n runtime: runtime__namespace,\n instance: undefined,\n initOptions: undefined,\n bundlerRuntime: {\n remotes: remotes,\n consumes: consumes,\n I: initializeSharing,\n S: {},\n installInitialConsumes: installInitialConsumes,\n initContainerEntry: initContainerEntry\n },\n attachShareScopeMap: attachShareScopeMap,\n bundlerRuntimeOptions: {}\n};\n\nmodule.exports = federation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _arrayLikeToArray;\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _arrayWithHoles;\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _arrayWithoutHoles;\nvar _arrayLikeToArrayMjs = _interopRequireDefault(require(\"./_array_like_to_array.js\"));\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return (0, _arrayLikeToArrayMjs).default(arr);\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _assertThisInitialized;\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _asyncToGenerator;\nfunction _asyncToGenerator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _classCallCheck;\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _construct;\nvar _setPrototypeOfMjs = _interopRequireDefault(require(\"./_set_prototype_of.js\"));\nfunction _construct(Parent, args, Class) {\n return construct.apply(null, arguments);\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction construct(Parent1, args1, Class1) {\n if (isNativeReflectConstruct()) {\n construct = Reflect.construct;\n } else {\n construct = function construct(Parent, args, Class) {\n var a = [\n null\n ];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) (0, _setPrototypeOfMjs).default(instance, Class.prototype);\n return instance;\n };\n }\n return construct.apply(null, arguments);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _createClass;\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\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, descriptor.key, descriptor);\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _createSuper;\nvar _isNativeReflectConstructMjs = _interopRequireDefault(require(\"./_is_native_reflect_construct.js\"));\nvar _getPrototypeOfMjs = _interopRequireDefault(require(\"./_get_prototype_of.js\"));\nvar _possibleConstructorReturnMjs = _interopRequireDefault(require(\"./_possible_constructor_return.js\"));\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = (0, _isNativeReflectConstructMjs).default();\n return function _createSuperInternal() {\n var Super = (0, _getPrototypeOfMjs).default(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = (0, _getPrototypeOfMjs).default(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return (0, _possibleConstructorReturnMjs).default(this, result);\n };\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _extends;\nfunction _extends() {\n return extends_.apply(this, arguments);\n}\nfunction extends_() {\n extends_ = Object.assign || function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source){\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return extends_.apply(this, arguments);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _getPrototypeOf;\nfunction _getPrototypeOf(o) {\n return getPrototypeOf(o);\n}\nfunction getPrototypeOf(o1) {\n getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return getPrototypeOf(o1);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _inherits;\nvar _setPrototypeOfMjs = _interopRequireDefault(require(\"./_set_prototype_of.js\"));\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) (0, _setPrototypeOfMjs).default(subClass, superClass);\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _instanceof;\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _interopRequireDefault;\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _interopRequireWildcard;\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nfunction _getRequireWildcardCache(nodeInterop1) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop1);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _isNativeFunction;\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _isNativeReflectConstruct;\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _iterableToArray;\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _nonIterableRest;\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _nonIterableSpread;\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}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _objectWithoutPropertiesLoose;\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _possibleConstructorReturn;\nvar _assertThisInitializedMjs = _interopRequireDefault(require(\"./_assert_this_initialized.js\"));\nvar _typeOfMjs = _interopRequireDefault(require(\"./_type_of.js\"));\nfunction _possibleConstructorReturn(self, call) {\n if (call && ((0, _typeOfMjs).default(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return (0, _assertThisInitializedMjs).default(self);\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _setPrototypeOf;\nfunction _setPrototypeOf(o, p) {\n return setPrototypeOf(o, p);\n}\nfunction setPrototypeOf(o1, p1) {\n setPrototypeOf = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return setPrototypeOf(o1, p1);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _slicedToArray;\nvar _arrayWithHolesMjs = _interopRequireDefault(require(\"./_array_with_holes.js\"));\nvar _iterableToArrayMjs = _interopRequireDefault(require(\"./_iterable_to_array.js\"));\nvar _nonIterableRestMjs = _interopRequireDefault(require(\"./_non_iterable_rest.js\"));\nvar _unsupportedIterableToArrayMjs = _interopRequireDefault(require(\"./_unsupported_iterable_to_array.js\"));\nfunction _slicedToArray(arr, i) {\n return (0, _arrayWithHolesMjs).default(arr) || (0, _iterableToArrayMjs).default(arr, i) || (0, _unsupportedIterableToArrayMjs).default(arr, i) || (0, _nonIterableRestMjs).default();\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _toConsumableArray;\nvar _arrayWithoutHolesMjs = _interopRequireDefault(require(\"./_array_without_holes.js\"));\nvar _iterableToArrayMjs = _interopRequireDefault(require(\"./_iterable_to_array.js\"));\nvar _nonIterableSpreadMjs = _interopRequireDefault(require(\"./_non_iterable_spread.js\"));\nvar _unsupportedIterableToArrayMjs = _interopRequireDefault(require(\"./_unsupported_iterable_to_array.js\"));\nfunction _toConsumableArray(arr) {\n return (0, _arrayWithoutHolesMjs).default(arr) || (0, _iterableToArrayMjs).default(arr) || (0, _unsupportedIterableToArrayMjs).default(arr) || (0, _nonIterableSpreadMjs).default();\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _tslib.__generator;\n }\n});\nvar _tslib = require(\"tslib\");\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _typeof;\nfunction _typeof(obj) {\n \"@swc/helpers - typeof\";\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _unsupportedIterableToArray;\nvar _arrayLikeToArrayMjs = _interopRequireDefault(require(\"./_array_like_to_array.js\"));\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return (0, _arrayLikeToArrayMjs).default(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0, _arrayLikeToArrayMjs).default(o, minLen);\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _wrapNativeSuper;\nvar _constructMjs = _interopRequireDefault(require(\"./_construct.js\"));\nvar _isNativeFunctionMjs = _interopRequireDefault(require(\"./_is_native_function.js\"));\nvar _getPrototypeOfMjs = _interopRequireDefault(require(\"./_get_prototype_of.js\"));\nvar _setPrototypeOfMjs = _interopRequireDefault(require(\"./_set_prototype_of.js\"));\nfunction _wrapNativeSuper(Class) {\n return wrapNativeSuper(Class);\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction wrapNativeSuper(Class1) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n wrapNativeSuper = function wrapNativeSuper(Class) {\n if (Class === null || !(0, _isNativeFunctionMjs).default(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return (0, _constructMjs).default(Class, arguments, (0, _getPrototypeOfMjs).default(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return (0, _setPrototypeOfMjs).default(Wrapper, Class);\n };\n return wrapNativeSuper(Class1);\n}\n","\"trimStart\"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),\"trimEnd\"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),\"description\"in Symbol.prototype||Object.defineProperty(Symbol.prototype,\"description\",{configurable:!0,get:function(){var t=/\\((.*)\\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if(\"function\"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(o){return r.resolve(t()).then(function(){return o})},function(o){return r.resolve(t()).then(function(){throw o})})}),Object.fromEntries||(Object.fromEntries=function(t){return Array.from(t).reduce(function(t,r){return t[r[0]]=r[1],t},{})});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addBasePath = addBasePath;\nvar _addPathPrefix = require(\"../shared/lib/router/utils/add-path-prefix\");\nvar _normalizeTrailingSlash = require(\"./normalize-trailing-slash\");\nconst basePath = process.env.__NEXT_ROUTER_BASEPATH || '';\nfunction addBasePath(path, required) {\n if (process.env.__NEXT_MANUAL_CLIENT_BASE_PATH) {\n if (!required) {\n return path;\n }\n }\n return (0, _normalizeTrailingSlash).normalizePathTrailingSlash((0, _addPathPrefix).addPathPrefix(path, basePath));\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=add-base-path.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLocale = void 0;\nvar _normalizeTrailingSlash = require(\"./normalize-trailing-slash\");\nconst addLocale = (path, ...args)=>{\n if (process.env.__NEXT_I18N_SUPPORT) {\n return (0, _normalizeTrailingSlash).normalizePathTrailingSlash(require('../shared/lib/router/utils/add-locale').addLocale(path, ...args));\n }\n return path;\n};\nexports.addLocale = addLocale;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=add-locale.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.detectDomainLocale = void 0;\nconst detectDomainLocale = (...args)=>{\n if (process.env.__NEXT_I18N_SUPPORT) {\n return require('../shared/lib/i18n/detect-domain-locale').detectDomainLocale(...args);\n }\n};\nexports.detectDomainLocale = detectDomainLocale;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=detect-domain-locale.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hasBasePath = hasBasePath;\nvar _pathHasPrefix = require(\"../shared/lib/router/utils/path-has-prefix\");\nconst basePath = process.env.__NEXT_ROUTER_BASEPATH || '';\nfunction hasBasePath(path) {\n return (0, _pathHasPrefix).pathHasPrefix(path, basePath);\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=has-base-path.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initHeadManager;\nexports.isEqualNode = isEqualNode;\nexports.DOMAttributeNames = void 0;\nfunction initHeadManager() {\n return {\n mountedInstances: new Set(),\n updateHead: (head)=>{\n const tags = {};\n head.forEach((h)=>{\n if (// If the font tag is loaded only on client navigation\n // it won't be inlined. In this case revert to the original behavior\n h.type === 'link' && h.props['data-optimized-fonts']) {\n if (document.querySelector(`style[data-href=\"${h.props['data-href']}\"]`)) {\n return;\n } else {\n h.props.href = h.props['data-href'];\n h.props['data-href'] = undefined;\n }\n }\n const components = tags[h.type] || [];\n components.push(h);\n tags[h.type] = components;\n });\n const titleComponent = tags.title ? tags.title[0] : null;\n let title = '';\n if (titleComponent) {\n const { children } = titleComponent.props;\n title = typeof children === 'string' ? children : Array.isArray(children) ? children.join('') : '';\n }\n if (title !== document.title) document.title = title;\n [\n 'meta',\n 'base',\n 'link',\n 'style',\n 'script'\n ].forEach((type)=>{\n updateElements(type, tags[type] || []);\n });\n }\n };\n}\nconst DOMAttributeNames = {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv',\n noModule: 'noModule'\n};\nexports.DOMAttributeNames = DOMAttributeNames;\nfunction reactElementToDOM({ type , props }) {\n const el = document.createElement(type);\n for(const p in props){\n if (!props.hasOwnProperty(p)) continue;\n if (p === 'children' || p === 'dangerouslySetInnerHTML') continue;\n // we don't render undefined props to the DOM\n if (props[p] === undefined) continue;\n const attr = DOMAttributeNames[p] || p.toLowerCase();\n if (type === 'script' && (attr === 'async' || attr === 'defer' || attr === 'noModule')) {\n el[attr] = !!props[p];\n } else {\n el.setAttribute(attr, props[p]);\n }\n }\n const { children , dangerouslySetInnerHTML } = props;\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || '';\n } else if (children) {\n el.textContent = typeof children === 'string' ? children : Array.isArray(children) ? children.join('') : '';\n }\n return el;\n}\nfunction isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute('nonce');\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute('nonce')) {\n const cloneTag = newTag.cloneNode(true);\n cloneTag.setAttribute('nonce', '');\n cloneTag.nonce = nonce;\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag);\n }\n }\n return oldTag.isEqualNode(newTag);\n}\nfunction updateElements(type, components) {\n const headEl = document.getElementsByTagName('head')[0];\n const headCountEl = headEl.querySelector('meta[name=next-head-count]');\n if (process.env.NODE_ENV !== 'production') {\n if (!headCountEl) {\n console.error('Warning: next-head-count is missing. https://nextjs.org/docs/messages/next-head-count-missing');\n return;\n }\n }\n const headCount = Number(headCountEl.content);\n const oldTags = [];\n for(let i = 0, j = headCountEl.previousElementSibling; i < headCount; i++, j = (j == null ? void 0 : j.previousElementSibling) || null){\n var ref;\n if ((j == null ? void 0 : (ref = j.tagName) == null ? void 0 : ref.toLowerCase()) === type) {\n oldTags.push(j);\n }\n }\n const newTags = components.map(reactElementToDOM).filter((newTag)=>{\n for(let k = 0, len = oldTags.length; k < len; k++){\n const oldTag = oldTags[k];\n if (isEqualNode(oldTag, newTag)) {\n oldTags.splice(k, 1);\n return false;\n }\n }\n return true;\n });\n oldTags.forEach((t)=>{\n var ref;\n return (ref = t.parentNode) == null ? void 0 : ref.removeChild(t);\n });\n newTags.forEach((t)=>headEl.insertBefore(t, headCountEl));\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString();\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=head-manager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.initialize = initialize;\nexports.hydrate = hydrate;\nexports.emitter = exports.router = exports.version = void 0;\nvar _async_to_generator = require(\"@swc/helpers/lib/_async_to_generator.js\").default;\nvar _extends = require(\"@swc/helpers/lib/_extends.js\").default;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _interop_require_wildcard = require(\"@swc/helpers/lib/_interop_require_wildcard.js\").default;\nrequire(\"../build/polyfills/polyfill-module\");\nvar _react = _interop_require_default(require(\"react\"));\nvar _headManagerContext = require(\"../shared/lib/head-manager-context\");\nvar _mitt = _interop_require_default(require(\"../shared/lib/mitt\"));\nvar _routerContext = require(\"../shared/lib/router-context\");\nvar _isDynamic = require(\"../shared/lib/router/utils/is-dynamic\");\nvar _querystring = require(\"../shared/lib/router/utils/querystring\");\nvar _runtimeConfig = require(\"../shared/lib/runtime-config\");\nvar _utils = require(\"../shared/lib/utils\");\nvar _portal = require(\"./portal\");\nvar _headManager = _interop_require_default(require(\"./head-manager\"));\nvar _pageLoader = _interop_require_default(require(\"./page-loader\"));\nvar _performanceRelayer = _interop_require_default(require(\"./performance-relayer\"));\nvar _routeAnnouncer = require(\"./route-announcer\");\nvar _router = require(\"./router\");\nvar _isError = require(\"../lib/is-error\");\nvar _imageConfigContext = require(\"../shared/lib/image-config-context\");\nvar _removeBasePath = require(\"./remove-base-path\");\nvar _hasBasePath = require(\"./has-base-path\");\nconst ReactDOM = process.env.__NEXT_REACT_ROOT ? require('react-dom/client') : require('react-dom');\nconst version = \"12.3.4\";\nexports.version = version;\nlet router;\nexports.router = router;\nconst emitter = (0, _mitt).default();\nexports.emitter = emitter;\nconst looseToArray = (input)=>[].slice.call(input);\nlet initialData;\nlet defaultLocale = undefined;\nlet asPath;\nlet pageLoader;\nlet appElement;\nlet headManager;\nlet initialMatchesMiddleware = false;\nlet lastAppProps;\nlet lastRenderReject;\nlet webpackHMR;\nlet CachedApp, onPerfEntry;\nlet CachedComponent;\nself.__next_require__ = __webpack_require__;\nclass Container extends _react.default.Component {\n componentDidCatch(componentErr, info) {\n this.props.fn(componentErr, info);\n }\n componentDidMount() {\n this.scrollToHash();\n // We need to replace the router state if:\n // - the page was (auto) exported and has a query string or search (hash)\n // - it was auto exported and is a dynamic route (to provide params)\n // - if it is a client-side skeleton (fallback render)\n // - if middleware matches the current page (may have rewrite params)\n // - if rewrites in next.config.js match (may have rewrite params)\n if (router.isSsr && // We don't update for 404 requests as this can modify\n // the asPath unexpectedly e.g. adding basePath when\n // it wasn't originally present\n initialData.page !== '/404' && initialData.page !== '/_error' && (initialData.isFallback || initialData.nextExport && ((0, _isDynamic).isDynamicRoute(router.pathname) || location.search || process.env.__NEXT_HAS_REWRITES || initialMatchesMiddleware) || initialData.props && initialData.props.__N_SSG && (location.search || process.env.__NEXT_HAS_REWRITES || initialMatchesMiddleware))) {\n // update query on mount for exported pages\n router.replace(router.pathname + '?' + String((0, _querystring).assign((0, _querystring).urlQueryToSearchParams(router.query), new URLSearchParams(location.search))), asPath, {\n // @ts-ignore\n // WARNING: `_h` is an internal option for handing Next.js\n // client-side hydration. Your app should _never_ use this property.\n // It may change at any time without notice.\n _h: 1,\n // Fallback pages must trigger the data fetch, so the transition is\n // not shallow.\n // Other pages (strictly updating query) happens shallowly, as data\n // requirements would already be present.\n shallow: !initialData.isFallback && !initialMatchesMiddleware\n }).catch((err)=>{\n if (!err.cancelled) throw err;\n });\n }\n }\n componentDidUpdate() {\n this.scrollToHash();\n }\n scrollToHash() {\n let { hash } = location;\n hash = hash && hash.substring(1);\n if (!hash) return;\n const el = document.getElementById(hash);\n if (!el) return;\n // If we call scrollIntoView() in here without a setTimeout\n // it won't scroll properly.\n setTimeout(()=>el.scrollIntoView(), 0);\n }\n render() {\n if (process.env.NODE_ENV === 'production') {\n return this.props.children;\n } else {\n const { ReactDevOverlay , } = require('next/dist/compiled/@next/react-dev-overlay/dist/client');\n return /*#__PURE__*/ _react.default.createElement(ReactDevOverlay, null, this.props.children);\n }\n }\n}\nfunction initialize() {\n return _initialize.apply(this, arguments);\n}\nfunction _initialize() {\n _initialize = _async_to_generator(function*(opts = {}) {\n // This makes sure this specific lines are removed in production\n if (process.env.NODE_ENV === 'development') {\n webpackHMR = opts.webpackHMR;\n }\n initialData = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);\n window.__NEXT_DATA__ = initialData;\n defaultLocale = initialData.defaultLocale;\n const prefix = initialData.assetPrefix || '';\n // With dynamic assetPrefix it's no longer possible to set assetPrefix at the build time\n // So, this is how we do it in the client side at runtime\n __webpack_public_path__ = `${prefix}/_next/` //eslint-disable-line\n ;\n // Initialize next/config with the environment configuration\n (0, _runtimeConfig).setConfig({\n serverRuntimeConfig: {},\n publicRuntimeConfig: initialData.runtimeConfig || {}\n });\n asPath = (0, _utils).getURL();\n // make sure not to attempt stripping basePath for 404s\n if ((0, _hasBasePath).hasBasePath(asPath)) {\n asPath = (0, _removeBasePath).removeBasePath(asPath);\n }\n if (process.env.__NEXT_I18N_SUPPORT) {\n const { normalizeLocalePath } = require('../shared/lib/i18n/normalize-locale-path');\n const { detectDomainLocale } = require('../shared/lib/i18n/detect-domain-locale');\n const { parseRelativeUrl } = require('../shared/lib/router/utils/parse-relative-url');\n const { formatUrl } = require('../shared/lib/router/utils/format-url');\n if (initialData.locales) {\n const parsedAs = parseRelativeUrl(asPath);\n const localePathResult = normalizeLocalePath(parsedAs.pathname, initialData.locales);\n if (localePathResult.detectedLocale) {\n parsedAs.pathname = localePathResult.pathname;\n asPath = formatUrl(parsedAs);\n } else {\n // derive the default locale if it wasn't detected in the asPath\n // since we don't prerender static pages with all possible default\n // locales\n defaultLocale = initialData.locale;\n }\n // attempt detecting default locale based on hostname\n const detectedDomain = detectDomainLocale(process.env.__NEXT_I18N_DOMAINS, window.location.hostname);\n // TODO: investigate if defaultLocale needs to be populated after\n // hydration to prevent mismatched renders\n if (detectedDomain) {\n defaultLocale = detectedDomain.defaultLocale;\n }\n }\n }\n if (initialData.scriptLoader) {\n const { initScriptLoader } = require('./script');\n initScriptLoader(initialData.scriptLoader);\n }\n pageLoader = new _pageLoader.default(initialData.buildId, prefix);\n const register = ([r, f])=>pageLoader.routeLoader.onEntrypoint(r, f);\n if (window.__NEXT_P) {\n // Defer page registration for another tick. This will increase the overall\n // latency in hydrating the page, but reduce the total blocking time.\n window.__NEXT_P.map((p)=>setTimeout(()=>register(p), 0));\n }\n window.__NEXT_P = [];\n window.__NEXT_P.push = register;\n headManager = (0, _headManager).default();\n headManager.getIsSsr = ()=>{\n return router.isSsr;\n };\n appElement = document.getElementById('__next');\n return {\n assetPrefix: prefix\n };\n });\n return _initialize.apply(this, arguments);\n}\nfunction renderApp(App, appProps) {\n return /*#__PURE__*/ _react.default.createElement(App, Object.assign({}, appProps));\n}\nfunction AppContainer({ children }) {\n return /*#__PURE__*/ _react.default.createElement(Container, {\n fn: (error)=>// TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n renderError({\n App: CachedApp,\n err: error\n }).catch((err)=>console.error('Error rendering page: ', err))\n }, /*#__PURE__*/ _react.default.createElement(_routerContext.RouterContext.Provider, {\n value: (0, _router).makePublicRouterInstance(router)\n }, /*#__PURE__*/ _react.default.createElement(_headManagerContext.HeadManagerContext.Provider, {\n value: headManager\n }, /*#__PURE__*/ _react.default.createElement(_imageConfigContext.ImageConfigContext.Provider, {\n value: process.env.__NEXT_IMAGE_OPTS\n }, children))));\n}\nconst wrapApp = (App)=>(wrappedAppProps)=>{\n const appProps = _extends({}, wrappedAppProps, {\n Component: CachedComponent,\n err: initialData.err,\n router\n });\n return /*#__PURE__*/ _react.default.createElement(AppContainer, null, renderApp(App, appProps));\n };\n// This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\nfunction renderError(renderErrorProps) {\n let { App , err } = renderErrorProps;\n // In development runtime errors are caught by our overlay\n // In production we catch runtime errors using componentDidCatch which will trigger renderError\n if (process.env.NODE_ENV !== 'production') {\n // A Next.js rendering runtime error is always unrecoverable\n // FIXME: let's make this recoverable (error in GIP client-transition)\n webpackHMR.onUnrecoverableError();\n // We need to render an empty so that the `` can\n // render itself.\n // TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return doRender({\n App: ()=>null,\n props: {},\n Component: ()=>null,\n styleSheets: []\n });\n }\n // Make sure we log the error to the console, otherwise users can't track down issues.\n console.error(err);\n console.error(`A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred`);\n return pageLoader.loadPage('/_error').then(({ page: ErrorComponent , styleSheets })=>{\n return (lastAppProps == null ? void 0 : lastAppProps.Component) === ErrorComponent ? import('../pages/_error').then((errorModule)=>{\n return import('../pages/_app').then((appModule)=>{\n App = appModule.default;\n renderErrorProps.App = App;\n return errorModule;\n });\n }).then((m)=>({\n ErrorComponent: m.default,\n styleSheets: []\n })) : {\n ErrorComponent,\n styleSheets\n };\n }).then(({ ErrorComponent , styleSheets })=>{\n var ref;\n // In production we do a normal render with the `ErrorComponent` as component.\n // If we've gotten here upon initial render, we can use the props from the server.\n // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n const AppTree = wrapApp(App);\n const appCtx = {\n Component: ErrorComponent,\n AppTree,\n router,\n ctx: {\n err,\n pathname: initialData.page,\n query: initialData.query,\n asPath,\n AppTree\n }\n };\n return Promise.resolve(((ref = renderErrorProps.props) == null ? void 0 : ref.err) ? renderErrorProps.props : (0, _utils).loadGetInitialProps(App, appCtx)).then((initProps)=>// TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n doRender(_extends({}, renderErrorProps, {\n err,\n Component: ErrorComponent,\n styleSheets,\n props: initProps\n })));\n });\n}\n// Dummy component that we render as a child of Root so that we can\n// toggle the correct styles before the page is rendered.\nfunction Head({ callback }) {\n // We use `useLayoutEffect` to guarantee the callback is executed\n // as soon as React flushes the update.\n _react.default.useLayoutEffect(()=>callback(), [\n callback\n ]);\n return null;\n}\nlet reactRoot = null;\n// On initial render a hydrate should always happen\nlet shouldHydrate = true;\nfunction clearMarks() {\n [\n 'beforeRender',\n 'afterHydrate',\n 'afterRender',\n 'routeChange'\n ].forEach((mark)=>performance.clearMarks(mark));\n}\nfunction markHydrateComplete() {\n if (!_utils.ST) return;\n performance.mark('afterHydrate') // mark end of hydration\n ;\n performance.measure('Next.js-before-hydration', 'navigationStart', 'beforeRender');\n performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate');\n if (onPerfEntry) {\n performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry);\n }\n clearMarks();\n}\nfunction markRenderComplete() {\n if (!_utils.ST) return;\n performance.mark('afterRender') // mark end of render\n ;\n const navStartEntries = performance.getEntriesByName('routeChange', 'mark');\n if (!navStartEntries.length) return;\n performance.measure('Next.js-route-change-to-render', navStartEntries[0].name, 'beforeRender');\n performance.measure('Next.js-render', 'beforeRender', 'afterRender');\n if (onPerfEntry) {\n performance.getEntriesByName('Next.js-render').forEach(onPerfEntry);\n performance.getEntriesByName('Next.js-route-change-to-render').forEach(onPerfEntry);\n }\n clearMarks();\n [\n 'Next.js-route-change-to-render',\n 'Next.js-render'\n ].forEach((measure)=>performance.clearMeasures(measure));\n}\nfunction renderReactElement(domEl, fn) {\n // mark start of hydrate/render\n if (_utils.ST) {\n performance.mark('beforeRender');\n }\n const reactEl = fn(shouldHydrate ? markHydrateComplete : markRenderComplete);\n if (process.env.__NEXT_REACT_ROOT) {\n if (!reactRoot) {\n // Unlike with createRoot, you don't need a separate root.render() call here\n reactRoot = ReactDOM.hydrateRoot(domEl, reactEl);\n // TODO: Remove shouldHydrate variable when React 18 is stable as it can depend on `reactRoot` existing\n shouldHydrate = false;\n } else {\n const startTransition = _react.default.startTransition;\n startTransition(()=>{\n reactRoot.render(reactEl);\n });\n }\n } else {\n // The check for `.hydrate` is there to support React alternatives like preact\n if (shouldHydrate) {\n ReactDOM.hydrate(reactEl, domEl);\n shouldHydrate = false;\n } else {\n ReactDOM.render(reactEl, domEl);\n }\n }\n}\nfunction Root({ callbacks , children }) {\n // We use `useLayoutEffect` to guarantee the callbacks are executed\n // as soon as React flushes the update\n _react.default.useLayoutEffect(()=>callbacks.forEach((callback)=>callback()), [\n callbacks\n ]);\n // We should ask to measure the Web Vitals after rendering completes so we\n // don't cause any hydration delay:\n _react.default.useEffect(()=>{\n (0, _performanceRelayer).default(onPerfEntry);\n }, []);\n if (process.env.__NEXT_TEST_MODE) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n _react.default.useEffect(()=>{\n window.__NEXT_HYDRATED = true;\n if (window.__NEXT_HYDRATED_CB) {\n window.__NEXT_HYDRATED_CB();\n }\n }, []);\n }\n return children;\n}\nfunction doRender(input) {\n let { App , Component , props , err } = input;\n let styleSheets = 'initial' in input ? undefined : input.styleSheets;\n Component = Component || lastAppProps.Component;\n props = props || lastAppProps.props;\n const appProps = _extends({}, props, {\n Component,\n err,\n router\n });\n // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n lastAppProps = appProps;\n let canceled = false;\n let resolvePromise;\n const renderPromise = new Promise((resolve, reject)=>{\n if (lastRenderReject) {\n lastRenderReject();\n }\n resolvePromise = ()=>{\n lastRenderReject = null;\n resolve();\n };\n lastRenderReject = ()=>{\n canceled = true;\n lastRenderReject = null;\n const error = new Error('Cancel rendering route');\n error.cancelled = true;\n reject(error);\n };\n });\n // This function has a return type to ensure it doesn't start returning a\n // Promise. It should remain synchronous.\n function onStart() {\n if (!styleSheets || // We use `style-loader` in development, so we don't need to do anything\n // unless we're in production:\n process.env.NODE_ENV !== 'production') {\n return false;\n }\n const currentStyleTags = looseToArray(document.querySelectorAll('style[data-n-href]'));\n const currentHrefs = new Set(currentStyleTags.map((tag)=>tag.getAttribute('data-n-href')));\n const noscript = document.querySelector('noscript[data-n-css]');\n const nonce = noscript == null ? void 0 : noscript.getAttribute('data-n-css');\n styleSheets.forEach(({ href , text })=>{\n if (!currentHrefs.has(href)) {\n const styleTag = document.createElement('style');\n styleTag.setAttribute('data-n-href', href);\n styleTag.setAttribute('media', 'x');\n if (nonce) {\n styleTag.setAttribute('nonce', nonce);\n }\n document.head.appendChild(styleTag);\n styleTag.appendChild(document.createTextNode(text));\n }\n });\n return true;\n }\n function onHeadCommit() {\n if (// We use `style-loader` in development, so we don't need to do anything\n // unless we're in production:\n process.env.NODE_ENV === 'production' && // We can skip this during hydration. Running it wont cause any harm, but\n // we may as well save the CPU cycles:\n styleSheets && // Ensure this render was not canceled\n !canceled) {\n const desiredHrefs = new Set(styleSheets.map((s)=>s.href));\n const currentStyleTags = looseToArray(document.querySelectorAll('style[data-n-href]'));\n const currentHrefs = currentStyleTags.map((tag)=>tag.getAttribute('data-n-href'));\n // Toggle `