one
Version:
One is a new React Framework that makes Vite serve both native and web.
1 lines • 34.3 kB
Source Map (JSON)
{"version":3,"names":["createNavigatorFactory","SafeAreaProviderCompat","React","Suspense","createElement","memo","useContext","useEffect","useState","SafeAreaView","ScrollView","Text","TouchableOpacity","View","ServerContextScript","getPageExport","EmptyRoute","Try","checkSkewAndReload","handleSkewError","isChunkLoadError","DevHead","getServerContext","useServerContext","filterRootHTML","Route","useRouteNode","SpaShellContext","NamedSlot","sortRoutesWithInitial","getClientMatchesSnapshot","Fragment","jsx","jsxs","hasMetaCharset","children","process","env","NODE_ENV","checkElement","child","isValidElement","type","props","childProps","Array","isArray","some","Screen","Group","cachedInlineCSSElements","document","querySelectorAll","elements","forEach","el","i","tagName","push","id","dangerouslySetInnerHTML","__html","innerHTML","href","getAttribute","rel","RootLayoutRenderer","LayoutComponent","layoutProps","forwardedRef","setHmrKey","handler","k","window","addEventListener","removeEventListener","bodyProps","head","htmlProps","headChildren","headProps","serverContext","finalChildren","console","warn","cssContents","length","cssInlineCount","map","content","css","file","suppressHydrationWarning","lang","getSortedChildren","order","initialRouteName","options","sort","route","entries","ordered","name","redirect","initialParams","listeners","options2","getId","matchIndex","findIndex","match","splice","Error","filter","Boolean","onlyMatching","useSortedScreens","node","useMemo","value","routeName","normalized","replace","protectedScreens","has","routeToScreen","fromImport","ErrorBoundary","component","default","forwardRef","ref","catch","exported","Object","keys","qualifiedStore","WeakMap","getRouteMatchesForProps","serverMatches","matches","VITE_ENVIRONMENT","clientMatches","getQualifiedRouteComponent","get","ScreenComponent","isSpaShell","segment","layoutRenderMode","Component","loadRoute","find","match2","routeId","contextKey","loaderDataProps","loaderData","DEBUG","groupCollapsed","key","info","groupEnd","slotProps","slots","size","slotName","layoutContextKey","RouteErrorBoundary","wrapSuspense","ONE_SUSPEND_ROUTES","globalThis","__ONE_DISABLE_SUSPENSE_ROUTES__","fallback","QualifiedRoute","navigation","displayName","set","createGetIdForRoute","include","Map","dynamic","params","segments","values","join","deep","args","staticOptions","generated","getNavOptions","staticResult","dynamicResult","output","tabBarButton","drawerItemStyle","height","display","getComponent","ROUTE_ERROR_BOUNDARY_INITIAL_STATE","hasError","error","errorInfo","constructor","state","getDerivedStateFromError","componentDidCatch","message","stack","componentStack","setState","ONE_SKEW_PROTECTION","clearError","render","style","backgroundColor","margin","gap","alignSelf","padding","color","fontSize","fontFamily","onPress","bind","contentContainerStyle"],"sources":["useScreens.mjs"],"sourcesContent":["import { createNavigatorFactory } from \"@react-navigation/core\";\nimport { SafeAreaProviderCompat } from \"@react-navigation/elements\";\nimport React, { Suspense, createElement, memo, useContext, useEffect, useState } from \"react\";\nimport { SafeAreaView, ScrollView, Text, TouchableOpacity, View } from \"react-native-web\";\nimport { ServerContextScript } from \"../server/ServerContextScript\";\nimport { getPageExport } from \"../utils/getPageExport\";\nimport { EmptyRoute } from \"../views/EmptyRoute\";\nimport { Try } from \"../views/Try\";\nimport { checkSkewAndReload } from \"../skewProtection\";\nimport { handleSkewError, isChunkLoadError } from \"../utils/dynamicImport\";\nimport { DevHead } from \"../vite/DevHead\";\nimport { getServerContext, useServerContext } from \"../vite/one-server-only\";\nimport { filterRootHTML } from \"./filterRootHTML\";\nimport { Route, useRouteNode } from \"./Route\";\nimport { SpaShellContext } from \"./SpaShellContext\";\nimport { NamedSlot } from \"../views/Navigator\";\nimport { sortRoutesWithInitial } from \"./sortRoutes\";\nimport { getClientMatchesSnapshot } from \"../useMatches\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nfunction hasMetaCharset(children) {\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (!children) return false;\n\t\tconst checkElement = (child) => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\tif (child.type === \"meta\") {\n\t\t\t\tconst props = child.props;\n\t\t\t\tif (\"charSet\" in props || \"charset\" in props) return true;\n\t\t\t}\n\t\t\tconst childProps = child.props;\n\t\t\tif (childProps.children) return hasMetaCharset(childProps.children);\n\t\t\treturn false;\n\t\t};\n\t\tif (Array.isArray(children)) return children.some(checkElement);\n\t\treturn checkElement(children);\n\t}\n\treturn true;\n}\nconst { Screen, Group } = createNavigatorFactory({})();\nconst cachedInlineCSSElements = typeof document !== \"undefined\" && typeof document.querySelectorAll === \"function\" ? (() => {\n\tconst elements = [];\n\tdocument.querySelectorAll(\"style[id^=\\\"__one_css_\\\"], link[rel=\\\"stylesheet\\\"][data-one-css]\").forEach((el, i) => {\n\t\tif (el.tagName === \"STYLE\") elements.push(/* @__PURE__ */ jsx(\"style\", {\n\t\t\tid: el.id,\n\t\t\tdangerouslySetInnerHTML: { __html: el.innerHTML }\n\t\t}, `inline-css-${i}`));\n\t\telse {\n\t\t\tconst href = el.getAttribute(\"href\");\n\t\t\telements.push(/* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref,\n\t\t\t\t\"data-one-css\": \"\"\n\t\t\t}, href));\n\t\t}\n\t});\n\treturn elements;\n})() : [];\nfunction RootLayoutRenderer({ LayoutComponent, layoutProps, forwardedRef }) {\n\tif (process.env.NODE_ENV === \"development\" && true) {\n\t\tconst [, setHmrKey] = useState(0);\n\t\tuseEffect(() => {\n\t\t\tconst handler = () => setHmrKey((k) => k + 1);\n\t\t\twindow.addEventListener(\"one-hmr-update\", handler);\n\t\t\treturn () => window.removeEventListener(\"one-hmr-update\", handler);\n\t\t}, []);\n\t}\n\tconst { children, bodyProps, head, htmlProps } = filterRootHTML(LayoutComponent(layoutProps, forwardedRef));\n\tconst { children: headChildren, ...headProps } = head?.props || {};\n\tconst serverContext = useServerContext();\n\tlet finalChildren = children;\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (!hasMetaCharset(headChildren)) console.warn(`[one] Missing <meta charSet=\"utf-8\" /> in your root _layout.tsx <head>. This can cause React hydration issues due to encoding mismatch. Add it as the first element in your <head> tag.`);\n\t}\n\tfinalChildren = /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(\"head\", {\n\t\t...headProps,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(DevHead, {}),\n\t\t\t/* @__PURE__ */ jsx(\"script\", { dangerouslySetInnerHTML: { __html: `globalThis['global'] = globalThis` } }),\n\t\t\tserverContext?.cssContents?.length || serverContext?.cssInlineCount ? serverContext?.cssContents ? serverContext.cssContents.map((content, i) => content ? /* @__PURE__ */ jsx(\"style\", {\n\t\t\t\tid: `__one_css_${i}`,\n\t\t\t\tdangerouslySetInnerHTML: { __html: content }\n\t\t\t}, `inline-css-${i}`) : serverContext.css?.[i] ? /* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref: serverContext.css[i]\n\t\t\t}, serverContext.css[i]) : null) : cachedInlineCSSElements : serverContext?.css?.map((file) => /* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref: file\n\t\t\t}, file)),\n\t\t\t/* @__PURE__ */ jsx(ServerContextScript, {}),\n\t\t\theadChildren\n\t\t]\n\t}, \"head\"), /* @__PURE__ */ jsx(\"body\", {\n\t\tsuppressHydrationWarning: true,\n\t\t...bodyProps,\n\t\tchildren: /* @__PURE__ */ jsx(SafeAreaProviderCompat, { children: finalChildren })\n\t}, \"body\")] });\n\treturn /* @__PURE__ */ jsx(\"html\", {\n\t\tsuppressHydrationWarning: true,\n\t\tlang: \"en-US\",\n\t\t...htmlProps,\n\t\tchildren: finalChildren\n\t});\n}\nfunction getSortedChildren(children, order, initialRouteName, options) {\n\tif (!order?.length) return children.sort(sortRoutesWithInitial(initialRouteName)).map((route) => ({\n\t\troute,\n\t\tprops: {}\n\t}));\n\tconst entries = [...children];\n\tconst ordered = order.map(({ name, redirect, initialParams, listeners, options: options2, getId }) => {\n\t\tif (!entries.length) {\n\t\t\tconsole.warn(`[Layout children]: Too many screens defined. Route \"${name}\" is extraneous.`);\n\t\t\treturn null;\n\t\t}\n\t\tconst matchIndex = entries.findIndex((child) => child.route === name);\n\t\tif (matchIndex === -1) {\n\t\t\tconsole.warn(`[Layout children]: No route named \"${name}\" exists in nested children:`, children.map(({ route }) => route));\n\t\t\treturn null;\n\t\t}\n\t\tconst match = entries[matchIndex];\n\t\tentries.splice(matchIndex, 1);\n\t\tif (redirect) {\n\t\t\tif (typeof redirect === \"string\") throw new Error(`Redirecting to a specific route is not supported yet.`);\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\troute: match,\n\t\t\tprops: {\n\t\t\t\tinitialParams,\n\t\t\t\tlisteners,\n\t\t\t\toptions: options2,\n\t\t\t\tgetId\n\t\t\t}\n\t\t};\n\t}).filter(Boolean);\n\tif (!options?.onlyMatching) ordered.push(...entries.sort(sortRoutesWithInitial(initialRouteName)).map((route) => ({\n\t\troute,\n\t\tprops: {}\n\t})));\n\treturn ordered;\n}\nfunction useSortedScreens(order, options) {\n\tconst node = useRouteNode();\n\treturn React.useMemo(() => {\n\t\treturn (node?.children?.length ? getSortedChildren(node.children, order, node.initialRouteName, options) : []).filter((value) => {\n\t\t\tconst routeName = value.route.route;\n\t\t\tconst normalized = routeName.replace(/\\/index$/, \"\");\n\t\t\treturn !(options?.protectedScreens?.has(routeName) || options?.protectedScreens?.has(normalized));\n\t\t}).map((value) => routeToScreen(value.route, value.props));\n\t}, [\n\t\tnode?.children,\n\t\tnode?.initialRouteName,\n\t\torder,\n\t\toptions?.protectedScreens\n\t]);\n}\nfunction fromImport({ ErrorBoundary, ...component }) {\n\tif (ErrorBoundary) return { default: React.forwardRef((props, ref) => {\n\t\treturn /* @__PURE__ */ jsx(Try, {\n\t\t\tcatch: ErrorBoundary,\n\t\t\tchildren: React.createElement(getPageExport(component) || EmptyRoute, {\n\t\t\t\t...props,\n\t\t\t\tref\n\t\t\t})\n\t\t});\n\t}) };\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst exported = getPageExport(component);\n\t\tif (exported && typeof exported === \"object\" && Object.keys(exported).length === 0) return { default: EmptyRoute };\n\t}\n\treturn { default: getPageExport(component) };\n}\nconst qualifiedStore = /* @__PURE__ */ new WeakMap();\nfunction getRouteMatchesForProps() {\n\tconst serverMatches = getServerContext()?.matches ?? [];\n\tif (process.env.VITE_ENVIRONMENT === \"ssr\") return serverMatches;\n\tconst clientMatches = getClientMatchesSnapshot();\n\treturn clientMatches.length ? clientMatches : serverMatches;\n}\nfunction getQualifiedRouteComponent(value) {\n\tif (value && qualifiedStore.has(value)) return qualifiedStore.get(value);\n\tconst ScreenComponent = React.forwardRef((props, ref) => {\n\t\tif (process.env.NODE_ENV === \"development\" && true) {\n\t\t\tconst [, setHmrKey] = useState(0);\n\t\t\tuseEffect(() => {\n\t\t\t\tconst handler = () => setHmrKey((k) => k + 1);\n\t\t\t\twindow.addEventListener(\"one-hmr-update\", handler);\n\t\t\t\treturn () => window.removeEventListener(\"one-hmr-update\", handler);\n\t\t\t}, []);\n\t\t}\n\t\tconst isSpaShell = useContext(SpaShellContext);\n\t\tconst matches = getRouteMatchesForProps();\n\t\tif (isSpaShell && props.segment !== \"\") {\n\t\t\tif (!(value.children?.length && (value.layoutRenderMode === \"ssg\" || value.layoutRenderMode === \"ssr\"))) return /* @__PURE__ */ jsx(\"div\", { \"data-one-spa-content\": \"\" });\n\t\t}\n\t\tconst Component = getPageExport(fromImport(value.loadRoute()));\n\t\tconst match = matches.find((match2) => match2.routeId === value.contextKey) || (!value.children?.length ? matches[matches.length - 1] : void 0);\n\t\tconst loaderDataProps = match && \"loaderData\" in match ? { loaderData: match.loaderData } : {};\n\t\tif (process.env.NODE_ENV === \"development\" && process.env.DEBUG === \"one\") {\n\t\t\tconsole.groupCollapsed(`Render ${props.key} ${props.segment}`);\n\t\t\tconsole.info(`value`, value);\n\t\t\tconsole.info(`Component`, Component);\n\t\t\tconsole.groupEnd();\n\t\t}\n\t\tconst slotProps = {};\n\t\tif (value.slots && value.slots.size > 0) for (const [slotName] of value.slots) slotProps[slotName] = /* @__PURE__ */ jsx(NamedSlot, {\n\t\t\tname: slotName,\n\t\t\tlayoutContextKey: value.contextKey\n\t\t});\n\t\tif (props.segment === \"\") return /* @__PURE__ */ jsx(RootLayoutRenderer, {\n\t\t\tLayoutComponent: Component,\n\t\t\tlayoutProps: {\n\t\t\t\t...props,\n\t\t\t\t...slotProps,\n\t\t\t\t...loaderDataProps\n\t\t\t},\n\t\t\tforwardedRef: ref\n\t\t});\n\t\treturn /* @__PURE__ */ jsx(RouteErrorBoundary, {\n\t\t\trouteName: value.route,\n\t\t\tchildren: /* @__PURE__ */ jsx(Component, {\n\t\t\t\t...props,\n\t\t\t\t...slotProps,\n\t\t\t\t...loaderDataProps,\n\t\t\t\tref\n\t\t\t})\n\t\t});\n\t});\n\tconst wrapSuspense = (children) => {\n\t\tif (process.env.ONE_SUSPEND_ROUTES === \"1\" && globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__ !== true) return /* @__PURE__ */ jsx(Suspense, {\n\t\t\tfallback: null,\n\t\t\tchildren\n\t\t});\n\t\treturn children;\n\t};\n\tconst QualifiedRoute = React.forwardRef(({ route, navigation, ...props }, ref) => {\n\t\treturn /* @__PURE__ */ jsx(Route, {\n\t\t\troute,\n\t\t\tnode: value,\n\t\t\tchildren: /* @__PURE__ */ jsx(Fragment, { children: wrapSuspense(/* @__PURE__ */ jsx(ScreenComponent, {\n\t\t\t\t...props,\n\t\t\t\tref,\n\t\t\t\tsegment: value.route\n\t\t\t})) })\n\t\t});\n\t});\n\tQualifiedRoute.displayName = `Route(${value.route})`;\n\tqualifiedStore.set(value, QualifiedRoute);\n\treturn memo(QualifiedRoute);\n}\nfunction createGetIdForRoute(route) {\n\tconst include = /* @__PURE__ */ new Map();\n\tif (route.dynamic) for (const segment of route.dynamic) include.set(segment.name, segment);\n\treturn ({ params = {} } = {}) => {\n\t\tconst segments = [];\n\t\tfor (const dynamic of include.values()) {\n\t\t\tconst value = params?.[dynamic.name];\n\t\t\tif (Array.isArray(value) && value.length > 0) segments.push(value.join(\"/\"));\n\t\t\telse if (value && !Array.isArray(value)) segments.push(value);\n\t\t\telse if (dynamic.deep) segments.push(`[...${dynamic.name}]`);\n\t\t\telse segments.push(`[${dynamic.name}]`);\n\t\t}\n\t\treturn segments.join(\"/\") ?? route.contextKey;\n\t};\n}\nfunction routeToScreen(route, { options, ...props } = {}) {\n\treturn /* @__PURE__ */ createElement(Screen, {\n\t\tgetId: createGetIdForRoute(route),\n\t\t...props,\n\t\tname: route.route,\n\t\tkey: route.route,\n\t\toptions: (args) => {\n\t\t\tconst staticOptions = route.generated ? route.loadRoute()?.getNavOptions : null;\n\t\t\tconst staticResult = typeof staticOptions === \"function\" ? staticOptions(args) : staticOptions;\n\t\t\tconst dynamicResult = typeof options === \"function\" ? options?.(args) : options;\n\t\t\tconst output = {\n\t\t\t\t...staticResult,\n\t\t\t\t...dynamicResult\n\t\t\t};\n\t\t\tif (route.generated) {\n\t\t\t\toutput.tabBarButton = () => null;\n\t\t\t\toutput.drawerItemStyle = {\n\t\t\t\t\theight: 0,\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn output;\n\t\t},\n\t\tgetComponent: () => {\n\t\t\treturn getQualifiedRouteComponent(route);\n\t\t}\n\t});\n}\nconst ROUTE_ERROR_BOUNDARY_INITIAL_STATE = {\n\thasError: false,\n\terror: null,\n\terrorInfo: null\n};\nvar RouteErrorBoundary = class extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = ROUTE_ERROR_BOUNDARY_INITIAL_STATE;\n\t}\n\tstatic getDerivedStateFromError(error) {\n\t\treturn {\n\t\t\thasError: true,\n\t\t\terror\n\t\t};\n\t}\n\tcomponentDidCatch(error, errorInfo) {\n\t\tconsole.error(`Error occurred while running route \"${this.props.routeName}\": ${error instanceof Error ? error.message : error}\n\n${error.stack}\n\nComponent Stack:\n${errorInfo.componentStack}`);\n\t\tthis.setState({ errorInfo });\n\t\tif (process.env.NODE_ENV === \"production\" && process.env.ONE_SKEW_PROTECTION !== \"false\") if (isChunkLoadError(error)) handleSkewError();\n\t\telse checkSkewAndReload();\n\t}\n\tclearError() {\n\t\tthis.setState(ROUTE_ERROR_BOUNDARY_INITIAL_STATE);\n\t}\n\trender() {\n\t\tif (this.state.hasError) {\n\t\t\tconst { error, errorInfo } = this.state;\n\t\t\treturn /* @__PURE__ */ jsx(SafeAreaView, {\n\t\t\t\tstyle: { backgroundColor: \"#000\" },\n\t\t\t\tchildren: /* @__PURE__ */ jsxs(View, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tmargin: 16,\n\t\t\t\t\t\tgap: 16\n\t\t\t\t\t},\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ jsxs(Text, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\talignSelf: \"flex-start\",\n\t\t\t\t\t\t\t\tpadding: 5,\n\t\t\t\t\t\t\t\tmargin: -5,\n\t\t\t\t\t\t\t\tbackgroundColor: \"red\",\n\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t\tfontFamily: \"monospace\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\"Error on route \\\"\",\n\t\t\t\t\t\t\t\tthis.props.routeName,\n\t\t\t\t\t\t\t\t\"\\\"\"\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ jsx(Text, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t\t\tfontFamily: \"monospace\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: error instanceof Error ? error.message : error\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ jsx(TouchableOpacity, {\n\t\t\t\t\t\t\tonPress: this.clearError.bind(this),\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ jsx(Text, {\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\talignSelf: \"flex-start\",\n\t\t\t\t\t\t\t\t\tmargin: -6,\n\t\t\t\t\t\t\t\t\tpadding: 6,\n\t\t\t\t\t\t\t\t\tbackgroundColor: \"white\",\n\t\t\t\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\tfontFamily: \"monospace\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: \"Retry\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ jsxs(ScrollView, {\n\t\t\t\t\t\t\tcontentContainerStyle: { gap: 12 },\n\t\t\t\t\t\t\tchildren: [error instanceof Error ? /* @__PURE__ */ jsx(Text, {\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\tfontFamily: \"monospace\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: error.stack\n\t\t\t\t\t\t\t}) : null, errorInfo?.componentStack ? /* @__PURE__ */ jsxs(Text, {\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\tfontFamily: \"monospace\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: [\"Component Stack: \", errorInfo.componentStack]\n\t\t\t\t\t\t\t}) : null]\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn this.props.children;\n\t}\n};\n\nexport { Group, Screen, createGetIdForRoute, getQualifiedRouteComponent, useSortedScreens };"],"mappings":"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","ignoreList":[]}