Second frontend, written in Next.JS + Typescript.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1 lines
34 KiB

{"ast":null,"code":"\"use strict\";\n\nvar _classCallCheck = require(\"@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"@babel/runtime/helpers/createClass\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _url = require(\"url\");\n\nvar _mitt = _interopRequireDefault(require(\"../next-server/lib/mitt\"));\n\nvar _isDynamic = require(\"./../next-server/lib/router/utils/is-dynamic\");\n\nvar _routeMatcher = require(\"./../next-server/lib/router/utils/route-matcher\");\n\nvar _routeRegex = require(\"./../next-server/lib/router/utils/route-regex\");\n\nfunction hasRel(rel, link) {\n try {\n link = document.createElement('link');\n return link.relList.supports(rel);\n } catch (_unused) {}\n}\n\nvar relPrefetch = hasRel('preload') && !hasRel('prefetch') ? // https://caniuse.com/#feat=link-rel-preload\n// macOS and iOS (Safari does not support prefetch)\n'preload' : // https://caniuse.com/#feat=link-rel-prefetch\n// IE 11, Edge 12+, nearly all evergreen\n'prefetch';\nvar hasNoModule = ('noModule' in document.createElement('script'));\n/** @param {string} route */\n\nfunction normalizeRoute(route) {\n if (route[0] !== '/') {\n throw new Error(\"Route name should start with a \\\"/\\\", got \\\"\" + route + \"\\\"\");\n }\n\n route = route.replace(/\\/index$/, '/');\n if (route === '/') return route;\n return route.replace(/\\/$/, '');\n}\n\nfunction appendLink(href, rel, as) {\n return new Promise(function (res, rej, link) {\n link = document.createElement('link');\n link.crossOrigin = process.crossOrigin;\n link.href = href;\n link.rel = rel;\n if (as) link.as = as;\n link.onload = res;\n link.onerror = rej;\n document.head.appendChild(link);\n });\n}\n\nvar PageLoader = /*#__PURE__*/function () {\n function PageLoader(buildId, assetPrefix) {\n _classCallCheck(this, PageLoader);\n\n this.buildId = buildId;\n this.assetPrefix = assetPrefix;\n this.pageCache = {};\n this.pageRegisterEvents = (0, _mitt[\"default\"])();\n this.loadingRoutes = {};\n\n if (process.env.__NEXT_GRANULAR_CHUNKS) {\n this.promisedBuildManifest = new Promise(function (resolve) {\n if (window.__BUILD_MANIFEST) {\n resolve(window.__BUILD_MANIFEST);\n } else {\n window.__BUILD_MANIFEST_CB = function () {\n resolve(window.__BUILD_MANIFEST);\n };\n }\n });\n }\n /** @type {Promise<Set<string>>} */\n\n\n this.promisedSsgManifest = new Promise(function (resolve) {\n if (window.__SSG_MANIFEST) {\n resolve(window.__SSG_MANIFEST);\n } else {\n window.__SSG_MANIFEST_CB = function () {\n resolve(window.__SSG_MANIFEST);\n };\n }\n });\n } // Returns a promise for the dependencies for a particular route\n\n\n _createClass(PageLoader, [{\n key: \"getDependencies\",\n value: function getDependencies(route) {\n var _this = this;\n\n return this.promisedBuildManifest.then(function (man) {\n return man[route] && man[route].map(function (url) {\n return _this.assetPrefix + \"/_next/\" + encodeURI(url);\n }) || [];\n });\n }\n /**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n */\n\n }, {\n key: \"getDataHref\",\n value: function getDataHref(href, asPath) {\n var _this2 = this;\n\n var getHrefForSlug =\n /** @type string */\n function getHrefForSlug(path) {\n return _this2.assetPrefix + \"/_next/data/\" + _this2.buildId + (path === '/' ? '/index' : path) + \".json\";\n };\n\n var _ref2 = (0, _url.parse)(href, true),\n hrefPathname = _ref2.pathname,\n query = _ref2.query;\n\n var _ref3 = (0, _url.parse)(asPath),\n asPathname = _ref3.pathname;\n\n var route = normalizeRoute(hrefPathname);\n var isDynamic = (0, _isDynamic.isDynamicRoute)(route),\n interpolatedRoute;\n\n if (isDynamic) {\n var dynamicRegex = (0, _routeRegex.getRouteRegex)(route);\n var dynamicGroups = dynamicRegex.groups;\n var dynamicMatches = // Try to match the dynamic route against the asPath\n (0, _routeMatcher.getRouteMatcher)(dynamicRegex)(asPathname) || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n\n if (!Object.keys(dynamicGroups).every(function (param) {\n var value = dynamicMatches[param];\n var repeat = dynamicGroups[param].repeat; // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n\n if (repeat && !Array.isArray(value)) value = [value];\n return param in dynamicMatches && ( // Interpolate group into data URL if present\n interpolatedRoute = interpolatedRoute.replace(\"[\" + (repeat ? '...' : '') + param + \"]\", repeat ? value.map(encodeURIComponent).join('/') : encodeURIComponent(value)));\n })) {\n interpolatedRoute = ''; // did not satisfy all requirements\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n }\n\n return isDynamic ? interpolatedRoute && getHrefForSlug(interpolatedRoute) : getHrefForSlug(route);\n }\n /**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n */\n\n }, {\n key: \"prefetchData\",\n value: function prefetchData(href, asPath) {\n var _this3 = this;\n\n var _ref4 = (0, _url.parse)(href, true),\n hrefPathname = _ref4.pathname;\n\n var route = normalizeRoute(hrefPathname);\n return this.promisedSsgManifest.then(function (s, _dataHref) {\n return (// Check if the route requires a data file\n s.has(route) && ( // Try to generate data href, noop when falsy\n _dataHref = _this3.getDataHref(href, asPath)) && // noop when data has already been prefetched (dedupe)\n !document.querySelector(\"link[rel=\\\"\" + relPrefetch + \"\\\"][href^=\\\"\" + _dataHref + \"\\\"]\") && // Inject the `<link rel=prefetch>` tag for above computed `href`.\n appendLink(_dataHref, relPrefetch, 'fetch')\n );\n });\n }\n }, {\n key: \"loadPage\",\n value: function loadPage(route) {\n return this.loadPageScript(route);\n }\n }, {\n key: \"loadPageScript\",\n value: function loadPageScript(route) {\n var _this4 = this;\n\n route = normalizeRoute(route);\n return new Promise(function (resolve, reject) {\n var fire = function fire(_ref) {\n var error = _ref.error,\n page = _ref.page,\n mod = _ref.mod;\n\n _this4.pageRegisterEvents.off(route, fire);\n\n delete _this4.loadingRoutes[route];\n\n if (error) {\n reject(error);\n } else {\n resolve({\n page: page,\n mod: mod\n });\n }\n }; // If there's a cached version of the page, let's use it.\n\n\n var cachedPage = _this4.pageCache[route];\n\n if (cachedPage) {\n var error = cachedPage.error,\n page = cachedPage.page,\n mod = cachedPage.mod;\n error ? reject(error) : resolve({\n page: page,\n mod: mod\n });\n return;\n } // Register a listener to get the page\n\n\n _this4.pageRegisterEvents.on(route, fire); // If the page is loading via SSR, we need to wait for it\n // rather downloading it again.\n\n\n if (document.querySelector(\"script[data-next-page=\\\"\" + route + \"\\\"]\")) {\n return;\n }\n\n if (!_this4.loadingRoutes[route]) {\n _this4.loadingRoutes[route] = true;\n\n if (process.env.__NEXT_GRANULAR_CHUNKS) {\n _this4.getDependencies(route).then(function (deps) {\n deps.forEach(function (d) {\n if (/\\.js$/.test(d) && !document.querySelector(\"script[src^=\\\"\" + d + \"\\\"]\")) {\n _this4.loadScript(d, route, false);\n }\n\n if (/\\.css$/.test(d) && !document.querySelector(\"link[rel=stylesheet][href^=\\\"\" + d + \"\\\"]\")) {\n appendLink(d, 'stylesheet')[\"catch\"](function () {// FIXME: handle failure\n // Right now, this is needed to prevent an unhandled rejection.\n });\n }\n });\n\n _this4.loadRoute(route);\n });\n } else {\n _this4.loadRoute(route);\n }\n }\n });\n }\n }, {\n key: \"loadRoute\",\n value: function loadRoute(route) {\n route = normalizeRoute(route);\n var scriptRoute = route === '/' ? '/index.js' : route + \".js\";\n var url = this.assetPrefix + \"/_next/static/\" + encodeURIComponent(this.buildId) + \"/pages\" + encodeURI(scriptRoute);\n this.loadScript(url, route, true);\n }\n }, {\n key: \"loadScript\",\n value: function loadScript(url, route, isPage) {\n var _this5 = this;\n\n var script = document.createElement('script');\n\n if (process.env.__NEXT_MODERN_BUILD && hasNoModule) {\n script.type = 'module'; // Only page bundle scripts need to have .module added to url,\n // dependencies already have it added during build manifest creation\n\n if (isPage) url = url.replace(/\\.js$/, '.module.js');\n }\n\n script.crossOrigin = process.crossOrigin;\n script.src = url;\n\n script.onerror = function () {\n var error = new Error(\"Error loading script \" + url);\n error.code = 'PAGE_LOAD_ERROR';\n\n _this5.pageRegisterEvents.emit(route, {\n error: error\n });\n };\n\n document.body.appendChild(script);\n } // This method if called by the route code.\n\n }, {\n key: \"registerPage\",\n value: function registerPage(route, regFn) {\n var _this6 = this;\n\n var register = function register() {\n try {\n var mod = regFn();\n var pageData = {\n page: mod[\"default\"] || mod,\n mod: mod\n };\n _this6.pageCache[route] = pageData;\n\n _this6.pageRegisterEvents.emit(route, pageData);\n } catch (error) {\n _this6.pageCache[route] = {\n error: error\n };\n\n _this6.pageRegisterEvents.emit(route, {\n error: error\n });\n }\n };\n\n if (true) {\n // Wait for webpack to become idle if it's not.\n // More info: https://github.com/zeit/next.js/pull/1511\n if (module.hot && module.hot.status() !== 'idle') {\n console.log(\"Waiting for webpack to become \\\"idle\\\" to initialize the page: \\\"\" + route + \"\\\"\");\n\n var check = function check(status) {\n if (status === 'idle') {\n module.hot.removeStatusHandler(check);\n register();\n }\n };\n\n module.hot.status(check);\n return;\n }\n }\n\n register();\n }\n /**\n * @param {string} route\n * @param {boolean} [isDependency]\n */\n\n }, {\n key: \"prefetch\",\n value: function prefetch(route, isDependency) {\n var _this7 = this;\n\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n var cn;\n\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n /** @type {string} */\n\n\n var url;\n\n if (isDependency) {\n url = route;\n } else {\n route = normalizeRoute(route);\n var scriptRoute = (route === '/' ? '/index' : route) + \".js\";\n\n if (process.env.__NEXT_MODERN_BUILD && hasNoModule) {\n scriptRoute = scriptRoute.replace(/\\.js$/, '.module.js');\n }\n\n url = this.assetPrefix + \"/_next/static/\" + encodeURIComponent(this.buildId) + \"/pages\" + encodeURI(scriptRoute);\n }\n\n return Promise.all(document.querySelector(\"link[rel=\\\"\" + relPrefetch + \"\\\"][href^=\\\"\" + url + \"\\\"], script[data-next-page=\\\"\" + route + \"\\\"]\") ? [] : [appendLink(url, relPrefetch, url.match(/\\.css$/) ? 'style' : 'script'), process.env.__NEXT_GRANULAR_CHUNKS && !isDependency && this.getDependencies(route).then(function (urls) {\n return Promise.all(urls.map(function (url) {\n return _this7.prefetch(url, true);\n }));\n })]).then( // do not return any data\n function () {}, // swallow prefetch errors\n function () {});\n }\n }]);\n\n return PageLoader;\n}();\n\nexports[\"default\"] = PageLoader;","map":{"version":3,"sources":["/data/projects/react/rpdata-frontend2/node_modules/next/dist/client/page-loader.js"],"names":["_interopRequireDefault","require","exports","__esModule","_url","_mitt","_isDynamic","_routeMatcher","_routeRegex","hasRel","rel","link","document","createElement","relList","supports","_unused","relPrefetch","hasNoModule","normalizeRoute","route","Error","replace","appendLink","href","as","Promise","res","rej","crossOrigin","process","onload","onerror","head","appendChild","PageLoader","buildId","assetPrefix","pageCache","pageRegisterEvents","loadingRoutes","env","__NEXT_GRANULAR_CHUNKS","promisedBuildManifest","resolve","window","__BUILD_MANIFEST","__BUILD_MANIFEST_CB","promisedSsgManifest","__SSG_MANIFEST","__SSG_MANIFEST_CB","then","man","map","url","encodeURI","asPath","getHrefForSlug","path","parse","hrefPathname","pathname","query","asPathname","isDynamic","isDynamicRoute","interpolatedRoute","dynamicRegex","getRouteRegex","dynamicGroups","groups","dynamicMatches","getRouteMatcher","Object","keys","every","param","value","repeat","Array","isArray","encodeURIComponent","join","s","_dataHref","has","getDataHref","querySelector","loadPageScript","reject","fire","_ref","error","page","mod","off","cachedPage","on","getDependencies","deps","forEach","d","test","loadScript","loadRoute","scriptRoute","isPage","script","__NEXT_MODERN_BUILD","type","src","code","emit","body","regFn","register","pageData","module","hot","status","console","log","check","removeStatusHandler","isDependency","cn","navigator","connection","saveData","effectiveType","all","match","urls","prefetch"],"mappings":"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","sourcesContent":["\"use strict\";var _interopRequireDefault=require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule=true;exports.default=void 0;var _url=require(\"url\");var _mitt=_interopRequireDefault(require(\"../next-server/lib/mitt\"));var _isDynamic=require(\"./../next-server/lib/router/utils/is-dynamic\");var _routeMatcher=require(\"./../next-server/lib/router/utils/route-matcher\");var _routeRegex=require(\"./../next-server/lib/router/utils/route-regex\");function hasRel(rel,link){try{link=document.createElement('link');return link.relList.supports(rel);}catch(_unused){}}var relPrefetch=hasRel('preload')&&!hasRel('prefetch')?// https://caniuse.com/#feat=link-rel-preload\n// macOS and iOS (Safari does not support prefetch)\n'preload':// https://caniuse.com/#feat=link-rel-prefetch\n// IE 11, Edge 12+, nearly all evergreen\n'prefetch';var hasNoModule='noModule'in document.createElement('script');/** @param {string} route */function normalizeRoute(route){if(route[0]!=='/'){throw new Error(\"Route name should start with a \\\"/\\\", got \\\"\"+route+\"\\\"\");}route=route.replace(/\\/index$/,'/');if(route==='/')return route;return route.replace(/\\/$/,'');}function appendLink(href,rel,as){return new Promise((res,rej,link)=>{link=document.createElement('link');link.crossOrigin=process.crossOrigin;link.href=href;link.rel=rel;if(as)link.as=as;link.onload=res;link.onerror=rej;document.head.appendChild(link);});}class PageLoader{constructor(buildId,assetPrefix){this.buildId=buildId;this.assetPrefix=assetPrefix;this.pageCache={};this.pageRegisterEvents=(0,_mitt.default)();this.loadingRoutes={};if(process.env.__NEXT_GRANULAR_CHUNKS){this.promisedBuildManifest=new Promise(resolve=>{if(window.__BUILD_MANIFEST){resolve(window.__BUILD_MANIFEST);}else{window.__BUILD_MANIFEST_CB=()=>{resolve(window.__BUILD_MANIFEST);};}});}/** @type {Promise<Set<string>>} */this.promisedSsgManifest=new Promise(resolve=>{if(window.__SSG_MANIFEST){resolve(window.__SSG_MANIFEST);}else{window.__SSG_MANIFEST_CB=()=>{resolve(window.__SSG_MANIFEST);};}});}// Returns a promise for the dependencies for a particular route\ngetDependencies(route){return this.promisedBuildManifest.then(man=>man[route]&&man[route].map(url=>this.assetPrefix+\"/_next/\"+encodeURI(url))||[]);}/**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n */getDataHref(href,asPath){var getHrefForSlug=/** @type string */path=>this.assetPrefix+\"/_next/data/\"+this.buildId+(path==='/'?'/index':path)+\".json\";var{pathname:hrefPathname,query}=(0,_url.parse)(href,true);var{pathname:asPathname}=(0,_url.parse)(asPath);var route=normalizeRoute(hrefPathname);var isDynamic=(0,_isDynamic.isDynamicRoute)(route),interpolatedRoute;if(isDynamic){var dynamicRegex=(0,_routeRegex.getRouteRegex)(route);var dynamicGroups=dynamicRegex.groups;var dynamicMatches=// Try to match the dynamic route against the asPath\n(0,_routeMatcher.getRouteMatcher)(dynamicRegex)(asPathname)||// Fall back to reading the values from the href\n// TODO: should this take priority; also need to change in the router.\nquery;interpolatedRoute=route;if(!Object.keys(dynamicGroups).every(param=>{var value=dynamicMatches[param];var repeat=dynamicGroups[param].repeat;// support single-level catch-all\n// TODO: more robust handling for user-error (passing `/`)\nif(repeat&&!Array.isArray(value))value=[value];return param in dynamicMatches&&(// Interpolate group into data URL if present\ninterpolatedRoute=interpolatedRoute.replace(\"[\"+(repeat?'...':'')+param+\"]\",repeat?value.map(encodeURIComponent).join('/'):encodeURIComponent(value)));})){interpolatedRoute='';// did not satisfy all requirements\n// n.b. We ignore this error because we handle warning for this case in\n// development in the `<Link>` component directly.\n}}return isDynamic?interpolatedRoute&&getHrefForSlug(interpolatedRoute):getHrefForSlug(route);}/**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n */prefetchData(href,asPath){var{pathname:hrefPathname}=(0,_url.parse)(href,true);var route=normalizeRoute(hrefPathname);return this.promisedSsgManifest.then((s,_dataHref)=>// Check if the route requires a data file\ns.has(route)&&(// Try to generate data href, noop when falsy\n_dataHref=this.getDataHref(href,asPath))&&// noop when data has already been prefetched (dedupe)\n!document.querySelector(\"link[rel=\\\"\"+relPrefetch+\"\\\"][href^=\\\"\"+_dataHref+\"\\\"]\")&&// Inject the `<link rel=prefetch>` tag for above computed `href`.\nappendLink(_dataHref,relPrefetch,'fetch'));}loadPage(route){return this.loadPageScript(route);}loadPageScript(route){route=normalizeRoute(route);return new Promise((resolve,reject)=>{var fire=(_ref)=>{var{error,page,mod}=_ref;this.pageRegisterEvents.off(route,fire);delete this.loadingRoutes[route];if(error){reject(error);}else{resolve({page,mod});}};// If there's a cached version of the page, let's use it.\nvar cachedPage=this.pageCache[route];if(cachedPage){var{error,page,mod}=cachedPage;error?reject(error):resolve({page,mod});return;}// Register a listener to get the page\nthis.pageRegisterEvents.on(route,fire);// If the page is loading via SSR, we need to wait for it\n// rather downloading it again.\nif(document.querySelector(\"script[data-next-page=\\\"\"+route+\"\\\"]\")){return;}if(!this.loadingRoutes[route]){this.loadingRoutes[route]=true;if(process.env.__NEXT_GRANULAR_CHUNKS){this.getDependencies(route).then(deps=>{deps.forEach(d=>{if(/\\.js$/.test(d)&&!document.querySelector(\"script[src^=\\\"\"+d+\"\\\"]\")){this.loadScript(d,route,false);}if(/\\.css$/.test(d)&&!document.querySelector(\"link[rel=stylesheet][href^=\\\"\"+d+\"\\\"]\")){appendLink(d,'stylesheet').catch(()=>{// FIXME: handle failure\n// Right now, this is needed to prevent an unhandled rejection.\n});}});this.loadRoute(route);});}else{this.loadRoute(route);}}});}loadRoute(route){route=normalizeRoute(route);var scriptRoute=route==='/'?'/index.js':route+\".js\";var url=this.assetPrefix+\"/_next/static/\"+encodeURIComponent(this.buildId)+\"/pages\"+encodeURI(scriptRoute);this.loadScript(url,route,true);}loadScript(url,route,isPage){var script=document.createElement('script');if(process.env.__NEXT_MODERN_BUILD&&hasNoModule){script.type='module';// Only page bundle scripts need to have .module added to url,\n// dependencies already have it added during build manifest creation\nif(isPage)url=url.replace(/\\.js$/,'.module.js');}script.crossOrigin=process.crossOrigin;script.src=url;script.onerror=()=>{var error=new Error(\"Error loading script \"+url);error.code='PAGE_LOAD_ERROR';this.pageRegisterEvents.emit(route,{error});};document.body.appendChild(script);}// This method if called by the route code.\nregisterPage(route,regFn){var register=()=>{try{var mod=regFn();var pageData={page:mod.default||mod,mod};this.pageCache[route]=pageData;this.pageRegisterEvents.emit(route,pageData);}catch(error){this.pageCache[route]={error};this.pageRegisterEvents.emit(route,{error});}};if(process.env.NODE_ENV!=='production'){// Wait for webpack to become idle if it's not.\n// More info: https://github.com/zeit/next.js/pull/1511\nif(module.hot&&module.hot.status()!=='idle'){console.log(\"Waiting for webpack to become \\\"idle\\\" to initialize the page: \\\"\"+route+\"\\\"\");var check=status=>{if(status==='idle'){module.hot.removeStatusHandler(check);register();}};module.hot.status(check);return;}}register();}/**\n * @param {string} route\n * @param {boolean} [isDependency]\n */prefetch(route,isDependency){// https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n// License: Apache 2.0\nvar cn;if(cn=navigator.connection){// Don't prefetch if using 2G or if Save-Data is enabled.\nif(cn.saveData||/2g/.test(cn.effectiveType))return Promise.resolve();}/** @type {string} */var url;if(isDependency){url=route;}else{route=normalizeRoute(route);var scriptRoute=(route==='/'?'/index':route)+\".js\";if(process.env.__NEXT_MODERN_BUILD&&hasNoModule){scriptRoute=scriptRoute.replace(/\\.js$/,'.module.js');}url=this.assetPrefix+\"/_next/static/\"+encodeURIComponent(this.buildId)+\"/pages\"+encodeURI(scriptRoute);}return Promise.all(document.querySelector(\"link[rel=\\\"\"+relPrefetch+\"\\\"][href^=\\\"\"+url+\"\\\"], script[data-next-page=\\\"\"+route+\"\\\"]\")?[]:[appendLink(url,relPrefetch,url.match(/\\.css$/)?'style':'script'),process.env.__NEXT_GRANULAR_CHUNKS&&!isDependency&&this.getDependencies(route).then(urls=>Promise.all(urls.map(url=>this.prefetch(url,true))))]).then(// do not return any data\n()=>{},// swallow prefetch errors\n()=>{});}}exports.default=PageLoader;"]},"metadata":{},"sourceType":"script"}