{"version":3,"sources":["webpack://@maas-ui/maas-ui-root/webpack/runtime/create fake namespace object","webpack://@maas-ui/maas-ui-root/webpack/runtime/load script","webpack://@maas-ui/maas-ui-root/../node_modules/classnames/index.js","webpack://@maas-ui/maas-ui-root/../node_modules/object-assign/index.js","webpack://@maas-ui/maas-ui-root/../node_modules/process/browser.js","webpack://@maas-ui/maas-ui-root/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@maas-ui/maas-ui-root/../node_modules/prop-types/index.js","webpack://@maas-ui/maas-ui-root/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@maas-ui/maas-ui-root/../node_modules/react/cjs/react.production.min.js","webpack://@maas-ui/maas-ui-root/../node_modules/react/index.js","webpack://@maas-ui/maas-ui-root/../node_modules/custom-event/index.js","webpack://@maas-ui/maas-ui-root/../src/applications/app-errors.js","webpack://@maas-ui/maas-ui-root/../src/applications/app.helpers.js","webpack://@maas-ui/maas-ui-root/../src/utils/assign.js","webpack://@maas-ui/maas-ui-root/../src/utils/find.js","webpack://@maas-ui/maas-ui-root/../src/lifecycles/lifecycle.helpers.js","webpack://@maas-ui/maas-ui-root/../src/lifecycles/bootstrap.js","webpack://@maas-ui/maas-ui-root/../src/lifecycles/unmount.js","webpack://@maas-ui/maas-ui-root/../src/lifecycles/mount.js","webpack://@maas-ui/maas-ui-root/../src/parcels/mount-parcel.js","webpack://@maas-ui/maas-ui-root/../src/lifecycles/update.js","webpack://@maas-ui/maas-ui-root/../src/lifecycles/prop.helpers.js","webpack://@maas-ui/maas-ui-root/../src/applications/timeouts.js","webpack://@maas-ui/maas-ui-root/../src/lifecycles/load.js","webpack://@maas-ui/maas-ui-root/../src/utils/runtime-environment.js","webpack://@maas-ui/maas-ui-root/../src/navigation/navigation-events.js","webpack://@maas-ui/maas-ui-root/../src/jquery-support.js","webpack://@maas-ui/maas-ui-root/../src/lifecycles/unload.js","webpack://@maas-ui/maas-ui-root/../src/applications/apps.js","webpack://@maas-ui/maas-ui-root/../src/navigation/reroute.js","webpack://@maas-ui/maas-ui-root/../src/start.js","webpack://@maas-ui/maas-ui-root/../src/devtools/devtools.js","webpack://@maas-ui/maas-ui-root/../src/single-spa.js","webpack://@maas-ui/maas-ui-root/./src/root-application.js","webpack://@maas-ui/maas-ui-root/../shared/dist/components/Footer/Footer.js","webpack://@maas-ui/maas-ui-root/../shared/dist/components/Footer/index.js","webpack://@maas-ui/maas-ui-root/../shared/dist/components/Header/HardwareMenu/HardwareMenu.js","webpack://@maas-ui/maas-ui-root/../shared/dist/components/Header/HardwareMenu/index.js","webpack://@maas-ui/maas-ui-root/../shared/dist/components/Header/Header.js","webpack://@maas-ui/maas-ui-root/../shared/dist/components/Header/index.js","webpack://@maas-ui/maas-ui-root/../shared/dist/components/StatusBar/StatusBar.js","webpack://@maas-ui/maas-ui-root/../shared/dist/components/StatusBar/index.js","webpack://@maas-ui/maas-ui-root/../shared/dist/index.js","webpack://@maas-ui/maas-ui-root/../shared/dist/utils.js","webpack://@maas-ui/maas-ui-root/webpack/bootstrap","webpack://@maas-ui/maas-ui-root/webpack/runtime/define property getters","webpack://@maas-ui/maas-ui-root/webpack/runtime/ensure chunk","webpack://@maas-ui/maas-ui-root/webpack/runtime/get javascript chunk filename","webpack://@maas-ui/maas-ui-root/webpack/runtime/get mini-css chunk filename","webpack://@maas-ui/maas-ui-root/webpack/runtime/global","webpack://@maas-ui/maas-ui-root/webpack/runtime/hasOwnProperty shorthand","webpack://@maas-ui/maas-ui-root/webpack/runtime/make namespace object","webpack://@maas-ui/maas-ui-root/webpack/runtime/publicPath","webpack://@maas-ui/maas-ui-root/webpack/runtime/jsonp chunk loading","webpack://@maas-ui/maas-ui-root/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","module","exports","default","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","assign","test1","String","getOwnPropertyNames","test2","fromCharCode","map","n","test3","split","forEach","letter","keys","err","shouldUseNative","target","source","from","symbols","to","s","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","ReactPropTypesSecret","require","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","getShim","isRequired","ReactPropTypes","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","l","p","Fragment","StrictMode","Profiler","q","r","t","Suspense","u","v","Symbol","for","w","x","iterator","z","a","b","c","encodeURIComponent","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","C","context","refs","updater","D","E","isReactComponent","setState","forceUpdate","F","constructor","isPureReactComponent","G","current","H","I","ref","__self","__source","J","d","k","h","g","children","f","m","defaultProps","$$typeof","type","_owner","L","M","N","replace","escape","O","K","y","next","done","value","P","Q","_status","_result","then","R","S","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","transition","ReactCurrentOwner","IsSomeRendererActing","Children","count","toArray","only","Component","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_payload","_init","memo","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","NativeCustomEvent","CustomEvent","detail","foo","document","createEvent","params","initCustomEvent","bubbles","cancelable","createEventObject","Boolean","errorHandlers","handleAppError","app","newStatus","transformedErr","transformErr","handler","addErrorHandler","formatErrorMessage","removeErrorHandler","removedSomething","filter","isHandler","code","msg","ogErr","appOrParcel","result","errPrefix","objectType","toName","status","message","console","warn","JSON","stringify","appOrParcelName","NOT_LOADED","LOADING_SOURCE_CODE","NOT_BOOTSTRAPPED","BOOTSTRAPPING","NOT_MOUNTED","MOUNTING","MOUNTED","UPDATING","UNMOUNTING","LOAD_ERROR","SKIP_BECAUSE_BROKEN","isActive","shouldBeActive","activeWhen","window","isParcel","unmountThisParcel","find","arr","validLifecycleFn","fn","item","flattenFnArray","lifecycle","fns","Promise","resolve","reduce","resultPromise","index","thisPromise","smellsLikeAPromise","reject","promise","catch","toBootstrapPromise","hardFail","bootstrap","reasonableTime","successfulBootstrap","toUnmountPromise","unmountChildrenParcels","parcels","parcelId","all","unmountAppOrParcel","parcelError","parentError","beforeFirstMountFired","firstMountFired","toMountPromise","dispatchEvent","setSkipBecauseBroken","parcelCount","rootParcels","mountRootParcel","mountParcel","config","customProps","owningAppOrParcel","_typeof","domElement","externalRepresentation","id","passedConfigLoadingFunction","configLoadingFunction","parcel","parentName","mountPromise","resolveUnmount","rejectUnmount","loadPromise","bootstrapPromise","mount","unmount","update","timeouts","ensureValidAppTimeouts","promiseWithoutReturnValue","unmountPromise","getStatus","getProps","singleSpa","unmountSelf","globalTimeoutConfig","millis","dieOnTimeout","warningMillis","unload","setBootstrapMaxTime","time","setMountMaxTime","setUnmountMaxTime","setUnloadMaxTime","timeoutConfig","warningPeriod","finished","errored","maybeTimingOut","errMsg","shouldError","error","numWarnings","numMillis","toLoadPromise","loadApp","isUserErr","validationErrCode","loadErrorTime","appOpts","appOptsStr","devtools","overlays","Date","getTime","urlRerouteOnly","isInBrowser","capturedEventListeners","hashchange","popstate","routingEventsListeningTo","navigateToUrl","obj","url","href","currentTarget","preventDefault","parseUri","destination","indexOf","hash","host","pathname","search","history","pushState","callCapturedEventListeners","eventArguments","eventType","listener","_this","urlReroute","reroute","patchedUpdateState","updateState","methodName","urlBefore","urlAfter","isStarted","createPopStateEvent","state","originalMethodName","evt","PopStateEvent","initPopStateEvent","singleSpaTrigger","addEventListener","originalAddEventListener","originalRemoveEventListener","removeEventListener","eventName","listenerFn","replaceState","singleSpaNavigate","str","anchor","hasInitialized","ensureJQuerySupport","jQuery","$","jquery","originalJQueryOn","originalJQueryOff","eventString","captureRoutingEvents","originalJQueryFunction","nativeFunctionToCall","originalArgs","trim","appsToUnload","toUnloadPromise","unloadInfo","finishUnloadingApp","unloadPromise","addAppToUnload","promiseGetter","defineProperty","get","getAppUnloadInfo","appName","apps","getAppChanges","appsToUnmount","appsToLoad","appsToMount","currentTime","appShouldBeActive","getMountedApps","getAppNames","getAppStatus","registerApplication","appNameOrConfig","appOrLoadApp","registration","validKeys","invalidKeys","prop","allowsStringAndFunction","every","validCustomProps","activeWhenArray","activeWhenOrPath","pathToActiveWhen","some","options","selectors","checkActivityFunctions","unregisterApplication","unloadApplication","appIndex","splice","opts","waitForUnmount","App","appUnloadInfo","immediatelyUnloadApp","path","exactMatch","regex","lastIndex","inDynamic","regexStr","charIndex","char","appendToRegex","RegExp","commonStringSubPath","slice","suffix","charAt","route","origin","test","appChangeUnderway","peopleWaitingOnAppChange","currentUrl","triggerAppChange","pendingPromises","appsThatChanged","navigationIsCanceled","oldUrl","newUrl","performAppChanges","loadApps","cancelNavigation","loadPromises","callAllEventListeners","getCustomEventDetail","finishUpAndReturn","unloadPromises","allUnmountPromises","unmountAllPromise","loadThenMountPromises","tryToBootstrapAndMount","mountPromises","appToMount","returnValue","appChangeEventName","nextPendingPromises","pendingPromise","isBeforeChanges","extraProperties","newAppStatuses","appsByNewStatus","addApp","totalAppChanges","originalEvent","started","start","getRawAppData","__SINGLE_SPA_DEVTOOLS__","exposedMethods","showElement","className","show","querySelector","classList","contains","remove","add","showRoot","showLoading","showError","info","packageJson","legacy","ui","uiStylesheet","legacyStylesheet","disabled","startsWith","generateLegacyURL","generateNewURL","Footer","_propTypes","__esModule","_react","cache","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_interopRequireWildcard","_utils","WeakMap","_ref","debug","enableAnalytics","lightningjs","j","protocol","fh","eh","ph","_","0","attachEvent","style","display","insertBefore","firstChild","o","frameBorder","navigator","userAgent","allowTransparency","contentWindow","open","domain","write","close","lv","modules","usabilla_live","custom","BASENAME","onClick","getFullYear","xmlns","viewBox","fill","propTypes","_default","enumerable","_Footer","HardwareMenu","generateLink","links","toggleHardwareMenu","wrapperRef","handleClickOutsideRef","event","_event$target","includes","link","_HardwareMenu","Header","_classnames","_interopRequireDefault","_slicedToArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","useVisible","initialValue","_useState2","setValue","undefined","generateURL","isLegacy","appendNewBase","isSelected","highlights","highlight","_ref$appendNewBase","authUser","completedIntro","generateLegacyLink","generateNewLink","logout","onSkip","rootScope","urlChange","uuid","_useVisible2","hardwareMenuOpen","_useVisible4","mobileMenuOpen","toggleMobileMenu","unlisten","getElementsByTagName","async","src","querySelectorAll","parentNode","ga","userId","sendPageview","$on","inHardwareMenu","label","adminOnly","_ref2","is_superuser","linkClass","width","height","hardwareLinks","linkItems","role","username","localStorage","removeItem","generateNavItems","showRSD","_Header","StatusBar","maasName","_StatusBar","extractPowerType","navigateToNew","navigateToLegacy","generateBaseURL","REACT_BASENAME","LEGACY_BASENAME","appendBase","pushRoute","navigate","isLeftClick","button","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","description","powerType","position","toLowerCase","substring","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getPrototypeOf","mode","ns","create","def","definition","chunkId","promises","miniCssF","globalThis","Function","script","needAttach","scripts","getAttribute","charset","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","removeChild","head","appendChild","toStringTag","installedChunks","414","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","chunkLoadingGlobal"],"mappings":"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","file":"root-application.0bd0525519b71fdcdd52.js","sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"@maas-ui/maas-ui-root:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c= 9\n'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {\n var e = document.createEvent('CustomEvent');\n if (params) {\n e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);\n } else {\n e.initCustomEvent(type, false, false, void 0);\n }\n return e;\n} :\n\n// IE <= 8\nfunction CustomEvent (type, params) {\n var e = document.createEventObject();\n e.type = type;\n if (params) {\n e.bubbles = Boolean(params.bubbles);\n e.cancelable = Boolean(params.cancelable);\n e.detail = params.detail;\n } else {\n e.bubbles = false;\n e.cancelable = false;\n e.detail = void 0;\n }\n return e;\n}\n","import { objectType, toName } from \"./app.helpers\";\n\nlet errorHandlers = [];\n\nexport function handleAppError(err, app, newStatus) {\n const transformedErr = transformErr(err, app, newStatus);\n\n if (errorHandlers.length) {\n errorHandlers.forEach((handler) => handler(transformedErr));\n } else {\n setTimeout(() => {\n throw transformedErr;\n });\n }\n}\n\nexport function addErrorHandler(handler) {\n if (typeof handler !== \"function\") {\n throw Error(\n formatErrorMessage(\n 28,\n __DEV__ && \"a single-spa error handler must be a function\"\n )\n );\n }\n\n errorHandlers.push(handler);\n}\n\nexport function removeErrorHandler(handler) {\n if (typeof handler !== \"function\") {\n throw Error(\n formatErrorMessage(\n 29,\n __DEV__ && \"a single-spa error handler must be a function\"\n )\n );\n }\n\n let removedSomething = false;\n errorHandlers = errorHandlers.filter((h) => {\n const isHandler = h === handler;\n removedSomething = removedSomething || isHandler;\n return !isHandler;\n });\n\n return removedSomething;\n}\n\nexport function formatErrorMessage(code, msg, ...args) {\n return `single-spa minified message #${code}: ${\n msg ? msg + \" \" : \"\"\n }See https://single-spa.js.org/error/?code=${code}${\n args.length ? `&arg=${args.join(\"&arg=\")}` : \"\"\n }`;\n}\n\nexport function transformErr(ogErr, appOrParcel, newStatus) {\n const errPrefix = `${objectType(appOrParcel)} '${toName(\n appOrParcel\n )}' died in status ${appOrParcel.status}: `;\n\n let result;\n\n if (ogErr instanceof Error) {\n try {\n ogErr.message = errPrefix + ogErr.message;\n } catch (err) {\n /* Some errors have read-only message properties, in which case there is nothing\n * that we can do.\n */\n }\n result = ogErr;\n } else {\n console.warn(\n formatErrorMessage(\n 30,\n __DEV__ &&\n `While ${appOrParcel.status}, '${toName(\n appOrParcel\n )}' rejected its lifecycle function promise with a non-Error. This will cause stack traces to not be accurate.`,\n appOrParcel.status,\n toName(appOrParcel)\n )\n );\n try {\n result = Error(errPrefix + JSON.stringify(ogErr));\n } catch (err) {\n // If it's not an Error and you can't stringify it, then what else can you even do to it?\n result = ogErr;\n }\n }\n\n result.appOrParcelName = toName(appOrParcel);\n\n // We set the status after transforming the error so that the error message\n // references the state the application was in before the status change.\n appOrParcel.status = newStatus;\n\n return result;\n}\n","import { handleAppError } from \"./app-errors.js\";\n\n// App statuses\nexport const NOT_LOADED = \"NOT_LOADED\";\nexport const LOADING_SOURCE_CODE = \"LOADING_SOURCE_CODE\";\nexport const NOT_BOOTSTRAPPED = \"NOT_BOOTSTRAPPED\";\nexport const BOOTSTRAPPING = \"BOOTSTRAPPING\";\nexport const NOT_MOUNTED = \"NOT_MOUNTED\";\nexport const MOUNTING = \"MOUNTING\";\nexport const MOUNTED = \"MOUNTED\";\nexport const UPDATING = \"UPDATING\";\nexport const UNMOUNTING = \"UNMOUNTING\";\nexport const UNLOADING = \"UNLOADING\";\nexport const LOAD_ERROR = \"LOAD_ERROR\";\nexport const SKIP_BECAUSE_BROKEN = \"SKIP_BECAUSE_BROKEN\";\n\nexport function isActive(app) {\n return app.status === MOUNTED;\n}\n\nexport function shouldBeActive(app) {\n try {\n return app.activeWhen(window.location);\n } catch (err) {\n handleAppError(err, app, SKIP_BECAUSE_BROKEN);\n return false;\n }\n}\n\nexport function toName(app) {\n return app.name;\n}\n\nexport function isParcel(appOrParcel) {\n return Boolean(appOrParcel.unmountThisParcel);\n}\n\nexport function objectType(appOrParcel) {\n return isParcel(appOrParcel) ? \"parcel\" : \"application\";\n}\n","// Object.assign() is not available in IE11. And the babel compiled output for object spread\n// syntax checks a bunch of Symbol stuff and is almost a kb. So this function is the smaller replacement.\nexport function assign() {\n for (let i = arguments.length - 1; i > 0; i--) {\n for (let key in arguments[i]) {\n if (key === \"__proto__\") {\n continue;\n }\n arguments[i - 1][key] = arguments[i][key];\n }\n }\n\n return arguments[0];\n}\n","/* the array.prototype.find polyfill on npmjs.com is ~20kb (not worth it)\n * and lodash is ~200kb (not worth it)\n */\n\nexport function find(arr, func) {\n for (let i = 0; i < arr.length; i++) {\n if (func(arr[i])) {\n return arr[i];\n }\n }\n\n return null;\n}\n","import { find } from \"../utils/find.js\";\nimport { objectType, toName } from \"../applications/app.helpers.js\";\nimport { formatErrorMessage } from \"../applications/app-errors.js\";\n\nexport function validLifecycleFn(fn) {\n return fn && (typeof fn === \"function\" || isArrayOfFns(fn));\n\n function isArrayOfFns(arr) {\n return (\n Array.isArray(arr) && !find(arr, (item) => typeof item !== \"function\")\n );\n }\n}\n\nexport function flattenFnArray(appOrParcel, lifecycle) {\n let fns = appOrParcel[lifecycle] || [];\n fns = Array.isArray(fns) ? fns : [fns];\n if (fns.length === 0) {\n fns = [() => Promise.resolve()];\n }\n\n const type = objectType(appOrParcel);\n const name = toName(appOrParcel);\n\n return function (props) {\n return fns.reduce((resultPromise, fn, index) => {\n return resultPromise.then(() => {\n const thisPromise = fn(props);\n return smellsLikeAPromise(thisPromise)\n ? thisPromise\n : Promise.reject(\n formatErrorMessage(\n 15,\n __DEV__ &&\n `Within ${type} ${name}, the lifecycle function ${lifecycle} at array index ${index} did not return a promise`,\n type,\n name,\n lifecycle,\n index\n )\n );\n });\n }, Promise.resolve());\n };\n}\n\nexport function smellsLikeAPromise(promise) {\n return (\n promise &&\n typeof promise.then === \"function\" &&\n typeof promise.catch === \"function\"\n );\n}\n","import {\n NOT_BOOTSTRAPPED,\n BOOTSTRAPPING,\n NOT_MOUNTED,\n SKIP_BECAUSE_BROKEN,\n} from \"../applications/app.helpers.js\";\nimport { reasonableTime } from \"../applications/timeouts.js\";\nimport { handleAppError, transformErr } from \"../applications/app-errors.js\";\n\nexport function toBootstrapPromise(appOrParcel, hardFail) {\n return Promise.resolve().then(() => {\n if (appOrParcel.status !== NOT_BOOTSTRAPPED) {\n return appOrParcel;\n }\n\n appOrParcel.status = BOOTSTRAPPING;\n\n if (!appOrParcel.bootstrap) {\n // Default implementation of bootstrap\n return Promise.resolve().then(successfulBootstrap);\n }\n\n return reasonableTime(appOrParcel, \"bootstrap\")\n .then(successfulBootstrap)\n .catch((err) => {\n if (hardFail) {\n throw transformErr(err, appOrParcel, SKIP_BECAUSE_BROKEN);\n } else {\n handleAppError(err, appOrParcel, SKIP_BECAUSE_BROKEN);\n return appOrParcel;\n }\n });\n });\n\n function successfulBootstrap() {\n appOrParcel.status = NOT_MOUNTED;\n return appOrParcel;\n }\n}\n","import {\n UNMOUNTING,\n NOT_MOUNTED,\n MOUNTED,\n SKIP_BECAUSE_BROKEN,\n} from \"../applications/app.helpers.js\";\nimport { handleAppError, transformErr } from \"../applications/app-errors.js\";\nimport { reasonableTime } from \"../applications/timeouts.js\";\n\nexport function toUnmountPromise(appOrParcel, hardFail) {\n return Promise.resolve().then(() => {\n if (appOrParcel.status !== MOUNTED) {\n return appOrParcel;\n }\n appOrParcel.status = UNMOUNTING;\n\n const unmountChildrenParcels = Object.keys(\n appOrParcel.parcels\n ).map((parcelId) => appOrParcel.parcels[parcelId].unmountThisParcel());\n\n let parcelError;\n\n return Promise.all(unmountChildrenParcels)\n .then(unmountAppOrParcel, (parcelError) => {\n // There is a parcel unmount error\n return unmountAppOrParcel().then(() => {\n // Unmounting the app/parcel succeeded, but unmounting its children parcels did not\n const parentError = Error(parcelError.message);\n if (hardFail) {\n throw transformErr(parentError, appOrParcel, SKIP_BECAUSE_BROKEN);\n } else {\n handleAppError(parentError, appOrParcel, SKIP_BECAUSE_BROKEN);\n }\n });\n })\n .then(() => appOrParcel);\n\n function unmountAppOrParcel() {\n // We always try to unmount the appOrParcel, even if the children parcels failed to unmount.\n return reasonableTime(appOrParcel, \"unmount\")\n .then(() => {\n // The appOrParcel needs to stay in a broken status if its children parcels fail to unmount\n if (!parcelError) {\n appOrParcel.status = NOT_MOUNTED;\n }\n })\n .catch((err) => {\n if (hardFail) {\n throw transformErr(err, appOrParcel, SKIP_BECAUSE_BROKEN);\n } else {\n handleAppError(err, appOrParcel, SKIP_BECAUSE_BROKEN);\n }\n });\n }\n });\n}\n","import {\n NOT_MOUNTED,\n MOUNTED,\n SKIP_BECAUSE_BROKEN,\n} from \"../applications/app.helpers.js\";\nimport { handleAppError, transformErr } from \"../applications/app-errors.js\";\nimport { reasonableTime } from \"../applications/timeouts.js\";\nimport CustomEvent from \"custom-event\";\nimport { toUnmountPromise } from \"./unmount.js\";\n\nlet beforeFirstMountFired = false;\nlet firstMountFired = false;\n\nexport function toMountPromise(appOrParcel, hardFail) {\n return Promise.resolve().then(() => {\n if (appOrParcel.status !== NOT_MOUNTED) {\n return appOrParcel;\n }\n\n if (!beforeFirstMountFired) {\n window.dispatchEvent(new CustomEvent(\"single-spa:before-first-mount\"));\n beforeFirstMountFired = true;\n }\n\n return reasonableTime(appOrParcel, \"mount\")\n .then(() => {\n appOrParcel.status = MOUNTED;\n\n if (!firstMountFired) {\n window.dispatchEvent(new CustomEvent(\"single-spa:first-mount\"));\n firstMountFired = true;\n }\n\n return appOrParcel;\n })\n .catch((err) => {\n // If we fail to mount the appOrParcel, we should attempt to unmount it before putting in SKIP_BECAUSE_BROKEN\n // We temporarily put the appOrParcel into MOUNTED status so that toUnmountPromise actually attempts to unmount it\n // instead of just doing a no-op.\n appOrParcel.status = MOUNTED;\n return toUnmountPromise(appOrParcel, true).then(\n setSkipBecauseBroken,\n setSkipBecauseBroken\n );\n\n function setSkipBecauseBroken() {\n if (!hardFail) {\n handleAppError(err, appOrParcel, SKIP_BECAUSE_BROKEN);\n return appOrParcel;\n } else {\n throw transformErr(err, appOrParcel, SKIP_BECAUSE_BROKEN);\n }\n }\n });\n });\n}\n","import {\n validLifecycleFn,\n flattenFnArray,\n} from \"../lifecycles/lifecycle.helpers.js\";\nimport {\n NOT_BOOTSTRAPPED,\n NOT_MOUNTED,\n MOUNTED,\n LOADING_SOURCE_CODE,\n SKIP_BECAUSE_BROKEN,\n toName,\n} from \"../applications/app.helpers.js\";\nimport { toBootstrapPromise } from \"../lifecycles/bootstrap.js\";\nimport { toMountPromise } from \"../lifecycles/mount.js\";\nimport { toUpdatePromise } from \"../lifecycles/update.js\";\nimport { toUnmountPromise } from \"../lifecycles/unmount.js\";\nimport { ensureValidAppTimeouts } from \"../applications/timeouts.js\";\nimport { formatErrorMessage } from \"../applications/app-errors.js\";\n\nlet parcelCount = 0;\nconst rootParcels = { parcels: {} };\n\n// This is a public api, exported to users of single-spa\nexport function mountRootParcel() {\n return mountParcel.apply(rootParcels, arguments);\n}\n\nexport function mountParcel(config, customProps) {\n const owningAppOrParcel = this;\n\n // Validate inputs\n if (!config || (typeof config !== \"object\" && typeof config !== \"function\")) {\n throw Error(\n formatErrorMessage(\n 2,\n __DEV__ &&\n \"Cannot mount parcel without a config object or config loading function\"\n )\n );\n }\n\n if (config.name && typeof config.name !== \"string\") {\n throw Error(\n formatErrorMessage(\n 3,\n __DEV__ &&\n `Parcel name must be a string, if provided. Was given ${typeof config.name}`,\n typeof config.name\n )\n );\n }\n\n if (typeof customProps !== \"object\") {\n throw Error(\n formatErrorMessage(\n 4,\n __DEV__ &&\n `Parcel ${name} has invalid customProps -- must be an object but was given ${typeof customProps}`,\n name,\n typeof customProps\n )\n );\n }\n\n if (!customProps.domElement) {\n throw Error(\n formatErrorMessage(\n 5,\n __DEV__ &&\n `Parcel ${name} cannot be mounted without a domElement provided as a prop`,\n name\n )\n );\n }\n\n const id = parcelCount++;\n\n const passedConfigLoadingFunction = typeof config === \"function\";\n const configLoadingFunction = passedConfigLoadingFunction\n ? config\n : () => Promise.resolve(config);\n\n // Internal representation\n const parcel = {\n id,\n parcels: {},\n status: passedConfigLoadingFunction\n ? LOADING_SOURCE_CODE\n : NOT_BOOTSTRAPPED,\n customProps,\n parentName: toName(owningAppOrParcel),\n unmountThisParcel() {\n return mountPromise\n .then(() => {\n if (parcel.status !== MOUNTED) {\n throw Error(\n formatErrorMessage(\n 6,\n __DEV__ &&\n `Cannot unmount parcel '${name}' -- it is in a ${parcel.status} status`,\n name,\n parcel.status\n )\n );\n }\n return toUnmountPromise(parcel, true);\n })\n .then((value) => {\n if (parcel.parentName) {\n delete owningAppOrParcel.parcels[parcel.id];\n }\n\n return value;\n })\n .then((value) => {\n resolveUnmount(value);\n return value;\n })\n .catch((err) => {\n parcel.status = SKIP_BECAUSE_BROKEN;\n rejectUnmount(err);\n throw err;\n });\n },\n };\n\n // We return an external representation\n let externalRepresentation;\n\n // Add to owning app or parcel\n owningAppOrParcel.parcels[id] = parcel;\n\n let loadPromise = configLoadingFunction();\n\n if (!loadPromise || typeof loadPromise.then !== \"function\") {\n throw Error(\n formatErrorMessage(\n 7,\n __DEV__ &&\n `When mounting a parcel, the config loading function must return a promise that resolves with the parcel config`\n )\n );\n }\n\n loadPromise = loadPromise.then((config) => {\n if (!config) {\n throw Error(\n formatErrorMessage(\n 8,\n __DEV__ &&\n `When mounting a parcel, the config loading function returned a promise that did not resolve with a parcel config`\n )\n );\n }\n\n const name = config.name || `parcel-${id}`;\n\n if (\n // ES Module objects don't have the object prototype\n Object.prototype.hasOwnProperty.call(config, \"bootstrap\") &&\n !validLifecycleFn(config.bootstrap)\n ) {\n throw Error(\n formatErrorMessage(\n 9,\n __DEV__ && `Parcel ${name} provided an invalid bootstrap function`,\n name\n )\n );\n }\n\n if (!validLifecycleFn(config.mount)) {\n throw Error(\n formatErrorMessage(\n 10,\n __DEV__ && `Parcel ${name} must have a valid mount function`,\n name\n )\n );\n }\n\n if (!validLifecycleFn(config.unmount)) {\n throw Error(\n formatErrorMessage(\n 11,\n __DEV__ && `Parcel ${name} must have a valid unmount function`,\n name\n )\n );\n }\n\n if (config.update && !validLifecycleFn(config.update)) {\n throw Error(\n formatErrorMessage(\n 12,\n __DEV__ && `Parcel ${name} provided an invalid update function`,\n name\n )\n );\n }\n\n const bootstrap = flattenFnArray(config, \"bootstrap\");\n const mount = flattenFnArray(config, \"mount\");\n const unmount = flattenFnArray(config, \"unmount\");\n\n parcel.status = NOT_BOOTSTRAPPED;\n parcel.name = name;\n parcel.bootstrap = bootstrap;\n parcel.mount = mount;\n parcel.unmount = unmount;\n parcel.timeouts = ensureValidAppTimeouts(config.timeouts);\n\n if (config.update) {\n parcel.update = flattenFnArray(config, \"update\");\n externalRepresentation.update = function (customProps) {\n parcel.customProps = customProps;\n\n return promiseWithoutReturnValue(toUpdatePromise(parcel));\n };\n }\n });\n\n // Start bootstrapping and mounting\n // The .then() causes the work to be put on the event loop instead of happening immediately\n const bootstrapPromise = loadPromise.then(() =>\n toBootstrapPromise(parcel, true)\n );\n const mountPromise = bootstrapPromise.then(() =>\n toMountPromise(parcel, true)\n );\n\n let resolveUnmount, rejectUnmount;\n\n const unmountPromise = new Promise((resolve, reject) => {\n resolveUnmount = resolve;\n rejectUnmount = reject;\n });\n\n externalRepresentation = {\n mount() {\n return promiseWithoutReturnValue(\n Promise.resolve().then(() => {\n if (parcel.status !== NOT_MOUNTED) {\n throw Error(\n formatErrorMessage(\n 13,\n __DEV__ &&\n `Cannot mount parcel '${name}' -- it is in a ${parcel.status} status`,\n name,\n parcel.status\n )\n );\n }\n\n // Add to owning app or parcel\n owningAppOrParcel.parcels[id] = parcel;\n\n return toMountPromise(parcel);\n })\n );\n },\n unmount() {\n return promiseWithoutReturnValue(parcel.unmountThisParcel());\n },\n getStatus() {\n return parcel.status;\n },\n loadPromise: promiseWithoutReturnValue(loadPromise),\n bootstrapPromise: promiseWithoutReturnValue(bootstrapPromise),\n mountPromise: promiseWithoutReturnValue(mountPromise),\n unmountPromise: promiseWithoutReturnValue(unmountPromise),\n };\n\n return externalRepresentation;\n}\n\nfunction promiseWithoutReturnValue(promise) {\n return promise.then(() => null);\n}\n","import {\n UPDATING,\n MOUNTED,\n SKIP_BECAUSE_BROKEN,\n toName,\n} from \"../applications/app.helpers.js\";\nimport {\n transformErr,\n formatErrorMessage,\n} from \"../applications/app-errors.js\";\nimport { reasonableTime } from \"../applications/timeouts.js\";\n\nexport function toUpdatePromise(parcel) {\n return Promise.resolve().then(() => {\n if (parcel.status !== MOUNTED) {\n throw Error(\n formatErrorMessage(\n 32,\n __DEV__ &&\n `Cannot update parcel '${toName(\n parcel\n )}' because it is not mounted`,\n toName(parcel)\n )\n );\n }\n\n parcel.status = UPDATING;\n\n return reasonableTime(parcel, \"update\")\n .then(() => {\n parcel.status = MOUNTED;\n return parcel;\n })\n .catch((err) => {\n throw transformErr(err, parcel, SKIP_BECAUSE_BROKEN);\n });\n });\n}\n","import * as singleSpa from \"../single-spa.js\";\nimport { mountParcel } from \"../parcels/mount-parcel.js\";\nimport { assign } from \"../utils/assign.js\";\nimport { isParcel, toName } from \"../applications/app.helpers.js\";\nimport { formatErrorMessage } from \"../applications/app-errors.js\";\n\nexport function getProps(appOrParcel) {\n const name = toName(appOrParcel);\n let customProps =\n typeof appOrParcel.customProps === \"function\"\n ? appOrParcel.customProps(name, window.location)\n : appOrParcel.customProps;\n if (\n typeof customProps !== \"object\" ||\n customProps === null ||\n Array.isArray(customProps)\n ) {\n customProps = {};\n console.warn(\n formatErrorMessage(\n 40,\n __DEV__ &&\n `single-spa: ${name}'s customProps function must return an object. Received ${customProps}`\n ),\n name,\n customProps\n );\n }\n const result = assign({}, customProps, {\n name,\n mountParcel: mountParcel.bind(appOrParcel),\n singleSpa,\n });\n\n if (isParcel(appOrParcel)) {\n result.unmountSelf = appOrParcel.unmountThisParcel;\n }\n\n return result;\n}\n","import { assign } from \"../utils/assign\";\nimport { getProps } from \"../lifecycles/prop.helpers\";\nimport { objectType, toName } from \"./app.helpers\";\nimport { formatErrorMessage } from \"./app-errors\";\n\nconst defaultWarningMillis = 1000;\n\nconst globalTimeoutConfig = {\n bootstrap: {\n millis: 4000,\n dieOnTimeout: false,\n warningMillis: defaultWarningMillis,\n },\n mount: {\n millis: 3000,\n dieOnTimeout: false,\n warningMillis: defaultWarningMillis,\n },\n unmount: {\n millis: 3000,\n dieOnTimeout: false,\n warningMillis: defaultWarningMillis,\n },\n unload: {\n millis: 3000,\n dieOnTimeout: false,\n warningMillis: defaultWarningMillis,\n },\n update: {\n millis: 3000,\n dieOnTimeout: false,\n warningMillis: defaultWarningMillis,\n },\n};\n\nexport function setBootstrapMaxTime(time, dieOnTimeout, warningMillis) {\n if (typeof time !== \"number\" || time <= 0) {\n throw Error(\n formatErrorMessage(\n 16,\n __DEV__ &&\n `bootstrap max time must be a positive integer number of milliseconds`\n )\n );\n }\n\n globalTimeoutConfig.bootstrap = {\n millis: time,\n dieOnTimeout,\n warningMillis: warningMillis || defaultWarningMillis,\n };\n}\n\nexport function setMountMaxTime(time, dieOnTimeout, warningMillis) {\n if (typeof time !== \"number\" || time <= 0) {\n throw Error(\n formatErrorMessage(\n 17,\n __DEV__ &&\n `mount max time must be a positive integer number of milliseconds`\n )\n );\n }\n\n globalTimeoutConfig.mount = {\n millis: time,\n dieOnTimeout,\n warningMillis: warningMillis || defaultWarningMillis,\n };\n}\n\nexport function setUnmountMaxTime(time, dieOnTimeout, warningMillis) {\n if (typeof time !== \"number\" || time <= 0) {\n throw Error(\n formatErrorMessage(\n 18,\n __DEV__ &&\n `unmount max time must be a positive integer number of milliseconds`\n )\n );\n }\n\n globalTimeoutConfig.unmount = {\n millis: time,\n dieOnTimeout,\n warningMillis: warningMillis || defaultWarningMillis,\n };\n}\n\nexport function setUnloadMaxTime(time, dieOnTimeout, warningMillis) {\n if (typeof time !== \"number\" || time <= 0) {\n throw Error(\n formatErrorMessage(\n 19,\n __DEV__ &&\n `unload max time must be a positive integer number of milliseconds`\n )\n );\n }\n\n globalTimeoutConfig.unload = {\n millis: time,\n dieOnTimeout,\n warningMillis: warningMillis || defaultWarningMillis,\n };\n}\n\nexport function reasonableTime(appOrParcel, lifecycle) {\n const timeoutConfig = appOrParcel.timeouts[lifecycle];\n const warningPeriod = timeoutConfig.warningMillis;\n const type = objectType(appOrParcel);\n\n return new Promise((resolve, reject) => {\n let finished = false;\n let errored = false;\n\n appOrParcel[lifecycle](getProps(appOrParcel))\n .then((val) => {\n finished = true;\n resolve(val);\n })\n .catch((val) => {\n finished = true;\n reject(val);\n });\n\n setTimeout(() => maybeTimingOut(1), warningPeriod);\n setTimeout(() => maybeTimingOut(true), timeoutConfig.millis);\n\n const errMsg = formatErrorMessage(\n 31,\n __DEV__ &&\n `Lifecycle function ${lifecycle} for ${type} ${toName(\n appOrParcel\n )} lifecycle did not resolve or reject for ${timeoutConfig.millis} ms.`,\n lifecycle,\n type,\n toName(appOrParcel),\n timeoutConfig.millis\n );\n\n function maybeTimingOut(shouldError) {\n if (!finished) {\n if (shouldError === true) {\n errored = true;\n if (timeoutConfig.dieOnTimeout) {\n reject(Error(errMsg));\n } else {\n console.error(errMsg);\n //don't resolve or reject, we're waiting this one out\n }\n } else if (!errored) {\n const numWarnings = shouldError;\n const numMillis = numWarnings * warningPeriod;\n console.warn(errMsg);\n if (numMillis + warningPeriod < timeoutConfig.millis) {\n setTimeout(() => maybeTimingOut(numWarnings + 1), warningPeriod);\n }\n }\n }\n }\n });\n}\n\nexport function ensureValidAppTimeouts(timeouts) {\n const result = {};\n\n for (let key in globalTimeoutConfig) {\n result[key] = assign(\n {},\n globalTimeoutConfig[key],\n (timeouts && timeouts[key]) || {}\n );\n }\n\n return result;\n}\n","import {\n LOAD_ERROR,\n NOT_BOOTSTRAPPED,\n LOADING_SOURCE_CODE,\n SKIP_BECAUSE_BROKEN,\n NOT_LOADED,\n objectType,\n toName,\n} from \"../applications/app.helpers.js\";\nimport { ensureValidAppTimeouts } from \"../applications/timeouts.js\";\nimport {\n handleAppError,\n formatErrorMessage,\n} from \"../applications/app-errors.js\";\nimport {\n flattenFnArray,\n smellsLikeAPromise,\n validLifecycleFn,\n} from \"./lifecycle.helpers.js\";\nimport { getProps } from \"./prop.helpers.js\";\nimport { assign } from \"../utils/assign.js\";\n\nexport function toLoadPromise(app) {\n return Promise.resolve().then(() => {\n if (app.loadPromise) {\n return app.loadPromise;\n }\n\n if (app.status !== NOT_LOADED && app.status !== LOAD_ERROR) {\n return app;\n }\n\n app.status = LOADING_SOURCE_CODE;\n\n let appOpts, isUserErr;\n\n return (app.loadPromise = Promise.resolve()\n .then(() => {\n const loadPromise = app.loadApp(getProps(app));\n if (!smellsLikeAPromise(loadPromise)) {\n // The name of the app will be prepended to this error message inside of the handleAppError function\n isUserErr = true;\n throw Error(\n formatErrorMessage(\n 33,\n __DEV__ &&\n `single-spa loading function did not return a promise. Check the second argument to registerApplication('${toName(\n app\n )}', loadingFunction, activityFunction)`,\n toName(app)\n )\n );\n }\n return loadPromise.then((val) => {\n app.loadErrorTime = null;\n\n appOpts = val;\n\n let validationErrMessage, validationErrCode;\n\n if (typeof appOpts !== \"object\") {\n validationErrCode = 34;\n if (__DEV__) {\n validationErrMessage = `does not export anything`;\n }\n }\n\n if (\n // ES Modules don't have the Object prototype\n Object.prototype.hasOwnProperty.call(appOpts, \"bootstrap\") &&\n !validLifecycleFn(appOpts.bootstrap)\n ) {\n validationErrCode = 35;\n if (__DEV__) {\n validationErrMessage = `does not export a valid bootstrap function or array of functions`;\n }\n }\n\n if (!validLifecycleFn(appOpts.mount)) {\n validationErrCode = 36;\n if (__DEV__) {\n validationErrMessage = `does not export a mount function or array of functions`;\n }\n }\n\n if (!validLifecycleFn(appOpts.unmount)) {\n validationErrCode = 37;\n if (__DEV__) {\n validationErrMessage = `does not export a unmount function or array of functions`;\n }\n }\n\n const type = objectType(appOpts);\n\n if (validationErrCode) {\n let appOptsStr;\n try {\n appOptsStr = JSON.stringify(appOpts);\n } catch {}\n console.error(\n formatErrorMessage(\n validationErrCode,\n __DEV__ &&\n `The loading function for single-spa ${type} '${toName(\n app\n )}' resolved with the following, which does not have bootstrap, mount, and unmount functions`,\n type,\n toName(app),\n appOptsStr\n ),\n appOpts\n );\n handleAppError(validationErrMessage, app, SKIP_BECAUSE_BROKEN);\n return app;\n }\n\n if (appOpts.devtools && appOpts.devtools.overlays) {\n app.devtools.overlays = assign(\n {},\n app.devtools.overlays,\n appOpts.devtools.overlays\n );\n }\n\n app.status = NOT_BOOTSTRAPPED;\n app.bootstrap = flattenFnArray(appOpts, \"bootstrap\");\n app.mount = flattenFnArray(appOpts, \"mount\");\n app.unmount = flattenFnArray(appOpts, \"unmount\");\n app.unload = flattenFnArray(appOpts, \"unload\");\n app.timeouts = ensureValidAppTimeouts(appOpts.timeouts);\n\n delete app.loadPromise;\n\n return app;\n });\n })\n .catch((err) => {\n delete app.loadPromise;\n\n let newStatus;\n if (isUserErr) {\n newStatus = SKIP_BECAUSE_BROKEN;\n } else {\n newStatus = LOAD_ERROR;\n app.loadErrorTime = new Date().getTime();\n }\n handleAppError(err, app, newStatus);\n\n return app;\n }));\n });\n}\n","export const isInBrowser = typeof window !== \"undefined\";\n","import { reroute } from \"./reroute.js\";\nimport { find } from \"../utils/find.js\";\nimport { formatErrorMessage } from \"../applications/app-errors.js\";\nimport { isInBrowser } from \"../utils/runtime-environment.js\";\nimport { isStarted } from \"../start.js\";\n\n/* We capture navigation event listeners so that we can make sure\n * that application navigation listeners are not called until\n * single-spa has ensured that the correct applications are\n * unmounted and mounted.\n */\nconst capturedEventListeners = {\n hashchange: [],\n popstate: [],\n};\n\nexport const routingEventsListeningTo = [\"hashchange\", \"popstate\"];\n\nexport function navigateToUrl(obj) {\n let url;\n if (typeof obj === \"string\") {\n url = obj;\n } else if (this && this.href) {\n url = this.href;\n } else if (\n obj &&\n obj.currentTarget &&\n obj.currentTarget.href &&\n obj.preventDefault\n ) {\n url = obj.currentTarget.href;\n obj.preventDefault();\n } else {\n throw Error(\n formatErrorMessage(\n 14,\n __DEV__ &&\n `singleSpaNavigate/navigateToUrl must be either called with a string url, with an tag as its context, or with an event whose currentTarget is an tag`\n )\n );\n }\n\n const current = parseUri(window.location.href);\n const destination = parseUri(url);\n\n if (url.indexOf(\"#\") === 0) {\n window.location.hash = destination.hash;\n } else if (current.host !== destination.host && destination.host) {\n if (process.env.BABEL_ENV === \"test\") {\n return { wouldHaveReloadedThePage: true };\n } else {\n window.location.href = url;\n }\n } else if (\n destination.pathname === current.pathname &&\n destination.search === current.search\n ) {\n window.location.hash = destination.hash;\n } else {\n // different path, host, or query params\n window.history.pushState(null, null, url);\n }\n}\n\nexport function callCapturedEventListeners(eventArguments) {\n if (eventArguments) {\n const eventType = eventArguments[0].type;\n if (routingEventsListeningTo.indexOf(eventType) >= 0) {\n capturedEventListeners[eventType].forEach((listener) => {\n try {\n // The error thrown by application event listener should not break single-spa down.\n // Just like https://github.com/single-spa/single-spa/blob/85f5042dff960e40936f3a5069d56fc9477fac04/src/navigation/reroute.js#L140-L146 did\n listener.apply(this, eventArguments);\n } catch (e) {\n setTimeout(() => {\n throw e;\n });\n }\n });\n }\n }\n}\n\nlet urlRerouteOnly;\n\nexport function setUrlRerouteOnly(val) {\n urlRerouteOnly = val;\n}\n\nfunction urlReroute() {\n reroute([], arguments);\n}\n\nfunction patchedUpdateState(updateState, methodName) {\n return function () {\n const urlBefore = window.location.href;\n const result = updateState.apply(this, arguments);\n const urlAfter = window.location.href;\n\n if (!urlRerouteOnly || urlBefore !== urlAfter) {\n if (isStarted()) {\n // fire an artificial popstate event once single-spa is started,\n // so that single-spa applications know about routing that\n // occurs in a different application\n window.dispatchEvent(\n createPopStateEvent(window.history.state, methodName)\n );\n } else {\n // do not fire an artificial popstate event before single-spa is started,\n // since no single-spa applications need to know about routing events\n // outside of their own router.\n reroute([]);\n }\n }\n\n return result;\n };\n}\n\nfunction createPopStateEvent(state, originalMethodName) {\n // https://github.com/single-spa/single-spa/issues/224 and https://github.com/single-spa/single-spa-angular/issues/49\n // We need a popstate event even though the browser doesn't do one by default when you call replaceState, so that\n // all the applications can reroute. We explicitly identify this extraneous event by setting singleSpa=true and\n // singleSpaTrigger= on the event instance.\n let evt;\n try {\n evt = new PopStateEvent(\"popstate\", { state });\n } catch (err) {\n // IE 11 compatibility https://github.com/single-spa/single-spa/issues/299\n // https://docs.microsoft.com/en-us/openspecs/ie_standards/ms-html5e/bd560f47-b349-4d2c-baa8-f1560fb489dd\n evt = document.createEvent(\"PopStateEvent\");\n evt.initPopStateEvent(\"popstate\", false, false, state);\n }\n evt.singleSpa = true;\n evt.singleSpaTrigger = originalMethodName;\n return evt;\n}\n\nif (isInBrowser) {\n // We will trigger an app change for any routing events.\n window.addEventListener(\"hashchange\", urlReroute);\n window.addEventListener(\"popstate\", urlReroute);\n\n // Monkeypatch addEventListener so that we can ensure correct timing\n const originalAddEventListener = window.addEventListener;\n const originalRemoveEventListener = window.removeEventListener;\n window.addEventListener = function (eventName, fn) {\n if (typeof fn === \"function\") {\n if (\n routingEventsListeningTo.indexOf(eventName) >= 0 &&\n !find(capturedEventListeners[eventName], (listener) => listener === fn)\n ) {\n capturedEventListeners[eventName].push(fn);\n return;\n }\n }\n\n return originalAddEventListener.apply(this, arguments);\n };\n\n window.removeEventListener = function (eventName, listenerFn) {\n if (typeof listenerFn === \"function\") {\n if (routingEventsListeningTo.indexOf(eventName) >= 0) {\n capturedEventListeners[eventName] = capturedEventListeners[\n eventName\n ].filter((fn) => fn !== listenerFn);\n return;\n }\n }\n\n return originalRemoveEventListener.apply(this, arguments);\n };\n\n window.history.pushState = patchedUpdateState(\n window.history.pushState,\n \"pushState\"\n );\n window.history.replaceState = patchedUpdateState(\n window.history.replaceState,\n \"replaceState\"\n );\n\n if (window.singleSpaNavigate) {\n console.warn(\n formatErrorMessage(\n 41,\n __DEV__ &&\n \"single-spa has been loaded twice on the page. This can result in unexpected behavior.\"\n )\n );\n } else {\n /* For convenience in `onclick` attributes, we expose a global function for navigating to\n * whatever an tag's href is.\n */\n window.singleSpaNavigate = navigateToUrl;\n }\n}\n\nfunction parseUri(str) {\n const anchor = document.createElement(\"a\");\n anchor.href = str;\n return anchor;\n}\n","import { routingEventsListeningTo } from \"./navigation/navigation-events.js\";\n\nlet hasInitialized = false;\n\nexport function ensureJQuerySupport(jQuery = window.jQuery) {\n if (!jQuery) {\n if (window.$ && window.$.fn && window.$.fn.jquery) {\n jQuery = window.$;\n }\n }\n\n if (jQuery && !hasInitialized) {\n const originalJQueryOn = jQuery.fn.on;\n const originalJQueryOff = jQuery.fn.off;\n\n jQuery.fn.on = function (eventString, fn) {\n return captureRoutingEvents.call(\n this,\n originalJQueryOn,\n window.addEventListener,\n eventString,\n fn,\n arguments\n );\n };\n\n jQuery.fn.off = function (eventString, fn) {\n return captureRoutingEvents.call(\n this,\n originalJQueryOff,\n window.removeEventListener,\n eventString,\n fn,\n arguments\n );\n };\n\n hasInitialized = true;\n }\n}\n\nfunction captureRoutingEvents(\n originalJQueryFunction,\n nativeFunctionToCall,\n eventString,\n fn,\n originalArgs\n) {\n if (typeof eventString !== \"string\") {\n return originalJQueryFunction.apply(this, originalArgs);\n }\n\n const eventNames = eventString.split(/\\s+/);\n eventNames.forEach((eventName) => {\n if (routingEventsListeningTo.indexOf(eventName) >= 0) {\n nativeFunctionToCall(eventName, fn);\n eventString = eventString.replace(eventName, \"\");\n }\n });\n\n if (eventString.trim() === \"\") {\n return this;\n } else {\n return originalJQueryFunction.apply(this, originalArgs);\n }\n}\n","import {\n NOT_MOUNTED,\n UNLOADING,\n NOT_LOADED,\n SKIP_BECAUSE_BROKEN,\n toName,\n} from \"../applications/app.helpers.js\";\nimport { handleAppError } from \"../applications/app-errors.js\";\nimport { reasonableTime } from \"../applications/timeouts.js\";\nimport { LOAD_ERROR } from \"single-spa\";\n\nconst appsToUnload = {};\n\nexport function toUnloadPromise(app) {\n return Promise.resolve().then(() => {\n const unloadInfo = appsToUnload[toName(app)];\n\n if (!unloadInfo) {\n /* No one has called unloadApplication for this app,\n */\n return app;\n }\n\n if (app.status === NOT_LOADED) {\n /* This app is already unloaded. We just need to clean up\n * anything that still thinks we need to unload the app.\n */\n finishUnloadingApp(app, unloadInfo);\n return app;\n }\n\n if (app.status === UNLOADING) {\n /* Both unloadApplication and reroute want to unload this app.\n * It only needs to be done once, though.\n */\n return unloadInfo.promise.then(() => app);\n }\n\n if (app.status !== NOT_MOUNTED && app.status !== LOAD_ERROR) {\n /* The app cannot be unloaded until it is unmounted.\n */\n return app;\n }\n\n const unloadPromise =\n app.status === LOAD_ERROR\n ? Promise.resolve()\n : reasonableTime(app, \"unload\");\n\n app.status = UNLOADING;\n\n return unloadPromise\n .then(() => {\n finishUnloadingApp(app, unloadInfo);\n return app;\n })\n .catch((err) => {\n errorUnloadingApp(app, unloadInfo, err);\n return app;\n });\n });\n}\n\nfunction finishUnloadingApp(app, unloadInfo) {\n delete appsToUnload[toName(app)];\n\n // Unloaded apps don't have lifecycles\n delete app.bootstrap;\n delete app.mount;\n delete app.unmount;\n delete app.unload;\n\n app.status = NOT_LOADED;\n\n /* resolve the promise of whoever called unloadApplication.\n * This should be done after all other cleanup/bookkeeping\n */\n unloadInfo.resolve();\n}\n\nfunction errorUnloadingApp(app, unloadInfo, err) {\n delete appsToUnload[toName(app)];\n\n // Unloaded apps don't have lifecycles\n delete app.bootstrap;\n delete app.mount;\n delete app.unmount;\n delete app.unload;\n\n handleAppError(err, app, SKIP_BECAUSE_BROKEN);\n unloadInfo.reject(err);\n}\n\nexport function addAppToUnload(app, promiseGetter, resolve, reject) {\n appsToUnload[toName(app)] = { app, resolve, reject };\n Object.defineProperty(appsToUnload[toName(app)], \"promise\", {\n get: promiseGetter,\n });\n}\n\nexport function getAppUnloadInfo(appName) {\n return appsToUnload[appName];\n}\n","import { ensureJQuerySupport } from \"../jquery-support.js\";\nimport {\n isActive,\n toName,\n NOT_LOADED,\n NOT_BOOTSTRAPPED,\n NOT_MOUNTED,\n MOUNTED,\n LOAD_ERROR,\n SKIP_BECAUSE_BROKEN,\n LOADING_SOURCE_CODE,\n shouldBeActive,\n} from \"./app.helpers.js\";\nimport { reroute } from \"../navigation/reroute.js\";\nimport { find } from \"../utils/find.js\";\nimport { toUnmountPromise } from \"../lifecycles/unmount.js\";\nimport {\n toUnloadPromise,\n getAppUnloadInfo,\n addAppToUnload,\n} from \"../lifecycles/unload.js\";\nimport { formatErrorMessage } from \"./app-errors.js\";\nimport { isInBrowser } from \"../utils/runtime-environment.js\";\nimport { assign } from \"../utils/assign\";\n\nconst apps = [];\n\nexport function getAppChanges() {\n const appsToUnload = [],\n appsToUnmount = [],\n appsToLoad = [],\n appsToMount = [];\n\n // We re-attempt to download applications in LOAD_ERROR after a timeout of 200 milliseconds\n const currentTime = new Date().getTime();\n\n apps.forEach((app) => {\n const appShouldBeActive =\n app.status !== SKIP_BECAUSE_BROKEN && shouldBeActive(app);\n\n switch (app.status) {\n case LOAD_ERROR:\n if (appShouldBeActive && currentTime - app.loadErrorTime >= 200) {\n appsToLoad.push(app);\n }\n break;\n case NOT_LOADED:\n case LOADING_SOURCE_CODE:\n if (appShouldBeActive) {\n appsToLoad.push(app);\n }\n break;\n case NOT_BOOTSTRAPPED:\n case NOT_MOUNTED:\n if (!appShouldBeActive && getAppUnloadInfo(toName(app))) {\n appsToUnload.push(app);\n } else if (appShouldBeActive) {\n appsToMount.push(app);\n }\n break;\n case MOUNTED:\n if (!appShouldBeActive) {\n appsToUnmount.push(app);\n }\n break;\n // all other statuses are ignored\n }\n });\n\n return { appsToUnload, appsToUnmount, appsToLoad, appsToMount };\n}\n\nexport function getMountedApps() {\n return apps.filter(isActive).map(toName);\n}\n\nexport function getAppNames() {\n return apps.map(toName);\n}\n\n// used in devtools, not (currently) exposed as a single-spa API\nexport function getRawAppData() {\n return [...apps];\n}\n\nexport function getAppStatus(appName) {\n const app = find(apps, (app) => toName(app) === appName);\n return app ? app.status : null;\n}\n\nexport function registerApplication(\n appNameOrConfig,\n appOrLoadApp,\n activeWhen,\n customProps\n) {\n const registration = sanitizeArguments(\n appNameOrConfig,\n appOrLoadApp,\n activeWhen,\n customProps\n );\n\n if (getAppNames().indexOf(registration.name) !== -1)\n throw Error(\n formatErrorMessage(\n 21,\n __DEV__ &&\n `There is already an app registered with name ${registration.name}`,\n registration.name\n )\n );\n\n apps.push(\n assign(\n {\n loadErrorTime: null,\n status: NOT_LOADED,\n parcels: {},\n devtools: {\n overlays: {\n options: {},\n selectors: [],\n },\n },\n },\n registration\n )\n );\n\n if (isInBrowser) {\n ensureJQuerySupport();\n reroute();\n }\n}\n\nexport function checkActivityFunctions(location = window.location) {\n return apps.filter((app) => app.activeWhen(location)).map(toName);\n}\n\nexport function unregisterApplication(appName) {\n if (apps.filter((app) => toName(app) === appName).length === 0) {\n throw Error(\n formatErrorMessage(\n 25,\n __DEV__ &&\n `Cannot unregister application '${appName}' because no such application has been registered`,\n appName\n )\n );\n }\n\n return unloadApplication(appName).then(() => {\n const appIndex = apps.map(toName).indexOf(appName);\n apps.splice(appIndex, 1);\n });\n}\n\nexport function unloadApplication(appName, opts = { waitForUnmount: false }) {\n if (typeof appName !== \"string\") {\n throw Error(\n formatErrorMessage(\n 26,\n __DEV__ && `unloadApplication requires a string 'appName'`\n )\n );\n }\n const app = find(apps, (App) => toName(App) === appName);\n if (!app) {\n throw Error(\n formatErrorMessage(\n 27,\n __DEV__ &&\n `Could not unload application '${appName}' because no such application has been registered`,\n appName\n )\n );\n }\n\n const appUnloadInfo = getAppUnloadInfo(toName(app));\n if (opts && opts.waitForUnmount) {\n // We need to wait for unmount before unloading the app\n\n if (appUnloadInfo) {\n // Someone else is already waiting for this, too\n return appUnloadInfo.promise;\n } else {\n // We're the first ones wanting the app to be resolved.\n const promise = new Promise((resolve, reject) => {\n addAppToUnload(app, () => promise, resolve, reject);\n });\n return promise;\n }\n } else {\n /* We should unmount the app, unload it, and remount it immediately.\n */\n\n let resultPromise;\n\n if (appUnloadInfo) {\n // Someone else is already waiting for this app to unload\n resultPromise = appUnloadInfo.promise;\n immediatelyUnloadApp(app, appUnloadInfo.resolve, appUnloadInfo.reject);\n } else {\n // We're the first ones wanting the app to be resolved.\n resultPromise = new Promise((resolve, reject) => {\n addAppToUnload(app, () => resultPromise, resolve, reject);\n immediatelyUnloadApp(app, resolve, reject);\n });\n }\n\n return resultPromise;\n }\n}\n\nfunction immediatelyUnloadApp(app, resolve, reject) {\n toUnmountPromise(app)\n .then(toUnloadPromise)\n .then(() => {\n resolve();\n setTimeout(() => {\n // reroute, but the unload promise is done\n reroute();\n });\n })\n .catch(reject);\n}\n\nfunction validateRegisterWithArguments(\n name,\n appOrLoadApp,\n activeWhen,\n customProps\n) {\n if (typeof name !== \"string\" || name.length === 0)\n throw Error(\n formatErrorMessage(\n 20,\n __DEV__ &&\n `The 1st argument to registerApplication must be a non-empty string 'appName'`\n )\n );\n\n if (!appOrLoadApp)\n throw Error(\n formatErrorMessage(\n 23,\n __DEV__ &&\n \"The 2nd argument to registerApplication must be an application or loading application function\"\n )\n );\n\n if (typeof activeWhen !== \"function\")\n throw Error(\n formatErrorMessage(\n 24,\n __DEV__ &&\n \"The 3rd argument to registerApplication must be an activeWhen function\"\n )\n );\n\n if (!validCustomProps(customProps))\n throw Error(\n formatErrorMessage(\n 22,\n __DEV__ &&\n \"The optional 4th argument is a customProps and must be an object\"\n )\n );\n}\n\nexport function validateRegisterWithConfig(config) {\n if (Array.isArray(config) || config === null)\n throw Error(\n formatErrorMessage(\n 39,\n __DEV__ && \"Configuration object can't be an Array or null!\"\n )\n );\n const validKeys = [\"name\", \"app\", \"activeWhen\", \"customProps\"];\n const invalidKeys = Object.keys(config).reduce(\n (invalidKeys, prop) =>\n validKeys.indexOf(prop) >= 0 ? invalidKeys : invalidKeys.concat(prop),\n []\n );\n if (invalidKeys.length !== 0)\n throw Error(\n formatErrorMessage(\n 38,\n __DEV__ &&\n `The configuration object accepts only: ${validKeys.join(\n \", \"\n )}. Invalid keys: ${invalidKeys.join(\", \")}.`,\n validKeys.join(\", \"),\n invalidKeys.join(\", \")\n )\n );\n if (typeof config.name !== \"string\" || config.name.length === 0)\n throw Error(\n formatErrorMessage(\n 20,\n __DEV__ &&\n \"The config.name on registerApplication must be a non-empty string\"\n )\n );\n if (typeof config.app !== \"object\" && typeof config.app !== \"function\")\n throw Error(\n formatErrorMessage(\n 20,\n __DEV__ &&\n \"The config.app on registerApplication must be an application or a loading function\"\n )\n );\n const allowsStringAndFunction = (activeWhen) =>\n typeof activeWhen === \"string\" || typeof activeWhen === \"function\";\n if (\n !allowsStringAndFunction(config.activeWhen) &&\n !(\n Array.isArray(config.activeWhen) &&\n config.activeWhen.every(allowsStringAndFunction)\n )\n )\n throw Error(\n formatErrorMessage(\n 24,\n __DEV__ &&\n \"The config.activeWhen on registerApplication must be a string, function or an array with both\"\n )\n );\n if (!validCustomProps(config.customProps))\n throw Error(\n formatErrorMessage(\n 22,\n __DEV__ && \"The optional config.customProps must be an object\"\n )\n );\n}\n\nfunction validCustomProps(customProps) {\n return (\n !customProps ||\n typeof customProps === \"function\" ||\n (typeof customProps === \"object\" &&\n customProps !== null &&\n !Array.isArray(customProps))\n );\n}\n\nfunction sanitizeArguments(\n appNameOrConfig,\n appOrLoadApp,\n activeWhen,\n customProps\n) {\n const usingObjectAPI = typeof appNameOrConfig === \"object\";\n\n const registration = {\n name: null,\n loadApp: null,\n activeWhen: null,\n customProps: null,\n };\n\n if (usingObjectAPI) {\n validateRegisterWithConfig(appNameOrConfig);\n registration.name = appNameOrConfig.name;\n registration.loadApp = appNameOrConfig.app;\n registration.activeWhen = appNameOrConfig.activeWhen;\n registration.customProps = appNameOrConfig.customProps;\n } else {\n validateRegisterWithArguments(\n appNameOrConfig,\n appOrLoadApp,\n activeWhen,\n customProps\n );\n registration.name = appNameOrConfig;\n registration.loadApp = appOrLoadApp;\n registration.activeWhen = activeWhen;\n registration.customProps = customProps;\n }\n\n registration.loadApp = sanitizeLoadApp(registration.loadApp);\n registration.customProps = sanitizeCustomProps(registration.customProps);\n registration.activeWhen = sanitizeActiveWhen(registration.activeWhen);\n\n return registration;\n}\n\nfunction sanitizeLoadApp(loadApp) {\n if (typeof loadApp !== \"function\") {\n return () => Promise.resolve(loadApp);\n }\n\n return loadApp;\n}\n\nfunction sanitizeCustomProps(customProps) {\n return customProps ? customProps : {};\n}\n\nfunction sanitizeActiveWhen(activeWhen) {\n let activeWhenArray = Array.isArray(activeWhen) ? activeWhen : [activeWhen];\n activeWhenArray = activeWhenArray.map((activeWhenOrPath) =>\n typeof activeWhenOrPath === \"function\"\n ? activeWhenOrPath\n : pathToActiveWhen(activeWhenOrPath)\n );\n\n return (location) =>\n activeWhenArray.some((activeWhen) => activeWhen(location));\n}\n\nexport function pathToActiveWhen(path, exactMatch) {\n const regex = toDynamicPathValidatorRegex(path, exactMatch);\n\n return (location) => {\n const route = location.href\n .replace(location.origin, \"\")\n .replace(location.search, \"\")\n .split(\"?\")[0];\n return regex.test(route);\n };\n}\n\nfunction toDynamicPathValidatorRegex(path, exactMatch) {\n let lastIndex = 0,\n inDynamic = false,\n regexStr = \"^\";\n\n if (path[0] !== \"/\") {\n path = \"/\" + path;\n }\n\n for (let charIndex = 0; charIndex < path.length; charIndex++) {\n const char = path[charIndex];\n const startOfDynamic = !inDynamic && char === \":\";\n const endOfDynamic = inDynamic && char === \"/\";\n if (startOfDynamic || endOfDynamic) {\n appendToRegex(charIndex);\n }\n }\n\n appendToRegex(path.length);\n return new RegExp(regexStr, \"i\");\n\n function appendToRegex(index) {\n const anyCharMaybeTrailingSlashRegex = \"[^/]+/?\";\n const commonStringSubPath = escapeStrRegex(path.slice(lastIndex, index));\n\n regexStr += inDynamic\n ? anyCharMaybeTrailingSlashRegex\n : commonStringSubPath;\n\n if (index === path.length) {\n if (inDynamic) {\n if (exactMatch) {\n // Ensure exact match paths that end in a dynamic portion don't match\n // urls with characters after a slash after the dynamic portion.\n regexStr += \"$\";\n }\n } else {\n // For exact matches, expect no more characters. Otherwise, allow\n // any characters.\n const suffix = exactMatch ? \"\" : \".*\";\n\n regexStr =\n // use charAt instead as we could not use es6 method endsWith\n regexStr.charAt(regexStr.length - 1) === \"/\"\n ? `${regexStr}${suffix}$`\n : `${regexStr}(/${suffix})?(#.*)?$`;\n }\n }\n\n inDynamic = !inDynamic;\n lastIndex = index;\n }\n\n function escapeStrRegex(str) {\n // borrowed from https://github.com/sindresorhus/escape-string-regexp/blob/master/index.js\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\");\n }\n}\n","import CustomEvent from \"custom-event\";\nimport { isStarted } from \"../start.js\";\nimport { toLoadPromise } from \"../lifecycles/load.js\";\nimport { toBootstrapPromise } from \"../lifecycles/bootstrap.js\";\nimport { toMountPromise } from \"../lifecycles/mount.js\";\nimport { toUnmountPromise } from \"../lifecycles/unmount.js\";\nimport {\n getAppStatus,\n getAppChanges,\n getMountedApps,\n} from \"../applications/apps.js\";\nimport {\n callCapturedEventListeners,\n navigateToUrl,\n} from \"./navigation-events.js\";\nimport { toUnloadPromise } from \"../lifecycles/unload.js\";\nimport {\n toName,\n shouldBeActive,\n NOT_MOUNTED,\n MOUNTED,\n NOT_LOADED,\n SKIP_BECAUSE_BROKEN,\n} from \"../applications/app.helpers.js\";\nimport { assign } from \"../utils/assign.js\";\nimport { isInBrowser } from \"../utils/runtime-environment.js\";\n\nlet appChangeUnderway = false,\n peopleWaitingOnAppChange = [],\n currentUrl = isInBrowser && window.location.href;\n\nexport function triggerAppChange() {\n // Call reroute with no arguments, intentionally\n return reroute();\n}\n\nexport function reroute(pendingPromises = [], eventArguments) {\n if (appChangeUnderway) {\n return new Promise((resolve, reject) => {\n peopleWaitingOnAppChange.push({\n resolve,\n reject,\n eventArguments,\n });\n });\n }\n\n const {\n appsToUnload,\n appsToUnmount,\n appsToLoad,\n appsToMount,\n } = getAppChanges();\n let appsThatChanged,\n navigationIsCanceled = false,\n oldUrl = currentUrl,\n newUrl = (currentUrl = window.location.href);\n\n if (isStarted()) {\n appChangeUnderway = true;\n appsThatChanged = appsToUnload.concat(\n appsToLoad,\n appsToUnmount,\n appsToMount\n );\n return performAppChanges();\n } else {\n appsThatChanged = appsToLoad;\n return loadApps();\n }\n\n function cancelNavigation() {\n navigationIsCanceled = true;\n }\n\n function loadApps() {\n return Promise.resolve().then(() => {\n const loadPromises = appsToLoad.map(toLoadPromise);\n\n return (\n Promise.all(loadPromises)\n .then(callAllEventListeners)\n // there are no mounted apps, before start() is called, so we always return []\n .then(() => [])\n .catch((err) => {\n callAllEventListeners();\n throw err;\n })\n );\n });\n }\n\n function performAppChanges() {\n return Promise.resolve().then(() => {\n // https://github.com/single-spa/single-spa/issues/545\n window.dispatchEvent(\n new CustomEvent(\n appsThatChanged.length === 0\n ? \"single-spa:before-no-app-change\"\n : \"single-spa:before-app-change\",\n getCustomEventDetail(true)\n )\n );\n\n window.dispatchEvent(\n new CustomEvent(\n \"single-spa:before-routing-event\",\n getCustomEventDetail(true, { cancelNavigation })\n )\n );\n\n if (navigationIsCanceled) {\n window.dispatchEvent(\n new CustomEvent(\n \"single-spa:before-mount-routing-event\",\n getCustomEventDetail(true)\n )\n );\n finishUpAndReturn();\n navigateToUrl(oldUrl);\n return;\n }\n\n const unloadPromises = appsToUnload.map(toUnloadPromise);\n\n const unmountUnloadPromises = appsToUnmount\n .map(toUnmountPromise)\n .map((unmountPromise) => unmountPromise.then(toUnloadPromise));\n\n const allUnmountPromises = unmountUnloadPromises.concat(unloadPromises);\n\n const unmountAllPromise = Promise.all(allUnmountPromises);\n\n unmountAllPromise.then(() => {\n window.dispatchEvent(\n new CustomEvent(\n \"single-spa:before-mount-routing-event\",\n getCustomEventDetail(true)\n )\n );\n });\n\n /* We load and bootstrap apps while other apps are unmounting, but we\n * wait to mount the app until all apps are finishing unmounting\n */\n const loadThenMountPromises = appsToLoad.map((app) => {\n return toLoadPromise(app).then((app) =>\n tryToBootstrapAndMount(app, unmountAllPromise)\n );\n });\n\n /* These are the apps that are already bootstrapped and just need\n * to be mounted. They each wait for all unmounting apps to finish up\n * before they mount.\n */\n const mountPromises = appsToMount\n .filter((appToMount) => appsToLoad.indexOf(appToMount) < 0)\n .map((appToMount) => {\n return tryToBootstrapAndMount(appToMount, unmountAllPromise);\n });\n return unmountAllPromise\n .catch((err) => {\n callAllEventListeners();\n throw err;\n })\n .then(() => {\n /* Now that the apps that needed to be unmounted are unmounted, their DOM navigation\n * events (like hashchange or popstate) should have been cleaned up. So it's safe\n * to let the remaining captured event listeners to handle about the DOM event.\n */\n callAllEventListeners();\n\n return Promise.all(loadThenMountPromises.concat(mountPromises))\n .catch((err) => {\n pendingPromises.forEach((promise) => promise.reject(err));\n throw err;\n })\n .then(finishUpAndReturn);\n });\n });\n }\n\n function finishUpAndReturn() {\n const returnValue = getMountedApps();\n pendingPromises.forEach((promise) => promise.resolve(returnValue));\n\n try {\n const appChangeEventName =\n appsThatChanged.length === 0\n ? \"single-spa:no-app-change\"\n : \"single-spa:app-change\";\n window.dispatchEvent(\n new CustomEvent(appChangeEventName, getCustomEventDetail())\n );\n window.dispatchEvent(\n new CustomEvent(\"single-spa:routing-event\", getCustomEventDetail())\n );\n } catch (err) {\n /* We use a setTimeout because if someone else's event handler throws an error, single-spa\n * needs to carry on. If a listener to the event throws an error, it's their own fault, not\n * single-spa's.\n */\n setTimeout(() => {\n throw err;\n });\n }\n\n /* Setting this allows for subsequent calls to reroute() to actually perform\n * a reroute instead of just getting queued behind the current reroute call.\n * We want to do this after the mounting/unmounting is done but before we\n * resolve the promise for the `reroute` function.\n */\n appChangeUnderway = false;\n\n if (peopleWaitingOnAppChange.length > 0) {\n /* While we were rerouting, someone else triggered another reroute that got queued.\n * So we need reroute again.\n */\n const nextPendingPromises = peopleWaitingOnAppChange;\n peopleWaitingOnAppChange = [];\n reroute(nextPendingPromises);\n }\n\n return returnValue;\n }\n\n /* We need to call all event listeners that have been delayed because they were\n * waiting on single-spa. This includes haschange and popstate events for both\n * the current run of performAppChanges(), but also all of the queued event listeners.\n * We want to call the listeners in the same order as if they had not been delayed by\n * single-spa, which means queued ones first and then the most recent one.\n */\n function callAllEventListeners() {\n pendingPromises.forEach((pendingPromise) => {\n callCapturedEventListeners(pendingPromise.eventArguments);\n });\n\n callCapturedEventListeners(eventArguments);\n }\n\n function getCustomEventDetail(isBeforeChanges = false, extraProperties) {\n const newAppStatuses = {};\n const appsByNewStatus = {\n // for apps that were mounted\n [MOUNTED]: [],\n // for apps that were unmounted\n [NOT_MOUNTED]: [],\n // apps that were forcibly unloaded\n [NOT_LOADED]: [],\n // apps that attempted to do something but are broken now\n [SKIP_BECAUSE_BROKEN]: [],\n };\n\n if (isBeforeChanges) {\n appsToLoad.concat(appsToMount).forEach((app, index) => {\n addApp(app, MOUNTED);\n });\n appsToUnload.forEach((app) => {\n addApp(app, NOT_LOADED);\n });\n appsToUnmount.forEach((app) => {\n addApp(app, NOT_MOUNTED);\n });\n } else {\n appsThatChanged.forEach((app) => {\n addApp(app);\n });\n }\n\n const result = {\n detail: {\n newAppStatuses,\n appsByNewStatus,\n totalAppChanges: appsThatChanged.length,\n originalEvent: eventArguments?.[0],\n oldUrl,\n newUrl,\n navigationIsCanceled,\n },\n };\n\n if (extraProperties) {\n assign(result.detail, extraProperties);\n }\n\n return result;\n\n function addApp(app, status) {\n const appName = toName(app);\n status = status || getAppStatus(appName);\n newAppStatuses[appName] = status;\n const statusArr = (appsByNewStatus[status] =\n appsByNewStatus[status] || []);\n statusArr.push(appName);\n }\n }\n}\n\n/**\n * Let's imagine that some kind of delay occurred during application loading.\n * The user without waiting for the application to load switched to another route,\n * this means that we shouldn't bootstrap and mount that application, thus we check\n * twice if that application should be active before bootstrapping and mounting.\n * https://github.com/single-spa/single-spa/issues/524\n */\nfunction tryToBootstrapAndMount(app, unmountAllPromise) {\n if (shouldBeActive(app)) {\n return toBootstrapPromise(app).then((app) =>\n unmountAllPromise.then(() =>\n shouldBeActive(app) ? toMountPromise(app) : app\n )\n );\n } else {\n return unmountAllPromise.then(() => app);\n }\n}\n","import { reroute } from \"./navigation/reroute.js\";\nimport { formatErrorMessage } from \"./applications/app-errors.js\";\nimport { setUrlRerouteOnly } from \"./navigation/navigation-events.js\";\nimport { isInBrowser } from \"./utils/runtime-environment.js\";\n\nlet started = false;\n\nexport function start(opts) {\n started = true;\n if (opts && opts.urlRerouteOnly) {\n setUrlRerouteOnly(opts.urlRerouteOnly);\n }\n if (isInBrowser) {\n reroute();\n }\n}\n\nexport function isStarted() {\n return started;\n}\n\nif (isInBrowser) {\n setTimeout(() => {\n if (!started) {\n console.warn(\n formatErrorMessage(\n 1,\n __DEV__ &&\n `singleSpa.start() has not been called, 5000ms after single-spa was loaded. Before start() is called, apps can be declared and loaded, but not bootstrapped or mounted.`\n )\n );\n }\n }, 5000);\n}\n","import { getRawAppData, unregisterApplication } from \"../applications/apps\";\nimport { reroute } from \"../navigation/reroute\";\nimport { NOT_LOADED } from \"../applications/app.helpers\";\nimport { toLoadPromise } from \"../lifecycles/load\";\nimport { toBootstrapPromise } from \"../lifecycles/bootstrap\";\n\nexport default {\n getRawAppData,\n reroute,\n NOT_LOADED,\n toLoadPromise,\n toBootstrapPromise,\n unregisterApplication,\n};\n","export { start } from \"./start.js\";\nexport { ensureJQuerySupport } from \"./jquery-support.js\";\nexport {\n setBootstrapMaxTime,\n setMountMaxTime,\n setUnmountMaxTime,\n setUnloadMaxTime,\n} from \"./applications/timeouts.js\";\nexport {\n registerApplication,\n unregisterApplication,\n getMountedApps,\n getAppStatus,\n unloadApplication,\n checkActivityFunctions,\n getAppNames,\n pathToActiveWhen,\n} from \"./applications/apps.js\";\nexport { navigateToUrl } from \"./navigation/navigation-events.js\";\nexport { triggerAppChange } from \"./navigation/reroute.js\";\nexport {\n addErrorHandler,\n removeErrorHandler,\n} from \"./applications/app-errors.js\";\nexport { mountRootParcel } from \"./parcels/mount-parcel.js\";\n\nexport {\n NOT_LOADED,\n LOADING_SOURCE_CODE,\n NOT_BOOTSTRAPPED,\n BOOTSTRAPPING,\n NOT_MOUNTED,\n MOUNTING,\n UPDATING,\n LOAD_ERROR,\n MOUNTED,\n UNMOUNTING,\n SKIP_BECAUSE_BROKEN,\n} from \"./applications/app.helpers.js\";\n\nimport devtools from \"./devtools/devtools\";\nimport { isInBrowser } from \"./utils/runtime-environment.js\";\n\nif (isInBrowser && window.__SINGLE_SPA_DEVTOOLS__) {\n window.__SINGLE_SPA_DEVTOOLS__.exposedMethods = devtools;\n}\n","import { generateLegacyURL, generateNewURL } from \"@maas-ui/maas-ui-shared\";\nimport {\n addErrorHandler,\n getAppStatus,\n registerApplication,\n setBootstrapMaxTime,\n setMountMaxTime,\n start,\n} from \"single-spa\";\nimport packageJson from \"../../ui/package.json\";\n\nimport \"./scss/base.scss\";\n\nconst showElement = (className, show) => {\n const element = document.querySelector(className);\n if (show && element.classList.contains(\"u-hide\")) {\n element.classList.remove(\"u-hide\");\n } else if (!show && !element.classList.contains(\"u-hide\")) {\n element.classList.add(\"u-hide\");\n }\n};\n\nconst showRoot = (show) => {\n showElement(\".root\", show);\n};\n\nconst showLoading = (show) => {\n showRoot(show);\n showElement(\".root-loading\", show);\n};\n\nconst showError = (show) => {\n showLoading(false);\n showRoot(show);\n showElement(\".root-error\", show);\n};\n\nconsole.info(\n `${packageJson.name} ${packageJson.version} (${process.env.GIT_SHA}).`\n);\n\nwindow.addEventListener(\"single-spa:before-app-change\", (evt) => {\n const { legacy, ui } = evt.detail.newAppStatuses;\n const uiStylesheet = document.querySelector(\".ui-stylesheet\");\n const legacyStylesheet = document.querySelector(\".legacy-stylesheet\");\n if (uiStylesheet) {\n if (ui === \"MOUNTED\") {\n uiStylesheet.disabled = false;\n } else if (ui === \"NOT_MOUNTED\") {\n uiStylesheet.disabled = true;\n }\n }\n if (legacyStylesheet) {\n if (legacy === \"MOUNTED\") {\n legacyStylesheet.disabled = false;\n } else if (legacy === \"NOT_MOUNTED\") {\n legacyStylesheet.disabled = true;\n }\n }\n});\n\nwindow.addEventListener(\"single-spa:app-change\", (evt) => {\n if (evt.detail.appsByNewStatus.MOUNTED.length > 0) {\n showLoading(false);\n showError(false);\n }\n});\n\n// Don't display an error or warning about slow bootstrap/mount unless it takes\n// more than 30 seconds.\nsetBootstrapMaxTime(30000, false, 30000);\nsetMountMaxTime(30000, false, 30000);\n\naddErrorHandler((err) => {\n showError(true);\n console.error(\n \"App\",\n err.appOrParcelName,\n \"failed with status:\",\n getAppStatus(err.appOrParcelName)\n );\n console.error(err);\n});\n\nregisterApplication({\n name: \"legacy\",\n app: () => {\n showLoading(true);\n return import(\"@maas-ui/maas-ui-legacy\");\n },\n activeWhen: (location) =>\n location.pathname.startsWith(generateLegacyURL()) ||\n location.hash.startsWith(\"#\"),\n});\n\nregisterApplication({\n name: \"ui\",\n app: () => {\n showLoading(true);\n return import(\"@maas-ui/maas-ui\");\n },\n activeWhen: (location) =>\n location.pathname.startsWith(generateNewURL()) &&\n !location.hash.startsWith(\"#\"),\n});\n\nstart();\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Footer = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../../utils\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar Footer = function Footer(_ref) {\n var debug = _ref.debug,\n enableAnalytics = _ref.enableAnalytics,\n version = _ref.version;\n (0, _react.useEffect)(function () {\n if (!debug && enableAnalytics && version) {\n // Inject the the Usabilla script.\n // prettier-ignore\n // @ts-ignore\n // eslint-disable-next-line\n window.lightningjs || function (c) {\n function g(b, d) {\n d && (d += (/\\?/.test(d) ? \"&\" : \"?\") + \"lv=1\");\n c[b] || function () {\n var i = window,\n h = document,\n j = b,\n g = h.location.protocol,\n l = \"load\",\n k = 0;\n\n (function () {\n function b() {\n a.P(l);\n a.w = 1;\n c[j](\"_load\");\n }\n\n c[j] = function () {\n function m() {\n m.id = e;\n return c[j].apply(m, arguments);\n }\n\n var b,\n e = ++k;\n b = this && this != i ? this.id || 0 : 0;\n (a.s = a.s || []).push([e, b, arguments]);\n\n m.then = function (b, c, h) {\n var d = a.fh[e] = a.fh[e] || [],\n j = a.eh[e] = a.eh[e] || [],\n f = a.ph[e] = a.ph[e] || [];\n b && d.push(b);\n c && j.push(c);\n h && f.push(h);\n return m;\n };\n\n return m;\n };\n\n var a = c[j]._ = {};\n a.fh = {};\n a.eh = {};\n a.ph = {};\n a.l = d ? d.replace(/^\\/\\//, (g == \"https:\" ? g : \"http:\") + \"//\") : d;\n a.p = {\n 0: +new Date()\n };\n\n a.P = function (b) {\n a.p[b] = new Date() - a.p[0];\n };\n\n a.w && b();\n i.addEventListener ? i.addEventListener(l, b, !1) : i.attachEvent(\"on\" + l, b);\n\n var q = function q() {\n function b() {\n return [\"<\", c, ' onload=\"var d=', n, \";d.getElementsByTagName('head')[0].\", d, \"(d.\", g, \"('script')).\", i, \"='\", a.l, \"'\\\">\"].join(\"\");\n }\n\n var c = \"body\",\n e = h[c];\n if (!e) return setTimeout(q, 100);\n a.P(1);\n var d = \"appendChild\",\n g = \"createElement\",\n i = \"src\",\n k = h[g](\"div\"),\n l = k[d](h[g](\"div\")),\n f = h[g](\"iframe\"),\n n = \"document\",\n p;\n k.style.display = \"none\";\n e.insertBefore(k, e.firstChild).id = o + \"-\" + j;\n f.frameBorder = \"0\";\n f.id = o + \"-frame-\" + j;\n /MSIE[ ]+6/.test(navigator.userAgent) && (f[i] = \"javascript:false\");\n f.allowTransparency = \"true\";\n l[d](f);\n\n try {\n f.contentWindow[n].open();\n } catch (s) {\n a.domain = h.domain, p = \"javascript:var d=\" + n + \".open();d.domain='\" + h.domain + \"';\", f[i] = p + \"void(0);\";\n }\n\n try {\n var r = f.contentWindow[n];\n r.write(b());\n r.close();\n } catch (t) {\n f[i] = p + 'd.write(\"' + b().replace(/\"/g, String.fromCharCode(92) + '\"') + '\");d.close();';\n }\n\n a.P(2);\n };\n\n a.l && setTimeout(q, 0);\n })();\n }();\n c[b].lv = \"1\";\n return c[b];\n }\n\n var o = \"lightningjs\",\n k = window[o] = g(o);\n k.require = g;\n k.modules = c;\n }({});\n window.usabilla_live = window.lightningjs.require(\"usabilla_live\", \"//w.usabilla.com/d296ba4422d2.js\"); // prettier-ignore\n // Hide Usabilla default button\n\n window.usabilla_live(\"hide\"); // Add MAAS version to the custom data\n\n window.usabilla_live(\"data\", {\n custom: {\n \"MAAS version\": version\n }\n });\n }\n }, [debug, enableAnalytics, version]);\n return /*#__PURE__*/_react[\"default\"].createElement(\"footer\", {\n className: \"p-strip--light is-shallow p-footer\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"row\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"col-10 p-footer__nav\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n className: \"p-inline-list--middot\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n className: \"p-inline-list__item\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n href: \"\".concat(_utils.BASENAME, \"/docs/\"),\n className: \"p-footer__link\"\n }, \"Local documentation\")), /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n className: \"p-inline-list__item\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n href: \"https://www.ubuntu.com/legal\",\n className: \"p-footer__link\"\n }, \"Legal information\")), !debug && enableAnalytics ? /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n className: \"p-inline-list__item\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n href: \"\",\n onClick: function onClick(e) {\n e.preventDefault();\n window.usabilla_live(\"click\");\n }\n }, \"Give feedback\")) : null), /*#__PURE__*/_react[\"default\"].createElement(\"p\", {\n className: \"u-remove-max-width\"\n }, \"\\xA9 \", new Date().getFullYear(), \" Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.\")), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"col-2\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"svg\", {\n className: \"p-footer__logo u-float--right\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-0.835 -0.92 761 101\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"path\", {\n fill: \"#772953\",\n d: \"M44.674 99.213c-6.67 0-12.744-1.096-18.226-3.288-5.481-2.193-10.188-5.413-14.114-9.661-3.93-4.248-6.968-9.432-9.113-15.554C1.073 64.591 0 57.555 0 49.606c0-7.948 1.187-15.005 3.563-21.172 2.374-6.166 5.618-11.35 9.729-15.553 4.111-4.201 8.86-7.4 14.252-9.594C32.934 1.097 38.645 0 44.674 0c4.111 0 7.788.273 11.031.822 3.242.548 6.051 1.188 8.428 1.918 2.374.732 4.293 1.463 5.755 2.193 1.461.732 2.467 1.279 3.016 1.644l-3.975 10.964c-.822-.549-2.01-1.142-3.562-1.782-1.555-.638-3.357-1.278-5.413-1.919-2.056-.637-4.316-1.164-6.783-1.576-2.466-.41-5.07-.616-7.811-.616-4.659 0-8.907.87-12.744 2.604-3.838 1.737-7.126 4.248-9.867 7.537-2.74 3.29-4.864 7.287-6.372 11.991-1.507 4.706-2.261 9.982-2.261 15.827 0 5.666.662 10.827 1.987 15.486 1.322 4.659 3.333 8.656 6.029 11.99 2.693 3.336 6.029 5.916 10.003 7.743 3.975 1.828 8.655 2.74 14.047 2.74 6.029 0 11.031-.639 15.005-1.919 3.975-1.278 6.965-2.419 8.976-3.426l3.426 10.963c-.64.458-1.781 1.028-3.426 1.713s-3.7 1.35-6.167 1.986c-2.466.639-5.344 1.187-8.633 1.646-3.289.456-6.852.684-10.689.684zM129.086 2.193a565.955 565.955 0 019.456 20.761 858.043 858.043 0 019.112 21.993 1249.74 1249.74 0 019.388 24.324 3288.944 3288.944 0 0110.277 27.887h-14.526a389.75 389.75 0 01-4.385-12.195 1027.33 1027.33 0 00-4.248-12.196h-43.029l-8.633 24.392H78.657a3156.414 3156.414 0 0110.277-27.887c3.197-8.54 6.325-16.649 9.388-24.324a858.043 858.043 0 019.112-21.993 567.62 567.62 0 019.455-20.761h12.197zm-6.44 15.21a353.539 353.539 0 00-9.113 21.378 768.367 768.367 0 00-8.564 23.159h35.355a1533.387 1533.387 0 00-8.702-23.091 412.74 412.74 0 00-8.976-21.446zM245.839 97.158a751.983 751.983 0 00-6.92-11.374 469.329 469.329 0 00-8.429-13.087 836.532 836.532 0 00-9.387-13.771c-3.243-4.66-6.463-9.16-9.661-13.499s-6.303-8.429-9.317-12.266-5.804-7.216-8.359-10.141v74.136h-13.018V2.193h10.551c4.294 4.568 8.884 9.889 13.772 15.964 4.886 6.076 9.729 12.333 14.525 18.773s9.318 12.768 13.566 18.98c4.248 6.214 7.833 11.74 10.758 16.581V2.193h13.018v94.964h-11.099zM453.309 97.158a760.278 760.278 0 00-6.92-11.374 473.855 473.855 0 00-8.428-13.087 849.214 849.214 0 00-9.387-13.771c-3.244-4.66-6.465-9.16-9.662-13.499s-6.303-8.429-9.318-12.266c-3.014-3.837-5.803-7.216-8.359-10.141v74.136h-13.018V2.193h10.551c4.295 4.568 8.885 9.889 13.773 15.964 4.887 6.076 9.729 12.333 14.525 18.773s9.318 12.768 13.566 18.98c4.248 6.214 7.832 11.74 10.758 16.581V2.193h13.018v94.964h-11.099zM488.525 2.193h13.293v94.964h-13.293V2.193zM566.771 99.213c-6.67 0-12.744-1.096-18.227-3.288-5.48-2.193-10.188-5.413-14.113-9.661-3.93-4.248-6.969-9.432-9.113-15.554-2.146-6.119-3.221-13.155-3.221-21.104 0-7.948 1.188-15.005 3.562-21.172 2.375-6.166 5.619-11.35 9.73-15.553 4.111-4.201 8.861-7.4 14.252-9.594C555.031 1.097 560.742 0 566.771 0c4.111 0 7.787.273 11.031.822 3.242.548 6.051 1.188 8.428 1.918 2.375.732 4.293 1.463 5.756 2.193 1.459.732 2.467 1.279 3.014 1.644l-3.973 10.964c-.822-.549-2.012-1.142-3.564-1.782-1.555-.638-3.357-1.278-5.412-1.919-2.055-.637-4.316-1.164-6.783-1.576-2.467-.41-5.07-.616-7.811-.616-4.658 0-8.908.87-12.744 2.604-3.838 1.737-7.125 4.248-9.867 7.537-2.74 3.29-4.865 7.287-6.371 11.991-1.508 4.706-2.262 9.982-2.262 15.827 0 5.666.662 10.827 1.986 15.486s3.334 8.656 6.029 11.99c2.693 3.336 6.029 5.916 10.004 7.743 3.975 1.828 8.656 2.74 14.047 2.74 6.029 0 11.031-.639 15.006-1.919 3.973-1.278 6.965-2.419 8.975-3.426l3.426 10.963c-.641.458-1.781 1.028-3.426 1.713s-3.699 1.35-6.166 1.986c-2.467.639-5.344 1.187-8.633 1.646-3.289.456-6.852.684-10.69.684zM651.184 2.193a567.66 567.66 0 019.457 20.761 858.114 858.114 0 019.111 21.993 1243.165 1243.165 0 019.389 24.324 3359.473 3359.473 0 0110.277 27.887h-14.527a392.32 392.32 0 01-4.385-12.195 1009.71 1009.71 0 00-4.248-12.196H623.23l-8.635 24.392h-13.84a3094.075 3094.075 0 0110.277-27.887c3.197-8.54 6.326-16.649 9.387-24.324a857.972 857.972 0 019.113-21.993 564.26 564.26 0 019.455-20.761h12.197zm-6.44 15.21a352.267 352.267 0 00-9.113 21.378 765.652 765.652 0 00-8.564 23.159h35.355a1533.218 1533.218 0 00-8.703-23.091 411.007 411.007 0 00-8.975-21.446zM759.988 86.058v11.1h-57.143V2.193h13.293v83.865h43.85zM322.58 81.194c-17.445 0-31.587-14.138-31.587-31.587 0-17.446 14.142-31.586 31.587-31.586 17.446 0 31.587 14.14 31.587 31.586 0 17.449-14.141 31.587-31.587 31.587z\"\n }), /*#__PURE__*/_react[\"default\"].createElement(\"path\", {\n fill: \"#772953\",\n d: \"M372.186 49.608c0 27.396-22.21 49.605-49.606 49.605-27.398 0-49.606-22.21-49.606-49.605 0-27.397 22.208-49.606 49.606-49.606 27.396-.001 49.606 22.208 49.606 49.606zm-49.607-37.54c-20.734 0-37.539 16.808-37.539 37.54 0 20.735 16.805 37.538 37.539 37.538s37.539-16.803 37.539-37.538c0-20.733-16.805-37.54-37.539-37.54z\"\n })))));\n};\n\nexports.Footer = Footer;\nFooter.propTypes = {\n debug: _propTypes[\"default\"].bool,\n enableAnalytics: _propTypes[\"default\"].bool,\n version: _propTypes[\"default\"].string.isRequired\n};\nvar _default = Footer;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Footer[\"default\"];\n }\n});\n\nvar _Footer = _interopRequireDefault(require(\"./Footer\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.HardwareMenu = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar HardwareMenu = function HardwareMenu(_ref) {\n var generateLink = _ref.generateLink,\n links = _ref.links,\n toggleHardwareMenu = _ref.toggleHardwareMenu;\n var wrapperRef = (0, _react.useRef)(null);\n var handleClickOutsideRef = (0, _react.useRef)(null);\n (0, _react.useEffect)(function () {\n if (handleClickOutsideRef.current) {\n // Clean up the previous listener.\n document.removeEventListener(\"click\", handleClickOutsideRef.current, true);\n }\n\n handleClickOutsideRef.current = function (event) {\n var _event$target;\n\n // The target might be something like an SVG node which doesn't provide\n // the class name as a string.\n var isValidTarget = typeof (event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.className) === \"string\";\n\n if (!isValidTarget || wrapperRef.current && !wrapperRef.current.contains(event.target) && !event.target.className.includes(\"hardware-menu__toggle\")) {\n toggleHardwareMenu(event);\n }\n };\n\n document.addEventListener(\"click\", handleClickOutsideRef.current, true);\n return function () {\n // Remove the listener when the component is unmounted.\n document.removeEventListener(\"click\", handleClickOutsideRef.current, true);\n };\n }, [toggleHardwareMenu]);\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n className: \"p-subnav__items\",\n ref: wrapperRef\n }, links.map(function (link) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line\n _react[\"default\"].createElement(\"li\", {\n key: link.url,\n onClick: function onClick(event) {\n toggleHardwareMenu(event, false);\n }\n }, generateLink(link, \"p-subnav__item\"))\n );\n }));\n};\n\nexports.HardwareMenu = HardwareMenu;\nHardwareMenu.propTypes = {\n generateLink: _propTypes[\"default\"].func.isRequired,\n links: _propTypes[\"default\"].array.isRequired,\n toggleHardwareMenu: _propTypes[\"default\"].func.isRequired\n};\nvar _default = HardwareMenu;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _HardwareMenu[\"default\"];\n }\n});\n\nvar _HardwareMenu = _interopRequireDefault(require(\"./HardwareMenu\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Header = void 0;\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _HardwareMenu = _interopRequireDefault(require(\"./HardwareMenu\"));\n\nvar _utils = require(\"../../utils\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar useVisible = function useVisible(initialValue) {\n var _useState = (0, _react.useState)(initialValue),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n\n var toggleValue = function toggleValue(evt) {\n var preventDefault = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (preventDefault) {\n evt.preventDefault();\n }\n\n setValue(!value);\n };\n\n return [value, toggleValue];\n};\n\nvar generateURL = function generateURL(url, isLegacy, appendNewBase) {\n if (isLegacy) {\n return (0, _utils.generateLegacyURL)(url);\n } else if (appendNewBase) {\n return (0, _utils.generateNewURL)(url, appendNewBase);\n }\n\n return url;\n};\n\nvar isSelected = function isSelected(path, link, appendNewBase) {\n // Use the provided highlight(s) or just use the url.\n var highlights = link.highlight || link.url; // If the provided highlights aren't an array then make them one so that we\n // can loop over them.\n\n if (!Array.isArray(highlights)) {\n highlights = [highlights];\n } // Check if one of the highlight urls matches the current path.\n\n\n return highlights.some(function (start) {\n return (// Check the full path, for both legacy/new clients as sometimes the lists\n // are in one client and the details in the other.\n path.startsWith(generateURL(start, true, appendNewBase)) || path.startsWith(generateURL(start, false, appendNewBase))\n );\n });\n};\n\nvar Header = function Header(_ref) {\n var _ref$appendNewBase = _ref.appendNewBase,\n appendNewBase = _ref$appendNewBase === void 0 ? true : _ref$appendNewBase,\n authUser = _ref.authUser,\n completedIntro = _ref.completedIntro,\n debug = _ref.debug,\n enableAnalytics = _ref.enableAnalytics,\n generateLegacyLink = _ref.generateLegacyLink,\n generateNewLink = _ref.generateNewLink,\n location = _ref.location,\n logout = _ref.logout,\n onSkip = _ref.onSkip,\n rootScope = _ref.rootScope,\n urlChange = _ref.urlChange,\n uuid = _ref.uuid,\n version = _ref.version;\n\n var _useVisible = useVisible(false),\n _useVisible2 = _slicedToArray(_useVisible, 2),\n hardwareMenuOpen = _useVisible2[0],\n toggleHardwareMenu = _useVisible2[1];\n\n var _useVisible3 = useVisible(false),\n _useVisible4 = _slicedToArray(_useVisible3, 2),\n mobileMenuOpen = _useVisible4[0],\n toggleMobileMenu = _useVisible4[1];\n\n (0, _react.useEffect)(function () {\n var unlisten;\n\n if (!debug && enableAnalytics && uuid && version && authUser) {\n (function (w, d, s, l, i) {\n w[l] = w[l] || [];\n w[l].push({\n \"gtm.start\": new Date().getTime(),\n event: \"gtm.js\"\n });\n var f = d.getElementsByTagName(s)[0],\n j = d.createElement(s),\n dl = l !== \"dataLayer\" ? \"&l=\" + l : \"\"; // @ts-ignore\n\n j.async = true;\n var src = \"https://www.googletagmanager.com/gtm.js?id=\" + i + dl; // @ts-ignore\n\n j.src = src;\n\n if (document.querySelectorAll(\"script[src=\\\"\".concat(src, \"\\\"]\")).length === 0) {\n f.parentNode.insertBefore(j, f);\n }\n })(window, document, \"script\", \"dataLayer\", \"GTM-P4TGJR9\"); // @ts-ignore\n\n\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n return window.ga;\n };\n\n window.ga.l = +new Date();\n window.ga(\"create\", \"UA-1018242-63\", \"auto\", {\n userId: \"\".concat(uuid, \"-\").concat(authUser.id)\n });\n window.ga(\"set\", \"dimension1\", version);\n window.ga(\"set\", \"dimension2\", uuid);\n\n var sendPageview = function sendPageview() {\n var path = window.location.pathname + window.location.search;\n window.ga(\"send\", \"pageview\", path);\n };\n\n if (rootScope) {\n rootScope.$on(\"$routeChangeSuccess\", sendPageview);\n } else if (urlChange) {\n unlisten = urlChange(sendPageview);\n }\n }\n\n return function () {\n unlisten && unlisten();\n };\n }, [debug, enableAnalytics, uuid, version, authUser, rootScope, urlChange]);\n var links = [{\n highlight: [\"/machine\", \"/pool\"],\n inHardwareMenu: true,\n label: \"Machines\",\n url: \"/machines\"\n }, {\n highlight: \"/device\",\n inHardwareMenu: true,\n isLegacy: true,\n label: \"Devices\",\n url: \"/devices\"\n }, {\n adminOnly: true,\n highlight: \"/controller\",\n inHardwareMenu: true,\n isLegacy: true,\n label: \"Controllers\",\n url: \"/controllers\"\n }, {\n inHardwareMenu: true,\n label: \"KVM\",\n url: \"/kvm\"\n }, {\n isLegacy: true,\n label: \"Images\",\n url: \"/images\"\n }, {\n highlight: \"/domain\",\n isLegacy: true,\n label: \"DNS\",\n url: \"/domains\"\n }, {\n highlight: \"/zone\",\n isLegacy: true,\n label: \"AZs\",\n url: \"/zones\"\n }, {\n highlight: [\"/networks\", \"/subnet\", \"/space\", \"/fabric\", \"/vlan\"],\n isLegacy: true,\n label: \"Subnets\",\n url: \"/networks?by=fabric\"\n }, {\n adminOnly: true,\n label: \"Settings\",\n url: \"/settings\"\n }] // Remove the admin only items if the user is not an admin.\n .filter(function (_ref2) {\n var adminOnly = _ref2.adminOnly;\n return !adminOnly || authUser && authUser.is_superuser;\n });\n\n var generateLink = function generateLink(link) {\n var linkClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n return link.isLegacy ? generateLegacyLink(link, linkClass, appendNewBase) : generateNewLink(link, linkClass, appendNewBase);\n };\n\n var generateNavItems = function generateNavItems(links) {\n var hardwareLinks = links.filter(function (link) {\n return link.inHardwareMenu;\n });\n var path = location.pathname + location.search;\n var linkItems = links.map(function (link) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n className: (0, _classnames[\"default\"])(\"p-navigation__link\", {\n \"is-selected\": isSelected(path, link, appendNewBase),\n \"u-hide--hardware-menu-threshold\": link.inHardwareMenu\n }),\n key: link.url,\n role: \"menuitem\"\n }, generateLink(link));\n });\n return /*#__PURE__*/_react[\"default\"].createElement(\"nav\", {\n className: (0, _classnames[\"default\"])(\"p-navigation__nav\", {\n \"u-show\": mobileMenuOpen\n })\n }, /*#__PURE__*/_react[\"default\"].createElement(\"span\", {\n className: \"u-off-screen\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n href: \"#main-content\"\n }, \"Jump to main content\")), /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n className: \"p-navigation__links\",\n role: \"menu\"\n }, completedIntro && /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].Fragment, null, /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n className: (0, _classnames[\"default\"])(\"p-navigation__link p-subnav is-dark hardware-menu\", {\n \"is-active\": hardwareMenuOpen\n }),\n role: \"menuitem\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n onClick: toggleHardwareMenu,\n className: \"hardware-menu__toggle\"\n }, \"Hardware\"), hardwareMenuOpen && /*#__PURE__*/_react[\"default\"].createElement(_HardwareMenu[\"default\"], {\n generateLink: generateLink,\n links: hardwareLinks,\n toggleHardwareMenu: toggleHardwareMenu\n })), linkItems)), /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n className: \"p-navigation__links\",\n role: \"menu\"\n }, !completedIntro && /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n className: \"p-navigation__link\",\n role: \"menuitem\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n onClick: function onClick(evt) {\n evt.preventDefault();\n onSkip();\n },\n \"data-test\": \"skipIntro\"\n }, \"Skip\")), /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n className: (0, _classnames[\"default\"])(\"p-navigation__link\", {\n \"is-selected\": location.pathname.startsWith(generateURL(\"/account/prefs\", false, appendNewBase))\n }),\n role: \"menuitem\"\n }, authUser && generateLink({\n url: \"/account/prefs\",\n label: authUser.username\n })), /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n className: \"p-navigation__link\",\n role: \"menuitem\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n onClick: function onClick(evt) {\n evt.preventDefault();\n localStorage.removeItem(\"maas-config\");\n logout();\n }\n }, \"Log out\"))));\n };\n\n return /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].Fragment, null, /*#__PURE__*/_react[\"default\"].createElement(\"header\", {\n id: \"navigation\",\n className: \"p-navigation is-dark\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"p-navigation__row row\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"p-navigation__banner\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"p-navigation__logo\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n href: (0, _utils.generateLegacyURL)(\"/dashboard\"),\n className: \"p-navigation__link\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"100\",\n height: \"25.2\",\n viewBox: \"545.3 412.6 100 25.2\",\n className: \"p-navigation__image\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"title\", null, \"MAAS logo\"), /*#__PURE__*/_react[\"default\"].createElement(\"path\", {\n fill: \"#E95420\",\n d: \"M557.9 412.6c-7 0-12.6 5.7-12.6 12.6 0 7 5.7 12.6 12.6 12.6 7 0 12.6-5.7 12.6-12.6 0-7-5.6-12.6-12.6-12.6z\"\n }), /*#__PURE__*/_react[\"default\"].createElement(\"g\", {\n fill: \"#FFF\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"path\", {\n d: \"M563.8 419.2h-11.9c-.3 0-.5.2-.5.5v.7c0 .3.2.5.5.5h11.9c.3 0 .5-.2.5-.5v-.7c.1-.3-.2-.5-.5-.5zM563.8 422.6h-11.9c-.3 0-.5.2-.5.5v.7c0 .3.2.5.5.5h11.9c.3 0 .5-.2.5-.5v-.7c.1-.3-.2-.5-.5-.5zM563.8 426h-11.9c-.3 0-.5.2-.5.5v.7c0 .3.2.5.5.5h11.9c.3 0 .5-.2.5-.5v-.7c.1-.2-.2-.5-.5-.5zM563.8 429.4h-11.9c-.3 0-.5.2-.5.5v.7c0 .3.2.5.5.5h11.9c.3 0 .5-.2.5-.5v-.6c.1-.3-.2-.6-.5-.6z\"\n })), /*#__PURE__*/_react[\"default\"].createElement(\"g\", {\n fill: \"#FFF\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"path\", {\n d: \"M587.1 431.3c-.2-.4-.4-1-.7-1.7-.3-.7-.7-1.5-1.1-2.3-.4-.8-.8-1.7-1.2-2.5-.4-.9-.8-1.7-1.2-2.5l-1-2-.6-1.2c-.2 2.1-.4 4.4-.5 6.9-.1 2.5-.2 5.1-.3 7.8h-1.7c.2-3.2.3-6.3.5-9.2s.4-5.8.7-8.4h1.5c.5.9 1.1 1.8 1.6 2.9.6 1.1 1.2 2.3 1.7 3.5.6 1.2 1.1 2.4 1.7 3.5s1 2.2 1.4 3.1c.4-.9.9-2 1.4-3.1.5-1.2 1.1-2.3 1.7-3.5.6-1.2 1.1-2.4 1.7-3.5.6-1.1 1.1-2.1 1.6-2.9h1.5c.3 2.7.5 5.5.7 8.4s.4 6 .5 9.2h-1.8c-.1-2.7-.2-5.3-.3-7.8-.1-2.5-.3-4.8-.5-6.9l-.6 1.2-1 2c-.4.8-.8 1.6-1.2 2.5-.4.9-.8 1.7-1.2 2.5-.4.8-.7 1.6-1.1 2.3-.3.7-.6 1.3-.7 1.7h-1.5zM613.1 433.9c-.3-.9-.6-1.7-.9-2.5-.3-.8-.6-1.6-.8-2.3h-8.6c-.3.8-.6 1.5-.9 2.3-.3.8-.6 1.6-.9 2.5h-1.8c.7-1.8 1.3-3.6 1.9-5.1.6-1.6 1.2-3.1 1.8-4.5.6-1.4 1.1-2.8 1.7-4.1l1.8-3.9h1.5l1.8 3.9c.6 1.3 1.1 2.7 1.7 4.1.6 1.4 1.2 2.9 1.7 4.5.6 1.6 1.2 3.3 1.9 5.1h-1.9zm-6-15.7c-.6 1.5-1.3 3-1.9 4.5-.6 1.5-1.2 3.1-1.9 4.9h7.5c-.7-1.8-1.3-3.4-1.9-4.9-.6-1.6-1.2-3.1-1.8-4.5zM630.4 433.9c-.3-.9-.6-1.7-.9-2.5-.3-.8-.6-1.6-.8-2.3H620c-.3.8-.6 1.5-.9 2.3-.3.8-.6 1.6-.9 2.5h-1.8c.7-1.8 1.3-3.6 1.9-5.1.6-1.6 1.2-3.1 1.8-4.5.6-1.4 1.1-2.8 1.7-4.1l1.8-3.9h1.5l1.8 3.9c.6 1.3 1.1 2.7 1.7 4.1s1.2 2.9 1.7 4.5c.6 1.6 1.2 3.3 1.9 5.1h-1.8zm-6.1-15.7c-.6 1.5-1.3 3-1.9 4.5-.6 1.5-1.2 3.1-1.9 4.9h7.5c-.7-1.8-1.3-3.4-1.9-4.9-.5-1.6-1.1-3.1-1.8-4.5zM639.1 432.7c1.4 0 2.4-.3 3.2-.8.8-.5 1.1-1.3 1.1-2.4 0-.6-.1-1.2-.4-1.6-.2-.4-.6-.8-1-1.1s-.9-.6-1.4-.8c-.5-.2-1.1-.4-1.7-.7-.7-.3-1.4-.6-2-.9-.6-.3-1.1-.6-1.5-1-.4-.4-.7-.8-.9-1.3-.2-.5-.3-1.1-.3-1.7 0-1.5.5-2.7 1.5-3.4s2.4-1.2 4.2-1.2c.5 0 .9 0 1.4.1s.9.2 1.3.3c.4.1.8.2 1.1.4.3.1.6.3.8.4l-.6 1.5c-.5-.3-1.1-.6-1.8-.8s-1.5-.3-2.3-.3c-.6 0-1.1.1-1.5.2-.5.1-.9.3-1.2.5s-.6.6-.8.9c-.2.4-.3.8-.3 1.4 0 .5.1 1 .3 1.4.2.4.5.7.9 1 .4.3.8.5 1.3.7.5.2 1 .5 1.6.7.7.3 1.4.6 2 .9.6.3 1.2.6 1.6 1 .5.4.8.9 1.1 1.4.3.6.4 1.2.4 2.1 0 1.6-.6 2.8-1.7 3.6s-2.6 1.2-4.5 1.2c-.7 0-1.3 0-1.9-.1s-1.1-.2-1.5-.3c-.4-.1-.8-.3-1.1-.4-.3-.1-.5-.3-.7-.4l.6-1.5c.2.1.4.2.7.4.3.1.6.3 1 .4.4.1.8.2 1.3.3.6-.1 1.1-.1 1.7-.1z\"\n }))))), /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n className: \"p-navigation__toggle--open\",\n title: \"Toggle menu\",\n onClick: toggleMobileMenu\n }, mobileMenuOpen ? \"Close menu\" : \"Menu\")), authUser && generateNavItems(links))));\n};\n\nexports.Header = Header;\nHeader.propTypes = {\n appendNewBase: _propTypes[\"default\"].bool,\n authUser: _propTypes[\"default\"].shape({\n id: _propTypes[\"default\"].number,\n is_superuser: _propTypes[\"default\"].bool,\n username: _propTypes[\"default\"].string\n }),\n completedIntro: _propTypes[\"default\"].bool,\n debug: _propTypes[\"default\"].bool,\n enableAnalytics: _propTypes[\"default\"].bool,\n generateLegacyLink: _propTypes[\"default\"].func.isRequired,\n generateNewLink: _propTypes[\"default\"].func.isRequired,\n location: _propTypes[\"default\"].shape({\n search: _propTypes[\"default\"].string,\n pathname: _propTypes[\"default\"].string.isRequired\n }).isRequired,\n logout: _propTypes[\"default\"].func.isRequired,\n onSkip: _propTypes[\"default\"].func,\n rootScope: _propTypes[\"default\"].object,\n showRSD: _propTypes[\"default\"].bool,\n urlChange: _propTypes[\"default\"].func,\n uuid: _propTypes[\"default\"].string,\n version: _propTypes[\"default\"].string\n};\nvar _default = Header;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Header[\"default\"];\n }\n});\n\nvar _Header = _interopRequireDefault(require(\"./Header\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.StatusBar = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar StatusBar = function StatusBar(_ref) {\n var maasName = _ref.maasName,\n status = _ref.status,\n version = _ref.version;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"p-status-bar\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"row\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"col-6\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"strong\", {\n \"data-test\": \"status-bar-maas-name\"\n }, maasName, \" MAAS\"), \":\", \" \", /*#__PURE__*/_react[\"default\"].createElement(\"span\", {\n \"data-test\": \"status-bar-version\"\n }, version)), status && /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"col-6 u-align--right\",\n \"data-test\": \"status-bar-status\"\n }, status)));\n};\n\nexports.StatusBar = StatusBar;\nStatusBar.propTypes = {\n maasName: _propTypes[\"default\"].string.isRequired,\n status: _propTypes[\"default\"].node,\n version: _propTypes[\"default\"].string.isRequired\n};\nvar _default = StatusBar;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _StatusBar[\"default\"];\n }\n});\n\nvar _StatusBar = _interopRequireDefault(require(\"./StatusBar\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Header\", {\n enumerable: true,\n get: function get() {\n return _Header[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Footer\", {\n enumerable: true,\n get: function get() {\n return _Footer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"StatusBar\", {\n enumerable: true,\n get: function get() {\n return _StatusBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"BASENAME\", {\n enumerable: true,\n get: function get() {\n return _utils.BASENAME;\n }\n});\nObject.defineProperty(exports, \"extractPowerType\", {\n enumerable: true,\n get: function get() {\n return _utils.extractPowerType;\n }\n});\nObject.defineProperty(exports, \"generateBaseURL\", {\n enumerable: true,\n get: function get() {\n return _utils.generateBaseURL;\n }\n});\nObject.defineProperty(exports, \"generateLegacyURL\", {\n enumerable: true,\n get: function get() {\n return _utils.generateLegacyURL;\n }\n});\nObject.defineProperty(exports, \"generateNewURL\", {\n enumerable: true,\n get: function get() {\n return _utils.generateNewURL;\n }\n});\nObject.defineProperty(exports, \"LEGACY_BASENAME\", {\n enumerable: true,\n get: function get() {\n return _utils.LEGACY_BASENAME;\n }\n});\nObject.defineProperty(exports, \"navigateToLegacy\", {\n enumerable: true,\n get: function get() {\n return _utils.navigateToLegacy;\n }\n});\nObject.defineProperty(exports, \"navigateToNew\", {\n enumerable: true,\n get: function get() {\n return _utils.navigateToNew;\n }\n});\nObject.defineProperty(exports, \"REACT_BASENAME\", {\n enumerable: true,\n get: function get() {\n return _utils.REACT_BASENAME;\n }\n});\n\nvar _Header = _interopRequireDefault(require(\"./components/Header\"));\n\nvar _Footer = _interopRequireDefault(require(\"./components/Footer\"));\n\nvar _StatusBar = _interopRequireDefault(require(\"./components/StatusBar\"));\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.extractPowerType = exports.navigateToNew = exports.navigateToLegacy = exports.generateBaseURL = exports.generateNewURL = exports.generateLegacyURL = exports.REACT_BASENAME = exports.LEGACY_BASENAME = exports.BASENAME = void 0;\nvar BASENAME = process && process.env && process.env.BASENAME || \"/MAAS\";\nexports.BASENAME = BASENAME;\nvar LEGACY_BASENAME = process && process.env && process.env.LEGACY_BASENAME || \"/l\";\nexports.LEGACY_BASENAME = LEGACY_BASENAME;\nvar REACT_BASENAME = process && process.env && process.env.REACT_BASENAME || \"/r\";\nexports.REACT_BASENAME = REACT_BASENAME;\n\nvar generateLegacyURL = function generateLegacyURL(route) {\n return \"\".concat(BASENAME).concat(LEGACY_BASENAME).concat(route || \"\");\n};\n\nexports.generateLegacyURL = generateLegacyURL;\n\nvar generateNewURL = function generateNewURL(route) {\n var appendBase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return \"\".concat(appendBase ? BASENAME : \"\").concat(REACT_BASENAME).concat(route || \"\");\n};\n\nexports.generateNewURL = generateNewURL;\n\nvar generateBaseURL = function generateBaseURL(route) {\n return \"\".concat(BASENAME).concat(route || \"\");\n};\n\nexports.generateBaseURL = generateBaseURL;\n\nvar pushRoute = function pushRoute(route) {\n return window.history.pushState(null, null, route);\n};\n\nvar navigate = function navigate(route, evt) {\n if (evt) {\n // Handle ctrl/command/middle clicking etc. the links to open in a new tab.\n // Inspired by how this is handled in react-router:\n // https://github.com/ReactTraining/react-router/blob/f466c8c4156b6fcdb6baf4fcc723758f7eceeb4b/packages/react-router-dom/modules/Link.js#L43\n var isLeftClick = evt.button === 0;\n var hasModifierKey = evt.metaKey || evt.altKey || evt.ctrlKey || evt.shiftKey;\n\n if (isLeftClick && !hasModifierKey) {\n evt.preventDefault();\n pushRoute(route);\n }\n } else {\n // If there is no event (e.g. for a redirect) then navigate directly.\n pushRoute(route);\n }\n};\n\nvar navigateToLegacy = function navigateToLegacy(route, evt) {\n navigate(generateLegacyURL(route), evt);\n};\n\nexports.navigateToLegacy = navigateToLegacy;\n\nvar navigateToNew = function navigateToNew(route, evt) {\n navigate(generateNewURL(route), evt);\n};\n/**\n * Get the formatted power type from a power type description.\n * @param description - A power type description.\n * @param powerType - A power type.\n * @return The formatted power type or the original power type key.\n */\n\n\nexports.navigateToNew = navigateToNew;\n\nvar extractPowerType = function extractPowerType(description, powerType) {\n if (!powerType) {\n return null;\n }\n\n if (!description) {\n return powerType;\n }\n\n var position = description.toLowerCase().indexOf(powerType.toLowerCase());\n return position === -1 ? powerType : description.substring(position, position + powerType.length);\n};\n\nexports.extractPowerType = extractPowerType;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"274\":\"33c4f102d444a5a9ef05\",\"475\":\"dc856e1dd402514a9228\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/MAAS/r/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t414: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunk_maas_ui_maas_ui_root\"] = globalThis[\"webpackChunk_maas_ui_maas_ui_root\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(81);\n"],"sourceRoot":""}