(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{102:function(t,e,n){var content=n(166);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(8).default)("c7f1b26e",content,!0,{sourceMap:!1})},103:function(t,e,n){var content=n(183);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(8).default)("bb28a54a",content,!0,{sourceMap:!1})},120:function(t,e,n){const o={dev:!1,weburl:"https://battlemaps.online",appurl:"https://app.battlemaps.online",serverurl:"https://server.battlemaps.online",realtimeurl:"wss://realtime.battlemaps.online"};t.exports={...o}},121:function(t,e,n){"use strict";var o=n(1),r=n(3);const c=window.__NUXT__;function l(){if(!this._hydrated)return this.$fetch()}function d(){if(!((t=this).$vnode&&t.$vnode.elm&&t.$vnode.elm.dataset&&t.$vnode.elm.dataset.fetchKey))return;var t;this._hydrated=!0,this._fetchKey=this.$vnode.elm.dataset.fetchKey;const data=c.fetch[this._fetchKey];if(data&&data._error)this.$fetchState.error=data._error;else for(const t in data)o.a.set(this.$data,t,data[t])}function h(){return this._fetchPromise||(this._fetchPromise=f.call(this).then((()=>{delete this._fetchPromise}))),this._fetchPromise}async function f(){this.$nuxt.nbFetching++,this.$fetchState.pending=!0,this.$fetchState.error=null,this._hydrated=!1;let t=null;const e=Date.now();try{await this.$options.fetch.call(this)}catch(e){0,t=Object(r.o)(e)}const n=this._fetchDelay-(Date.now()-e);n>0&&await new Promise((t=>setTimeout(t,n))),this.$fetchState.error=t,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((()=>this.$nuxt.nbFetching--))}e.a={beforeCreate(){Object(r.k)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.a.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=h.bind(this),Object(r.a)(this,"created",d),Object(r.a)(this,"beforeMount",l))}}},125:function(t,e,n){t.exports=n(126)},126:function(t,e,n){"use strict";n.r(e),function(t){var e=n(1),o=n(117),r=n(86),c=n(3),l=n(34),d=n(121),h=n(71);e.a.__nuxt__fetch__mixin__||(e.a.mixin(d.a),e.a.__nuxt__fetch__mixin__=!0),e.a.component(h.a.name,h.a),e.a.component("NLink",h.a),t.fetch||(t.fetch=o.a);let f,m,v,y=[];const w=window.__NUXT__||{},x=w.config||{};x.app&&(n.p=Object(c.u)(x.app.cdnURL,x.app.assetsPath)),Object.assign(e.a.config,{silent:!0,performance:!1});const _=e.a.config.errorHandler||console.error;function $(t,e,n){const o=component=>{const t=function(component,t,...e){if(!component||!component.options||!component.options[t])return{};const option=component.options[t];return"function"==typeof option?option(...e):option}(component,"transition",e,n)||{};return"string"==typeof t?{name:t}:t},r=n?Object(c.g)(n):[],l=Math.max(t.length,r.length),d=[];for(let i=0;ivoid 0!==e[t]&&!t.toLowerCase().includes("leave"))).forEach((t=>{n[t]=e[t]})),d.push(n)}return d}async function O(t,e,n){this._routeChanged=Boolean(f.nuxt.err)||e.name!==t.name,this._paramChanged=!this._routeChanged&&e.path!==t.path,this._queryChanged=!this._paramChanged&&e.fullPath!==t.fullPath,this._diffQuery=this._queryChanged?Object(c.i)(t.query,e.query):[],(this._routeChanged||this._paramChanged)&&this.$loading.start&&!this.$loading.manual&&this.$loading.start();try{if(this._queryChanged){const n=await Object(c.q)(t,((t,e)=>({Component:t,instance:e})));n.some((({Component:n,instance:o})=>{const r=n.options.watchQuery;return!0===r||(Array.isArray(r)?r.some((t=>this._diffQuery[t])):"function"==typeof r&&r.apply(o,[t.query,e.query]))}))&&this.$loading.start&&!this.$loading.manual&&this.$loading.start()}n()}catch(o){const r=o||{},c=r.statusCode||r.status||r.response&&r.response.status||500,l=r.message||"";if(/^Loading( CSS)? chunk (\d)+ failed\./.test(l))return void window.location.reload(!0);this.error({statusCode:c,message:l}),this.$nuxt.$emit("routeChanged",t,e,r),n()}}function C(t,e,n){let o=["auth"],l=!1;if(void 0!==n&&(o=[],(n=Object(c.r)(n)).options.middleware&&(o=o.concat(n.options.middleware)),t.forEach((t=>{t.options.middleware&&(o=o.concat(t.options.middleware))}))),o=o.map((t=>"function"==typeof t?t:("function"!=typeof r.a[t]&&(l=!0,this.error({statusCode:500,message:"Unknown middleware "+t})),r.a[t]))),!l)return Object(c.n)(o,e)}async function E(t,e,n){if(!1===this._routeChanged&&!1===this._paramChanged&&!1===this._queryChanged)return n();let o=!1;if(t===e)y=[],o=!0;else{const t=[];y=Object(c.g)(e,t).map(((n,i)=>Object(c.c)(e.matched[t[i]].path)(e.params)))}let r=!1;await Object(c.s)(f,{route:t,from:e,next:(path=>{e.path===path.path&&this.$loading.finish&&this.$loading.finish(),e.path!==path.path&&this.$loading.pause&&this.$loading.pause(),r||(r=!0,n(path))}).bind(this)}),this._dateLastError=f.nuxt.dateErr,this._hadError=Boolean(f.nuxt.err);const d=[],h=Object(c.g)(t,d);if(!h.length){if(await C.call(this,h,f.context),r)return;const t=(l.a.options||l.a).layout,e=await this.loadLayout("function"==typeof t?t.call(l.a,f.context):t);if(await C.call(this,h,f.context,e),r)return;return f.context.error({statusCode:404,message:"This page could not be found"}),n()}h.forEach((t=>{t._Ctor&&t._Ctor.options&&(t.options.asyncData=t._Ctor.options.asyncData,t.options.fetch=t._Ctor.options.fetch)})),this.setTransitions($(h,t,e));try{if(await C.call(this,h,f.context),r)return;if(f.context._errored)return n();let o=h[0].options.layout;if("function"==typeof o&&(o=o(f.context)),o=await this.loadLayout(o),await C.call(this,h,f.context,o),r)return;if(f.context._errored)return n();let l,m=!0;try{for(const t of h)if("function"==typeof t.options.validate&&(m=await t.options.validate(f.context),!m))break}catch(t){return this.error({statusCode:t.statusCode||"500",message:t.message}),n()}if(!m)return this.error({statusCode:404,message:"This page could not be found"}),n();await Promise.all(h.map((async(n,i)=>{n._path=Object(c.c)(t.matched[d[i]].path)(t.params),n._dataRefresh=!1;const o=n._path!==y[i];if(this._routeChanged&&o)n._dataRefresh=!0;else if(this._paramChanged&&o){const t=n.options.watchParam;n._dataRefresh=!1!==t}else if(this._queryChanged){const o=n.options.watchQuery;!0===o?n._dataRefresh=!0:Array.isArray(o)?n._dataRefresh=o.some((t=>this._diffQuery[t])):"function"==typeof o&&(l||(l=Object(c.h)(t)),n._dataRefresh=o.apply(l[i],[t.query,e.query]))}if(!this._hadError&&this._isMounted&&!n._dataRefresh)return;const r=[],h=n.options.asyncData&&"function"==typeof n.options.asyncData,m=Boolean(n.options.fetch)&&n.options.fetch.length,v=h&&m?30:45;if(h){const t=Object(c.p)(n.options.asyncData,f.context);t.then((t=>{Object(c.b)(n,t),this.$loading.increase&&this.$loading.increase(v)})),r.push(t)}if(this.$loading.manual=!1===n.options.loading,m){let p=n.options.fetch(f.context);p&&(p instanceof Promise||"function"==typeof p.then)||(p=Promise.resolve(p)),p.then((t=>{this.$loading.increase&&this.$loading.increase(v)})),r.push(p)}return Promise.all(r)}))),r||(this.$loading.finish&&!this.$loading.manual&&this.$loading.finish(),n())}catch(o){const r=o||{};if("ERR_REDIRECT"===r.message)return this.$nuxt.$emit("routeChanged",t,e,r);y=[],Object(c.j)(r);let d=(l.a.options||l.a).layout;"function"==typeof d&&(d=d(f.context)),await this.loadLayout(d),this.error(r),this.$nuxt.$emit("routeChanged",t,e,r),n()}}function j(t,n){Object(c.d)(t,((t,n,o,r)=>("object"!=typeof t||t.options||((t=e.a.extend(t))._Ctor=t,o.components[r]=t),t)))}function T(t){let e=Boolean(this.$options.nuxt.err);this._hadError&&this._dateLastError===this.$options.nuxt.dateErr&&(e=!1);let n=e?(l.a.options||l.a).layout:t.matched[0].components.default.options.layout;"function"==typeof n&&(n=n(f.context)),this.setLayout(n)}function k(t){t._hadError&&t._dateLastError===t.$options.nuxt.dateErr&&t.error()}function S(t,n){if(!1===this._routeChanged&&!1===this._paramChanged&&!1===this._queryChanged)return;const o=Object(c.h)(t),r=Object(c.g)(t);let l=!1;e.a.nextTick((()=>{o.forEach(((t,i)=>{if(t&&!t._isDestroyed&&t.constructor._dataRefresh&&r[i]===t.constructor&&!0!==t.$vnode.data.keepAlive&&"function"==typeof t.constructor.options.data){const n=t.constructor.options.data.call(t);for(const o in n)e.a.set(t.$data,o,n[o]);l=!0}})),l&&window.$nuxt.$nextTick((()=>{window.$nuxt.$emit("triggerScroll")})),k(this)}))}Object(l.b)(null,w.config).then((async function(t){f=t.app,m=t.router,v=t.store;const n=new e.a(f),o=w.layout||"default";await n.loadLayout(o),n.setLayout(o);const r=()=>{n.$mount("#__nuxt"),m.afterEach(j),m.afterEach(T.bind(n)),m.afterEach(S.bind(n)),e.a.nextTick((()=>{!function(t){window.onNuxtReadyCbs.forEach((e=>{"function"==typeof e&&e(t)})),"function"==typeof window._onNuxtLoaded&&window._onNuxtLoaded(t);m.afterEach(((n,o)=>{e.a.nextTick((()=>t.$nuxt.$emit("routeChanged",n,o)))}))}(n)}))},l=await Promise.all(function(t){const path=Object(c.f)(t.options.base,t.options.mode);return Object(c.d)(t.match(path),(async(t,e,n,o,r)=>{"function"!=typeof t||t.options||(t=await t());const l=function(t,e){w.serverRendered&&e&&Object(c.b)(t,e);return t._Ctor=t,t}(Object(c.r)(t),w.data?w.data[r]:null);return n.components[o]=l,l}))}(m));n.setTransitions=n.$options.nuxt.setTransitions.bind(n),l.length&&(n.setTransitions($(l,m.currentRoute)),y=m.currentRoute.matched.map((t=>Object(c.c)(t.path)(m.currentRoute.params))));n.$loading={},w.error&&n.error(w.error);if(m.beforeEach(O.bind(n)),m.beforeEach(E.bind(n)),w.serverRendered&&Object(c.m)(w.routePath,n.context.route.path))return r();const d=()=>{j(m.currentRoute,m.currentRoute),T.call(n,m.currentRoute),k(n),r()};await new Promise((t=>setTimeout(t,0))),E.call(n,m.currentRoute,m.currentRoute,(path=>{if(!path)return void d();const t=m.afterEach(((e,n)=>{t(),d()}));m.push(path,void 0,(t=>{t&&_(t)}))}))})).catch(_)}.call(this,n(26))},130:function(t,e,n){"use strict";n(96)},131:function(t,e,n){var o=n(7)(!1);o.push([t.i,"h1[data-v-495dc2cf]{font-size:20px}",""]),t.exports=o},134:function(t,e,n){"use strict";n(97)},135:function(t,e,n){var o=n(7)(!1);o.push([t.i,".nuxt-progress{position:fixed;top:0;left:0;right:0;height:2px;width:0;opacity:1;transition:width .1s,opacity .4s;background-color:#fff;z-index:999999}.nuxt-progress.nuxt-progress-notransition{transition:none}.nuxt-progress-failed{background-color:red}",""]),t.exports=o},136:function(t,e,n){t.exports=n.p+"img/logo.1a136a5.svg"},15:function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return l}));var o=n(56),r=(n(237),n(239),n(127),n(1));const c=o.a.apps.length?o.a.app():o.a.initializeApp({apiKey:"AIzaSyAow1Q82pJSQnLUigmxWxxJgsQINaVHmeQ",authDomain:"battlemaps-online.firebaseapp.com",databaseURL:"https://battlemaps-online.firebaseio.com",projectId:"battlemaps-online",storageBucket:"battlemaps-online.appspot.com",messagingSenderId:"547269104131",appId:"1:547269104131:web:7d779923e881a4a44a7436"}),l=c.auth(),d=o.a.auth;r.a.prototype.$fire=r.a.prototype.$fire||{},r.a.prototype.$fireModule=r.a.prototype.$fireModule||{},r.a.prototype.$fireModule.auth=d,r.a.prototype.$fire.auth=l},165:function(t,e,n){"use strict";n(102)},166:function(t,e,n){var o=n(7)(!1);o.push([t.i,"#home-app-bar .v-tabs-slider{max-width:24px;margin:0 auto}#home-app-bar .v-tab:before{display:none}",""]),t.exports=o},182:function(t,e,n){"use strict";n(103)},183:function(t,e,n){var o=n(7)(!1);o.push([t.i,"#home-footer a{text-decoration:none}",""]),t.exports=o},191:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return h})),n.d(e,"mutations",(function(){return f})),n.d(e,"actions",(function(){return m}));var o=n(67),r=n(33),c=n(5),l=n(31),d=n(36);const h=()=>({profile:void 0,memberProfiles:{},tokens:[],filter:"",group:void 0,notifications:[],messaging:!1,rolls:[],log:[],exposeSidebar:!0,exposeTerminal:!1,exposeActionTray:!1,enablePresence:!0}),f={[c.p](t,e){t.exposeSidebar=e,t.exposeActionTray=!e},[c.q](t,e){t.exposeTerminal=e},[c.o](t,e){t.exposeTerminal=e},[c.n](t,e){t.enablePresence=e},[c.b](t,e){t.rolls.includes(e)||t.rolls.push(e)},[c.i](t,e){t.rolls=t.rolls.filter((t=>t!==e))},[c.v](t,e){t.rolls=null!=e?e:[]},[c.c](t,e){t.tokens.push(e)},[c.j](t,e){t.tokens=t.tokens.filter((t=>t.name!==e.name))},[c.m](t,e){t.profile&&(t.profile.color=e,Object(r.f)({color:t.profile.color}))},[c.f](t,e){t.filter=e},[c.g](t,e){const n=Object(o.indexOf)(t.log,(t=>t.id===e.id));for(-1===n?t.log.push(e):t.log.splice(n,1,e);t.log.length>200;)t.log.shift()},[c.d](t){t.log=[]},[c.a](t,e){t.notifications.find((t=>t.id===e.id))||t.notifications.push(e)},[c.h](t,e){t.notifications=t.notifications.filter((t=>t.id!==e.id))},[c.e](t){t.notifications=[]},[c.k](t,e){const n=Object(o.indexOf)(t.notifications,(t=>t.id===e.id));n>-1&&t.notifications.splice(n,1,e)},[c.l](t,{authUser:e}={}){if(e){const{uid:n,email:o,emailVerified:r,dname:c}=e;t.profile={...t.profile,uid:n,email:o,emailVerified:r,dname:c}}else t.profile=void 0},[c.u](t,e){t.profile=e||void 0},[c.r](t,e){e?t.group=e:(t.group=void 0,t.memberProfiles={})},[c.s](t,e){e&&(t.memberProfiles={...t.memberProfiles,[e.uid]:e})},[c.t](t,e){t.messaging=e}},m={[l.f]({commit:t},e){t(c.v,e.rolls)},[l.d]({commit:t,state:e},n){var o;t(c.b,n),Object(d.n)(null===(o=e.group)||void 0===o?void 0:o.id,{rolls:e.rolls})},[l.a]({commit:t,state:e},n){var o;t(c.i,n),Object(d.n)(null===(o=e.group)||void 0===o?void 0:o.id,{rolls:e.rolls})},async[l.b]({commit:t},e){const n=await Object(r.b)(e);n&&t(c.u,n)},[l.c]({state:t}){t.profile&&Object(r.f)(t.profile)},[l.e]({commit:t,state:e},n){var l,d;if(n){const[h,f]=Object(o.difference)(null!==(d=null===(l=e.group)||void 0===l?void 0:l.members)&&void 0!==d?d:[],n.members);h.forEach((t=>{delete e.memberProfiles[t],Object(r.d)("profiles",t)})),f.forEach((e=>{Object(r.c)("profiles",e,(data=>t(c.s,data)))}))}t(c.r,n)}}},238:function(t,e,n){"use strict";n.r(e);const o={"/newaccount":!0},r={"/main":!0,"/play":!0,"/account":!0};var c=n(5),l=n(15);e.default=function({app:t,store:e,route:n,params:d,query:h,redirect:f}){var m,v,y,w,x,_,$,O,C,E,j;const path=n.path.toLocaleLowerCase();if("/register"===path){if((null===(m=e.state.profile)||void 0===m?void 0:m.uid)&&(null===(v=e.state.profile)||void 0===v?void 0:v.accountKind))return f("/account")}else{if("/login"===path&&(null===(y=e.state.profile)||void 0===y?void 0:y.uid))return(null===(w=e.state.profile)||void 0===w?void 0:w.accountKind)?f("/account"):f("/register");if(path in r){if(!(null===(x=e.state.profile)||void 0===x?void 0:x.uid))return f("/login");if(!(null===(_=e.state.profile)||void 0===_?void 0:_.accountKind))return f("/register")}else if(path in o){if(!(null===($=e.state.profile)||void 0===$?void 0:$.uid))return f("/register");if((null===(O=e.state.profile)||void 0===O?void 0:O.uid)&&(null===(C=e.state.profile)||void 0===C?void 0:C.accountKind))return f("/home")}else(null===(E=e.state.profile)||void 0===E?void 0:E.uid)&&!(null===(j=e.state.profile)||void 0===j?void 0:j.accountKind)&&(console.log("signout"),l.b.signOut(),e.commit(c.l,{authUser:null}))}}},3:function(t,e,n){"use strict";n.d(e,"j",(function(){return c})),n.d(e,"l",(function(){return l})),n.d(e,"k",(function(){return d})),n.d(e,"e",(function(){return h})),n.d(e,"b",(function(){return f})),n.d(e,"r",(function(){return m})),n.d(e,"g",(function(){return v})),n.d(e,"h",(function(){return y})),n.d(e,"d",(function(){return w})),n.d(e,"q",(function(){return x})),n.d(e,"s",(function(){return $})),n.d(e,"n",(function(){return O})),n.d(e,"p",(function(){return C})),n.d(e,"f",(function(){return E})),n.d(e,"c",(function(){return j})),n.d(e,"i",(function(){return T})),n.d(e,"o",(function(){return k})),n.d(e,"a",(function(){return I})),n.d(e,"u",(function(){return D})),n.d(e,"m",(function(){return M})),n.d(e,"t",(function(){return V}));var o=n(1),r=n(32);function c(t){o.a.config.errorHandler&&o.a.config.errorHandler(t)}function l(t){return t.then((t=>t.default||t))}function d(t){return t.$options&&"function"==typeof t.$options.fetch&&!t.$options.fetch.length}function h(t,e=[]){const n=t.$children||[];for(const t of n)t.$fetch?e.push(t):t.$children&&h(t,e);return e}function f(t,e){if(!e&&t.options.__hasNuxtData)return;const n=t.options._originDataFn||t.options.data||function(){return{}};t.options._originDataFn=n,t.options.data=function(){const data=n.call(this,this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),{...data,...e}},t.options.__hasNuxtData=!0,t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)}function m(t){return t.options&&t._Ctor===t||(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=o.a.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function v(t,e=!1,n="components"){return Array.prototype.concat.apply([],t.matched.map(((t,o)=>Object.keys(t[n]).map((r=>(e&&e.push(o),t[n][r]))))))}function y(t,e=!1){return v(t,e,"instances")}function w(t,e){return Array.prototype.concat.apply([],t.matched.map(((t,n)=>Object.keys(t.components).reduce(((o,r)=>(t.components[r]?o.push(e(t.components[r],t.instances[r],t,r,n)):delete t.components[r],o)),[]))))}function x(t,e){return Promise.all(w(t,(async(t,n,o,r)=>("function"!=typeof t||t.options||(t=await t()),o.components[r]=t=m(t),"function"==typeof e?e(t,n,o,r):t))))}async function _(t){if(t)return await x(t),{...t,meta:v(t).map(((e,n)=>({...e.options.meta,...(t.matched[n]||{}).meta})))}}async function $(t,e){t.context||(t.context={isStatic:!1,isDev:!1,isHMR:!1,app:t,store:t.store,payload:e.payload,error:e.error,base:t.router.options.base,env:{}},e.req&&(t.context.req=e.req),e.res&&(t.context.res=e.res),e.ssrContext&&(t.context.ssrContext=e.ssrContext),t.context.redirect=(e,path,n)=>{if(!e)return;t.context._redirected=!0;let o=typeof path;if("number"==typeof e||"undefined"!==o&&"object"!==o||(n=path||{},o=typeof(path=e),e=302),"object"===o&&(path=t.router.resolve(path).route.fullPath),!/(^[.]{1,2}\/)|(^\/(?!\/))/.test(path))throw path=Object(r.d)(path,n),window.location.replace(path),new Error("ERR_REDIRECT");t.context.next({path:path,query:n,status:e})},t.context.nuxtState=window.__NUXT__);const[n,o]=await Promise.all([_(e.route),_(e.from)]);e.route&&(t.context.route=n),e.from&&(t.context.from=o),t.context.next=e.next,t.context._redirected=!1,t.context._errored=!1,t.context.isHMR=!1,t.context.params=t.context.route.params||{},t.context.query=t.context.route.query||{}}function O(t,e){return!t.length||e._redirected||e._errored?Promise.resolve():C(t[0],e).then((()=>O(t.slice(1),e)))}function C(t,e){let n;return n=2===t.length?new Promise((n=>{t(e,(function(t,data){t&&e.error(t),n(data=data||{})}))})):t(e),n&&n instanceof Promise&&"function"==typeof n.then?n:Promise.resolve(n)}function E(base,t){if("hash"===t)return window.location.hash.replace(/^#\//,"");base=decodeURI(base).slice(0,-1);let path=decodeURI(window.location.pathname);base&&path.startsWith(base)&&(path=path.slice(base.length));const e=(path||"/")+window.location.search+window.location.hash;return Object(r.c)(e)}function j(t,e){return function(t,e){const n=new Array(t.length);for(let i=0;i{window.onNuxtReadyCbs.push(t)};const S=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function R(t,e){const n=e?/[?#]/g:/[/?#]/g;return encodeURI(t).replace(n,(t=>"%"+t.charCodeAt(0).toString(16).toUpperCase()))}function A(t){return R(t,!0)}function P(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function L(t){return t.replace(/([=!:$/()])/g,"\\$1")}function N(t){return t&&t.sensitive?"":"i"}function I(t,e,n){t.$options[e]||(t.$options[e]=[]),t.$options[e].includes(n)||t.$options[e].push(n)}const D=r.b,M=(r.e,r.a);function V(t){try{window.history.scrollRestoration=t}catch(t){}}},31:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return r})),n.d(e,"e",(function(){return c})),n.d(e,"d",(function(){return l})),n.d(e,"a",(function(){return d})),n.d(e,"f",(function(){return h}));const o="LOAD_USER",r="SAVE_USER",c="UPDATE_GROUP",l="STORE_ROLL",d="DELETE_ROLL",h="UPDATE_LOCAL_SETTINGS"},33:function(t,e,n){"use strict";n.d(e,"b",(function(){return y})),n.d(e,"f",(function(){return w})),n.d(e,"c",(function(){return x})),n.d(e,"d",(function(){return _})),n.d(e,"e",(function(){return $}));var o=n(1),r=n(40),c=n(50),l=n(15),d=n(36);const h=l.a.firestore();o.a.prototype.$fire.firestore=h;let f=null;const m={},v={};async function y(t){if(!h)throw new Error("cannot reach store");if(!t)throw new Error("no uid");const e=await h.collection("users").doc(t).get();if(!e.exists)throw new Error("no user");const n=e.data();if(!n)throw new Error("no user");return n}const w=Object(r.debounce)((function(t){let e;const n=null===(e=null==f?void 0:f.state.profile)||void 0===e?void 0:e.uid;h&&n&&Object(d.d)({color:t.color,dname:t.dname,dnamelc:t.dnamelc})}),1e4,{leading:!0});function x(t,e,n,o){if(!m[t]||!m[t][e]){const sub=h.collection(t).doc(e).onSnapshot((t=>{t.exists?n(t.data()):n()}),(t=>{o&&o(t)}));m[t]=m[t]||{},m[t][e]=sub}return()=>{m[t]&&m[t][e]&&(m[t][e](),delete m[t][e])}}function _(t,e){m[t]&&m[t][e]&&(m[t][e](),delete m[t][e])}function $(){Object(c.forEach)(m,((t,e)=>{Object(c.forEach)(t,(t=>t())),delete m[e]})),Object(c.forEach)(v,((t,e)=>{t(),delete m[e]}))}e.a=t=>{const{store:e}=t;f||(f=e)}},34:function(t,e,n){"use strict";n.d(e,"b",(function(){return Ft})),n.d(e,"a",(function(){return R}));var o=n(1),r=n(30),c=n(118),l=n(87),d=n.n(l),h=n(49),f=n.n(h),m=n(88),v=n(32),y=n(3);"scrollRestoration"in window.history&&(Object(y.t)("manual"),window.addEventListener("beforeunload",(()=>{Object(y.t)("auto")})),window.addEventListener("load",(()=>{Object(y.t)("manual")})));const w=()=>{};o.a.use(m.a);const x={mode:"history",base:"/",linkActiveClass:"nuxt-link-active",linkExactActiveClass:"nuxt-link-exact-active",scrollBehavior:function(t,e,n){let o=!1;const r=t!==e;n?o=n:r&&function(t){const e=Object(y.g)(t);if(1===e.length){const{options:t={}}=e[0];return!1!==t.scrollToTop}return e.some((({options:t})=>t&&t.scrollToTop))}(t)&&(o={x:0,y:0});const c=window.$nuxt;return(!r||t.path===e.path&&t.hash!==e.hash)&&c.$nextTick((()=>c.$emit("triggerScroll"))),new Promise((e=>{c.$once("triggerScroll",(()=>{if(t.hash){let e=t.hash;void 0!==window.CSS&&void 0!==window.CSS.escape&&(e="#"+window.CSS.escape(e.substr(1)));try{document.querySelector(e)&&(o={selector:e})}catch(t){console.warn("Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).")}}e(o)}))}))},routes:[{path:"/about",component:()=>Object(y.l)(n.e(4).then(n.bind(null,371))),name:"About"},{path:"/account",component:()=>Object(y.l)(n.e(5).then(n.bind(null,365))),name:"Account"},{path:"/contact",component:()=>Object(y.l)(n.e(6).then(n.bind(null,372))),name:"Contact"},{path:"/login",component:()=>Object(y.l)(Promise.all([n.e(0),n.e(8)]).then(n.bind(null,366))),name:"Sign-in"},{path:"/logout",component:()=>Object(y.l)(n.e(9).then(n.bind(null,367))),name:"Sign-out"},{path:"/newaccount",component:()=>Object(y.l)(n.e(10).then(n.bind(null,368))),name:"New-Account"},{path:"/play",component:()=>Object(y.l)(Promise.all([n.e(0),n.e(1),n.e(15),n.e(11)]).then(n.bind(null,362))),name:"Play"},{path:"/register",component:()=>Object(y.l)(Promise.all([n.e(0),n.e(1),n.e(16),n.e(12)]).then(n.bind(null,369))),name:"Register"},{path:"/",component:()=>Object(y.l)(n.e(7).then(n.bind(null,370))),alias:["/home"],name:"Home"}],fallback:!1};var _={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render(t,{parent:e,data:data,props:n}){const o=e.$createElement;data.nuxtChild=!0;const r=e,c=e.$nuxt.nuxt.transitions,l=e.$nuxt.nuxt.defaultTransition;let d=0;for(;e;)e.$vnode&&e.$vnode.data.nuxtChild&&d++,e=e.$parent;data.nuxtChildDepth=d;const h=c[d]||l,f={};$.forEach((t=>{void 0!==h[t]&&(f[t]=h[t])}));const m={};O.forEach((t=>{"function"==typeof h[t]&&(m[t]=h[t].bind(r))}));{const t=m.beforeEnter;m.beforeEnter=e=>{if(window.$nuxt.$nextTick((()=>{window.$nuxt.$emit("triggerScroll")})),t)return t.call(r,e)}}if(!1===h.css){const t=m.leave;(!t||t.length<2)&&(m.leave=(e,n)=>{t&&t.call(r,e),r.$nextTick(n)})}let v=o("routerView",data);return n.keepAlive&&(v=o("keep-alive",{props:n.keepAliveProps},[v])),o("transition",{props:f,on:m},[v])}};const $=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],O=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"];var C={layout:"empty",props:{error:{type:Object,default:null}},data:()=>({pageNotFound:"404 Not Found",otherError:"An error occurred"}),head(){return{title:404===this.error.statusCode?this.pageNotFound:this.otherError}}},E=(n(130),n(19)),j=n(25),T=n.n(j),k=n(249),S=Object(E.a)(C,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-app",{attrs:{dark:""}},[404===t.error.statusCode?n("h1",[t._v("\n "+t._s(t.pageNotFound)+"\n ")]):n("h1",[t._v("\n "+t._s(t.otherError)+"\n ")]),t._v(" "),n("NuxtLink",{attrs:{to:"/"}},[t._v(" Home page ")])],1)}),[],!1,null,"495dc2cf",null),R=S.exports;T()(S,{VApp:k.a});var A={name:"Nuxt",components:{NuxtChild:_,NuxtError:R},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured(t){this.displayingNuxtError&&(this.errorFromNuxtError=t,this.$forceUpdate())},computed:{routerViewKey(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(y.c)(this.$route.matched[0].path)(this.$route.params);const[t]=this.$route.matched;if(!t)return this.$route.path;const e=t.components.default;if(e&&e.options){const{options:t}=e;if(t.key)return"function"==typeof t.key?t.key(this.$route):t.key}return/\/$/.test(t.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate(){o.a.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render(t){return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((()=>this.errorFromNuxtError=!1)),t("div",{},[t("h2","An error occurred while showing the error page"),t("p","Unfortunately an error occurred and while showing the error page another error occurred"),t("p",`Error details: ${this.errorFromNuxtError.toString()}`),t("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((()=>this.displayingNuxtError=!1)),t(R,{props:{error:this.nuxt.err}})):t("NuxtChild",{key:this.routerViewKey,props:this.$props})}},P={name:"NuxtLoading",data:()=>({percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}),computed:{left(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy(){this.clear()},methods:{clear(){clearInterval(this._timer),clearTimeout(this._throttle),this._timer=null},start(){return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((()=>this.startTimer()),this.throttle):this.startTimer(),this},set(t){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(t))),this},get(){return this.percent},increase(t){return this.percent=Math.min(100,Math.floor(this.percent+t)),this},decrease(t){return this.percent=Math.max(0,Math.floor(this.percent-t)),this},pause(){return clearInterval(this._timer),this},resume(){return this.startTimer(),this},finish(){return this.percent=this.reversed?0:100,this.hide(),this},hide(){return this.clear(),setTimeout((()=>{this.show=!1,this.$nextTick((()=>{this.percent=0,this.reversed=!1}))}),500),this},fail(t){return this.canSucceed=!1,this},startTimer(){this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((()=>{this.skipTimerCount>0?this.skipTimerCount--:(this.reversed?this.decrease(this._cut):this.increase(this._cut),this.continuous&&(this.percent>=100||this.percent<=0)&&(this.skipTimerCount=1,this.reversed=!this.reversed))}),100)}},render(t){let e=t(!1);return this.show&&(e=t("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),e}},L=(n(134),Object(E.a)(P,undefined,undefined,!1,null,null,null).exports),N=n(58),I=n(92),D={name:"HomeDrawer",props:{items:{type:Array,default:()=>[]}}},M=n(79),V=n(51),F=n(39),U=n(250),B=Object(E.a)(D,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-navigation-drawer",t._g(t._b({attrs:{bottom:"",color:"transparent",fixed:"",height:"auto","overlay-color":"secondary","overlay-opacity":".8",temporary:""}},"v-navigation-drawer",t.$attrs,!1),t.$listeners),[n("v-list",{attrs:{color:"white",shaped:""}},t._l(t.items,(function(e){return n("v-list-item",{key:e,attrs:{to:{name:e},exact:"Home"===e,color:"primary"}},[n("v-list-item-content",[n("v-list-item-title",{domProps:{textContent:t._s(e)}})],1)],1)})),1)],1)}),[],!1,null,null,null),K=B.exports;T()(B,{VList:M.a,VListItem:V.a,VListItemContent:F.a,VListItemTitle:F.c,VNavigationDrawer:U.a});var H=function(t,e,n,desc){var o,r=arguments.length,c=r<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,n):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(t,e,n,desc);else for(var i=t.length-1;i>=0;i--)(o=t[i])&&(c=(r<3?o(c):r>3?o(e,n,c):o(e,n))||c);return r>3&&c&&Object.defineProperty(e,n,c),c};let Q=class extends o.a{constructor(){super(...arguments),this.drawer=!1}};H([Object(I.a)("profile")],Q.prototype,"profile",void 0),Q=H([Object(N.a)({components:{HomeDrawer:K},computed:{links:{get(){var t;return["Home","About","Contact",...this.profile?["Sign-out"]:["Sign-in"],...(null===(t=this.profile)||void 0===t?void 0:t.accountKind)?["Account","Play"]:["Register"]]}}}})],Q);var X=Q,G=(n(165),n(260)),J=n(251),z=n(69),W=n(252),Y=n(253),Z=n(259),tt=Object(E.a)(X,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("v-app-bar",{attrs:{id:"home-app-bar",app:"",color:"white",elevation:"1",height:"80"}},[o("v-img",{staticClass:"mr-3 hidden-xs-only",attrs:{src:n(136),contain:"","max-width":"52",width:"100%"}}),t._v(" "),o("v-spacer"),t._v(" "),o("div",[o("v-tabs",{staticClass:"hidden-sm-and-down",attrs:{optional:""}},t._l(t.links,(function(e,i){return o("v-tab",{key:i,staticClass:"font-weight-bold",attrs:{to:{name:e},ripple:!1,"active-class":"text--primary","min-width":"96",text:""}},[t._v("\n "+t._s(e)+"\n ")])})),1)],1),t._v(" "),o("v-app-bar-nav-icon",{staticClass:"hidden-md-and-up",on:{click:function(e){t.drawer=!t.drawer}}})],1),t._v(" "),o("home-drawer",{attrs:{items:t.links},model:{value:t.drawer,callback:function(e){t.drawer=e},expression:"drawer"}})],1)}),[],!1,null,null,null),et=tt.exports;T()(tt,{VAppBar:G.a,VAppBarNavIcon:J.a,VImg:z.a,VSpacer:W.a,VTab:Y.a,VTabs:Z.a});var nt={name:"HomeFooter",data:()=>({social:["Facebook","Twitter","Instagram","Linkedin"]})},ot=(n(182),n(254)),it=n(255),at=n(241),st=n(256),ct=n(85),ut=n(257),lt=Object(E.a)(nt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-footer",{attrs:{id:"home-footer",color:"grey darken-4",dark:"","min-height":"72"}},[n("v-container",[n("v-row",[n("v-col",{attrs:{cols:"12",md:"6"}},[n("div",{staticClass:"d-flex flex-wrap justify-md-start justify-center justify-md-none"},[t._l(t.social,(function(s,i){return[n("a",{key:s,staticClass:"white--text pa-1 pa-md-0",attrs:{href:"#"},domProps:{textContent:t._s(s)}}),t._v(" "),i=0;i--)(o=t[i])&&(c=(r<3?o(c):r>3?o(e,n,c):o(e,n))||c);return r>3&&c&&Object.defineProperty(e,n,c),c};let ft=class extends o.a{mounted(){this.$vuetify.theme.dark=!1}};ft=pt([Object(N.a)({components:{HomeAppBar:et,HomeFooter:ht},head:()=>({title:"battlemaps-online",meta:[{hid:"viewport",name:"viewport",content:"width=device-width, initial-scale=1.0"}]})})],ft);var mt=ft,gt=n(41),vt=n(258),yt=Object(E.a)(mt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-app",[n("home-app-bar"),t._v(" "),n("v-main",[n("v-fade-transition",{attrs:{mode:"out-in"}},[n("nuxt")],1)],1),t._v(" "),n("home-footer")],1)}),[],!1,null,null,null),bt=yt.exports;T()(yt,{VApp:k.a,VFadeTransition:gt.c,VMain:vt.a});const wt={_default:Object(y.r)(bt)};var xt={render(t,e){const n=t("NuxtLoading",{ref:"loading"}),o=t(this.layout||"nuxt"),r=t("div",{domProps:{id:"__layout"},key:this.layoutName},[o]),c=t("transition",{props:{name:"layout",mode:"out-in"},on:{beforeEnter(t){window.$nuxt.$nextTick((()=>{window.$nuxt.$emit("triggerScroll")}))}}},[r]);return t("div",{domProps:{id:"__nuxt"}},[n,c])},data:()=>({isOnline:!0,layout:null,layoutName:"",nbFetching:0}),beforeCreate(){o.a.util.defineReactive(this,"nuxt",this.$options.nuxt)},created(){this.$root.$options.$nuxt=this,window.$nuxt=this,this.refreshOnlineStatus(),window.addEventListener("online",this.refreshOnlineStatus),window.addEventListener("offline",this.refreshOnlineStatus),this.error=this.nuxt.error,this.context=this.$options.context},async mounted(){this.$loading=this.$refs.loading},watch:{"nuxt.err":"errorChanged"},computed:{isOffline(){return!this.isOnline},isFetching(){return this.nbFetching>0}},methods:{refreshOnlineStatus(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},async refresh(){const t=Object(y.h)(this.$route);if(!t.length)return;this.$loading.start();const e=t.map((t=>{const p=[];if(t.$options.fetch&&t.$options.fetch.length&&p.push(Object(y.p)(t.$options.fetch,this.context)),t.$fetch)p.push(t.$fetch());else for(const component of Object(y.e)(t.$vnode.componentInstance))p.push(component.$fetch());return t.$options.asyncData&&p.push(Object(y.p)(t.$options.asyncData,this.context).then((e=>{for(const n in e)o.a.set(t.$data,n,e[n])}))),Promise.all(p)}));try{await Promise.all(e)}catch(t){this.$loading.fail(t),Object(y.j)(t),this.error(t)}this.$loading.finish()},errorChanged(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());let t=(R.options||R).layout;"function"==typeof t&&(t=t(this.context)),this.setLayout(t)}},setLayout(t){return t&&wt["_"+t]||(t="default"),this.layoutName=t,this.layout=wt["_"+t],this.layout},loadLayout:t=>(t&&wt["_"+t]||(t="default"),Promise.resolve(wt["_"+t]))},components:{NuxtLoading:L}};o.a.use(r.a);let _t={};_t=function(t,e){if((t=t.default||t).commit)throw new Error(`[nuxt] ${e} should export a method that returns a Vuex instance.`);return"function"!=typeof t&&(t=Object.assign({},t)),function(t,e){if(t.state&&"function"!=typeof t.state){console.warn(`'state' should be a method that returns an object in ${e}`);const n=Object.assign({},t.state);t=Object.assign({},t,{state:()=>n})}return t}(t,e)}(n(191),"store/index.ts"),_t.modules=_t.modules||{};const $t=_t instanceof Function?_t:()=>new r.a.Store(Object.assign({strict:!1},_t));var Ot=n(55),Ct={};o.a.use(Ot.a,{});var Et=t=>{const e="function"==typeof Ct?Ct(t):Ct;e.icons=e.icons||{},e.icons.iconfont="mdi";const n=new Ot.a(e);t.app.vuetify=n,t.$vuetify=n.framework},jt=n(70);jt.VueHammer.config.pinch={pointers:3},jt.VueHammer.config.pan={pointers:0},o.a.use(jt.VueHammer);var Tt=n(15),kt=n(31),St=n(5);var Rt=t=>{const{store:e}=t;return new Promise((t=>{Tt.b.onAuthStateChanged((async n=>{let o;if(null==n?void 0:n.uid)try{await e.dispatch(kt.b,null!==(o=null==n?void 0:n.uid)&&void 0!==o?o:void 0)}catch(t){e.commit(St.u,{uid:n.uid})}t()}))}))},At=n(33);n(36);let Pt=null;Tt.a.messaging();var Lt=t=>{const{store:e}=t;Pt||(Pt=e)};let Nt=null;var It=t=>{const{store:e}=t;Nt||(Nt=e)};o.a.component(d.a.name,d.a),o.a.component(f.a.name,{...f.a,render:(t,e)=>(f.a._warned||(f.a._warned=!0,console.warn(" has been deprecated and will be removed in Nuxt 3, please use instead")),f.a.render(t,e))}),o.a.component(_.name,_),o.a.component("NChild",_),o.a.component(A.name,A),Object.defineProperty(o.a.prototype,"$nuxt",{get(){return this.$root.$options.$nuxt},configurable:!0}),o.a.use(c.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});const Dt={name:"page",mode:"out-in",appear:!1,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"},Mt=r.a.Store.prototype.registerModule;function Vt(path,t,e={}){const n=Array.isArray(path)?!!path.reduce(((t,path)=>t&&t[path]),this.state):path in this.state;return Mt.call(this,path,t,{preserveState:n,...e})}async function Ft(t,e={}){const n=await function(t,e){const base=e.app&&e.app.basePath||x.base,n=new m.a({...x,base:base}),o=n.push;n.push=function(t,e=w,n){return o.call(this,t,e,n)};const r=n.resolve.bind(n);return n.resolve=(t,e,n)=>("string"==typeof t&&(t=Object(v.c)(t)),r(t,e,n)),n}(0,e),r=$t(t);r.$router=n,r.registerModule=Vt;const c={head:{titleTemplate:"%s - battlemaps-web",title:"battlemaps-web",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:"A DM tool for the web"}],link:[{rel:"icon",type:"image/x-icon",href:"/favicon.ico"},{rel:"stylesheet",type:"text/css",href:"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap"},{rel:"stylesheet",type:"text/css",href:"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"}],style:[],script:[]},store:r,router:n,nuxt:{defaultTransition:Dt,transitions:[Dt],setTransitions(t){return Array.isArray(t)||(t=[t]),t=t.map((t=>t=t?"string"==typeof t?Object.assign({},Dt,{name:t}):Object.assign({},Dt,t):Dt)),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error(e){e=e||null,c.context._errored=Boolean(e),e=e?Object(y.o)(e):null;let n=c.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=e,t&&(t.nuxt.error=e),e}},...xt};r.app=c;const l=t?t.next:t=>c.router.push(t);let d;if(t)d=n.resolve(t.url).route;else{const path=Object(y.f)(n.options.base,n.options.mode);d=n.resolve(path).route}function h(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(void 0===e)throw new Error(`inject('${t}', value) has no value provided`);c[t="$"+t]=e,c.context[t]||(c.context[t]=e),r[t]=c[t];const n="__nuxt_"+t+"_installed__";o.a[n]||(o.a[n]=!0,o.a.use((()=>{Object.prototype.hasOwnProperty.call(o.a.prototype,t)||Object.defineProperty(o.a.prototype,t,{get(){return this.$root.$options[t]}})})))}return await Object(y.s)(c,{store:r,route:d,next:l,error:c.nuxt.error.bind(c),payload:t?t.payload:void 0,req:t?t.req:void 0,res:t?t.res:void 0,beforeRenderFns:t?t.beforeRenderFns:void 0,ssrContext:t}),h("config",e),window.__NUXT__&&window.__NUXT__.state&&r.replaceState(window.__NUXT__.state),await Et(c.context),"function"==typeof Tt.default&&await Object(Tt.default)(c.context,h),"function"==typeof Rt&&await Rt(c.context,h),"function"==typeof At.a&&await Object(At.a)(c.context,h),"function"==typeof Lt&&await Lt(c.context,h),"function"==typeof It&&await It(c.context,h),{store:r,app:c,router:n}}},36:function(t,e,n){"use strict";n.d(e,"l",(function(){return O})),n.d(e,"j",(function(){return C})),n.d(e,"a",(function(){return E})),n.d(e,"b",(function(){return j})),n.d(e,"c",(function(){return T})),n.d(e,"g",(function(){return k})),n.d(e,"h",(function(){return S})),n.d(e,"e",(function(){return R})),n.d(e,"f",(function(){return A})),n.d(e,"k",(function(){return P})),n.d(e,"i",(function(){return L})),n.d(e,"m",(function(){return N})),n.d(e,"d",(function(){return I})),n.d(e,"n",(function(){return D}));var o=n(57),r=n.n(o),c=n(40),l=n(15),d=n(120),h=n.n(d);function f(t){console.log(t)}function m(){return h.a.serverurl}async function v(path,data,t="post",e){var n;try{const o={headers:{Authorization:`Bearer ${await(null===(n=l.b.currentUser)||void 0===n?void 0:n.getIdToken())}`,"Access-Control-Allow-Origin":"*"}};let c;switch(t){case"patch":c=await r.a.patch(`${m()}${path}`,data,{...o,...e});break;default:c=await r.a.post(`${m()}${path}`,data,{...o,...e})}if("string"==typeof c.data&&c.data.startsWith("Error: "))throw new Error(c.data.substr(7));return c.data}catch(t){throw f(t),t}}async function y(path,t,e="get",n){var o;try{const c={headers:{Authorization:`Bearer ${await(null===(o=l.b.currentUser)||void 0===o?void 0:o.getIdToken())}`,"Access-Control-Allow-Origin":"*"}};let d;switch(e){case"delete":d=await r.a.delete(`${m()}${path}`,{params:t,...c,...n});break;default:d=await r.a.get(`${m()}${path}`,{params:t,...c,...n})}if("string"==typeof d.data&&d.data.startsWith("Error: "))throw new Error(d.data.substr(7));if(d.data instanceof Blob&&"text/plain"===d.data.type){const t=await d.data.text(),e=t.startsWith("Error: ")?t.substr(7):t;throw new Error(e)}return d.data}catch(t){throw f(t),t}}function w(path,data,t){return v(path,data,"post",t)}function x(path,data,t){return v(path,data,"patch",t)}function _(path,data,t){return y(path,data,"get",t)}function $(path,data,t){return y(path,data,"delete",t)}const O=t=>w("/user",t),C=t=>$("/user",{uid:t}),E=t=>w("/group",{name:t}),j=t=>$("/group",{id:t}),T=t=>x("/group",t),k=t=>w("/group/join",{id:t}),S=t=>w("/group/leave",{id:t}),R=t=>w("/group/enter",{id:t}),A=(t,e)=>w("/group/invite",{invitee:t,id:e}),P=(t,e)=>$("/group/invite",{invitee:t,id:e}),L=(t,e)=>w("/messaging/register",{token:t,id:e}),N=t=>w("/messaging/unregister",{id:t}),I=t=>x("/profile",t),D=(Object(c.debounce)(((t,e,n)=>x("/groupmap",{id:t,mapId:e,ownerId:n})),1e3,{leading:!0}),Object(c.debounce)(((t,map)=>x("/map",{id:t,map:map})),1e3),(t,e)=>x("/group/settings",{id:t,settings:e}));"undefined"!=typeof window&&(window.post=w,window.get=_)},5:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"i",(function(){return r})),n.d(e,"v",(function(){return c})),n.d(e,"c",(function(){return l})),n.d(e,"j",(function(){return d})),n.d(e,"m",(function(){return h})),n.d(e,"f",(function(){return f})),n.d(e,"a",(function(){return m})),n.d(e,"h",(function(){return v})),n.d(e,"e",(function(){return y})),n.d(e,"k",(function(){return w})),n.d(e,"l",(function(){return x})),n.d(e,"u",(function(){return _})),n.d(e,"r",(function(){return $})),n.d(e,"t",(function(){return O})),n.d(e,"g",(function(){return C})),n.d(e,"d",(function(){return E})),n.d(e,"p",(function(){return j})),n.d(e,"q",(function(){return T})),n.d(e,"s",(function(){return k})),n.d(e,"o",(function(){return S})),n.d(e,"n",(function(){return R}));const o="ADD_ROLL",r="REMOVE_ROLL",c="SET_ROLLS",l="ADD_TOKEN",d="REMOVE_TOKEN",h="SET_COLOR",f="FILTER",m="ADD_NOTIFICATION",v="REMOVE_NOTIFICATION",y="CLEAR_NOTIFICATIONS",w="REPLACE_NOTIFICATION",x="SET_AUTH_USER",_="SET_PROFILE",$="SET_GROUP",O="SET_MESSAGING",C="LOG",E="CLEAR_LOG",j="SET_EXPOSE_SIDEBAR",T="SET_EXPOSE_TERMINAL",k="SET_MEMBER_PROFILE",S="SET_EXPOSE_ACTION_TRAY",R="SET_ENABLE_PRESENCE"},71:function(t,e,n){"use strict";var o=n(1);const r=window.requestIdleCallback||function(t){const e=Date.now();return setTimeout((function(){t({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-e))})}),1)},c=window.cancelIdleCallback||function(t){clearTimeout(t)},l=window.IntersectionObserver&&new window.IntersectionObserver((t=>{t.forEach((({intersectionRatio:t,target:link})=>{t<=0||!link.__prefetch||link.__prefetch()}))}));e.a={name:"NuxtLink",extends:o.a.component("RouterLink"),props:{prefetch:{type:Boolean,default:!0},noPrefetch:{type:Boolean,default:!1}},mounted(){this.prefetch&&!this.noPrefetch&&(this.handleId=r(this.observe,{timeout:2e3}))},beforeDestroy(){c(this.handleId),this.__observed&&(l.unobserve(this.$el),delete this.$el.__prefetch)},methods:{observe(){l&&this.shouldPrefetch()&&(this.$el.__prefetch=this.prefetchLink.bind(this),l.observe(this.$el),this.__observed=!0)},shouldPrefetch(){return this.getPrefetchComponents().length>0},canPrefetch(){const t=navigator.connection;return!(this.$nuxt.isOffline||t&&((t.effectiveType||"").includes("2g")||t.saveData))},getPrefetchComponents(){return this.$router.resolve(this.to,this.$route,this.append).resolved.matched.map((t=>t.components.default)).filter((t=>"function"==typeof t&&!t.options&&!t.__prefetched))},prefetchLink(){if(!this.canPrefetch())return;l.unobserve(this.$el);const t=this.getPrefetchComponents();for(const e of t){const t=e();t instanceof Promise&&t.catch((()=>{})),e.__prefetched=!0}}}}},86:function(t,e,n){"use strict";const o={};o.auth=n(238),o.auth=o.auth.default||o.auth,e.a=o},96:function(t,e,n){var content=n(131);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(8).default)("da3c50f2",content,!0,{sourceMap:!1})},97:function(t,e,n){var content=n(135);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(8).default)("3191d5ad",content,!0,{sourceMap:!1})}},[[125,13,3,14]]]);