diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4d29575..0000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/README.md b/README.md deleted file mode 100644 index 58beeac..0000000 --- a/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Getting Started with Create React App - -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in your browser. - -The page will reload when you make changes.\ -You may also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can't go back!** - -If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. - -You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `npm run build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/asset-manifest.json b/asset-manifest.json index 1e4c78d..60081fd 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { "main.css": "/FicSpeak/static/css/main.ee1d97ca.css", - "main.js": "/FicSpeak/static/js/main.750c3bc0.js", + "main.js": "/FicSpeak/static/js/main.1d4b32e7.js", "static/js/453.0bad63bf.chunk.js": "/FicSpeak/static/js/453.0bad63bf.chunk.js", "static/media/messi.png": "/FicSpeak/static/media/messi.0a12b04fe6c363aaf36e.png", "static/media/background_create.jpeg": "/FicSpeak/static/media/background_create.07ba798b8cc0d6d2b4fc.jpeg", @@ -11,11 +11,11 @@ "static/media/anonymous.png": "/FicSpeak/static/media/anonymous.7ce45f002f7243473d37.png", "index.html": "/FicSpeak/index.html", "main.ee1d97ca.css.map": "/FicSpeak/static/css/main.ee1d97ca.css.map", - "main.750c3bc0.js.map": "/FicSpeak/static/js/main.750c3bc0.js.map", + "main.1d4b32e7.js.map": "/FicSpeak/static/js/main.1d4b32e7.js.map", "453.0bad63bf.chunk.js.map": "/FicSpeak/static/js/453.0bad63bf.chunk.js.map" }, "entrypoints": [ "static/css/main.ee1d97ca.css", - "static/js/main.750c3bc0.js" + "static/js/main.1d4b32e7.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index 9e37d9a..1ac63c8 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -
n[e]:null}function _a(e,t){const n="function"===typeof e?e(t):e;if(Array.isArray(n))return n.flatMap((e=>_a(e,t)));if(Array.isArray(n?.variants)){const{variants:e,...r}=n;let o,i=r;e:for(let n=0;n d){const e=s-d;o-=e,n.vertical+=e}if(null!==p&&a h){const e=c-h;a-=e,n.horizontal+=e}return{top:`${Math.round(o)}px`,left:`${Math.round(a)}px`,transformOrigin:Fu(n)}}),[i,l,R,A,p]),[O,M]=o.useState(f),N=o.useCallback((()=>{const e=_.current;if(!e)return;const t=P(e);null!==t.top&&e.style.setProperty("top",t.top),null!==t.left&&(e.style.left=t.left),e.style.transformOrigin=t.transformOrigin,M(!0)}),[P]);o.useEffect((()=>(k&&window.addEventListener("scroll",N),()=>window.removeEventListener("scroll",N))),[i,k,N]);o.useEffect((()=>{f&&N()})),o.useImperativeHandle(r,(()=>f?{updatePosition:()=>{N()}}:null),[f,N]),o.useEffect((()=>{if(!f)return;const e=Uc((()=>{N()})),t=Dc(i);return t.addEventListener("resize",e),()=>{e.clear(),t.removeEventListener("resize",e)}}),[i,f,N]);let D=w;"auto"!==w||b.muiSupportAuto||(D=void 0);const L=d||(i?wc(zu(i)).body:void 0),j={slots:g,slotProps:{...y,paper:E}},[$,F]=du("paper",{elementType:Uu,externalForwardedProps:j,additionalProps:{elevation:h,className:aa(I.paper,E?.className),style:O?E.style:{...E.style,opacity:0}},ownerState:T}),[z,{slotProps:B,...U}]=du("root",{elementType:Bu,externalForwardedProps:j,additionalProps:{slotProps:{backdrop:{invisible:!0}},container:L,open:f},ownerState:T,className:aa(I.root,u)}),V=ds(_,F.ref);return(0,jt.jsx)(z,{...U,...!pl(z)&&{slotProps:B,disableScrollLock:k},...C,ref:t,children:(0,jt.jsx)(b,{appear:!0,in:f,onEntering:(e,t)=>{x&&x(e,t),N()},onExited:()=>{M(!1)},timeout:D,...S,children:(0,jt.jsx)($,{...F,ref:V,children:c})})})})),Wu=Vu;function qu(e){return ua("MuiMenu",e)}Za("MuiMenu",["root","paper","list"]);const Hu={vertical:"top",horizontal:"right"},Ku={vertical:"top",horizontal:"left"},Gu=Ua(Wu,{shouldForwardProp:e=>Ba(e)||"classes"===e,name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Qu=Ua(Uu,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),Xu=Ua(Bc,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),Yu=o.forwardRef((function(e,t){const n=Xa({props:e,name:"MuiMenu"}),{autoFocus:r=!0,children:i,className:a,disableAutoFocusItem:s=!1,MenuListProps:l={},onClose:c,open:u,PaperProps:d={},PopoverClasses:h,transitionDuration:p="auto",TransitionProps:{onEntering:f,...m}={},variant:g="selectedMenu",slots:y={},slotProps:v={},...b}=n,w=lr(),x={...n,autoFocus:r,disableAutoFocusItem:s,MenuListProps:l,onEntering:f,PaperProps:d,transitionDuration:p,TransitionProps:m,variant:g},S=(e=>{const{classes:t}=e;return da({root:["root"],paper:["paper"],list:["list"]},qu,t)})(x),k=r&&!s&&u,C=o.useRef(null);let E=-1;o.Children.map(i,((e,t)=>{o.isValidElement(e)&&(e.props.disabled||("selectedMenu"===g&&e.props.selected||-1===E)&&(E=t))}));const _=y.paper??Qu,T=v.paper??d,I=Tc({elementType:y.root,externalSlotProps:v.root,ownerState:x,className:[S.root,a]}),R=Tc({elementType:_,externalSlotProps:T,ownerState:x,className:S.paper});return(0,jt.jsx)(Gu,{onClose:c,anchorOrigin:{vertical:"bottom",horizontal:w?"right":"left"},transformOrigin:w?Hu:Ku,slots:{paper:_,root:y.root},slotProps:{root:I,paper:R},open:u,ref:t,transitionDuration:p,TransitionProps:{onEntering:(e,t)=>{C.current&&C.current.adjustStyleForScrollbar(e,{direction:w?"rtl":"ltr"}),f&&f(e,t)},...m},ownerState:x,...b,classes:h,children:(0,jt.jsx)(Xu,{onKeyDown:e=>{"Tab"===e.key&&(e.preventDefault(),c&&c(e,"tabKeyDown"))},actions:C,autoFocus:r&&(-1===E||s),autoFocusItem:k,variant:g,...l,className:aa(S.list,l.className),children:i})})})),Ju=Yu;function Zu(e){return ua("MuiNativeSelect",e)}const ed=Za("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),td=Ua("select")((e=>{let{theme:t}=e;return{MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{borderRadius:0},[`&.${ed.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},variants:[{props:e=>{let{ownerState:t}=e;return"filled"!==t.variant&&"outlined"!==t.variant},style:{"&&&":{paddingRight:24,minWidth:16}}},{props:{variant:"filled"},style:{"&&&":{paddingRight:32}}},{props:{variant:"outlined"},style:{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}}]}})),nd=Ua(td,{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:Ba,overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.select,t[n.variant],n.error&&t.error,{[`&.${ed.multiple}`]:t.multiple}]}})({}),rd=Ua("svg")((e=>{let{theme:t}=e;return{position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${ed.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:e=>{let{ownerState:t}=e;return t.open},style:{transform:"rotate(180deg)"}},{props:{variant:"filled"},style:{right:7}},{props:{variant:"outlined"},style:{right:7}}]}})),od=Ua(rd,{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${Ya(n.variant)}`],n.open&&t.iconOpen]}})({}),id=o.forwardRef((function(e,t){const{className:n,disabled:r,error:i,IconComponent:a,inputRef:s,variant:l="standard",...c}=e,u={...e,disabled:r,variant:l,error:i},d=(e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:i,error:a}=e;return da({select:["select",n,r&&"disabled",o&&"multiple",a&&"error"],icon:["icon",`icon${Ya(n)}`,i&&"iconOpen",r&&"disabled"]},Zu,t)})(u);return(0,jt.jsxs)(o.Fragment,{children:[(0,jt.jsx)(nd,{ownerState:u,className:aa(d.select,n),disabled:r,ref:s||t,...c}),e.multiple?null:(0,jt.jsx)(od,{as:a,ownerState:u,className:d.icon})]})})),ad=id;function sd(e){let{controlled:t,default:n,name:r,state:i="value"}=e;const{current:a}=o.useRef(void 0!==t),[s,l]=o.useState(n);return[a?t:s,o.useCallback((e=>{a||l(e)}),[])]}const ld=sd;function cd(e){return ua("MuiSelect",e)}const ud=Za("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var dd;const hd=Ua(td,{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`&.${ud.select}`]:t.select},{[`&.${ud.select}`]:t[n.variant]},{[`&.${ud.error}`]:t.error},{[`&.${ud.multiple}`]:t.multiple}]}})({[`&.${ud.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),pd=Ua(rd,{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${Ya(n.variant)}`],n.open&&t.iconOpen]}})({}),fd=Ua("input",{shouldForwardProp:e=>za(e)&&"classes"!==e,name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function md(e,t){return"object"===typeof t&&null!==t?e===t:String(e)===String(t)}function gd(e){return null==e||"string"===typeof e&&!e.trim()}const yd=o.forwardRef((function(e,t){const{"aria-describedby":n,"aria-label":r,autoFocus:i,autoWidth:a,children:s,className:l,defaultOpen:c,defaultValue:u,disabled:d,displayEmpty:h,error:p=!1,IconComponent:f,inputRef:m,labelId:g,MenuProps:y={},multiple:v,name:b,onBlur:w,onChange:x,onClose:S,onFocus:k,onOpen:C,open:E,readOnly:_,renderValue:T,SelectDisplayProps:I={},tabIndex:R,type:A,value:P,variant:O="standard",...M}=e,[N,D]=ld({controlled:P,default:u,name:"Select"}),[L,j]=ld({controlled:E,default:c,name:"Select"}),$=o.useRef(null),F=o.useRef(null),[z,B]=o.useState(null),{current:U}=o.useRef(null!=E),[V,W]=o.useState(),q=ds(t,m),H=o.useCallback((e=>{F.current=e,e&&B(e)}),[]),K=z?.parentNode;o.useImperativeHandle(q,(()=>({focus:()=>{F.current.focus()},node:$.current,value:N})),[N]),o.useEffect((()=>{c&&L&&z&&!U&&(W(a?null:K.clientWidth),F.current.focus())}),[z,a]),o.useEffect((()=>{i&&F.current.focus()}),[i]),o.useEffect((()=>{if(!g)return;const e=wc(F.current).getElementById(g);if(e){const t=()=>{getSelection().isCollapsed&&F.current.focus()};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}}),[g]);const G=(e,t)=>{e?C&&C(t):S&&S(t),U||(W(a?null:K.clientWidth),j(e))},Q=o.Children.toArray(s),X=e=>t=>{let n;if(t.currentTarget.hasAttribute("tabindex")){if(v){n=Array.isArray(N)?N.slice():[];const t=N.indexOf(e.props.value);-1===t?n.push(e.props.value):n.splice(t,1)}else n=e.props.value;if(e.props.onClick&&e.props.onClick(t),N!==n&&(D(n),x)){const r=t.nativeEvent||t,o=new r.constructor(r.type,r);Object.defineProperty(o,"target",{writable:!0,value:{value:n,name:b}}),x(o,e)}v||G(!1,t)}},Y=null!==z&&L;let J,Z;delete M["aria-invalid"];const ee=[];let te=!1,ne=!1;(bl({value:N})||h)&&(T?J=T(N):te=!0);const re=Q.map((e=>{if(!o.isValidElement(e))return null;let t;if(v){if(!Array.isArray(N))throw new Error(br(2));t=N.some((t=>md(t,e.props.value))),t&&te&&ee.push(e.props.children)}else t=md(N,e.props.value),t&&te&&(Z=e.props.children);return t&&(ne=!0),o.cloneElement(e,{"aria-selected":t?"true":"false",onClick:X(e),onKeyUp:t=>{" "===t.key&&t.preventDefault(),e.props.onKeyUp&&e.props.onKeyUp(t)},role:"option",selected:t,value:void 0,"data-value":e.props.value})}));te&&(J=v?0===ee.length?null:ee.reduce(((e,t,n)=>(e.push(t),n a||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// 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](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","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};","// 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 \"static/js/\" + chunkId + \".\" + \"0bad63bf\" + \".chunk.js\";\n};","// This function allow to reference async 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))","var inProgress = {};\nvar dataWebpackPrefix = \"fic-speak:\";\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\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\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};","// 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 = \"/FicSpeak/\";","// 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\t792: 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}\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 = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\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[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfic_speak\"] = self[\"webpackChunkfic_speak\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location